Geen omschrijving
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 46KB

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