Nav apraksta
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

採購單一級核准.vb 46KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602
  1. Option Strict Off
  2. Imports System.IO
  3. Imports System.Windows.Forms.DataVisualization.Charting
  4. Public Class 採購單一級核准
  5. Dim NUM1, II As Integer
  6. Dim 新項次, 對話框(9), 物料規格, QQW(11) As String
  7. Dim 單據總價 As Long
  8. Private Sub Set_單價()
  9. Dim ds6 As New DataSet : 價錢_dgv.DataSource = Nothing : ds6.Clear()
  10. 價錢_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  11. 價錢_dgv.ColumnHeadersHeight = 25
  12. 價錢_dgv.AllowUserToAddRows = False
  13. If 日期_rb.Checked = False And 單價_rb.Checked = True Then : SQL_加權平均()
  14. ElseIf 日期_rb.Checked = True And 單價_rb.Checked = False Then : SQL_最近日期() : End If
  15. da.Fill(ds6) : 價錢_dgv.DataSource = ds6.Tables(0) : conn.Close()
  16. End Sub
  17. Private Sub Set_採購單清單()
  18. Dim ds As New DataSet : 明細_dgv.DataSource = Nothing : ds.Clear()
  19. 明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  20. 明細_dgv.ColumnHeadersHeight = 45
  21. 明細_dgv.AllowUserToAddRows = False
  22. If 小間距_ch.Checked = False And 中間距_ch.Checked = False And 大間距_ch.Checked = True Then : 明細_dgv.RowTemplate.Height = 65
  23. ElseIf 小間距_ch.Checked = False And 中間距_ch.Checked = True And 大間距_ch.Checked = False Then : 明細_dgv.RowTemplate.Height = 45
  24. ElseIf 小間距_ch.Checked = True And 中間距_ch.Checked = False And 大間距_ch.Checked = False Then : 明細_dgv.RowTemplate.Height = 25 : End If
  25. PA10 = 採購單號_tb.Text : SQL_採購單明細表()
  26. da.Fill(ds) : 明細_dgv.DataSource = ds.Tables(0) : conn.Close()
  27. 明細_dgv.Columns(0).Visible = False : 明細_dgv.Columns(1).FillWeight = 50 : 明細_dgv.Columns(3).FillWeight = 250 : 明細_dgv.Columns(4).FillWeight = 250
  28. 明細_dgv.Columns(5).FillWeight = 150 : 明細_dgv.Columns(6).FillWeight = 80 : 明細_dgv.Columns(7).FillWeight = 80 : 明細_dgv.Columns(8).FillWeight = 80
  29. 明細_dgv.Columns(9).FillWeight = 80 : 明細_dgv.Columns(10).Visible = False : 明細_dgv.Columns(11).Visible = False : 明細_dgv.Columns(12).Visible = False
  30. 明細_dgv.Columns(13).Visible = False : 明細_dgv.Columns(14).Visible = False : 明細_dgv.Columns(15).Visible = False : 明細_dgv.Columns(16).Visible = False
  31. 明細_dgv.Columns(17).Visible = False : 明細_dgv.Columns(18).Visible = False : 明細_dgv.Columns(19).Visible = False : 明細_dgv.Columns(20).Visible = False
  32. 明細_dgv.Columns(21).Visible = False : 明細_dgv.Columns(22).Visible = False : 明細_dgv.Columns(23).Visible = False : 明細_dgv.Columns(24).FillWeight = 90
  33. 明細_dgv.Columns(25).FillWeight = 80 : 明細_dgv.Columns("KEY").Visible = False : 明細_dgv.Columns("OUP").FillWeight = 80 : 明細_dgv.Columns(2).FillWeight = 80
  34. 明細_dgv.Columns(26).FillWeight = 80 : 明細_dgv.Columns("SP%").FillWeight = 80
  35. 明細_dgv.Columns(6).DefaultCellStyle.Format = "#,##0" : 明細_dgv.Columns(8).DefaultCellStyle.Format = "#,##0" : 明細_dgv.Columns(9).DefaultCellStyle.Format = "#,##0"
  36. 明細_dgv.Columns("OUP").DefaultCellStyle.Format = "#,##0" : 明細_dgv.Columns(15).DefaultCellStyle.Format = "#,##0"
  37. 明細_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  38. 明細_dgv.Columns(9).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(9).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  39. 明細_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  40. 明細_dgv.Columns("OUP").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter : 明細_dgv.Columns("OUP").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  41. 明細_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  42. 明細_dgv.Columns(1).ReadOnly = True : 明細_dgv.Columns(2).ReadOnly = True : 明細_dgv.Columns(3).ReadOnly = True : 明細_dgv.Columns(4).ReadOnly = True
  43. 明細_dgv.Columns(表頭(16)).ReadOnly = True : 明細_dgv.Columns(表頭(27)).ReadOnly = True : 明細_dgv.Columns("OUP").ReadOnly = True : 明細_dgv.Columns("SP%").ReadOnly = True
  44. If 低網速模式 = False Then
  45. 明細_dgv.Columns(28).FillWeight = 80 : 明細_dgv.Columns("Image").Visible = True
  46. Dim mycol As DataGridViewImageColumn = 明細_dgv.Columns("Image")
  47. mycol.ImageLayout = DataGridViewImageCellLayout.Zoom
  48. Else
  49. If 明細_dgv.Columns.Count = 29 Then
  50. 明細_dgv.Columns("Image").Visible = False
  51. End If
  52. End If
  53. 新項次 = "00"
  54. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  55. 明細_dgv.Columns("OUP").DefaultCellStyle.Format = "#,0"
  56. NUM1 = Double.Parse(新項次) + 1
  57. If NUM1 < 10 Then : 新項次 = "0" & NUM1
  58. ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1
  59. End If
  60. 明細_dgv.Rows(i).Cells(表頭(11)).Value = 新項次
  61. '-------------------------規格合併呈現----------------------------------------------------------------------------------------------------------------------------------------
  62. If i = 0 Then
  63. AAA1 = "" : AAA2 = "" : AAA3 = "" : AAA4 = "" : AAA5 = "" : AAA6 = "" : AAA7 = "" : AAA8 = ""
  64. PA3 = 明細_dgv.Rows(i).Cells("規格庫抬頭指定").Value
  65. SQL_規格庫抬頭讀取()
  66. If dr.Read() Then
  67. AAA1 = dr("A1") : AAA2 = dr("A2") : AAA3 = dr("A3") : AAA4 = dr("A4") : AAA5 = dr("A5") : AAA6 = dr("A6") : AAA7 = dr("A7") : AAA8 = dr("A8")
  68. End If
  69. conn.Close()
  70. Else
  71. If 明細_dgv.Rows(i).Cells("規格庫抬頭指定").Value.ToString <> 明細_dgv.Rows(i - 1).Cells("規格庫抬頭指定").Value.ToString Then
  72. AAA1 = "" : AAA2 = "" : AAA3 = "" : AAA4 = "" : AAA5 = "" : AAA6 = "" : AAA7 = "" : AAA8 = ""
  73. PA3 = 明細_dgv.Rows(i).Cells("規格庫抬頭指定").Value
  74. SQL_規格庫抬頭讀取()
  75. If dr.Read() Then
  76. AAA1 = dr("A1") : AAA2 = dr("A2") : AAA3 = dr("A3") : AAA4 = dr("A4") : AAA5 = dr("A5") : AAA6 = dr("A6") : AAA7 = dr("A7") : AAA8 = dr("A8")
  77. End If
  78. conn.Close()
  79. End If
  80. End If
  81. Dim ZA1, ZA2, ZA3, ZA4, ZA5, ZA6, ZA7, ZA8 As String : 物料規格 = ""
  82. If 詳細資料2_ch.Checked = True Then
  83. If 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString <> "" Then
  84. ZA1 = AAA1 & "=" & 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString : 物料規格 = ZA1 : End If
  85. If 明細_dgv.Rows(i).Cells("A2").Value.ToString <> "" Then : ZA2 = AAA2 & "=" & 明細_dgv.Rows(i).Cells("A2").Value
  86. If 物料規格 = "" Then : 物料規格 = ZA2 : Else : 物料規格 = 物料規格 + "、" + ZA2 : End If : End If
  87. If 明細_dgv.Rows(i).Cells("A3").Value.ToString <> "" Then : ZA3 = AAA3 & "=" & 明細_dgv.Rows(i).Cells("A3").Value
  88. If 物料規格 = "" Then : 物料規格 = ZA3 : Else : 物料規格 = 物料規格 + "、" + ZA3 : End If : End If
  89. If 明細_dgv.Rows(i).Cells("A4").Value.ToString <> "" Then : ZA4 = AAA4 & "=" & 明細_dgv.Rows(i).Cells("A4").Value
  90. If 物料規格 = "" Then : 物料規格 = ZA4 : Else : 物料規格 = 物料規格 + "、" + ZA4 : End If : End If
  91. If 明細_dgv.Rows(i).Cells("A5").Value.ToString <> "" Then : ZA5 = AAA5 & "=" & 明細_dgv.Rows(i).Cells("A5").Value
  92. If 物料規格 = "" Then : 物料規格 = ZA5 : Else : 物料規格 = 物料規格 + "、" + ZA5 : End If : End If
  93. If 明細_dgv.Rows(i).Cells("A6").Value.ToString <> "" Then : ZA6 = AAA6 & "=" & 明細_dgv.Rows(i).Cells("A6").Value
  94. If 物料規格 = "" Then : 物料規格 = ZA6 : Else : 物料規格 = 物料規格 + "、" + ZA6 : End If : End If
  95. If 明細_dgv.Rows(i).Cells("A7").Value.ToString <> "" Then : ZA7 = AAA7 & "=" & 明細_dgv.Rows(i).Cells("A7").Value
  96. If 物料規格 = "" Then : 物料規格 = ZA7 : Else : 物料規格 = 物料規格 + "、" + ZA7 : End If : End If
  97. If 明細_dgv.Rows(i).Cells("A8").Value.ToString <> "" Then : ZA8 = AAA8 & "=" & 明細_dgv.Rows(i).Cells("A8").Value
  98. If 物料規格 = "" Then : 物料規格 = ZA8 : Else : 物料規格 = 物料規格 + "、" + ZA8 : End If : End If
  99. Else
  100. If 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString <> "" Then : ZA1 = 明細_dgv.Rows(i).Cells(表頭(13)).Value.ToString : 物料規格 = ZA1 : End If
  101. If 明細_dgv.Rows(i).Cells("A2").Value.ToString <> "" Then
  102. ZA2 = 明細_dgv.Rows(i).Cells("A2").Value : If 物料規格 = "" Then : 物料規格 = ZA2 : Else : 物料規格 = 物料規格 + "、" + ZA2 : End If : End If
  103. If 明細_dgv.Rows(i).Cells("A3").Value.ToString <> "" Then
  104. ZA3 = 明細_dgv.Rows(i).Cells("A3").Value : If 物料規格 = "" Then : 物料規格 = ZA3 : Else : 物料規格 = 物料規格 + "、" + ZA3 : End If : End If
  105. If 明細_dgv.Rows(i).Cells("A4").Value.ToString <> "" Then
  106. ZA4 = 明細_dgv.Rows(i).Cells("A4").Value : If 物料規格 = "" Then : 物料規格 = ZA4 : Else : 物料規格 = 物料規格 + "、" + ZA4 : End If : End If
  107. If 明細_dgv.Rows(i).Cells("A5").Value.ToString <> "" Then
  108. ZA5 = 明細_dgv.Rows(i).Cells("A5").Value : If 物料規格 = "" Then : 物料規格 = ZA5 : Else : 物料規格 = 物料規格 + "、" + ZA5 : End If : End If
  109. If 明細_dgv.Rows(i).Cells("A6").Value.ToString <> "" Then
  110. ZA6 = 明細_dgv.Rows(i).Cells("A6").Value : If 物料規格 = "" Then : 物料規格 = ZA6 : Else : 物料規格 = 物料規格 + "、" + ZA6 : End If : End If
  111. If 明細_dgv.Rows(i).Cells("A7").Value.ToString <> "" Then
  112. ZA7 = 明細_dgv.Rows(i).Cells("A7").Value : If 物料規格 = "" Then : 物料規格 = ZA7 : Else : 物料規格 = 物料規格 + "、" + ZA7 : End If : End If
  113. If 明細_dgv.Rows(i).Cells("A8").Value.ToString <> "" Then
  114. ZA8 = 明細_dgv.Rows(i).Cells("A8").Value : If 物料規格 = "" Then : 物料規格 = ZA8 : Else : 物料規格 = 物料規格 + "、" + ZA8 : End If : End If
  115. End If
  116. 明細_dgv.Rows(i).Cells(表頭(13)).Value = 物料規格
  117. '--------------取得歷史單價------------------------------------------------------------------------------------------
  118. PA = 明細_dgv.Rows(i).Cells("料號").Value
  119. Set_單價()
  120. If 價錢_dgv.Rows.Count = 0 Then
  121. 明細_dgv.Rows(i).Cells("OUP").Value = 0
  122. Else
  123. 明細_dgv.Rows(i).Cells("OUP").Value = 價錢_dgv.Rows(0).Cells("單價").Value
  124. End If
  125. Next i
  126. 價格() : 總金額計算()
  127. End Sub
  128. Private Sub 價格()
  129. Dim 差異, 比對 As Double
  130. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  131. If 明細_dgv.Rows(i).Cells("OUP").Value = 0 And 明細_dgv.Rows(i).Cells(表頭(26)).Value = 0 Then
  132. If 深色風格 = False Then
  133. 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Lavender
  134. Else
  135. 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Navy
  136. End If
  137. 明細_dgv.Rows(i).Cells("SP%").Value = "0 % →"
  138. ElseIf 明細_dgv.Rows(i).Cells(表頭(26)).Value = 0 And 明細_dgv.Rows(i).Cells("OUP").Value <> 0 Then
  139. If 深色風格 = False Then
  140. 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Lavender
  141. Else
  142. 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Navy
  143. End If
  144. 明細_dgv.Rows(i).Cells("SP%").Value = "0 % →"
  145. ElseIf 明細_dgv.Rows(i).Cells("OUP").Value <> 0 And 明細_dgv.Rows(i).Cells(表頭(26)).Value <> 0 Then
  146. 差異 = 明細_dgv.Rows(i).Cells(表頭(26)).Value - 明細_dgv.Rows(i).Cells("OUP").Value : 比對 = 差異 / 明細_dgv.Rows(i).Cells(表頭(26)).Value * 100
  147. If 比對 > 0 Then : 明細_dgv.Rows(i).Cells("SP%").Value = CInt(比對) & " % ↗" : 比對 *= 1
  148. ElseIf 比對 < 0 Then : 明細_dgv.Rows(i).Cells("SP%").Value = CInt(比對) & " % ↘" : 比對 *= -1
  149. ElseIf 比對 = 0 Then : 明細_dgv.Rows(i).Cells("SP%").Value = CInt(比對) & " % →" : End If
  150. If 深色風格 = False Then
  151. If 比對 < 比例1 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.White
  152. ElseIf 比對 > 比例1 And 比對 < 比例2 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGreen
  153. ElseIf 比對 > 比例2 And 比對 < 比例3 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightBlue
  154. ElseIf 比對 >= 比例3 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightPink : End If
  155. Else
  156. If 比對 < 比例1 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DimGray
  157. ElseIf 比對 > 比例1 And 比對 < 比例2 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkGreen
  158. ElseIf 比對 > 比例2 And 比對 < 比例3 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.DarkBlue
  159. ElseIf 比對 >= 比例3 Then : 明細_dgv.Rows(i).DefaultCellStyle.BackColor = Color.Purple : End If
  160. End If
  161. End If
  162. Next
  163. End Sub
  164. Private Sub 總金額計算()
  165. Dim FFGG As Long = 0
  166. 總金額_tb.Text = "0"
  167. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  168. 明細_dgv.Rows(i).Cells(表頭(27)).Value = 明細_dgv.Rows(i).Cells(表頭(26)).Value * 明細_dgv.Rows(i).Cells(表頭(15)).Value
  169. FFGG = CLng(FFGG) + 明細_dgv.Rows(i).Cells(表頭(27)).Value
  170. Next i
  171. 折扣金額_tb.Text = CLng(折扣比例_tb.Text) * FFGG / 100
  172. If 稅金_ch.Checked = True Then
  173. If 折扣比例_tb.Text = "0" Then
  174. 稅金金額_tb.Text = FFGG * CLng(稅金比例_tb.Text) / 100
  175. Else
  176. 稅金金額_tb.Text = (FFGG - 折扣金額_tb.Text) * CLng(稅金比例_tb.Text) / 100
  177. End If
  178. Else
  179. 稅金金額_tb.Text = "0"
  180. End If
  181. 總金額_tb.Text = FFGG - CLng(折扣金額_tb.Text) + CLng(稅金金額_tb.Text)
  182. 折扣金額_tb.Text = Format(CLng(折扣金額_tb.Text), "#,##0") : 稅金金額_tb.Text = Format(CLng(稅金金額_tb.Text), "#,##0")
  183. 總金額_tb.Text = Format(CLng(總金額_tb.Text), "#,##0")
  184. End Sub
  185. Private Sub Set_清單2()
  186. Dim ds2 As New DataSet : 單據_dgv.DataSource = Nothing : ds2.Clear()
  187. 單據_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  188. 單據_dgv.ColumnHeadersHeight = 25 : 單據_dgv.AllowUserToAddRows = False
  189. SQL_建築物料採購單一級核准_清單()
  190. da.Fill(ds2) : 單據_dgv.DataSource = ds2.Tables(0) : conn.Close()
  191. 單據_dgv.Columns(21).FillWeight = 350 : 單據_dgv.Columns(24).Visible = False
  192. For i As Integer = 0 To 20 : 單據_dgv.Columns(i).Visible = False : Next
  193. For i As Integer = 0 To 單據_dgv.Rows.Count - 1
  194. If 單據_dgv.Rows(i).Cells("合約號").Value.ToString <> "" Then
  195. 單據_dgv.Rows(i).Cells("NO.").Value = Strings.Mid(單據_dgv.Rows(i).Cells(0).Value.ToString, 9, 6) & " _ " & 單據_dgv.Rows(i).Cells("合約號").Value.ToString.ToUpper()
  196. Else
  197. 單據_dgv.Rows(i).Cells("NO.").Value = 單據_dgv.Rows(i).Cells(0).Value.ToString
  198. End If
  199. Next
  200. End Sub
  201. Private Sub Set_清單3()
  202. Dim ds1 As New DataSet : 最新單價_dgv.DataSource = Nothing : ds1.Clear()
  203. 最新單價_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  204. 最新單價_dgv.ColumnHeadersHeight = 25 : 最新單價_dgv.AllowUserToAddRows = False
  205. PA14 = 供應商編碼_tb.Text : SQL_物料最新單價查詢()
  206. da.Fill(ds1) : 最新單價_dgv.DataSource = ds1.Tables(0) : conn.Close()
  207. End Sub
  208. Private Sub Set_清單()
  209. Dim ds1 As New DataSet : 簽名檔_dgv.DataSource = Nothing : ds1.Clear()
  210. 簽名檔_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  211. 簽名檔_dgv.ColumnHeadersHeight = 25 : 簽名檔_dgv.AllowUserToAddRows = False
  212. SQL_主管簽名檔管理()
  213. da.Fill(ds1) : 簽名檔_dgv.DataSource = ds1.Tables(0) : conn.Close()
  214. 簽名檔_dgv.Columns(0).FillWeight = 173 : 簽名檔_dgv.Columns(1).Visible = False
  215. If 簽名檔_dgv.Rows.Count = 0 Then : Else
  216. 圖片編碼_tb.Text = 簽名檔_dgv(0, 0).Value.ToString
  217. PA1 = 圖片編碼_tb.Text : SQL_主管簽名檔管理_圖片流水號()
  218. While dr.Read() = True
  219. Dim unused As Byte() = New Byte(-1) {}
  220. Dim bytes As Byte() = DirectCast(dr.Item("簽名檔圖片"), Byte())
  221. Dim oStream As New MemoryStream(bytes)
  222. 簽名檔1_pb.Image = Bitmap.FromStream(oStream)
  223. End While
  224. conn.Close() : 簽名檔1_pb.SizeMode = 4
  225. For QAZ = 0 To 999
  226. 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
  227. 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)
  228. QQW(9) = Strings.Left(QQW(2), 1) : QQW(10) = Strings.Right(QQW(3), 1) : QQW(11) = Strings.Left(QQW(3), 1)
  229. For RT = 4 To 11
  230. Dim ran = New Random(DateTime.Now.Millisecond) : Dim NUM1 As Integer = ran.Next(1, 4096)
  231. For I = 0 To 4096 : If NUM1 > 9 Then : NUM1 -= 9 : ElseIf NUM1 < 9 Then : I = 4096 : End If : Next
  232. 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
  233. ElseIf NUM1 = 6 Then : II = RT : 轉換() : ElseIf NUM1 = 7 Then : ElseIf NUM1 = 8 Then : II = RT : 轉換() : ElseIf NUM1 = 9 Then : II = RT : 轉換() : End If
  234. Next
  235. Dim ran1 = New Random(DateTime.Now.Millisecond) : Dim NUM2 As Integer = ran1.Next(1, 4096)
  236. For I = 0 To 4096 : If NUM2 > 99 Then : NUM2 -= 49 : ElseIf NUM2 < 99 Then : I = 4096 : End If : Next
  237. 驗證碼_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
  238. PA20 = 驗證碼_tb.Text : SQL_建築驗證碼()
  239. If dr.Read() = True Then : Else : QAZ = 999 : End If : conn.Close()
  240. Next
  241. PA20 = 驗證碼_tb.Text : SQL_建築驗證碼()
  242. If dr.Read() = True Then
  243. MGB(系統語言字典("H206-139-" & 語言), "1")
  244. Exit Sub
  245. End If
  246. End If
  247. End Sub
  248. Private Sub 轉換()
  249. 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"
  250. 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"
  251. ElseIf QQW(II) = "9" Then : QQW(II) = "I" : ElseIf QQW(II) = "0" Then : QQW(II) = "J"
  252. End If
  253. End Sub
  254. Private Sub 供應商_cb_下拉表單資料載入()
  255. SQL_供應商資料表_公司名_下拉用() : 供應商_cb.Items.Clear() : While (dr.Read()) : 供應商_cb.Items.Add(dr("公司名")) : End While : conn.Close()
  256. End Sub
  257. Private Sub Set_料號比價()
  258. Dim ds1 As New DataSet
  259. 料號_dgv.DataSource = Nothing : ds1.Clear()
  260. 料號_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  261. 料號_dgv.ColumnHeadersHeight = 25 : 料號_dgv.AllowUserToAddRows = False
  262. PA = 料號1_tb.Text : SQL_料號比對價格()
  263. da.Fill(ds1) : 料號_dgv.DataSource = ds1.Tables(0) : conn.Close()
  264. 料號_dgv.Columns("排序").Visible = False : 料號_dgv.Columns(3).DefaultCellStyle.Format = "#,##0.00" : 料號_dgv.Columns(3).FillWeight = 50
  265. End Sub
  266. Private Sub 語言轉換讀取()
  267. If 系統語言 = "繁體中文" Then : 語言 = "CH" : ElseIf 系統語言 = "English" Then : 語言 = "EN" : ElseIf 系統語言 = "Indonesian" Then : 語言 = "IN" : End If
  268. Me.Text = 系統語言字典("H001-168-" & 語言) : ToolTip1.ToolTipTitle = 系統語言字典("G000-108-" & 語言) : 日期_rb.Text = 系統語言字典("H206-100-" & 語言)
  269. 未核准_ib.Text = 系統語言字典("H206-101-" & 語言) : 表頭(19) = 系統語言字典("H206-103-" & 語言) : 表頭(134) = 系統語言字典("H206-104-" & 語言)
  270. 表頭(27) = 系統語言字典("H206-105-" & 語言) : 表頭(12) = 系統語言字典("H206-106-" & 語言) : 表頭(24) = 系統語言字典("H206-107-" & 語言)
  271. 表頭(13) = 系統語言字典("H206-108-" & 語言) : 表頭(14) = 系統語言字典("H206-109-" & 語言) : 表頭(16) = 系統語言字典("H206-110-" & 語言)
  272. 表頭(26) = 系統語言字典("H206-111-" & 語言) : 表頭(11) = 系統語言字典("H206-112-" & 語言) : 表頭(87) = 系統語言字典("H206-113-" & 語言)
  273. 表頭(15) = 系統語言字典("H206-114-" & 語言) : 單價_rb.Text = 系統語言字典("H206-115-" & 語言) : 項次_lb.Text = 系統語言字典("H206-116-" & 語言)
  274. 圖片編碼_lb.Text = 系統語言字典("H206-117-" & 語言) : 對話框(0) = 系統語言字典("H206-118-" & 語言) : 對話框(9) = 系統語言字典("H206-119-" & 語言)
  275. 對話框(1) = 系統語言字典("H206-120-" & 語言) : 對話框(2) = 系統語言字典("H206-121-" & 語言) : 對話框(3) = 系統語言字典("H206-122-" & 語言)
  276. 對話框(4) = 系統語言字典("H206-123-" & 語言) : 對話框(5) = 系統語言字典("H206-124-" & 語言) : 對話框(6) = 系統語言字典("H206-125-" & 語言)
  277. 對話框(7) = 系統語言字典("H206-126-" & 語言) : 對話框(8) = 系統語言字典("H206-127-" & 語言) : 選擇_lb.Text = 系統語言字典("H206-128-" & 語言)
  278. 選擇公司_lb.Text = 系統語言字典("H206-129-" & 語言) : 總金額_lb.Text = 系統語言字典("H206-130-" & 語言) : 簽核提示_lb.Text = 系統語言字典("H206-131-" & 語言)
  279. 驗證碼_lb.Text = 系統語言字典("H206-132-" & 語言) : 表頭(18) = 系統語言字典("H206-133-" & 語言) : 表頭(0) = 系統語言字典("H206-145-" & 語言)
  280. 表頭(1) = 系統語言字典("H206-146-" & 語言)
  281. End Sub
  282. Private Sub 核准_bt_MouseEnter(sender As Object, e As EventArgs) Handles 核准_bt.MouseEnter
  283. ToolTip1.SetToolTip(Me.核准_bt, 系統語言字典("H206-134-" & 語言))
  284. End Sub
  285. Private Sub 作廢_bt_MouseEnter(sender As Object, e As EventArgs) Handles 作廢_bt.MouseEnter
  286. ToolTip1.SetToolTip(Me.作廢_bt, 系統語言字典("H206-135-" & 語言))
  287. End Sub
  288. Private Sub 存檔_bt_MouseEnter(sender As Object, e As EventArgs) Handles 存檔_bt.MouseEnter
  289. ToolTip1.SetToolTip(Me.存檔_bt, 系統語言字典("H206-136-" & 語言))
  290. End Sub
  291. Private Sub 刪除一筆選中的細項資料_bt_MouseEnter(sender As Object, e As EventArgs) Handles 刪除一筆選中的細項資料_bt.MouseEnter
  292. ToolTip1.SetToolTip(Me.刪除一筆選中的細項資料_bt, 系統語言字典("H206-137-" & 語言))
  293. End Sub
  294. Private Sub 料號_bt_MouseEnter(sender As Object, e As EventArgs) Handles 料號_bt.MouseEnter
  295. ToolTip1.SetToolTip(Me.料號_bt, 系統語言字典("H206-138-" & 語言))
  296. End Sub
  297. Private Sub 採購單一級核准_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  298. Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  299. H(206) = True : 介面 = "H206" : 語言轉換讀取() : 顯示說明(999, False)
  300. 單價_rb.Checked = True : 小間距_ch.Checked = False : 中間距_ch.Checked = True : 大間距_ch.Checked = False
  301. Panel3.SendToBack()
  302. 供應商_cb_下拉表單資料載入() : Set_清單2() : Set_清單()
  303. If 驗證碼_tb.Text = "" Or 圖片編碼_tb.Text = "" Then : 作廢_bt.Enabled = False : 核准_bt.Enabled = False : End If
  304. Label4.Text = 對話框(5) & 比例1 & 對話框(6) & 比例2 & 對話框(7) & 比例2 & 對話框(6) & 比例3 & 對話框(8) & 比例3
  305. 採購單一級核准_Size()
  306. End Sub
  307. Private Sub 採購單一級核准_SizeChanged(sender As Object, e As EventArgs) Handles MyBase.SizeChanged
  308. 採購單一級核准_Size()
  309. End Sub
  310. Private Sub 採購單一級核准_Size()
  311. MyMod.清單字體大小調整()
  312. 簽名檔_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  313. 明細_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  314. 單據_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  315. 料號_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  316. End Sub
  317. Private Sub 採購單一級核准_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
  318. H(206) = False : MyMod.虛擬桌面開啟()
  319. End Sub
  320. Private Sub 語轉扭_bt_Click(sender As Object, e As EventArgs) Handles 語轉扭_bt.Click
  321. 介面 = "H206" : 語言轉換讀取()
  322. Set_清單2() : Set_單價() : Set_採購單清單() : Set_料號比價()
  323. Label4.Text = 對話框(5) & 比例1 & 對話框(6) & 比例2 & 對話框(7) & 比例2 & 對話框(6) & 比例3 & 對話框(8) & 比例3
  324. End Sub
  325. Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
  326. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  327. End Sub
  328. Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
  329. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  330. End Sub
  331. Private Sub 單價_rb_CheckedChanged(sender As Object, e As EventArgs) Handles 單價_rb.Click
  332. Set_單價()
  333. End Sub
  334. Private Sub 日期_rb_CheckedChanged(sender As Object, e As EventArgs) Handles 日期_rb.Click
  335. Set_單價()
  336. End Sub
  337. Private Sub 明細_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 明細_dgv.CellEnter
  338. 價格() : 總金額計算()
  339. End Sub
  340. Dim 已超出 As Boolean
  341. Private Sub 明細_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 明細_dgv.MouseUp
  342. 'If 明細_dgv.SelectedCells.Count = 1 Then : 通知訊息 = 明細_dgv.SelectedCells(0).ColumnIndex & " " & 明細_dgv.SelectedCells(0).RowIndex) : End If
  343. If 明細_dgv.SelectedCells.Count = 1 Then : 已超出 = False : End If
  344. If 明細_dgv.SelectedCells.Count > 0 Then
  345. If 明細_dgv.SelectedCells(0).ColumnIndex = 8 Then
  346. If 已超出 = False Then
  347. Dim x As Double = 0
  348. For i As Integer = 0 To 明細_dgv.SelectedCells.Count - 1
  349. Dim 變數 As String = "" : Dim 取變數 As String
  350. 取變數 = 明細_dgv.Rows(明細_dgv.SelectedCells.Item(i).RowIndex).Cells(明細_dgv.SelectedCells.Item(i).ColumnIndex).Value
  351. For ii As Integer = 1 To Len(取變數)
  352. If ii = 1 Then : 變數 = Strings.Left(取變數, ii) : Else : If Strings.Mid(取變數, ii, 1) <> "," Then : 變數 &= Strings.Mid(取變數, ii, 1) : End If : End If
  353. Next : x += Val(變數)
  354. Next i : HX_PGS_ERP_SYS.合計_TSSL.Text = "Total : " & Strings.Format(x, "#,##0")
  355. Else : HX_PGS_ERP_SYS.合計_TSSL.Text = "Total : " & Strings.Format(0, "#,##0")
  356. End If
  357. Else : 已超出 = True : HX_PGS_ERP_SYS.合計_TSSL.Text = "Total : " & Strings.Format(0, "#,##0")
  358. End If
  359. End If
  360. End Sub
  361. Private Sub 明細_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 明細_dgv.CellClick
  362. If e.RowIndex = -1 Then : Else
  363. 項次_tb.Text = 明細_dgv.Rows(e.RowIndex).Cells("項次01").Value : PA1 = 明細_dgv.Rows(e.RowIndex).Cells("群組碼").Value : PA2 = 明細_dgv.Rows(e.RowIndex).Cells("料號原則").Value
  364. 編號_tb.Text = 明細_dgv.Rows(e.RowIndex).Cells(表頭(11)).Value : SQL_物料圖庫_圖檔讀取()
  365. While dr.Read() = True
  366. Dim unused As Byte() = New Byte(-1) {}
  367. Dim bytes As Byte() = DirectCast(dr.Item("圖檔"), Byte())
  368. Dim oStream As New MemoryStream(bytes)
  369. 物料圖檔_pb.Image = Bitmap.FromStream(oStream)
  370. End While : conn.Close() : 物料圖檔_pb.SizeMode = 4
  371. 料號1_tb.Text = 明細_dgv("料號", e.RowIndex).Value.ToString
  372. 品名_tb.Text = 明細_dgv(表頭(12), e.RowIndex).Value.ToString
  373. If 歷史單價_P.Visible = True Then : Set_料號比價() : 繪圖() : 料號_dgv.Sort(料號_dgv.Columns("排序"), System.ComponentModel.ListSortDirection.Descending) : End If
  374. End If
  375. 價格()
  376. End Sub
  377. Private Sub 簽名檔_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 簽名檔_dgv.CellClick
  378. If e.RowIndex = -1 Then : Else
  379. 圖片編碼_tb.Text = 簽名檔_dgv(0, e.RowIndex).Value.ToString
  380. PA1 = 圖片編碼_tb.Text : SQL_主管簽名檔管理_圖片流水號()
  381. While dr.Read() = True
  382. Dim unused As Byte() = New Byte(-1) {}
  383. Dim bytes As Byte() = DirectCast(dr.Item("簽名檔圖片"), Byte())
  384. Dim oStream As New MemoryStream(bytes)
  385. 簽名檔1_pb.Image = Bitmap.FromStream(oStream)
  386. End While : conn.Close() : 簽名檔1_pb.SizeMode = 4
  387. For QAZ = 0 To 999
  388. 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
  389. 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)
  390. QQW(9) = Strings.Left(QQW(2), 1) : QQW(10) = Strings.Right(QQW(3), 1) : QQW(11) = Strings.Left(QQW(3), 1)
  391. For RT = 4 To 11
  392. Dim ran = New Random(DateTime.Now.Millisecond) : Dim NUM1 As Integer = ran.Next(1, 4096)
  393. For I = 0 To 4096 : If NUM1 > 9 Then : NUM1 -= 9 : ElseIf NUM1 < 9 Then : I = 4096 : End If : Next
  394. 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
  395. ElseIf NUM1 = 6 Then : II = RT : 轉換() : ElseIf NUM1 = 7 Then : ElseIf NUM1 = 8 Then : II = RT : 轉換() : ElseIf NUM1 = 9 Then : II = RT : 轉換() : End If
  396. Next
  397. Dim ran1 = New Random(DateTime.Now.Millisecond) : Dim NUM2 As Integer = ran1.Next(1, 4096)
  398. For I = 0 To 4096 : If NUM2 > 99 Then : NUM2 -= 49 : ElseIf NUM2 < 99 Then : I = 4096 : End If : Next
  399. 驗證碼_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
  400. PA20 = 驗證碼_tb.Text : SQL_建築驗證碼() : If dr.Read() = True Then : Else : QAZ = 999 : End If : conn.Close()
  401. Next
  402. PA20 = 驗證碼_tb.Text : SQL_建築驗證碼()
  403. If dr.Read() = True Then
  404. MGB(系統語言字典("H206-139-" & 語言), "1") : Exit Sub
  405. End If
  406. End If
  407. End Sub
  408. Private Sub 單據_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 單據_dgv.CellClick
  409. If e.RowIndex = -1 Then : Else
  410. If 單據_dgv("總價", e.RowIndex).Value <= 建築採購簽核級別基數 Then : 簽核提示_lb.Text = 系統語言字典("H206-141-" & 語言)
  411. ElseIf 單據_dgv("總價", e.RowIndex).Value > 建築採購簽核級別基數 Then : 簽核提示_lb.Text = 系統語言字典("H206-142-" & 語言) : End If
  412. 採購單號_tb.Text = 單據_dgv(0, e.RowIndex).Value.ToString : 折扣比例_tb.Text = 單據_dgv(13, e.RowIndex).Value.ToString : 稅金_ch.Checked = 單據_dgv(14, e.RowIndex).Value
  413. 稅金比例_tb.Text = 單據_dgv(15, e.RowIndex).Value.ToString : 單據總價 = 單據_dgv("總價", e.RowIndex).Value
  414. If Strings.Left(採購單號_tb.Text, 3) = "HXI" Then : 選擇公司_cb.Text = "PT HONG XHE INDUSTRIAL"
  415. ElseIf Strings.Left(採購單號_tb.Text, 3) = "PGS" Then : 選擇公司_cb.Text = "PT PUNCAK GEMILANG SEMESTA" : End If
  416. 供應商編碼_tb.Text = 單據_dgv(1, e.RowIndex).Value.ToString : conn.Close()
  417. PA1 = 供應商編碼_tb.Text : SQL_建築物料採購單生成_供應商資料一()
  418. If dr.Read() Then : 供應商_cb.Text = dr("公司名") : conn.Close() : End If : conn.Close()
  419. 使用地點_tb.Text = 單據_dgv(3, e.RowIndex).Value.ToString : 需求時間_dtp.Value = 單據_dgv(2, e.RowIndex).Value
  420. Set_採購單清單() : 歷史單價_P.Visible = False
  421. End If
  422. End Sub
  423. Private Sub 供應商_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 供應商_cb.SelectedIndexChanged
  424. PA1 = 供應商_cb.Text : SQL_建築物料採購單生成_供應商資料二()
  425. If dr.Read() Then : 供應商編碼_tb.Text = dr("供應商編碼") : 地址_tb.Text = dr("公司地址") : 電話_tb.Text = dr("公司電話1")
  426. 郵件_tb.Text = dr("聯繫人1郵箱") : 傳真_tb.Text = dr("公司傳真1") : End If
  427. conn.Close()
  428. End Sub
  429. Private Sub 供應商編碼_tb_TextChanged(sender As Object, e As EventArgs) Handles 供應商編碼_tb.TextChanged
  430. Set_清單3()
  431. End Sub
  432. Private Sub Set_日期格式轉換()
  433. DTP = Format(Today(), "yyyy/MM/dd") : DTP2 = Format(需求時間_dtp.Value, "yyyy/MM/dd")
  434. End Sub
  435. Private Sub 核准_bt_Click(sender As Object, e As EventArgs) Handles 核准_bt.Click
  436. If 手動號碼_tb.Text = "" Then : MGB(系統語言字典("H206-143-" & 語言), 1) : Else
  437. If 單據總價 = 0 Then : MGB(系統語言字典("H206-144-" & 語言), 1) : Else
  438. Set_日期格式轉換()
  439. If 簽名檔_dgv.Rows.Count = 0 Then : Else
  440. If Val(登入人級別) = 0 Then : Else : 圖片編碼_tb.Text = 簽名檔_dgv(0, 0).Value.ToString : End If
  441. PA1 = 圖片編碼_tb.Text : SQL_主管簽名檔管理_圖片流水號()
  442. While dr.Read() = True
  443. Dim unused As Byte() = New Byte(-1) {}
  444. Dim bytes As Byte() = DirectCast(dr.Item("簽名檔圖片"), Byte())
  445. Dim oStream As New MemoryStream(bytes)
  446. 簽名檔1_pb.Image = Bitmap.FromStream(oStream)
  447. End While : conn.Close() : 簽名檔1_pb.SizeMode = 4
  448. For QAZ = 0 To 999
  449. 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
  450. 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)
  451. QQW(9) = Strings.Left(QQW(2), 1) : QQW(10) = Strings.Right(QQW(3), 1) : QQW(11) = Strings.Left(QQW(3), 1)
  452. For RT = 4 To 11
  453. Dim ran = New Random(DateTime.Now.Millisecond) : Dim NUM1 As Integer = ran.Next(1, 4096)
  454. For I = 0 To 4096 : If NUM1 > 9 Then : NUM1 -= 9 : ElseIf NUM1 < 9 Then : I = 4096 : End If : Next
  455. 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
  456. ElseIf NUM1 = 6 Then : II = RT : 轉換() : ElseIf NUM1 = 7 Then : ElseIf NUM1 = 8 Then : II = RT : 轉換() : ElseIf NUM1 = 9 Then : II = RT : 轉換() : End If
  457. Next
  458. Dim ran1 = New Random(DateTime.Now.Millisecond) : Dim NUM2 As Integer = ran1.Next(1, 4096)
  459. For I = 0 To 4096 : If NUM2 > 99 Then : NUM2 -= 49 : ElseIf NUM2 < 99 Then : I = 4096 : End If : Next
  460. 驗證碼_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
  461. PA20 = 驗證碼_tb.Text : SQL_建築驗證碼() : If dr.Read() = True Then : Else : QAZ = 999 : End If : conn.Close()
  462. Next
  463. End If
  464. PA20 = 驗證碼_tb.Text : SQL_建築驗證碼()
  465. If dr.Read() = True Then : MGB(系統語言字典("H206-139-" & 語言), "1") : Exit Sub : End If
  466. If 單據總價 <= 建築採購簽核級別基數 Then : SQL_建築物料採購單一級核准_不需二級() : conn.Close()
  467. ElseIf 單據總價 > 建築採購簽核級別基數 Then : SQL_建築物料採購單一級核准_需二級() : conn.Close()
  468. '---LINE_AUTO 部門主管------------------------------------------------------------------------------------------------------------------------------------------
  469. If 登入人IP = 測試IP Then : Else : LIN訊息通知("CC204", "李協叡", 採購單號_tb.Text) : LIN訊息通知("CC204", "LIN HSING HAO", 採購單號_tb.Text) : End If
  470. End If
  471. PA1 = 供應商編碼_tb.Text : PA5 = Strings.Mid(採購單號_tb.Text, 7, 8)
  472. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  473. If CLng(明細_dgv.Rows(i).Cells(表頭(26)).Value.ToString) > 0 Then
  474. PA2 = 明細_dgv.Rows(i).Cells("料號").Value.ToString : PA3 = 明細_dgv.Rows(i).Cells(表頭(26)).Value.ToString
  475. SQL_供應商商品_採購清單_查詢() : If dr.Read Then : SQL_供應商商品_採購清單_修改() : Else : SQL_供應商商品_採購清單_新增() : End If
  476. End If
  477. Next
  478. 明細_dgv.DataSource = Nothing : 手動號碼_tb.Text = "" : Set_清單2() : MGB(對話框(0), 1)
  479. End If
  480. End If
  481. End Sub
  482. Private Sub 作廢_bt_Click(sender As Object, e As EventArgs) Handles 作廢_bt.Click
  483. PA11 = 採購單號_tb.Text
  484. SQL_採購單控制表_作廢() : conn.Close() : Set_清單2() : MGB(對話框(1), 1)
  485. 明細_dgv.DataSource = Nothing
  486. End Sub
  487. Private Sub 存檔_bt_Click(sender As Object, e As EventArgs) Handles 存檔_bt.Click
  488. Set_日期格式轉換()
  489. PA1 = 供應商編碼_tb.Text : PA2 = 使用地點_tb.Text : PA3 = 折扣比例_tb.Text : BL1 = 稅金_ch.Checked : PA4 = 稅金比例_tb.Text : PA5 = 採購單號_tb.Text
  490. SQL_採購單控制表_修改() : conn.Close()
  491. 存檔() : Set_清單2() : MGB(對話框(2), 1)
  492. End Sub
  493. Private Sub 存檔()
  494. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  495. 資料數 = 明細_dgv.Rows.Count : MyMod.進度條()
  496. PA11 = 明細_dgv.Rows(i).Cells(表頭(12)).Value : PA12 = 明細_dgv.Rows(i).Cells(表頭(13)).Value : PA6 = 明細_dgv.Rows(i).Cells(表頭(14)).Value
  497. PA7 = 明細_dgv.Rows(i).Cells(表頭(26)).Value : PA8 = 明細_dgv.Rows(i).Cells(表頭(15)).Value : PA9 = 明細_dgv.Rows(i).Cells(表頭(16)).Value
  498. PA5 = 採購單號_tb.Text : PA10 = 明細_dgv.Rows(i).Cells("項次01").Value : PA4 = 明細_dgv.Rows(i).Cells("KEY").Value
  499. SQL_採購單明細表_修改二() : conn.Close()
  500. Next : HX_PGS_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  501. End Sub
  502. Private Sub 刪除一筆選中的細項資料_bt_Click(sender As Object, e As EventArgs) Handles 刪除一筆選中的細項資料_bt.Click
  503. If 項次_tb.Text = "" Then
  504. MGB(對話框(3), 1)
  505. Else
  506. MGB(對話框(4), 2)
  507. If 訊息回應 = "YES" Then
  508. 存檔()
  509. PA1 = 採購單號_tb.Text : PA2 = 項次_tb.Text
  510. SQL_採購單明細表_刪除() : conn.Close()
  511. Set_採購單清單()
  512. Dim NUM1 As Integer = 0
  513. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  514. NUM1 += 1 : If NUM1 < 10 Then : 新項次 = "0" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1 : End If
  515. PA18 = 新項次 : PA19 = 採購單號_tb.Text : PA20 = 明細_dgv.Rows(i).Cells("項次01").Value
  516. SQL_建築物料採購單一級核准料_新項次() : conn.Close()
  517. Next
  518. Set_採購單清單() : 項次_tb.Text = ""
  519. End If
  520. End If
  521. End Sub
  522. Private Sub 料號_bt_Click(sender As Object, e As EventArgs) Handles 料號_bt.Click
  523. If 歷史單價_P.Visible = True Then : 歷史單價_P.Visible = False : Else
  524. If 料號1_tb.Text = "" Then
  525. MGB(系統語言字典("H206-140-" & 語言), "1")
  526. Else
  527. Set_料號比價() : 歷史單價_P.Visible = True : 繪圖()
  528. 料號_dgv.Sort(料號_dgv.Columns("排序"), System.ComponentModel.ListSortDirection.Descending)
  529. End If
  530. End If : 料號1_tb.Text = ""
  531. End Sub
  532. Private Sub 繪圖()
  533. Chart1.Series.Clear() : Chart1.ChartAreas(0).AxisX.Minimum = 0
  534. Chart1.ChartAreas(0).AxisY.LabelStyle.Font = New Font("Arial", 8) : Chart1.ChartAreas(0).AxisY.LabelStyle.Format = "Rp " & "#,##0"
  535. If 品名_tb.Text <> "" Then
  536. If 折線圖_ch.Checked = True Then
  537. Chart1.Series.Add(品名_tb.Text & "_1") : Chart1.Series(品名_tb.Text & "_1").ChartType = SeriesChartType.Line : Chart1.Series(品名_tb.Text & "_1").IsVisibleInLegend = False
  538. End If
  539. If 長條圖_ch.Checked = True Then
  540. Chart1.Series.Add(品名_tb.Text) : Chart1.Series(品名_tb.Text).ChartType = SeriesChartType.Column
  541. End If
  542. Chart1.Series(品名_tb.Text).IsValueShownAsLabel = False : Chart1.Series(品名_tb.Text).IsVisibleInLegend = False : Chart1.Series(品名_tb.Text).IsXValueIndexed = False
  543. For i As Integer = 0 To 料號_dgv.Rows.Count - 1
  544. Chart1.Series(品名_tb.Text).Points.AddXY(料號_dgv.Rows(i).Cells(表頭(134)).Value.ToString, 料號_dgv.Rows(i).Cells(表頭(26)).Value.ToString)
  545. Next
  546. End If
  547. Chart1.ChartAreas(0).BackColor = Color.Transparent : Chart1.Legends(0).BackColor = Color.Transparent
  548. If 深色風格 = False Then
  549. If 折線圖_ch.Checked = True Then
  550. Chart1.Series(品名_tb.Text & "_1").LabelForeColor = Color.Blue
  551. End If
  552. If 長條圖_ch.Checked = True Then
  553. Chart1.Series(品名_tb.Text).LabelForeColor = Color.Blue
  554. End If
  555. Chart1.ChartAreas(0).AxisX.MajorGrid.LineColor = Color.Black : Chart1.ChartAreas(0).AxisY.MajorGrid.LineColor = Color.Black
  556. Chart1.ChartAreas(0).AxisX.LineColor = Color.Black : Chart1.ChartAreas(0).AxisY.LineColor = Color.Black
  557. Chart1.ChartAreas(0).AxisX.LabelStyle.ForeColor = Color.Black : Chart1.ChartAreas(0).AxisY.LabelStyle.ForeColor = Color.Black
  558. Else
  559. If 折線圖_ch.Checked = True Then
  560. Chart1.Series(品名_tb.Text & "_1").LabelForeColor = Color.White
  561. End If
  562. If 長條圖_ch.Checked = True Then
  563. Chart1.Series(品名_tb.Text).LabelForeColor = Color.White
  564. End If
  565. Chart1.ChartAreas(0).AxisX.MajorGrid.LineColor = Color.White : Chart1.ChartAreas(0).AxisY.MajorGrid.LineColor = Color.White
  566. Chart1.ChartAreas(0).AxisX.LineColor = Color.White : Chart1.ChartAreas(0).AxisY.LineColor = Color.White
  567. Chart1.ChartAreas(0).AxisX.LabelStyle.ForeColor = Color.White : Chart1.ChartAreas(0).AxisY.LabelStyle.ForeColor = Color.White
  568. End If
  569. End Sub
  570. Private Sub 小間距_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 小間距_ch.Click
  571. 小間距_ch.Checked = True : 中間距_ch.Checked = False : 大間距_ch.Checked = False : Set_採購單清單()
  572. End Sub
  573. Private Sub 中間距_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 中間距_ch.Click
  574. 小間距_ch.Checked = False : 中間距_ch.Checked = True : 大間距_ch.Checked = False : Set_採購單清單()
  575. End Sub
  576. Private Sub 大間距_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 大間距_ch.Click
  577. 小間距_ch.Checked = False : 中間距_ch.Checked = False : 大間距_ch.Checked = True : Set_採購單清單()
  578. End Sub
  579. Private Sub 物料圖檔_pb_Click(sender As Object, e As EventArgs) Handles 物料圖檔_pb.Click
  580. If IsNothing(物料圖檔_pb.Image) = False Then : 圖片傳遞 = 物料圖檔_pb.Image : 圖片放大視窗.ShowDialog() : End If
  581. End Sub
  582. Private Sub 詳細資料2_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 詳細資料2_ch.Click
  583. If 詳細資料2_ch.Checked = True Then : 詳細資料2_ch.Checked = True : Else : 詳細資料2_ch.Checked = False : End If : Set_採購單清單()
  584. End Sub
  585. End Class