暂无描述
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

採購單二級核准.vb 44KB

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