Sin descripción
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 6.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. Imports System.IO
  2. Public Class 歷史休假紀錄
  3. ReadOnly ds, ds1 As New DataSet
  4. Private Sub 讀取人員資料表()
  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. For i As Integer = 0 To 人員_dgv.Rows.Count - 1
  13. 人員_dgv.Rows(i).Cells("No.").Value = i + 1
  14. Next
  15. End Sub
  16. Private Sub 年份_下拉表單資料載入()
  17. SQL_考勤明細表_年份_下拉()
  18. 年份_cb.Items.Clear()
  19. While (dr.Read()) : 年份_cb.Items.Add(dr("年份")) : End While
  20. conn.Close()
  21. End Sub
  22. Private Sub Set_考勤明細()
  23. 月清單_DGV.DataSource = Nothing : ds1.Clear()
  24. 月清單_DGV.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  25. 月清單_DGV.ColumnHeadersHeight = 40
  26. 月清單_DGV.AllowUserToAddRows = False
  27. PA = 員工編號_tb.Text : PA1 = 年份_cb.Text : PA2 = 月份_cb.Text : SQL_休假清單()
  28. da.Fill(ds1) : 月清單_DGV.DataSource = ds1.Tables(0) : conn.Close()
  29. 月清單_DGV.Columns(0).FillWeight = 80 : 月清單_DGV.Columns(1).FillWeight = 40 : 月清單_DGV.Columns(2).FillWeight = 90 : 月清單_DGV.Columns(3).FillWeight = 65
  30. 月清單_DGV.Columns(4).FillWeight = 55 : 月清單_DGV.Columns(5).FillWeight = 150 : 月清單_DGV.Columns(6).FillWeight = 60 : 月清單_DGV.Columns(7).FillWeight = 80
  31. 月清單_DGV.Columns(8).FillWeight = 80 : 月清單_DGV.Columns("圖片資料庫").Visible = False : 月清單_DGV.Columns("圖片編號").Visible = False
  32. End Sub
  33. Private Sub Set_假期統計()
  34. Dim ds As New DataSet
  35. 假期統計_dgv.DataSource = Nothing : ds.Clear()
  36. 假期統計_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  37. 假期統計_dgv.ColumnHeadersHeight = 25
  38. 假期統計_dgv.AllowUserToAddRows = False
  39. PA = 員工編號_tb.Text : PA1 = 請假日期_tb.Text : SQL_休假統計()
  40. da.Fill(ds) : 假期統計_dgv.DataSource = ds.Tables(0) : conn.Close()
  41. End Sub
  42. Private Sub 歷史休假紀錄_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  43. 年份_下拉表單資料載入()
  44. 年份_cb.Text = Year(Today) : 月份_cb.SelectedIndex = Month(Today) - 1 : 請假類別_cb.SelectedIndex = 0
  45. PA1 = 年份_cb.Text : PA2 = 月份_cb.Text
  46. 讀取人員資料表() : Set_考勤明細()
  47. End Sub
  48. Private Sub 人員_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 人員_dgv.CellClick
  49. If e.RowIndex = -1 Then : Else
  50. 員工編號_tb.Text = 人員_dgv("編號", e.RowIndex).Value.ToString : 申請人_tb.Text = 人員_dgv("姓名", e.RowIndex).Value.ToString
  51. Set_考勤明細()
  52. End If
  53. End Sub
  54. Private Sub 月清單_DGV_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 月清單_DGV.CellClick
  55. If e.RowIndex = -1 Then : Else
  56. If 月清單_DGV.Rows(e.RowIndex).Cells("星期").Value.ToString = "星期六" Or 月清單_DGV.Rows(e.RowIndex).Cells("星期").Value.ToString = "星期日" Or
  57. 月清單_DGV.Rows(e.RowIndex).Cells("請假類別").Value.ToString = "國定假日" Then
  58. MsgBox("星期六/星期日或國定假日不可以申請特休!!")
  59. 請假日期_tb.Text = ""
  60. 事由_tb.Text = ""
  61. Else
  62. 員工編號_tb.Text = 月清單_DGV("編號", e.RowIndex).Value.ToString : 申請人_tb.Text = 月清單_DGV("姓名", e.RowIndex).Value.ToString
  63. 請假日期_tb.Text = 月清單_DGV("日期", e.RowIndex).Value.ToString : 事由_tb.Text = 月清單_DGV("事由", e.RowIndex).Value.ToString
  64. 請假類別_cb.Text = 月清單_DGV("請假類別", e.RowIndex).Value.ToString
  65. 資料指定圖庫_tb.Text = 月清單_DGV("圖片資料庫", e.RowIndex).Value.ToString : 圖片流水號_tb.Text = 月清單_DGV("圖片編號", e.RowIndex).Value.ToString
  66. '------------驗貨報告讀取--------------------------------------------------------------------------------------------
  67. If 資料指定圖庫_tb.Text <> "" And 圖片流水號_tb.Text <> "" Then
  68. 圖片庫 = 資料指定圖庫_tb.Text : SQL_連線字串_圖片資料庫() : PA2 = 圖片流水號_tb.Text
  69. SQL_請假圖() : PictureBox2.Image = Nothing
  70. While dr.Read() = True
  71. Dim unused As Byte() = New Byte(-1) {} : Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  72. Dim oStream As New MemoryStream(bytes) : PictureBox2.Image = Bitmap.FromStream(oStream)
  73. End While : conn.Close() : PictureBox2.SizeMode = 4
  74. Else
  75. PictureBox2.Image = Nothing
  76. End If
  77. End If : Set_假期統計()
  78. End If
  79. End Sub
  80. Private Sub 月清單_DGV_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 月清單_DGV.RowPostPaint
  81. Dim linePen As New Pen(Color.Blue, 2)
  82. If e.RowIndex = 月清單_DGV.Rows.Count - 1 Then : Exit Sub : Else
  83. If Strings.Left(月清單_DGV("日期", e.RowIndex).Value.ToString, 7) <> Strings.Left(月清單_DGV("日期", e.RowIndex + 1).Value.ToString, 7) Then
  84. Dim startX As Integer = IIf(月清單_DGV.RowHeadersVisible, 月清單_DGV.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  85. Dim endX As Integer = startX + 月清單_DGV.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 月清單_DGV.HorizontalScrollingOffset
  86. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  87. End If
  88. End If
  89. End Sub
  90. Private Sub 月份_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 月份_cb.SelectedIndexChanged
  91. Set_考勤明細()
  92. End Sub
  93. End Class