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.

採購單二級核准.vb 55KB

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