Няма описание
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 57KB

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