Ei kuvausta
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 7.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  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 = "" : Else : F2 = F & "分" : End If : M2 = M & "秒"
  26. 日期_dgv.Rows(i).Cells("上午工時").Value = T2 & S2 & F2 & M2
  27. QASW += TSFM : 上午 += TSFM
  28. End If
  29. If 日期_dgv.Rows(i).Cells("下午下班").Value.ToString <> "" Then
  30. 日期_dgv.Rows(i).Cells("下午上班").Value = "13:30:00"
  31. Dim TSFM As Integer = DateDiff("s", 日期_dgv.Rows(i).Cells("下午上班").Value.ToString, 日期_dgv.Rows(i).Cells("下午下班").Value)
  32. T = TSFM \ 86400 : T1 = TSFM Mod 86400 : S = T1 \ 3600 : S1 = T1 Mod 3600 : F = S1 \ 60 : M = S1 Mod 60
  33. 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 = "" : Else : F2 = F & "分" : End If : M2 = M & "秒"
  34. 日期_dgv.Rows(i).Cells("下午工時").Value = T2 & S2 & F2 & M2
  35. QASW += TSFM : 下午 += TSFM
  36. End If
  37. If QASW = 0 Then : Else
  38. T = QASW \ 86400 : T1 = QASW Mod 86400 : S = T1 \ 3600 : S1 = T1 Mod 3600 : F = S1 \ 60 : M = S1 Mod 60
  39. 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 = "" : Else : F2 = F & "分" : End If : M2 = M & "秒"
  40. 日期_dgv.Rows(i).Cells("整日工時").Value = T2 & S2 & F2 & M2
  41. End If
  42. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  43. End Sub
  44. Private Sub Set_人員清單()
  45. 員工_dgv.DataSource = Nothing : ds1.Clear()
  46. 員工_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  47. 員工_dgv.ColumnHeadersHeight = 25
  48. 員工_dgv.AllowUserToAddRows = False
  49. SQL_員工清單()
  50. da.Fill(ds1) : 員工_dgv.DataSource = ds1.Tables(0) : conn.Close()
  51. 員工_dgv.Columns(0).Visible = False : 員工_dgv.Columns(1).FillWeight = 150 : 員工_dgv.Columns(2).Visible = False : 員工_dgv.Columns(3).Visible = False
  52. 員工_dgv.Columns(4).Visible = False
  53. End Sub
  54. Private Sub ComboBox1下拉表單資料載入()
  55. SQL_年份查詢()
  56. 年份_cb.Items.Clear()
  57. While (dr.Read()) : 年份_cb.Items.Add(dr("年份")) : End While
  58. conn.Close()
  59. End Sub
  60. Private Sub ComboBox3下拉表單資料載入()
  61. SQL_請假()
  62. 請假類別_cb.Items.Clear()
  63. While (dr.Read()) : 請假類別_cb.Items.Add(dr("請假類別")) : End While
  64. conn.Close()
  65. End Sub
  66. Private Sub 人事請假核准_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  67. Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  68. Set_人員清單() : ComboBox1下拉表單資料載入() : ComboBox3下拉表單資料載入()
  69. 年份_cb.Text = Year(Today) : 月份_cb.SelectedIndex = Month(Today) - 1
  70. If CC(49) = True Then
  71. 員工_dgv.Enabled = True
  72. Else
  73. 員工_dgv.Enabled = False
  74. 編號 = 員工編號 : Set_考勤明細()
  75. 員工編號_tb.Text = 員工編號 : 申請人_tb.Text = gUserName : 員工部門_tb.Text = 登入人部門
  76. End If
  77. 日期_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  78. 員工_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  79. End Sub
  80. Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 日期_dgv.CellClick
  81. If e.RowIndex = -1 Then : Else
  82. 請假日期_tb.Text = 日期_dgv(0, e.RowIndex).Value.ToString : 請假類別_cb.Text = 日期_dgv(2, e.RowIndex).Value.ToString : 事由_tb.Text = 日期_dgv(3, e.RowIndex).Value.ToString
  83. End If
  84. End Sub
  85. Private Sub DataGridView2_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 員工_dgv.CellClick
  86. If e.RowIndex = -1 Then : Else
  87. 編號 = 員工_dgv(0, e.RowIndex).Value.ToString : 員工編號_tb.Text = 員工_dgv(0, e.RowIndex).Value.ToString
  88. 日期_dtp.Value = 員工_dgv(3, e.RowIndex).Value.ToString : 申請人_tb.Text = 員工_dgv(1, e.RowIndex).Value.ToString
  89. Set_考勤明細()
  90. Dim TSFM As Integer = DateDiff("d", 日期_dtp.Value, Today()) : 在職天數_tb.Text = TSFM
  91. SQL_使用者權限()
  92. If dr.Read() Then
  93. 員工部門_tb.Text = dr("部門").ToString
  94. End If
  95. conn.Close()
  96. End If
  97. End Sub
  98. Private Sub Set_日期格式轉換()
  99. DTP = Format(Today(), "yyyy/MM/dd")
  100. End Sub
  101. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 核准_bt.Click
  102. If 申請人_tb.Text = "" Or 請假日期_tb.Text = "" Or 事由_tb.Text = "" Or 請假類別_cb.Text = "" Then
  103. MsgBox("請檢查資料是否有填選完畢")
  104. Else
  105. Set_日期格式轉換()
  106. SQL_假單核准()
  107. Dim 有無資料判別 As String = ""
  108. SQL_讀取員工編號()
  109. If dr.Read() Then : 有無資料判別 = dr("員工編號").ToString : End If : conn.Close()
  110. If 有無資料判別 = "" Then
  111. SQL_人事考勤明細表新增()
  112. Else
  113. SQL_人事考勤明細表修改()
  114. End If
  115. Set_考勤明細()
  116. MsgBox("核准完成")
  117. End If
  118. End Sub
  119. End Class