Imports System.IO Public Class 電信費追加執行 Dim 對話框(3), QQW(11) As String Dim II As Integer Private Sub Set_清單() Dim ds2 As New DataSet : 簽名清單_dgv.DataSource = Nothing : ds2.Clear() 簽名清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 簽名清單_dgv.ColumnHeadersHeight = 4 : 簽名清單_dgv.AllowUserToAddRows = False SQL_營運成本收支單審核_查詢圖片流水號() : da.Fill(ds2) : 簽名清單_dgv.DataSource = ds2.Tables(0) : conn.Close() 簽名清單_dgv.Columns(0).FillWeight = 173 : 簽名清單_dgv.Columns(1).Visible = False If 簽名清單_dgv.Rows.Count = 0 Then : Else 圖片編碼_tb.Text = 簽名清單_dgv(0, 0).Value.ToString PA38 = 圖片編碼_tb.Text : SQL_營運成本收支單審核_查詢簽名檔圖片() While dr.Read() = True Dim unused As Byte() = New Byte(-1) {} Dim bytes As Byte() = DirectCast(dr.Item("簽名檔圖片"), Byte()) Dim oStream As New MemoryStream(bytes) 簽名圖_pb.Image = Bitmap.FromStream(oStream) End While : conn.Close() : 簽名圖_pb.SizeMode = 4 For QAZ = 0 To 999 QQW(0) = Strings.Right(簽名清單_dgv(0, 0).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 ran = New Random(DateTime.Now.Millisecond) : Dim NUM1 As Integer = 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 ran1 = New Random(DateTime.Now.Millisecond) : Dim NUM2 As Integer = 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 PA39 = 驗證碼_tb.Text : SQL_營運成本收支單審核_查詢簽名編碼() : If dr.Read() = True Then : Else : QAZ = 999 : End If : conn.Close() Next 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 轉換() 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 Private Sub Set_費用清單() Dim ds As New DataSet : 明細_dgv.DataSource = Nothing : ds.Clear() 明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 明細_dgv.ColumnHeadersHeight = 40 : 明細_dgv.AllowUserToAddRows = False : 明細_dgv.RowTemplate.Height = 40 If 未核准_rb.Checked = True Then : SQL2 = " AND (財務收支控制表.審核人 LIKE '')" ElseIf 已核准_rb.Checked = True Then : SQL2 = " AND (財務收支控制表.審核人 NOT LIKE '') AND (財務收支控制表.審核人 NOT LIKE '作廢%')" ElseIf 作廢_rb.Checked = True Then : SQL2 = " AND (財務收支控制表.審核人 LIKE '作廢%')" End If : SQL3 = " AND (財務收支明細表.類別 LIKE 'B-02-04-20' OR 財務收支明細表.類別 LIKE 'B-02-04-21')" SQL_營運成本收支單審核_查詢費用清單1() : da.SelectCommand = cmd : da.Fill(ds) : 明細_dgv.DataSource = ds.Tables(0) : conn.Close() 明細_dgv.Columns(0).Visible = False : 明細_dgv.Columns(1).FillWeight = 80 : 明細_dgv.Columns(2).FillWeight = 300 : 明細_dgv.Columns(3).FillWeight = 500 明細_dgv.Columns(4).Visible = False : 明細_dgv.Columns(5).Visible = False : 明細_dgv.Columns(6).Visible = False : 明細_dgv.Columns(7).FillWeight = 140 明細_dgv.Columns(8).Visible = False : 明細_dgv.Columns(9).Visible = False : 明細_dgv.Columns(10).Visible = False : 明細_dgv.Columns(11).Visible = False 明細_dgv.Columns(12).Visible = False 明細_dgv.Columns(1).ReadOnly = True : 明細_dgv.Columns(2).ReadOnly = True : 明細_dgv.Columns(9).ReadOnly = True : 明細_dgv.Columns(10).ReadOnly = True 明細_dgv.Columns(4).DefaultCellStyle.Format = "#,##0" : 明細_dgv.Columns(5).DefaultCellStyle.Format = "#,##0" : 明細_dgv.Columns(6).DefaultCellStyle.Format = "#,##0" 明細_dgv.Columns(7).DefaultCellStyle.Format = "#,##0" : 明細_dgv.Columns(8).DefaultCellStyle.Format = "#,##0" : 明細_dgv.Columns(表頭(114)).DefaultCellStyle.Format = "#,##0.000" 明細_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 明細_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 明細_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 明細_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight 明細_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter 明細_dgv.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(10).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter 明細_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter Dim mycol1 As DataGridViewImageColumn = 明細_dgv.Columns(表頭(3)) : mycol1.ImageLayout = DataGridViewImageCellLayout.Zoom Dim mycol2 As DataGridViewImageColumn = 明細_dgv.Columns(表頭(4)) : mycol2.ImageLayout = DataGridViewImageCellLayout.Zoom For i As Integer = 0 To 明細_dgv.Rows.Count - 1 明細_dgv.Rows(i).Cells(表頭(11)).Value = i + 1 : 明細_dgv.Rows(i).Cells(表頭(3)).Value = My.Resources._Select : 明細_dgv.Rows(i).Cells(表頭(4)).Value = My.Resources.Close Next End Sub Private Sub 語言轉換讀取() Me.Text = 系統語言字典("H001-275-" & 語言) : ToolTip1.ToolTipTitle = 系統語言字典("G000-108-" & 語言) 表頭(111) = 系統語言字典("H302-106-" & 語言) : 表頭(109) = 系統語言字典("H302-107-" & 語言) : 表頭(20) = 系統語言字典("H302-108-" & 語言) 表頭(107) = 系統語言字典("H302-109-" & 語言) : 表頭(11) = 系統語言字典("H302-110-" & 語言) : 表頭(114) = 系統語言字典("H302-111-" & 語言) 表頭(98) = 系統語言字典("H302-112-" & 語言) : 表頭(110) = 系統語言字典("H302-113-" & 語言) : 表頭(115) = 系統語言字典("H302-114-" & 語言) 表頭(108) = 系統語言字典("H302-115-" & 語言) : 表頭(112) = 系統語言字典("H302-105-" & 語言) : 表頭(113) = 系統語言字典("H302-129-" & 語言) 對話框(0) = 系統語言字典("H302-118-" & 語言) : 對話框(1) = 系統語言字典("H302-119-" & 語言) : 對話框(2) = 系統語言字典("H302-120-" & 語言) 對話框(3) = 系統語言字典("H302-121-" & 語言) : 未核准_rb.Text = 系統語言字典("H302-123-" & 語言) : 表頭(1) = 系統語言字典("H204-107-" & 語言) 作廢_rb.Text = 系統語言字典("H302-124-" & 語言) : 表頭(39) = 系統語言字典("H302-126-" & 語言) : 表頭(2) = 系統語言字典("H904-104-" & 語言) 表頭(3) = 系統語言字典("H215-100-" & 語言) : 表頭(4) = 系統語言字典("H302-124-" & 語言) : 已核准_rb.Text = 系統語言字典("H301-132-" & 語言) End Sub Private Sub 電信費追加執行_Load(sender As Object, e As EventArgs) Handles MyBase.Load 風格() : H(302) = True : 介面 = "H302" : 語言轉換讀取() : 顯示說明(999, False) Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True Panel1.SendToBack() End Sub Private Sub 電信費追加執行_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown Set_清單() : Set_費用清單() : 首次開啟 = False End Sub Private Sub 電信費追加執行_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed H(215) = False : MyMod.虛擬桌面開啟() End Sub Private Sub 語轉扭_bt_Click(sender As Object, e As EventArgs) Handles 語轉扭_bt.Click 介面 = "H215" : 語言轉換讀取() : Set_清單() : Set_費用清單() End Sub Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True End Sub Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True End Sub Private Sub 簽名清單_dgv_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 PA38 = 圖片編碼_tb.Text : SQL_營運成本收支單審核_查詢簽名檔圖片() While dr.Read() = True Dim unused As Byte() = New Byte(-1) {} Dim bytes As Byte() = DirectCast(dr.Item("簽名檔圖片"), Byte()) Dim oStream As New MemoryStream(bytes) 簽名圖_pb.Image = Bitmap.FromStream(oStream) End While : conn.Close() : 簽名圖_pb.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 ran = New Random(DateTime.Now.Millisecond) : Dim NUM1 As Integer = 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 ran1 = New Random(DateTime.Now.Millisecond) : Dim NUM2 As Integer = 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 PA39 = 驗證碼_tb.Text : SQL_營運成本收支單審核_查詢簽名編碼() : If dr.Read() = True Then : Else : QAZ = 999 : End If : conn.Close() Next 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 : MsgBox(明細_dgv.SelectedCells(0).ColumnIndex & " " & 明細_dgv.SelectedCells(0).RowIndex) : End If If 明細_dgv.SelectedCells.Count > 0 Then If 明細_dgv.SelectedCells(0).ColumnIndex = 15 Then If 登入人級別 = "00" Then 營運成本收支單號_tb.Text = 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(0).Value PA27 = 圖片編碼_tb.Text : PA28 = 驗證碼_tb.Text : PA29 = 營運成本收支單號_tb.Text SQL_營運成本收支單審核_修改財務收支控制表() : SQL_營運成本收支單審核_修改財務收支明細表() : conn.Close() : PA1 = "01" If 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(表頭(110)).Value <> 0 Then : SQL_營運成本收支單審核_修改財務收支明細表備用金() : conn.Close() ElseIf 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(表頭(39)).Value <> 0 Then : SQL_營運成本收支單審核_修改財務收支明細表現金() : conn.Close() ElseIf 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(表頭(112)).Value <> 0 Then : SQL_營運成本收支單審核_修改財務收支明細表支出() : conn.Close() End If : MGB(對話框(1), 1) : 營運成本收支單號_tb.Text = "" : 首次開啟 = False : Set_清單() : Set_費用清單() ElseIf 未核准_rb.Checked = True And 已核准_rb.Checked = False And 作廢_rb.Checked = False Then 營運成本收支單號_tb.Text = 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(0).Value PA27 = 圖片編碼_tb.Text : PA28 = 驗證碼_tb.Text : PA29 = 營運成本收支單號_tb.Text SQL_營運成本收支單審核_修改財務收支控制表() : SQL_營運成本收支單審核_修改財務收支明細表() : conn.Close() : PA1 = "01" If 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(表頭(110)).Value <> 0 Then : SQL_營運成本收支單審核_修改財務收支明細表備用金() : conn.Close() ElseIf 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(表頭(39)).Value <> 0 Then : SQL_營運成本收支單審核_修改財務收支明細表現金() : conn.Close() ElseIf 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(表頭(112)).Value <> 0 Then : SQL_營運成本收支單審核_修改財務收支明細表支出() : conn.Close() End If : MGB(對話框(1), 1) : 營運成本收支單號_tb.Text = "" : 首次開啟 = False : Set_清單() : Set_費用清單() End If ElseIf 明細_dgv.SelectedCells(0).ColumnIndex = 16 Then If 登入人級別 = "00" Then 營運成本收支單號_tb.Text = 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(0).Value INB(對話框(2)) : PA = 訊息回應 If PA = "" Then : MGB(對話框(3), 1) : Else DTP = Format(Today(), "yyyy/MM/dd") : PA42 = 營運成本收支單號_tb.Text SQL_營運成本收支單審核_審核人3() : conn.Close() : MGB(對話框(1), 1) : PA = "" : 營運成本收支單號_tb.Text = "" : 首次開啟 = False Set_清單() : Set_費用清單() End If ElseIf 未核准_rb.Checked = True And 已核准_rb.Checked = False And 作廢_rb.Checked = False Then 營運成本收支單號_tb.Text = 明細_dgv.Rows(明細_dgv.SelectedCells(0).RowIndex).Cells(0).Value INB(對話框(2)) : PA = 訊息回應 If PA = "" Then : MGB(對話框(3), 1) : Else DTP = Format(Today(), "yyyy/MM/dd") : PA42 = 營運成本收支單號_tb.Text SQL_營運成本收支單審核_審核人3() : conn.Close() : MGB(對話框(1), 1) : PA = "" : 營運成本收支單號_tb.Text = "" : 首次開啟 = False Set_清單() : Set_費用清單() End If End If End If End If End Sub Private Sub 未核准_rb_CheckedChanged(sender As Object, e As EventArgs) Handles 未核准_rb.Click If 首次開啟 = False Then : 未核准_rb.Checked = True : 已核准_rb.Checked = False : 作廢_rb.Checked = False : Set_費用清單() : End If End Sub Private Sub 已核准_rb_CheckedChanged(sender As Object, e As EventArgs) Handles 已核准_rb.Click If 首次開啟 = False Then : 未核准_rb.Checked = False : 已核准_rb.Checked = True : 作廢_rb.Checked = False : Set_費用清單() : End If End Sub Private Sub 作廢_rb_CheckedChanged(sender As Object, e As EventArgs) Handles 作廢_rb.Click If 首次開啟 = False Then : 未核准_rb.Checked = False : 已核准_rb.Checked = False : 作廢_rb.Checked = True : Set_費用清單() : End If End Sub Private Sub 風格() If 深色風格 = False Then Me.BackColor = SystemColors.Control 已核准_rb.ForeColor = Color.Green : 未核准_rb.ForeColor = Color.Blue : 作廢_rb.ForeColor = Color.Red 明細_dgv.EnableHeadersVisualStyles = True : 明細_dgv.BackgroundColor = Color.White : 明細_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black 明細_dgv.AlternatingRowsDefaultCellStyle.BackColor = Color.LightBlue 明細_dgv.DefaultCellStyle.BackColor = Color.White : 明細_dgv.DefaultCellStyle.ForeColor = Color.Black 簽名清單_dgv.EnableHeadersVisualStyles = True : 簽名清單_dgv.BackgroundColor = Color.White : 簽名清單_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.Black 簽名清單_dgv.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGray 簽名清單_dgv.DefaultCellStyle.BackColor = Color.White : 簽名清單_dgv.DefaultCellStyle.ForeColor = Color.Black Else Me.BackColor = Color.Black 已核准_rb.ForeColor = Color.LightGreen : 未核准_rb.ForeColor = Color.LightBlue : 作廢_rb.ForeColor = Color.LightPink 明細_dgv.EnableHeadersVisualStyles = False : 明細_dgv.BackgroundColor = Color.DimGray : 明細_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White 明細_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 明細_dgv.AlternatingRowsDefaultCellStyle.BackColor = Color.DimGray 明細_dgv.DefaultCellStyle.BackColor = Color.Black : 明細_dgv.DefaultCellStyle.ForeColor = Color.White 簽名清單_dgv.EnableHeadersVisualStyles = False : 簽名清單_dgv.BackgroundColor = Color.DimGray : 簽名清單_dgv.ColumnHeadersDefaultCellStyle.ForeColor = Color.White 簽名清單_dgv.ColumnHeadersDefaultCellStyle.BackColor = Color.Black : 簽名清單_dgv.AlternatingRowsDefaultCellStyle.BackColor = Color.DimGray 簽名清單_dgv.DefaultCellStyle.BackColor = Color.Black : 簽名清單_dgv.DefaultCellStyle.ForeColor = Color.White End If End Sub End Class