123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- Option Strict Off
- Public Class 零用金支付申請
- Private ReadOnly ds, ds1, ds2, ds3, ds4 As New DataSet
- Dim DTP1 As String
- Dim 已超出 As Boolean
- Dim NUM1 As Integer
- Private Sub Set_財務單清單()
- 明細_dgv.DataSource = Nothing : ds.Clear()
- 明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 明細_dgv.ColumnHeadersHeight = 25
- 明細_dgv.AllowUserToAddRows = False
- 明細_dgv.RowTemplate.Height = 35
-
- PA1 = 零用金單號_tb.Text : SQL_財務帳清單()
- da.Fill(ds) : 明細_dgv.DataSource = ds.Tables(0) : conn.Close()
-
- 明細_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
- 明細_dgv.Columns(3).DefaultCellStyle.Format = "#,##0.00"
- 明細_dgv.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(3).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
- 明細_dgv.EditMode = DataGridViewEditMode.EditOnEnter
- 總金額_tb.Text = "0.00"
- For i As Integer = 0 To 明細_dgv.Rows.Count - 1
- 總金額_tb.Text = Val(總金額_tb.Text) + 明細_dgv.Rows(i).Cells("金額").Value
- Next i
- 總金額_tb.Text = Format(Val(總金額_tb.Text), "#,##0.00")
- End Sub
- Private Sub Set_清單1()
- 一級未審核_dgv.DataSource = Nothing : ds1.Clear()
- 一級未審核_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 一級未審核_dgv.ColumnHeadersHeight = 25
- 一級未審核_dgv.AllowUserToAddRows = False
-
- PA = "一級未審核" : SQL_財務單據()
- da.Fill(ds1) : 一級未審核_dgv.DataSource = ds1.Tables(0) : conn.Close()
-
- 一級未審核_dgv.Columns(0).Width = 120 : 一級未審核_dgv.Columns(1).Width = 114 : 一級未審核_dgv.Columns(2).Width = 114 : 一級未審核_dgv.Columns(3).Width = 115
- 一級未審核_dgv.Columns(4).Width = 115 : 一級未審核_dgv.Columns(5).Width = 115 : 一級未審核_dgv.Columns(6).Width = 115 : 一級未審核_dgv.Columns(7).Width = 115
- 一級未審核_dgv.Columns(8).Visible = False : 一級未審核_dgv.Columns(9).Visible = False
- End Sub
- Private Sub Set_清單2()
- 一級作廢_dgv.DataSource = Nothing : ds2.Clear()
- 一級作廢_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 一級作廢_dgv.ColumnHeadersHeight = 25
- 一級作廢_dgv.AllowUserToAddRows = False
-
- PA = "一級作廢" : SQL_財務單據()
- da.Fill(ds2) : 一級作廢_dgv.DataSource = ds2.Tables(0) : conn.Close()
-
- 一級作廢_dgv.Columns(0).Width = 120 : 一級作廢_dgv.Columns(1).Width = 114 : 一級作廢_dgv.Columns(2).Width = 114 : 一級作廢_dgv.Columns(3).Width = 115
- 一級作廢_dgv.Columns(4).Width = 115 : 一級作廢_dgv.Columns(5).Width = 115 : 一級作廢_dgv.Columns(6).Width = 115 : 一級作廢_dgv.Columns(7).Width = 115
- 一級作廢_dgv.Columns(8).Visible = False : 一級作廢_dgv.Columns(9).Visible = False
- End Sub
- Private Sub Set_清單3()
- 二級未核准_dgv.DataSource = Nothing : ds3.Clear()
- 二級未核准_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 二級未核准_dgv.ColumnHeadersHeight = 25
- 二級未核准_dgv.AllowUserToAddRows = False
-
- PA = "二級未核准" : SQL_財務單據()
- da.Fill(ds3) : 二級未核准_dgv.DataSource = ds3.Tables(0) : conn.Close()
-
- 二級未核准_dgv.Columns(0).Width = 120 : 二級未核准_dgv.Columns(1).Width = 114 : 二級未核准_dgv.Columns(2).Width = 114 : 二級未核准_dgv.Columns(3).Width = 115
- 二級未核准_dgv.Columns(4).Width = 115 : 二級未核准_dgv.Columns(5).Width = 115 : 二級未核准_dgv.Columns(6).Width = 115 : 二級未核准_dgv.Columns(7).Width = 115
- 二級未核准_dgv.Columns(8).Visible = False : 二級未核准_dgv.Columns(9).Visible = False
- End Sub
- Private Sub Set_清單4()
- 二級作廢_dgv.DataSource = Nothing : ds4.Clear()
- 二級作廢_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 二級作廢_dgv.ColumnHeadersHeight = 25
- 二級作廢_dgv.AllowUserToAddRows = False
-
- PA = "二級作廢" : SQL_財務單據()
- da.Fill(ds4) : 二級作廢_dgv.DataSource = ds4.Tables(0) : conn.Close()
-
- 二級作廢_dgv.Columns(0).Width = 120 : 二級作廢_dgv.Columns(1).Width = 114 : 二級作廢_dgv.Columns(2).Width = 114 : 二級作廢_dgv.Columns(3).Width = 115
- 二級作廢_dgv.Columns(4).Width = 115 : 二級作廢_dgv.Columns(5).Width = 115 : 二級作廢_dgv.Columns(6).Width = 115 : 二級作廢_dgv.Columns(7).Width = 115
- 二級作廢_dgv.Columns(8).Visible = False : 二級作廢_dgv.Columns(9).Visible = False
- End Sub
- Private Sub Set_日期格式轉換()
- DTP = Format(Today(), "yyyy/MM/dd") & "-" & Format(TimeOfDay(), "hh:mm:ss") : DTP1 = Format(Today(), "yyyyMMdd")
- End Sub
- Private Sub ComboBox1下拉表單資料載入()
- SQL_帳本下拉清單()
- 帳本名稱_cb.Items.Clear() : 帳本編號_cb.Items.Clear() : While (dr.Read()) : 帳本名稱_cb.Items.Add(dr("帳本名稱")) : 帳本編號_cb.Items.Add(dr("編號")) : End While : conn.Close()
- End Sub
- Private Sub 零用金支付申請_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- WINPROFIT_ERP_SYS.WindowState = 2 : Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
- 申請完成_bt.Enabled = False : 新增_bt.Enabled = False : 刪除_bt.Enabled = False : 修改_bt.Enabled = False : 修改存檔_bt.Enabled = False : 刪除1_bt.Enabled = False
- 零用金單號_tb.Enabled = False : 申請部門_tb.Enabled = False : 申請人_tb.Enabled = False : 選擇_tb.Enabled = False : 帳本編號_cb.Visible = False
- ComboBox1下拉表單資料載入() : 帳本名稱_cb.SelectedIndex = 0 : PA19 = 帳本編號_cb.Text
- Set_清單1() : Set_清單2() : Set_清單3() : Set_清單4()
- End Sub
- Private Sub 零用金支付申請_Unload(sender As Object, e As EventArgs) Handles MyBase.Closing
- If 申請完成_bt.Enabled = True Then
- PA = 零用金單號_tb.Text : SQL_財務單據刪除() : conn.Close()
- End If
- End Sub
- Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
- If 資料尚未存檔_lb.Visible = True Then : 資料尚未存檔_lb.Visible = False : Else : 資料尚未存檔_lb.Visible = True : End If
- End Sub
- Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 明細_dgv.CellClick
- If e.RowIndex = -1 Then : Else
- 選擇_tb.Text = 明細_dgv(1, e.RowIndex).Value.ToString
- End If
- End Sub
- Private Sub DataGridView2_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 一級未審核_dgv.CellClick
- If e.RowIndex = -1 Then : Else
- 零用金單號_tb.Text = 一級未審核_dgv(0, e.RowIndex).Value.ToString : 申請部門_tb.Text = 一級未審核_dgv(1, e.RowIndex).Value.ToString : 申請人_tb.Text = 一級未審核_dgv(2, e.RowIndex).Value.ToString
- 修改_bt.Enabled = True : 刪除1_bt.Enabled = True : Set_財務單清單()
- End If
- End Sub
- Private Sub DataGridView3_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 一級作廢_dgv.CellClick
- If e.RowIndex = -1 Then : Else
- 零用金單號_tb.Text = 一級作廢_dgv(0, e.RowIndex).Value.ToString : 申請部門_tb.Text = 一級作廢_dgv(1, e.RowIndex).Value.ToString : 申請人_tb.Text = 一級作廢_dgv(2, e.RowIndex).Value.ToString
- 修改_bt.Enabled = False : 刪除1_bt.Enabled = False : Set_財務單清單()
- End If
- End Sub
- Private Sub DataGridView4_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 二級未核准_dgv.CellClick
- If e.RowIndex = -1 Then : Else
- 零用金單號_tb.Text = 二級未核准_dgv(0, e.RowIndex).Value.ToString : 申請部門_tb.Text = 二級未核准_dgv(1, e.RowIndex).Value.ToString : 申請人_tb.Text = 二級未核准_dgv(2, e.RowIndex).Value.ToString
- 修改_bt.Enabled = False : 刪除1_bt.Enabled = False : Set_財務單清單()
- End If
- End Sub
- Private Sub DataGridView5_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 二級作廢_dgv.CellClick
- If e.RowIndex = -1 Then : Else
- 零用金單號_tb.Text = 二級作廢_dgv(0, e.RowIndex).Value.ToString : 申請部門_tb.Text = 二級作廢_dgv(1, e.RowIndex).Value.ToString : 申請人_tb.Text = 二級作廢_dgv(2, e.RowIndex).Value.ToString
- 修改_bt.Enabled = False : 刪除1_bt.Enabled = False : Set_財務單清單()
- End If
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 開立零用金支付單_bt.Click
- Timer1.Enabled = True
- 開立零用金支付單_bt.Enabled = False : 申請完成_bt.Enabled = True : 新增_bt.Enabled = True : 刪除_bt.Enabled = True
- Set_日期格式轉換() : Dim NUM1 As Integer
- For i As Integer = 1 To 999
- NUM1 = 0 + i
- If NUM1 < 10 Then : 零用金單號_tb.Text = "PC-" & DTP1 & "-00" & NUM1
- ElseIf NUM1 > 9 And NUM1 < 100 Then : 零用金單號_tb.Text = "PC-" & DTP1 & "-0" & NUM1
- ElseIf NUM1 > 99 Then : 零用金單號_tb.Text = "PC-" & DTP1 & "-" & NUM1 : End If
- PA = 零用金單號_tb.Text : SQL_零用金支付表最後一筆資料()
- If dr.Read() Then : Else : i = 999 : conn.Close() : End If : conn.Close()
- Next
- SQL_新增零用金支付表1()
- 申請部門_tb.Text = 登入人部門 : 申請人_tb.Text = gUserName
- 明細_dgv.DataSource = Nothing : ds.Clear()
- conn.Close()
- End Sub
- Private Sub 存檔()
- For i As Integer = 0 To 明細_dgv.Rows.Count - 1
- 資料數 = 明細_dgv.Rows.Count : MyModule1.進度條()
- PA2 = 明細_dgv.Rows(i).Cells("用途").Value : PA3 = 明細_dgv.Rows(i).Cells("金額").Value
- PA4 = 明細_dgv.Rows(i).Cells("備註").Value : PA5 = 明細_dgv.Rows(i).Cells("項次").Value
- SQL_修改零用金支付明細() : conn.Close()
- Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
- End Sub
- Private Sub Button6_Click(sender As Object, e As EventArgs) Handles 新增_bt.Click
- 存檔()
- SQL_最後一筆項次1()
- If dr.Read() Then : 新項次 = dr("項次") : Else : 新項次 = "00" : End If : conn.Close()
- NUM1 = Double.Parse(新項次) + 1
- If NUM1 < 10 Then : 新項次 = "0" & NUM1
- ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1
- End If
- SQL_新增零用金支付明細1() : conn.Close()
- Set_財務單清單()
- End Sub
- Private Sub Button15_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click
- If 選擇_tb.Text = "" Then
- MsgBox("未選擇需要刪除的資料")
- Else
- 存檔()
- SQL_刪除零用金支付明細() : conn.Close()
- Set_財務單清單()
- Dim NUM1 As Integer = 0
- For i As Integer = 0 To 明細_dgv.Rows.Count - 1
- NUM1 += 1 : If NUM1 < 10 Then : 新項次 = "0" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1 : End If
- PA5 = 明細_dgv.Rows(i).Cells("項次").Value
- SQL_修改零用金支付明細1() : conn.Close()
- Next
- Set_財務單清單()
- End If
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 申請完成_bt.Click
- Timer1.Enabled = False : 資料尚未存檔_lb.Visible = False
- 開立零用金支付單_bt.Enabled = True : 申請完成_bt.Enabled = False : 新增_bt.Enabled = False : 刪除_bt.Enabled = False
- 存檔()
- 零用金單號_tb.Text = "" : 申請部門_tb.Text = "" : 申請人_tb.Text = "" : 選擇_tb.Text = ""
- 明細_dgv.DataSource = Nothing : ds.Clear()
- MsgBox("申請完成,請通知主管審核。")
- Set_清單1() : Set_清單2() : Set_清單3() : Set_清單4()
- End Sub
- Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 修改_bt.Click
- 修改_bt.Enabled = False : 修改存檔_bt.Enabled = True : 新增_bt.Enabled = True : 刪除_bt.Enabled = True
- End Sub
- Private Sub Button4_Click(sender As Object, e As EventArgs) Handles 修改存檔_bt.Click
- 修改_bt.Enabled = True : 修改存檔_bt.Enabled = False : 新增_bt.Enabled = False : 刪除_bt.Enabled = False
- For i As Integer = 0 To 明細_dgv.Rows.Count - 1
- 資料數 = 明細_dgv.Rows.Count : MyModule1.進度條()
- PA2 = 明細_dgv.Rows(i).Cells("用途").Value : PA3 = 明細_dgv.Rows(i).Cells("金額").Value
- PA4 = 明細_dgv.Rows(i).Cells("備註").Value : PA5 = 明細_dgv.Rows(i).Cells("項次").Value
- SQL_修改零用金支付明細() : conn.Close()
- Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
- End Sub
- Private Sub Button5_Click(sender As Object, e As EventArgs) Handles 刪除1_bt.Click
- Dim aa As MsgBoxResult
- aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
- If aa = MsgBoxResult.Ok Then
- SQL_刪除零用金支付表() : conn.Close()
- SQL_刪除零用金支付明細1() : conn.Close()
- 零用金單號_tb.Text = "" : 申請部門_tb.Text = "" : 申請人_tb.Text = "" : 選擇_tb.Text = ""
- 明細_dgv.DataSource = Nothing : ds.Clear()
- Set_清單1() : Set_清單2() : Set_清單3() : Set_清單4()
- End If
- End Sub
- Private Sub 帳本名稱_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 帳本名稱_cb.SelectedIndexChanged
- 帳本編號_cb.SelectedIndex = 帳本名稱_cb.SelectedIndex : PA19 = 帳本編號_cb.Text : Set_清單1() : Set_清單2() : Set_清單3() : Set_清單4()
- 零用金單號_tb.Text = "" : 申請部門_tb.Text = "" : 申請人_tb.Text = "" : Set_財務單清單()
- End Sub
- Private Sub 帳本編號_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 帳本編號_cb.SelectedIndexChanged
- 帳本名稱_cb.SelectedIndex = 帳本編號_cb.SelectedIndex : PA19 = 帳本編號_cb.Text : Set_清單1() : Set_清單2() : Set_清單3() : Set_清單4()
- 零用金單號_tb.Text = "" : 申請部門_tb.Text = "" : 申請人_tb.Text = "" : Set_財務單清單()
- End Sub
- Private Sub 明細_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 明細_dgv.MouseUp
- If 明細_dgv.SelectedCells.Count = 1 Then
- 已超出 = False
- End If
- If 明細_dgv.SelectedCells.Count > 0 Then
- '設定滑鼠點擊DGV時候的範圍,超出範圍時有可能不是數字所以不計算
- If 明細_dgv.SelectedCells(0).ColumnIndex = 3 Then
- If 已超出 = False Then
- Dim x As Double = 0
- For i As Integer = 0 To 明細_dgv.SelectedCells.Count - 1
- '明細_dgv.SelectedCells.Item(i).ColumnIndex + 8 是因為該DGV顯示項與計算像剛好差8格,使用時要注意可直接計算的不需要加數字。
- x += Val(明細_dgv.Rows(明細_dgv.SelectedCells.Item(i).RowIndex).Cells(明細_dgv.SelectedCells.Item(i).ColumnIndex).Value)
- Next i
- '將計算好的資料放置到指定的控件中
-
- WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(x, "#,##0")
- Else
- WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0")
- End If
- Else
- 已超出 = True
- WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0")
- End If
- End If
- End Sub
- End Class
|