Bez popisu
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 45KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602
  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. PA20 = 驗證碼_tb.Text : SQL_建築驗證碼()
  220. If dr.Read() = True Then
  221. If 系統語言 = "繁體中文" Then : MsgBox("沒有生成可用亂數,請找系統管理員!!") : Else : MsgBox("Tidak ada nomor acak yang dihasilkan, silakan hubungi administrator sistem!!") : End If
  222. Exit Sub
  223. End If
  224. End If
  225. End Sub
  226. Private Sub 轉換()
  227. 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"
  228. 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"
  229. ElseIf QQW(II) = "9" Then : QQW(II) = "I" : ElseIf QQW(II) = "0" Then : QQW(II) = "J"
  230. End If
  231. End Sub
  232. Private Sub 供應商_cb_下拉表單資料載入()
  233. SQL_供應商資料表_公司名_下拉用() : 供應商_cb.Items.Clear() : While (dr.Read()) : 供應商_cb.Items.Add(dr("公司名")) : End While : conn.Close()
  234. End Sub
  235. Private Sub Set_語言()
  236. 語言_dgv.DataSource = Nothing : ds8.Clear()
  237. 語言_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  238. 語言_dgv.ColumnHeadersHeight = 25
  239. 語言_dgv.AllowUserToAddRows = False
  240. SQL_系統語言導入()
  241. da.Fill(ds8) : 語言_dgv.DataSource = ds8.Tables(0) : conn.Close()
  242. End Sub
  243. Private Sub Set_料號比價()
  244. Dim ds1 As New DataSet
  245. 料號_dgv.DataSource = Nothing : ds1.Clear()
  246. 料號_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  247. 料號_dgv.ColumnHeadersHeight = 25
  248. 料號_dgv.AllowUserToAddRows = False
  249. PA = 料號1_tb.Text : SQL_料號比對價格()
  250. da.Fill(ds1) : 料號_dgv.DataSource = ds1.Tables(0) : conn.Close()
  251. 料號_dgv.Columns(3).DefaultCellStyle.Format = "#,##0.00"
  252. 料號_dgv.Columns(3).FillWeight = 50
  253. End Sub
  254. Private Sub 語言轉換讀取()
  255. Set_語言() : conn.Close()
  256. For i As Integer = 0 To 語言_dgv.Rows.Count - 1
  257. If 語言_dgv("控件", i).Value.ToString = "建築物料採購單二級核准" Then : Me.Text = 語言_dgv("內容", i).Value.ToString : End If
  258. If 語言_dgv("控件", i).Value.ToString = "未核准_ib" Then : 未核准_ib.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 = "選擇公司_lb" Then : 選擇公司_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  261. If 語言_dgv("控件", i).Value.ToString = "驗證碼_lb" Then : 驗證碼_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  262. If 語言_dgv("控件", i).Value.ToString = "圖片編碼_lb" Then : 圖片編碼_lb.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 = "重新整理_tsm" Then : 重新整理_tsm.Text = 語言_dgv("內容", i).Value.ToString : End If
  266. If 語言_dgv("控件", i).Value.ToString = "單價_rb" Then : 單價_rb.Text = 語言_dgv("內容", i).Value.ToString : End If
  267. If 語言_dgv("控件", i).Value.ToString = "日期_rb" Then : 日期_rb.Text = 語言_dgv("內容", i).Value.ToString : End If
  268. If 語言_dgv("控件", i).Value.ToString = "一級簽核_lb" Then : 一級簽核_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  269. If 語言_dgv("控件", i).Value.ToString = "二級簽核_lb" Then : 二級簽核_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  270. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_項次" Then : 表頭(11) = 語言_dgv("內容", i).Value.ToString : End If
  271. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_品名" Then : 表頭(12) = 語言_dgv("內容", i).Value.ToString : End If
  272. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_規格" Then : 表頭(13) = 語言_dgv("內容", i).Value.ToString : End If
  273. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_備註" Then : 表頭(14) = 語言_dgv("內容", i).Value.ToString : End If
  274. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_數量" Then : 表頭(15) = 語言_dgv("內容", i).Value.ToString : End If
  275. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_單位" Then : 表頭(16) = 語言_dgv("內容", i).Value.ToString : End If
  276. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_單價" Then : 表頭(26) = 語言_dgv("內容", i).Value.ToString : End If
  277. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_單號" Then : 表頭(18) = 語言_dgv("內容", i).Value.ToString : End If
  278. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_金額" Then : 表頭(27) = 語言_dgv("內容", i).Value.ToString : End If
  279. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_圖檔編碼" Then : 表頭(87) = 語言_dgv("內容", i).Value.ToString : End If
  280. If 語言_dgv("控件", i).Value.ToString = "對話框1" Then : 對話框(0) = 語言_dgv("內容", i).Value.ToString : End If
  281. If 語言_dgv("控件", i).Value.ToString = "對話框2" Then : 對話框(1) = 語言_dgv("內容", i).Value.ToString : End If
  282. If 語言_dgv("控件", i).Value.ToString = "對話框3" Then : 對話框(2) = 語言_dgv("內容", i).Value.ToString : End If
  283. If 語言_dgv("控件", i).Value.ToString = "對話框4" Then : 對話框(3) = 語言_dgv("內容", i).Value.ToString : End If
  284. If 語言_dgv("控件", i).Value.ToString = "對話框5" Then : 對話框(4) = 語言_dgv("內容", i).Value.ToString : End If
  285. If 語言_dgv("控件", i).Value.ToString = "對話框6" Then : 對話框(5) = 語言_dgv("內容", i).Value.ToString : End If
  286. If 語言_dgv("控件", i).Value.ToString = "對話框7" Then : 對話框(6) = 語言_dgv("內容", i).Value.ToString : End If
  287. If 語言_dgv("控件", i).Value.ToString = "對話框8" Then : 對話框(7) = 語言_dgv("內容", i).Value.ToString : End If
  288. If 語言_dgv("控件", i).Value.ToString = "對話框9" Then : 對話框(8) = 語言_dgv("內容", i).Value.ToString : End If
  289. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_合約號" Then : 表頭(134) = 語言_dgv("內容", i).Value.ToString : End If
  290. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_申請人" Then : 表頭(19) = 語言_dgv("內容", i).Value.ToString : End If
  291. If 語言_dgv("控件", i).Value.ToString = "對話框10" Then : 對話框(9) = 語言_dgv("內容", i).Value.ToString : End If
  292. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_採購單號" Then : 表頭(24) = 語言_dgv("內容", i).Value.ToString : End If
  293. Next
  294. End Sub
  295. Private Sub 建築物料採購單核准_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  296. Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  297. H(207) = True : 介面 = "H207" : 語言轉換讀取()
  298. 地址_tb.Enabled = False : 電話_tb.Enabled = False : 郵件_tb.Enabled = False : 採購單號_tb.Enabled = False : 傳真_tb.Enabled = False : 供應商編碼_tb.Visible = False
  299. 驗證碼_tb.Enabled = False : 圖片編碼_tb.Enabled = False : ComboBox1.Enabled = False : 折扣金額_tb.Enabled = False : 稅金金額_tb.Enabled = False : 總金額_tb.Enabled = False
  300. 項次_tb.Visible = False : 單價_rb.Checked = True
  301. SQL_清單欄位查詢()
  302. If Acdr.Read() Then
  303. 小間距1_ch.Checked = Acdr("L_1_1") : 中間距1_ch.Checked = Acdr("L_2_1") : 大間距1_ch.Checked = Acdr("L_3_1")
  304. End If : Access1.Close()
  305. 供應商_cb_下拉表單資料載入() : Set_清單2() : Set_清單()
  306. If 驗證碼_tb.Text = "" Or 圖片編碼_tb.Text = "" Then : 作廢_bt.Enabled = False : 核准_bt.Enabled = False : End If
  307. Label4.Text = 對話框(5) & 比例1 & 對話框(6) & 比例2 & 對話框(7) & 比例2 & 對話框(6) & 比例3 & 對話框(8) & 比例3
  308. 採購單詢價_Size()
  309. End Sub
  310. Private Sub 採購單詢價_SizeChanged(sender As Object, e As EventArgs) Handles MyBase.SizeChanged
  311. 採購單詢價_Size()
  312. End Sub
  313. Private Sub 採購單詢價_Size()
  314. MyModule1.清單字體大小調整()
  315. 簽名檔_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  316. 明細_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  317. 單據_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  318. 料號_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", HX_PGS_ERP_SYS.字體_NUD.Value)
  319. End Sub
  320. Private Sub 採購單詢價_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
  321. H(207) = False : MyModule1.虛擬桌面開啟()
  322. End Sub
  323. Private Sub 語轉扭_bt_Click(sender As Object, e As EventArgs) Handles 語轉扭_bt.Click
  324. 介面 = "H207" : 語言轉換讀取()
  325. Set_清單2() : Set_單價() : Set_採購單清單() : Set_料號比價()
  326. Label4.Text = 對話框(5) & 比例1 & 對話框(6) & 比例2 & 對話框(7) & 比例2 & 對話框(6) & 比例3 & 對話框(8) & 比例3
  327. End Sub
  328. Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
  329. timeNow = 0
  330. HX_PGS_ERP_SYS.Timer1.Enabled = False
  331. HX_PGS_ERP_SYS.Timer1.Enabled = True
  332. End Sub
  333. Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
  334. timeNow = 0
  335. HX_PGS_ERP_SYS.Timer1.Enabled = False
  336. HX_PGS_ERP_SYS.Timer1.Enabled = True
  337. End Sub
  338. Dim 已超出 As Boolean
  339. Private Sub 明細_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 明細_dgv.MouseUp
  340. 'If 明細_dgv.SelectedCells.Count = 1 Then : MsgBox(明細_dgv.SelectedCells(0).ColumnIndex & " " & 明細_dgv.SelectedCells(0).RowIndex) : End If
  341. If 明細_dgv.SelectedCells.Count = 1 Then : 已超出 = False : End If
  342. If 明細_dgv.SelectedCells.Count > 0 Then
  343. If 明細_dgv.SelectedCells(0).ColumnIndex = 8 Then
  344. If 已超出 = False Then
  345. Dim x As Double = 0
  346. For i As Integer = 0 To 明細_dgv.SelectedCells.Count - 1
  347. Dim 變數 As String = "" : Dim 取變數 As String
  348. 取變數 = 明細_dgv.Rows(明細_dgv.SelectedCells.Item(i).RowIndex).Cells(明細_dgv.SelectedCells.Item(i).ColumnIndex).Value
  349. For ii As Integer = 1 To Len(取變數)
  350. If ii = 1 Then : 變數 = Strings.Left(取變數, ii) : Else : If Strings.Mid(取變數, ii, 1) <> "," Then : 變數 &= Strings.Mid(取變數, ii, 1) : End If : End If
  351. Next : x += Val(變數)
  352. Next i : HX_PGS_ERP_SYS.合計_TSSL.Text = "Total : " & Strings.Format(x, "#,##0")
  353. Else : HX_PGS_ERP_SYS.合計_TSSL.Text = "Total : " & Strings.Format(0, "#,##0")
  354. End If
  355. Else : 已超出 = True : HX_PGS_ERP_SYS.合計_TSSL.Text = "Total : " & Strings.Format(0, "#,##0")
  356. End If
  357. End If
  358. End Sub
  359. Private Sub 明細_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 明細_dgv.CellEnter
  360. 總金額計算() : 價格()
  361. End Sub
  362. Private Sub 明細_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 明細_dgv.CellClick
  363. If e.RowIndex = -1 Then : Else
  364. 項次_tb.Text = 明細_dgv.Rows(e.RowIndex).Cells("項次01").Value : PA1 = 明細_dgv.Rows(e.RowIndex).Cells("群組碼").Value : PA2 = 明細_dgv.Rows(e.RowIndex).Cells("料號原則").Value
  365. 編號_tb.Text = 明細_dgv.Rows(e.RowIndex).Cells("" & 表頭(11) & "").Value : SQL_物料圖庫_圖檔讀取()
  366. While dr.Read() = True
  367. Dim unused As Byte() = New Byte(-1) {}
  368. Dim bytes As Byte() = DirectCast(dr.Item("圖檔"), Byte())
  369. Dim oStream As New MemoryStream(bytes)
  370. 物料圖檔_pb.Image = Bitmap.FromStream(oStream)
  371. End While
  372. conn.Close() : 物料圖檔_pb.SizeMode = 4
  373. 料號1_tb.Text = 明細_dgv("料號", e.RowIndex).Value.ToString
  374. 品名_tb.Text = 明細_dgv(表頭(12), e.RowIndex).Value.ToString
  375. If 歷史單價_P.Visible = True Then : Set_料號比價() : 繪圖() : End If
  376. End If
  377. 價格()
  378. End Sub
  379. Private Sub 簽名檔_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 簽名檔_dgv.CellClick
  380. If e.RowIndex = -1 Then : Else
  381. 圖片編碼_tb.Text = 簽名檔_dgv(0, e.RowIndex).Value.ToString
  382. PA1 = 圖片編碼_tb.Text : SQL_主管簽名檔管理_圖片流水號()
  383. While dr.Read() = True
  384. Dim unused As Byte() = New Byte(-1) {}
  385. Dim bytes As Byte() = DirectCast(dr.Item("簽名檔圖片"), Byte())
  386. Dim oStream As New MemoryStream(bytes)
  387. 簽名檔2_pb.Image = Bitmap.FromStream(oStream)
  388. End While
  389. conn.Close() : 簽名檔2_pb.SizeMode = 4
  390. For QAZ = 0 To 999
  391. 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
  392. 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)
  393. QQW(9) = Strings.Left(QQW(2), 1) : QQW(10) = Strings.Right(QQW(3), 1) : QQW(11) = Strings.Left(QQW(3), 1)
  394. For RT = 4 To 11
  395. Dim ran = New Random(DateTime.Now.Millisecond) : Dim NUM1 As Integer = ran.Next(1, 4096)
  396. For I = 0 To 4096 : If NUM1 > 9 Then : NUM1 -= 9 : ElseIf NUM1 < 9 Then : I = 4096 : End If : Next
  397. 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
  398. ElseIf NUM1 = 6 Then : II = RT : 轉換() : ElseIf NUM1 = 7 Then : ElseIf NUM1 = 8 Then : II = RT : 轉換() : ElseIf NUM1 = 9 Then : II = RT : 轉換() : End If
  399. Next
  400. Dim ran1 = New Random(DateTime.Now.Millisecond) : Dim NUM2 As Integer = ran1.Next(1, 4096)
  401. For I = 0 To 4096 : If NUM2 > 99 Then : NUM2 -= 49 : ElseIf NUM2 < 99 Then : I = 4096 : End If : Next
  402. 驗證碼_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
  403. PA20 = 驗證碼_tb.Text : SQL_建築驗證碼()
  404. If dr.Read() = True Then : Else : QAZ = 999 : End If : conn.Close()
  405. Next
  406. PA20 = 驗證碼_tb.Text : SQL_建築驗證碼()
  407. If dr.Read() = True Then
  408. If 系統語言 = "繁體中文" Then : MsgBox("沒有生成可用亂數,請找系統管理員!!") : Else : MsgBox("Tidak ada nomor acak yang dihasilkan, silakan hubungi administrator sistem!!") : End If
  409. Exit Sub
  410. End If
  411. End If
  412. End Sub
  413. Private Sub 單據_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 單據_dgv.CellClick
  414. If e.RowIndex = -1 Then : Else
  415. 採購單號_tb.Text = 單據_dgv(0, e.RowIndex).Value.ToString : 折扣比例_tb.Text = 單據_dgv(13, e.RowIndex).Value.ToString : 稅金_ch.Checked = 單據_dgv(14, e.RowIndex).Value
  416. 稅金比例_tb.Text = 單據_dgv(15, e.RowIndex).Value.ToString
  417. If Strings.Left(採購單號_tb.Text, 3) = "HXI" Then : ComboBox1.Text = "PT HONG XHE INDUSTRIAL"
  418. ElseIf Strings.Left(採購單號_tb.Text, 3) = "PGS" Then : ComboBox1.Text = "PT PUNCAK GEMILANG SEMESTA" : End If
  419. 簽名檔1_pb.Image = Nothing
  420. PA1 = 單據_dgv("一級核准簽名檔編號", e.RowIndex).Value.ToString : SQL_主管簽名檔管理_圖片流水號()
  421. While dr.Read() = True
  422. Dim unused As Byte() = New Byte(-1) {}
  423. Dim bytes As Byte() = DirectCast(dr.Item("簽名檔圖片"), Byte())
  424. Dim oStream As New MemoryStream(bytes)
  425. 簽名檔1_pb.Image = Bitmap.FromStream(oStream)
  426. End While
  427. conn.Close() : 簽名檔1_pb.SizeMode = 4
  428. 供應商編碼_tb.Text = 單據_dgv(1, e.RowIndex).Value.ToString : conn.Close()
  429. PA1 = 供應商編碼_tb.Text : SQL_建築物料採購單生成_供應商資料一()
  430. If dr.Read() Then : 供應商_cb.Text = dr("公司名") : conn.Close() : End If : conn.Close()
  431. 使用地點_tb.Text = 單據_dgv(3, e.RowIndex).Value.ToString : 需求時間_dtp.Value = 單據_dgv(2, e.RowIndex).Value
  432. Set_採購單清單()
  433. End If
  434. End Sub
  435. Private Sub 供應商_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 供應商_cb.SelectedIndexChanged
  436. PA1 = 供應商_cb.Text : SQL_建築物料採購單生成_供應商資料二()
  437. If dr.Read() Then : 供應商編碼_tb.Text = dr("供應商編碼") : 地址_tb.Text = dr("公司地址") : 電話_tb.Text = dr("公司電話1")
  438. 郵件_tb.Text = dr("聯繫人1郵箱") : 傳真_tb.Text = dr("公司傳真1") : End If
  439. conn.Close()
  440. End Sub
  441. Private Sub 單價_rb_CheckedChanged(sender As Object, e As EventArgs) Handles 單價_rb.Click
  442. Set_單價()
  443. End Sub
  444. Private Sub 日期_rb_CheckedChanged(sender As Object, e As EventArgs) Handles 日期_rb.Click
  445. Set_單價()
  446. End Sub
  447. Private Sub Set_日期格式轉換()
  448. DTP = Format(Today(), "yyyy/MM/dd") : DTP2 = Format(需求時間_dtp.Value, "yyyy/MM/dd")
  449. End Sub
  450. Private Sub 核准_bt_Click(sender As Object, e As EventArgs) Handles 核准_bt.Click
  451. Set_日期格式轉換()
  452. If 簽名檔_dgv.Rows.Count = 0 Then : Else
  453. If Val(登入人級別) = 0 Then : Else
  454. 圖片編碼_tb.Text = 簽名檔_dgv(0, 0).Value.ToString
  455. End If
  456. PA1 = 圖片編碼_tb.Text : SQL_主管簽名檔管理_圖片流水號()
  457. While dr.Read() = True
  458. Dim unused As Byte() = New Byte(-1) {}
  459. Dim bytes As Byte() = DirectCast(dr.Item("簽名檔圖片"), Byte())
  460. Dim oStream As New MemoryStream(bytes)
  461. 簽名檔2_pb.Image = Bitmap.FromStream(oStream)
  462. End While
  463. conn.Close() : 簽名檔2_pb.SizeMode = 4
  464. For QAZ = 0 To 999
  465. 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
  466. 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)
  467. QQW(9) = Strings.Left(QQW(2), 1) : QQW(10) = Strings.Right(QQW(3), 1) : QQW(11) = Strings.Left(QQW(3), 1)
  468. For RT = 4 To 11
  469. Dim ran = New Random(DateTime.Now.Millisecond) : Dim NUM1 As Integer = ran.Next(1, 4096)
  470. For I = 0 To 4096 : If NUM1 > 9 Then : NUM1 -= 9 : ElseIf NUM1 < 9 Then : I = 4096 : End If : Next
  471. 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
  472. ElseIf NUM1 = 6 Then : II = RT : 轉換() : ElseIf NUM1 = 7 Then : ElseIf NUM1 = 8 Then : II = RT : 轉換() : ElseIf NUM1 = 9 Then : II = RT : 轉換() : End If
  473. Next
  474. Dim ran1 = New Random(DateTime.Now.Millisecond) : Dim NUM2 As Integer = ran1.Next(1, 4096)
  475. For I = 0 To 4096 : If NUM2 > 99 Then : NUM2 -= 49 : ElseIf NUM2 < 99 Then : I = 4096 : End If : Next
  476. 驗證碼_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
  477. PA20 = 驗證碼_tb.Text : SQL_建築驗證碼()
  478. If dr.Read() = True Then : Else : QAZ = 999 : End If : conn.Close()
  479. Next
  480. PA20 = 驗證碼_tb.Text : SQL_建築驗證碼()
  481. If dr.Read() = True Then
  482. If 系統語言 = "繁體中文" Then : MsgBox("沒有生成可用亂數,請找系統管理員!!") : Else : MsgBox("Tidak ada nomor acak yang dihasilkan, silakan hubungi administrator sistem!!") : End If
  483. Exit Sub
  484. End If
  485. End If
  486. SQL_建築物料採購單二級核准_核准() : conn.Close() : Set_清單2() : MsgBox(對話框(0))
  487. 明細_dgv.DataSource = Nothing
  488. End Sub
  489. Private Sub 作廢_bt_Click(sender As Object, e As EventArgs) Handles 作廢_bt.Click
  490. PA11 = 採購單號_tb.Text
  491. SQL_採購單控制表_作廢() : conn.Close() : Set_清單2() : MsgBox(對話框(1))
  492. 明細_dgv.DataSource = Nothing
  493. End Sub
  494. Private Sub 存檔_bt_Click(sender As Object, e As EventArgs) Handles 存檔_bt.Click
  495. Set_日期格式轉換()
  496. PA1 = 供應商編碼_tb.Text : PA2 = 使用地點_tb.Text : PA3 = 折扣比例_tb.Text : BL1 = 稅金_ch.Checked : PA4 = 稅金比例_tb.Text : PA5 = 採購單號_tb.Text
  497. SQL_採購單控制表_修改() : conn.Close()
  498. 存檔() : Set_清單2() : MsgBox(對話框(2))
  499. End Sub
  500. Private Sub 存檔()
  501. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  502. 資料數 = 明細_dgv.Rows.Count : MyModule1.進度條()
  503. PA11 = 明細_dgv.Rows(i).Cells("" & 表頭(12) & "").Value : PA12 = 明細_dgv.Rows(i).Cells("" & 表頭(13) & "").Value : PA6 = 明細_dgv.Rows(i).Cells("" & 表頭(14) & "").Value
  504. PA7 = 明細_dgv.Rows(i).Cells("" & 表頭(26) & "").Value : PA8 = 明細_dgv.Rows(i).Cells("" & 表頭(15) & "").Value : PA9 = 明細_dgv.Rows(i).Cells("" & 表頭(16) & "").Value
  505. PA5 = 採購單號_tb.Text : PA10 = 明細_dgv.Rows(i).Cells("項次01").Value : PA4 = 明細_dgv.Rows(i).Cells("KEY").Value
  506. SQL_採購單明細表_修改二() : conn.Close()
  507. Next
  508. HX_PGS_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  509. End Sub
  510. Private Sub 刪除一筆選中的細項資料_bt_Click(sender As Object, e As EventArgs) Handles 刪除一筆選中的細項資料_bt.Click
  511. If 項次_tb.Text = "" Then
  512. MsgBox(對話框(3))
  513. Else
  514. Dim aa As MsgBoxResult
  515. aa = MsgBox(對話框(4), MsgBoxStyle.OkCancel)
  516. If aa = MsgBoxResult.Ok Then
  517. 存檔()
  518. PA1 = 採購單號_tb.Text : PA2 = 項次_tb.Text
  519. SQL_採購單明細表_刪除() : conn.Close()
  520. Set_採購單清單()
  521. Dim NUM1 As Integer = 0
  522. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  523. NUM1 += 1 : If NUM1 < 10 Then : 新項次 = "0" & NUM1 : ElseIf NUM1 > 9 And NUM1 < 100 Then : 新項次 = NUM1 : End If
  524. PA18 = 新項次 : PA19 = 採購單號_tb.Text : PA20 = 明細_dgv.Rows(i).Cells("項次01").Value
  525. SQL_行政物料採購單一級核准料_新項次() : conn.Close()
  526. Next
  527. Set_採購單清單() : 項次_tb.Text = ""
  528. End If
  529. End If
  530. End Sub
  531. Private Sub 料號_bt_Click(sender As Object, e As EventArgs) Handles 料號_bt.Click
  532. Set_料號比價()
  533. If 料號1_tb.Text = "" Then
  534. MsgBox(對話框(9))
  535. Else
  536. If 歷史單價_P.Visible = True Then : 歷史單價_P.Visible = False
  537. Else : 歷史單價_P.Visible = True : 繪圖() : End If
  538. End If
  539. End Sub
  540. Private Sub 繪圖()
  541. Chart1.Series.Clear() : Chart1.ChartAreas(0).AxisX.Minimum = 0
  542. If 品名_tb.Text <> "" Then
  543. If 折線圖_ch.Checked = True Then
  544. Chart1.Series.Add(品名_tb.Text & "_1") : Chart1.Series(品名_tb.Text & "_1").ChartType = SeriesChartType.Line : Chart1.Series(品名_tb.Text & "_1").IsVisibleInLegend = False
  545. End If
  546. If 長條圖_ch.Checked = True Then
  547. Chart1.Series.Add(品名_tb.Text) : Chart1.Series(品名_tb.Text).ChartType = SeriesChartType.Column
  548. End If
  549. For i As Integer = 0 To 料號_dgv.Rows.Count - 1
  550. Chart1.Series(品名_tb.Text).Points.AddXY(料號_dgv.Rows(i).Cells(表頭(134)).Value.ToString, 料號_dgv.Rows(i).Cells(表頭(26)).Value.ToString)
  551. Next
  552. End If
  553. End Sub
  554. Private Sub 小間距1_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 小間距1_ch.Click
  555. 小間距1_ch.Checked = True : 中間距1_ch.Checked = False : 大間距1_ch.Checked = False : MyModule1.間距設定存檔_1() : Set_採購單清單()
  556. End Sub
  557. Private Sub 中間距1_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 中間距1_ch.Click
  558. 小間距1_ch.Checked = False : 中間距1_ch.Checked = True : 大間距1_ch.Checked = False : MyModule1.間距設定存檔_2() : Set_採購單清單()
  559. End Sub
  560. Private Sub 大間距1_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 大間距1_ch.Click
  561. 小間距1_ch.Checked = False : 中間距1_ch.Checked = False : 大間距1_ch.Checked = True : MyModule1.間距設定存檔_3() : Set_採購單清單()
  562. End Sub
  563. Private Sub 物料圖檔_pb_Click(sender As Object, e As EventArgs) Handles 物料圖檔_pb.Click
  564. If IsNothing(物料圖檔_pb.Image) = False Then : 圖片傳遞 = 物料圖檔_pb.Image : 圖片放大視窗.ShowDialog() : End If
  565. End Sub
  566. Private Sub 詳細資料2_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 詳細資料2_ch.Click
  567. If 詳細資料2_ch.Checked = True Then : 詳細資料2_ch.Checked = True : Else : 詳細資料2_ch.Checked = False : End If : Set_採購單清單()
  568. End Sub
  569. '-----------------------------滑鼠右鍵--------------------------------------------------------------------------------------------------------------------------------------
  570. Private Sub 重新整理SegarkanToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles 重新整理_tsm.Click
  571. Set_清單2()
  572. End Sub
  573. End Class