Nenhuma descrição
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

量產訂單控制表.vb 32KB

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