Ingen beskrivning
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

休假核准.vb 8.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. Imports System.IO
  2. Public Class 休假核准
  3. Private Sub 讀取人員資料表()
  4. Dim ds As New DataSet
  5. 人員_dgv.DataSource = Nothing : ds.Clear()
  6. 人員_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  7. 人員_dgv.ColumnHeadersHeight = 25
  8. 人員_dgv.AllowUserToAddRows = False
  9. SQL_考勤明細表_人員()
  10. da.Fill(ds) : 人員_dgv.DataSource = ds.Tables(0) : conn.Close()
  11. 人員_dgv.Columns(0).FillWeight = 70 : 人員_dgv.Columns(1).FillWeight = 80 : 人員_dgv.Columns(2).FillWeight = 100 : 人員_dgv.Columns(3).Visible = False
  12. 人員_dgv.Columns("到職日").Visible = False
  13. For i As Integer = 0 To 人員_dgv.Rows.Count - 1
  14. 人員_dgv.Rows(i).Cells("No.").Value = i + 1
  15. Next
  16. End Sub
  17. Private Sub 年份_下拉表單資料載入()
  18. SQL_考勤明細表_年份_下拉()
  19. 年份_cb.Items.Clear()
  20. While (dr.Read()) : 年份_cb.Items.Add(dr("年份")) : End While
  21. conn.Close()
  22. End Sub
  23. Private Sub Set_考勤明細()
  24. Dim ds1 As New DataSet
  25. 月清單_DGV.DataSource = Nothing : ds1.Clear()
  26. 月清單_DGV.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  27. 月清單_DGV.ColumnHeadersHeight = 40
  28. 月清單_DGV.AllowUserToAddRows = False
  29. PA = 員工編號_tb.Text : PA1 = 年份_cb.Text : PA2 = 月份_cb.Text : SQL_休假申請()
  30. da.Fill(ds1) : 月清單_DGV.DataSource = ds1.Tables(0) : conn.Close()
  31. 月清單_DGV.Columns(0).FillWeight = 80 : 月清單_DGV.Columns(1).FillWeight = 40 : 月清單_DGV.Columns(2).FillWeight = 90 : 月清單_DGV.Columns(3).FillWeight = 65
  32. 月清單_DGV.Columns(4).FillWeight = 55 : 月清單_DGV.Columns(5).FillWeight = 180 : 月清單_DGV.Columns(6).FillWeight = 90 : 月清單_DGV.Columns(7).FillWeight = 90
  33. 月清單_DGV.Columns(8).FillWeight = 90 : 月清單_DGV.Columns("圖片資料庫").Visible = False : 月清單_DGV.Columns("圖片編號").Visible = False
  34. For I As Integer = 0 To 月清單_DGV.Rows.Count - 1
  35. If 月清單_DGV.Rows(I).Cells("星期").Value.ToString = "星期六" Then : 月清單_DGV.Rows(I).DefaultCellStyle.BackColor = Color.LightPink
  36. ElseIf 月清單_DGV.Rows(I).Cells("星期").Value.ToString = "星期日" Then : 月清單_DGV.Rows(I).DefaultCellStyle.BackColor = Color.LightPink
  37. ElseIf 月清單_DGV.Rows(I).Cells("請假類別").Value.ToString = "國定假日" Then : 月清單_DGV.Rows(I).DefaultCellStyle.BackColor = Color.LightPink
  38. ElseIf 月清單_DGV.Rows(I).Cells("請假類別").Value.ToString <> "" Then : 月清單_DGV.Rows(I).DefaultCellStyle.BackColor = Color.LightYellow
  39. ElseIf 月清單_DGV.Rows(I).Cells("請假類別").Value.ToString = "特休" Then : 月清單_DGV.Rows(I).DefaultCellStyle.BackColor = Color.LightYellow
  40. End If
  41. Next
  42. End Sub
  43. Private Sub Set_假期統計()
  44. Dim ds As New DataSet
  45. 假期統計_dgv.DataSource = Nothing : ds.Clear()
  46. 假期統計_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  47. 假期統計_dgv.ColumnHeadersHeight = 25
  48. 假期統計_dgv.AllowUserToAddRows = False
  49. PA = 員工編號_tb.Text : PA1 = 請假日期_tb.Text : SQL_休假統計()
  50. da.Fill(ds) : 假期統計_dgv.DataSource = ds.Tables(0) : conn.Close()
  51. End Sub
  52. Private Sub 特休核准_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  53. 年份_下拉表單資料載入()
  54. 年份_cb.Text = Year(Today) : 月份_cb.SelectedIndex = Month(Today) - 1 : 請假類別_cb.SelectedIndex = 0
  55. PA1 = 年份_cb.Text : PA2 = 月份_cb.Text
  56. 讀取人員資料表() : Set_考勤明細()
  57. End Sub
  58. Private Sub 人員_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 人員_dgv.CellClick
  59. If e.RowIndex = -1 Then : Else
  60. 員工編號_tb.Text = 人員_dgv("編號", e.RowIndex).Value.ToString : 申請人_tb.Text = 人員_dgv("姓名", e.RowIndex).Value.ToString
  61. Set_考勤明細()
  62. End If
  63. End Sub
  64. Private Sub 月清單_DGV_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 月清單_DGV.CellClick
  65. If e.RowIndex = -1 Then : Else
  66. 員工編號_tb.Text = 月清單_DGV("編號", e.RowIndex).Value.ToString : 申請人_tb.Text = 月清單_DGV("姓名", e.RowIndex).Value.ToString
  67. 請假日期_tb.Text = 月清單_DGV("日期", e.RowIndex).Value.ToString : 事由_tb.Text = 月清單_DGV("事由", e.RowIndex).Value.ToString
  68. 請假類別_cb.Text = 月清單_DGV("請假類別", e.RowIndex).Value.ToString : 時數_tb.Text = 月清單_DGV("申請時數", e.RowIndex).Value.ToString
  69. 資料指定圖庫_tb.Text = 月清單_DGV("圖片資料庫", e.RowIndex).Value.ToString : 圖片流水號_tb.Text = 月清單_DGV("圖片編號", e.RowIndex).Value.ToString
  70. If 時數_tb.Text = "" Then : 時數_tb.Text = "0" : End If
  71. '------------驗貨報告讀取--------------------------------------------------------------------------------------------
  72. If 資料指定圖庫_tb.Text <> "" And 圖片流水號_tb.Text <> "" Then
  73. 圖片庫 = 資料指定圖庫_tb.Text : SQL_連線字串_圖片資料庫() : PA2 = 圖片流水號_tb.Text
  74. SQL_請假圖() : PictureBox2.Image = Nothing
  75. While dr.Read() = True
  76. Dim unused As Byte() = New Byte(-1) {} : Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  77. Dim oStream As New MemoryStream(bytes) : PictureBox2.Image = Bitmap.FromStream(oStream)
  78. End While : conn.Close() : PictureBox2.SizeMode = 4
  79. Else
  80. PictureBox2.Image = Nothing
  81. End If : Set_假期統計()
  82. End If
  83. End Sub
  84. Private Sub Set_日期格式轉換()
  85. DTP = Format(Today(), "yyyy/MM/dd")
  86. End Sub
  87. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 休假核准_bt.Click
  88. If 請假日期_tb.Text = "" Then
  89. MsgBox("日期不能為空白")
  90. Else
  91. PA = "已核准" : Set_日期格式轉換() : SQL_核准修改()
  92. If CDbl(時數_tb.Text) < 4.1 Then
  93. SQL2 = "顏色1 = '0'"
  94. Else
  95. SQL2 = "顏色1 = '0', 顏色2 = '0'"
  96. End If
  97. SQL_核准修改_班表變動() : Set_考勤明細() : conn.Close() : MsgBox("修改完成")
  98. End If
  99. End Sub
  100. Private Sub 月份_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 月份_cb.SelectedIndexChanged
  101. Set_考勤明細()
  102. End Sub
  103. Private Sub 月清單_DGV_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 月清單_DGV.RowPostPaint
  104. Dim linePen As New Pen(Color.Blue, 2)
  105. If e.RowIndex = 月清單_DGV.Rows.Count - 1 Then : Exit Sub : Else
  106. If Strings.Left(月清單_DGV("姓名", e.RowIndex).Value.ToString, 7) <> Strings.Left(月清單_DGV("姓名", e.RowIndex + 1).Value.ToString, 7) Then
  107. Dim startX As Integer = IIf(月清單_DGV.RowHeadersVisible, 月清單_DGV.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  108. Dim endX As Integer = startX + 月清單_DGV.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月清單_DGV.HorizontalScrollingOffset
  109. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  110. End If
  111. End If
  112. For I As Integer = 0 To 月清單_DGV.Rows.Count - 1
  113. If 月清單_DGV.Rows(I).Cells("星期").Value.ToString = "星期六" Then : 月清單_DGV.Rows(I).DefaultCellStyle.BackColor = Color.LightPink
  114. ElseIf 月清單_DGV.Rows(I).Cells("星期").Value.ToString = "星期日" Then : 月清單_DGV.Rows(I).DefaultCellStyle.BackColor = Color.LightPink
  115. ElseIf 月清單_DGV.Rows(I).Cells("請假類別").Value.ToString = "國定假日" Then : 月清單_DGV.Rows(I).DefaultCellStyle.BackColor = Color.LightPink
  116. ElseIf 月清單_DGV.Rows(I).Cells("請假類別").Value.ToString <> "" Then : 月清單_DGV.Rows(I).DefaultCellStyle.BackColor = Color.LightYellow
  117. ElseIf 月清單_DGV.Rows(I).Cells("請假類別").Value.ToString = "特休" Then : 月清單_DGV.Rows(I).DefaultCellStyle.BackColor = Color.LightYellow
  118. End If
  119. Next
  120. End Sub
  121. Private Sub 休假未准_bt_Click(sender As Object, e As EventArgs) Handles 休假未准_bt.Click
  122. If 請假日期_tb.Text = "" Then
  123. MsgBox("日期不能為空白")
  124. Else
  125. PA = "未核准" : Set_日期格式轉換() : SQL_核准修改() : Set_考勤明細() : conn.Close() : MsgBox("修改完成")
  126. End If
  127. End Sub
  128. End Class