説明なし
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

採購單二級核准.vb 56KB

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