Brak opisu
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.

派工人數紀錄表.vb 25KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. Imports System.Windows.Forms.DataVisualization.Charting
  2. Public Class 派工人數紀錄表
  3. ReadOnly ds8 As New DataSet
  4. Dim ESTR As String
  5. Dim EDR As Integer
  6. Dim 開始計算 As Boolean
  7. ReadOnly 對話框(0) As String
  8. Private Sub Set_派工清單()
  9. Dim ds1 As New DataSet
  10. 清單_dgv.DataSource = Nothing : ds1.Clear()
  11. 清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  12. 清單_dgv.ColumnHeadersHeight = 25 : 清單_dgv.AllowUserToAddRows = False : 清單_dgv.RowTemplate.Height = 25
  13. PA2 = Strings.Left(Strings.Format(報工日期_dtp.Value, "yyyy/MM/dd"), 4) : PA3 = Strings.Mid(Strings.Format(報工日期_dtp.Value, "yyyy/MM/dd"), 6, 2)
  14. PA4 = Strings.Right(Strings.Format(報工日期_dtp.Value, "yyyy/MM/dd"), 2) : PA5 = 合約編號2_tb.Text
  15. If 已完工顯示_ch.Checked = False Then : SQL2 = "AND (工程進度表.專案結束 IS NULL OR 工程進度表.專案結束 = 0)" : Else : SQL2 = "" : End If
  16. SQL_派工人數紀錄表()
  17. da.Fill(ds1) : 清單_dgv.DataSource = ds1.Tables(0) : conn.Close()
  18. Set_清單_dgv_下拉式清單1()
  19. 清單_dgv.Columns(0).FillWeight = 40 : 清單_dgv.Columns(1).Visible = False : 清單_dgv.Columns(2).Visible = False : 清單_dgv.Columns(3).Visible = False
  20. 清單_dgv.Columns(4).FillWeight = 80 : 清單_dgv.Columns(5).FillWeight = 40 : 清單_dgv.Columns(6).FillWeight = 200 : 清單_dgv.Columns(7).FillWeight = 80
  21. 清單_dgv.Columns(8).FillWeight = 50 : 清單_dgv.Columns(9).FillWeight = 80 : 清單_dgv.Columns(10).FillWeight = 80 : 清單_dgv.Columns(12).FillWeight = 200
  22. 清單_dgv.Columns(13).FillWeight = 50
  23. 清單_dgv.Columns(11).Visible = False : 清單_dgv.Columns(14).Visible = False : 清單_dgv.Columns(15).Visible = False
  24. 清單_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  25. 清單_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  26. 清單_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 清單_dgv.Columns(10).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  27. 清單_dgv.Columns(13).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  28. 清單_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  29. For i As Integer = 1 To 11 : 清單_dgv.Columns(i).ReadOnly = True : Next
  30. For I As Integer = 0 To 清單_dgv.Rows.Count - 1
  31. If IsDBNull(清單_dgv.Rows(I).Cells(表頭(0)).Value) = True Then : 清單_dgv.Rows(I).Cells(表頭(0)).Value = False : End If
  32. 清單_dgv.Rows(I).Cells(表頭(73)).Value = Strings.Format(報工日期_dtp.Value, "yyyy/MM/dd")
  33. If 清單_dgv.Rows(I).Cells(表頭(15)).Value.ToString = "" Then : 清單_dgv.Rows(I).Cells(表頭(15)).Value = "0" : 清單_dgv.Rows(I).Cells("原始").Value = "0" : End If
  34. Next
  35. End Sub
  36. Private Sub Set_清單_dgv_下拉式清單1()
  37. Dim Col As New DataGridViewComboBoxColumn With {
  38. .FillWeight = 200,
  39. .DataPropertyName = "案件主管"
  40. }
  41. SQL執行主管下拉()
  42. Col.Items.Clear() : Col.Items.Add("")
  43. While (dr.Read()) : Col.Items.Add(dr("姓名")) : End While : conn.Close()
  44. Col.HeaderText = 表頭(120) : Col.Name = "案件主管"
  45. 清單_dgv.Columns.Insert(12, Col)
  46. End Sub
  47. Private Sub 彙總清單()
  48. Set_日期清單()
  49. If 日期_dgv.Rows.Count > 0 Then
  50. Dim ds1 As New DataSet
  51. 彙總_dgv.DataSource = Nothing : ds1.Clear()
  52. 彙總_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  53. 彙總_dgv.ColumnHeadersHeight = 35 : 彙總_dgv.AllowUserToAddRows = False : 彙總_dgv.RowTemplate.Height = 25
  54. PA5 = 查詢日期_cb.Text : PA6 = 查詢日期1_cb.Text : PA7 = 工程執行主管1_cb.Text : PA8 = 合約編號_tb.Text
  55. SQL_人員統計彙總表()
  56. da.Fill(ds1) : 彙總_dgv.DataSource = ds1.Tables(0) : conn.Close()
  57. 彙總_dgv.Columns(0).Visible = False : 彙總_dgv.Columns(1).Width = 80 : 彙總_dgv.Columns(2).Width = 30
  58. 彙總_dgv.Columns(3).Width = 120 : 彙總_dgv.Columns(4).Width = 50
  59. 彙總_dgv.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  60. 彙總_dgv.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  61. 彙總_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  62. For II As Integer = 5 To NN1 + 5
  63. 彙總_dgv.Columns(II).FillWeight = 50 : 彙總_dgv.Columns(II).DefaultCellStyle.Format = "#,##0"
  64. 彙總_dgv.Columns(II).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  65. Next
  66. Set_彙總計算() : Set_彙總畫面() : 表格繪製2()
  67. If 彙總_dgv.Rows.Count = 0 Then : Chart3.Series.Clear() : End If
  68. End If
  69. End Sub
  70. Private Sub Set_彙總計算()
  71. For I As Integer = 0 To 彙總_dgv.Rows.Count - 1
  72. 彙總_dgv.Rows(I).Cells(4).Value = "0"
  73. For II As Integer = 5 To NN1 + 5
  74. If 彙總_dgv.Rows(I).Cells(II).Value.ToString() = "" Then : 彙總_dgv.Rows(I).Cells(II).Value = "0" : End If
  75. 彙總_dgv.Rows(I).Cells(4).Value = CInt(彙總_dgv.Rows(I).Cells(4).Value.ToString) + CInt(彙總_dgv.Rows(I).Cells(II).Value.ToString())
  76. Next
  77. Next
  78. End Sub
  79. Private Sub Set_彙總畫面()
  80. For I As Integer = 0 To 彙總_dgv.Rows.Count - 1
  81. For II As Integer = 5 To NN1 + 5
  82. If IsDBNull(彙總_dgv.Rows(I).Cells(II).Value) Then : 彙總_dgv.Rows(I).Cells(II).Style.ForeColor = Color.White : Else
  83. If 彙總_dgv.Rows(I).Cells(II).Value = 0 Then : 彙總_dgv.Rows(I).Cells(II).Style.ForeColor = Color.White
  84. Else : 彙總_dgv.Rows(I).Cells(II).Style.ForeColor = Color.Black : End If : End If
  85. Next
  86. Next
  87. End Sub
  88. Private Sub 表格繪製2()
  89. '-------線狀圖------------------------------------------------------
  90. Chart3.Series.Clear() : Chart3.ChartAreas(0).AxisX.Minimum = 0
  91. Chart3.Series.Add("每日派工總數") : Chart3.Series("每日派工總數").ChartType = SeriesChartType.Column
  92. Chart3.Series("每日派工總數").IsVisibleInLegend = False
  93. Chart3.Series("每日派工總數").IsValueShownAsLabel = True
  94. Chart3.Series("每日派工總數").IsXValueIndexed = True
  95. For i As Integer = 0 To 日期_dgv.Rows.Count - 1
  96. Chart3.Series("每日派工總數").Points.AddXY(日期_dgv.Rows(i).Cells("日").Value.ToString, 日期_dgv.Rows(i).Cells("人數").Value.ToString)
  97. Next
  98. Chart3.Series.Add("每日總數") : Chart3.Series("每日總數").ChartType = SeriesChartType.Line
  99. Chart3.Series("每日總數").IsVisibleInLegend = False
  100. For i As Integer = 0 To 日期_dgv.Rows.Count - 1
  101. Chart3.Series("每日總數").Points.AddXY(日期_dgv.Rows(i).Cells("日").Value.ToString, 日期_dgv.Rows(i).Cells("人數").Value.ToString)
  102. Next
  103. End Sub
  104. Private Sub Set_日期清單()
  105. Dim ds1 As New DataSet : 日期_dgv.DataSource = Nothing : ds1.Clear()
  106. 日期_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  107. 日期_dgv.ColumnHeadersHeight = 25 : 日期_dgv.AllowUserToAddRows = False
  108. PA5 = 查詢日期_cb.Text : PA6 = 查詢日期1_cb.Text
  109. SQL_派工日期人數()
  110. da.Fill(ds1) : 日期_dgv.DataSource = ds1.Tables(0) : conn.Close()
  111. For I As Integer = 0 To 日期_dgv.Rows.Count - 1
  112. If I = 0 Then : 清單列表 = "[" & 日期_dgv.Rows(I).Cells(0).Value.ToString()
  113. Else : 清單列表 = 清單列表 & "], [" & 日期_dgv.Rows(I).Cells(0).Value.ToString() : End If
  114. If I = 日期_dgv.Rows.Count - 1 Then : 清單列表 &= "]" : End If : NN1 = I
  115. Next
  116. End Sub
  117. Private Sub Set_進度表清單()
  118. Dim ds1 As New DataSet : 進度表清單_dgv.DataSource = Nothing : ds1.Clear()
  119. 進度表清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  120. 進度表清單_dgv.ColumnHeadersHeight = 25 : 進度表清單_dgv.AllowUserToAddRows = False
  121. SQL_進度表清單()
  122. da.Fill(ds1) : 進度表清單_dgv.DataSource = ds1.Tables(0) : conn.Close()
  123. End Sub
  124. Private Sub 執行主管下拉清單讀取()
  125. SQL執行主管下拉() : 工程執行主管_cb.Items.Clear() : 工程執行主管1_cb.Items.Clear() : 工程執行主管_cb.Items.Add("") : 工程執行主管1_cb.Items.Add("")
  126. While (dr.Read()) : 工程執行主管_cb.Items.Add(dr("姓名")) : 工程執行主管1_cb.Items.Add(dr("姓名")) : End While : conn.Close()
  127. End Sub
  128. Private Sub 年份清單下拉清單讀取()
  129. SQL_年份清單() : 查詢日期_cb.Items.Clear() : While (dr.Read()) : 查詢日期_cb.Items.Add(dr("年份")) : End While : conn.Close()
  130. End Sub
  131. Private Sub 甲方條件下拉清單讀取()
  132. SQL合約條件讀取() : 合約編號1_cb.Items.Clear() : 合約編號1_cb.Items.Add("") : 合約編號2_cb.Items.Clear() : 合約編號2_cb.Items.Add("")
  133. While (dr.Read()) : 合約編號1_cb.Items.Add(dr("約號甲方")) : 合約編號2_cb.Items.Add(dr("約號甲方")) : End While : conn.Close()
  134. End Sub
  135. Private Sub Set_語言()
  136. 語言_dgv.DataSource = Nothing : ds8.Clear()
  137. 語言_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  138. 語言_dgv.ColumnHeadersHeight = 25
  139. 語言_dgv.AllowUserToAddRows = False
  140. SQL_系統語言導入()
  141. da.Fill(ds8) : 語言_dgv.DataSource = ds8.Tables(0) : conn.Close()
  142. End Sub
  143. Private Sub 語言轉換讀取()
  144. Set_語言() : conn.Close()
  145. For i As Integer = 0 To 語言_dgv.Rows.Count - 1
  146. If 語言_dgv("控件", i).Value.ToString = "附錄合約" Then : Me.Text = 語言_dgv("內容", i).Value.ToString : End If
  147. If 語言_dgv("控件", i).Value.ToString = "甲方_lb" Then : 甲方_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  148. If 語言_dgv("控件", i).Value.ToString = "控制表_tp" Then : 控制表_tp.Text = 語言_dgv("內容", i).Value.ToString : End If
  149. If 語言_dgv("控件", i).Value.ToString = "彙總表_tp" Then : 彙總表_tp.Text = 語言_dgv("內容", i).Value.ToString : End If
  150. If 語言_dgv("控件", i).Value.ToString = "工程執行主管_lb" Then : 工程執行主管_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  151. If 語言_dgv("控件", i).Value.ToString = "工程執行主管_lb" Then : 工程執行主管1_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  152. If 語言_dgv("控件", i).Value.ToString = "甲方_lb" Then : 甲方1_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  153. If 語言_dgv("控件", i).Value.ToString = "合約編號清單_bt" Then : 合約編號清單_bt.Text = 語言_dgv("內容", i).Value.ToString : End If
  154. If 語言_dgv("控件", i).Value.ToString = "合約編號清單_bt" Then : 合約編號清單2_bt.Text = 語言_dgv("內容", i).Value.ToString : End If
  155. If 語言_dgv("控件", i).Value.ToString = "報工日期_lb" Then : 報工日期_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  156. If 語言_dgv("控件", i).Value.ToString = "上一天_bt" Then : 上一天_bt.Text = 語言_dgv("內容", i).Value.ToString : End If
  157. If 語言_dgv("控件", i).Value.ToString = "今天_bt" Then : 今天_bt.Text = 語言_dgv("內容", i).Value.ToString : End If
  158. If 語言_dgv("控件", i).Value.ToString = "下一天_bt" Then : 下一天_bt.Text = 語言_dgv("內容", i).Value.ToString : End If
  159. If 語言_dgv("控件", i).Value.ToString = "指定存檔_bt" Then : 指定存檔_bt.Text = 語言_dgv("內容", i).Value.ToString : End If
  160. If 語言_dgv("控件", i).Value.ToString = "已完工顯示_ch" Then : 已完工顯示_ch.Text = 語言_dgv("內容", i).Value.ToString : End If
  161. If 語言_dgv("控件", i).Value.ToString = "派工月份_lb" Then : 派工月份_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  162. If 語言_dgv("控件", i).Value.ToString = "dgv_關閉" Then : 表頭(0) = 語言_dgv("內容", i).Value.ToString : End If
  163. If 語言_dgv("控件", i).Value.ToString = "dgv_合約號" Then : 表頭(134) = 語言_dgv("內容", i).Value.ToString : End If
  164. If 語言_dgv("控件", i).Value.ToString = "dgv_項次" Then : 表頭(11) = 語言_dgv("內容", i).Value.ToString : End If
  165. If 語言_dgv("控件", i).Value.ToString = "dgv_項目" Then : 表頭(155) = 語言_dgv("內容", i).Value.ToString : End If
  166. If 語言_dgv("控件", i).Value.ToString = "dgv_預計開始" Then : 表頭(1) = 語言_dgv("內容", i).Value.ToString : End If
  167. If 語言_dgv("控件", i).Value.ToString = "dgv_預計天數" Then : 表頭(2) = 語言_dgv("內容", i).Value.ToString : End If
  168. If 語言_dgv("控件", i).Value.ToString = "dgv_預計結束" Then : 表頭(3) = 語言_dgv("內容", i).Value.ToString : End If
  169. If 語言_dgv("控件", i).Value.ToString = "dgv_派工日" Then : 表頭(73) = 語言_dgv("內容", i).Value.ToString : End If
  170. If 語言_dgv("控件", i).Value.ToString = "dgv_本地幹部" Then : 表頭(120) = 語言_dgv("內容", i).Value.ToString : End If
  171. If 語言_dgv("控件", i).Value.ToString = "dgv_人員" Then : 表頭(15) = 語言_dgv("內容", i).Value.ToString : End If
  172. If 語言_dgv("控件", i).Value.ToString = "dgv_派工總數" Then : 表頭(83) = 語言_dgv("內容", i).Value.ToString : End If
  173. If 語言_dgv("控件", i).Value.ToString = "對話框1" Then : 對話框(0) = 語言_dgv("內容", i).Value.ToString : End If
  174. Next
  175. End Sub
  176. Private Sub 派工人數紀錄表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  177. Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  178. H(405) = True : 介面 = "H405" : 語言轉換讀取()
  179. 彙總_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  180. End Sub
  181. Private Sub 派工人數紀錄表_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  182. 甲方條件下拉清單讀取() : 年份清單下拉清單讀取() : 執行主管下拉清單讀取() : 工程執行主管_cb.Text = gUserName
  183. If CInt(登入人級別) <= 3 Then : PA1 = "%%" : ElseIf CInt(登入人級別) > 3 Then : PA1 = gUserName : End If
  184. Set_派工清單() : 開始計算 = False : 查詢日期_cb.Text = Year(Today) : 查詢日期1_cb.SelectedIndex = Month(Today) - 1 : 彙總清單() : 開始計算 = True
  185. End Sub
  186. Private Sub 派工人數紀錄表_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
  187. H(405) = False : MyModule1.虛擬桌面開啟()
  188. End Sub
  189. Private Sub 語轉扭_bt_Click(sender As Object, e As EventArgs) Handles 語轉扭_bt.Click
  190. 介面 = "H405" : 語言轉換讀取() : Set_派工清單() : 彙總清單()
  191. End Sub
  192. Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
  193. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  194. End Sub
  195. Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
  196. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  197. End Sub
  198. Private Sub 彙總_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 彙總_dgv.RowPostPaint
  199. Dim linePen As New Pen(Color.Blue, 2) : Set_彙總畫面()
  200. If e.RowIndex = 彙總_dgv.Rows.Count - 1 Then
  201. Exit Sub
  202. Else
  203. If 彙總_dgv(表頭(134), e.RowIndex).Value.ToString <> 彙總_dgv(表頭(134), e.RowIndex + 1).Value.ToString Then
  204. Dim startX As Integer = IIf(彙總_dgv.RowHeadersVisible, 彙總_dgv.RowHeadersWidth, 0)
  205. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  206. Dim endX As Integer = startX + 彙總_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 清單_dgv.HorizontalScrollingOffset
  207. e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
  208. Exit Sub
  209. End If
  210. End If
  211. End Sub
  212. Private Sub 清單_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 清單_dgv.RowPostPaint
  213. Dim linePen As New Pen(Color.Blue, 2)
  214. If e.RowIndex = 清單_dgv.Rows.Count - 1 Then
  215. Exit Sub
  216. Else
  217. If 清單_dgv(表頭(134), e.RowIndex).Value.ToString <> 清單_dgv(表頭(134), e.RowIndex + 1).Value.ToString Then
  218. Dim startX As Integer = IIf(清單_dgv.RowHeadersVisible, 清單_dgv.RowHeadersWidth, 0)
  219. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  220. Dim endX As Integer = startX + 清單_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 清單_dgv.HorizontalScrollingOffset
  221. e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
  222. Exit Sub
  223. End If
  224. End If
  225. End Sub
  226. Private Sub 工程執行主管_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 工程執行主管_cb.SelectedIndexChanged
  227. If 工程執行主管_cb.Text = "" Then : PA1 = "%%" : Else : PA1 = 工程執行主管_cb.Text : End If : Set_派工清單()
  228. End Sub
  229. Private Sub 報工日期_dtp_ValueChanged(sender As Object, e As EventArgs) Handles 報工日期_dtp.ValueChanged
  230. If 工程執行主管_cb.Text = "" Then : PA1 = "%%" : Else : PA1 = 工程執行主管_cb.Text : End If : Set_派工清單()
  231. End Sub
  232. Private Sub 上一天_bt_Click(sender As Object, e As EventArgs) Handles 上一天_bt.Click
  233. 報工日期_dtp.Value = 報工日期_dtp.Value.AddDays(-1)
  234. End Sub
  235. Private Sub 今天_bt_Click(sender As Object, e As EventArgs) Handles 今天_bt.Click
  236. 報工日期_dtp.Value = Today()
  237. End Sub
  238. Private Sub 下一天_bt_Click(sender As Object, e As EventArgs) Handles 下一天_bt.Click
  239. 報工日期_dtp.Value = 報工日期_dtp.Value.AddDays(1)
  240. End Sub
  241. Private Sub 人員統計表流水號()
  242. SQL_人員統計表_最後一筆資料()
  243. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("流水號").ToString, 9)) : Else : EDR = 0 : End If
  244. conn.Close() : EDR += 1
  245. If EDR < 10 Then : ESTR = "PE" & "00000000" & EDR : ElseIf EDR > 9 And EDR < 100 Then : ESTR = "PE" & "0000000" & EDR
  246. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "PE" & "000000" & EDR : ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "PE" & "00000" & EDR
  247. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "PE" & "0000" & EDR : ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "PE" & "000" & EDR
  248. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "PE" & "00" & EDR : ElseIf EDR > 9999999 And EDR < 10000000 Then : ESTR = "PE" & "0" & EDR
  249. ElseIf EDR > 99999999 Then : ESTR = "PE" & EDR : End If : PA9 = ESTR
  250. End Sub
  251. Private Sub 指定存檔_bt_Click(sender As Object, e As EventArgs) Handles 指定存檔_bt.Click
  252. For I As Integer = 0 To 清單_dgv.Rows.Count - 1
  253. If 清單_dgv.Rows(I).Cells(表頭(15)).Value.ToString = "" Then : 清單_dgv.Rows(I).Cells(表頭(15)).Value = "0" : End If
  254. If 清單_dgv.Rows(I).Cells(表頭(15)).Value.ToString = "0" And 清單_dgv.Rows(I).Cells("原始").Value.ToString = "0" Then : Else
  255. PA = 清單_dgv.Rows(I).Cells("專案流水").Value.ToString : PA2 = Strings.Left(Strings.Format(報工日期_dtp.Value, "yyyy/MM/dd"), 4)
  256. PA3 = Strings.Mid(Strings.Format(報工日期_dtp.Value, "yyyy/MM/dd"), 6, 2) : PA4 = Strings.Right(Strings.Format(報工日期_dtp.Value, "yyyy/MM/dd"), 2)
  257. PA6 = 清單_dgv.Rows(I).Cells(表頭(15)).Value.ToString : PA7 = 清單_dgv.Rows(I).Cells("案件主管").Value.ToString : PA8 = 清單_dgv.Rows(I).Cells(表頭(134)).Value.ToString
  258. If 清單_dgv.Rows(I).Cells("流水號").Value.ToString = "" Then
  259. 人員統計表流水號() : SQL_人員統計表_新增資料()
  260. Else
  261. PA9 = 清單_dgv.Rows(I).Cells("流水號").Value.ToString : SQL_人員統計表_修改資料()
  262. End If
  263. End If
  264. PA = 清單_dgv.Rows(I).Cells("專案流水").Value.ToString : BL1 = 清單_dgv.Rows(I).Cells(表頭(0)).Value : SQL_工程進度表_派工開關()
  265. Next : Set_派工清單() : MsgBox(對話框(0))
  266. End Sub
  267. Private Sub 查詢日期_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 查詢日期_cb.SelectedIndexChanged
  268. If 開始計算 = True Then : 彙總清單() : End If
  269. End Sub
  270. Private Sub 查詢日期1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 查詢日期1_cb.SelectedIndexChanged
  271. If 開始計算 = True Then : 彙總清單() : End If
  272. End Sub
  273. Private Sub 合約編號1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 合約編號1_cb.SelectedIndexChanged
  274. 合約編號_tb.Text = "" : PA = 合約編號1_cb.Text : Set_進度表清單()
  275. If 合約編號1_cb.Text = "" Then : 彙總清單() : End If
  276. End Sub
  277. Private Sub 合約編號2_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 合約編號2_cb.SelectedIndexChanged
  278. 合約編號2_tb.Text = "" : PA = 合約編號2_cb.Text : Set_進度表清單()
  279. If 合約編號2_cb.Text = "" Then : Set_派工清單() : End If
  280. End Sub
  281. Private Sub 合約編號清單2_bt_Click(sender As Object, e As EventArgs) Handles 合約編號清單2_bt.Click
  282. If 進度表清單_dgv.Rows.Count > 2999 Then
  283. If 系統語言 = "繁體中文" Then : MsgBox("清單數量超過3000個,清通知系統管理員修改程式!!")
  284. Else : MsgBox("Jumlah daftar melebihi 3000, dan administrator sistem diberitahu untuk memodifikasi program!!") : End If : Else
  285. For I As Integer = 0 To 3000 : PPBB(I) = "" : Next
  286. For I As Integer = 0 To 進度表清單_dgv.Rows.Count - 1 : PPBB(I) = 進度表清單_dgv(表頭(134), I).Value.ToString : NN1 = I : Next
  287. 下拉清單_1.ShowDialog()
  288. For I As Integer = 0 To 進度表清單_dgv.Rows.Count - 1
  289. If PPAA = 進度表清單_dgv(表頭(134), I).Value.ToString Then : 合約編號2_tb.Text = 進度表清單_dgv(表頭(134), I).Value.ToString : Exit For : End If
  290. Next : Set_派工清單()
  291. End If
  292. End Sub
  293. Private Sub 工程執行主管1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 工程執行主管1_cb.SelectedIndexChanged
  294. 彙總清單()
  295. End Sub
  296. Private Sub 合約編號清單_bt_Click(sender As Object, e As EventArgs) Handles 合約編號清單_bt.Click
  297. If 進度表清單_dgv.Rows.Count > 2999 Then
  298. If 系統語言 = "繁體中文" Then : MsgBox("清單數量超過3000個,清通知系統管理員修改程式!!")
  299. Else : MsgBox("Jumlah daftar melebihi 3000, dan administrator sistem diberitahu untuk memodifikasi program!!") : End If : Else
  300. For I As Integer = 0 To 3000 : PPBB(I) = "" : Next
  301. For I As Integer = 0 To 進度表清單_dgv.Rows.Count - 1 : PPBB(I) = 進度表清單_dgv(表頭(134), I).Value.ToString : NN1 = I : Next
  302. 下拉清單_1.ShowDialog()
  303. For I As Integer = 0 To 進度表清單_dgv.Rows.Count - 1
  304. If PPAA = 進度表清單_dgv(表頭(134), I).Value.ToString Then : 合約編號_tb.Text = 進度表清單_dgv(表頭(134), I).Value.ToString : Exit For : End If
  305. Next : 彙總清單()
  306. End If
  307. End Sub
  308. Private Sub 已完工顯示_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 已完工顯示_ch.Click
  309. Set_派工清單()
  310. End Sub
  311. Private Sub TabControl1_ChangeUICues(ByVal sender As Object, ByVal e As EventArgs) Handles TabControl1.SelectedIndexChanged
  312. If TabControl1.SelectedIndex = 1 Then : 彙總清單() : End If
  313. End Sub
  314. End Class