Nenhuma descrição
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

零用金支付申請.vb 17KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. Option Strict Off
  2. Public Class 零用金支付申請
  3. Dim ds As New DataSet : Dim ds1 As New DataSet : Dim ds2 As New DataSet : Dim ds3 As New DataSet : Dim ds4 As New DataSet
  4. Dim DTP As String : Dim DTP1 As String : Dim 新項次 As String
  5. Dim NUM1 As Integer
  6. Private Sub Set_財務單清單()
  7. 明細_dgv.DataSource = Nothing : ds.Clear()
  8. 明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  9. 明細_dgv.ColumnHeadersHeight = 25
  10. 明細_dgv.AllowUserToAddRows = False
  11. 明細_dgv.RowTemplate.Height = 35
  12. PA1 = TextBox1.Text : SQL_財務帳清單()
  13. da.Fill(ds) : 明細_dgv.DataSource = ds.Tables(0) : conn.Close()
  14. 明細_dgv.Columns(0).Visible = False : 明細_dgv.Columns(1).Width = 80 : 明細_dgv.Columns(2).Width = 342 : 明細_dgv.Columns(3).Width = 140 : 明細_dgv.Columns(4).Width = 350
  15. 明細_dgv.Columns(3).DefaultCellStyle.Format = "#,##0.00"
  16. 明細_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(3).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  17. 明細_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  18. TextBox5.Text = "0.00"
  19. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  20. TextBox5.Text = Val(TextBox5.Text) + 明細_dgv.Rows(i).Cells("金額").Value
  21. Next i
  22. TextBox5.Text = Format(Val(TextBox5.Text), "#,##0.00")
  23. End Sub
  24. Private Sub Set_清單1()
  25. 一級未審核_dgv.DataSource = Nothing : ds1.Clear()
  26. 一級未審核_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  27. 一級未審核_dgv.ColumnHeadersHeight = 25
  28. 一級未審核_dgv.AllowUserToAddRows = False
  29. PA = "一級未審核" : SQL_財務單據()
  30. da.Fill(ds1) : 一級未審核_dgv.DataSource = ds1.Tables(0) : conn.Close()
  31. 一級未審核_dgv.Columns(0).Width = 120 : 一級未審核_dgv.Columns(1).Width = 114 : 一級未審核_dgv.Columns(2).Width = 114 : 一級未審核_dgv.Columns(3).Width = 115
  32. 一級未審核_dgv.Columns(4).Width = 115 : 一級未審核_dgv.Columns(5).Width = 115 : 一級未審核_dgv.Columns(6).Width = 115 : 一級未審核_dgv.Columns(7).Width = 115
  33. 一級未審核_dgv.Columns(8).Visible = False : 一級未審核_dgv.Columns(9).Visible = False
  34. End Sub
  35. Private Sub Set_清單2()
  36. 一級作廢_dgv.DataSource = Nothing : ds2.Clear()
  37. 一級作廢_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  38. 一級作廢_dgv.ColumnHeadersHeight = 25
  39. 一級作廢_dgv.AllowUserToAddRows = False
  40. PA = "一級作廢" : SQL_財務單據()
  41. da.Fill(ds2) : 一級作廢_dgv.DataSource = ds2.Tables(0) : conn.Close()
  42. 一級作廢_dgv.Columns(0).Width = 120 : 一級作廢_dgv.Columns(1).Width = 114 : 一級作廢_dgv.Columns(2).Width = 114 : 一級作廢_dgv.Columns(3).Width = 115
  43. 一級作廢_dgv.Columns(4).Width = 115 : 一級作廢_dgv.Columns(5).Width = 115 : 一級作廢_dgv.Columns(6).Width = 115 : 一級作廢_dgv.Columns(7).Width = 115
  44. 一級作廢_dgv.Columns(8).Visible = False : 一級作廢_dgv.Columns(9).Visible = False
  45. End Sub
  46. Private Sub Set_清單3()
  47. 二級未核准_dgv.DataSource = Nothing : ds3.Clear()
  48. 二級未核准_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  49. 二級未核准_dgv.ColumnHeadersHeight = 25
  50. 二級未核准_dgv.AllowUserToAddRows = False
  51. PA = "二級未核准" : SQL_財務單據()
  52. da.Fill(ds3) : 二級未核准_dgv.DataSource = ds3.Tables(0) : conn.Close()
  53. 二級未核准_dgv.Columns(0).Width = 120 : 二級未核准_dgv.Columns(1).Width = 114 : 二級未核准_dgv.Columns(2).Width = 114 : 二級未核准_dgv.Columns(3).Width = 115
  54. 二級未核准_dgv.Columns(4).Width = 115 : 二級未核准_dgv.Columns(5).Width = 115 : 二級未核准_dgv.Columns(6).Width = 115 : 二級未核准_dgv.Columns(7).Width = 115
  55. 二級未核准_dgv.Columns(8).Visible = False : 二級未核准_dgv.Columns(9).Visible = False
  56. End Sub
  57. Private Sub Set_清單4()
  58. 二級作廢_dgv.DataSource = Nothing : ds4.Clear()
  59. 二級作廢_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  60. 二級作廢_dgv.ColumnHeadersHeight = 25
  61. 二級作廢_dgv.AllowUserToAddRows = False
  62. PA = "二級作廢" : SQL_財務單據()
  63. da.Fill(ds4) : 二級作廢_dgv.DataSource = ds4.Tables(0) : conn.Close()
  64. 二級作廢_dgv.Columns(0).Width = 120 : 二級作廢_dgv.Columns(1).Width = 114 : 二級作廢_dgv.Columns(2).Width = 114 : 二級作廢_dgv.Columns(3).Width = 115
  65. 二級作廢_dgv.Columns(4).Width = 115 : 二級作廢_dgv.Columns(5).Width = 115 : 二級作廢_dgv.Columns(6).Width = 115 : 二級作廢_dgv.Columns(7).Width = 115
  66. 二級作廢_dgv.Columns(8).Visible = False : 二級作廢_dgv.Columns(9).Visible = False
  67. End Sub
  68. Private Sub Set_日期格式轉換()
  69. DTP = Format(Today(), "yyyy/MM/dd") & "-" & Format(TimeOfDay(), "hh:mm:ss") : DTP1 = Format(Today(), "yyyyMMdd")
  70. End Sub
  71. Private Sub ComboBox1下拉表單資料載入()
  72. SQL_帳本下拉清單()
  73. 帳本名稱_cb.Items.Clear() : 帳本編號_cb.Items.Clear() : While (dr.Read()) : 帳本名稱_cb.Items.Add(dr("帳本名稱")) : 帳本編號_cb.Items.Add(dr("編號")) : End While : conn.Close()
  74. End Sub
  75. Private Sub 零用金支付申請_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  76. Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  77. Button2.Enabled = False : Button6.Enabled = False : Button15.Enabled = False : Button3.Enabled = False : Button4.Enabled = False : Button5.Enabled = False
  78. TextBox1.Enabled = False : TextBox2.Enabled = False : TextBox3.Enabled = False : TextBox4.Enabled = False : 帳本編號_cb.Visible = False
  79. ComboBox1下拉表單資料載入() : 帳本名稱_cb.SelectedIndex = 0 : PA19 = 帳本編號_cb.Text
  80. Set_清單1() : Set_清單2() : Set_清單3() : Set_清單4()
  81. End Sub
  82. Private Sub 零用金支付申請_Unload(sender As Object, e As EventArgs) Handles MyBase.Closing
  83. If Button2.Enabled = True Then
  84. PA = TextBox1.Text : SQL_財務單據刪除() : conn.Close()
  85. End If
  86. End Sub
  87. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
  88. If Label62.Visible = True Then : Label62.Visible = False : Else : Label62.Visible = True : End If
  89. End Sub
  90. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 明細_dgv.CellClick
  91. If e.RowIndex = -1 Then : Else
  92. TextBox4.Text = 明細_dgv(1, e.RowIndex).Value.ToString
  93. End If
  94. End Sub
  95. Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 一級未審核_dgv.CellClick
  96. If e.RowIndex = -1 Then : Else
  97. TextBox1.Text = 一級未審核_dgv(0, e.RowIndex).Value.ToString : TextBox2.Text = 一級未審核_dgv(1, e.RowIndex).Value.ToString : TextBox3.Text = 一級未審核_dgv(2, e.RowIndex).Value.ToString
  98. Button3.Enabled = True : Button5.Enabled = True : Set_財務單清單()
  99. End If
  100. End Sub
  101. Private Sub DataGridView3_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 一級作廢_dgv.CellClick
  102. If e.RowIndex = -1 Then : Else
  103. TextBox1.Text = 一級作廢_dgv(0, e.RowIndex).Value.ToString : TextBox2.Text = 一級作廢_dgv(1, e.RowIndex).Value.ToString : TextBox3.Text = 一級作廢_dgv(2, e.RowIndex).Value.ToString
  104. Button3.Enabled = False : Button5.Enabled = False : Set_財務單清單()
  105. End If
  106. End Sub
  107. Private Sub DataGridView4_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 二級未核准_dgv.CellClick
  108. If e.RowIndex = -1 Then : Else
  109. TextBox1.Text = 二級未核准_dgv(0, e.RowIndex).Value.ToString : TextBox2.Text = 二級未核准_dgv(1, e.RowIndex).Value.ToString : TextBox3.Text = 二級未核准_dgv(2, e.RowIndex).Value.ToString
  110. Button3.Enabled = False : Button5.Enabled = False : Set_財務單清單()
  111. End If
  112. End Sub
  113. Private Sub DataGridView5_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 二級作廢_dgv.CellClick
  114. If e.RowIndex = -1 Then : Else
  115. TextBox1.Text = 二級作廢_dgv(0, e.RowIndex).Value.ToString : TextBox2.Text = 二級作廢_dgv(1, e.RowIndex).Value.ToString : TextBox3.Text = 二級作廢_dgv(2, e.RowIndex).Value.ToString
  116. Button3.Enabled = False : Button5.Enabled = False : Set_財務單清單()
  117. End If
  118. End Sub
  119. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  120. Timer1.Enabled = True
  121. Button1.Enabled = False : Button2.Enabled = True : Button6.Enabled = True : Button15.Enabled = True
  122. Set_日期格式轉換() : Dim NUM1 As Integer
  123. For i As Integer = 1 To 999
  124. NUM1 = 0 + i
  125. If NUM1 < 10 Then : TextBox1.Text = "PC-" & DTP1 & "-00" & NUM1
  126. ElseIf NUM1 > 9 And NUM1 < 100 Then : TextBox1.Text = "PC-" & DTP1 & "-0" & NUM1
  127. ElseIf NUM1 > 99 Then : TextBox1.Text = "PC-" & DTP1 & "-" & NUM1 : End If
  128. PA = TextBox1.Text : SQL_零用金支付表最後一筆資料()
  129. If dr.Read() Then : Else : i = 999 : conn.Close() : End If : conn.Close()
  130. Next
  131. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  132. SQL1 = "INSERT INTO 零用金支付表 (流水號, 部門, 申請人, 申請日期, 審核人, 審核日期, 核准人, 核准日期, 會計, 作帳日期, 出納, 出納日期, 核准圖檔, 簽名編碼, 備註, 帳本編號) " &
  133. "VALUES (N'" & PA & "',N'" & 登入人部門 & "',N'" & gUserName & "',N'" & DTP & "',N'',N'',N'',N'',N'',N'',N'',N'',N'',N'',N'',N'" & 帳本編號_cb.Text & "')"
  134. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery()
  135. TextBox2.Text = 登入人部門 : TextBox3.Text = gUserName
  136. 明細_dgv.DataSource = Nothing : ds.Clear()
  137. conn.Close()
  138. End Sub
  139. Private Sub 存檔()
  140. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  141. 資料數 = 明細_dgv.Rows.Count : MyModule1.進度條()
  142. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  143. SQL1 = "UPDATE 零用金支付明細 SET 用途 = N'" & 明細_dgv.Rows(i).Cells("用途").Value & "', 金額 = N'" & 明細_dgv.Rows(i).Cells("金額").Value &
  144. "', 備註 = N'" & 明細_dgv.Rows(i).Cells("備註").Value & "' WHERE (流水號 LIKE N'" & TextBox1.Text & "' AND 項次 LIKE N'" & 明細_dgv.Rows(i).Cells("項次").Value & "')"
  145. cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  146. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  147. End Sub
  148. Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
  149. 存檔()
  150. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  151. SQL1 = "SELECT TOP(1) 項次 FROM 零用金支付明細 WHERE 流水號 LIKE N'" & TextBox1.Text & "' ORDER BY 項次 DESC"
  152. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  153. If dr.Read() Then : 新項次 = dr("項次") : Else : 新項次 = "00" : End If : conn.Close()
  154. NUM1 = Double.Parse(新項次) + 1
  155. If NUM1 < 10 Then : 新項次 = "0" & NUM1
  156. ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1
  157. End If
  158. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  159. SQL1 = "INSERT INTO 零用金支付明細 (流水號, 用途, 金額, 備註, 項次) " &
  160. "VALUES (N'" & TextBox1.Text & "',N'',N'0',N'',N'" & 新項次 & "')"
  161. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery()
  162. Set_財務單清單()
  163. End Sub
  164. Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click
  165. If TextBox4.Text = "" Then
  166. MsgBox("未選擇需要刪除的資料")
  167. Else
  168. 存檔()
  169. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  170. SQL1 = "DELETE FROM 零用金支付明細 WHERE (流水號 LIKE N'" & TextBox1.Text & "' AND 項次 LIKE N'" & TextBox4.Text & "')"
  171. cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
  172. Set_財務單清單()
  173. Dim NUM1 As Integer = 0
  174. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  175. NUM1 = NUM1 + 1 : If NUM1 < 10 Then : 新項次 = "0" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1 : End If
  176. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  177. SQL1 = "UPDATE 零用金支付明細 SET 項次 = N'" & 新項次 & "' WHERE (流水號 LIKE N'" & TextBox1.Text & "' AND 項次 LIKE N'" & 明細_dgv.Rows(i).Cells("項次").Value & "')"
  178. cmd.CommandText = SQL1 : cmd.ExecuteNonQuery()
  179. conn.Close()
  180. Next
  181. Set_財務單清單()
  182. End If
  183. End Sub
  184. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  185. Timer1.Enabled = False : Label62.Visible = False
  186. Button1.Enabled = True : Button2.Enabled = False : Button6.Enabled = False : Button15.Enabled = False
  187. 存檔()
  188. TextBox1.Text = "" : TextBox2.Text = "" : TextBox3.Text = "" : TextBox4.Text = ""
  189. 明細_dgv.DataSource = Nothing : ds.Clear()
  190. MsgBox("申請完成,請通知主管審核。")
  191. Set_清單1() : Set_清單2() : Set_清單3() : Set_清單4()
  192. End Sub
  193. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
  194. Button3.Enabled = False : Button4.Enabled = True : Button6.Enabled = True : Button15.Enabled = True
  195. End Sub
  196. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
  197. Button3.Enabled = True : Button4.Enabled = False : Button6.Enabled = False : Button15.Enabled = False
  198. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  199. 資料數 = 明細_dgv.Rows.Count : MyModule1.進度條()
  200. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  201. SQL1 = "UPDATE 零用金支付明細 SET 用途 = N'" & 明細_dgv.Rows(i).Cells("用途").Value & "', 金額 = N'" & 明細_dgv.Rows(i).Cells("金額").Value &
  202. "', 備註 = N'" & 明細_dgv.Rows(i).Cells("備註").Value & "' WHERE (流水號 LIKE N'" & TextBox1.Text & "' AND 項次 LIKE N'" & 明細_dgv.Rows(i).Cells("項次").Value & "')"
  203. cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  204. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  205. End Sub
  206. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
  207. Dim aa As MsgBoxResult
  208. aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
  209. If aa = MsgBoxResult.Ok Then
  210. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  211. SQL1 = "DELETE FROM 零用金支付表 WHERE (流水號 LIKE N'" & TextBox1.Text & "')"
  212. cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
  213. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  214. SQL1 = "DELETE FROM 零用金支付明細 WHERE (流水號 LIKE N'" & TextBox1.Text & "')"
  215. cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
  216. TextBox1.Text = "" : TextBox2.Text = "" : TextBox3.Text = "" : TextBox4.Text = ""
  217. 明細_dgv.DataSource = Nothing : ds.Clear()
  218. Set_清單1() : Set_清單2() : Set_清單3() : Set_清單4()
  219. End If
  220. End Sub
  221. Private Sub 帳本名稱_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 帳本名稱_cb.SelectedIndexChanged
  222. 帳本編號_cb.SelectedIndex = 帳本名稱_cb.SelectedIndex : PA19 = 帳本編號_cb.Text : Set_清單1() : Set_清單2() : Set_清單3() : Set_清單4()
  223. TextBox1.Text = "" : TextBox2.Text = "" : TextBox3.Text = "" : Set_財務單清單()
  224. End Sub
  225. Private Sub 帳本編號_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 帳本編號_cb.SelectedIndexChanged
  226. 帳本名稱_cb.SelectedIndex = 帳本編號_cb.SelectedIndex : PA19 = 帳本編號_cb.Text : Set_清單1() : Set_清單2() : Set_清單3() : Set_清單4()
  227. TextBox1.Text = "" : TextBox2.Text = "" : TextBox3.Text = "" : Set_財務單清單()
  228. End Sub
  229. End Class