Imports System.Globalization Imports System.IO Public Class Calculator_Backend_SYS Dim 本周周一 As Date Dim 對話框(22) As String Private Sub Set_報價未完成() Dim ds16 As New DataSet : 報價未完成_dgv.DataSource = Nothing : ds16.Clear() : 報價未完成_dgv.AllowUserToAddRows = False SQL_報價未完成() : da.Fill(ds16) : 報價未完成_dgv.DataSource = ds16.Tables(0) : conn.Close() 報價未完成_dgv.Columns(0).FillWeight = 70 : 報價未完成_dgv.Columns(1).FillWeight = 45 : 報價未完成_dgv.Columns(2).FillWeight = 120 報價未完成_dgv.Columns(3).FillWeight = 120 If 系統語言 = "繁體中文" Then : 報價未完成_dgv.Columns(2).Visible = True : 報價未完成_dgv.Columns(3).Visible = False Else : 報價未完成_dgv.Columns(2).Visible = False : 報價未完成_dgv.Columns(3).Visible = True : End If End Sub Private Sub Set_報價未簽回() Dim ds16 As New DataSet : 報價未簽回_dgv.DataSource = Nothing : ds16.Clear() : 報價未簽回_dgv.AllowUserToAddRows = False SQL_報價未簽回() : da.Fill(ds16) : 報價未簽回_dgv.DataSource = ds16.Tables(0) : conn.Close() 報價未簽回_dgv.Columns(0).FillWeight = 70 : 報價未簽回_dgv.Columns(1).FillWeight = 45 : 報價未簽回_dgv.Columns(2).FillWeight = 120 報價未簽回_dgv.Columns(3).FillWeight = 120 If 系統語言 = "繁體中文" Then : 報價未簽回_dgv.Columns(2).Visible = True : 報價未簽回_dgv.Columns(3).Visible = False Else : 報價未簽回_dgv.Columns(2).Visible = False : 報價未簽回_dgv.Columns(3).Visible = True : End If End Sub Private Sub Set_合約未簽回() Dim ds16 As New DataSet : 合約未簽回_dgv.DataSource = Nothing : ds16.Clear() : 合約未簽回_dgv.AllowUserToAddRows = False SQL_合約未簽回() : da.Fill(ds16) : 合約未簽回_dgv.DataSource = ds16.Tables(0) : conn.Close() 合約未簽回_dgv.Columns(0).FillWeight = 70 : 合約未簽回_dgv.Columns(1).FillWeight = 45 : 合約未簽回_dgv.Columns(2).FillWeight = 120 合約未簽回_dgv.Columns(3).FillWeight = 120 If 系統語言 = "繁體中文" Then : 合約未簽回_dgv.Columns(2).Visible = True : 合約未簽回_dgv.Columns(3).Visible = False Else : 合約未簽回_dgv.Columns(2).Visible = False : 合約未簽回_dgv.Columns(3).Visible = True : End If End Sub Private Sub Set_合約驗收單未簽回() Dim ds16 As New DataSet : 驗收未簽回_dgv.DataSource = Nothing : ds16.Clear() : 驗收未簽回_dgv.AllowUserToAddRows = False SQL_合約驗收單未簽回() : da.Fill(ds16) : 驗收未簽回_dgv.DataSource = ds16.Tables(0) : conn.Close() 驗收未簽回_dgv.Columns(0).FillWeight = 70 : 驗收未簽回_dgv.Columns(1).FillWeight = 45 : 驗收未簽回_dgv.Columns(2).FillWeight = 120 驗收未簽回_dgv.Columns(3).FillWeight = 120 If 系統語言 = "繁體中文" Then : 驗收未簽回_dgv.Columns(2).Visible = True : 驗收未簽回_dgv.Columns(3).Visible = False Else : 驗收未簽回_dgv.Columns(2).Visible = False : 驗收未簽回_dgv.Columns(3).Visible = True : End If End Sub Private Sub Set_合約保固單未簽() Dim ds16 As New DataSet : 保固未簽回_dgv.DataSource = Nothing : ds16.Clear() : 保固未簽回_dgv.AllowUserToAddRows = False SQL_合約保固未簽() : da.Fill(ds16) : 保固未簽回_dgv.DataSource = ds16.Tables(0) : conn.Close() 保固未簽回_dgv.Columns(0).FillWeight = 70 : 保固未簽回_dgv.Columns(1).FillWeight = 45 : 保固未簽回_dgv.Columns(2).FillWeight = 120 保固未簽回_dgv.Columns(3).FillWeight = 120 If 系統語言 = "繁體中文" Then : 保固未簽回_dgv.Columns(2).Visible = True : 保固未簽回_dgv.Columns(3).Visible = False Else : 保固未簽回_dgv.Columns(2).Visible = False : 保固未簽回_dgv.Columns(3).Visible = True : End If End Sub Private Sub Set_工程進度表未開() Dim ds16 As New DataSet 未開工程進度表_dgv.DataSource = Nothing : ds16.Clear() : 未開工程進度表_dgv.AllowUserToAddRows = False SQL_工程進度表未開() : da.Fill(ds16) : 未開工程進度表_dgv.DataSource = ds16.Tables(0) : conn.Close() 未開工程進度表_dgv.Columns(0).FillWeight = 70 : 未開工程進度表_dgv.Columns(1).FillWeight = 45 : 未開工程進度表_dgv.Columns(2).FillWeight = 120 未開工程進度表_dgv.Columns(3).FillWeight = 120 If 系統語言 = "繁體中文" Then : 未開工程進度表_dgv.Columns(2).Visible = True : 未開工程進度表_dgv.Columns(3).Visible = False Else : 未開工程進度表_dgv.Columns(2).Visible = False : 未開工程進度表_dgv.Columns(3).Visible = True : End If End Sub Private Sub Set_合約未指定主管() Dim ds16 As New DataSet : 合約未指定主管_dgv.DataSource = Nothing : ds16.Clear() : 合約未指定主管_dgv.AllowUserToAddRows = False SQL_合約未指定主管() : da.Fill(ds16) : 合約未指定主管_dgv.DataSource = ds16.Tables(0) : conn.Close() 合約未指定主管_dgv.Columns(0).FillWeight = 70 : 合約未指定主管_dgv.Columns(1).FillWeight = 45 : 合約未指定主管_dgv.Columns(2).FillWeight = 120 合約未指定主管_dgv.Columns(3).FillWeight = 120 If 系統語言 = "繁體中文" Then : 合約未指定主管_dgv.Columns(2).Visible = True : 合約未指定主管_dgv.Columns(3).Visible = False Else : 合約未指定主管_dgv.Columns(2).Visible = False : 合約未指定主管_dgv.Columns(3).Visible = True : End If End Sub Private Sub Set_合約未設利潤() Dim ds16 As New DataSet : 合約預估利潤_dgv.DataSource = Nothing : ds16.Clear() : 合約預估利潤_dgv.AllowUserToAddRows = False SQL_合約未設利潤() : da.Fill(ds16) : 合約預估利潤_dgv.DataSource = ds16.Tables(0) : conn.Close() 合約預估利潤_dgv.Columns(0).FillWeight = 70 : 合約預估利潤_dgv.Columns(1).FillWeight = 45 : 合約預估利潤_dgv.Columns(2).FillWeight = 120 合約預估利潤_dgv.Columns(3).FillWeight = 120 If 系統語言 = "繁體中文" Then : 合約預估利潤_dgv.Columns(2).Visible = True : 合約預估利潤_dgv.Columns(3).Visible = False Else : 合約預估利潤_dgv.Columns(2).Visible = False : 合約預估利潤_dgv.Columns(3).Visible = True : End If End Sub Private Sub Set_合約未放行() Dim ds16 As New DataSet : 合約未放行_dgv.DataSource = Nothing : ds16.Clear() : 合約未放行_dgv.AllowUserToAddRows = False SQL_合約未放行() : da.Fill(ds16) : 合約未放行_dgv.DataSource = ds16.Tables(0) : conn.Close() 合約未放行_dgv.Columns(0).FillWeight = 70 : 合約未放行_dgv.Columns(1).FillWeight = 45 : 合約未放行_dgv.Columns(2).FillWeight = 120 合約未放行_dgv.Columns(3).FillWeight = 120 If 系統語言 = "繁體中文" Then : 合約未放行_dgv.Columns(2).Visible = True : 合約未放行_dgv.Columns(3).Visible = False Else : 合約未放行_dgv.Columns(2).Visible = False : 合約未放行_dgv.Columns(3).Visible = True : End If End Sub Private Sub Set_合約未驗收() Dim ds16 As New DataSet : 合約未驗收_dgv.DataSource = Nothing : ds16.Clear() : 合約未驗收_dgv.AllowUserToAddRows = False SQL_合約未驗收() : da.Fill(ds16) : 合約未驗收_dgv.DataSource = ds16.Tables(0) : conn.Close() 合約未驗收_dgv.Columns(0).FillWeight = 70 : 合約未驗收_dgv.Columns(1).FillWeight = 45 : 合約未驗收_dgv.Columns(2).FillWeight = 120 合約未驗收_dgv.Columns(3).FillWeight = 120 If 系統語言 = "繁體中文" Then : 合約未驗收_dgv.Columns(2).Visible = True : 合約未驗收_dgv.Columns(3).Visible = False Else : 合約未驗收_dgv.Columns(2).Visible = False : 合約未驗收_dgv.Columns(3).Visible = True : End If End Sub Private Sub Set_合約未請款5() Dim ds16 As New DataSet : 合約請款5_dgv.DataSource = Nothing : ds16.Clear() : 合約請款5_dgv.AllowUserToAddRows = False SQL_合約未請款5() : da.Fill(ds16) : 合約請款5_dgv.DataSource = ds16.Tables(0) : conn.Close() 合約請款5_dgv.Columns(0).FillWeight = 70 : 合約請款5_dgv.Columns(1).FillWeight = 45 : 合約請款5_dgv.Columns(2).FillWeight = 120 合約請款5_dgv.Columns(3).FillWeight = 120 If 系統語言 = "繁體中文" Then : 合約請款5_dgv.Columns(2).Visible = True : 合約請款5_dgv.Columns(3).Visible = False Else : 合約請款5_dgv.Columns(2).Visible = False : 合約請款5_dgv.Columns(3).Visible = True : End If End Sub Private Sub Set_合約未請款4() Dim ds16 As New DataSet : 合約請款4_dgv.DataSource = Nothing : ds16.Clear() : 合約請款4_dgv.AllowUserToAddRows = False SQL_合約未請款4() : da.Fill(ds16) : 合約請款4_dgv.DataSource = ds16.Tables(0) : conn.Close() 合約請款4_dgv.Columns(0).FillWeight = 70 : 合約請款4_dgv.Columns(1).FillWeight = 45 : 合約請款4_dgv.Columns(2).FillWeight = 120 合約請款4_dgv.Columns(3).FillWeight = 120 If 系統語言 = "繁體中文" Then : 合約請款4_dgv.Columns(2).Visible = True : 合約請款4_dgv.Columns(3).Visible = False Else : 合約請款4_dgv.Columns(2).Visible = False : 合約請款4_dgv.Columns(3).Visible = True : End If End Sub Private Sub Set_合約未請款3() Dim ds16 As New DataSet : 合約請款3_dgv.DataSource = Nothing : ds16.Clear() : 合約請款3_dgv.AllowUserToAddRows = False SQL_合約未請款3() : da.Fill(ds16) : 合約請款3_dgv.DataSource = ds16.Tables(0) : conn.Close() 合約請款3_dgv.Columns(0).FillWeight = 70 : 合約請款3_dgv.Columns(1).FillWeight = 45 : 合約請款3_dgv.Columns(2).FillWeight = 120 合約請款3_dgv.Columns(3).FillWeight = 120 If 系統語言 = "繁體中文" Then : 合約請款3_dgv.Columns(2).Visible = True : 合約請款3_dgv.Columns(3).Visible = False Else : 合約請款3_dgv.Columns(2).Visible = False : 合約請款3_dgv.Columns(3).Visible = True : End If End Sub Private Sub Set_合約未請款2() Dim ds16 As New DataSet : 合約請款2_dgv.DataSource = Nothing : ds16.Clear() : 合約請款2_dgv.AllowUserToAddRows = False SQL_合約未請款2() : da.Fill(ds16) : 合約請款2_dgv.DataSource = ds16.Tables(0) : conn.Close() 合約請款2_dgv.Columns(0).FillWeight = 70 : 合約請款2_dgv.Columns(1).FillWeight = 45 : 合約請款2_dgv.Columns(2).FillWeight = 120 合約請款2_dgv.Columns(3).FillWeight = 120 If 系統語言 = "繁體中文" Then : 合約請款2_dgv.Columns(2).Visible = True : 合約請款2_dgv.Columns(3).Visible = False Else : 合約請款2_dgv.Columns(2).Visible = False : 合約請款2_dgv.Columns(3).Visible = True : End If End Sub Private Sub Set_合約未請款1() Dim ds16 As New DataSet : 合約請款1_dgv.DataSource = Nothing : ds16.Clear() : 合約請款1_dgv.AllowUserToAddRows = False SQL_合約未請款1() : da.Fill(ds16) : 合約請款1_dgv.DataSource = ds16.Tables(0) : conn.Close() 合約請款1_dgv.Columns(0).FillWeight = 70 : 合約請款1_dgv.Columns(1).FillWeight = 45 : 合約請款1_dgv.Columns(2).FillWeight = 120 合約請款1_dgv.Columns(3).FillWeight = 120 If 系統語言 = "繁體中文" Then : 合約請款1_dgv.Columns(2).Visible = True : 合約請款1_dgv.Columns(3).Visible = False Else : 合約請款1_dgv.Columns(2).Visible = False : 合約請款1_dgv.Columns(3).Visible = True : End If End Sub Private Sub Set_採購核准11() Dim ds16 As New DataSet : 採購核准11_dgv.DataSource = Nothing : ds16.Clear() : 採購核准11_dgv.AllowUserToAddRows = False SQL_採購核准11() : da.Fill(ds16) : 採購核准11_dgv.DataSource = ds16.Tables(0) : conn.Close() 採購核准11_dgv.Columns(0).FillWeight = 80 : 採購核准11_dgv.Columns(1).FillWeight = 45 : 採購核准11_dgv.Columns(2).FillWeight = 100 End Sub Private Sub Set_採購核准12() Dim ds16 As New DataSet : 採購核准12_dgv.DataSource = Nothing : ds16.Clear() : 採購核准12_dgv.AllowUserToAddRows = False SQL_採購核准12() : da.Fill(ds16) : 採購核准12_dgv.DataSource = ds16.Tables(0) : conn.Close() 採購核准12_dgv.Columns(0).FillWeight = 80 : 採購核准12_dgv.Columns(1).FillWeight = 45 : 採購核准12_dgv.Columns(2).FillWeight = 100 End Sub Private Sub Set_詢價單1() Dim ds16 As New DataSet : 詢價單_dgv.DataSource = Nothing : ds16.Clear() : 詢價單_dgv.AllowUserToAddRows = False SQL_採購單單數() : da.Fill(ds16) : 詢價單_dgv.DataSource = ds16.Tables(0) : conn.Close() 詢價單_dgv.Columns(0).FillWeight = 70 : 詢價單_dgv.Columns(1).FillWeight = 45 : 詢價單_dgv.Columns(2).FillWeight = 60 詢價單_dgv.Columns(3).FillWeight = 120 : 詢價單_dgv.Columns(4).FillWeight = 120 If 系統語言 = "繁體中文" Then : 詢價單_dgv.Columns(3).Visible = True : 詢價單_dgv.Columns(4).Visible = False Else : 詢價單_dgv.Columns(3).Visible = False : 詢價單_dgv.Columns(4).Visible = True : End If End Sub Private Sub Set_請購單() Dim ds16 As New DataSet : 請購單_dgv.DataSource = Nothing : ds16.Clear() : 請購單_dgv.AllowUserToAddRows = False SQL_請購單申請未核准單數() : da.Fill(ds16) : 請購單_dgv.DataSource = ds16.Tables(0) : conn.Close() 請購單_dgv.Columns(0).FillWeight = 70 : 請購單_dgv.Columns(1).FillWeight = 45 : 請購單_dgv.Columns(2).FillWeight = 60 請購單_dgv.Columns(3).FillWeight = 120 : 請購單_dgv.Columns(4).FillWeight = 120 If 系統語言 = "繁體中文" Then : 請購單_dgv.Columns(3).Visible = True : 請購單_dgv.Columns(4).Visible = False Else : 請購單_dgv.Columns(3).Visible = False : 請購單_dgv.Columns(4).Visible = True : End If End Sub Private Sub 初始化系統語言() If File.Exists(Application.StartupPath + "\LANGUAGE_FILE.csv") Then Dim filereader = My.Computer.FileSystem.OpenTextFileReader(Application.StartupPath + "\LANGUAGE_FILE.csv", System.Text.Encoding.Default) Dim line As String = filereader.ReadLine() While Not (line Is Nothing) line = filereader.ReadLine() If line <> Nothing Then line = line.Replace("""", "") : Dim separator As String = "-" : Dim result() As String = line.Split(separator) If result.Count > 4 Then Dim key As String = result(0).ToString() & "-" & result(1).ToString() & "-" & result(2).ToString() Dim value As String = result(3).ToString() For i As Integer = 4 To result.Count - 1 : value += "-" & result(i) : Next If value.EndsWith(",") Then : value = value.Substring(0, value.Length - 1) : End If : 系統語言字典.Add(key, value) Else Dim key As String = result(0).ToString() & "-" & result(1).ToString() & "-" & result(2).ToString() Dim value As String = result(3).ToString() If value.EndsWith(",") Then : value = value.Substring(0, value.Length - 1) : End If : 系統語言字典.Add(key, value) End If End If End While End If End Sub Private Sub Calculator_Backend_SYS_Load(sender As Object, e As EventArgs) Handles MyBase.Load 初始化系統語言() : 執行次數_tb.Text = "0" If SQL_連線狀態模組3.ConnectTest3("127.0.0.1,2433") = True Then 登入人IP1 = "127.0.0.1,2433" : Line通訊IP = "127.0.0.1,2433" : Line伺服器名稱 = "HX-LINE-AUTO" Else 登入人IP1 = "36.64.59.26,2433" : Line通訊IP = "36.64.59.26,2433" : Line伺服器名稱 = "HX-LINE-AUTO" End If SQL_連線字串_正式() : SQL_連線字串_正式_工程SQL() : SQL_連線字串_正式_管理SQL() SQL_連線字串_測試() : SQL_連線字串_測試_工程SQL() : SQL_連線字串_測試_管理SQL() Timer2.Enabled = True 在職 = True : 工人 = True : BL = True : 實際工資計算完成 = False : 沖帳工資計算完成 = False : 登入人級別 = "00" End Sub Private Sub Calculator_Backend_SYS_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown 天_ch.Checked = True : 周_ch.Checked = False : 月_ch.Checked = False Dim todayDate As DateTime = DateTime.Now Dim formattedDate As String = todayDate.ToString("yyyy/MM/dd") Dim dayOfWeek As String = todayDate.ToString("dddd", New CultureInfo("zh-TW")) 系統日期_tb.Text = formattedDate 星期_tb.Text = dayOfWeek DA1_bt.Text = "上一日" : DA2_bt.Text = "本日" : DA3_bt.Text = "下一日" 結束日期_dtp.Value = Today() : 開始日期_dtp.Value = 結束日期_dtp.Value Dim oldDate As Date : Dim oldWeekDay As Integer : oldDate = 結束日期_dtp.Value : oldWeekDay = Weekday(oldDate) If oldWeekDay = 7 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(1) ElseIf oldWeekDay = 6 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(2) ElseIf oldWeekDay = 5 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(3) ElseIf oldWeekDay = 4 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(4) ElseIf oldWeekDay = 3 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(5) ElseIf oldWeekDay = 2 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(6) End If : 開始日期_dtp.Value = 結束日期_dtp.Value.AddDays(-6) : 結束日期_dtp.Value = Today() 本周周一 = 開始日期_dtp.Value : 結束日期_dtp.Value = Today() : 開始日期_dtp.Value = 結束日期_dtp.Value 狀態1_ch.Text = "A組工人薪資表會總自動計算-週期 : 每日 - 狀態 : 未完成" : 狀態1_ch.ForeColor = Color.Red : 狀態1_ch.Checked = False 狀態2_ch.Text = "B組工人薪資表會總自動計算-週期 : 每日 - 狀態 : 未完成" : 狀態2_ch.ForeColor = Color.Red : 狀態2_ch.Checked = False 狀態3_ch.Text = "系統工作狀態會總自動計算-週期 : 每小時 - 狀態 : 未完成" : 狀態3_ch.ForeColor = Color.Red : 狀態3_ch.Checked = False 執行_bt.PerformClick() End Sub Private Sub DA1_bt_Click(sender As Object, e As EventArgs) Handles DA1_bt.Click If 天_ch.Checked = True And 周_ch.Checked = False And 月_ch.Checked = False Then 開始日期_dtp.Value = 開始日期_dtp.Value.AddDays(-1) : 結束日期_dtp.Value = 開始日期_dtp.Value 結束日期2_dtp.Value = 結束日期_dtp.Value : 開始日期2_dtp.Value = 開始日期_dtp.Value : 日期計算() ElseIf 天_ch.Checked = False And 周_ch.Checked = True And 月_ch.Checked = False Then If 開始日期_dtp.Value >= 本周周一 Then 開始日期_dtp.Value = 本周周一.AddDays(-7) : 結束日期_dtp.Value = 本周周一.AddDays(-1) ElseIf 開始日期_dtp.Value < 本周周一 Then 結束日期_dtp.Value = 開始日期_dtp.Value.AddDays(-1) : 開始日期_dtp.Value = 開始日期_dtp.Value.AddDays(-7) End If 結束日期2_dtp.Value = 結束日期_dtp.Value : 開始日期2_dtp.Value = 開始日期_dtp.Value : 日期計算() ElseIf 天_ch.Checked = False And 周_ch.Checked = False And 月_ch.Checked = True Then 開始日期_dtp.Value = 開始日期_dtp.Value.AddMonths(-1) : 結束日期_dtp.Value = 結束日期_dtp.Value.AddMonths(-1) DTP = Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 開始日期_dtp.Value = DTP '-------------日期二---------------------------------------------------------------------------------------- DTP = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 結束日期_dtp.Value = DTP 結束日期_dtp.Value = 結束日期_dtp.Value.AddMonths(1) : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(-1) 結束日期2_dtp.Value = 結束日期_dtp.Value : 開始日期2_dtp.Value = 開始日期_dtp.Value : 日期計算() End If End Sub Private Sub DA2_bt_Click(sender As Object, e As EventArgs) Handles DA2_bt.Click If 天_ch.Checked = True And 周_ch.Checked = False And 月_ch.Checked = False Then 結束日期_dtp.Value = Today() : 開始日期_dtp.Value = 結束日期_dtp.Value 結束日期2_dtp.Value = 結束日期_dtp.Value : 開始日期2_dtp.Value = 開始日期_dtp.Value : 日期計算() ElseIf 天_ch.Checked = False And 周_ch.Checked = True And 月_ch.Checked = False Then 結束日期_dtp.Value = Today() : 開始日期_dtp.Value = 結束日期_dtp.Value Dim oldDate As Date : Dim oldWeekDay As Integer : oldDate = 結束日期_dtp.Value : oldWeekDay = Weekday(oldDate) If oldWeekDay = 7 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(1) ElseIf oldWeekDay = 6 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(2) ElseIf oldWeekDay = 5 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(3) ElseIf oldWeekDay = 4 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(4) ElseIf oldWeekDay = 3 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(5) ElseIf oldWeekDay = 2 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(6) End If : 開始日期_dtp.Value = 結束日期_dtp.Value.AddDays(-6) : 結束日期_dtp.Value = Today() 結束日期2_dtp.Value = 結束日期_dtp.Value : 開始日期2_dtp.Value = 開始日期_dtp.Value : 日期計算() ElseIf 天_ch.Checked = False And 周_ch.Checked = False And 月_ch.Checked = True Then 開始日期_dtp.Value = Today() : 結束日期_dtp.Value = Today() DTP = Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 開始日期_dtp.Value = DTP '-------------日期二---------------------------------------------------------------------------------------- DTP = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 結束日期_dtp.Value = DTP 結束日期_dtp.Value = 結束日期_dtp.Value.AddMonths(1) : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(-1) 結束日期2_dtp.Value = 結束日期_dtp.Value : 開始日期2_dtp.Value = 開始日期_dtp.Value : 日期計算() End If End Sub Private Sub DA3_bt_Click(sender As Object, e As EventArgs) Handles DA3_bt.Click If 天_ch.Checked = True And 周_ch.Checked = False And 月_ch.Checked = False Then 開始日期_dtp.Value = 開始日期_dtp.Value.AddDays(+1) : 結束日期_dtp.Value = 開始日期_dtp.Value 結束日期2_dtp.Value = 結束日期_dtp.Value : 開始日期2_dtp.Value = 開始日期_dtp.Value : 日期計算() ElseIf 天_ch.Checked = False And 周_ch.Checked = True And 月_ch.Checked = False Then If 開始日期_dtp.Value <= 本周周一 Then 開始日期_dtp.Value = 本周周一.AddDays(+7) : 結束日期_dtp.Value = 本周周一.AddDays(+13) ElseIf 開始日期_dtp.Value > 本周周一 Then 結束日期_dtp.Value = 開始日期_dtp.Value.AddDays(+13) : 開始日期_dtp.Value = 開始日期_dtp.Value.AddDays(+7) End If 結束日期2_dtp.Value = 結束日期_dtp.Value : 開始日期2_dtp.Value = 開始日期_dtp.Value : 日期計算() ElseIf 天_ch.Checked = False And 周_ch.Checked = False And 月_ch.Checked = True Then 開始日期_dtp.Value = 開始日期_dtp.Value.AddMonths(1) : 結束日期_dtp.Value = 結束日期_dtp.Value.AddMonths(1) DTP = Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 開始日期_dtp.Value = DTP '-------------日期二---------------------------------------------------------------------------------------- DTP = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 結束日期_dtp.Value = DTP 結束日期_dtp.Value = 結束日期_dtp.Value.AddMonths(1) : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(-1) 結束日期2_dtp.Value = 結束日期_dtp.Value : 開始日期2_dtp.Value = 開始日期_dtp.Value : 日期計算() End If End Sub Private Sub 日期計算() Dim todayDate As DateTime = 開始日期_dtp.Value Dim formattedDate As String = todayDate.ToString("yyyy/MM/dd") Dim dayOfWeek As String = todayDate.ToString("dddd", New CultureInfo("zh-TW")) 系統日期_tb.Text = formattedDate 星期_tb.Text = dayOfWeek End Sub Private Sub 天_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 天_ch.Click 天_ch.Checked = True : 周_ch.Checked = False : 月_ch.Checked = False DA1_bt.Text = "上一日" : DA2_bt.Text = "本日" : DA3_bt.Text = "下一日" DA2_bt.PerformClick() End Sub Private Sub 周_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 周_ch.Click 天_ch.Checked = False : 周_ch.Checked = True : 月_ch.Checked = False DA1_bt.Text = "上一週" : DA2_bt.Text = "本週" : DA3_bt.Text = "下一週" DA2_bt.PerformClick() End Sub Private Sub 月_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 月_ch.Click 開始日期_dtp.Value = Today() : 結束日期_dtp.Value = Today() DTP = Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 開始日期_dtp.Value = DTP '-------------日期二---------------------------------------------------------------------------------------- DTP = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 結束日期_dtp.Value = DTP 結束日期_dtp.Value = 結束日期_dtp.Value.AddMonths(1) : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(-1) 天_ch.Checked = False : 周_ch.Checked = False : 月_ch.Checked = True DA1_bt.Text = "上一月" : DA2_bt.Text = "本月" : DA3_bt.Text = "下一月" DA2_bt.PerformClick() End Sub Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick If 實際工資計算完成 = False Then 狀態1_ch.Text = "A組工人薪資表會總自動計算-週期 : 每日 - 狀態 : 未完成" : 狀態1_ch.ForeColor = Color.Red : 狀態1_ch.Checked = False 首次開啟 = True : 人員薪資_實際.Show() : 執行次數_tb.Text = Strings.Format(CInt(執行次數_tb.Text) + 1, "#,##0") ElseIf 實際工資計算完成 = True Then 狀態1_ch.Text = "A組工人薪資表會總自動計算-週期 : 每日 - 狀態 : 已完成" : 狀態1_ch.ForeColor = Color.Green : 狀態1_ch.Checked = True End If If 人員薪資_實際.Visible = True Then : Else If 沖帳工資計算完成 = False Then 狀態2_ch.Text = "B組工人薪資表會總自動計算-週期 : 每日 - 狀態 : 未完成" : 狀態2_ch.ForeColor = Color.Red : 狀態2_ch.Checked = False 首次開啟 = True : BL = False : 人員薪資_沖帳.Show() : BL = True : 執行次數_tb.Text = Strings.Format(CInt(執行次數_tb.Text) + 1, "#,##0") ElseIf 沖帳工資計算完成 = True Then 狀態2_ch.Text = "B組工人薪資表會總自動計算-週期 : 每日 - 狀態 : 已完成" : 狀態2_ch.ForeColor = Color.Green : 狀態2_ch.Checked = True End If End If If 工作狀態計算完成 = False Then 狀態3_ch.Text = "系統工作狀態會總自動計算-週期 : 每小時 - 狀態 : 未完成" : 狀態3_ch.ForeColor = Color.Red : 狀態3_ch.Checked = False '----------------------------讀取資料--------------------------------------------------------------------------------------------------------- Set_合約未請款1() : Set_合約未請款2() : Set_合約未請款3() : Set_合約未請款4() : Set_合約未請款5() : Set_合約未設利潤() : Set_合約未放行() Set_合約未簽回() : Set_報價未簽回() : Set_報價未完成() : Set_請購單() : Set_詢價單1() : Set_採購核准11() : Set_採購核准12() Set_工程進度表未開() : Set_合約未指定主管() : Set_合約未驗收() : Set_合約驗收單未簽回() : Set_合約保固單未簽() '----------------------------寫入資料--------------------------------------------------------------------------------------------------------- SQL_工作狀態匯總表_刪除() SQL2 = "(N'合約預估利潤', N'" & 合約預估利潤_dgv.Rows.Count & "'), (N'報價未完成', N'" & 報價未完成_dgv.Rows.Count & "'), (N'合約未放行', N'" & 合約未放行_dgv.Rows.Count & "'), (N'報價未簽回', N'" & 報價未簽回_dgv.Rows.Count & "'), (N'合約未簽回', N'" & 合約未簽回_dgv.Rows.Count & "'), (N'合約請款1', N'" & 合約請款1_dgv.Rows.Count & "'), (N'合約請款2', N'" & 合約請款2_dgv.Rows.Count & "'), (N'合約請款3', N'" & 合約請款3_dgv.Rows.Count & "'), (N'合約請款4', N'" & 合約請款4_dgv.Rows.Count & "'), (N'合約請款5', N'" & 合約請款5_dgv.Rows.Count & "'), (N'合約未指定主管', N'" & 合約未指定主管_dgv.Rows.Count & "'), (N'未開工程進度表', N'" & 未開工程進度表_dgv.Rows.Count & "'), (N'合約未驗收', N'" & 合約未驗收_dgv.Rows.Count & "'), (N'驗收未簽回', N'" & 驗收未簽回_dgv.Rows.Count & "'), (N'保固未簽回', N'" & 保固未簽回_dgv.Rows.Count & "'), (N'請購單', N'" & 請購單_dgv.Rows.Count & "'), (N'詢價單', N'" & 詢價單_dgv.Rows.Count & "'), (N'採購核准11', N'" & 採購核准11_dgv.Rows.Count & "'), (N'採購核准12', N'" & 採購核准12_dgv.Rows.Count & "')" SQL_工作狀態匯總表_寫入() : 時機_tb.Text = 系統時間_tb.Text : 工作狀態計算完成 = True 執行次數_tb.Text = Strings.Format(CInt(執行次數_tb.Text) + 1, "#,##0") ElseIf 工作狀態計算完成 = True Then 狀態3_ch.Text = "系統工作狀態-匯總自動計算-週期 : 每小時 - 狀態 : 已完成" : 狀態3_ch.ForeColor = Color.Green : 狀態3_ch.Checked = True End If PA = Strings.Format(Today(), "yyyy/MM/dd") : If PA <> 系統日期_tb.Text Then : 實際工資計算完成 = False : 沖帳工資計算完成 = False : End If PA = DateTime.Now.ToString("hh:mm:ss") : If Strings.Left(PA, 2) <> Strings.Left(時機_tb.Text, 2) Then : 工作狀態計算完成 = False : 工作狀態計算完成 = False : End If 系統日期_tb.Text = Strings.Format(Today(), "yyyy/MM/dd") End Sub Private Sub 執行_bt_Click(sender As Object, e As EventArgs) Handles 執行_bt.Click GroupBox1.Text = "自動模式 - 已啟動" : GroupBox1.ForeColor = Color.Blue Timer1.Enabled = True End Sub Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick 系統時間_tb.Text = DateTime.Now.ToString("hh:mm:ss") End Sub End Class