123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249 |
- Option Strict Off
- Imports System.Data.SqlClient
- Imports System.Net
- Public Class 驗貨報告圖片導入資料庫
- Public Property Credentials As ICredentials
- ReadOnly conn As New SqlConnection
- ReadOnly da As New SqlDataAdapter
- ReadOnly cmd As New SqlCommand
- ReadOnly ds As New DataSet
- Dim dr As SqlDataReader
- Dim DTP As String
- Private Sub Set_DGV1載入前設定()
- DataGridView1.DataSource = Nothing : ds.Clear()
- DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- DataGridView1.ColumnHeadersHeight = 25
- DataGridView1.AllowUserToAddRows = False
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- End Sub
- Private Sub Set_DGV1載入後設定()
- cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close()
- End Sub
- Private Sub Set_清單1()
- Set_DGV1載入前設定()
- SQL1 = "SELECT 訂單控制表.訂單流水號, 訂單控制表.年份季度, 訂單控制表.客戶訂單號,
- 訂單控制表.GOODBOX AS 型體名稱, 訂單控制表.型體號碼, 訂單控制表.APMA確認 AS 顏色,
- 訂單控制表.訂單數量, 訂單控制表.CFMSPEC AS 訂單屬性, 訂單控制表.工廠回復交期 AS 工廠交期,
- METOO選擇按鈕.選擇, 訂單控制表.資料流水號
- FROM 訂單控制表 LEFT OUTER JOIN
- METOO選擇按鈕 ON 訂單控制表.訂單流水號 = METOO選擇按鈕.對應
- WHERE (訂單控制表.CXL = 0 OR
- 訂單控制表.CXL IS NULL) AND (訂單控制表.訂單數量 - 訂單控制表.出貨數量 <> 0) AND (訂單控制表.驗貨報告圖片 LIKE '')
- ORDER BY 訂單控制表.訂單流水號, 訂單控制表.客戶訂單號, 型體名稱"
- Set_DGV1載入後設定()
- End Sub
- Private Sub Set_grid1()
- DataGridView1.Columns(0).FillWeight = 120 : DataGridView1.Columns(1).FillWeight = 70 : DataGridView1.Columns(2).FillWeight = 100 : DataGridView1.Columns(3).FillWeight = 120
- DataGridView1.Columns(4).FillWeight = 80 : DataGridView1.Columns(5).FillWeight = 80 : DataGridView1.Columns(6).FillWeight = 80 : DataGridView1.Columns(7).FillWeight = 80
- DataGridView1.Columns(8).FillWeight = 80 : DataGridView1.Columns(9).FillWeight = 50 : DataGridView1.Columns(10).Visible = False
-
- DataGridView1.Columns(6).DefaultCellStyle.Format = "#,##0"
- DataGridView1.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
- DataGridView1.Columns(6).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
- For I As Integer = 0 To DataGridView1.Rows.Count - 1
- DataGridView1("選擇", I).Value = False
- Next
- End Sub
- Private Sub 驗貨報告圖片導入資料庫_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
- Target1 = Target & AA(13) & "/"
- Set_清單1() : Set_grid1()
- TextBox1.Enabled = False : TextBox2.Enabled = False : TextBox5.Enabled = False : TextBox6.Enabled = False
- TextBox3.Visible = False : TextBox7.Visible = False
- WebBrowser1.Url = New Uri(Target1)
- If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
- WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath)
- End If
- End Sub
- Private Sub DataGridView1_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint
- Dim linePen As New Pen(Color.Blue, 2)
- If e.RowIndex = DataGridView1.Rows.Count - 1 Then
- Exit Sub
- Else
- If DataGridView1(0, e.RowIndex).Value.ToString <> DataGridView1(0, e.RowIndex + 1).Value.ToString Then
- Dim startX As Integer = IIf(DataGridView1.RowHeadersVisible, DataGridView1.RowHeadersWidth, 0)
- Dim startY As Integer = e.RowBounds.Top + e.RowBounds.Height - 1
- Dim endX As Integer = startX + DataGridView1.Columns.GetColumnsWidth(DataGridViewElementStates.Visible) - DataGridView1.HorizontalScrollingOffset
- e.Graphics.DrawLine(linePen, startX, startY, endX, startY)
- Exit Sub
- End If
- End If
- End Sub
- Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
- If e.RowIndex = -1 Then : Else
- TextBox1.Text = DataGridView1("客戶訂單號", e.RowIndex).Value.ToString : TextBox2.Text = DataGridView1("型體名稱", e.RowIndex).Value.ToString
- TextBox6.Text = DataGridView1("型體號碼", e.RowIndex).Value.ToString : TextBox5.Text = DataGridView1("顏色", e.RowIndex).Value.ToString
- If DataGridView1("選擇", e.RowIndex).Value = True Then : DataGridView1("選擇", e.RowIndex).Value = False : Else : DataGridView1("選擇", e.RowIndex).Value = True : End If
- End If
- End Sub
- Private Sub Button31_Click(sender As Object, e As EventArgs) Handles Button31.Click
- PA = InputBox("請輸入要查詢的資料")
- Set_DGV1載入前設定()
- SQL1 = "SELECT 訂單控制表.訂單流水號, 訂單控制表.年份季度, 訂單控制表.客戶訂單號,
- 訂單控制表.GOODBOX AS 型體名稱, 訂單控制表.型體號碼, 訂單控制表.APMA確認 AS 顏色,
- 訂單控制表.訂單數量, 訂單控制表.CFMSPEC AS 訂單屬性, 訂單控制表.工廠回復交期 AS 工廠交期,
- METOO選擇按鈕.選擇, 訂單控制表.資料流水號
- FROM 訂單控制表 LEFT OUTER JOIN
- METOO選擇按鈕 ON 訂單控制表.訂單流水號 = METOO選擇按鈕.對應
- WHERE (訂單控制表.CXL = 0 OR
- 訂單控制表.CXL IS NULL) AND (訂單控制表.訂單數量 - 訂單控制表.出貨數量 <> 0) AND
- (訂單控制表.驗貨報告圖片 LIKE '') AND (訂單流水號 LIKE '%" & PA & "%' OR 訂單控制表.年份季度 LIKE '%" & PA & "%' OR
- 訂單控制表.客戶訂單號 LIKE '%" & PA & "%' OR 訂單控制表.型體號碼 LIKE '%" & PA & "%' OR 訂單控制表.生產工廠 LIKE '%" & PA & "%' OR
- 訂單控制表.GOODBOX LIKE '%" & PA & "%' OR 訂單控制表.APMA確認 LIKE '%" & PA & "%')
- ORDER BY 訂單控制表.訂單流水號, 訂單控制表.客戶訂單號, 型體名稱"
- Set_DGV1載入後設定() : Set_grid1()
- PA = ""
- End Sub
- Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
- If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox4.Text = "" Then
- MsgBox("檔案名稱或資料不可空白")
- Else
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "SELECT 客戶訂單號 FROM 驗貨報告圖庫 WHERE 客戶訂單號 LIKE '" & TextBox1.Text & "' AND 型體名稱 LIKE '" & TextBox2.Text & "'"
- cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
- If dr.Read() Then
- MsgBox("資料重複,請從新輸入或檢查")
- conn.Close() : dr.Close()
- Else
- conn.Close()
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "SELECT TOP (1) 驗貨報告編號 FROM 驗貨報告圖庫 ORDER BY 驗貨報告編號 DESC"
- cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
- If dr.Read() Then : TextBox3.Text = dr("驗貨報告編號").ToString : Else : TextBox3.Text = "0" : End If
- conn.Close()
- Dim NUM1 As Integer
- NUM1 = Double.Parse(Strings.Right(TextBox3.Text, 8)) + 1
- If NUM1 < 10 Then : TextBox3.Text = "IR" & "0000000" & NUM1
- ElseIf NUM1 > 9 And NUM1 < 100 Then : TextBox3.Text = "IR" & "000000" & NUM1
- ElseIf NUM1 > 99 And NUM1 < 1000 Then : TextBox3.Text = "IR" & "00000" & NUM1
- ElseIf NUM1 > 999 And NUM1 < 10000 Then : TextBox3.Text = "IR" & "0000" & NUM1
- ElseIf NUM1 > 9999 And NUM1 < 100000 Then : TextBox3.Text = "IR" & "000" & NUM1
- ElseIf NUM1 > 99999 And NUM1 < 100000 Then : TextBox3.Text = "IR" & "00" & NUM1
- ElseIf NUM1 > 999999 And NUM1 < 1000000 Then : TextBox3.Text = "IR" & "0" & NUM1
- ElseIf NUM1 > 9999999 Then : TextBox3.Text = "IR" & NUM1
- End If
-
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "INSERT INTO 驗貨報告圖庫 (客戶訂單號, 型體名稱, 驗貨報告編號, 操作人, 驗貨報告) SELECT '" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & gUserName & "', " &
- "BULKCOLUMN FROM OPENROWSET ( BULK '" & FTP實體位置 & AA(13) & "\" & TextBox4.Text & "', SINGLE_BLOB) AS EMPLOYEEPICTURE"
- cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
-
- DTP = Format(DateTimePicker1.Value, "yyyy/MM/dd")
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "UPDATE 訂單控制表 SET 驗貨時間 = '" & DTP & "', 驗貨報告圖片 = '" & TextBox3.Text & "' WHERE (客戶訂單號 = '" & TextBox1.Text & "' AND GOODBOX = '" & TextBox2.Text & "')"
- cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
- '---FTP方式刪除檔案----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
- frq = CType(WebRequest.Create(New Uri(Target1 & TextBox4.Text)), FtpWebRequest)
- fcr = New NetworkCredential(FTP帳號, FTP密碼)
- frq.Credentials = fcr
- frq.Method = WebRequestMethods.Ftp.DeleteFile
- frq.UseBinary = True
- frp = CType(frq.GetResponse, FtpWebResponse)
- frp.Close()
- WebBrowser1.Refresh()
- '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- TextBox1.Text = "" : TextBox2.Text = "" : TextBox4.Text = ""
- Set_清單1() : Set_grid1()
- MsgBox("新增完成")
- End If
- End If
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox4.Text = "" Then
- MsgBox("檔案名稱或資料不可空白")
- Else
- conn.Close()
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "SELECT TOP (1) 驗貨報告編號 FROM 驗貨報告圖庫 ORDER BY 驗貨報告編號 DESC"
- cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
- If dr.Read() Then : TextBox3.Text = dr("驗貨報告編號").ToString : Else : TextBox3.Text = "0" : End If
- conn.Close()
- Dim NUM1 As Integer
- NUM1 = Double.Parse(Strings.Right(TextBox3.Text, 8)) + 1
- If NUM1 < 10 Then : TextBox3.Text = "IR" & "0000000" & NUM1
- ElseIf NUM1 > 9 And NUM1 < 100 Then : TextBox3.Text = "IR" & "000000" & NUM1
- ElseIf NUM1 > 99 And NUM1 < 1000 Then : TextBox3.Text = "IR" & "00000" & NUM1
- ElseIf NUM1 > 999 And NUM1 < 10000 Then : TextBox3.Text = "IR" & "0000" & NUM1
- ElseIf NUM1 > 9999 And NUM1 < 100000 Then : TextBox3.Text = "IR" & "000" & NUM1
- ElseIf NUM1 > 99999 And NUM1 < 100000 Then : TextBox3.Text = "IR" & "00" & NUM1
- ElseIf NUM1 > 999999 And NUM1 < 1000000 Then : TextBox3.Text = "IR" & "0" & NUM1
- ElseIf NUM1 > 9999999 Then : TextBox3.Text = "IR" & NUM1
- End If
-
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "INSERT INTO 驗貨報告圖庫 (客戶訂單號, 型體名稱, 驗貨報告編號, 操作人, 驗貨報告) SELECT '" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & gUserName & "', " &
- "BULKCOLUMN FROM OPENROWSET ( BULK '" & FTP實體位置 & AA(13) & "\" & TextBox4.Text & "', SINGLE_BLOB) AS EMPLOYEEPICTURE"
- cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
-
- DTP = Format(DateTimePicker1.Value, "yyyy/MM/dd")
- For I As Integer = 0 To DataGridView1.Rows.Count - 1
- If DataGridView1("選擇", I).Value = True Then
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "UPDATE 訂單控制表 SET 驗貨時間 = '" & DTP & "', 驗貨報告圖片 = '" & TextBox3.Text & "' WHERE (資料流水號 = '" & DataGridView1("資料流水號", I).Value & "')"
- cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
- End If
- Next
- '---FTP方式刪除檔案----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
- frq = CType(WebRequest.Create(New Uri(Target1 & TextBox4.Text)), FtpWebRequest)
- fcr = New NetworkCredential(FTP帳號, FTP密碼)
- frq.Credentials = fcr
- frq.Method = WebRequestMethods.Ftp.DeleteFile
- frq.UseBinary = True
- frp = CType(frq.GetResponse, FtpWebResponse)
- frp.Close()
- WebBrowser1.Refresh()
- '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- TextBox1.Text = "" : TextBox2.Text = "" : TextBox4.Text = ""
- Set_清單1() : Set_grid1()
- MsgBox("新增完成")
- End If
- End Sub
- Private Sub TextBox4_DragEnter(sender As Object, e As DragEventArgs) Handles TextBox4.DragEnter
- If e.Data.GetDataPresent(DataFormats.FileDrop) Then
- Dim files As String()
- Try
- files = CType(e.Data.GetData(DataFormats.FileDrop), String())
- TextBox4.Text = files(files.Length - 1)
- Catch ex As Exception
- MessageBox.Show(ex.Message)
- Return
- End Try
- End If
-
- Dim STR2 As Integer = 0
- TextBox7.Text = TextBox4.Text
- If TextBox4.Text = "" Then
- Else
- For i As Integer = 0 To 9999
- Dim STR1 As Integer = Strings.Len(TextBox7.Text)
- If Strings.Right((TextBox7.Text), 1) <> "\" Then
- STR1 -= 1 : STR2 += 1
- If STR1 = 0 Then
- TextBox7.Text = ""
- TextBox4.Text = ""
- i = 9999
- Else
- TextBox7.Text = Strings.Left((TextBox7.Text), STR1)
- End If
- Else
- TextBox7.Text = Strings.Right((TextBox4.Text), STR2)
- TextBox4.Text = TextBox7.Text
- i = 9999
- End If
- Next
- End If
- End Sub
- Private Sub TextBox4_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles TextBox4.DragDrop
- Dim files As Array = e.Data.GetData(DataFormats.FileDrop)
- For Each file As String In files
- TextBox4.AppendText(file + Environment.NewLine)
- Next
- End Sub
- Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
- If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
- WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath)
- End If
- End Sub
- End Class
|