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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. Option Strict Off
  2. Imports System.IO
  3. Public Class 樣品物料調料單核準
  4. Private ReadOnly ds, ds1, ds2 As New DataSet
  5. Dim II As Integer
  6. Private ReadOnly QQW(11) As String
  7. Dim 已超出 As Boolean
  8. Private Sub Set_清單()
  9. 未核准_dgv.DataSource = Nothing : ds.Clear()
  10. 未核准_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  11. 未核准_dgv.ColumnHeadersHeight = 25
  12. 未核准_dgv.AllowUserToAddRows = False
  13. SQL_清單查詢()
  14. da.Fill(ds) : 未核准_dgv.DataSource = ds.Tables(0) : conn.Close()
  15. 未核准_dgv.Columns(0).FillWeight = 110 : 未核准_dgv.Columns(1).FillWeight = 130 : 未核准_dgv.Columns(2).FillWeight = 130 : 未核准_dgv.Columns(3).FillWeight = 70
  16. 未核准_dgv.Columns(4).FillWeight = 70
  17. 未核准_dgv.Columns(5).Visible = False : 未核准_dgv.Columns(6).Visible = False : 未核准_dgv.Columns(7).Visible = False : 未核准_dgv.Columns(8).Visible = False
  18. 未核准_dgv.Columns(9).Visible = False : 未核准_dgv.Columns(10).Visible = False
  19. End Sub
  20. Private Sub Set_使用者清單()
  21. 明細_dgv.DataSource = Nothing : ds1.Clear()
  22. 明細_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  23. 明細_dgv.ColumnHeadersHeight = 25
  24. 明細_dgv.AllowUserToAddRows = False
  25. 明細_dgv.RowTemplate.Height = 35
  26. SQL_明細查詢()
  27. da.Fill(ds1) : 明細_dgv.DataSource = ds1.Tables(0) : conn.Close()
  28. 明細_dgv.Columns(0).Visible = False : 明細_dgv.Columns(1).FillWeight = 80 : 明細_dgv.Columns(2).FillWeight = 200 : 明細_dgv.Columns(3).FillWeight = 200 : 明細_dgv.Columns(4).FillWeight = 200
  29. 明細_dgv.Columns(5).FillWeight = 80 : 明細_dgv.Columns(6).FillWeight = 80 : 明細_dgv.Columns(7).FillWeight = 80 : 明細_dgv.Columns(8).FillWeight = 80 : 明細_dgv.Columns(9).FillWeight = 305
  30. 明細_dgv.Columns(8).DefaultCellStyle.Format = "#,##0.00" : 明細_dgv.Columns(6).DefaultCellStyle.Format = "#,##0.00" : 明細_dgv.Columns(7).DefaultCellStyle.Format = "#,##0.00"
  31. 明細_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  32. 明細_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  33. 明細_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight : 明細_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  34. 明細_dgv.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  35. 明細_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  36. 明細_dgv.Columns("項次").ReadOnly = True : 明細_dgv.Columns("金額").ReadOnly = True
  37. 總金額_tb.Text = "0.00"
  38. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  39. 總金額_tb.Text = Val(總金額_tb.Text) + 明細_dgv.Rows(i).Cells("金額").Value
  40. Next i
  41. 總金額_tb.Text = Format(Val(總金額_tb.Text), "#,##0.00")
  42. End Sub
  43. Private Sub Set_清單0()
  44. 圖片編碼_dgv.DataSource = Nothing : ds2.Clear()
  45. 圖片編碼_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  46. 圖片編碼_dgv.ColumnHeadersHeight = 25
  47. 圖片編碼_dgv.AllowUserToAddRows = False
  48. SQL_圖片流水號()
  49. da.Fill(ds2) : 圖片編碼_dgv.DataSource = ds2.Tables(0) : conn.Close()
  50. 圖片編碼_dgv.Columns(0).FillWeight = 173 : 圖片編碼_dgv.Columns(1).Visible = False
  51. End Sub
  52. Private Sub ComboBox1下拉表單資料載入()
  53. SQL_廠商表單()
  54. 供應商_cb.Items.Clear() : 供應商編碼_cb.Items.Clear()
  55. While (dr.Read()) : 供應商_cb.Items.Add(dr("廠商")) : 供應商編碼_cb.Items.Add(dr("供應商編碼")) : End While : conn.Close()
  56. End Sub
  57. Private Sub ComboBox3下拉表單資料載入()
  58. SQL_使用者表()
  59. 發件人_cb.Items.Clear() : 提取人_cb.Items.Clear()
  60. While (dr.Read()) : 發件人_cb.Items.Add(dr("姓名")) : 提取人_cb.Items.Add(dr("姓名")) : End While : conn.Close()
  61. End Sub
  62. Private Sub ComboBox5下拉表單資料載入()
  63. SQL_年份清單()
  64. 年份_cb.Items.Clear() : While (dr.Read()) : 年份_cb.Items.Add(dr("年份")) : End While : conn.Close()
  65. End Sub
  66. Private Sub ComboBox7下拉表單資料載入()
  67. SQL_客戶表()
  68. FOR_tb.Items.Clear() : While (dr.Read()) : FOR_tb.Items.Add(dr("客戶簡稱")) : End While : conn.Close()
  69. End Sub
  70. Private Sub Set_日期格式轉換()
  71. DTP = Format(日期_dtp.Value, "yyyy/MM/dd") : DTP1 = Format(Today(), "yyyyMMdd")
  72. End Sub
  73. Private Sub 樣品物料調料單核準_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  74. Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  75. Set_清單() : Set_清單0() : ComboBox1下拉表單資料載入() : ComboBox3下拉表單資料載入() : ComboBox5下拉表單資料載入() : ComboBox7下拉表單資料載入()
  76. 核准_bt.Enabled = False : 刪除_bt.Enabled = False : 樣品物料調料單單號_tb.Enabled = False
  77. End Sub
  78. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 未核准_dgv.CellClick
  79. If e.RowIndex = -1 Then : Else
  80. 樣品物料調料單單號_tb.Text = 未核准_dgv.Rows(e.RowIndex).Cells("調料單號").Value.ToString : 核准_bt.Enabled = True : 刪除_bt.Enabled = True
  81. 供應商編碼_cb.Text = 未核准_dgv.Rows(e.RowIndex).Cells("供應商編號").Value : 發件人_cb.Text = 未核准_dgv.Rows(e.RowIndex).Cells("發件人").Value
  82. 提取人_cb.Text = 未核准_dgv.Rows(e.RowIndex).Cells("收件人").Value : 日期_dtp.Value = 未核准_dgv.Rows(e.RowIndex).Cells("日期").Value
  83. 制表人_tb.Text = 未核准_dgv.Rows(e.RowIndex).Cells("制表人").Value : FOR_tb.Text = 未核准_dgv.Rows(e.RowIndex).Cells("客戶").Value
  84. 年份_cb.Text = 未核准_dgv.Rows(e.RowIndex).Cells("SHOW年").Value : 月份_cb.Text = 未核准_dgv.Rows(e.RowIndex).Cells("SHOW月").Value
  85. Set_使用者清單()
  86. End If
  87. End Sub
  88. Private Sub 轉換()
  89. 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"
  90. 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"
  91. ElseIf QQW(II) = "9" Then : QQW(II) = "I" : ElseIf QQW(II) = "0" Then : QQW(II) = "J"
  92. End If
  93. End Sub
  94. Public Sub Delay(ByRef Interval As Double) 'Interval单位为毫秒
  95. Dim time As DateTime = DateTime.Now : Dim Span As Double = Interval * 1234 : While ((DateTime.Now.Ticks - time.Ticks) < Span) : Application.DoEvents() : End While
  96. End Sub
  97. Private Sub DataGridView3_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 圖片編碼_dgv.CellClick
  98. 圖片編碼_tb.Text = 圖片編碼_dgv(0, e.RowIndex).Value.ToString
  99. SQL_簽名檔圖片()
  100. While dr.Read() = True
  101. Dim bytes As Byte() = New Byte(-1) {}
  102. bytes = DirectCast(dr.Item("簽名檔圖片"), Byte())
  103. Dim oStream As New MemoryStream(bytes)
  104. PictureBox1.Image = Bitmap.FromStream(oStream)
  105. End While
  106. conn.Close()
  107. PictureBox1.SizeMode = 4
  108. For QAZ = 0 To 999
  109. 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
  110. 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)
  111. QQW(9) = Strings.Left(QQW(2), 1) : QQW(10) = Strings.Right(QQW(3), 1) : QQW(11) = Strings.Left(QQW(3), 1)
  112. For RT = 4 To 11
  113. Delay(3)
  114. Dim NUM1 As Integer : Dim ran = New Random(DateTime.Now.Millisecond) : NUM1 = ran.Next(1, 4096)
  115. For I = 0 To 4096 : If NUM1 > 9 Then : NUM1 -= 9 : ElseIf NUM1 < 9 Then : I = 4096 : End If : Next
  116. 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
  117. ElseIf NUM1 = 6 Then : II = RT : 轉換() : ElseIf NUM1 = 7 Then : ElseIf NUM1 = 8 Then : II = RT : 轉換() : ElseIf NUM1 = 9 Then : II = RT : 轉換() : End If
  118. Next
  119. Dim NUM2 As Integer : Dim ran1 = New Random(DateTime.Now.Millisecond) : NUM2 = ran1.Next(1, 4096)
  120. For I = 0 To 4096 : If NUM2 > 99 Then : NUM2 -= 49 : ElseIf NUM2 < 99 Then : I = 4096 : End If : Next
  121. 驗證碼_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
  122. SQL_填入驗證碼()
  123. If dr.Read() = True Then : Else : QAZ = 999 : End If : conn.Close()
  124. Next
  125. End Sub
  126. Private Sub DataGridView2_CellContentClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 明細_dgv.CellEndEdit
  127. 總金額_tb.Text = "0.00"
  128. For i As Integer = 0 To 明細_dgv.Rows.Count - 1
  129. 明細_dgv.Rows(i).Cells("金額").Value = Val(明細_dgv.Rows(i).Cells("數量").Value) * Val(明細_dgv.Rows(i).Cells("單價").Value)
  130. 總金額_tb.Text = Val(總金額_tb.Text) + 明細_dgv.Rows(i).Cells("金額").Value
  131. Next i
  132. 總金額_tb.Text = Format(Val(總金額_tb.Text), "#,##0.00")
  133. End Sub
  134. Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 供應商_cb.SelectedIndexChanged
  135. 供應商編碼_cb.SelectedIndex = 供應商_cb.SelectedIndex
  136. End Sub
  137. Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 供應商編碼_cb.SelectedIndexChanged
  138. 供應商_cb.SelectedIndex = 供應商編碼_cb.SelectedIndex
  139. SQL_聯繫人()
  140. If dr.Read() Then : 供應商公司全稱_tb.Text = dr("公司名") : 供應商聯繫人_tb.Text = dr("聯繫人1") : 供應商公司電話_tb.Text = dr("公司電話1") : End If
  141. conn.Close()
  142. End Sub
  143. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 核准_bt.Click
  144. If 圖片編碼_tb.Text = "" Or 驗證碼_tb.Text = "" Then
  145. MsgBox("未點選圖檔編碼")
  146. Else
  147. SQL_更改核准簽名() : conn.Close()
  148. Set_清單() : MsgBox("核准成功")
  149. End If
  150. End Sub
  151. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles 刪除_bt.Click
  152. Dim aa As MsgBoxResult
  153. aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
  154. If aa = MsgBoxResult.Ok Then
  155. SQL_刪除樣品物料調料單抬頭1() : conn.Close()
  156. SQL_刪除樣品物料調料單明細1() : conn.Close()
  157. 樣品物料調料單單號_tb.Text = "" : 供應商公司全稱_tb.Text = "" : 供應商聯繫人_tb.Text = "" : 供應商公司電話_tb.Text = ""
  158. ComboBox1下拉表單資料載入() : ComboBox3下拉表單資料載入() : ComboBox5下拉表單資料載入() : ComboBox7下拉表單資料載入()
  159. 明細_dgv.DataSource = Nothing : ds1.Clear()
  160. Set_清單()
  161. End If
  162. End Sub
  163. Private Sub 明細_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 明細_dgv.MouseUp
  164. If 明細_dgv.SelectedCells.Count = 1 Then
  165. 已超出 = False
  166. End If
  167. If 明細_dgv.SelectedCells.Count > 0 Then
  168. '設定滑鼠點擊DGV時候的範圍,超出範圍時有可能不是數字所以不計算
  169. If 明細_dgv.SelectedCells(0).ColumnIndex = 6 Or 明細_dgv.SelectedCells(0).ColumnIndex = 8 Then
  170. If 已超出 = False Then
  171. Dim x As Double = 0
  172. For i As Integer = 0 To 明細_dgv.SelectedCells.Count - 1
  173. '明細_dgv.SelectedCells.Item(i).ColumnIndex + 8 是因為該DGV顯示項與計算像剛好差8格,使用時要注意可直接計算的不需要加數字。
  174. x += Val(明細_dgv.Rows(明細_dgv.SelectedCells.Item(i).RowIndex).Cells(明細_dgv.SelectedCells.Item(i).ColumnIndex).Value)
  175. Next i
  176. '將計算好的資料放置到指定的控件中
  177. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(x, "#,##0")
  178. Else
  179. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0")
  180. End If
  181. Else
  182. 已超出 = True
  183. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0")
  184. End If
  185. End If
  186. End Sub
  187. End Class