No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Calculator-Backend-SYS.vb 31KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356
  1. Imports System.Globalization
  2. Imports System.IO
  3. Public Class Calculator_Backend_SYS
  4. Dim 本周周一 As Date
  5. Dim 對話框(22) As String
  6. Private Sub Set_報價未完成()
  7. Dim ds16 As New DataSet : 報價未完成_dgv.DataSource = Nothing : ds16.Clear() : 報價未完成_dgv.AllowUserToAddRows = False
  8. SQL_報價未完成() : da.Fill(ds16) : 報價未完成_dgv.DataSource = ds16.Tables(0) : conn.Close()
  9. 報價未完成_dgv.Columns(0).FillWeight = 70 : 報價未完成_dgv.Columns(1).FillWeight = 45 : 報價未完成_dgv.Columns(2).FillWeight = 120
  10. 報價未完成_dgv.Columns(3).FillWeight = 120
  11. If 系統語言 = "繁體中文" Then : 報價未完成_dgv.Columns(2).Visible = True : 報價未完成_dgv.Columns(3).Visible = False
  12. Else : 報價未完成_dgv.Columns(2).Visible = False : 報價未完成_dgv.Columns(3).Visible = True : End If
  13. End Sub
  14. Private Sub Set_報價未簽回()
  15. Dim ds16 As New DataSet : 報價未簽回_dgv.DataSource = Nothing : ds16.Clear() : 報價未簽回_dgv.AllowUserToAddRows = False
  16. SQL_報價未簽回() : da.Fill(ds16) : 報價未簽回_dgv.DataSource = ds16.Tables(0) : conn.Close()
  17. 報價未簽回_dgv.Columns(0).FillWeight = 70 : 報價未簽回_dgv.Columns(1).FillWeight = 45 : 報價未簽回_dgv.Columns(2).FillWeight = 120
  18. 報價未簽回_dgv.Columns(3).FillWeight = 120
  19. If 系統語言 = "繁體中文" Then : 報價未簽回_dgv.Columns(2).Visible = True : 報價未簽回_dgv.Columns(3).Visible = False
  20. Else : 報價未簽回_dgv.Columns(2).Visible = False : 報價未簽回_dgv.Columns(3).Visible = True : End If
  21. End Sub
  22. Private Sub Set_合約未簽回()
  23. Dim ds16 As New DataSet : 合約未簽回_dgv.DataSource = Nothing : ds16.Clear() : 合約未簽回_dgv.AllowUserToAddRows = False
  24. SQL_合約未簽回() : da.Fill(ds16) : 合約未簽回_dgv.DataSource = ds16.Tables(0) : conn.Close()
  25. 合約未簽回_dgv.Columns(0).FillWeight = 70 : 合約未簽回_dgv.Columns(1).FillWeight = 45 : 合約未簽回_dgv.Columns(2).FillWeight = 120
  26. 合約未簽回_dgv.Columns(3).FillWeight = 120
  27. If 系統語言 = "繁體中文" Then : 合約未簽回_dgv.Columns(2).Visible = True : 合約未簽回_dgv.Columns(3).Visible = False
  28. Else : 合約未簽回_dgv.Columns(2).Visible = False : 合約未簽回_dgv.Columns(3).Visible = True : End If
  29. End Sub
  30. Private Sub Set_合約驗收單未簽回()
  31. Dim ds16 As New DataSet : 驗收未簽回_dgv.DataSource = Nothing : ds16.Clear() : 驗收未簽回_dgv.AllowUserToAddRows = False
  32. SQL_合約驗收單未簽回() : da.Fill(ds16) : 驗收未簽回_dgv.DataSource = ds16.Tables(0) : conn.Close()
  33. 驗收未簽回_dgv.Columns(0).FillWeight = 70 : 驗收未簽回_dgv.Columns(1).FillWeight = 45 : 驗收未簽回_dgv.Columns(2).FillWeight = 120
  34. 驗收未簽回_dgv.Columns(3).FillWeight = 120
  35. If 系統語言 = "繁體中文" Then : 驗收未簽回_dgv.Columns(2).Visible = True : 驗收未簽回_dgv.Columns(3).Visible = False
  36. Else : 驗收未簽回_dgv.Columns(2).Visible = False : 驗收未簽回_dgv.Columns(3).Visible = True : End If
  37. End Sub
  38. Private Sub Set_合約保固單未簽()
  39. Dim ds16 As New DataSet : 保固未簽回_dgv.DataSource = Nothing : ds16.Clear() : 保固未簽回_dgv.AllowUserToAddRows = False
  40. SQL_合約保固未簽() : da.Fill(ds16) : 保固未簽回_dgv.DataSource = ds16.Tables(0) : conn.Close()
  41. 保固未簽回_dgv.Columns(0).FillWeight = 70 : 保固未簽回_dgv.Columns(1).FillWeight = 45 : 保固未簽回_dgv.Columns(2).FillWeight = 120
  42. 保固未簽回_dgv.Columns(3).FillWeight = 120
  43. If 系統語言 = "繁體中文" Then : 保固未簽回_dgv.Columns(2).Visible = True : 保固未簽回_dgv.Columns(3).Visible = False
  44. Else : 保固未簽回_dgv.Columns(2).Visible = False : 保固未簽回_dgv.Columns(3).Visible = True : End If
  45. End Sub
  46. Private Sub Set_工程進度表未開()
  47. Dim ds16 As New DataSet
  48. 未開工程進度表_dgv.DataSource = Nothing : ds16.Clear() : 未開工程進度表_dgv.AllowUserToAddRows = False
  49. SQL_工程進度表未開() : da.Fill(ds16) : 未開工程進度表_dgv.DataSource = ds16.Tables(0) : conn.Close()
  50. 未開工程進度表_dgv.Columns(0).FillWeight = 70 : 未開工程進度表_dgv.Columns(1).FillWeight = 45 : 未開工程進度表_dgv.Columns(2).FillWeight = 120
  51. 未開工程進度表_dgv.Columns(3).FillWeight = 120
  52. If 系統語言 = "繁體中文" Then : 未開工程進度表_dgv.Columns(2).Visible = True : 未開工程進度表_dgv.Columns(3).Visible = False
  53. Else : 未開工程進度表_dgv.Columns(2).Visible = False : 未開工程進度表_dgv.Columns(3).Visible = True : End If
  54. End Sub
  55. Private Sub Set_合約未指定主管()
  56. Dim ds16 As New DataSet : 合約未指定主管_dgv.DataSource = Nothing : ds16.Clear() : 合約未指定主管_dgv.AllowUserToAddRows = False
  57. SQL_合約未指定主管() : da.Fill(ds16) : 合約未指定主管_dgv.DataSource = ds16.Tables(0) : conn.Close()
  58. 合約未指定主管_dgv.Columns(0).FillWeight = 70 : 合約未指定主管_dgv.Columns(1).FillWeight = 45 : 合約未指定主管_dgv.Columns(2).FillWeight = 120
  59. 合約未指定主管_dgv.Columns(3).FillWeight = 120
  60. If 系統語言 = "繁體中文" Then : 合約未指定主管_dgv.Columns(2).Visible = True : 合約未指定主管_dgv.Columns(3).Visible = False
  61. Else : 合約未指定主管_dgv.Columns(2).Visible = False : 合約未指定主管_dgv.Columns(3).Visible = True : End If
  62. End Sub
  63. Private Sub Set_合約未設利潤()
  64. Dim ds16 As New DataSet : 合約預估利潤_dgv.DataSource = Nothing : ds16.Clear() : 合約預估利潤_dgv.AllowUserToAddRows = False
  65. SQL_合約未設利潤() : da.Fill(ds16) : 合約預估利潤_dgv.DataSource = ds16.Tables(0) : conn.Close()
  66. 合約預估利潤_dgv.Columns(0).FillWeight = 70 : 合約預估利潤_dgv.Columns(1).FillWeight = 45 : 合約預估利潤_dgv.Columns(2).FillWeight = 120
  67. 合約預估利潤_dgv.Columns(3).FillWeight = 120
  68. If 系統語言 = "繁體中文" Then : 合約預估利潤_dgv.Columns(2).Visible = True : 合約預估利潤_dgv.Columns(3).Visible = False
  69. Else : 合約預估利潤_dgv.Columns(2).Visible = False : 合約預估利潤_dgv.Columns(3).Visible = True : End If
  70. End Sub
  71. Private Sub Set_合約未放行()
  72. Dim ds16 As New DataSet : 合約未放行_dgv.DataSource = Nothing : ds16.Clear() : 合約未放行_dgv.AllowUserToAddRows = False
  73. SQL_合約未放行() : da.Fill(ds16) : 合約未放行_dgv.DataSource = ds16.Tables(0) : conn.Close()
  74. 合約未放行_dgv.Columns(0).FillWeight = 70 : 合約未放行_dgv.Columns(1).FillWeight = 45 : 合約未放行_dgv.Columns(2).FillWeight = 120
  75. 合約未放行_dgv.Columns(3).FillWeight = 120
  76. If 系統語言 = "繁體中文" Then : 合約未放行_dgv.Columns(2).Visible = True : 合約未放行_dgv.Columns(3).Visible = False
  77. Else : 合約未放行_dgv.Columns(2).Visible = False : 合約未放行_dgv.Columns(3).Visible = True : End If
  78. End Sub
  79. Private Sub Set_合約未驗收()
  80. Dim ds16 As New DataSet : 合約未驗收_dgv.DataSource = Nothing : ds16.Clear() : 合約未驗收_dgv.AllowUserToAddRows = False
  81. SQL_合約未驗收() : da.Fill(ds16) : 合約未驗收_dgv.DataSource = ds16.Tables(0) : conn.Close()
  82. 合約未驗收_dgv.Columns(0).FillWeight = 70 : 合約未驗收_dgv.Columns(1).FillWeight = 45 : 合約未驗收_dgv.Columns(2).FillWeight = 120
  83. 合約未驗收_dgv.Columns(3).FillWeight = 120
  84. If 系統語言 = "繁體中文" Then : 合約未驗收_dgv.Columns(2).Visible = True : 合約未驗收_dgv.Columns(3).Visible = False
  85. Else : 合約未驗收_dgv.Columns(2).Visible = False : 合約未驗收_dgv.Columns(3).Visible = True : End If
  86. End Sub
  87. Private Sub Set_合約未請款5()
  88. Dim ds16 As New DataSet : 合約請款5_dgv.DataSource = Nothing : ds16.Clear() : 合約請款5_dgv.AllowUserToAddRows = False
  89. SQL_合約未請款5() : da.Fill(ds16) : 合約請款5_dgv.DataSource = ds16.Tables(0) : conn.Close()
  90. 合約請款5_dgv.Columns(0).FillWeight = 70 : 合約請款5_dgv.Columns(1).FillWeight = 45 : 合約請款5_dgv.Columns(2).FillWeight = 120
  91. 合約請款5_dgv.Columns(3).FillWeight = 120
  92. If 系統語言 = "繁體中文" Then : 合約請款5_dgv.Columns(2).Visible = True : 合約請款5_dgv.Columns(3).Visible = False
  93. Else : 合約請款5_dgv.Columns(2).Visible = False : 合約請款5_dgv.Columns(3).Visible = True : End If
  94. End Sub
  95. Private Sub Set_合約未請款4()
  96. Dim ds16 As New DataSet : 合約請款4_dgv.DataSource = Nothing : ds16.Clear() : 合約請款4_dgv.AllowUserToAddRows = False
  97. SQL_合約未請款4() : da.Fill(ds16) : 合約請款4_dgv.DataSource = ds16.Tables(0) : conn.Close()
  98. 合約請款4_dgv.Columns(0).FillWeight = 70 : 合約請款4_dgv.Columns(1).FillWeight = 45 : 合約請款4_dgv.Columns(2).FillWeight = 120
  99. 合約請款4_dgv.Columns(3).FillWeight = 120
  100. If 系統語言 = "繁體中文" Then : 合約請款4_dgv.Columns(2).Visible = True : 合約請款4_dgv.Columns(3).Visible = False
  101. Else : 合約請款4_dgv.Columns(2).Visible = False : 合約請款4_dgv.Columns(3).Visible = True : End If
  102. End Sub
  103. Private Sub Set_合約未請款3()
  104. Dim ds16 As New DataSet : 合約請款3_dgv.DataSource = Nothing : ds16.Clear() : 合約請款3_dgv.AllowUserToAddRows = False
  105. SQL_合約未請款3() : da.Fill(ds16) : 合約請款3_dgv.DataSource = ds16.Tables(0) : conn.Close()
  106. 合約請款3_dgv.Columns(0).FillWeight = 70 : 合約請款3_dgv.Columns(1).FillWeight = 45 : 合約請款3_dgv.Columns(2).FillWeight = 120
  107. 合約請款3_dgv.Columns(3).FillWeight = 120
  108. If 系統語言 = "繁體中文" Then : 合約請款3_dgv.Columns(2).Visible = True : 合約請款3_dgv.Columns(3).Visible = False
  109. Else : 合約請款3_dgv.Columns(2).Visible = False : 合約請款3_dgv.Columns(3).Visible = True : End If
  110. End Sub
  111. Private Sub Set_合約未請款2()
  112. Dim ds16 As New DataSet : 合約請款2_dgv.DataSource = Nothing : ds16.Clear() : 合約請款2_dgv.AllowUserToAddRows = False
  113. SQL_合約未請款2() : da.Fill(ds16) : 合約請款2_dgv.DataSource = ds16.Tables(0) : conn.Close()
  114. 合約請款2_dgv.Columns(0).FillWeight = 70 : 合約請款2_dgv.Columns(1).FillWeight = 45 : 合約請款2_dgv.Columns(2).FillWeight = 120
  115. 合約請款2_dgv.Columns(3).FillWeight = 120
  116. If 系統語言 = "繁體中文" Then : 合約請款2_dgv.Columns(2).Visible = True : 合約請款2_dgv.Columns(3).Visible = False
  117. Else : 合約請款2_dgv.Columns(2).Visible = False : 合約請款2_dgv.Columns(3).Visible = True : End If
  118. End Sub
  119. Private Sub Set_合約未請款1()
  120. Dim ds16 As New DataSet : 合約請款1_dgv.DataSource = Nothing : ds16.Clear() : 合約請款1_dgv.AllowUserToAddRows = False
  121. SQL_合約未請款1() : da.Fill(ds16) : 合約請款1_dgv.DataSource = ds16.Tables(0) : conn.Close()
  122. 合約請款1_dgv.Columns(0).FillWeight = 70 : 合約請款1_dgv.Columns(1).FillWeight = 45 : 合約請款1_dgv.Columns(2).FillWeight = 120
  123. 合約請款1_dgv.Columns(3).FillWeight = 120
  124. If 系統語言 = "繁體中文" Then : 合約請款1_dgv.Columns(2).Visible = True : 合約請款1_dgv.Columns(3).Visible = False
  125. Else : 合約請款1_dgv.Columns(2).Visible = False : 合約請款1_dgv.Columns(3).Visible = True : End If
  126. End Sub
  127. Private Sub Set_採購核准11()
  128. Dim ds16 As New DataSet : 採購核准11_dgv.DataSource = Nothing : ds16.Clear() : 採購核准11_dgv.AllowUserToAddRows = False
  129. SQL_採購核准11() : da.Fill(ds16) : 採購核准11_dgv.DataSource = ds16.Tables(0) : conn.Close()
  130. 採購核准11_dgv.Columns(0).FillWeight = 80 : 採購核准11_dgv.Columns(1).FillWeight = 45 : 採購核准11_dgv.Columns(2).FillWeight = 100
  131. End Sub
  132. Private Sub Set_採購核准12()
  133. Dim ds16 As New DataSet : 採購核准12_dgv.DataSource = Nothing : ds16.Clear() : 採購核准12_dgv.AllowUserToAddRows = False
  134. SQL_採購核准12() : da.Fill(ds16) : 採購核准12_dgv.DataSource = ds16.Tables(0) : conn.Close()
  135. 採購核准12_dgv.Columns(0).FillWeight = 80 : 採購核准12_dgv.Columns(1).FillWeight = 45 : 採購核准12_dgv.Columns(2).FillWeight = 100
  136. End Sub
  137. Private Sub Set_詢價單1()
  138. Dim ds16 As New DataSet : 詢價單_dgv.DataSource = Nothing : ds16.Clear() : 詢價單_dgv.AllowUserToAddRows = False
  139. SQL_採購單單數() : da.Fill(ds16) : 詢價單_dgv.DataSource = ds16.Tables(0) : conn.Close()
  140. 詢價單_dgv.Columns(0).FillWeight = 70 : 詢價單_dgv.Columns(1).FillWeight = 45 : 詢價單_dgv.Columns(2).FillWeight = 60
  141. 詢價單_dgv.Columns(3).FillWeight = 120 : 詢價單_dgv.Columns(4).FillWeight = 120
  142. If 系統語言 = "繁體中文" Then : 詢價單_dgv.Columns(3).Visible = True : 詢價單_dgv.Columns(4).Visible = False
  143. Else : 詢價單_dgv.Columns(3).Visible = False : 詢價單_dgv.Columns(4).Visible = True : End If
  144. End Sub
  145. Private Sub Set_請購單()
  146. Dim ds16 As New DataSet : 請購單_dgv.DataSource = Nothing : ds16.Clear() : 請購單_dgv.AllowUserToAddRows = False
  147. SQL_請購單申請未核准單數() : da.Fill(ds16) : 請購單_dgv.DataSource = ds16.Tables(0) : conn.Close()
  148. 請購單_dgv.Columns(0).FillWeight = 70 : 請購單_dgv.Columns(1).FillWeight = 45 : 請購單_dgv.Columns(2).FillWeight = 60
  149. 請購單_dgv.Columns(3).FillWeight = 120 : 請購單_dgv.Columns(4).FillWeight = 120
  150. If 系統語言 = "繁體中文" Then : 請購單_dgv.Columns(3).Visible = True : 請購單_dgv.Columns(4).Visible = False
  151. Else : 請購單_dgv.Columns(3).Visible = False : 請購單_dgv.Columns(4).Visible = True : End If
  152. End Sub
  153. Private Sub 初始化系統語言()
  154. If File.Exists(Application.StartupPath + "\LANGUAGE_FILE.csv") Then
  155. Dim filereader = My.Computer.FileSystem.OpenTextFileReader(Application.StartupPath + "\LANGUAGE_FILE.csv", System.Text.Encoding.Default)
  156. Dim line As String = filereader.ReadLine()
  157. While Not (line Is Nothing)
  158. line = filereader.ReadLine()
  159. If line <> Nothing Then
  160. line = line.Replace("""", "") : Dim separator As String = "-" : Dim result() As String = line.Split(separator)
  161. If result.Count > 4 Then
  162. Dim key As String = result(0).ToString() & "-" & result(1).ToString() & "-" & result(2).ToString()
  163. Dim value As String = result(3).ToString()
  164. For i As Integer = 4 To result.Count - 1 : value += "-" & result(i) : Next
  165. If value.EndsWith(",") Then : value = value.Substring(0, value.Length - 1) : End If : 系統語言字典.Add(key, value)
  166. Else
  167. Dim key As String = result(0).ToString() & "-" & result(1).ToString() & "-" & result(2).ToString()
  168. Dim value As String = result(3).ToString()
  169. If value.EndsWith(",") Then : value = value.Substring(0, value.Length - 1) : End If : 系統語言字典.Add(key, value)
  170. End If
  171. End If
  172. End While
  173. End If
  174. End Sub
  175. Private Sub Calculator_Backend_SYS_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  176. 初始化系統語言() : 執行次數_tb.Text = "0"
  177. If SQL_連線狀態模組3.ConnectTest3("127.0.0.1,2433") = True Then
  178. 登入人IP1 = "127.0.0.1,2433" : Line通訊IP = "127.0.0.1,2433" : Line伺服器名稱 = "HX-LINE-AUTO"
  179. Else
  180. 登入人IP1 = "36.64.59.26,2433" : Line通訊IP = "36.64.59.26,2433" : Line伺服器名稱 = "HX-LINE-AUTO"
  181. End If
  182. SQL_連線字串_正式() : SQL_連線字串_正式_工程SQL() : SQL_連線字串_正式_管理SQL()
  183. SQL_連線字串_測試() : SQL_連線字串_測試_工程SQL() : SQL_連線字串_測試_管理SQL()
  184. Timer2.Enabled = True
  185. 在職 = True : 工人 = True : BL = True : 實際工資計算完成 = False : 沖帳工資計算完成 = False : 登入人級別 = "00"
  186. End Sub
  187. Private Sub Calculator_Backend_SYS_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  188. 天_ch.Checked = True : 周_ch.Checked = False : 月_ch.Checked = False
  189. Dim todayDate As DateTime = DateTime.Now
  190. Dim formattedDate As String = todayDate.ToString("yyyy/MM/dd")
  191. Dim dayOfWeek As String = todayDate.ToString("dddd", New CultureInfo("zh-TW"))
  192. 系統日期_tb.Text = formattedDate
  193. 星期_tb.Text = dayOfWeek
  194. DA1_bt.Text = "上一日" : DA2_bt.Text = "本日" : DA3_bt.Text = "下一日"
  195. 結束日期_dtp.Value = Today() : 開始日期_dtp.Value = 結束日期_dtp.Value
  196. Dim oldDate As Date : Dim oldWeekDay As Integer : oldDate = 結束日期_dtp.Value : oldWeekDay = Weekday(oldDate)
  197. If oldWeekDay = 7 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(1)
  198. ElseIf oldWeekDay = 6 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(2)
  199. ElseIf oldWeekDay = 5 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(3)
  200. ElseIf oldWeekDay = 4 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(4)
  201. ElseIf oldWeekDay = 3 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(5)
  202. ElseIf oldWeekDay = 2 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(6)
  203. End If : 開始日期_dtp.Value = 結束日期_dtp.Value.AddDays(-6) : 結束日期_dtp.Value = Today()
  204. 本周周一 = 開始日期_dtp.Value : 結束日期_dtp.Value = Today() : 開始日期_dtp.Value = 結束日期_dtp.Value
  205. 狀態1_ch.Text = "A組工人薪資表會總自動計算-週期 : 每日 - 狀態 : 未完成" : 狀態1_ch.ForeColor = Color.Red : 狀態1_ch.Checked = False
  206. 狀態2_ch.Text = "B組工人薪資表會總自動計算-週期 : 每日 - 狀態 : 未完成" : 狀態2_ch.ForeColor = Color.Red : 狀態2_ch.Checked = False
  207. 狀態3_ch.Text = "系統工作狀態會總自動計算-週期 : 每小時 - 狀態 : 未完成" : 狀態3_ch.ForeColor = Color.Red : 狀態3_ch.Checked = False
  208. 執行_bt.PerformClick()
  209. End Sub
  210. Private Sub DA1_bt_Click(sender As Object, e As EventArgs) Handles DA1_bt.Click
  211. If 天_ch.Checked = True And 周_ch.Checked = False And 月_ch.Checked = False Then
  212. 開始日期_dtp.Value = 開始日期_dtp.Value.AddDays(-1) : 結束日期_dtp.Value = 開始日期_dtp.Value
  213. 結束日期2_dtp.Value = 結束日期_dtp.Value : 開始日期2_dtp.Value = 開始日期_dtp.Value : 日期計算()
  214. ElseIf 天_ch.Checked = False And 周_ch.Checked = True And 月_ch.Checked = False Then
  215. If 開始日期_dtp.Value >= 本周周一 Then
  216. 開始日期_dtp.Value = 本周周一.AddDays(-7) : 結束日期_dtp.Value = 本周周一.AddDays(-1)
  217. ElseIf 開始日期_dtp.Value < 本周周一 Then
  218. 結束日期_dtp.Value = 開始日期_dtp.Value.AddDays(-1) : 開始日期_dtp.Value = 開始日期_dtp.Value.AddDays(-7)
  219. End If
  220. 結束日期2_dtp.Value = 結束日期_dtp.Value : 開始日期2_dtp.Value = 開始日期_dtp.Value : 日期計算()
  221. ElseIf 天_ch.Checked = False And 周_ch.Checked = False And 月_ch.Checked = True Then
  222. 開始日期_dtp.Value = 開始日期_dtp.Value.AddMonths(-1) : 結束日期_dtp.Value = 結束日期_dtp.Value.AddMonths(-1)
  223. DTP = Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 開始日期_dtp.Value = DTP
  224. '-------------日期二----------------------------------------------------------------------------------------
  225. DTP = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 結束日期_dtp.Value = DTP
  226. 結束日期_dtp.Value = 結束日期_dtp.Value.AddMonths(1) : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(-1)
  227. 結束日期2_dtp.Value = 結束日期_dtp.Value : 開始日期2_dtp.Value = 開始日期_dtp.Value : 日期計算()
  228. End If
  229. End Sub
  230. Private Sub DA2_bt_Click(sender As Object, e As EventArgs) Handles DA2_bt.Click
  231. If 天_ch.Checked = True And 周_ch.Checked = False And 月_ch.Checked = False Then
  232. 結束日期_dtp.Value = Today() : 開始日期_dtp.Value = 結束日期_dtp.Value
  233. 結束日期2_dtp.Value = 結束日期_dtp.Value : 開始日期2_dtp.Value = 開始日期_dtp.Value : 日期計算()
  234. ElseIf 天_ch.Checked = False And 周_ch.Checked = True And 月_ch.Checked = False Then
  235. 結束日期_dtp.Value = Today() : 開始日期_dtp.Value = 結束日期_dtp.Value
  236. Dim oldDate As Date : Dim oldWeekDay As Integer : oldDate = 結束日期_dtp.Value : oldWeekDay = Weekday(oldDate)
  237. If oldWeekDay = 7 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(1)
  238. ElseIf oldWeekDay = 6 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(2)
  239. ElseIf oldWeekDay = 5 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(3)
  240. ElseIf oldWeekDay = 4 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(4)
  241. ElseIf oldWeekDay = 3 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(5)
  242. ElseIf oldWeekDay = 2 Then : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(6)
  243. End If : 開始日期_dtp.Value = 結束日期_dtp.Value.AddDays(-6) : 結束日期_dtp.Value = Today()
  244. 結束日期2_dtp.Value = 結束日期_dtp.Value : 開始日期2_dtp.Value = 開始日期_dtp.Value : 日期計算()
  245. ElseIf 天_ch.Checked = False And 周_ch.Checked = False And 月_ch.Checked = True Then
  246. 開始日期_dtp.Value = Today() : 結束日期_dtp.Value = Today()
  247. DTP = Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 開始日期_dtp.Value = DTP
  248. '-------------日期二----------------------------------------------------------------------------------------
  249. DTP = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 結束日期_dtp.Value = DTP
  250. 結束日期_dtp.Value = 結束日期_dtp.Value.AddMonths(1) : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(-1)
  251. 結束日期2_dtp.Value = 結束日期_dtp.Value : 開始日期2_dtp.Value = 開始日期_dtp.Value : 日期計算()
  252. End If
  253. End Sub
  254. Private Sub DA3_bt_Click(sender As Object, e As EventArgs) Handles DA3_bt.Click
  255. If 天_ch.Checked = True And 周_ch.Checked = False And 月_ch.Checked = False Then
  256. 開始日期_dtp.Value = 開始日期_dtp.Value.AddDays(+1) : 結束日期_dtp.Value = 開始日期_dtp.Value
  257. 結束日期2_dtp.Value = 結束日期_dtp.Value : 開始日期2_dtp.Value = 開始日期_dtp.Value : 日期計算()
  258. ElseIf 天_ch.Checked = False And 周_ch.Checked = True And 月_ch.Checked = False Then
  259. If 開始日期_dtp.Value <= 本周周一 Then
  260. 開始日期_dtp.Value = 本周周一.AddDays(+7) : 結束日期_dtp.Value = 本周周一.AddDays(+13)
  261. ElseIf 開始日期_dtp.Value > 本周周一 Then
  262. 結束日期_dtp.Value = 開始日期_dtp.Value.AddDays(+13) : 開始日期_dtp.Value = 開始日期_dtp.Value.AddDays(+7)
  263. End If
  264. 結束日期2_dtp.Value = 結束日期_dtp.Value : 開始日期2_dtp.Value = 開始日期_dtp.Value : 日期計算()
  265. ElseIf 天_ch.Checked = False And 周_ch.Checked = False And 月_ch.Checked = True Then
  266. 開始日期_dtp.Value = 開始日期_dtp.Value.AddMonths(1) : 結束日期_dtp.Value = 結束日期_dtp.Value.AddMonths(1)
  267. DTP = Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 開始日期_dtp.Value = DTP
  268. '-------------日期二----------------------------------------------------------------------------------------
  269. DTP = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 結束日期_dtp.Value = DTP
  270. 結束日期_dtp.Value = 結束日期_dtp.Value.AddMonths(1) : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(-1)
  271. 結束日期2_dtp.Value = 結束日期_dtp.Value : 開始日期2_dtp.Value = 開始日期_dtp.Value : 日期計算()
  272. End If
  273. End Sub
  274. Private Sub 日期計算()
  275. Dim todayDate As DateTime = 開始日期_dtp.Value
  276. Dim formattedDate As String = todayDate.ToString("yyyy/MM/dd")
  277. Dim dayOfWeek As String = todayDate.ToString("dddd", New CultureInfo("zh-TW"))
  278. 系統日期_tb.Text = formattedDate
  279. 星期_tb.Text = dayOfWeek
  280. End Sub
  281. Private Sub 天_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 天_ch.Click
  282. 天_ch.Checked = True : 周_ch.Checked = False : 月_ch.Checked = False
  283. DA1_bt.Text = "上一日" : DA2_bt.Text = "本日" : DA3_bt.Text = "下一日"
  284. DA2_bt.PerformClick()
  285. End Sub
  286. Private Sub 周_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 周_ch.Click
  287. 天_ch.Checked = False : 周_ch.Checked = True : 月_ch.Checked = False
  288. DA1_bt.Text = "上一週" : DA2_bt.Text = "本週" : DA3_bt.Text = "下一週"
  289. DA2_bt.PerformClick()
  290. End Sub
  291. Private Sub 月_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 月_ch.Click
  292. 開始日期_dtp.Value = Today() : 結束日期_dtp.Value = Today()
  293. DTP = Strings.Left(Strings.Format(開始日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 開始日期_dtp.Value = DTP
  294. '-------------日期二----------------------------------------------------------------------------------------
  295. DTP = Strings.Left(Strings.Format(結束日期_dtp.Value, "yyyy/MM/dd"), 8) & "01" : 結束日期_dtp.Value = DTP
  296. 結束日期_dtp.Value = 結束日期_dtp.Value.AddMonths(1) : 結束日期_dtp.Value = 結束日期_dtp.Value.AddDays(-1)
  297. 天_ch.Checked = False : 周_ch.Checked = False : 月_ch.Checked = True
  298. DA1_bt.Text = "上一月" : DA2_bt.Text = "本月" : DA3_bt.Text = "下一月"
  299. DA2_bt.PerformClick()
  300. End Sub
  301. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
  302. If 實際工資計算完成 = False Then
  303. 狀態1_ch.Text = "A組工人薪資表會總自動計算-週期 : 每日 - 狀態 : 未完成" : 狀態1_ch.ForeColor = Color.Red : 狀態1_ch.Checked = False
  304. 首次開啟 = True : 人員薪資_實際.Show() : 執行次數_tb.Text = Strings.Format(CInt(執行次數_tb.Text) + 1, "#,##0")
  305. ElseIf 實際工資計算完成 = True Then
  306. 狀態1_ch.Text = "A組工人薪資表會總自動計算-週期 : 每日 - 狀態 : 已完成" : 狀態1_ch.ForeColor = Color.Green : 狀態1_ch.Checked = True
  307. End If
  308. If 人員薪資_實際.Visible = True Then : Else
  309. If 沖帳工資計算完成 = False Then
  310. 狀態2_ch.Text = "B組工人薪資表會總自動計算-週期 : 每日 - 狀態 : 未完成" : 狀態2_ch.ForeColor = Color.Red : 狀態2_ch.Checked = False
  311. 首次開啟 = True : BL = False : 人員薪資_沖帳.Show() : BL = True : 執行次數_tb.Text = Strings.Format(CInt(執行次數_tb.Text) + 1, "#,##0")
  312. ElseIf 沖帳工資計算完成 = True Then
  313. 狀態2_ch.Text = "B組工人薪資表會總自動計算-週期 : 每日 - 狀態 : 已完成" : 狀態2_ch.ForeColor = Color.Green : 狀態2_ch.Checked = True
  314. End If
  315. End If
  316. If 工作狀態計算完成 = False Then
  317. 狀態3_ch.Text = "系統工作狀態會總自動計算-週期 : 每小時 - 狀態 : 未完成" : 狀態3_ch.ForeColor = Color.Red : 狀態3_ch.Checked = False
  318. '----------------------------讀取資料---------------------------------------------------------------------------------------------------------
  319. Set_合約未請款1() : Set_合約未請款2() : Set_合約未請款3() : Set_合約未請款4() : Set_合約未請款5() : Set_合約未設利潤() : Set_合約未放行()
  320. Set_合約未簽回() : Set_報價未簽回() : Set_報價未完成() : Set_請購單() : Set_詢價單1() : Set_採購核准11() : Set_採購核准12()
  321. Set_工程進度表未開() : Set_合約未指定主管() : Set_合約未驗收() : Set_合約驗收單未簽回() : Set_合約保固單未簽()
  322. '----------------------------寫入資料---------------------------------------------------------------------------------------------------------
  323. SQL_工作狀態匯總表_刪除()
  324. SQL2 = "(N'合約預估利潤', N'" & 合約預估利潤_dgv.Rows.Count & "'), (N'報價未完成', N'" & 報價未完成_dgv.Rows.Count & "'),
  325. (N'合約未放行', N'" & 合約未放行_dgv.Rows.Count & "'), (N'報價未簽回', N'" & 報價未簽回_dgv.Rows.Count & "'),
  326. (N'合約未簽回', N'" & 合約未簽回_dgv.Rows.Count & "'), (N'合約請款1', N'" & 合約請款1_dgv.Rows.Count & "'),
  327. (N'合約請款2', N'" & 合約請款2_dgv.Rows.Count & "'), (N'合約請款3', N'" & 合約請款3_dgv.Rows.Count & "'),
  328. (N'合約請款4', N'" & 合約請款4_dgv.Rows.Count & "'), (N'合約請款5', N'" & 合約請款5_dgv.Rows.Count & "'),
  329. (N'合約未指定主管', N'" & 合約未指定主管_dgv.Rows.Count & "'), (N'未開工程進度表', N'" & 未開工程進度表_dgv.Rows.Count & "'),
  330. (N'合約未驗收', N'" & 合約未驗收_dgv.Rows.Count & "'), (N'驗收未簽回', N'" & 驗收未簽回_dgv.Rows.Count & "'),
  331. (N'保固未簽回', N'" & 保固未簽回_dgv.Rows.Count & "'), (N'請購單', N'" & 請購單_dgv.Rows.Count & "'),
  332. (N'詢價單', N'" & 詢價單_dgv.Rows.Count & "'), (N'採購核准11', N'" & 採購核准11_dgv.Rows.Count & "'),
  333. (N'採購核准12', N'" & 採購核准12_dgv.Rows.Count & "')"
  334. SQL_工作狀態匯總表_寫入() : 時機_tb.Text = 系統時間_tb.Text : 工作狀態計算完成 = True
  335. 執行次數_tb.Text = Strings.Format(CInt(執行次數_tb.Text) + 1, "#,##0")
  336. ElseIf 工作狀態計算完成 = True Then
  337. 狀態3_ch.Text = "系統工作狀態-匯總自動計算-週期 : 每小時 - 狀態 : 已完成" : 狀態3_ch.ForeColor = Color.Green : 狀態3_ch.Checked = True
  338. End If
  339. PA = Strings.Format(Today(), "yyyy/MM/dd") : If PA <> 系統日期_tb.Text Then : 實際工資計算完成 = False : 沖帳工資計算完成 = False : End If
  340. PA = DateTime.Now.ToString("hh:mm:ss") : If Strings.Left(PA, 2) <> Strings.Left(時機_tb.Text, 2) Then : 工作狀態計算完成 = False : 工作狀態計算完成 = False : End If
  341. 系統日期_tb.Text = Strings.Format(Today(), "yyyy/MM/dd")
  342. End Sub
  343. Private Sub 執行_bt_Click(sender As Object, e As EventArgs) Handles 執行_bt.Click
  344. GroupBox1.Text = "自動模式 - 已啟動" : GroupBox1.ForeColor = Color.Blue
  345. Timer1.Enabled = True
  346. End Sub
  347. Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
  348. 系統時間_tb.Text = DateTime.Now.ToString("hh:mm:ss")
  349. End Sub
  350. End Class