Нет описания
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372
  1. Public Class 銷售審查表
  2. Dim xlApp As Microsoft.Office.Interop.Excel.Application
  3. ReadOnly xlBook As Microsoft.Office.Interop.Excel.Workbook
  4. Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
  5. Dim 頁面(3) As Boolean
  6. Private Sub Set_天心銷售單()
  7. Dim ds1 As New DataSet
  8. 清單1_dgv.DataSource = Nothing : ds1.Clear()
  9. 清單1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  10. 清單1_dgv.ColumnHeadersHeight = 25
  11. 清單1_dgv.AllowUserToAddRows = False
  12. SQL_天心銷售單("已轉審查")
  13. da1.Fill(ds1) : 清單1_dgv.DataSource = ds1.Tables(0) : conn.Close()
  14. 清單1_dgv.Columns(0).FillWeight = 100 : 清單1_dgv.Columns(0).ReadOnly = True
  15. For I As Integer = 1 To 14 : 清單1_dgv.Columns(I).Visible = False : Next
  16. End Sub
  17. Private Sub 清單1_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 清單1_dgv.RowPostPaint
  18. For I As Integer = 0 To 清單1_dgv.Rows.Count - 1
  19. If 清單1_dgv.Rows(I).Cells("還未完單").Value.ToString = "" Then : 清單1_dgv.Rows(I).DefaultCellStyle.BackColor = Color.LightGreen : End If
  20. Next
  21. End Sub
  22. Private Sub Set_天心受訂明細()
  23. Dim ds1 As New DataSet
  24. 清單1_1_dgv.DataSource = Nothing : ds1.Clear()
  25. 清單1_1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  26. 清單1_1_dgv.ColumnHeadersHeight = 40
  27. 清單1_1_dgv.AllowUserToAddRows = False
  28. SQL_天心銷售單明細(訂單號_tb.Text, "已轉審查")
  29. da1.Fill(ds1) : 清單1_1_dgv.DataSource = ds1.Tables(0) : conn.Close()
  30. 清單1_1_dgv.Columns(0).Visible = False : 清單1_1_dgv.Columns(1).FillWeight = 30 : 清單1_1_dgv.Columns(3).FillWeight = 80 : 清單1_1_dgv.Columns(5).FillWeight = 40
  31. 清單1_1_dgv.Columns(2).Visible = False : 清單1_1_dgv.Columns(6).FillWeight = 40 : 清單1_1_dgv.Columns(7).FillWeight = 40 : 清單1_1_dgv.Columns(8).FillWeight = 60
  32. 清單1_1_dgv.Columns(10).Visible = False : 清單1_1_dgv.Columns(11).FillWeight = 40 : 清單1_1_dgv.Columns(12).FillWeight = 60 : 清單1_1_dgv.Columns(13).FillWeight = 60
  33. 清單1_1_dgv.Columns(9).FillWeight = 60
  34. 清單1_1_dgv.Columns(5).DefaultCellStyle.Format = "#,##0" : 清單1_1_dgv.Columns(7).DefaultCellStyle.Format = "#,##0.00"
  35. 清單1_1_dgv.Columns(8).DefaultCellStyle.Format = "#,##0.00"
  36. 清單1_1_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  37. 清單1_1_dgv.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  38. 清單1_1_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  39. 清單1_1_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  40. 清單1_1_dgv.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  41. 清單1_1_dgv.Columns(7).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  42. 清單1_1_dgv.Columns(8).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  43. 清單1_1_dgv.Columns(8).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  44. 總數量_lb.Text = "0" : 總金額_lb.Text = "0"
  45. For I As Integer = 0 To 13 : 清單1_1_dgv.Columns(I).ReadOnly = True : Next
  46. For I As Integer = 0 To 清單1_1_dgv.Rows.Count - 1
  47. 清單1_1_dgv.Rows(I).Cells(1).Value = I + 1 : 清單1_1_dgv.Rows(I).Cells("選擇").Value = False
  48. If IsDBNull(清單1_1_dgv.Rows(I).Cells("已轉").Value) Then : 清單1_1_dgv.Rows(I).Cells("已轉").Value = False : End If
  49. 總數量_lb.Text = CInt(總數量_lb.Text) + 清單1_1_dgv.Rows(I).Cells("數量").Value
  50. 總金額_lb.Text = CInt(總金額_lb.Text) + 清單1_1_dgv.Rows(I).Cells("金額").Value
  51. Next
  52. 總數量_lb.Text = Strings.Format(CInt(總數量_lb.Text), "#,##0") : 總金額_lb.Text = Strings.Format(CInt(總金額_lb.Text), "#,##0")
  53. End Sub
  54. Private Sub Set_銷售單()
  55. Dim ds1 As New DataSet
  56. 清單2_dgv.DataSource = Nothing : ds1.Clear()
  57. 清單2_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  58. 清單2_dgv.ColumnHeadersHeight = 25
  59. 清單2_dgv.AllowUserToAddRows = False
  60. SQL_訂單控制表()
  61. da1.Fill(ds1) : 清單2_dgv.DataSource = ds1.Tables(0) : conn.Close()
  62. 清單2_dgv.Columns(0).FillWeight = 100 : 清單2_dgv.Columns(0).ReadOnly = True
  63. For I As Integer = 1 To 10 : 清單2_dgv.Columns(I).Visible = False : Next
  64. End Sub
  65. Private Sub Set_銷售單明細()
  66. Dim ds1 As New DataSet
  67. 清單2_1_dgv.DataSource = Nothing : ds1.Clear()
  68. 清單2_1_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  69. 清單2_1_dgv.ColumnHeadersHeight = 25
  70. 清單2_1_dgv.AllowUserToAddRows = False
  71. SQL_訂單明細表(客戶訂單_bt.Text)
  72. da1.Fill(ds1) : 清單2_1_dgv.DataSource = ds1.Tables(0) : conn.Close()
  73. 清單2_1_dgv.Columns(0).FillWeight = 20 : 清單2_1_dgv.Columns(5).FillWeight = 30 : 清單2_1_dgv.Columns(4).FillWeight = 30 : 清單2_1_dgv.Columns(6).FillWeight = 60
  74. 清單2_1_dgv.Columns(2).FillWeight = 80 : 清單2_1_dgv.Columns(3).FillWeight = 80 : 清單2_1_dgv.Columns("流水號").Visible = False : 清單2_1_dgv.Columns("選擇").Visible = False
  75. 清單2_1_dgv.Columns(0).ReadOnly = True : 清單2_1_dgv.Columns(1).ReadOnly = True : 清單2_1_dgv.Columns(4).ReadOnly = True : 清單2_1_dgv.Columns(5).ReadOnly = True
  76. For I As Integer = 7 To 14 : 清單2_1_dgv.Columns(I).FillWeight = 80 : Next
  77. 清單2_1_dgv.Columns(4).DefaultCellStyle.Format = "#,##0" : 清單2_1_dgv.Columns(5).DefaultCellStyle.Format = "#,##0.00"
  78. 清單2_1_dgv.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  79. 清單2_1_dgv.Columns(4).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  80. 清單2_1_dgv.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  81. 清單2_1_dgv.Columns(5).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  82. 清單2_1_dgv.EditMode = DataGridViewEditMode.EditOnEnter
  83. For I As Integer = 0 To 清單2_1_dgv.Rows.Count - 1 : 清單2_1_dgv.Rows(I).Cells(0).Value = I + 1 : 清單2_1_dgv.Rows(I).Cells("選擇").Value = False : Next
  84. 清單1_dgv格式()
  85. End Sub
  86. Private Sub 清單1_dgv格式()
  87. If 清單2_1_dgv.Rows.Count > 0 Then
  88. If 頁面(0) = True And 頁面(1) = False And 頁面(2) = False And 頁面(3) = False Then
  89. 清單2_1_dgv.Columns(5).Visible = True
  90. For I As Integer = 7 To 14 : 清單2_1_dgv.Columns(I).Visible = False : Next
  91. ElseIf 頁面(0) = False And 頁面(1) = True And 頁面(2) = False And 頁面(3) = False Then
  92. 清單2_1_dgv.Columns(5).Visible = False
  93. For I As Integer = 7 To 8 : 清單2_1_dgv.Columns(I).Visible = True : Next
  94. For I As Integer = 9 To 14 : 清單2_1_dgv.Columns(I).Visible = False : Next
  95. ElseIf 頁面(0) = False And 頁面(1) = False And 頁面(2) = True And 頁面(3) = False Then
  96. 清單2_1_dgv.Columns(5).Visible = False
  97. For I As Integer = 7 To 8 : 清單2_1_dgv.Columns(I).Visible = False : Next
  98. For I As Integer = 9 To 11 : 清單2_1_dgv.Columns(I).Visible = True : Next
  99. For I As Integer = 12 To 14 : 清單2_1_dgv.Columns(I).Visible = False : Next
  100. ElseIf 頁面(0) = False And 頁面(1) = False And 頁面(2) = False And 頁面(3) = True Then
  101. 清單2_1_dgv.Columns(5).Visible = False
  102. For I As Integer = 7 To 11 : 清單2_1_dgv.Columns(I).Visible = False : Next
  103. For I As Integer = 12 To 14 : 清單2_1_dgv.Columns(I).Visible = True : Next
  104. End If
  105. End If
  106. End Sub
  107. Private Sub 清單1_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 清單1_dgv.CellClick
  108. If e.RowIndex = -1 Then : Else
  109. 訂單號_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells("受訂單號").Value.ToString : 受訂日期_dtp.Value = 清單1_dgv.Rows(e.RowIndex).Cells("受訂日期").Value.ToString
  110. 預交日期_dtp.Value = 清單1_dgv.Rows(e.RowIndex).Cells("預交日期").Value.ToString : 客戶編號_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells("客戶編號").Value.ToString
  111. 客戶名稱_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells("客戶名稱").Value.ToString : 統一編號_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells("統一編號").Value.ToString
  112. 連絡電話_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells("連絡電話").Value.ToString : 送貨地址_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells("送貨地址").Value.ToString
  113. 傳真_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells("傳真").Value.ToString : 經辦業務_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells("經辦業務").Value.ToString
  114. 交易方式_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells("交易方式").Value.ToString : 備註_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells("備註").Value.ToString
  115. 幣別_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells("幣別").Value.ToString : 匯率_tb.Text = 清單1_dgv.Rows(e.RowIndex).Cells("匯率").Value.ToString
  116. Set_天心受訂明細() : 資料比對()
  117. End If
  118. End Sub
  119. Private Sub 資料比對()
  120. Dim 通知 As Boolean = False
  121. For I As Integer = 0 To 清單1_1_dgv.Rows.Count - 1
  122. If 清單1_1_dgv.Rows(I).Cells("已轉").Value = False Then
  123. If 清單1_1_dgv.Rows(I).Cells("訂單號").Value.ToString = 客戶訂單_bt.Text And 客戶訂單_bt.Text <> "" Then
  124. 清單1_1_dgv.Rows(I).Cells("選擇").Value = True : 通知 = True
  125. End If
  126. End If
  127. Next
  128. If 通知 = True Then
  129. Dim result As DialogResult = MessageBox.Show("系統在受訂單 [ " & 訂單號_tb.Text & "] 的資料中找到可以轉移到 訂單審查表 [ " & 客戶訂單_bt.Text & "] 的資料,是否將資料加入?", "請選擇",
  130. MessageBoxButtons.YesNo, MessageBoxIcon.Question)
  131. If result = DialogResult.Yes Then : 增加明細_bt.PerformClick() : End If
  132. End If
  133. End Sub
  134. Private Sub 清單_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 清單1_1_dgv.CellClick
  135. If e.RowIndex = -1 Then : Else
  136. If 清單1_1_dgv.Rows(e.RowIndex).Cells("已轉").Value = False Then
  137. If 清單1_1_dgv.Rows(e.RowIndex).Cells("訂單號").Value.ToString = "" Then
  138. If 清單1_1_dgv.Rows(e.RowIndex).Cells("選擇").Value = False Then
  139. 清單1_1_dgv.Rows(e.RowIndex).Cells("選擇").Value = True
  140. Else : 清單1_1_dgv.Rows(e.RowIndex).Cells("選擇").Value = False : End If
  141. End If
  142. End If
  143. End If
  144. End Sub
  145. Private Sub 清單_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 清單1_1_dgv.RowPostPaint
  146. For i As Integer = 0 To 清單1_1_dgv.Rows.Count - 1
  147. If 清單1_1_dgv("選擇", i).Value = True Then
  148. 清單1_1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGreen
  149. Else : 清單1_1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.White : End If
  150. Next
  151. End Sub
  152. Private Sub 清單2_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 清單2_dgv.CellClick
  153. If e.RowIndex = -1 Then : Else
  154. SQL1 = "SELECT 客戶訂單, 客戶名稱, 接收日期, 訂單效期, 交運條件, 付款條件, 業務審批, 生管審批, 製造審批, 品保審批, 總經理
  155. FROM 訂單審查控制表 ORDER BY 客戶訂單 DESC"
  156. 客戶訂單_bt.Text = 清單2_dgv.Rows(e.RowIndex).Cells("客戶訂單").Value.ToString : 客戶名稱_cb.Text = 清單2_dgv.Rows(e.RowIndex).Cells("客戶名稱").Value.ToString
  157. 接收日期_dtp.Value = 清單2_dgv.Rows(e.RowIndex).Cells("接收日期").Value.ToString : 訂單效期_dtp.Value = 清單2_dgv.Rows(e.RowIndex).Cells("訂單效期").Value.ToString
  158. 交運條件_cb.Text = 清單2_dgv.Rows(e.RowIndex).Cells("交運條件").Value.ToString : 付款條件_cb.Text = 清單2_dgv.Rows(e.RowIndex).Cells("付款條件").Value.ToString
  159. 業務審批_tb.Text = 清單2_dgv.Rows(e.RowIndex).Cells("業務審批").Value.ToString : 生管審批_tb.Text = 清單2_dgv.Rows(e.RowIndex).Cells("生管審批").Value.ToString
  160. 製造審批_tb.Text = 清單2_dgv.Rows(e.RowIndex).Cells("製造審批").Value.ToString : 品保審批_tb.Text = 清單2_dgv.Rows(e.RowIndex).Cells("品保審批").Value.ToString
  161. 總經理_tb.Text = 清單2_dgv.Rows(e.RowIndex).Cells("總經理").Value.ToString
  162. Set_銷售單明細() : 資料比對()
  163. End If
  164. End Sub
  165. Private Sub 清單2_1_dgv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles 清單2_1_dgv.MouseUp
  166. Dim 位置Y As Integer = 清單2_1_dgv.SelectedCells(0).ColumnIndex : Dim 位置 As Integer = 清單2_1_dgv.SelectedCells(0).RowIndex
  167. If 位置Y = 0 Or 位置Y = 1 Or 位置Y = 4 Or 位置Y = 5 Then
  168. If 清單2_1_dgv.Rows(位置).Cells("選擇").Value = False Then : 清單2_1_dgv.Rows(位置).Cells("選擇").Value = True
  169. Else : 清單2_1_dgv.Rows(位置).Cells("選擇").Value = False : End If
  170. End If
  171. End Sub
  172. Private Sub 清單2_1_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 清單2_1_dgv.RowPostPaint
  173. For i As Integer = 0 To 清單2_1_dgv.Rows.Count - 1
  174. If 清單2_1_dgv("選擇", i).Value = True Then
  175. 清單2_1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.LightGreen
  176. Else : 清單2_1_dgv.Rows(i).DefaultCellStyle.BackColor = Color.White : End If
  177. Next
  178. End Sub
  179. Private Sub 下拉清單刷新()
  180. SQL_訂單_客戶名稱() : 客戶名稱_cb.Items.Clear() : While (dr1.Read()) : 客戶名稱_cb.Items.Add(dr1("客戶名稱")) : End While
  181. SQL_訂單_交運條件() : 交運條件_cb.Items.Clear() : While (dr1.Read()) : 交運條件_cb.Items.Add(dr1("交運條件")) : End While
  182. SQL_訂單_付款條件() : 付款條件_cb.Items.Clear() : While (dr1.Read()) : 付款條件_cb.Items.Add(dr1("付款條件")) : End While
  183. End Sub
  184. Private Sub 銷售審查表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  185. Me.MdiParent = HT_ERP_SELLINGPI : Me.WindowState = 2 : Me.AutoScroll = True
  186. 首次進入 = True
  187. 客戶訂單_bt.ReadOnly = True : 頁面(0) = True : 頁面(1) = False : 頁面(2) = False : 頁面(3) = False
  188. 首次進入 = False
  189. End Sub
  190. Private Sub 銷售審查表_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown
  191. Set_天心銷售單() : Set_銷售單() : 下拉清單刷新()
  192. End Sub
  193. Private Sub 導入受訂單_bt_Click(sender As Object, e As EventArgs) Handles 導入受訂單_bt.Click
  194. With 開啟檔案
  195. .Title = "選擇 Excel 檔案"
  196. .Filter = "Excel 檔案 (*.xls;*.xlsx)|*.xls;*.xlsx"
  197. .FilterIndex = 1 ' 預設選項
  198. .RestoreDirectory = True ' 關閉後回到先前的資料夾
  199. .Multiselect = False ' 限制只能選擇單一檔案
  200. End With : Dim file_name As String
  201. If 開啟檔案.ShowDialog = Windows.Forms.DialogResult.OK Then
  202. Try
  203. file_name = 開啟檔案.FileName
  204. xlApp = CreateObject("Excel.Application")
  205. xlApp.DisplayAlerts = True
  206. xlApp.Visible = True
  207. xlApp.Workbooks.Open(file_name)
  208. xlSheet = xlApp.Worksheets(1) : xlSheet.Activate()
  209. Dim 檔案 As String = xlSheet.Cells(1, 2).value
  210. If 檔案 = "受 訂 單" Then
  211. 訂單號_tb.Text = Strings.Mid(xlSheet.Cells(6, 7).value, 6, 50) : 受訂日期_dtp.Value = xlSheet.Cells(2, 2).value
  212. 預交日期_dtp.Value = Strings.Mid(xlSheet.Cells(7, 7).value, 6, 50) : 客戶編號_tb.Text = Strings.Mid(xlSheet.Cells(6, 2).value, 6, 4)
  213. 客戶名稱_tb.Text = Strings.Mid(xlSheet.Cells(6, 2).value, 10, 50) : 統一編號_tb.Text = Strings.Mid(xlSheet.Cells(7, 2).value, 6, 50)
  214. 連絡電話_tb.Text = Strings.Mid(xlSheet.Cells(8, 2).value, 6, 50) : 送貨地址_tb.Text = Strings.Mid(xlSheet.Cells(9, 2).value, 6, 50)
  215. 傳真_tb.Text = Strings.Mid(xlSheet.Cells(8, 4).value, 6, 50) : 經辦業務_tb.Text = Strings.Mid(xlSheet.Cells(8, 7).value, 11, 50)
  216. 交易方式_tb.Text = Strings.Mid(xlSheet.Cells(42, 2).value, 6, 100) : 備註_tb.Text = Strings.Mid(xlSheet.Cells(43, 2).value, 9, 100)
  217. 幣別_tb.Text = xlSheet.Cells(3, 3).value : 匯率_tb.Text = xlSheet.Cells(3, 4).value
  218. xlApp.Visible = False
  219. If 訂單號_tb.Text <> "" Then
  220. SQL_受訂控制表查詢(訂單號_tb.Text)
  221. If dr1.Read Then
  222. MsgBox("該檔案已經存在系統中,不需要重複導入!!") : xlApp.Visible = True : xlApp.Quit() : xlApp = Nothing : Exit Sub
  223. Else
  224. SQL_受訂控制表新增(訂單號_tb.Text, Strings.Format(受訂日期_dtp.Value, "yyyy/MM/dd"), Strings.Format(預交日期_dtp.Value, "yyyy/MM/dd"), 客戶編號_tb.Text,
  225. 客戶名稱_tb.Text, 統一編號_tb.Text, 連絡電話_tb.Text, 送貨地址_tb.Text, 傳真_tb.Text, 經辦業務_tb.Text, 交易方式_tb.Text, 備註_tb.Text,
  226. 幣別_tb.Text, 匯率_tb.Text)
  227. End If
  228. Dim NUM1 As Integer : Dim 流水號 As String = ""
  229. SQL_受訂明細表刪除(訂單號_tb.Text) : SQL_受訂明細表查詢()
  230. If dr1.Read Then : NUM1 = Strings.Right(dr1("流水號"), 5) : Else : NUM1 = 0 : End If
  231. For i As Integer = 11 To 99999
  232. Dim 判斷 As String = xlSheet.Cells(i, 2).value : If Strings.Left(判斷, 4) = "" Or Strings.Left(判斷, 4) = "交易方式" Then : Exit For : End If
  233. NUM1 += 1
  234. If NUM1 < 10 Then : 流水號 = "SO-" & Strings.Format(Today(), "yyyyMMdd") & "-0000" & NUM1
  235. ElseIf NUM1 > 9 And NUM1 < 100 Then : 流水號 = "SO-" & Strings.Format(Today(), "yyyyMMdd") & "-000" & NUM1
  236. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 流水號 = "SO-" & Strings.Format(Today(), "yyyyMMdd") & "-00" & NUM1
  237. ElseIf NUM1 > 999 And NUM1 < 10000 Then : 流水號 = "SO-" & Strings.Format(Today(), "yyyyMMdd") & "-0" & NUM1
  238. ElseIf NUM1 > 9999 Then : 流水號 = "SO-" & Strings.Format(Today(), "yyyyMMdd") & "-" & NUM1 : End If
  239. SQL_受訂明細表新增(流水號, 訂單號_tb.Text, xlSheet.Cells(i, 2).value, xlSheet.Cells(i, 3).value, xlSheet.Cells(i, 4).value, xlSheet.Cells(i, 5).value,
  240. xlSheet.Cells(i, 6).value, xlSheet.Cells(i, 7).value, xlSheet.Cells(i, 8).value, xlSheet.Cells(i, 10).value, xlSheet.Cells(i, 11).value)
  241. Next
  242. Else : xlApp.Visible = True : xlApp.Quit() : xlApp = Nothing : MsgBox("導入的資料有問題,請重新確認,或是通知系統管理員!!") : Exit Sub : End If
  243. Else : xlApp.Visible = True : xlApp.Quit() : xlApp = Nothing : MsgBox("您選擇的檔案並不是[受訂單],該介面目前不能導入非受訂單的檔案!!") : Exit Sub : End If
  244. Catch ex As Exception : MsgBox(ex.Message) : End Try
  245. xlApp.Visible = True : xlApp.Quit() : xlApp = Nothing : MsgBox("資料導入完成") : Set_天心銷售單() : Set_天心受訂明細()
  246. End If
  247. End Sub
  248. Private Sub 刪除受訂單_bt_Click(sender As Object, e As EventArgs) Handles 刪除受訂單_bt.Click
  249. If CC(8) = False Then : MsgBox("您的帳號沒有刪除資料的權限!!") : Else
  250. If 訂單號_tb.Text <> "" Then : Dim 不可刪除 As Boolean = False
  251. For I As Integer = 0 To 清單1_1_dgv.Rows.Count - 1 : If 清單1_1_dgv.Rows(I).Cells("已轉").Value = True Then : 不可刪除 = True : Exit For : End If : Next
  252. If 不可刪除 = False Then
  253. Dim result As DialogResult = MessageBox.Show("請再次確認您是否要從外掛系統中刪除受訂單 [ " & 訂單號_tb.Text & "] 的資料?", "請選擇",
  254. MessageBoxButtons.YesNo, MessageBoxIcon.Question)
  255. If result = DialogResult.Yes Then
  256. SQL_受訂控制表刪除(訂單號_tb.Text) : SQL_受訂明細表刪除(訂單號_tb.Text) : MsgBox("資料刪除完成!!")
  257. Set_天心銷售單() : 清單1_1_dgv.DataSource = Nothing
  258. 訂單號_tb.Text = "" : 受訂日期_dtp.Value = Today() : 預交日期_dtp.Value = Today() : 客戶編號_tb.Text = "" : 客戶名稱_tb.Text = "" : 統一編號_tb.Text = ""
  259. 連絡電話_tb.Text = "" : 送貨地址_tb.Text = "" : 傳真_tb.Text = "" : 經辦業務_tb.Text = "" : 交易方式_tb.Text = "" : 備註_tb.Text = ""
  260. End If
  261. Else : MsgBox("該受訂單的資料已經有引用在 COMMERCIAL INVOICE 無法刪除!!") : End If
  262. Else : MsgBox("請選擇要刪除的受訂單!!") : End If
  263. End If
  264. End Sub
  265. Private Sub 重新讀取_bt_Click(sender As Object, e As EventArgs) Handles 重新讀取_bt.Click
  266. Set_天心銷售單()
  267. End Sub
  268. Private Sub 增加明細_bt_Click(sender As Object, e As EventArgs) Handles 增加明細_bt.Click
  269. If 客戶訂單_bt.Text = "" Then : MsgBox("必須要先生成訂單審查表才能做轉移的操作!!") : Else
  270. If 客戶訂單_bt.ReadOnly = False Then : MsgBox("存檔後才能操作!!") : Else
  271. If CC(7) = False Then : MsgBox("您的帳號沒有編輯資料的權限!!") : Else
  272. SQL_訂單控制表重複檢查(訂單號_tb.Text, 客戶訂單_bt.Text)
  273. If dr1.Read Then : MsgBox("該受訂單已經有轉移到外掛系統中,不需要重複轉移!!") : Else
  274. For i As Integer = 0 To 清單1_1_dgv.Rows.Count - 1
  275. If 清單1_1_dgv.Rows(i).Cells("選擇").Value = True Then
  276. SQL_訂單明細表新增(清單1_1_dgv.Rows(i).Cells("流水號").Value.ToString,
  277. 客戶訂單_bt.Text, "[" & 清單1_1_dgv.Rows(i).Cells("產品編號").Value.ToString & "] " &
  278. 清單1_1_dgv.Rows(i).Cells("產品名稱").Value.ToString, 清單1_1_dgv.Rows(i).Cells("貨號").Value.ToString,
  279. 清單1_1_dgv.Rows(i).Cells("貨號").Value.ToString, 清單1_1_dgv.Rows(i).Cells("數量").Value.ToString,
  280. 清單1_1_dgv.Rows(i).Cells("單價").Value.ToString, Strings.Format(預交日期_dtp.Value, "yyyy/MM/dd"), "", "", "", "", "", "", "", "",
  281. 訂單號_tb.Text)
  282. SQL_受訂明細表轉移標註(清單1_1_dgv.Rows(i).Cells("流水號").Value.ToString, "1", "已轉審查")
  283. End If
  284. Next : Set_銷售單明細() : Set_天心受訂明細() : Set_天心銷售單() : MsgBox("資料轉移完成!!")
  285. End If
  286. End If
  287. End If
  288. End If
  289. End Sub
  290. Private Sub 刪除明細_bt_Click(sender As Object, e As EventArgs) Handles 刪除明細_bt.Click
  291. If 客戶訂單_bt.ReadOnly = False Then : MsgBox("存檔後才能操作!!") : Else
  292. If CC(7) = False Then : MsgBox("您的帳號沒有編輯資料的權限!!") : Else
  293. If 客戶訂單_bt.Text = "" Then : MsgBox("沒有選擇 [訂單審查表] 無法轉移受訂單明細資料,請先選擇 [訂單審查表]!!") : Else
  294. For I As Integer = 0 To 清單2_1_dgv.Rows.Count - 1
  295. If 清單2_1_dgv.Rows(I).Cells("選擇").Value = True Then
  296. SQL_訂單明細表刪除(清單2_1_dgv.Rows(I).Cells("流水號").Value.ToString, 客戶訂單_bt.Text)
  297. SQL_受訂明細表轉移標註(清單2_1_dgv.Rows(I).Cells("流水號").Value.ToString, "0", "已轉審查")
  298. End If
  299. Next : Set_銷售單明細() : Set_天心受訂明細() : Set_天心銷售單() : MsgBox("選定的資料已從 [訂單審查表] 中撤回受訂單中!!")
  300. End If
  301. End If
  302. End If
  303. End Sub
  304. Private Sub 新增_bt_Click(sender As Object, e As EventArgs) Handles 新增_bt.Click
  305. If CC(7) = False Then : MsgBox("您的帳號沒有編輯資料的權限!!") : Else
  306. 客戶訂單_bt.ReadOnly = False : 客戶訂單_bt.Text = "" : 客戶名稱_cb.Text = "" : 接收日期_dtp.Value = Today() : 訂單效期_dtp.Value = Today()
  307. 交運條件_cb.Text = "" : 付款條件_cb.Text = "" : 業務審批_tb.Text = "" : 生管審批_tb.Text = "" : 製造審批_tb.Text = "" : 品保審批_tb.Text = ""
  308. 總經理_tb.Text = "" : 清單2_1_dgv.DataSource = Nothing
  309. End If
  310. End Sub
  311. Private Sub 存檔_bt_Click(sender As Object, e As EventArgs) Handles 存檔_bt.Click
  312. Dim 不可存檔 As Boolean = False : Dim 通知(3) As String
  313. If 客戶訂單_bt.Text = "" Then : 通知(0) = 客戶訂單_lb.Text & "," : 不可存檔 = True : End If
  314. If 客戶名稱_cb.Text = "" Then : 通知(1) = 客戶名稱_lb.Text & "," : 不可存檔 = True : End If
  315. If 交運條件_cb.Text = "" Then : 通知(2) = 交運條件_lb.Text & "," : 不可存檔 = True : End If
  316. If 付款條件_cb.Text = "" Then : 通知(3) = 付款條件_lb.Text & "," : 不可存檔 = True : End If
  317. If 不可存檔 = False Then
  318. SQL_訂單控制表查詢(客戶訂單_bt.Text)
  319. If dr1.Read Then
  320. SQL_訂單控制表修改(客戶訂單_bt.Text, 客戶名稱_cb.Text, Strings.Format(接收日期_dtp.Value, "yyyy/MM/dd"), Strings.Format(訂單效期_dtp.Value, "yyyy/MM/dd"),
  321. 交運條件_cb.Text, 付款條件_cb.Text, 業務審批_tb.Text, 生管審批_tb.Text, 製造審批_tb.Text, 品保審批_tb.Text, 總經理_tb.Text)
  322. Else
  323. SQL_訂單控制表新增(客戶訂單_bt.Text, 客戶名稱_cb.Text, Strings.Format(接收日期_dtp.Value, "yyyy/MM/dd"), Strings.Format(訂單效期_dtp.Value, "yyyy/MM/dd"),
  324. 交運條件_cb.Text, 付款條件_cb.Text, 業務審批_tb.Text, 生管審批_tb.Text, 製造審批_tb.Text, 品保審批_tb.Text, 總經理_tb.Text)
  325. End If
  326. For I As Integer = 0 To 清單2_1_dgv.Rows.Count - 1
  327. SQL_訂單明細表修改(清單2_1_dgv.Rows(I).Cells("流水號").Value.ToString, 客戶訂單_bt.Text,
  328. 清單2_1_dgv.Rows(I).Cells("品名").Value.ToString, 清單2_1_dgv.Rows(I).Cells("件號").Value.ToString,
  329. 清單2_1_dgv.Rows(I).Cells("圖面編號").Value.ToString, 清單2_1_dgv.Rows(I).Cells("數量").Value.ToString,
  330. 清單2_1_dgv.Rows(I).Cells("單價").Value.ToString, 清單2_1_dgv.Rows(I).Cells("交期").Value.ToString,
  331. 清單2_1_dgv.Rows(I).Cells("外包製程").Value.ToString, 清單2_1_dgv.Rows(I).Cells("材料").Value.ToString,
  332. 清單2_1_dgv.Rows(I).Cells("標準製造程序").Value.ToString, 清單2_1_dgv.Rows(I).Cells("射蠟模具").Value.ToString,
  333. 清單2_1_dgv.Rows(I).Cells("CNC程式").Value.ToString, 清單2_1_dgv.Rows(I).Cells("使用量具").Value.ToString,
  334. 清單2_1_dgv.Rows(I).Cells("量測設備").Value.ToString, 清單2_1_dgv.Rows(I).Cells("標準檢驗程序").Value.ToString)
  335. Next : 客戶訂單_bt.ReadOnly = True : MsgBox("存檔完成!!") : Set_銷售單() : Set_銷售單明細() : 下拉清單刷新() : 資料比對()
  336. Else : MsgBox(通知(0) & 通知(1) & 通知(2) & 通知(3) & "不可以空白,請注意資料完整性!!")
  337. End If
  338. End Sub
  339. Private Sub 刪除發票_bt_Click(sender As Object, e As EventArgs) Handles 刪除發票_bt.Click
  340. If CC(8) = False Then : MsgBox("您的帳號沒有刪除資料的權限!!") : Else
  341. If 客戶訂單_bt.Text <> "" Then
  342. Dim result As DialogResult = MessageBox.Show("請再次確認您是否要從外掛系統中刪除銷售審查表 [ " & 客戶訂單_bt.Text & "] 的資料?", "請選擇",
  343. MessageBoxButtons.YesNo, MessageBoxIcon.Question)
  344. If result = DialogResult.Yes Then
  345. SQL_訂單控制表刪除(客戶訂單_bt.Text)
  346. For I As Integer = 0 To 清單2_1_dgv.Rows.Count - 1
  347. SQL_訂單明細表刪除(清單2_1_dgv.Rows(I).Cells("流水號").Value.ToString, 客戶訂單_bt.Text)
  348. SQL_受訂明細表轉移標註(清單2_1_dgv.Rows(I).Cells("流水號").Value.ToString, "0", "已轉審查")
  349. Next : MsgBox("資料刪除完成!!")
  350. Set_銷售單() : Set_天心受訂明細() : Set_天心銷售單() : 客戶訂單_bt.Text = "" : 客戶名稱_cb.Text = "" : 接收日期_dtp.Value = Today() : 訂單效期_dtp.Value = Today()
  351. 交運條件_cb.Text = "" : 付款條件_cb.Text = "" : 業務審批_tb.Text = "" : 生管審批_tb.Text = "" : 製造審批_tb.Text = "" : 品保審批_tb.Text = ""
  352. 總經理_tb.Text = "" : 清單2_1_dgv.DataSource = Nothing
  353. End If
  354. Else : MsgBox("請選擇要刪除的訂單!!") : End If
  355. End If
  356. End Sub
  357. Private Sub 業務_bt_Click(sender As Object, e As EventArgs) Handles 業務_bt.Click
  358. 頁面(0) = True : 頁面(1) = False : 頁面(2) = False : 頁面(3) = False : 清單1_dgv格式()
  359. End Sub
  360. Private Sub 生管_bt_Click(sender As Object, e As EventArgs) Handles 生管_bt.Click
  361. 頁面(0) = False : 頁面(1) = True : 頁面(2) = False : 頁面(3) = False : 清單1_dgv格式()
  362. End Sub
  363. Private Sub 製造_bt_Click(sender As Object, e As EventArgs) Handles 製造_bt.Click
  364. 頁面(0) = False : 頁面(1) = False : 頁面(2) = True : 頁面(3) = False : 清單1_dgv格式()
  365. End Sub
  366. Private Sub 品保_bt_Click(sender As Object, e As EventArgs) Handles 品保_bt.Click
  367. 頁面(0) = False : 頁面(1) = False : 頁面(2) = False : 頁面(3) = True : 清單1_dgv格式()
  368. End Sub
  369. Private Sub 列印_bt_Click(sender As Object, e As EventArgs) Handles 列印_bt.Click
  370. End Sub
  371. End Class