Açıklama Yok
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 30KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505
  1. Option Strict Off
  2. Public Class 採購對帳單
  3. ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet : ReadOnly ds2 As New DataSet : ReadOnly ds3 As New DataSet : ReadOnly ds4 As New DataSet
  4. Dim EDR As Integer = 0 : Dim ESTR As String : Dim 關鍵字, 首次開啟 As Boolean
  5. Private Sub Set_清單1()
  6. 採購清單_dgv.DataSource = Nothing : ds1.Clear()
  7. 採購清單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  8. 採購清單_dgv.ColumnHeadersHeight = 40
  9. 採購清單_dgv.AllowUserToAddRows = False
  10. If 小間距_ch.Checked = False And 中間距_ch.Checked = False And 大間距_ch.Checked = True Then
  11. 採購清單_dgv.RowTemplate.Height = 95
  12. ElseIf 小間距_ch.Checked = False And 中間距_ch.Checked = True And 大間距_ch.Checked = False Then
  13. 採購清單_dgv.RowTemplate.Height = 60
  14. ElseIf 小間距_ch.Checked = True And 中間距_ch.Checked = False And 大間距_ch.Checked = False Then
  15. 採購清單_dgv.RowTemplate.Height = 25
  16. End If
  17. If 關鍵字 = True Then : Else : PA = 供應商編碼1_cb.Text : End If
  18. PA20 = 業務1_cb.Text
  19. SQL_採購控制表_未過帳()
  20. da.Fill(ds1) : 採購清單_dgv.DataSource = ds1.Tables(0) : conn.Close()
  21. Set_採購清單_dgv_下拉式清單1() : Set_採購清單_dgv_下拉式清單2() : Set_採購清單_dgv_下拉式清單3()
  22. 採購清單_dgv.Columns(0).FillWeight = 40 : 採購清單_dgv.Columns(1).Visible = False : 採購清單_dgv.Columns(2).FillWeight = 70 : 採購清單_dgv.Columns(3).Visible = False
  23. 採購清單_dgv.Columns(4).FillWeight = 80 : 採購清單_dgv.Columns(5).FillWeight = 80 : 採購清單_dgv.Columns(6).FillWeight = 200 : 採購清單_dgv.Columns(7).Visible = False
  24. 採購清單_dgv.Columns(8).FillWeight = 100 : 採購清單_dgv.Columns(9).Visible = False : 採購清單_dgv.Columns(10).Visible = False : 採購清單_dgv.Columns(11).FillWeight = 160
  25. 採購清單_dgv.Columns(12).Visible = False : 採購清單_dgv.Columns(13).Visible = False : 採購清單_dgv.Columns(14).FillWeight = 95 : 採購清單_dgv.Columns(15).Visible = False
  26. 採購清單_dgv.Columns(16).FillWeight = 195 : 採購清單_dgv.Columns(17).Visible = False : 採購清單_dgv.Columns(18).FillWeight = 45 : 採購清單_dgv.Columns(19).FillWeight = 80
  27. 採購清單_dgv.Columns(20).Visible = False : 採購清單_dgv.Columns(21).Visible = False : 採購清單_dgv.Columns(22).Visible = False : 採購清單_dgv.Columns(23).FillWeight = 80
  28. 採購清單_dgv.Columns(24).FillWeight = 80 : 採購清單_dgv.Columns(25).FillWeight = 80 : 採購清單_dgv.Columns(26).FillWeight = 80 : 採購清單_dgv.Columns(27).FillWeight = 45
  29. 採購清單_dgv.Columns(28).FillWeight = 45
  30. 採購清單_dgv.Columns("數量").DefaultCellStyle.Format = "#,##0" : 採購清單_dgv.Columns("成本").DefaultCellStyle.Format = "#,##0" : 採購清單_dgv.Columns("金額").DefaultCellStyle.Format = "#,##0"
  31. 採購清單_dgv.Columns("數量").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  32. 採購清單_dgv.Columns("數量").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  33. 採購清單_dgv.Columns("成本").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  34. 採購清單_dgv.Columns("成本").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  35. 採購清單_dgv.Columns("金額").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
  36. 採購清單_dgv.Columns("金額").HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
  37. 採購清單_dgv.Columns(0).ReadOnly = True : 採購清單_dgv.Columns(2).ReadOnly = True : 採購清單_dgv.Columns(21).ReadOnly = True
  38. 採購清單_dgv.Columns(4).ReadOnly = True : 採購清單_dgv.Columns(5).ReadOnly = True : 採購清單_dgv.Columns(6).ReadOnly = True
  39. 採購清單_dgv.Columns(22).ReadOnly = True : 採購清單_dgv.Columns(17).ReadOnly = True : 採購清單_dgv.Columns(20).ReadOnly = True
  40. 採購清單_dgv.EditMode = DataGridViewEditMode.EditOnEnter : 資料筆數1_tb.Text = 採購清單_dgv.Rows.Count
  41. 關鍵字 = False
  42. For i As Integer = 0 To 採購清單_dgv.Rows.Count - 1
  43. 採購清單_dgv("選擇", i).Value = False
  44. Next
  45. Set_合記計算()
  46. End Sub
  47. Private Sub Set_採購清單_dgv_下拉式清單1()
  48. Dim Col As New DataGridViewComboBoxColumn With {
  49. .FillWeight = 130,
  50. .DataPropertyName = "倉名"
  51. }
  52. SQL_倉名_下拉清單()
  53. Col.Items.Clear()
  54. While (dr.Read()) : Col.Items.Add(dr("倉名")) : End While : conn.Close()
  55. Col.HeaderText = "倉名" : Col.Name = "倉名"
  56. 採購清單_dgv.Columns.Insert(8, Col)
  57. End Sub
  58. Private Sub Set_採購清單_dgv_下拉式清單2()
  59. Dim Col As New DataGridViewComboBoxColumn With {
  60. .FillWeight = 130,
  61. .DataPropertyName = "訂製"
  62. }
  63. SQL_訂製狀態_下拉清單()
  64. Col.Items.Clear()
  65. While (dr.Read()) : Col.Items.Add(dr("訂製")) : End While : conn.Close()
  66. Col.HeaderText = "訂製" : Col.Name = "訂製"
  67. 採購清單_dgv.Columns.Insert(11, Col)
  68. End Sub
  69. Private Sub Set_採購清單_dgv_下拉式清單3()
  70. Dim Col As New DataGridViewComboBoxColumn With {
  71. .FillWeight = 130,
  72. .DataPropertyName = "狀態"
  73. }
  74. SQL_倉儲狀態_下拉清單()
  75. Col.Items.Clear()
  76. While (dr.Read()) : Col.Items.Add(dr("狀態")) : End While : conn.Close()
  77. Col.HeaderText = "狀態" : Col.Name = "狀態"
  78. 採購清單_dgv.Columns.Insert(14, Col)
  79. End Sub
  80. Private Sub Set_合記計算()
  81. 採購金額_tb.Text = "0" : 採購金額1_tb.Text = "0"
  82. For i As Integer = 0 To 採購清單_dgv.Rows.Count - 1
  83. 採購清單_dgv("金額", i).Value = 採購清單_dgv("數量", i).Value * 採購清單_dgv("成本", i).Value
  84. 採購金額_tb.Text = Val(採購金額_tb.Text) + 採購清單_dgv("金額", i).Value
  85. If 供應商_tb.Text = 採購清單_dgv("供應商", i).Value.ToString Then
  86. 採購金額1_tb.Text = Val(採購金額1_tb.Text) + 採購清單_dgv("金額", i).Value
  87. End If
  88. Next
  89. 採購金額_tb.Text = Format(Val(採購金額_tb.Text), "#,##0") : 採購金額1_tb.Text = Format(Val(採購金額1_tb.Text), "#,##0")
  90. End Sub
  91. Private Sub Set_清單5()
  92. 訂製圖檔_dgv.DataSource = Nothing : ds2.Clear()
  93. 訂製圖檔_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  94. 訂製圖檔_dgv.ColumnHeadersHeight = 25
  95. 訂製圖檔_dgv.AllowUserToAddRows = False
  96. 訂製圖檔_dgv.RowTemplate.Height = 25
  97. SQL_採購控制表_訂製圖檔清單()
  98. da.Fill(ds2) : 訂製圖檔_dgv.DataSource = ds2.Tables(0) : conn.Close()
  99. 訂製圖檔_dgv.Columns(0).Visible = False : 訂製圖檔_dgv.Columns(1).Visible = False : 訂製圖檔_dgv.Columns(2).FillWeight = 100
  100. End Sub
  101. Private Sub 供應商1_下拉表單資料載入()
  102. BL1 = False : PA3 = "" : PA4 = ""
  103. If 地區1_cb.Text = "" Then : PA3 = ""
  104. ElseIf 地區1_cb.Text = "北部" Then : PA3 = "2"
  105. ElseIf 地區1_cb.Text = "南部" Then : PA3 = "3"
  106. ElseIf 地區1_cb.Text = "材料" Then : PA3 = "9"
  107. ElseIf 地區1_cb.Text = "調貨" Then : PA3 = "Y"
  108. End If
  109. SQL_盤盈盤損申請_供應商_下拉清單() : 供應商1_cb.Items.Clear() : 供應商編碼1_cb.Items.Clear()
  110. While (dr.Read()) : 供應商1_cb.Items.Add(dr("簡稱")) : 供應商編碼1_cb.Items.Add(dr("編號")) : End While : conn.Close()
  111. End Sub
  112. Private Sub 採購控制表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  113. Me.MdiParent = YD_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  114. Dim type0 As Type = 採購清單_dgv.GetType()
  115. Dim pi0 As Reflection.PropertyInfo = type0.GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.NonPublic)
  116. pi0.SetValue(採購清單_dgv, True, Nothing)
  117. 小間距_ch.Checked = True : 業務1_cb.Text = 業務號碼 '--------------------控件隱藏、操作許可設定與其他基本顯示設定
  118. 首次開啟 = True : Set_清單1() : 首次開啟 = False
  119. Target1 = Target & AA(1) & "/" : FTP資料夾_wb.Url = New Uri(Target1) '--------------------指定伺服器ftp資料夾位置
  120. End Sub
  121. Private Sub 採購清單_dgv_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 採購清單_dgv.RowPostPaint
  122. If 首次開啟 = True Then : Else
  123. For I As Integer = 0 To 採購清單_dgv.Rows.Count - 1
  124. If 採購清單_dgv("選擇", I).Value = True Then
  125. 採購清單_dgv.Rows(I).DefaultCellStyle.BackColor = Color.LightGreen
  126. Else
  127. 採購清單_dgv.Rows(I).DefaultCellStyle.BackColor = Color.White
  128. End If
  129. Next
  130. End If
  131. Dim linePen As New Pen(Color.Blue, 2)
  132. If e.RowIndex = 採購清單_dgv.Rows.Count - 1 Then : Exit Sub : Else
  133. If 採購清單_dgv("供應商", e.RowIndex).Value.ToString <> 採購清單_dgv("供應商", e.RowIndex + 1).Value.ToString Then
  134. Dim startX As Integer = IIf(採購清單_dgv.RowHeadersVisible, 採購清單_dgv.RowHeadersWidth, 0) : Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  135. Dim endX As Integer = startX + 採購清單_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 採購清單_dgv.HorizontalScrollingOffset
  136. e.Graphics.DrawLine(linePen, startX, startY, endX, startY) : Exit Sub
  137. End If
  138. End If
  139. End Sub
  140. Private Sub 採購清單_dgv_CellEndEdit(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 採購清單_dgv.CellEndEdit
  141. Set_合記計算()
  142. PA20 = 採購清單_dgv(8, e.RowIndex).Value.ToString : SQL_銷售明細_改倉名()
  143. If dr.Read() Then : 採購清單_dgv("倉儲狀態", e.RowIndex).Value = dr("倉名編號") : End If
  144. PA19 = 採購清單_dgv(11, e.RowIndex).Value.ToString : SQL_銷售明細_改物料訂製狀態()
  145. If dr.Read() Then : 採購清單_dgv("訂製狀態", e.RowIndex).Value = dr("編碼") : End If
  146. PA18 = 採購清單_dgv(14, e.RowIndex).Value.ToString : SQL_銷售明細_倉儲狀態()
  147. If dr.Read() Then : 採購清單_dgv("物料狀態", e.RowIndex).Value = dr("編碼") : End If : conn.Close()
  148. Dim EU(3) As String
  149. EU(0) = 採購清單_dgv("採購日期", e.RowIndex).Value.ToString
  150. If EU(0) = "" Then : Else
  151. If IsDate(EU(0)) Then
  152. 日期1_dtp.Text = EU(0) : 採購清單_dgv.Rows(e.RowIndex).Cells("採購日期").Value = Format(日期1_dtp.Value, "yyyy/MM/dd")
  153. Else
  154. 採購清單_dgv.Rows(e.RowIndex).Cells("採購日期").Value = ""
  155. End If
  156. End If
  157. EU(1) = 採購清單_dgv("預計進廠日", e.RowIndex).Value.ToString
  158. If EU(1) = "" Then : Else
  159. If IsDate(EU(1)) Then
  160. 日期2_dtp.Text = EU(1) : 採購清單_dgv.Rows(e.RowIndex).Cells("預計進廠日").Value = Format(日期2_dtp.Value, "yyyy/MM/dd")
  161. Else
  162. 採購清單_dgv.Rows(e.RowIndex).Cells("預計進廠日").Value = ""
  163. End If
  164. End If
  165. EU(2) = 採購清單_dgv("實際進廠日", e.RowIndex).Value.ToString
  166. If EU(2) = "" Then : Else
  167. If IsDate(EU(2)) Then
  168. 日期3_dtp.Text = EU(2) : 採購清單_dgv.Rows(e.RowIndex).Cells("實際進廠日").Value = Format(日期3_dtp.Value, "yyyy/MM/dd")
  169. Else
  170. 採購清單_dgv.Rows(e.RowIndex).Cells("實際進廠日").Value = ""
  171. End If
  172. End If
  173. EU(3) = 採購清單_dgv("過帳日期", e.RowIndex).Value.ToString
  174. If EU(3) = "" Then : Else
  175. If IsDate(EU(3)) Then
  176. 日期4_dtp.Text = EU(3) : 採購清單_dgv.Rows(e.RowIndex).Cells("過帳日期").Value = Format(日期4_dtp.Value, "yyyy/MM/dd")
  177. Else
  178. 採購清單_dgv.Rows(e.RowIndex).Cells("過帳日期").Value = "" : 採購清單_dgv("選擇", e.RowIndex).Value = False
  179. End If
  180. End If
  181. End Sub
  182. Private Sub 採購清單_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 採購清單_dgv.CellClick
  183. If e.RowIndex = -1 Then : Else
  184. 項次_tb.Text = 採購清單_dgv(0, e.RowIndex).Value.ToString : 申請人_tb.Text = 採購清單_dgv("申請人", e.RowIndex).Value.ToString
  185. 版次_tb.Text = 採購清單_dgv("訂製圖號", e.RowIndex).Value.ToString : 單號1_tb.Text = 採購清單_dgv("銷售單號", e.RowIndex).Value.ToString
  186. 料號_tb.Text = 採購清單_dgv("料號", e.RowIndex).Value.ToString : 供應商_tb.Text = 採購清單_dgv("供應商", e.RowIndex).Value.ToString
  187. Set_合記計算()
  188. PA15 = 採購清單_dgv(0, e.RowIndex).Value.ToString : Set_清單5()
  189. 物料圖1_pb.Image = Nothing : PA1 = 採購清單_dgv.Rows(e.RowIndex).Cells("料號").Value : SQL_物料檔案_是否有圖()
  190. If dr.Read() Then
  191. If dr("是否有圖") = True Then
  192. PA = 採購清單_dgv.Rows(e.RowIndex).Cells("料號").Value : SQL_物料圖庫_圖片顯示() '--------------------圖片顯示
  193. While dr.Read() = True
  194. Dim unused As Byte() = New Byte(-1) {}
  195. Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  196. Dim oStream As New MemoryStream(bytes)
  197. 物料圖1_pb.Image = Bitmap.FromStream(oStream)
  198. End While
  199. conn.Close()
  200. 物料圖1_pb.SizeMode = 4
  201. Else
  202. 物料圖1_pb.Image = Nothing
  203. End If
  204. End If : conn.Close()
  205. If 批量勾選_cb.Checked = True Then
  206. If 採購清單_dgv("選擇", e.RowIndex).Value = False Then
  207. 採購清單_dgv("選擇", e.RowIndex).Value = True
  208. If 採購清單_dgv("實際進廠日", e.RowIndex).Value.ToString = "" Then
  209. PA = InputBox("請輸入指定過帳日期")
  210. If IsDate(PA) Then
  211. 採購清單_dgv("過帳日期", e.RowIndex).Value = PA
  212. Dim EU As String
  213. EU = 採購清單_dgv("過帳日期", e.RowIndex).Value.ToString
  214. If EU = "" Then : Else
  215. 日期4_dtp.Text = EU : 採購清單_dgv.Rows(e.RowIndex).Cells("過帳日期").Value = Format(日期4_dtp.Value, "yyyy/MM/dd")
  216. End If
  217. Else
  218. MsgBox("請輸入日期格式資料!!!!")
  219. 採購清單_dgv("過帳日期", e.RowIndex).Value = ""
  220. 採購清單_dgv("選擇", e.RowIndex).Value = False
  221. End If
  222. Else
  223. 採購清單_dgv("過帳日期", e.RowIndex).Value = 採購清單_dgv("預計進廠日", e.RowIndex).Value.ToString
  224. End If
  225. End If
  226. End If
  227. End If
  228. End Sub
  229. Private Sub 採購清單_dgv_CellDoubleClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 採購清單_dgv.CellDoubleClick
  230. If e.RowIndex = -1 Then : Else
  231. 採購清單_dgv("選擇", e.RowIndex).Value = False
  232. 採購清單_dgv("過帳日期", e.RowIndex).Value = ""
  233. End If
  234. End Sub
  235. Private Sub 訂製圖檔_dgv_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 訂製圖檔_dgv.CellClick
  236. If e.RowIndex = -1 Then : Else
  237. 版次_tb.Text = 訂製圖檔_dgv.Rows(e.RowIndex).Cells("版次").Value
  238. '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  239. 物料圖1_pb.Image = Nothing : PA15 = 項次_tb.Text : PA16 = 版次_tb.Text : SQL_採購控制表_訂製圖片()
  240. While dr.Read() = True
  241. Dim unused As Byte() = New Byte(-1) {}
  242. Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  243. Dim oStream As New MemoryStream(bytes)
  244. 物料圖1_pb.Image = Bitmap.FromStream(oStream)
  245. End While
  246. conn.Close()
  247. 物料圖1_pb.SizeMode = 4
  248. End If
  249. End Sub
  250. Private Sub 地區1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 地區1_cb.SelectedIndexChanged
  251. If 地區1_cb.Text = "" And 查詢1_tb.Text = "" Then
  252. 供應商1_cb.Items.Clear() : 供應商編碼1_cb.Items.Clear() : Set_清單1()
  253. ElseIf 地區1_cb.Text = "" Then
  254. 查詢1_tb.Text = "" : 供應商1_cb.Items.Clear() : 供應商編碼1_cb.Items.Clear()
  255. ElseIf 地區1_cb.Text <> "" Then
  256. 查詢1_tb.Text = "" : 供應商1_下拉表單資料載入()
  257. End If
  258. End Sub
  259. Private Sub 供應商1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 供應商1_cb.SelectedIndexChanged
  260. If 地區1_cb.Text <> "" Then
  261. 查詢1_tb.Text = "" : 供應商編碼1_cb.SelectedIndex = 供應商1_cb.SelectedIndex
  262. End If
  263. End Sub
  264. Private Sub 供應商編碼1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 供應商編碼1_cb.SelectedIndexChanged
  265. If 地區1_cb.Text <> "" Then
  266. 查詢1_tb.Text = "" : 供應商1_cb.SelectedIndex = 供應商編碼1_cb.SelectedIndex : 供應商編碼1_tb.Text = 供應商編碼1_cb.Text : Set_清單1()
  267. End If
  268. End Sub
  269. Private Sub 查詢1_tb_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles 查詢1_tb.KeyPress
  270. If e.KeyChar = Chr(13) Then
  271. 供應商1_cb.Items.Clear() : 供應商編碼1_cb.Items.Clear()
  272. 關鍵字 = True : PA = 查詢1_tb.Text : Set_清單1() : 地區1_cb.Text = ""
  273. End If
  274. End Sub
  275. Private Sub 清空1_bt_Click(sender As Object, e As EventArgs) Handles 清空1_bt.Click
  276. 業務1_cb.Text = "" : 查詢1_tb.Text = "" : 地區1_cb.Text = ""
  277. End Sub
  278. Private Sub 窄間距_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 小間距_ch.Click
  279. 小間距_ch.Checked = True : 中間距_ch.Checked = False : 大間距_ch.Checked = False
  280. Dim aa1 As MsgBoxResult = MsgBox("是否需要存檔?", MsgBoxStyle.OkCancel)
  281. If aa1 = MsgBoxResult.Ok Then
  282. 存檔1() : Set_清單1()
  283. Else
  284. Set_清單1()
  285. End If
  286. End Sub
  287. Private Sub 中間距_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 中間距_ch.Click
  288. 小間距_ch.Checked = False : 中間距_ch.Checked = True : 大間距_ch.Checked = False
  289. Dim aa1 As MsgBoxResult = MsgBox("是否需要存檔?", MsgBoxStyle.OkCancel)
  290. If aa1 = MsgBoxResult.Ok Then
  291. 存檔1() : Set_清單1()
  292. Else
  293. Set_清單1()
  294. End If
  295. End Sub
  296. Private Sub 大間距_ch_CheckedChanged(sender As Object, e As EventArgs) Handles 大間距_ch.Click
  297. 小間距_ch.Checked = False : 中間距_ch.Checked = False : 大間距_ch.Checked = True
  298. Dim aa1 As MsgBoxResult = MsgBox("是否需要存檔?", MsgBoxStyle.OkCancel)
  299. If aa1 = MsgBoxResult.Ok Then
  300. 存檔1() : Set_清單1()
  301. Else
  302. Set_清單1()
  303. End If
  304. End Sub
  305. Private Sub 業務1_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 業務1_cb.SelectedIndexChanged
  306. Set_清單1()
  307. End Sub
  308. Private Sub 檔案名稱_tb_DragEnter(sender As Object, e As DragEventArgs) Handles 檔案名稱_tb.DragEnter
  309. If e.Data.GetDataPresent(DataFormats.FileDrop) Then
  310. Dim files As String()
  311. Try
  312. files = CType(e.Data.GetData(DataFormats.FileDrop), String())
  313. 檔案名稱_tb.Text = files(files.Length - 1)
  314. Catch ex As Exception
  315. MessageBox.Show(ex.Message)
  316. Return
  317. End Try
  318. End If
  319. Dim STR2 As Integer = 0
  320. 檔名讀取_tb.Text = 檔案名稱_tb.Text
  321. If 檔案名稱_tb.Text = "" Then
  322. Else
  323. For i As Integer = 0 To 9999
  324. Dim STR1 As Integer = Strings.Len(檔名讀取_tb.Text)
  325. If Strings.Right((檔名讀取_tb.Text), 1) <> "\" Then
  326. STR1 -= 1 : STR2 += 1
  327. If STR1 = 0 Then
  328. 檔名讀取_tb.Text = ""
  329. 檔案名稱_tb.Text = ""
  330. i = 9999
  331. Else
  332. 檔名讀取_tb.Text = Strings.Left((檔名讀取_tb.Text), STR1)
  333. End If
  334. Else
  335. 檔名讀取_tb.Text = Strings.Right((檔案名稱_tb.Text), STR2)
  336. 檔案名稱_tb.Text = 檔名讀取_tb.Text
  337. i = 9999
  338. End If
  339. Next
  340. End If
  341. End Sub
  342. Private Sub 檔案名稱_tb_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles 檔案名稱_tb.DragDrop
  343. Dim files As Array = e.Data.GetData(DataFormats.FileDrop)
  344. For Each file As String In files
  345. 檔案名稱_tb.AppendText(file + Environment.NewLine)
  346. Next
  347. End Sub
  348. Private Sub 刪除單據上點選的資料_bt_Click(sender As Object, e As EventArgs) Handles 刪除單據上點選的資料_bt.Click
  349. If gUserName <> 申請人_tb.Text And Val(登入人級別) >= 3 Then
  350. MsgBox("不能修改其他申請人的資料")
  351. Else
  352. PA = 項次_tb.Text : SQL_採購控制表_刪除()
  353. End If
  354. Set_清單1() : MsgBox("已刪除選中的資料")
  355. End Sub
  356. Private Sub 讀取資料夾路徑_bt_Click(sender As Object, e As EventArgs) Handles 讀取資料夾路徑_bt.Click
  357. If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then : 本機資料夾_wb.Navigate(FolderBrowserDialog1.SelectedPath) : End If
  358. End Sub
  359. Private Sub 圖檔入系統_bt_Click(sender As Object, e As EventArgs) Handles 圖檔入系統_bt.Click
  360. If 項次_tb.Text = "" Then : MsgBox("請先選擇要指定訂製圖檔的採購資料!!")
  361. Else
  362. If 檔案名稱_tb.Text <> "" Then
  363. Dim 驗證 As String : Dim 取變數 As String
  364. 取變數 = Strings.StrReverse(檔案名稱_tb.Text)
  365. For i As Integer = 1 To 10
  366. If i = 1 Then
  367. 驗證 = Strings.Left(取變數, i)
  368. Else
  369. If Strings.Mid(取變數, i, 1) = "." Then
  370. 驗證 = Strings.StrReverse(驗證) : Exit For
  371. Else
  372. 驗證 = 驗證 & Strings.Mid(取變數, i, 1)
  373. End If
  374. End If
  375. Next
  376. If 驗證 = "PNG" Or 驗證 = "png" Or 驗證 = "GIF" Or 驗證 = "gif" Or 驗證 = "BMP" Or 驗證 = "bmp" Or 驗證 = "JPG" Or 驗證 = "jpg" Or 驗證 = "JPEG" Or 驗證 = "jpeg" Then
  377. Dim 進版 As Integer
  378. If 版次_tb.Text = "" Then
  379. 版次_tb.Text = "V01"
  380. Else
  381. 進版 = Strings.Right(版次_tb.Text, 2) : 進版 += 1
  382. If 進版 < 10 Then : 版次_tb.Text = "V" & "0" & 進版
  383. Else : 版次_tb.Text = "V" & EDR : End If
  384. End If
  385. PA1 = 項次_tb.Text : PA2 = 單號1_tb.Text : PA3 = 版次_tb.Text : PA4 = 檔案名稱_tb.Text
  386. SQL_採購控制表_圖片新增() : SQL_採購控制表_修改() : conn.Close()
  387. '---FTP方式刪除檔案----------------------------------------------------------------------------------------------------------------------------------------------------------------------
  388. Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
  389. frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.Text)), FtpWebRequest)
  390. fcr = New NetworkCredential(FTP帳號, FTP密碼)
  391. frq.Credentials = fcr
  392. frq.Method = WebRequestMethods.Ftp.DeleteFile
  393. frq.UseBinary = True
  394. frp = CType(frq.GetResponse, FtpWebResponse)
  395. frp.Close()
  396. FTP資料夾_wb.Refresh()
  397. '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  398. 物料圖1_pb.Image = Nothing : PA15 = 項次_tb.Text : PA16 = 版次_tb.Text : SQL_採購控制表_訂製圖片()
  399. While dr.Read() = True
  400. Dim unused As Byte() = New Byte(-1) {}
  401. Dim bytes As Byte() = DirectCast(dr.Item("圖片"), Byte())
  402. Dim oStream As New MemoryStream(bytes)
  403. 物料圖1_pb.Image = Bitmap.FromStream(oStream)
  404. End While
  405. conn.Close()
  406. 物料圖1_pb.SizeMode = 4
  407. '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  408. 存檔1() : Set_清單5() : Set_清單1() : 檔案名稱_tb.Text = ""
  409. Else
  410. MsgBox("上傳文件並非常用圖片格式,文件已自動刪除,請專換成常用圖片檔案再行操作。")
  411. '---FTP方式刪除檔案----------------------------------------------------------------------------------------------------------------------------------------------------------------------
  412. Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
  413. frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.Text)), FtpWebRequest)
  414. fcr = New NetworkCredential(FTP帳號, FTP密碼)
  415. frq.Credentials = fcr
  416. frq.Method = WebRequestMethods.Ftp.DeleteFile
  417. frq.UseBinary = True
  418. frp = CType(frq.GetResponse, FtpWebResponse)
  419. frp.Close()
  420. FTP資料夾_wb.Refresh()
  421. 檔案名稱_tb.Text = ""
  422. End If
  423. End If
  424. End If
  425. End Sub
  426. Private Sub 下載圖檔_bt_Click(sender As Object, e As EventArgs) Handles 下載圖檔_bt.Click
  427. If 物料圖1_pb.Image Is Nothing Then : MsgBox("所選擇的資料沒有圖片檔案,無法下載。")
  428. Else
  429. With SaveFileDialog1 : .Filter = "所有文件(*.jpg)|*.jpg" : End With
  430. SaveFileDialog1.FileName = 單號1_tb.Text & "-" & 料號_tb.Text & "-" & 版次_tb.Text & ".jpg"
  431. Dim result As DialogResult = SaveFileDialog1.ShowDialog()
  432. 下載檔名_tb.Text = SaveFileDialog1.FileName
  433. If result = System.Windows.Forms.DialogResult.Cancel Then
  434. Exit Sub
  435. End If
  436. PA15 = 項次_tb.Text : PA16 = 版次_tb.Text
  437. ds3.Clear() : SQL_採購控制表_訂製圖片下載() : da.Fill(ds3)
  438. If ds3.Tables(0).Rows.Count > 0 Then
  439. Dim imgData() As Byte
  440. imgData = ds3.Tables(0).Rows(0).Item("圖片")
  441. Dim fs As FileStream
  442. fs = File.Create(下載檔名_tb.Text, imgData.Length - 1)
  443. fs.Write(imgData, 0, imgData.Length - 1)
  444. fs.Close()
  445. End If : conn.Close() : MsgBox("下載完成")
  446. End If
  447. End Sub
  448. Private Sub 大圖預覽_bt_Click(sender As Object, e As EventArgs) Handles 大圖預覽_bt.Click
  449. If 項次_tb.Text = "" Or 版次_tb.Text = "" Then
  450. MsgBox("沒有訂製圖或是沒有決哲訂製圖")
  451. Else
  452. 採購訂製大圖.ShowDialog()
  453. End If
  454. End Sub
  455. Private Sub 存檔1()
  456. For i As Integer = 0 To 採購清單_dgv.Rows.Count - 1
  457. 資料數 = 採購清單_dgv.Rows.Count : MyModule1.進度條()
  458. If gUserName <> 採購清單_dgv("申請人", i).Value And Val(登入人級別) >= 3 Then
  459. Else
  460. PA = 採購清單_dgv("資料流水號", i).Value : PA1 = 採購清單_dgv("物料狀態", i).Value : PA2 = 採購清單_dgv("訂製狀態", i).Value : PA3 = 採購清單_dgv("倉儲狀態", i).Value
  461. PA4 = 採購清單_dgv("備註", i).Value.ToString : PA5 = 採購清單_dgv("採購日期", i).Value.ToString : PA6 = 採購清單_dgv("預計進廠日", i).Value.ToString
  462. NU1 = 採購清單_dgv("數量", i).Value : NU2 = 採購清單_dgv("成本", i).Value : NU3 = NU1 * NU2
  463. SQL_採購控制表_存檔()
  464. End If
  465. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  466. Set_清單1()
  467. End Sub
  468. Private Sub 存檔_bt_Click(sender As Object, e As EventArgs) Handles 存檔_bt.Click
  469. 存檔1() : MsgBox("修改完成。")
  470. End Sub
  471. Private Sub 過帳_bt_Click(sender As Object, e As EventArgs) Handles 過帳_bt.Click
  472. For i As Integer = 0 To 採購清單_dgv.Rows.Count - 1
  473. 資料數 = 採購清單_dgv.Rows.Count : MyModule1.進度條()
  474. If 採購清單_dgv("選擇", i).Value = True Then
  475. PA = 採購清單_dgv("資料流水號", i).Value : PA2 = "1" : PA1 = 採購清單_dgv("過帳日期", i).Value
  476. SQL_採購控制表_過帳()
  477. End If
  478. Next : YD_ERP_SYS.ToolStripProgressBar1.Value = 0 : 最終數 = 0
  479. Set_清單1()
  480. End Sub
  481. Private Sub 重新整理_tsm_Click(sender As Object, e As EventArgs) Handles 重新整理_tsm.Click
  482. Set_清單1()
  483. End Sub
  484. End Class