Без опису
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

樣品物料調料單核準.vb 18KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. Option Strict Off
  2. Imports System.Data.SqlClient
  3. Imports System.IO
  4. Public Class 樣品物料調料單核準
  5. Dim conn As New SqlConnection
  6. Dim da As New SqlDataAdapter
  7. Dim cmd As New SqlCommand
  8. Dim ds As New DataSet : Dim ds1 As New DataSet : Dim ds2 As New DataSet
  9. Dim dr As SqlDataReader
  10. Dim DTP As String : Dim DTP1 As String : Dim 新項次 As String : Dim NUM1 As Integer
  11. Dim QQW(11) As String : Dim II As Integer
  12. Private Sub Set_DGV1載入前設定()
  13. DataGridView1.DataSource = Nothing : ds.Clear()
  14. DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  15. DataGridView1.ColumnHeadersHeight = 25
  16. DataGridView1.AllowUserToAddRows = False
  17. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  18. End Sub
  19. Private Sub Set_DGV1載入後設定()
  20. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close() : Set_grid()
  21. End Sub
  22. Private Sub Set_清單()
  23. Set_DGV1載入前設定()
  24. If PA = "" Then
  25. SQL1 = "SELECT 樣品物料調料單抬頭.調料單號, 供應商清單.廠商, 樣品物料調料單抬頭.客戶, 樣品物料調料單抬頭.SHOW年,
  26. 樣品物料調料單抬頭.SHOW月, 樣品物料調料單抬頭.日期, 樣品物料調料單抬頭.發件人, 樣品物料調料單抬頭.收件人,
  27. 樣品物料調料單抬頭.制表人, 樣品物料調料單抬頭.核准簽名, 樣品物料調料單抬頭.供應商編號
  28. FROM 樣品物料調料單抬頭 INNER JOIN
  29. 供應商清單 ON 樣品物料調料單抬頭.供應商編號 = 供應商清單.供應商編碼
  30. WHERE (樣品物料調料單抬頭.核准簽名 LIKE '')
  31. ORDER BY 樣品物料調料單抬頭.SHOW年, 樣品物料調料單抬頭.SHOW月"
  32. Else
  33. SQL1 = "SELECT 樣品物料調料單抬頭.調料單號, 供應商清單.廠商, 樣品物料調料單抬頭.客戶, 樣品物料調料單抬頭.SHOW年,
  34. 樣品物料調料單抬頭.SHOW月, 樣品物料調料單抬頭.日期, 樣品物料調料單抬頭.發件人, 樣品物料調料單抬頭.收件人,
  35. 樣品物料調料單抬頭.制表人, 樣品物料調料單抬頭.核准簽名, 樣品物料調料單抬頭.供應商編號
  36. FROM 樣品物料調料單抬頭 INNER JOIN
  37. 供應商清單 ON 樣品物料調料單抬頭.供應商編號 = 供應商清單.供應商編碼
  38. WHERE (樣品物料調料單抬頭.核准簽名 LIKE '') AND ((樣品物料調料單抬頭.調料單號 LIKE N'%" & PA & "%') OR (供應商清單.廠商 LIKE N'%" & PA & "%') OR (樣品物料調料單抬頭.客戶 LIKE N'%" & PA & "%') OR
  39. (樣品物料調料單抬頭.SHOW年 LIKE N'%" & PA & "%') OR (樣品物料調料單抬頭.SHOW月 LIKE N'%" & PA & "%') OR (樣品物料調料單抬頭.日期 LIKE N'%" & PA & "%') OR
  40. (樣品物料調料單抬頭.發件人 LIKE N'%" & PA & "%') OR (樣品物料調料單抬頭.收件人 LIKE N'%" & PA & "%') OR (樣品物料調料單抬頭.制表人 LIKE N'%" & PA & "%'))
  41. ORDER BY 樣品物料調料單抬頭.SHOW年, 樣品物料調料單抬頭.SHOW月"
  42. End If
  43. Set_DGV1載入後設定()
  44. End Sub
  45. Private Sub Set_grid()
  46. DataGridView1.Columns(0).Width = 110 : DataGridView1.Columns(1).Width = 130 : DataGridView1.Columns(2).Width = 130 : DataGridView1.Columns(3).Width = 70 : DataGridView1.Columns(4).Width = 70
  47. DataGridView1.Columns(5).Visible = False : DataGridView1.Columns(6).Visible = False : DataGridView1.Columns(7).Visible = False : DataGridView1.Columns(8).Visible = False
  48. DataGridView1.Columns(9).Visible = False : DataGridView1.Columns(10).Visible = False
  49. End Sub
  50. Private Sub Set_使用者清單()
  51. DataGridView2.DataSource = Nothing : ds1.Clear()
  52. DataGridView2.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  53. DataGridView2.ColumnHeadersHeight = 25
  54. DataGridView2.AllowUserToAddRows = False
  55. DataGridView2.RowTemplate.Height = 35
  56. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  57. SQL1 = "SELECT 調料單號, 項次, 名稱, 規格, 顏色, 單位, 數量, 單價, 數量 * 單價 AS 金額, 備註 FROM 樣品物料調料單明細 WHERE 調料單號 LIKE N'" & TextBox1.Text & "' ORDER BY 項次"
  58. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds1) : DataGridView2.DataSource = ds1.Tables(0) : conn.Close() : Set_grid1()
  59. End Sub
  60. Private Sub Set_grid1()
  61. DataGridView2.Columns(0).Visible = False : DataGridView2.Columns(1).Width = 80 : DataGridView2.Columns(2).Width = 200 : DataGridView2.Columns(3).Width = 200 : DataGridView2.Columns(4).Width = 200
  62. DataGridView2.Columns(5).Width = 80 : DataGridView2.Columns(6).Width = 80 : DataGridView2.Columns(7).Width = 80 : DataGridView2.Columns(8).Width = 80 : DataGridView2.Columns(9).Width = 305
  63. DataGridView2.Columns(8).DefaultCellStyle.Format = "#,##0.00" : DataGridView2.Columns(6).DefaultCellStyle.Format = "#,##0.00" : DataGridView2.Columns(7).DefaultCellStyle.Format = "#,##0.00"
  64. DataGridView2.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : DataGridView2.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  65. DataGridView2.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  66. DataGridView2.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight : DataGridView2.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  67. DataGridView2.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  68. DataGridView2.EditMode = DataGridViewEditMode.EditOnEnter
  69. TextBox5.Text = "0.00"
  70. For i As Integer = 0 To DataGridView2.Rows.Count - 1
  71. TextBox5.Text = Val(TextBox5.Text) + DataGridView2.Rows(i).Cells("金額").Value
  72. Next i
  73. TextBox5.Text = Format(Val(TextBox5.Text), "#,##0.00")
  74. End Sub
  75. Private Sub ComboBox1下拉表單資料載入()
  76. conn.Close()
  77. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  78. SQL1 = "SELECT 廠商, 供應商編碼 FROM 供應商清單 ORDER BY 廠商"
  79. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  80. ComboBox1.Items.Clear() : ComboBox2.Items.Clear()
  81. While (dr.Read()) : ComboBox1.Items.Add(dr("廠商")) : ComboBox2.Items.Add(dr("供應商編碼")) : End While : conn.Close()
  82. End Sub
  83. Private Sub ComboBox3下拉表單資料載入()
  84. conn.Close()
  85. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  86. SQL1 = "SELECT 姓名 FROM 使用者權限管理表 WHERE (CC49 = 0) ORDER BY 姓名"
  87. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  88. ComboBox3.Items.Clear() : ComboBox4.Items.Clear()
  89. While (dr.Read()) : ComboBox3.Items.Add(dr("姓名")) : ComboBox4.Items.Add(dr("姓名")) : End While : conn.Close()
  90. End Sub
  91. Private Sub ComboBox5下拉表單資料載入()
  92. conn.Close()
  93. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  94. SQL1 = "SELECT 年份 FROM 年份清單 ORDER BY 年份"
  95. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  96. ComboBox5.Items.Clear() : While (dr.Read()) : ComboBox5.Items.Add(dr("年份")) : End While : conn.Close()
  97. End Sub
  98. Private Sub ComboBox7下拉表單資料載入()
  99. conn.Close()
  100. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  101. SQL1 = "SELECT 客戶簡稱 FROM 客戶控制表 ORDER BY 客戶簡稱"
  102. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  103. ComboBox7.Items.Clear() : While (dr.Read()) : ComboBox7.Items.Add(dr("客戶簡稱")) : End While : conn.Close()
  104. End Sub
  105. Private Sub Set_DGV4載入前設定()
  106. DataGridView3.DataSource = Nothing : ds2.Clear()
  107. DataGridView3.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  108. DataGridView3.ColumnHeadersHeight = 25
  109. DataGridView3.AllowUserToAddRows = False
  110. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  111. End Sub
  112. Private Sub Set_DGV4載入後設定()
  113. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds2) : DataGridView3.DataSource = ds2.Tables(0) : conn.Close() : Set_grid2()
  114. End Sub
  115. Private Sub Set_清單0()
  116. Set_DGV4載入前設定()
  117. If gUserName = "李協叡" Then
  118. SQL1 = "SELECT 圖片流水號 AS 圖檔編碼, 簽名檔人名 FROM 簽名檔管理 ORDER BY 圖片流水號"
  119. Else
  120. SQL1 = "SELECT 圖片流水號 AS 圖檔編碼, 簽名檔人名 FROM 簽名檔管理 WHERE 簽名檔人名 LIKE N'" & gUserName & "' ORDER BY 圖片流水號"
  121. End If
  122. Set_DGV4載入後設定()
  123. End Sub
  124. Private Sub Set_grid2()
  125. DataGridView3.Columns(0).Width = 173 : DataGridView3.Columns(1).Visible = False
  126. End Sub
  127. Private Sub Set_日期格式轉換()
  128. DTP = Format(DateTimePicker1.Value, "yyyy/MM/dd") : DTP1 = Format(Today(), "yyyyMMdd")
  129. End Sub
  130. Private Sub 樣品物料調料單核準_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  131. Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  132. Set_清單() : Set_清單0() : ComboBox1下拉表單資料載入() : ComboBox3下拉表單資料載入() : ComboBox5下拉表單資料載入() : ComboBox7下拉表單資料載入()
  133. Button3.Enabled = False : Button5.Enabled = False : TextBox1.Enabled = False
  134. End Sub
  135. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
  136. If e.RowIndex = -1 Then : Else
  137. TextBox1.Text = DataGridView1.Rows(e.RowIndex).Cells("調料單號").Value.ToString : Button3.Enabled = True : Button5.Enabled = True
  138. ComboBox2.Text = DataGridView1.Rows(e.RowIndex).Cells("供應商編號").Value : ComboBox3.Text = DataGridView1.Rows(e.RowIndex).Cells("發件人").Value
  139. ComboBox4.Text = DataGridView1.Rows(e.RowIndex).Cells("收件人").Value : DateTimePicker1.Value = DataGridView1.Rows(e.RowIndex).Cells("日期").Value
  140. TextBox7.Text = DataGridView1.Rows(e.RowIndex).Cells("制表人").Value : ComboBox7.Text = DataGridView1.Rows(e.RowIndex).Cells("客戶").Value
  141. ComboBox5.Text = DataGridView1.Rows(e.RowIndex).Cells("SHOW年").Value : ComboBox6.Text = DataGridView1.Rows(e.RowIndex).Cells("SHOW月").Value
  142. Set_使用者清單()
  143. End If
  144. End Sub
  145. Private Sub 轉換()
  146. 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"
  147. 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"
  148. ElseIf QQW(II) = "9" Then : QQW(II) = "I" : ElseIf QQW(II) = "0" Then : QQW(II) = "J"
  149. End If
  150. End Sub
  151. Public Sub Delay(ByRef Interval As Double) 'Interval单位为毫秒
  152. Dim time As DateTime = DateTime.Now : Dim Span As Double = Interval * 1234 : While ((DateTime.Now.Ticks - time.Ticks) < Span) : Application.DoEvents() : End While
  153. End Sub
  154. Private Sub DataGridView3_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView3.CellClick
  155. TextBox14.Text = DataGridView3(0, e.RowIndex).Value.ToString
  156. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  157. SQL1 = "SELECT 簽名檔圖片 FROM 簽名檔管理 WHERE 圖片流水號 LIKE N'" & DataGridView3(0, e.RowIndex).Value.ToString & "'"
  158. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  159. While dr.Read() = True
  160. Dim bytes As Byte() = New Byte(-1) {}
  161. bytes = DirectCast(dr.Item("簽名檔圖片"), Byte())
  162. Dim oStream As New MemoryStream(bytes)
  163. PictureBox1.Image = Bitmap.FromStream(oStream)
  164. End While
  165. conn.Close()
  166. PictureBox1.SizeMode = 4
  167. For QAZ = 0 To 999
  168. QQW(0) = Strings.Right(DataGridView3(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
  169. 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)
  170. QQW(9) = Strings.Left(QQW(2), 1) : QQW(10) = Strings.Right(QQW(3), 1) : QQW(11) = Strings.Left(QQW(3), 1)
  171. For RT = 4 To 11
  172. Delay(3)
  173. Dim NUM1 As Integer = 0 : Dim ran = New Random(DateTime.Now.Millisecond) : NUM1 = ran.Next(1, 4096)
  174. For I = 0 To 4096 : If NUM1 > 9 Then : NUM1 = NUM1 - 9 : ElseIf NUM1 < 9 Then : I = 4096 : End If : Next
  175. 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
  176. ElseIf NUM1 = 6 Then : II = RT : 轉換() : ElseIf NUM1 = 7 Then : ElseIf NUM1 = 8 Then : II = RT : 轉換() : ElseIf NUM1 = 9 Then : II = RT : 轉換() : End If
  177. Next
  178. Dim NUM2 As Integer = 0 : Dim ran1 = New Random(DateTime.Now.Millisecond) : NUM2 = ran1.Next(1, 4096)
  179. For I = 0 To 4096 : If NUM2 > 99 Then : NUM2 = NUM2 - 49 : ElseIf NUM2 < 99 Then : I = 4096 : End If : Next
  180. TextBox13.Text = QQW(11) & "2" & QQW(9) & "7" & QQW(7) & "0" & QQW(5) & QQW(4) & "1" & QQW(6) & "3" & QQW(8) & "9" & QQW(10) & NUM2
  181. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  182. SQL1 = "SELECT 驗證碼 FROM 樣品物料調料單抬頭 WHERE 驗證碼 LIKE N'" & TextBox13.Text & "'"
  183. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  184. If dr.Read() = True Then : Else : QAZ = 999 : End If : conn.Close()
  185. Next
  186. End Sub
  187. Private Sub DataGridView2_CellContentClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView2.CellEndEdit
  188. TextBox5.Text = "0.00"
  189. For i As Integer = 0 To DataGridView2.Rows.Count - 1
  190. DataGridView2.Rows(i).Cells("金額").Value = Val(DataGridView2.Rows(i).Cells("數量").Value) * Val(DataGridView2.Rows(i).Cells("單價").Value)
  191. TextBox5.Text = Val(TextBox5.Text) + DataGridView2.Rows(i).Cells("金額").Value
  192. Next i
  193. TextBox5.Text = Format(Val(TextBox5.Text), "#,##0.00")
  194. End Sub
  195. Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
  196. ComboBox2.SelectedIndex = ComboBox1.SelectedIndex
  197. End Sub
  198. Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged
  199. ComboBox1.SelectedIndex = ComboBox2.SelectedIndex
  200. conn.Close()
  201. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  202. SQL1 = "SELECT 公司名, 公司電話1, 聯繫人1 FROM 供應商清單 WHERE (供應商編碼 LIKE '" & ComboBox2.Text & "') ORDER BY 廠商"
  203. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  204. If dr.Read() Then : TextBox2.Text = dr("公司名") : TextBox3.Text = dr("聯繫人1") : TextBox4.Text = dr("公司電話1") : End If
  205. conn.Close()
  206. End Sub
  207. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
  208. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  209. SQL1 = "UPDATE 樣品物料調料單抬頭 SET 核准簽名 = N'" & TextBox14.Text & "', 驗證碼 = N'" & TextBox13.Text & "' WHERE (調料單號 LIKE N'" & TextBox1.Text & "')"
  210. cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  211. Set_清單() : MsgBox("核准成功")
  212. End Sub
  213. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
  214. Dim aa As MsgBoxResult
  215. aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
  216. If aa = MsgBoxResult.Ok Then
  217. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  218. SQL1 = "DELETE FROM 樣品物料調料單抬頭 WHERE (調料單號 LIKE N'" & TextBox1.Text & "')"
  219. cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
  220. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  221. SQL1 = "DELETE FROM 樣品物料調料單明細 WHERE (調料單號 LIKE N'" & TextBox1.Text & "')"
  222. cmd.CommandText = SQL1 : cmd.Connection = conn : cmd.ExecuteNonQuery() : conn.Close()
  223. TextBox1.Text = "" : TextBox2.Text = "" : TextBox3.Text = "" : TextBox4.Text = ""
  224. ComboBox1下拉表單資料載入() : ComboBox3下拉表單資料載入() : ComboBox5下拉表單資料載入() : ComboBox7下拉表單資料載入()
  225. DataGridView2.DataSource = Nothing : ds1.Clear()
  226. Set_清單()
  227. End If
  228. End Sub
  229. End Class