Aucune description
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

人事請假申請.vb 7.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. Option Strict Off
  2. Public Class 人事請假申請
  3. Private ReadOnly ds, ds1 As New DataSet
  4. Private Sub Set_考勤明細()
  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 = 85 : 日期_dgv.Columns(1).FillWeight = 60 : 日期_dgv.Columns(2).FillWeight = 90 : 日期_dgv.Columns(3).FillWeight = 180
  12. 日期_dgv.Columns(4).FillWeight = 80 : 日期_dgv.Columns(5).FillWeight = 65 : 日期_dgv.Columns(6).FillWeight = 90 : 日期_dgv.Columns(7).FillWeight = 75
  13. 日期_dgv.Columns(8).FillWeight = 75 : 日期_dgv.Columns(9).FillWeight = 80 : 日期_dgv.Columns(10).FillWeight = 75 : 日期_dgv.Columns(11).FillWeight = 75
  14. 日期_dgv.Columns(12).FillWeight = 80 : 日期_dgv.Columns(13).FillWeight = 90 : 日期_dgv.Columns(14).FillWeight = 70 : 日期_dgv.Columns(15).FillWeight = 70
  15. 日期_dgv.Columns(16).FillWeight = 150 : 日期_dgv.Columns(17).Visible = False
  16. Dim T, S, F, M, T1, S1, 上午, 下午 As Integer
  17. Dim T2, S2, F2, M2 As String
  18. For i As Integer = 0 To 日期_dgv.Rows.Count - 1
  19. 資料數 = 日期_dgv.Rows.Count : MyModule1.進度條()
  20. Dim QASW As Integer = 0
  21. If 日期_dgv.Rows(i).Cells("上午上班").Value.ToString <> "" Then
  22. 日期_dgv.Rows(i).Cells("上午下班").Value = "12:00:00"
  23. Dim TSFM As Integer = DateDiff("s", 日期_dgv.Rows(i).Cells("上午上班").Value.ToString, 日期_dgv.Rows(i).Cells("上午下班").Value)
  24. T = TSFM \ 86400 : T1 = TSFM Mod 86400 : S = T1 \ 3600 : S1 = T1 Mod 3600 : F = S1 \ 60 : M = S1 Mod 60
  25. If T = 0 Then : T2 = "" : Else : T2 = T & "天" : End If : If S = 0 Then : S2 = "" : Else : S2 = S & "時" : End If : If F = 0 Then : F2 = ""
  26. Else : F2 = F & "分" : End If : M2 = M & "秒"
  27. 日期_dgv.Rows(i).Cells("上午工時").Value = T2 & S2 & F2 & M2
  28. QASW += TSFM : 上午 += TSFM
  29. End If
  30. If 日期_dgv.Rows(i).Cells("下午下班").Value.ToString <> "" Then
  31. 日期_dgv.Rows(i).Cells("下午上班").Value = "13:30:00"
  32. Dim TSFM As Integer = DateDiff("s", 日期_dgv.Rows(i).Cells("下午上班").Value.ToString, 日期_dgv.Rows(i).Cells("下午下班").Value)
  33. T = TSFM \ 86400 : T1 = TSFM Mod 86400 : S = T1 \ 3600 : S1 = T1 Mod 3600 : F = S1 \ 60 : M = S1 Mod 60
  34. If T = 0 Then : T2 = "" : Else : T2 = T & "天" : End If : If S = 0 Then : S2 = "" : Else : S2 = S & "時" : End If : If F = 0 Then : F2 = ""
  35. Else : F2 = F & "分" : End If : M2 = M & "秒"
  36. 日期_dgv.Rows(i).Cells("下午工時").Value = T2 & S2 & F2 & M2
  37. QASW += TSFM : 下午 += TSFM
  38. End If
  39. If QASW = 0 Then : Else
  40. T = QASW \ 86400 : T1 = QASW Mod 86400 : S = T1 \ 3600 : S1 = T1 Mod 3600 : F = S1 \ 60 : M = S1 Mod 60
  41. If T = 0 Then : T2 = "" : Else : T2 = T & "天" : End If : If S = 0 Then : S2 = "" : Else : S2 = S & "時" : End If : If F = 0 Then : F2 = ""
  42. Else : F2 = F & "分" : End If : M2 = M & "秒"
  43. 日期_dgv.Rows(i).Cells("整日工時").Value = T2 & S2 & F2 & M2
  44. End If
  45. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  46. End Sub
  47. Private Sub Set_人員清單()
  48. 員工_dgv.DataSource = Nothing : ds1.Clear()
  49. 員工_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  50. 員工_dgv.ColumnHeadersHeight = 25
  51. 員工_dgv.AllowUserToAddRows = False
  52. SQL_員工清單()
  53. da.Fill(ds1) : 員工_dgv.DataSource = ds1.Tables(0) : conn.Close()
  54. 員工_dgv.Columns(0).Visible = False : 員工_dgv.Columns(1).FillWeight = 150 : 員工_dgv.Columns(2).Visible = False : 員工_dgv.Columns(3).Visible = False
  55. 員工_dgv.Columns(4).Visible = False
  56. End Sub
  57. Private Sub ComboBox1下拉表單資料載入()
  58. SQL_年份查詢()
  59. 年份_cb.Items.Clear() : While (dr.Read()) : 年份_cb.Items.Add(dr("年份")) : End While : conn.Close()
  60. End Sub
  61. Private Sub ComboBox3下拉表單資料載入()
  62. SQL_請假()
  63. 請假_cb.Items.Clear() : While (dr.Read()) : 請假_cb.Items.Add(dr("請假類別")) : End While : conn.Close()
  64. End Sub
  65. Private Sub 人事請假申請_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  66. Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  67. Set_人員清單() : ComboBox1下拉表單資料載入() : ComboBox3下拉表單資料載入()
  68. 年份_cb.Text = Year(Today) : 月份_cb.SelectedIndex = Month(Today) - 1
  69. If CC(49) = True Then
  70. 員工_dgv.Enabled = True
  71. Else
  72. 員工_dgv.Enabled = False
  73. 編號 = 員工編號 : Set_考勤明細()
  74. 員工編號_tb.Text = 員工編號 : 申請人_tb.Text = gUserName : 員工部門_tb.Text = 登入人部門
  75. End If
  76. 日期_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  77. 員工_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  78. End Sub
  79. Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 日期_dgv.CellClick
  80. If e.RowIndex = -1 Then : Else
  81. 請假_tb.Text = 日期_dgv(0, e.RowIndex).Value.ToString
  82. End If
  83. End Sub
  84. Private Sub DataGridView2_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 員工_dgv.CellClick
  85. If e.RowIndex = -1 Then : Else
  86. 編號 = 員工_dgv(0, e.RowIndex).Value.ToString : 員工編號_tb.Text = 員工_dgv(0, e.RowIndex).Value.ToString
  87. 入職日期_dtp.Value = 員工_dgv(3, e.RowIndex).Value.ToString : 申請人_tb.Text = 員工_dgv(1, e.RowIndex).Value.ToString
  88. Set_考勤明細()
  89. Dim TSFM As Integer = DateDiff("d", 入職日期_dtp.Value, Today()) : 在職天數_tb.Text = TSFM
  90. SQL_使用者權限()
  91. If dr.Read() Then : 員工部門_tb.Text = dr("部門").ToString : End If : conn.Close()
  92. End If
  93. End Sub
  94. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 開立請假單_bt.Click
  95. If 申請人_tb.Text = "" Or 請假_tb.Text = "" Or 事由_tb.Text = "" Or 請假_cb.Text = "" Then
  96. MsgBox("請檢查資料是否有填選完畢")
  97. Else
  98. SQL_人事請假()
  99. If dr.Read() Then
  100. MsgBox("該日期已有寫過請假單")
  101. Else
  102. SQL_人事請假新增()
  103. Set_考勤明細()
  104. End If
  105. End If
  106. End Sub
  107. End Class