Imports System.IO Public Class 加班申請系統 Private Sub 語言轉換讀取() If 系統語言 = "繁體中文" Then : 語言 = "CH" : ElseIf 系統語言 = "English" Then : 語言 = "EN" : ElseIf 系統語言 = "Indonesian" Then : 語言 = "IN" : End If If BL = False Then : Me.Text = 系統語言字典("H001-303-" & 語言) : Else : Me.Text = 系統語言字典("H001-304-" & 語言) : End If ToolTip1.ToolTipTitle = 系統語言字典("G000-108-" & 語言) : Label7.Text = 系統語言字典("G000-343-" & 語言) : 申請單位_lb.Text = 系統語言字典("G000-344-" & 語言) 職務_lb.Text = 系統語言字典("H002-112-" & 語言) : 姓名_lb.Text = 系統語言字典("H601-103-" & 語言) : 理由_lb.Text = 系統語言字典("G000-345-" & 語言) 加班地點_lb.Text = 系統語言字典("G000-346-" & 語言) : 加班時間_lb.Text = 系統語言字典("G000-347-" & 語言) : 直到_lb.Text = 系統語言字典("G000-348-" & 語言) 加班時數_lb.Text = 系統語言字典("G000-349-" & 語言) : 簽核時數_lb.Text = 系統語言字典("G000-350-" & 語言) : 申請人_lb.Text = 系統語言字典("H204-107-" & 語言) 單位主管_lb.Text = 系統語言字典("G000-351-" & 語言) : 部門主管_lb.Text = 系統語言字典("G000-352-" & 語言) : 管理部_lb.Text = 系統語言字典("G000-353-" & 語言) 未歸檔_ch.Text = 系統語言字典("H510-116-" & 語言) : 已歸檔_ch.Text = 系統語言字典("H507-121-" & 語言) : 已作廢_ch.Text = 系統語言字典("H510-117-" & 語言) 表頭(0) = 系統語言字典("H904-104-" & 語言) : 表頭(1) = 系統語言字典("H601-103-" & 語言) : 表頭(2) = 系統語言字典("H204-107-" & 語言) 表頭(3) = 系統語言字典("G000-351-" & 語言) : 表頭(4) = 系統語言字典("G000-352-" & 語言) End Sub Private Sub Set_清單() Dim ds As New DataSet 清單1_dgv.DataSource = Nothing : ds.Clear() 清單1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 清單1_dgv.ColumnHeadersHeight = 40 : 清單1_dgv.AllowUserToAddRows = False : 清單1_dgv.RowTemplate.Height = 35 If 未歸檔_ch.Checked = True Then SQL2 = " WHERE 人員加班紀錄.管理部 LIKE N'' AND 人員加班紀錄.單位主管 NOT LIKE N'Close%' AND 人員加班紀錄.部門主管 NOT LIKE N'Close%' " ElseIf 已歸檔_ch.Checked = True Then SQL2 = " WHERE 人員加班紀錄.管理部 NOT LIKE N'Close%' AND 人員加班紀錄.管理部 NOT LIKE N'' " ElseIf 已作廢_ch.Checked = True Then SQL2 = " WHERE 人員加班紀錄.管理部 LIKE N'Close%' OR 人員加班紀錄.單位主管 LIKE N'Close%' OR 人員加班紀錄.部門主管 LIKE N'Close%' " End If SQL_加班單() da.Fill(ds) : 清單1_dgv.DataSource = ds.Tables(0) : conn.Close() 清單1_dgv.Columns(0).Visible = False : 清單1_dgv.Columns(3).Visible = False : 清單1_dgv.Columns(4).Visible = False : 清單1_dgv.Columns(5).Visible = False 清單1_dgv.Columns(6).Visible = False : 清單1_dgv.Columns(7).Visible = False : 清單1_dgv.Columns(8).Visible = False : 清單1_dgv.Columns(9).Visible = False 清單1_dgv.Columns(10).Visible = False : 清單1_dgv.Columns(11).Visible = False : 清單1_dgv.Columns(13).Visible = False : 清單1_dgv.Columns(15).Visible = False 清單1_dgv.Columns(17).Visible = False : 清單1_dgv.Columns(18).Visible = False : 清單1_dgv.Columns(19).Visible = False SQL_加班地點讀取() : 加班地點_cb.Items.Clear() : While (dr.Read()) : 加班地點_cb.Items.Add(dr("加班地點")) : End While : conn.Close() End Sub Private Sub 使用者下拉表單資料載入() SQL_使用者資料讀取1() : 姓名_cb.Items.Clear() : While (dr.Read()) : 姓名_cb.Items.Add(dr("姓名")) : End While : conn.Close() End Sub Private Sub 使用者部門資料載入() PA = 姓名_cb.Text : If 系統語言 = "繁體中文" Then : SQL_使用者資料讀取_中() : Else : SQL_使用者資料讀取_英() : End If If dr.Read Then : 帳號_tb.Text = dr("帳號").ToString : 申請單位_tb.Text = dr("部門").ToString : 職務_tb.Text = dr("職稱").ToString : End If End Sub Private Sub 時間重置入() 開始日期_dtp.Value = Strings.Format(Today(), "yyyy/MM/dd") & " 17:00:00" : 開始時間_dtp.Value = Strings.Format(Today(), "yyyy/MM/dd") & " 17:00:00" 結束日期_dtp.Value = Strings.Format(Today(), "yyyy/MM/dd") & " 17:00:00" : 結束時間_dtp.Value = Strings.Format(Today(), "yyyy/MM/dd") & " 17:00:00" End Sub Private Sub 新增_bt_MouseEnter(sender As Object, e As EventArgs) Handles 新增_bt.MouseEnter ToolTip1.SetToolTip(Me.新增_bt, 系統語言字典("G000-109-" & 語言)) End Sub Private Sub 修改_bt_MouseEnter(sender As Object, e As EventArgs) Handles 修改_bt.MouseEnter ToolTip1.SetToolTip(Me.修改_bt, 系統語言字典("G000-111-" & 語言)) End Sub Private Sub 刪除_bt_MouseEnter(sender As Object, e As EventArgs) Handles 刪除_bt.MouseEnter ToolTip1.SetToolTip(Me.刪除_bt, 系統語言字典("G000-112-" & 語言)) End Sub Private Sub 審核通過_bt_MouseEnter(sender As Object, e As EventArgs) Handles 審核通過_bt.MouseEnter ToolTip1.SetToolTip(Me.審核通過_bt, 系統語言字典("H507-118-" & 語言)) End Sub Private Sub 單據作廢_bt_MouseEnter(sender As Object, e As EventArgs) Handles 單據作廢_bt.MouseEnter ToolTip1.SetToolTip(Me.單據作廢_bt, 系統語言字典("G000-219-" & 語言)) End Sub Private Sub 加班申請系統_Load(sender As Object, e As EventArgs) Handles MyBase.Load H(620) = True : 介面 = "H620" : 語言轉換讀取() : 顯示說明(999, False) 首次開啟 = True : 公司選擇_cb.Text = "HX" : Panel1.SendToBack() 時間重置入() If BL = False Then '----申請端進入------ 申請_p.Visible = True : 審核_p.Visible = False : 申請人_tb.Text = gUserName : 姓名_cb.Text = gUserName : 使用者部門資料載入() Else '----審核端進入------ 申請_p.Visible = False : 審核_p.Visible = True End If End Sub Private Sub 加班申請系統_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown 使用者下拉表單資料載入() : Set_清單() : 首次開啟 = False End Sub Private Sub 加班申請系統_SizeChanged(sender As Object, e As EventArgs) Handles MyBase.SizeChanged MyMod.清單字體大小調整() 清單1_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value) End Sub Private Sub 加班申請系統_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed H(620) = False : MyMod.虛擬桌面開啟() End Sub Private Sub 語轉扭_bt_Click(sender As Object, e As EventArgs) Handles 語轉扭_bt.Click 介面 = "H620" : 語言轉換讀取() : 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 清單1_dgv_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles 清單1_dgv.CellClick If e.RowIndex = -1 Then : Else 單號_tb.Text = 清單1_dgv(0, e.RowIndex).Value.ToString : 姓名_cb.Text = 清單1_dgv(2, e.RowIndex).Value.ToString : 使用者部門資料載入() 理由_tb.Text = 清單1_dgv(4, e.RowIndex).Value.ToString : 加班地點_cb.Text = 清單1_dgv(5, e.RowIndex).Value.ToString 首次開啟 = True : 開始日期_dtp.Text = 清單1_dgv(6, e.RowIndex).Value.ToString : 開始時間_dtp.Text = 清單1_dgv(7, e.RowIndex).Value.ToString 結束日期_dtp.Text = 清單1_dgv(8, e.RowIndex).Value.ToString : 首次開啟 = False : 結束時間_dtp.Text = 清單1_dgv(9, e.RowIndex).Value.ToString 簽核時數_nud.Text = 清單1_dgv(11, e.RowIndex).Value.ToString : 申請人_tb.Text = 清單1_dgv(12, e.RowIndex).Value.ToString 單位主管_tb.Text = 清單1_dgv(14, e.RowIndex).Value.ToString : 簽核時間1_tb.Text = 清單1_dgv(15, e.RowIndex).Value.ToString 部門主管_tb.Text = 清單1_dgv(16, e.RowIndex).Value.ToString : 簽核時間2_tb.Text = 清單1_dgv(17, e.RowIndex).Value.ToString 管理部_tb.Text = 清單1_dgv(18, e.RowIndex).Value.ToString : 簽核時間3_tb.Text = 清單1_dgv(19, e.RowIndex).Value.ToString End If End Sub Private Sub 公司選擇_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 公司選擇_cb.SelectedIndexChanged If 公司選擇_cb.Text = "HX" Then : PictureBox1.BringToFront() : ElseIf 公司選擇_cb.Text = "PGS" Then : PictureBox2.BringToFront() : Else : PictureBox1.BringToFront() : End If End Sub Private Sub 姓名_cb_Click(sender As Object, e As EventArgs) Handles 姓名_cb.Click CB選擇清單(姓名_cb, 姓名_cb.Text) : 使用者部門資料載入() End Sub Private Sub 申請人_tb_TextChanged(sender As Object, e As EventArgs) Handles 申請人_tb.TextChanged PA1 = 申請人_tb.Text : SQL_主管簽名檔讀取() : 簽名圖4_pb.Image = Nothing 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) 簽名圖4_pb.Image = Bitmap.FromStream(oStream) End While : conn.Close() : 簽名圖4_pb.SizeMode = 4 End Sub Private Sub 單位主管_tb_TextChanged(sender As Object, e As EventArgs) Handles 單位主管_tb.TextChanged PA1 = 單位主管_tb.Text : SQL_主管簽名檔讀取() : 簽名圖3_pb.Image = Nothing 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) 簽名圖3_pb.Image = Bitmap.FromStream(oStream) End While : conn.Close() : 簽名圖3_pb.SizeMode = 4 End Sub Private Sub 部門主管_tb_TextChanged(sender As Object, e As EventArgs) Handles 部門主管_tb.TextChanged PA1 = 部門主管_tb.Text : SQL_主管簽名檔讀取() : 簽名圖2_pb.Image = Nothing 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) 簽名圖2_pb.Image = Bitmap.FromStream(oStream) End While : conn.Close() : 簽名圖2_pb.SizeMode = 4 End Sub Private Sub 管理部_tb_TextChanged(sender As Object, e As EventArgs) Handles 管理部_tb.TextChanged PA1 = 管理部_tb.Text : SQL_主管簽名檔讀取() : 簽名圖1_pb.Image = Nothing 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) 簽名圖1_pb.Image = Bitmap.FromStream(oStream) End While : conn.Close() : 簽名圖1_pb.SizeMode = 4 End Sub Private Sub Set_日期格式轉換() DTP = Format(Today(), "yyyy/MM/dd") : DTP1 = Format(Today(), "yyyyMMdd") End Sub Private Sub 新增_bt_Click(sender As Object, e As EventArgs) Handles 新增_bt.Click If 姓名_cb.Text = "" Or 申請單位_tb.Text = "" Or 職務_tb.Text = "" Or 帳號_tb.Text = "" Then : MGB(系統語言字典("G000-354-" & 語言), 1) : Else If 理由_tb.Text = "" Then : MGB(系統語言字典("G000-355-" & 語言), 1) : Else If 加班地點_cb.Text = "" Then : MGB(系統語言字典("G000-356-" & 語言), 1) : Else If 加班時數_nud.Value = 0 Then : MGB(系統語言字典("G000-357-" & 語言), 1) : Else If 簽核時數_nud.Value = 0 Then : MGB(系統語言字典("G000-358-" & 語言), 1) : Else Set_日期格式轉換() : Dim NUM1 As Integer : 申請人_tb.Text = gUserName For i As Integer = 1 To 999 NUM1 = 0 + i If NUM1 < 10 Then : 單號_tb.Text = "OT-" & DTP1 & "-00" & NUM1 ElseIf NUM1 > 9 And NUM1 < 100 Then : 單號_tb.Text = "OT-" & DTP1 & "-0" & NUM1 ElseIf NUM1 > 99 Then : 單號_tb.Text = "OT-" & DTP1 & "-" & NUM1 : End If PA1 = 單號_tb.Text : SQL_加班單號查詢() If dr.Read() Then : Else : i = 999 : conn.Close() : End If : conn.Close() Next PA1 = 單號_tb.Text : PA2 = DTP : PA3 = 帳號_tb.Text : PA4 = 理由_tb.Text : PA5 = 加班地點_cb.Text : PA6 = 開始日期_dtp.Text : PA7 = 開始時間_dtp.Text PA8 = 結束日期_dtp.Text : PA9 = 結束時間_dtp.Text : PA10 = 加班時數_nud.Value : PA11 = 簽核時數_nud.Value : PA12 = 申請人_tb.Text : PA13 = DTP SQL_加班申請() : Set_清單() : MGB(系統語言字典("H905-103-" & 語言), 1) End If End If End If End If End If End Sub Private Sub 修改_bt_Click(sender As Object, e As EventArgs) Handles 修改_bt.Click If 單位主管_tb.Text <> "" Or 部門主管_tb.Text <> "" Or 管理部_tb.Text <> "" Then : MGB(系統語言字典("G000-361-" & 語言), 1) : Else If 單號_tb.Text = "" Then : MGB(系統語言字典("H204-130-" & 語言), 1) : Else If 申請人_tb.Text <> gUserName Then : MGB(系統語言字典("G000-360-" & 語言), 1) : Else PA1 = 單號_tb.Text : PA2 = DTP : PA3 = 帳號_tb.Text : PA4 = 理由_tb.Text : PA5 = 加班地點_cb.Text : PA6 = 開始日期_dtp.Text : PA7 = 開始時間_dtp.Text PA8 = 結束日期_dtp.Text : PA9 = 結束時間_dtp.Text : PA10 = 加班時數_nud.Value : PA11 = 簽核時數_nud.Value : PA12 = 申請人_tb.Text : PA13 = DTP SQL_加班申請修改() : Set_清單() : MGB(系統語言字典("H299-128-" & 語言), 1) End If End If End If End Sub Private Sub 刪除_bt_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click If 單位主管_tb.Text <> "" Or 部門主管_tb.Text <> "" Or 管理部_tb.Text <> "" Then : MGB(系統語言字典("G000-361-" & 語言), 1) : Else If 單號_tb.Text = "" Then : MGB(系統語言字典("H204-130-" & 語言), 1) : Else If 申請人_tb.Text <> gUserName Then : MGB(系統語言字典("G000-360-" & 語言), 1) : Else PA1 = 單號_tb.Text : SQL_加班申請刪除() : Set_清單() : MGB(系統語言字典("H299-130-" & 語言), 1) End If End If End If End Sub Private Sub 開始日期_dtp_ValueChanged(sender As Object, e As EventArgs) Handles 開始日期_dtp.ValueChanged 結束日期_dtp.Value = 開始日期_dtp.Value End Sub Private Sub 結束日期_dtp_ValueChanged(sender As Object, e As EventArgs) Handles 結束日期_dtp.ValueChanged 開始日期_dtp.Value = 結束日期_dtp.Value End Sub Private Sub Set_加班計算() If 首次開啟 = False Then : Dim 開始時間 As DateTime = 開始時間_dtp.Text : Dim 結束時間 As DateTime = 結束時間_dtp.Text If 開始時間 < 結束時間 Then Dim 時間差 As TimeSpan = 結束時間 - 開始時間 : Dim AA As String = 時間差.TotalHours.ToString("F2") 加班時數_nud.Value = AA : 簽核時數_nud.Value = Math.Round(加班時數_nud.Value, 0, MidpointRounding.AwayFromZero) ElseIf 開始時間 = 結束時間 Then : 加班時數_nud.Value = 0 : 簽核時數_nud.Value = 0 Else : MGB(系統語言字典("H904-119-" & 語言), 1) : 時間重置入() : End If End If End Sub Private Sub 開始時間_dtp_ValueChanged(sender As Object, e As EventArgs) Handles 開始時間_dtp.ValueChanged Set_加班計算() End Sub Private Sub 結束時間_dtp_ValueChanged(sender As Object, e As EventArgs) Handles 結束時間_dtp.ValueChanged Set_加班計算() End Sub Private Sub 未歸檔_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 未歸檔_ch.Click 未歸檔_ch.Checked = True : 已歸檔_ch.Checked = False : 已作廢_ch.Checked = False : Set_清單() : 審核_p.Enabled = True : 申請_p.Enabled = True End Sub Private Sub 已歸檔_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 已歸檔_ch.Click 未歸檔_ch.Checked = False : 已歸檔_ch.Checked = True : 已作廢_ch.Checked = False : Set_清單() : 審核_p.Enabled = False : 申請_p.Enabled = False End Sub Private Sub 已作廢_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 已作廢_ch.Click 未歸檔_ch.Checked = False : 已歸檔_ch.Checked = False : 已作廢_ch.Checked = True : Set_清單() : 審核_p.Enabled = False : 申請_p.Enabled = False End Sub Private Sub 審核通過_bt_Click(sender As Object, e As EventArgs) Handles 審核通過_bt.Click Dim 部門別 As String : PA = gUserName : SQL_使用者資料讀取_中() : If dr.Read Then : 部門別 = dr("部門").ToString : End If : Set_日期格式轉換() Dim 申請方 As String : PA = 姓名_cb.Text : SQL_使用者資料讀取_中() : If dr.Read Then : 申請方 = dr("部門").ToString : End If If 部門別 = "管理部" And 申請方 <> "管理部" Then 管理部_tb.Text = gUserName : 審核通過() ElseIf 部門別 = "管理部" And 申請方 = "管理部" And CInt(登入人級別) > 5 Then If 單位主管_tb.Text <> "" Then : Else : 單位主管_tb.Text = gUserName : End If ElseIf 部門別 = "管理部" And 申請方 = "管理部" And CInt(登入人級別) <= 5 Then 管理部_tb.Text = gUserName : 部門主管_tb.Text = gUserName : 審核通過() If 單位主管_tb.Text <> "" Then : Else : 單位主管_tb.Text = gUserName : End If ElseIf CInt(登入人級別) > 5 And 部門別 = 申請方 Then If 單位主管_tb.Text <> "" Then : Else : 單位主管_tb.Text = gUserName : End If ElseIf CInt(登入人級別) <= 5 And 部門別 = 申請方 Then If 部門主管_tb.Text <> "" Then : Else : 部門主管_tb.Text = gUserName : End If If 單位主管_tb.Text <> "" Then : Else : 單位主管_tb.Text = gUserName : End If ElseIf 部門別 <> 申請方 Then : MGB(系統語言字典("G000-362-" & 語言), 1) : Exit Sub End If : PA1 = 單號_tb.Text If 簽核時間1_tb.Text = "" Then If 單位主管_tb.Text <> "" Then : PA3 = "單位主管 = N'" & 單位主管_tb.Text & "', 簽核日期1 = N'" & DTP & "'" : Else : PA3 = "單位主管 = N'', 簽核日期1 = N''" : End If Else : PA3 = "" : End If If 簽核時間2_tb.Text = "" Then If 部門主管_tb.Text <> "" Then : PA4 = "部門主管 = N'" & 部門主管_tb.Text & "', 簽核日期2 = N'" & DTP & "'" : Else : PA4 = "部門主管 = N'', 簽核日期2 = N''" : End If Else : PA4 = "" : End If If 簽核時間3_tb.Text = "" Then If 管理部_tb.Text <> "" Then : PA5 = "管理部 = N'" & 管理部_tb.Text & "', 簽核日期3 = N'" & DTP & "'" : Else : PA5 = "管理部 = N'', 簽核日期3 = N''" : End If Else : PA5 = "" : End If If PA3 = "" And PA4 = "" And PA5 = "" Then ElseIf PA3 <> "" And PA4 = "" And PA5 = "" Then : SQL2 = PA3 : SQL_加班申請簽核() : MGB(系統語言字典("H904-119-" & 語言), 1) ElseIf PA3 = "" And PA4 <> "" And PA5 = "" Then : SQL2 = PA4 : SQL_加班申請簽核() : MGB(系統語言字典("H904-119-" & 語言), 1) ElseIf PA3 = "" And PA4 = "" And PA5 <> "" Then : SQL2 = PA5 : SQL_加班申請簽核() : MGB(系統語言字典("H904-119-" & 語言), 1) ElseIf PA3 <> "" And PA4 <> "" And PA5 = "" Then : SQL2 = PA3 & ", " & PA4 : SQL_加班申請簽核() : MGB(系統語言字典("H904-119-" & 語言), 1) ElseIf PA3 <> "" And PA4 = "" And PA5 <> "" Then : SQL2 = PA3 & ", " & PA5 : SQL_加班申請簽核() : MGB(系統語言字典("H904-119-" & 語言), 1) ElseIf PA3 = "" And PA4 <> "" And PA5 <> "" Then : SQL2 = PA4 & ", " & PA5 : SQL_加班申請簽核() : MGB(系統語言字典("H904-119-" & 語言), 1) ElseIf PA3 <> "" And PA4 <> "" And PA5 <> "" Then : SQL2 = PA3 & ", " & PA4 & ", " & PA5 : SQL_加班申請簽核() : MGB(系統語言字典("H904-119-" & 語言), 1) : End If : Set_清單() End Sub Private Sub 審核通過() SQL_加班單查詢(單號_tb.Text) If dr.Read() Then Dim ID卡號 As String = dr("ID卡號") : Dim 日期 As String = dr("開始日期") : SQL_部門聯絡函_查詢考勤(ID卡號, 日期) If dr.Read() Then : SQL_部門聯絡函_修改考勤("1", ID卡號, 日期) : Else : SQL_部門聯絡函_新增考勤(ID卡號, 日期) : End If End If End Sub Private Sub 單據作廢_bt_Click(sender As Object, e As EventArgs) Handles 單據作廢_bt.Click Dim 部門別 As String : PA = gUserName : SQL_使用者資料讀取_中() : If dr.Read Then : 部門別 = dr("部門").ToString : End If : Set_日期格式轉換() Dim 申請方 As String : PA = 姓名_cb.Text : SQL_使用者資料讀取_中() : If dr.Read Then : 申請方 = dr("部門").ToString : End If If 部門別 = "管理部" And 申請方 <> "管理部" Then 管理部_tb.Text = "Close-" & gUserName ElseIf 部門別 = "管理部" And 申請方 = "管理部" And CInt(登入人級別) > 5 Then If 單位主管_tb.Text <> "" Then : Else : 單位主管_tb.Text = "Close-" & gUserName : End If ElseIf 部門別 = "管理部" And 申請方 = "管理部" And CInt(登入人級別) <= 5 Then 管理部_tb.Text = "Close-" & gUserName : 部門主管_tb.Text = "Close-" & gUserName If 單位主管_tb.Text <> "" Then : Else : 單位主管_tb.Text = "Close-" & gUserName : End If ElseIf CInt(登入人級別) > 5 And 部門別 = 申請方 Then If 單位主管_tb.Text <> "" Then : Else : 單位主管_tb.Text = "Close-" & gUserName : End If ElseIf CInt(登入人級別) <= 5 And 部門別 = 申請方 Then If 部門主管_tb.Text <> "" Then : Else : 部門主管_tb.Text = "Close-" & gUserName : End If If 單位主管_tb.Text <> "" Then : Else : 單位主管_tb.Text = "Close-" & gUserName : End If ElseIf 部門別 <> 申請方 Then : MGB(系統語言字典("G000-362-" & 語言), 1) : Exit Sub End If : PA1 = 單號_tb.Text If 簽核時間1_tb.Text = "" Then If 單位主管_tb.Text <> "" Then : PA3 = "單位主管 = N'" & 單位主管_tb.Text & "', 簽核日期1 = N'" & DTP & "'" : Else : PA3 = "單位主管 = N'', 簽核日期1 = N''" : End If Else : PA3 = "" : End If If 簽核時間2_tb.Text = "" Then If 部門主管_tb.Text <> "" Then : PA4 = "部門主管 = N'" & 部門主管_tb.Text & "', 簽核日期2 = N'" & DTP & "'" : Else : PA4 = "部門主管 = N'', 簽核日期2 = N''" : End If Else : PA4 = "" : End If If 簽核時間3_tb.Text = "" Then If 管理部_tb.Text <> "" Then : PA5 = "管理部 = N'" & 管理部_tb.Text & "', 簽核日期3 = N'" & DTP & "'" : Else : PA5 = "管理部 = N'', 簽核日期3 = N''" : End If Else : PA5 = "" : End If If PA3 = "" And PA4 = "" And PA5 = "" Then ElseIf PA3 <> "" And PA4 = "" And PA5 = "" Then : SQL2 = PA3 : SQL_加班申請簽核() : MGB(系統語言字典("H904-119-" & 語言), 1) ElseIf PA3 = "" And PA4 <> "" And PA5 = "" Then : SQL2 = PA4 : SQL_加班申請簽核() : MGB(系統語言字典("H904-119-" & 語言), 1) ElseIf PA3 = "" And PA4 = "" And PA5 <> "" Then : SQL2 = PA5 : SQL_加班申請簽核() : MGB(系統語言字典("H904-119-" & 語言), 1) ElseIf PA3 <> "" And PA4 <> "" And PA5 = "" Then : SQL2 = PA3 & ", " & PA4 : SQL_加班申請簽核() : MGB(系統語言字典("H904-119-" & 語言), 1) ElseIf PA3 <> "" And PA4 = "" And PA5 <> "" Then : SQL2 = PA3 & ", " & PA5 : SQL_加班申請簽核() : MGB(系統語言字典("H904-119-" & 語言), 1) ElseIf PA3 = "" And PA4 <> "" And PA5 <> "" Then : SQL2 = PA4 & ", " & PA5 : SQL_加班申請簽核() : MGB(系統語言字典("H904-119-" & 語言), 1) ElseIf PA3 <> "" And PA4 <> "" And PA5 <> "" Then : SQL2 = PA3 & ", " & PA4 & ", " & PA5 : SQL_加班申請簽核() : MGB(系統語言字典("H904-119-" & 語言), 1) : End If : Set_清單() End Sub End Class