Sin descripción
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 33KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454
  1. Option Strict Off
  2. Imports System.IO
  3. Public Class 量產訂單控制表
  4. Private ReadOnly ds1, ds3 As New DataSet
  5. Dim GHJK As String
  6. Dim 已超出 As Boolean
  7. Dim aa As MsgBoxResult
  8. Private Sub Set_清單3()
  9. 控制表_dgv.DataSource = Nothing : ds3.Clear()
  10. 控制表_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  11. 控制表_dgv.ColumnHeadersHeight = 25
  12. 控制表_dgv.AllowUserToAddRows = False
  13. 控制表_dgv.RowTemplate.Height = 35
  14. SQL_控制表清單()
  15. da.Fill(ds3) : 控制表_dgv.DataSource = ds3.Tables(0) : conn.Close() : Set_grid4()
  16. End Sub
  17. Private Sub Set_控制表_dgv_插入勾選控件清單()
  18. Dim Col As New DataGridViewCheckBoxColumn With {
  19. .FillWeight = 40,
  20. .DataPropertyName = "選擇"
  21. }
  22. Col.HeaderText = "選擇" : Col.Name = "選擇"
  23. 控制表_dgv.Columns.Insert(0, Col)
  24. End Sub
  25. Private Sub Set_grid4()
  26. If 控制表_dgv.Columns.Count.ToString > 63 Then
  27. 控制表_dgv.Columns.Remove("選擇")
  28. End If
  29. Set_控制表_dgv_插入勾選控件清單()
  30. 控制表_dgv.Columns(0).FillWeight = 40 : 控制表_dgv.Columns(1).FillWeight = 140 : 控制表_dgv.Columns(2).FillWeight = 80 : 控制表_dgv.Columns(3).FillWeight = 140
  31. 控制表_dgv.Columns(4).FillWeight = 130 : 控制表_dgv.Columns(5).FillWeight = 140 : 控制表_dgv.Columns(6).FillWeight = 90 : 控制表_dgv.Columns(7).FillWeight = 60
  32. 控制表_dgv.Columns(8).FillWeight = 90 : 控制表_dgv.Columns(9).FillWeight = 100 : 控制表_dgv.Columns(10).FillWeight = 100 : 控制表_dgv.Columns(11).FillWeight = 100
  33. 控制表_dgv.Columns(12).FillWeight = 90 : 控制表_dgv.Columns(13).FillWeight = 90 : 控制表_dgv.Columns(14).FillWeight = 270 : 控制表_dgv.Columns(15).FillWeight = 90
  34. 控制表_dgv.Columns(16).FillWeight = 120 : 控制表_dgv.Columns(17).FillWeight = 140 : 控制表_dgv.Columns(18).FillWeight = 115 : 控制表_dgv.Columns(19).FillWeight = 50
  35. 控制表_dgv.Columns(20).FillWeight = 60 : 控制表_dgv.Columns(21).FillWeight = 495 : 控制表_dgv.Columns(22).FillWeight = 120 : 控制表_dgv.Columns(23).FillWeight = 120
  36. 控制表_dgv.Columns(24).FillWeight = 113 : 控制表_dgv.Columns(25).FillWeight = 113 : 控制表_dgv.Columns(26).FillWeight = 113 : 控制表_dgv.Columns(27).FillWeight = 114
  37. 控制表_dgv.Columns(28).FillWeight = 114 : 控制表_dgv.Columns(29).FillWeight = 114 : 控制表_dgv.Columns(30).FillWeight = 114 : 控制表_dgv.Columns(31).FillWeight = 120
  38. 控制表_dgv.Columns(32).FillWeight = 120 : 控制表_dgv.Columns(33).FillWeight = 120 : 控制表_dgv.Columns(34).FillWeight = 120 : 控制表_dgv.Columns(35).FillWeight = 120
  39. 控制表_dgv.Columns(36).FillWeight = 195 : 控制表_dgv.Columns(37).FillWeight = 123 : 控制表_dgv.Columns(38).FillWeight = 123 : 控制表_dgv.Columns(39).FillWeight = 123
  40. 控制表_dgv.Columns(40).FillWeight = 60 : 控制表_dgv.Columns(41).FillWeight = 123 : 控制表_dgv.Columns(42).FillWeight = 123 : 控制表_dgv.Columns("驗報圖庫").Visible = False
  41. 控制表_dgv.Columns("HTS").FillWeight = 60 : 控制表_dgv.Columns("DUTY").FillWeight = 60
  42. 控制表_dgv.Columns(0).ReadOnly = True
  43. '795
  44. If 第一頁_bt.Enabled = False And 第二頁_bt.Enabled = True And 第三頁_bt.Enabled = True And 第四頁_bt.Enabled = True And 第五頁_bt.Enabled = True Then
  45. For i As Integer = 9 To 15 : 控制表_dgv.Columns(i).Visible = True : Next
  46. For i As Integer = 20 To 60 : 控制表_dgv.Columns(i).Visible = False : Next
  47. 控制表_dgv.Columns(18).Visible = True : 控制表_dgv.Columns(15).Visible = False
  48. ElseIf 第一頁_bt.Enabled = True And 第二頁_bt.Enabled = False And 第三頁_bt.Enabled = True And 第四頁_bt.Enabled = True And 第五頁_bt.Enabled = True Then
  49. For i As Integer = 9 To 16 : 控制表_dgv.Columns(i).Visible = False : Next
  50. For i As Integer = 20 To 23 : 控制表_dgv.Columns(i).Visible = True : Next
  51. For i As Integer = 24 To 60 : 控制表_dgv.Columns(i).Visible = False : Next
  52. 控制表_dgv.Columns(18).Visible = False
  53. ElseIf 第一頁_bt.Enabled = True And 第二頁_bt.Enabled = True And 第三頁_bt.Enabled = False And 第四頁_bt.Enabled = True And 第五頁_bt.Enabled = True Then
  54. For i As Integer = 9 To 16 : 控制表_dgv.Columns(i).Visible = False : Next
  55. For i As Integer = 20 To 23 : 控制表_dgv.Columns(i).Visible = False : Next
  56. For i As Integer = 24 To 30 : 控制表_dgv.Columns(i).Visible = True : Next
  57. For i As Integer = 31 To 60 : 控制表_dgv.Columns(i).Visible = False : Next
  58. 控制表_dgv.Columns(18).Visible = False
  59. ElseIf 第一頁_bt.Enabled = True And 第二頁_bt.Enabled = True And 第三頁_bt.Enabled = True And 第四頁_bt.Enabled = False And 第五頁_bt.Enabled = True Then
  60. For i As Integer = 9 To 16 : 控制表_dgv.Columns(i).Visible = False : Next
  61. For i As Integer = 20 To 30 : 控制表_dgv.Columns(i).Visible = False : Next
  62. For i As Integer = 31 To 36 : 控制表_dgv.Columns(i).Visible = True : Next
  63. For i As Integer = 37 To 60 : 控制表_dgv.Columns(i).Visible = False : Next
  64. 控制表_dgv.Columns(18).Visible = False
  65. ElseIf 第一頁_bt.Enabled = True And 第二頁_bt.Enabled = True And 第三頁_bt.Enabled = True And 第四頁_bt.Enabled = True And 第五頁_bt.Enabled = False Then
  66. For i As Integer = 9 To 15 : 控制表_dgv.Columns(i).Visible = False : Next
  67. For i As Integer = 20 To 36 : 控制表_dgv.Columns(i).Visible = False : Next
  68. For i As Integer = 37 To 42 : 控制表_dgv.Columns(i).Visible = True : Next
  69. For i As Integer = 43 To 60 : 控制表_dgv.Columns(i).Visible = False : Next
  70. 控制表_dgv.Columns(17).Visible = False : 控制表_dgv.Columns(15).Visible = True
  71. End If
  72. 控制表_dgv.Columns(8).DefaultCellStyle.Format = "#,##0" : 控制表_dgv.Columns(12).DefaultCellStyle.Format = "#,##0.00" : 控制表_dgv.Columns(13).DefaultCellStyle.Format = "#,##0.00"
  73. 控制表_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight : 控制表_dgv.Columns(13).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  74. 控制表_dgv.Columns(12).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  75. 控制表_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight : 控制表_dgv.Columns(13).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  76. 控制表_dgv.Columns(12).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  77. L總雙數_tb.Text = "0" : Cost總雙數_tb.Text = "0" : 合總雙數_tb.Text = "0" : 合總銷售_tb.Text = "0" : L總銷售_tb.Text = "0" : Cost總銷售_tb.Text = "0"
  78. For i As Integer = 0 To 控制表_dgv.Rows.Count - 1
  79. If 控制表_dgv.Rows(i).Cells("訂單屬性").Value.ToString = "LANDED BRANDED" Then
  80. L總雙數_tb.Text = Val(L總雙數_tb.Text) + 控制表_dgv.Rows(i).Cells("訂單數量").Value
  81. L總銷售_tb.Text = Val(L總銷售_tb.Text) + 控制表_dgv.Rows(i).Cells("總金額").Value
  82. Else
  83. Cost總雙數_tb.Text = Val(Cost總雙數_tb.Text) + 控制表_dgv.Rows(i).Cells("訂單數量").Value
  84. Cost總銷售_tb.Text = Val(Cost總銷售_tb.Text) + 控制表_dgv.Rows(i).Cells("總金額").Value
  85. End If
  86. 控制表_dgv("選擇", i).Value = False
  87. Next
  88. 合總雙數_tb.Text = Val(L總雙數_tb.Text) + Val(Cost總雙數_tb.Text) : 合總銷售_tb.Text = Val(L總銷售_tb.Text) + Val(Cost總銷售_tb.Text)
  89. 合總銷售_tb.Text = Format(Val(合總銷售_tb.Text), "#,##0") : L總銷售_tb.Text = Format(Val(L總銷售_tb.Text), "#,##0") : Cost總銷售_tb.Text = Format(Val(Cost總銷售_tb.Text), "#,##0")
  90. L總雙數_tb.Text = Format(Val(L總雙數_tb.Text), "#,##0") : Cost總雙數_tb.Text = Format(Val(Cost總雙數_tb.Text), "#,##0") : 合總雙數_tb.Text = Format(Val(合總雙數_tb.Text), "#,##0")
  91. If DGV位置2.Value >= 控制表_dgv.Rows.Count And 控制表_dgv.Rows.Count > 0 Then : DGV位置2.Value = 控制表_dgv.Rows.Count - 1 : End If
  92. If DGV位置2.Value > 0 Then : 控制表_dgv.CurrentCell = 控制表_dgv.Rows(DGV位置2.Value).Cells(1) : End If
  93. End Sub
  94. Private Sub 量產訂單控制表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  95. WINPROFIT_ERP_SYS.WindowState = 2 : Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  96. 表單2_dgv.Visible = False : 可出貨數量_tb.Enabled = False : 第一頁_bt.Enabled = False : 批量出貨_bt.Enabled = False
  97. Set_清單3()
  98. SQL_刪除貨款匯入出款明細表() : conn.Close()
  99. End Sub
  100. Private Sub DataGridView3_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 控制表_dgv.CellClick
  101. If e.RowIndex = -1 Then : Else : DGV位置2.Value = e.RowIndex
  102. If 啟用批量出貨_ch.Checked = True Then
  103. If 控制表_dgv.Rows(e.RowIndex).Cells("驗貨報告圖片").Value.ToString <> "" Then
  104. If 控制表_dgv("選擇", e.RowIndex).Value = True Then
  105. 控制表_dgv("選擇", e.RowIndex).Value = False
  106. Else
  107. 控制表_dgv("選擇", e.RowIndex).Value = True
  108. End If
  109. For i As Integer = 0 To 控制表_dgv.Rows.Count - 1
  110. If 控制表_dgv("選擇", i).Value = True Then
  111. 控制表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGreen
  112. Else
  113. 控制表_dgv.Rows(i).DefaultCellStyle.BackColor = Color.White
  114. End If
  115. Next
  116. End If
  117. Else
  118. If e.RowIndex = -1 Then : Else
  119. 訂單流水號_tb.Text = 控制表_dgv.Rows(e.RowIndex).Cells("訂單流水號").Value
  120. 資料流水號_tb.Text = 控制表_dgv.Rows(e.RowIndex).Cells("資料流水號").Value
  121. 可出貨數量_tb.Text = 控制表_dgv.Rows(e.RowIndex).Cells("訂單數量").Value - 控制表_dgv.Rows(e.RowIndex).Cells("出貨數量").Value
  122. 可出貨數量_tb.Text = Format(Val(可出貨數量_tb.Text), "###0")
  123. If 控制表_dgv.Rows(e.RowIndex).Cells("明細建檔").Value = True Then : 開啟訂單明細表_bt.Enabled = True : Else : 開啟訂單明細表_bt.Enabled = False : End If
  124. PictureBox1.Image = Nothing
  125. PA7 = 控制表_dgv.Rows(e.RowIndex).Cells("BUYER").Value : PA8 = 控制表_dgv.Rows(e.RowIndex).Cells("型體號碼").Value
  126. PA9 = 控制表_dgv.Rows(e.RowIndex).Cells("型體名稱").Value
  127. SQL_第一筆圖片()
  128. If dr.Read() Then : PictureBox1.Image = Nothing : SQL_第一筆圖片()
  129. While dr.Read() = True
  130. Dim unused As Byte() = New Byte(-1) {} : Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  131. Dim oStream As New MemoryStream(bytes) : PictureBox1.Image = Bitmap.FromStream(oStream)
  132. End While : conn.Close()
  133. Else : PictureBox1.Image = Nothing : SQL_第一筆圖片1()
  134. If dr.Read() Then : PictureBox1.Image = Nothing : SQL_第一筆圖片1()
  135. While dr.Read() = True
  136. Dim unused1 As Byte() = New Byte(-1) {} : Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  137. Dim oStream As New MemoryStream(bytes) : PictureBox1.Image = Bitmap.FromStream(oStream)
  138. End While
  139. conn.Close()
  140. Else : SQL_圖片() : PictureBox1.Image = Nothing
  141. If dr.Read() Then : PictureBox1.Image = Nothing : SQL_圖片()
  142. While dr.Read() = True
  143. Dim unused2 As Byte() = New Byte(-1) {} : Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  144. Dim oStream As New MemoryStream(bytes) : PictureBox1.Image = Bitmap.FromStream(oStream)
  145. End While : conn.Close()
  146. Else : conn.Close() : End If
  147. End If
  148. End If : PictureBox1.SizeMode = 4
  149. If 控制表_dgv.Rows(e.RowIndex).Cells("驗報圖庫").Value.ToString <> "" Then
  150. PA1 = 控制表_dgv.Rows(e.RowIndex).Cells("驗報圖庫").Value.ToString : PA2 = 控制表_dgv.Rows(e.RowIndex).Cells("驗貨報告圖片").Value.ToString
  151. SQL_驗貨報告() : PictureBox2.Image = Nothing
  152. While dr.Read() = True
  153. Dim unused2 As Byte() = New Byte(-1) {} : Dim bytes As Byte() = DirectCast(dr.Item("驗貨報告"), Byte())
  154. Dim oStream As New MemoryStream(bytes) : PictureBox2.Image = Bitmap.FromStream(oStream)
  155. End While
  156. conn.Close() : PictureBox2.SizeMode = 4
  157. 驗貨報告 = 控制表_dgv.Rows(e.RowIndex).Cells("驗貨報告圖片").Value.ToString : 圖片庫 = 控制表_dgv.Rows(e.RowIndex).Cells("驗報圖庫").Value.ToString
  158. Else
  159. PictureBox2.Image = Nothing
  160. End If
  161. End If
  162. End If
  163. End If
  164. End Sub
  165. Private Sub 控制表_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 控制表_dgv.RowPostPaint
  166. Dim linePen As New Pen(Color.Blue, 2)
  167. If e.RowIndex = 控制表_dgv.Rows.Count - 1 Then : Exit Sub : Else
  168. If 控制表_dgv(1, e.RowIndex).Value.ToString <> 控制表_dgv(1, e.RowIndex + 1).Value.ToString Then
  169. Dim startX As Integer = IIf(控制表_dgv.RowHeadersVisible, 控制表_dgv.RowHeadersWidth, 0)
  170. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  171. Dim endX As Integer = startX + 控制表_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 控制表_dgv.HorizontalScrollingOffset
  172. e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
  173. Exit Sub
  174. End If
  175. End If
  176. End Sub
  177. Private Sub CheckBox10_CheckedChanged(sender As Object, e As EventArgs) Handles 拆單出貨_ch.Click
  178. If 拆單出貨_ch.Checked = True Then : 拆單出貨_ch.Checked = True : 整單出貨_ch.Checked = False : Else : 拆單出貨_ch.Checked = False : 整單出貨_ch.Checked = True : End If
  179. End Sub
  180. Private Sub CheckBox11_CheckedChanged(sender As Object, e As EventArgs) Handles 整單出貨_ch.Click
  181. If 整單出貨_ch.Checked = True Then : 整單出貨_ch.Checked = True : 拆單出貨_ch.Checked = False : Else : 整單出貨_ch.Checked = False : 拆單出貨_ch.Checked = True : End If
  182. End Sub
  183. Private Sub CheckBox24_CheckedChanged(sender As Object, e As EventArgs) Handles 整張訂單CXL_ch.Click
  184. If 整張訂單CXL_ch.Checked = True Then : 整張訂單CXL_ch.Checked = True : 單筆資料CXL_ch.Checked = False : Else : 整張訂單CXL_ch.Checked = False : 單筆資料CXL_ch.Checked = True : End If
  185. End Sub
  186. Private Sub CheckBox25_CheckedChanged(sender As Object, e As EventArgs) Handles 單筆資料CXL_ch.Click
  187. If 單筆資料CXL_ch.Checked = True Then : 整張訂單CXL_ch.Checked = False : 單筆資料CXL_ch.Checked = True : Else : 整張訂單CXL_ch.Checked = True : 單筆資料CXL_ch.Checked = False : End If
  188. End Sub
  189. Private Sub Button30_Click(sender As Object, e As EventArgs) Handles 開啟訂單明細表_bt.Click
  190. If 訂單流水號_tb.Text = "" Then
  191. MsgBox("請先選擇訂單資料")
  192. Else
  193. PA = 訂單流水號_tb.Text
  194. 量產訂單明細表.Show() : 量產訂單明細表.WindowState = 2
  195. End If
  196. End Sub
  197. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 刪除訂單_bt.Click
  198. If 訂單流水號_tb.Text = "" Then
  199. MsgBox("未選擇需要刪除的資料")
  200. Else
  201. aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
  202. If aa = MsgBoxResult.Ok Then
  203. SQL_刪除訂單明細表抬頭() : conn.Close()
  204. SQL_刪除訂單控制表1() : conn.Close()
  205. SQL_刪除訂單明細表1() : conn.Close()
  206. MsgBox("刪除完成")
  207. End If
  208. End If
  209. PA = ""
  210. Set_清單3()
  211. End Sub
  212. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 關鍵字查詢_bt.Click
  213. PA = InputBox("請輸入要查詢的關鍵字") : Set_清單3() : PA = ""
  214. End Sub
  215. Private Sub Button38_Click(sender As Object, e As EventArgs) Handles CXL訂單_bt.Click
  216. aa = MsgBox("確定要CXL訂單?", MsgBoxStyle.OkCancel)
  217. If aa = MsgBoxResult.Ok Then
  218. If 資料流水號_tb.Text = "" Or 訂單流水號_tb.Text = "" Then
  219. MsgBox("沒有正確選擇要修改的資料")
  220. Else
  221. SQL_更改訂單控制表1() : conn.Close()
  222. End If
  223. End If
  224. Set_清單3()
  225. End Sub
  226. Private Sub DateTimePicker30_ValueChanged(sender As Object, e As EventArgs) Handles 時間_dtp.MouseDown
  227. 時間_dtp.Format = DateTimePickerFormat.Short
  228. End Sub
  229. Private Sub Button27_Click(sender As Object, e As EventArgs) Handles 清空_bt.Click
  230. 時間_dtp.Format = DateTimePickerFormat.Custom : 時間_dtp.CustomFormat = " "
  231. End Sub
  232. Private Sub Button15_Click(sender As Object, e As EventArgs) Handles 確定出貨_bt.Click
  233. aa = MsgBox("確定要將此產品訂單移到出貨?", MsgBoxStyle.OkCancel)
  234. If aa = MsgBoxResult.Ok Then
  235. If 時間_dtp.Format = DateTimePickerFormat.Custom Then : MsgBox("ACTUAL ex-fty不能空白")
  236. Else
  237. Dim EDR As Integer
  238. If 拆單出貨_ch.Checked = True Then
  239. If 出貨數量_tb.Text = "" Or IsNumeric(出貨數量_tb.Text) = False Then
  240. MsgBox("出貨數量不可為空白或非數字型態")
  241. Else
  242. 表單2_dgv.DataSource = Nothing : ds1.Clear()
  243. 表單2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  244. 表單2_dgv.ColumnHeadersHeight = 25
  245. 表單2_dgv.AllowUserToAddRows = False
  246. SQL_次清單() : da.Fill(ds1) : 表單2_dgv.DataSource = ds1.Tables(0) : conn.Close()
  247. For i As Integer = 0 To 表單2_dgv.Rows.Count - 1
  248. GHJK = 表單2_dgv.Rows(i).Cells("驗貨報告圖片").Value
  249. If GHJK = "" Then
  250. MsgBox("驗貨報告不齊全,請重新確認。")
  251. Set_清單3() : 出貨數量_tb.Text = "" : 資料流水號_tb.Text = "" : 訂單流水號_tb.Text = ""
  252. Exit Sub
  253. End If
  254. Next
  255. If 表單2_dgv.Rows(0).Cells("出貨數量").Value >= 表單2_dgv.Rows(0).Cells("訂單數量").Value Then
  256. MsgBox("系統有誤,請通知系統管理員處理。")
  257. Exit Sub
  258. End If
  259. SQL_新增貨款流水號()
  260. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("貨款流水號").ToString, 8)) : Else : EDR = 0 : End If
  261. conn.Close()
  262. EDR += 1
  263. If EDR < 10 Then : ESTR = "PG" & "0000000" & EDR
  264. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "PG" & "000000" & EDR
  265. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "PG" & "00000" & EDR
  266. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "PG" & "0000" & EDR
  267. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "PG" & "000" & EDR
  268. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "PG" & "00" & EDR
  269. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "PG" & "0" & EDR
  270. ElseIf EDR > 9999999 Then : ESTR = "PG" & EDR
  271. End If
  272. PA2 = 表單2_dgv.Rows(0).Cells("資料流水號").Value : PA3 = 表單2_dgv.Rows(0).Cells("訂單流水號").Value
  273. PA4 = 表單2_dgv.Rows(0).Cells("年份季度").Value : PA5 = 表單2_dgv.Rows(0).Cells("客戶訂單號").Value
  274. PA6 = 表單2_dgv.Rows(0).Cells("型體名稱").Value : PA7 = 表單2_dgv.Rows(0).Cells("顏色").Value
  275. PA8 = 表單2_dgv.Rows(0).Cells("楦型").Value : PA9 = 表單2_dgv.Rows(0).Cells("訂單數量").Value
  276. SQL_新增貨款匯入出款明細表() : conn.Close()
  277. EDRW = 表單2_dgv.Rows(0).Cells("出貨數量").Value + Double.Parse(出貨數量_tb.Text)
  278. SQL_更改訂單控制表3() : conn.Close()
  279. End If
  280. Else
  281. 表單2_dgv.DataSource = Nothing : ds1.Clear()
  282. 表單2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  283. 表單2_dgv.ColumnHeadersHeight = 25
  284. 表單2_dgv.AllowUserToAddRows = False
  285. SQL_次清單() : da.Fill(ds1) : 表單2_dgv.DataSource = ds1.Tables(0) : conn.Close()
  286. For i As Integer = 0 To 表單2_dgv.Rows.Count - 1
  287. GHJK = 表單2_dgv.Rows(i).Cells("驗貨報告圖片").Value
  288. If GHJK = "" Then
  289. MsgBox("驗貨報告不齊全,請重新確認。")
  290. Set_清單3() : 出貨數量_tb.Text = "" : 資料流水號_tb.Text = "" : 訂單流水號_tb.Text = ""
  291. Exit Sub
  292. End If
  293. Next
  294. SQL_貨款流水號()
  295. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("貨款流水號").ToString, 8)) : Else : EDR = 0 : End If
  296. conn.Close()
  297. For i As Integer = 0 To 表單2_dgv.Rows.Count - 1
  298. EDR += 1
  299. If EDR < 10 Then : ESTR = "PG" & "0000000" & EDR
  300. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "PG" & "000000" & EDR
  301. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "PG" & "00000" & EDR
  302. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "PG" & "0000" & EDR
  303. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "PG" & "000" & EDR
  304. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "PG" & "00" & EDR
  305. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "PG" & "0" & EDR
  306. ElseIf EDR > 9999999 Then : ESTR = "PG" & EDR
  307. End If
  308. If 表單2_dgv.Rows(i).Cells("出貨數量").Value = 0 Then
  309. EDRW = 表單2_dgv.Rows(i).Cells("訂單數量").Value
  310. Else
  311. EDRW = 表單2_dgv.Rows(i).Cells("訂單數量").Value - 表單2_dgv.Rows(i).Cells("出貨數量").Value
  312. End If
  313. PA10 = 表單2_dgv.Rows(i).Cells("資料流水號").Value : PA11 = 表單2_dgv.Rows(i).Cells("訂單流水號").Value
  314. PA12 = 表單2_dgv.Rows(i).Cells("年份季度").Value : PA13 = 表單2_dgv.Rows(i).Cells("客戶訂單號").Value
  315. PA14 = 表單2_dgv.Rows(i).Cells("型體名稱").Value : PA15 = 表單2_dgv.Rows(i).Cells("顏色").Value
  316. PA16 = 表單2_dgv.Rows(i).Cells("楦型").Value : PA17 = 表單2_dgv.Rows(i).Cells("訂單數量").Value
  317. SQL_新增貨款匯入出款明細表2() : conn.Close()
  318. Next i
  319. SQL_修改訂單控制表1() : conn.Close()
  320. End If
  321. MsgBox("出貨資料作業完成")
  322. End If
  323. End If
  324. Set_清單3() : 出貨數量_tb.Text = "" : 資料流水號_tb.Text = ""
  325. End Sub
  326. Private Sub Button25_Click(sender As Object, e As EventArgs) Handles 順時鐘90度旋轉_bt.Click
  327. PictureBox2.Image.RotateFlip(RotateFlipType.Rotate90FlipNone) : PictureBox2.Refresh() : PictureBox2.SizeMode = 4
  328. End Sub
  329. Private Sub Button24_Click(sender As Object, e As EventArgs) Handles 逆時鐘90度旋轉_bt.Click
  330. PictureBox2.Image.RotateFlip(RotateFlipType.Rotate270FlipNone) : PictureBox2.Refresh() : PictureBox2.SizeMode = 4
  331. End Sub
  332. Private Sub Button23_Click(sender As Object, e As EventArgs) Handles 水平翻轉_bt.Click
  333. PictureBox2.Image.RotateFlip(RotateFlipType.Rotate180FlipY) : PictureBox2.Refresh() : PictureBox2.SizeMode = 4
  334. End Sub
  335. Private Sub Button21_Click(sender As Object, e As EventArgs) Handles 垂直翻轉_bt.Click
  336. PictureBox2.Image.RotateFlip(RotateFlipType.Rotate180FlipX) : PictureBox2.Refresh() : PictureBox2.SizeMode = 4
  337. End Sub
  338. Private Sub Button20_Click(sender As Object, e As EventArgs) Handles 驗貨報告大圖_bt.Click
  339. 驗貨報告大圖.ShowDialog()
  340. End Sub
  341. Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles 出貨數量_tb.TextChanged
  342. If Val(出貨數量_tb.Text) > Val(可出貨數量_tb.Text) Then
  343. MsgBox("出貨數量不可大於可出貨數量") : 出貨數量_tb.Text = "0"
  344. End If
  345. End Sub
  346. Private Sub ComboBox10_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 訂單屬性_cb.SelectedIndexChanged
  347. PA = 訂單屬性_cb.Text : Set_清單3() : PA = ""
  348. End Sub
  349. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 第一頁_bt.Click
  350. 第一頁_bt.Enabled = False : 第二頁_bt.Enabled = True : 第三頁_bt.Enabled = True : 第四頁_bt.Enabled = True : 第五頁_bt.Enabled = True
  351. Set_grid4()
  352. End Sub
  353. Private Sub Button34_Click(sender As Object, e As EventArgs) Handles 第二頁_bt.Click
  354. 第一頁_bt.Enabled = True : 第二頁_bt.Enabled = False : 第三頁_bt.Enabled = True : 第四頁_bt.Enabled = True : 第五頁_bt.Enabled = True
  355. Set_grid4()
  356. End Sub
  357. Private Sub Button35_Click(sender As Object, e As EventArgs) Handles 第三頁_bt.Click
  358. 第一頁_bt.Enabled = True : 第二頁_bt.Enabled = True : 第三頁_bt.Enabled = False : 第四頁_bt.Enabled = True : 第五頁_bt.Enabled = True
  359. Set_grid4()
  360. End Sub
  361. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles 第四頁_bt.Click
  362. 第一頁_bt.Enabled = True : 第二頁_bt.Enabled = True : 第三頁_bt.Enabled = True : 第四頁_bt.Enabled = False : 第五頁_bt.Enabled = True
  363. Set_grid4()
  364. End Sub
  365. Private Sub Button6_Click(sender As Object, e As EventArgs) Handles 第五頁_bt.Click
  366. 第一頁_bt.Enabled = True : 第二頁_bt.Enabled = True : 第三頁_bt.Enabled = True : 第四頁_bt.Enabled = True : 第五頁_bt.Enabled = False
  367. Set_grid4()
  368. End Sub
  369. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles 列印_bt.Click
  370. 列印_量產訂單控制表.ShowDialog()
  371. End Sub
  372. Private Sub 啟用批量出貨_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 啟用批量出貨_ch.Click
  373. If 啟用批量出貨_ch.Checked = False Then
  374. 批量出貨_bt.Enabled = False
  375. Else
  376. 批量出貨_bt.Enabled = True
  377. End If
  378. End Sub
  379. Private Sub 批量出貨_bt_Click(sender As Object, e As EventArgs) Handles 批量出貨_bt.Click
  380. aa = MsgBox("執行批量出貨之前需要在訂單控制表清單中先勾選要出貨的資料,請確定你已完成出貨資料選擇?", MsgBoxStyle.OkCancel)
  381. If aa = MsgBoxResult.Ok Then
  382. Dim EDR, SD As Integer
  383. For I As Integer = 0 To 控制表_dgv.Rows.Count - 1
  384. 資料數 = 控制表_dgv.Rows.Count : MyModule1.進度條()
  385. If 控制表_dgv("選擇", I).Value = True And 控制表_dgv("驗貨報告圖片", I).Value.ToString <> "" Then
  386. SQL_貨款流水號()
  387. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("貨款流水號").ToString, 8)) : Else : EDR = 0 : End If
  388. conn.Close()
  389. EDR += 1
  390. If EDR < 10 Then : ESTR = "PG" & "0000000" & EDR
  391. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "PG" & "000000" & EDR
  392. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "PG" & "00000" & EDR
  393. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "PG" & "0000" & EDR
  394. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "PG" & "000" & EDR
  395. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "PG" & "00" & EDR
  396. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "PG" & "0" & EDR
  397. ElseIf EDR > 9999999 Then : ESTR = "PG" & EDR
  398. End If
  399. PA18 = 控制表_dgv.Rows(I).Cells("資料流水號").Value : PA19 = 控制表_dgv.Rows(I).Cells("訂單流水號").Value
  400. PA20 = 控制表_dgv.Rows(I).Cells("年份季度").Value : PA21 = 控制表_dgv.Rows(I).Cells("客戶訂單號").Value
  401. PA22 = 控制表_dgv.Rows(I).Cells("型體名稱").Value : PA23 = 控制表_dgv.Rows(I).Cells("顏色").Value
  402. PA24 = 控制表_dgv.Rows(I).Cells("楦型").Value : PA25 = 控制表_dgv.Rows(I).Cells("訂單數量").Value
  403. PA26 = 控制表_dgv.Rows(I).Cells("訂單數量").Value
  404. SQL_新增貨款匯入出款明細表3() : conn.Close()
  405. PA27 = 控制表_dgv.Rows(I).Cells("訂單數量").Value : PA28 = 控制表_dgv.Rows(I).Cells("資料流水號").Value
  406. SQL_更改訂單控制表2() : conn.Close()
  407. SD += 1
  408. End If
  409. Next : WINPROFIT_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  410. MsgBox("一共出貨 " & SD & " 筆資料!!")
  411. Set_清單3() : 啟用批量出貨_ch.Checked = False : 批量出貨_bt.Enabled = False
  412. End If
  413. End Sub
  414. Private Sub 控制表_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 控制表_dgv.MouseUp
  415. If 控制表_dgv.SelectedCells.Count = 1 Then
  416. 已超出 = False
  417. End If
  418. If 控制表_dgv.SelectedCells.Count > 0 Then
  419. '設定滑鼠點擊DGV時候的範圍,超出範圍時有可能不是數字所以不計算
  420. If 控制表_dgv.SelectedCells(0).ColumnIndex = 8 Or 控制表_dgv.SelectedCells(0).ColumnIndex = 13 Or
  421. 控制表_dgv.SelectedCells(0).ColumnIndex = 39 Then
  422. If 已超出 = False Then
  423. Dim x As Double = 0
  424. For i As Integer = 0 To 控制表_dgv.SelectedCells.Count - 1
  425. '流水帳_dgv.SelectedCells.Item(i).ColumnIndex + 8 是因為該DGV顯示項與計算像剛好差8格,使用時要注意可直接計算的不需要加數字。
  426. x += Val(控制表_dgv.Rows(控制表_dgv.SelectedCells.Item(i).RowIndex).Cells(控制表_dgv.SelectedCells.Item(i).ColumnIndex).Value)
  427. Next i
  428. '將計算好的資料放置到指定的控件中
  429. 加總_tb.Text = Strings.Format(x, "#,##0")
  430. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(x, "#,##0.00")
  431. Else
  432. 加總_tb.Text = Strings.Format(0, "#,##0")
  433. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0.00")
  434. End If
  435. Else
  436. 已超出 = True
  437. 加總_tb.Text = Strings.Format(0, "#,##0")
  438. WINPROFIT_ERP_SYS.合計_TSSL.Text = "合計 : " & Strings.Format(0, "#,##0.00")
  439. End If
  440. End If
  441. End Sub
  442. End Class