123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 |
- Option Strict Off
- Imports System.IO
- Public Class 零用金支付核准
- Private ReadOnly ds, ds2, ds3, ds4 As New DataSet
- Private ReadOnly QQW(11) As String
- Dim II As Integer
- Dim 已超出 As Boolean
- 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_清單3()
- 二級未核准_dgv.DataSource = Nothing : ds3.Clear()
- 二級未核准_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 二級未核准_dgv.ColumnHeadersHeight = 25
- 二級未核准_dgv.AllowUserToAddRows = False
-
- PA19 = "%%" : PA = "二級未核准" : SQL_財務單據()
- da.Fill(ds3) : 二級未核准_dgv.DataSource = ds3.Tables(0) : conn.Close()
-
- 二級未核准_dgv.Columns(0).FillWeight = 120 : 二級未核准_dgv.Columns(1).FillWeight = 114 : 二級未核准_dgv.Columns(2).FillWeight = 114 : 二級未核准_dgv.Columns(3).FillWeight = 115
- 二級未核准_dgv.Columns(4).FillWeight = 115 : 二級未核准_dgv.Columns(5).FillWeight = 115 : 二級未核准_dgv.Columns(6).FillWeight = 115 : 二級未核准_dgv.Columns(7).FillWeight = 115
- 二級未核准_dgv.Columns(8).Visible = False : 二級未核准_dgv.Columns(9).FillWeight = 90
- End Sub
- Private Sub Set_清單4()
- 二級作廢_dgv.DataSource = Nothing : ds4.Clear()
- 二級作廢_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 二級作廢_dgv.ColumnHeadersHeight = 25
- 二級作廢_dgv.AllowUserToAddRows = False
-
- PA19 = "%%" : PA = "二級作廢" : SQL_財務單據()
- da.Fill(ds4) : 二級作廢_dgv.DataSource = ds4.Tables(0) : conn.Close()
-
- 二級作廢_dgv.Columns(0).FillWeight = 120 : 二級作廢_dgv.Columns(1).FillWeight = 114 : 二級作廢_dgv.Columns(2).FillWeight = 114 : 二級作廢_dgv.Columns(3).FillWeight = 115
- 二級作廢_dgv.Columns(4).FillWeight = 115 : 二級作廢_dgv.Columns(5).FillWeight = 115 : 二級作廢_dgv.Columns(6).FillWeight = 115 : 二級作廢_dgv.Columns(7).FillWeight = 115
- 二級作廢_dgv.Columns(8).Visible = False : 二級作廢_dgv.Columns(9).FillWeight = 90
- End Sub
- Private Sub Set_清單()
- 簽名檔_dgv.DataSource = Nothing : ds2.Clear()
- 簽名檔_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 簽名檔_dgv.ColumnHeadersHeight = 25
- 簽名檔_dgv.AllowUserToAddRows = False
- SQL_簽名檔管理1()
- da.Fill(ds2) : 簽名檔_dgv.DataSource = ds2.Tables(0) : conn.Close()
- 簽名檔_dgv.Columns(0).Width = 110 : 簽名檔_dgv.Columns(1).Width = 63
- 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
- Set_清單() : Set_清單3() : Set_清單4()
- End Sub
- Private Sub 轉換()
- If QQW(II) = "1" Then : QQW(II) = "A" : ElseIf QQW(II) = "2" Then : QQW(II) = "B" : ElseIf QQW(II) = "3" Then : QQW(II) = "C" : ElseIf QQW(II) = "4" Then : QQW(II) = "D"
- ElseIf QQW(II) = "5" Then : QQW(II) = "E" : ElseIf QQW(II) = "6" Then : QQW(II) = "F" : ElseIf QQW(II) = "7" Then : QQW(II) = "G" : ElseIf QQW(II) = "8" Then : QQW(II) = "H"
- ElseIf QQW(II) = "9" Then : QQW(II) = "I" : ElseIf QQW(II) = "0" Then : QQW(II) = "J"
- End If
- End Sub
- Public Sub Delay(ByRef Interval As Double) 'Interval单位为毫秒
- Dim time As DateTime = DateTime.Now : Dim Span As Double = Interval * 1234 : While ((DateTime.Now.Ticks - time.Ticks) < Span) : Application.DoEvents() : End While
- 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
- SQL_簽名檔管理2()
- While dr.Read() = True
- Dim bytes As Byte() = New Byte(-1) {}
- bytes = DirectCast(dr.Item("簽名檔圖片"), Byte())
- Dim oStream As New MemoryStream(bytes)
- PictureBox1.Image = Bitmap.FromStream(oStream)
- End While
- conn.Close()
- PictureBox1.SizeMode = 4
- For QAZ = 0 To 999
- QQW(0) = Strings.Right(簽名檔_dgv(0, e.RowIndex).Value.ToString, 2) : QQW(1) = Strings.Right(Year(Today), 2) : QQW(2) = Strings.Left(Year(Today), 2) : QQW(3) = Month(Today) + 9
- QQW(4) = Strings.Right(QQW(0), 1) : QQW(5) = Strings.Left(QQW(0), 1) : QQW(6) = Strings.Right(QQW(1), 1) : QQW(7) = Strings.Left(QQW(1), 1) : QQW(8) = Strings.Right(QQW(2), 1)
- QQW(9) = Strings.Left(QQW(2), 1) : QQW(10) = Strings.Right(QQW(3), 1) : QQW(11) = Strings.Left(QQW(3), 1)
- For RT = 4 To 11
- Delay(3)
- Dim NUM1 As Integer : Dim ran = New Random(DateTime.Now.Millisecond) : NUM1 = ran.Next(1, 4096)
- For I = 0 To 4096 : If NUM1 > 9 Then : NUM1 -= 9 : ElseIf NUM1 < 9 Then : I = 4096 : End If : Next
- If NUM1 = 1 Then : II = RT : 轉換() : ElseIf NUM1 = 2 Then : II = RT : 轉換() : ElseIf NUM1 = 3 Then : ElseIf NUM1 = 4 Then : II = RT : 轉換() : ElseIf NUM1 = 5 Then
- ElseIf NUM1 = 6 Then : II = RT : 轉換() : ElseIf NUM1 = 7 Then : ElseIf NUM1 = 8 Then : II = RT : 轉換() : ElseIf NUM1 = 9 Then : II = RT : 轉換() : End If
- Next
- Dim NUM2 As Integer = 0 : Dim ran1 = New Random(DateTime.Now.Millisecond) : NUM2 = ran1.Next(1, 4096)
- For I = 0 To 4096 : If NUM2 > 99 Then : NUM2 -= 49 : ElseIf NUM2 < 99 Then : I = 4096 : End If : Next
-
- 驗證碼_tb.Text = QQW(11) & "2" & QQW(9) & "7" & QQW(7) & "0" & QQW(5) & QQW(4) & "1" & QQW(6) & "3" & QQW(8) & "9" & QQW(10) & NUM2
- SQL_零用金支付表()
- If dr.Read() = True Then : Else : QAZ = 999 : End If : conn.Close()
- Next
- 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
- 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
- Set_財務單清單()
- End If
- End Sub
- Private Sub Set_日期格式轉換()
- DTP = Format(Today(), "yyyy/MM/dd") & "-" & Format(TimeOfDay(), "hh:mm:ss") : DTP2 = Format(Today(), "yyyy/MM/dd")
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 核准_bt.Click
- Set_日期格式轉換()
- If 零用金單號_tb.Text = "" Then
- MsgBox("沒有選擇零用金支付單")
- Else
- If 驗證碼_tb.Text = "" Then
- MsgBox("沒有選擇簽名檔")
- Else
- SQL_修改零用金支付表() : conn.Close()
- MsgBox("單據 " & 零用金單號_tb.Text & " 核准完成")
- Set_清單3() : Set_清單4()
- 零用金單號_tb.Text = "" : 申請部門_tb.Text = "" : 申請人_tb.Text = "" : 驗證碼_tb.Text = "" : 圖片編碼_tb.Text = ""
- 明細_dgv.DataSource = Nothing : ds.Clear()
- End If
- End If
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 作廢_bt.Click
- Set_日期格式轉換()
- If 零用金單號_tb.Text = "" Then
- MsgBox("沒有選擇零用金支付單")
- Else
- Dim aa As MsgBoxResult
- aa = MsgBox("確定要作廢該筆資料?", MsgBoxStyle.OkCancel)
- If aa = MsgBoxResult.Ok Then
- SQL_修改零用金支付表2() : conn.Close()
- MsgBox("單據 " & 零用金單號_tb.Text & " 已作廢")
- Set_清單3() : Set_清單4()
- 零用金單號_tb.Text = "" : 申請部門_tb.Text = "" : 申請人_tb.Text = "" : 驗證碼_tb.Text = "" : 圖片編碼_tb.Text = ""
- 明細_dgv.DataSource = Nothing : ds.Clear()
- End If
- End If
- 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
|