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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. Option Strict Off
  2. Imports System.Net
  3. Public Class 驗貨報告圖片導入資料庫
  4. Public Property Credentials As ICredentials
  5. Private ReadOnly ds As New DataSet
  6. Dim DTP As String
  7. Private Sub Set_DGV1載入前設定()
  8. 主表單_dgv.DataSource = Nothing : ds.Clear()
  9. 主表單_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  10. 主表單_dgv.ColumnHeadersHeight = 25
  11. 主表單_dgv.AllowUserToAddRows = False
  12. End Sub
  13. Private Sub Set_DGV1載入後設定()
  14. da.Fill(ds) : 主表單_dgv.DataSource = ds.Tables(0) : conn.Close()
  15. End Sub
  16. Private Sub Set_清單1()
  17. Set_DGV1載入前設定()
  18. SQL_訂單控制表單()
  19. Set_DGV1載入後設定()
  20. End Sub
  21. Private Sub Set_grid1()
  22. 主表單_dgv.Columns(0).FillWeight = 120 : 主表單_dgv.Columns(1).FillWeight = 70 : 主表單_dgv.Columns(2).FillWeight = 100 : 主表單_dgv.Columns(3).FillWeight = 120
  23. 主表單_dgv.Columns(4).FillWeight = 80 : 主表單_dgv.Columns(5).FillWeight = 80 : 主表單_dgv.Columns(6).FillWeight = 80 : 主表單_dgv.Columns(7).FillWeight = 80
  24. 主表單_dgv.Columns(8).FillWeight = 80 : 主表單_dgv.Columns(9).FillWeight = 50 : 主表單_dgv.Columns(10).Visible = False
  25. 主表單_dgv.Columns(6).DefaultCellStyle.Format = "#,##0"
  26. 主表單_dgv.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
  27. 主表單_dgv.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
  28. For I As Integer = 0 To 主表單_dgv.Rows.Count - 1
  29. 主表單_dgv("選擇", I).Value = False
  30. Next
  31. End Sub
  32. Private Sub 驗貨報告圖片導入資料庫_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  33. WINPROFIT_ERP_SYS.WindowState = 2 : Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  34. Target1 = Target & AA(13) & "/"
  35. Set_清單1() : Set_grid1()
  36. 客戶訂單號_tb.Enabled = False : 型體名稱_tb.Enabled = False : 顏色_tb.Enabled = False : 型體號碼_tb.Enabled = False
  37. TextBox3.Visible = False : TextBox7.Visible = False
  38. WebBrowser1.Url = New Uri(Target1)
  39. If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
  40. WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath)
  41. End If
  42. End Sub
  43. Private Sub DataGridView1_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 主表單_dgv.RowPostPaint
  44. Dim linePen As New Pen(Color.Blue, 2)
  45. If e.RowIndex = 主表單_dgv.Rows.Count - 1 Then
  46. Exit Sub
  47. Else
  48. If 主表單_dgv(0, e.RowIndex).Value.ToString <> 主表單_dgv(0, e.RowIndex + 1).Value.ToString Then
  49. Dim startX As Integer = IIf(主表單_dgv.RowHeadersVisible, 主表單_dgv.RowHeadersWidth, 0)
  50. Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
  51. Dim endX As Integer = startX + 主表單_dgv.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - 主表單_dgv.HorizontalScrollingOffset
  52. e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
  53. Exit Sub
  54. End If
  55. End If
  56. End Sub
  57. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles 主表單_dgv.CellClick
  58. If e.RowIndex = -1 Then : Else
  59. 客戶訂單號_tb.Text = 主表單_dgv("客戶訂單號", e.RowIndex).Value.ToString : 型體名稱_tb.Text = 主表單_dgv("型體名稱", e.RowIndex).Value.ToString
  60. 型體號碼_tb.Text = 主表單_dgv("型體號碼", e.RowIndex).Value.ToString : 顏色_tb.Text = 主表單_dgv("顏色", e.RowIndex).Value.ToString
  61. If 主表單_dgv("選擇", e.RowIndex).Value = True Then : 主表單_dgv("選擇", e.RowIndex).Value = False : Else : 主表單_dgv("選擇", e.RowIndex).Value = True : End If
  62. End If
  63. End Sub
  64. Private Sub Button31_Click(sender As Object, e As EventArgs) Handles 查詢_bt.Click
  65. PA = InputBox("請輸入要查詢的資料") : Set_DGV1載入前設定() : SQL_訂單控制表查詢() : Set_DGV1載入後設定() : Set_grid1() : PA = ""
  66. End Sub
  67. Private Sub Button11_Click(sender As Object, e As EventArgs) Handles 單筆_bt.Click
  68. If 客戶訂單號_tb.Text = "" Or 型體名稱_tb.Text = "" Or 檔案名稱_tb.Text = "" Then
  69. MsgBox("檔案名稱或資料不可空白")
  70. Else
  71. SQL_資料庫選擇() : If dr.Read() Then : PA1 = dr("圖片資料庫").ToString : PA20 = PA1 : End If
  72. SQL_驗貨報告圖庫()
  73. If dr.Read() Then
  74. MsgBox("資料重複,請從新輸入或檢查")
  75. conn.Close() : dr.Close()
  76. Else
  77. Dim 驗證 As String = "" : Dim 取變數 As String : Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential : 取變數 = Strings.StrReverse(檔案名稱_tb.Text)
  78. For i As Integer = 1 To 10
  79. If i = 1 Then
  80. 驗證 = Strings.Left(取變數, i)
  81. Else
  82. If Strings.Mid(取變數, i, 1) = "." Then : 驗證 = Strings.StrReverse(驗證) : Exit For : Else : 驗證 &= Strings.Mid(取變數, i, 1) : End If
  83. End If
  84. Next
  85. If 驗證 = "PNG" Or 驗證 = "png" Or 驗證 = "GIF" Or 驗證 = "gif" Or 驗證 = "BMP" Or 驗證 = "bmp" Or 驗證 = "JPG" Or 驗證 = "jpg" Or 驗證 = "JPEG" Or 驗證 = "jpeg" Then
  86. SQL_驗貨報告最後一筆編碼() : If dr.Read() Then : TextBox3.Text = dr("驗貨報告編號").ToString : Else : TextBox3.Text = "0" : End If : conn.Close() : dr.Close()
  87. Dim NUM1 As Integer = Double.Parse(Strings.Right(TextBox3.Text, 8)) + 1
  88. If NUM1 < 10 Then : TextBox3.Text = "IR" & "0000000" & NUM1
  89. ElseIf NUM1 > 9 And NUM1 < 100 Then : TextBox3.Text = "IR" & "000000" & NUM1
  90. ElseIf NUM1 > 99 And NUM1 < 1000 Then : TextBox3.Text = "IR" & "00000" & NUM1
  91. ElseIf NUM1 > 999 And NUM1 < 10000 Then : TextBox3.Text = "IR" & "0000" & NUM1
  92. ElseIf NUM1 > 9999 And NUM1 < 100000 Then : TextBox3.Text = "IR" & "000" & NUM1
  93. ElseIf NUM1 > 99999 And NUM1 < 100000 Then : TextBox3.Text = "IR" & "00" & NUM1
  94. ElseIf NUM1 > 999999 And NUM1 < 1000000 Then : TextBox3.Text = "IR" & "0" & NUM1
  95. ElseIf NUM1 > 9999999 Then : TextBox3.Text = "IR" & NUM1 : End If
  96. SQL_新增驗貨報告圖庫() : conn.Close() : dr.Close() : MsgBox("新增完成")
  97. DTP = Format(驗貨日期_dtp.Value, "yyyy/MM/dd")
  98. SQL_修改訂單控制表2() : conn.Close() : dr.Close()
  99. MsgBox("修改完成")
  100. '---FTP方式刪除檔案---------------------------------------------------------------------------------------------------------
  101. frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.Text)), FtpWebRequest)
  102. fcr = New NetworkCredential(FTP帳號, FTP密碼)
  103. frq.Credentials = fcr
  104. frq.Method = WebRequestMethods.Ftp.DeleteFile
  105. frq.UseBinary = True
  106. frp = CType(frq.GetResponse, FtpWebResponse)
  107. frp.Close()
  108. WebBrowser1.Refresh()
  109. '---------------------------------------------------------------------------------------------------------------------------
  110. 客戶訂單號_tb.Text = "" : 型體名稱_tb.Text = "" : 檔案名稱_tb.Text = ""
  111. Else
  112. '---FTP方式刪除檔案---------------------------------------------------------------------------------------------------------
  113. frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.Text)), FtpWebRequest)
  114. fcr = New NetworkCredential(FTP帳號, FTP密碼)
  115. frq.Credentials = fcr
  116. frq.Method = WebRequestMethods.Ftp.DeleteFile
  117. frq.UseBinary = True
  118. frp = CType(frq.GetResponse, FtpWebResponse)
  119. frp.Close()
  120. WebBrowser1.Refresh()
  121. '----------------------------------------------------------------------------------------------------------------------------
  122. 客戶訂單號_tb.Text = "" : 型體名稱_tb.Text = "" : 檔案名稱_tb.Text = ""
  123. MsgBox("上傳文件並非常用圖片格式,文件已自動刪除,請專換成常用圖片檔案再行操作。")
  124. End If
  125. Set_清單1() : Set_grid1()
  126. End If
  127. End If
  128. End Sub
  129. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 批量_bt.Click
  130. If 客戶訂單號_tb.Text = "" Or 型體名稱_tb.Text = "" Or 檔案名稱_tb.Text = "" Then
  131. MsgBox("檔案名稱或資料不可空白")
  132. Else
  133. SQL_資料庫選擇() : If dr.Read() Then : PA1 = dr("圖片資料庫").ToString : PA20 = PA1 : End If
  134. Dim 驗證 As String = "" : Dim 取變數 As String : Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
  135. 取變數 = Strings.StrReverse(檔案名稱_tb.Text)
  136. For i As Integer = 1 To 10
  137. If i = 1 Then
  138. 驗證 = Strings.Left(取變數, i)
  139. Else
  140. If Strings.Mid(取變數, i, 1) = "." Then : 驗證 = Strings.StrReverse(驗證) : Exit For : Else : 驗證 &= Strings.Mid(取變數, i, 1) : End If
  141. End If
  142. Next
  143. If 驗證 = "PNG" Or 驗證 = "png" Or 驗證 = "GIF" Or 驗證 = "gif" Or 驗證 = "BMP" Or 驗證 = "bmp" Or 驗證 = "JPG" Or 驗證 = "jpg" Or 驗證 = "JPEG" Or 驗證 = "jpeg" Then
  144. SQL_最後一筆驗貨報告編號()
  145. If dr.Read() Then : TextBox3.Text = dr("驗貨報告編號").ToString : Else : TextBox3.Text = "0" : End If : conn.Close()
  146. Dim NUM1 As Integer = Double.Parse(Strings.Right(TextBox3.Text, 8)) + 1
  147. If NUM1 < 10 Then : TextBox3.Text = "IR" & "0000000" & NUM1
  148. ElseIf NUM1 > 9 And NUM1 < 100 Then : TextBox3.Text = "IR" & "000000" & NUM1
  149. ElseIf NUM1 > 99 And NUM1 < 1000 Then : TextBox3.Text = "IR" & "00000" & NUM1
  150. ElseIf NUM1 > 999 And NUM1 < 10000 Then : TextBox3.Text = "IR" & "0000" & NUM1
  151. ElseIf NUM1 > 9999 And NUM1 < 100000 Then : TextBox3.Text = "IR" & "000" & NUM1
  152. ElseIf NUM1 > 99999 And NUM1 < 100000 Then : TextBox3.Text = "IR" & "00" & NUM1
  153. ElseIf NUM1 > 999999 And NUM1 < 1000000 Then : TextBox3.Text = "IR" & "0" & NUM1
  154. ElseIf NUM1 > 9999999 Then : TextBox3.Text = "IR" & NUM1 : End If
  155. SQL_新增驗貨報告圖庫() : conn.Close() : MsgBox("新增完成")
  156. DTP = Format(驗貨日期_dtp.Value, "yyyy/MM/dd")
  157. For I As Integer = 0 To 主表單_dgv.Rows.Count - 1
  158. If 主表單_dgv("選擇", I).Value = True Then : PA = 主表單_dgv("資料流水號", I).Value : SQL_修改訂單控制表3() : conn.Close() : End If
  159. Next
  160. MsgBox("修改完成")
  161. '---FTP方式刪除檔案-------------------------------------------------------------
  162. frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.Text)), FtpWebRequest)
  163. fcr = New NetworkCredential(FTP帳號, FTP密碼)
  164. frq.Credentials = fcr
  165. frq.Method = WebRequestMethods.Ftp.DeleteFile
  166. frq.UseBinary = True
  167. frp = CType(frq.GetResponse, FtpWebResponse)
  168. frp.Close()
  169. WebBrowser1.Refresh()
  170. '---------------------------------------------
  171. 客戶訂單號_tb.Text = "" : 型體名稱_tb.Text = "" : 檔案名稱_tb.Text = ""
  172. Else
  173. '---FTP方式刪除檔案-------------------------------------------------------------
  174. frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.Text)), FtpWebRequest)
  175. fcr = New NetworkCredential(FTP帳號, FTP密碼)
  176. frq.Credentials = fcr
  177. frq.Method = WebRequestMethods.Ftp.DeleteFile
  178. frq.UseBinary = True
  179. frp = CType(frq.GetResponse, FtpWebResponse)
  180. frp.Close()
  181. WebBrowser1.Refresh()
  182. '---------------------------------------------
  183. 客戶訂單號_tb.Text = "" : 型體名稱_tb.Text = "" : 檔案名稱_tb.Text = ""
  184. MsgBox("上傳文件並非常用圖片格式,文件已自動刪除,請專換成常用圖片檔案再行操作。")
  185. End If
  186. Set_清單1() : Set_grid1()
  187. End If
  188. End Sub
  189. Private Sub TextBox4_DragEnter(sender As Object, e As DragEventArgs) Handles 檔案名稱_tb.DragEnter
  190. If e.Data.GetDataPresent(DataFormats.FileDrop) Then
  191. Dim files As String()
  192. Try
  193. files = CType(e.Data.GetData(DataFormats.FileDrop), String())
  194. 檔案名稱_tb.Text = files(files.Length - 1)
  195. Catch ex As Exception
  196. MessageBox.Show(ex.Message)
  197. Return
  198. End Try
  199. End If
  200. Dim STR2 As Integer = 0
  201. TextBox7.Text = 檔案名稱_tb.Text
  202. If 檔案名稱_tb.Text = "" Then
  203. Else
  204. For i As Integer = 0 To 9999
  205. Dim STR1 As Integer = Strings.Len(TextBox7.Text)
  206. If Strings.Right((TextBox7.Text), 1) <> "\" Then
  207. STR1 -= 1 : STR2 += 1
  208. If STR1 = 0 Then
  209. TextBox7.Text = ""
  210. 檔案名稱_tb.Text = ""
  211. i = 9999
  212. Else
  213. TextBox7.Text = Strings.Left((TextBox7.Text), STR1)
  214. End If
  215. Else
  216. TextBox7.Text = Strings.Right((檔案名稱_tb.Text), STR2)
  217. 檔案名稱_tb.Text = TextBox7.Text
  218. i = 9999
  219. End If
  220. Next
  221. End If
  222. End Sub
  223. Private Sub TextBox4_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles 檔案名稱_tb.DragDrop
  224. Dim files As Array = e.Data.GetData(DataFormats.FileDrop)
  225. For Each file As String In files
  226. 檔案名稱_tb.AppendText(file + Environment.NewLine)
  227. Next
  228. End Sub
  229. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles 讀取料夾路徑_bt.Click
  230. If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
  231. WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath)
  232. End If
  233. End Sub
  234. End Class