Без опису
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. Option Strict Off
  2. Public Class 薪資轉帳表
  3. ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet : ReadOnly ds2 As New DataSet : ReadOnly ds3 As New DataSet : ReadOnly ds4 As New DataSet
  4. Dim 資料新增判斷 As Boolean : Dim 第一次開啟判斷 As Boolean = False : Dim EDR As Integer = 0 : Dim ESTR As String : Dim EDR1 As Integer = 0
  5. Dim ESTR1 As String : Dim 首次開啟 As Boolean = False
  6. Private Sub Set_清單()
  7. 薪轉_dgv.DataSource = Nothing : ds1.Clear()
  8. 薪轉_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  9. 薪轉_dgv.ColumnHeadersHeight = 40
  10. 薪轉_dgv.AllowUserToAddRows = False
  11. 薪資轉帳表_月份清單()
  12. da.Fill(ds1)
  13. 薪轉_dgv.DataSource = ds1.Tables(0)
  14. conn.Close()
  15. 薪轉_dgv.Columns(10).Visible = False
  16. 薪轉_dgv.Columns(0).ReadOnly = True : 薪轉_dgv.Columns(1).ReadOnly = True : 薪轉_dgv.Columns(2).ReadOnly = True : 薪轉_dgv.Columns(3).ReadOnly = True
  17. 薪轉_dgv.Columns(4).ReadOnly = False : 薪轉_dgv.Columns(5).ReadOnly = False : 薪轉_dgv.Columns(6).ReadOnly = False : 薪轉_dgv.Columns(7).ReadOnly = False
  18. 薪轉_dgv.Columns(8).ReadOnly = False : 薪轉_dgv.Columns(9).ReadOnly = True
  19. 薪轉_dgv.Columns("獎金").DefaultCellStyle.Format = "#,##0.0"
  20. 薪轉_dgv.Columns("薪資").DefaultCellStyle.Format = "#,##0.0"
  21. 薪轉_dgv.Columns("領現合計").DefaultCellStyle.Format = "#,##0.0"
  22. 薪轉_dgv.Columns("薪資合計").DefaultCellStyle.Format = "#,##0.0"
  23. 薪轉_dgv.Columns("領現").DefaultCellStyle.Format = "#,##0.0"
  24. '---------------------------------------欄位置中-----------------------------------------------------------'
  25. 薪轉_dgv.Columns("流水號").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  26. 薪轉_dgv.Columns("流水號").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  27. 薪轉_dgv.Columns("姓名").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  28. 薪轉_dgv.Columns("姓名").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  29. 薪轉_dgv.Columns("身分證").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  30. 薪轉_dgv.Columns("身分證").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  31. 薪轉_dgv.Columns("結算日期").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  32. 薪轉_dgv.Columns("結算日期").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  33. 薪轉_dgv.Columns("給付方式").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  34. 薪轉_dgv.Columns("給付方式").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  35. 薪轉_dgv.Columns("薪資帳號").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  36. 薪轉_dgv.Columns("薪資帳號").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  37. 薪轉_dgv.Columns("職務").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  38. 薪轉_dgv.Columns("職務").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  39. 薪轉_dgv.Columns("電話").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  40. 薪轉_dgv.Columns("電話").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  41. 薪轉_dgv.Columns("手機").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  42. 薪轉_dgv.Columns("手機").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  43. '---------------------------------------欄位靠右-----------------------------------------------------------'
  44. 薪轉_dgv.Columns("獎金").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  45. 薪轉_dgv.Columns("獎金").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  46. 薪轉_dgv.Columns("薪資").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  47. 薪轉_dgv.Columns("薪資").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  48. 薪轉_dgv.Columns("領現").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  49. 薪轉_dgv.Columns("領現").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  50. 薪轉_dgv.Columns("薪資合計").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  51. 薪轉_dgv.Columns("薪資合計").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  52. 薪轉_dgv.Columns("領現合計").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  53. 薪轉_dgv.Columns("領現合計").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  54. 薪轉_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  55. Set_合記計算()
  56. End Sub
  57. Private Sub Set_合記計算()
  58. 薪資總金額_tb.Text = "0" : 領現總金額_tb.Text = "0" : 合計總金額_tb.Text = "0"
  59. For i As Integer = 0 To 薪轉_dgv.Rows.Count - 1
  60. 薪轉_dgv("薪資合計", i).Value = 薪轉_dgv("獎金", i).Value + 薪轉_dgv("薪資", i).Value
  61. 薪資總金額_tb.Text = Val(薪資總金額_tb.Text) + 薪轉_dgv("薪資合計", i).Value
  62. 薪轉_dgv("領現合計", i).Value = 薪轉_dgv("領現", i).Value
  63. 領現總金額_tb.Text = Val(領現總金額_tb.Text) + 薪轉_dgv("領現合計", i).Value
  64. 合計總金額_tb.Text = Val(領現總金額_tb.Text) + Val(薪資總金額_tb.Text)
  65. Next
  66. 薪資總金額_tb.Text = Format(Val(薪資總金額_tb.Text), "#,##0")
  67. 領現總金額_tb.Text = Format(Val(領現總金額_tb.Text), "#,##0")
  68. 合計總金額_tb.Text = Format(Val(合計總金額_tb.Text), "#,##0")
  69. End Sub
  70. Private Sub 日期格式()
  71. If 會計月_ch.Checked = True Then
  72. '-------------日期一----------------------------------------------------------------------------------------
  73. DTP = Strings.Left(Format(開始日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 開始日期_dtp.Value = DTP
  74. 開始日期_dtp.Value = 開始日期_dtp.Value.AddMonths(-1)
  75. DTP = Strings.Left(Format(開始日期_dtp.Value, "yyyy/MM/dd"), 8) & "26" : 開始日期_dtp.Value = DTP
  76. '-------------日期二----------------------------------------------------------------------------------------
  77. DTP = Strings.Left(Format(結束日期_dtp.Value, "yyyy/MM/dd"), 8) & "25" : 結束日期_dtp.Value = DTP
  78. Else
  79. '-------------日期一----------------------------------------------------------------------------------------
  80. 開始日期_dtp.Value = 開始日期_dtp.Value.AddMonths(1)
  81. DTP = Strings.Left(Format(開始日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 開始日期_dtp.Value = DTP
  82. '-------------日期二----------------------------------------------------------------------------------------
  83. DTP = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 結束日期_dtp.Value = DTP
  84. 結束日期_dtp.Value = 結束日期_dtp.Value.AddMonths(1) : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(-1)
  85. End If
  86. End Sub
  87. Private Sub 薪資轉帳表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  88. Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  89. 狀態_lb.Visible = False
  90. 流水號_tb.Visible = False : 編號_tb.Enabled = False : 第一次開啟判斷 = True
  91. If 第一次開啟判斷 = True Then
  92. 薪資轉帳表_姓名選擇()
  93. While dr.Read()
  94. 姓名_cb.Items.Add(dr("姓名").ToString())
  95. End While
  96. End If
  97. conn.Close()
  98. 首次開啟 = False : 日期格式() : Set_清單() : 首次開啟 = True '--------------------資料讀取
  99. End Sub
  100. Private Sub 薪資轉帳表_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
  101. 第一次開啟判斷 = False
  102. End Sub
  103. Private Sub 薪轉_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 薪轉_dgv.CellClick
  104. If 首次開啟 = True Then
  105. If e.RowIndex = -1 Then : Else
  106. 流水號_tb.Text = 薪轉_dgv(0, e.RowIndex).Value : 姓名_cb.Text = 薪轉_dgv(1, e.RowIndex).Value.ToString
  107. 身分證_tb.Text = 薪轉_dgv(2, e.RowIndex).Value.ToString : 結束日期_dtp.Value = 薪轉_dgv(3, e.RowIndex).Value.ToString
  108. 獎金_tb.Text = 薪轉_dgv(4, e.RowIndex).Value.ToString : 薪資_tb.Text = 薪轉_dgv(5, e.RowIndex).Value.ToString
  109. 領現_tb.Text = 薪轉_dgv(6, e.RowIndex).Value.ToString : 給付方式_cb.Text = 薪轉_dgv(9, e.RowIndex).Value.ToString
  110. 人事流水號_tb.Text = 薪轉_dgv(10, e.RowIndex).Value.ToString
  111. 獎金_tb.Text = Format(Val(獎金_tb.Text), "#,##0.0")
  112. 薪資_tb.Text = Format(Val(薪資_tb.Text), "#,##0.0")
  113. 領現_tb.Text = Format(Val(領現_tb.Text), "#,##0.0")
  114. End If
  115. End If
  116. End Sub
  117. Private Sub 薪轉_dgv_CellEndEdit(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 薪轉_dgv.CellEndEdit
  118. 薪資總金額_tb.Text = "0" : 領現總金額_tb.Text = "0" : 合計總金額_tb.Text = "0"
  119. For i As Integer = 0 To 薪轉_dgv.Rows.Count - 1
  120. 薪轉_dgv("薪資合計", i).Value = 薪轉_dgv("獎金", i).Value + 薪轉_dgv("薪資", i).Value
  121. 薪資總金額_tb.Text = Val(薪資總金額_tb.Text) + 薪轉_dgv("薪資合計", i).Value
  122. 薪轉_dgv("領現合計", i).Value = 薪轉_dgv("領現", i).Value
  123. 領現總金額_tb.Text = Val(領現總金額_tb.Text) + 薪轉_dgv("領現合計", i).Value
  124. 合計總金額_tb.Text = Val(領現總金額_tb.Text) + Val(薪資總金額_tb.Text)
  125. Next
  126. 薪資總金額_tb.Text = Format(Val(薪資總金額_tb.Text), "#,##0")
  127. 領現總金額_tb.Text = Format(Val(領現總金額_tb.Text), "#,##0")
  128. 合計總金額_tb.Text = Format(Val(合計總金額_tb.Text), "#,##0")
  129. End Sub
  130. Private Sub 新增準備_bt_Click(sender As Object, e As EventArgs) Handles 新增準備_bt.Click
  131. Timer1.Enabled = True
  132. 流水號_tb.Text = "" : 獎金_tb.Text = "" : 薪資_tb.Text = "" : 領現_tb.Text = "" '--------------------控件清空
  133. 資料新增判斷 = True '--------------------目前的編輯狀態
  134. 新增準備_bt.Enabled = False '--------------------關閉點選控制功能
  135. ': 刪除_bt.Enabled = False : 批量存檔_bt.Enabled = False
  136. 薪轉_dgv.Enabled = False '--------------------關閉DGV控件的點選控制功能
  137. SQL_薪資轉帳表_流水號_最後一筆資料() '--------------------自動取得新流水號
  138. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("流水號").ToString, 9)) : Else : EDR = 0 : End If
  139. conn.Close() : EDR += 1
  140. If EDR < 10 Then : ESTR = "M" & "00000000" & EDR
  141. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "M" & "0000000" & EDR
  142. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "M" & "000000" & EDR
  143. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "M" & "00000" & EDR
  144. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "M" & "0000" & EDR
  145. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "M" & "000" & EDR
  146. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "M" & "00" & EDR
  147. ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "M" & "0" & EDR
  148. ElseIf EDR > 99999999 Then : ESTR = "M" & EDR
  149. End If : 流水號_tb.Text = ESTR
  150. 'Set_日期格式轉換() '--------------------到職日期格式傳換
  151. SQL_薪資轉帳表_新增() '--------------------薪資轉帳表中寫入一筆資料
  152. Set_清單() '--------------------資料修改後重新讀取清單
  153. End Sub
  154. Private Sub 存檔_bt_Click(sender As Object, e As EventArgs) Handles 存檔_bt.Click
  155. If 流水號_tb.Text = "" Then '--------------------設定條件讓流水號控件不為空
  156. MsgBox("沒有選擇要存檔的資料")
  157. Else
  158. If 姓名_cb.Text = "" Then
  159. MsgBox("沒有名字難不成要撒錢,請填上他的名字")
  160. Else
  161. If 給付方式_cb.Text = "" Then
  162. MsgBox("還是選個給薪的方式巴")
  163. Else
  164. 資料新增判斷 = False '--------------------目前的編輯狀態
  165. 狀態_lb.Visible = False
  166. 薪轉_dgv.Enabled = True '--------------------開啟DGV控件的點選控制功能
  167. 'Set_日期格式轉換() '--------------------到職日期格式傳換
  168. SQL_薪資轉帳表_修改() '--------------------資料修改
  169. Set_清單() '--------------------資料修改後重新讀取清單
  170. 新增準備_bt.Enabled = True
  171. End If
  172. End If
  173. Timer1.Enabled = False
  174. End If
  175. End Sub
  176. Private Sub 刪除_bt_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click
  177. If 流水號_tb.Text = "" Then '--------------------設定條件讓流水號控件不為空
  178. MsgBox("沒有選擇要刪除的資料")
  179. Else
  180. Dim aa1 As MsgBoxResult = MsgBox("確定要執行刪除指令嗎?", MsgBoxStyle.OkCancel)
  181. If aa1 = MsgBoxResult.Ok Then
  182. SQL_薪資轉帳表_刪除() '--------------------資料刪除
  183. Set_清單() '--------------------資料修改後重新讀取清單
  184. End If
  185. End If
  186. End Sub
  187. Private Sub 姓名_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 姓名_cb.SelectedIndexChanged
  188. ConnOpen() : SQL1 = "SELECT 流水號 FROM 人事資料表 WHERE (姓名 = N'" & Me.姓名_cb.Text & "')"
  189. CmdSet_For_dr()
  190. dr.Read()
  191. 人事流水號_tb.Text = dr("流水號").ToString()
  192. conn.Close()
  193. ConnOpen() : SQL1 = "SELECT 身分證, 舊編, 薪資帳號 FROM 人事資料表 WHERE (姓名 = N'" & Me.姓名_cb.Text & "')"
  194. CmdSet_For_dr()
  195. dr.Read()
  196. 身分證_tb.Text = dr("身分證").ToString()
  197. 編號_tb.Text = dr("舊編").ToString()
  198. 薪資帳號_tb.Text = dr("薪資帳號").ToString()
  199. conn.Close()
  200. End Sub
  201. Private Sub 開始日期_dtp_ValueChanged(sender As Object, e As EventArgs) Handles 開始日期_dtp.ValueChanged
  202. Set_清單()
  203. End Sub
  204. Private Sub 結束日期_dtp_ValueChanged(sender As Object, e As EventArgs) Handles 結束日期_dtp.ValueChanged
  205. Set_清單()
  206. End Sub
  207. Private Sub 會計月_CheckedChanged(sender As Object, e As EventArgs) Handles 會計月_ch.Click
  208. 會計月_ch.Checked = True : 一般月_ch.Checked = False : 日期格式()
  209. End Sub
  210. Private Sub 一般月_CheckedChanged(sender As Object, e As EventArgs) Handles 一般月_ch.Click
  211. 會計月_ch.Checked = False : 一般月_ch.Checked = True : 日期格式()
  212. End Sub
  213. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
  214. If 狀態_lb.Visible = True Then : 狀態_lb.Visible = False : Else : 狀態_lb.Visible = True : End If
  215. End Sub
  216. Private Sub 上個月_bt_Click(sender As Object, e As EventArgs) Handles 上個月_bt.Click
  217. If 會計月_ch.Checked = True Then
  218. 中間日期_dtp.Value = 中間日期_dtp.Value.AddMonths(-1)
  219. 開始日期_dtp.Value = 中間日期_dtp.Value
  220. 結束日期_dtp.Value = 中間日期_dtp.Value
  221. Else
  222. 中間日期_dtp.Value = 中間日期_dtp.Value.AddMonths(-1)
  223. 開始日期_dtp.Value = 中間日期_dtp.Value.AddMonths(-1)
  224. 結束日期_dtp.Value = 中間日期_dtp.Value
  225. End If
  226. 日期格式()
  227. End Sub
  228. Private Sub 下個月_bt_Click(sender As Object, e As EventArgs) Handles 下個月_bt.Click
  229. If 會計月_ch.Checked = True Then
  230. 中間日期_dtp.Value = 中間日期_dtp.Value.AddMonths(1)
  231. 開始日期_dtp.Value = 中間日期_dtp.Value
  232. 結束日期_dtp.Value = 中間日期_dtp.Value
  233. Else
  234. 中間日期_dtp.Value = 中間日期_dtp.Value.AddMonths(1)
  235. 開始日期_dtp.Value = 中間日期_dtp.Value.AddMonths(-1)
  236. 結束日期_dtp.Value = 中間日期_dtp.Value
  237. End If
  238. 日期格式()
  239. End Sub
  240. Private Sub 重新整理ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 重新整理ToolStripMenuItem.Click
  241. Set_清單()
  242. End Sub
  243. Private Sub 新增準備ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 新增準備ToolStripMenuItem.Click
  244. 新增準備_bt.PerformClick()
  245. End Sub
  246. Private Sub 存檔ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 存檔ToolStripMenuItem.Click
  247. 存檔_bt.PerformClick()
  248. End Sub
  249. Private Sub 刪除ToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 刪除ToolStripMenuItem.Click
  250. 刪除_bt.PerformClick()
  251. End Sub
  252. Private Sub 匯入EXCEL_bt_Click(sender As Object, e As EventArgs) Handles 匯入EXCEL_bt.Click
  253. PA = "" : 匯入EXCEL.ShowDialog() : 匯入EXCEL.BringToFront()
  254. End Sub
  255. Private Sub 匯出EXCEL_bt_Click(sender As Object, e As EventArgs) Handles 匯出EXCEL_bt.Click
  256. PA = "" : 匯出EXCEL.ShowDialog() : 匯出EXCEL.BringToFront()
  257. End Sub
  258. Private Sub 批量存檔_Click(sender As Object, e As EventArgs) Handles 批量存檔_bt.Click
  259. For i As Integer = 0 To 薪轉_dgv.Rows.Count - 1
  260. 資料數 = 薪轉_dgv.Rows.Count : MyModule1.進度條() : HX_PGS_ERP_SYS.ToolStripProgressBar1.Value = 最終數
  261. PA1 = 薪轉_dgv.Rows(i).Cells("流水號").Value : PA2 = 薪轉_dgv.Rows(i).Cells("姓名").Value.ToString : PA3 = 薪轉_dgv.Rows(i).Cells("身分證").Value.ToString
  262. PA4 = 薪轉_dgv.Rows(i).Cells("結算日期").Value : PA5 = 薪轉_dgv.Rows(i).Cells("獎金").Value : PA6 = 薪轉_dgv.Rows(i).Cells("薪資").Value
  263. PA7 = 薪轉_dgv.Rows(i).Cells("領現").Value.ToString : PA8 = 薪轉_dgv.Rows(i).Cells("薪資合計").Value : PA9 = 薪轉_dgv.Rows(i).Cells("領現合計").Value
  264. PA10 = 薪轉_dgv.Rows(i).Cells("給付方式").Value : PA11 = 薪轉_dgv.Rows(i).Cells("薪資帳號").Value.ToString : PA12 = 薪轉_dgv.Rows(i).Cells("職務").Value
  265. PA13 = 薪轉_dgv.Rows(i).Cells("電話").Value : PA14 = 薪轉_dgv.Rows(i).Cells("手機").Value : PA15 = 薪轉_dgv.Rows(i).Cells("流水號").Value
  266. SQL_薪資轉帳表_批量存檔薪轉資料() : conn.Close()
  267. Next : HX_PGS_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0 : MsgBox("批量存檔完成")
  268. End Sub
  269. End Class