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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. Option Explicit On
  2. Imports System.Net
  3. Imports System.IO
  4. Imports System.Data.SqlClient
  5. Public Class 簽名檔管理
  6. Public Property Credentials As ICredentials
  7. ReadOnly conn As New SqlConnection
  8. ReadOnly da As New SqlDataAdapter
  9. ReadOnly cmd As New SqlCommand
  10. ReadOnly ds As New DataSet : ReadOnly ds1 As New DataSet
  11. Dim dr As SqlDataReader
  12. Dim EDR As Integer = 0 : Dim ESTR As String
  13. Private Sub Set_DGV1載入前設定()
  14. DataGridView1.DataSource = Nothing : ds.Clear()
  15. DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  16. DataGridView1.ColumnHeadersHeight = 25
  17. DataGridView1.AllowUserToAddRows = False
  18. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  19. End Sub
  20. Private Sub Set_DGV1載入後設定()
  21. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close() : Set_grid()
  22. End Sub
  23. Private Sub Set_清單()
  24. Set_DGV1載入前設定()
  25. SQL1 = "SELECT 圖片流水號 AS 圖檔編碼, 簽名檔人名 FROM 簽名檔管理 ORDER BY 圖片流水號"
  26. Set_DGV1載入後設定()
  27. End Sub
  28. Private Sub Set_grid()
  29. DataGridView1.Columns(0).Width = 221 : DataGridView1.Columns(1).Width = 220
  30. End Sub
  31. Private Sub ComboBox1下拉表單資料載入()
  32. conn.Close()
  33. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  34. SQL1 = "SELECT 姓名 FROM 使用者權限管理表 ORDER BY 職稱"
  35. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  36. ComboBox1.Items.Clear()
  37. While (dr.Read()) : ComboBox1.Items.Add(dr("姓名")) : End While
  38. conn.Close()
  39. End Sub
  40. Private Sub 簽名檔管理_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  41. Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  42. Set_清單() : TextBox3.Visible = False
  43. ComboBox1下拉表單資料載入()
  44. If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
  45. WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath)
  46. End If
  47. Target1 = Target & AA(1) & "/"
  48. WebBrowser1.Url = New Uri(Target1)
  49. End Sub
  50. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
  51. If e.RowIndex = -1 Then : Else
  52. TextBox2.Text = DataGridView1(0, e.RowIndex).Value.ToString : ComboBox1.Text = DataGridView1(1, e.RowIndex).Value.ToString
  53. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  54. SQL1 = "SELECT 簽名檔圖片 FROM 簽名檔管理 WHERE 圖片流水號 LIKE N'" & TextBox2.Text & "'"
  55. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  56. While dr.Read() = True
  57. Dim unused As Byte() = New Byte(-1) {}
  58. Dim bytes As Byte() = DirectCast(dr.Item("簽名檔圖片"), Byte())
  59. Dim oStream As New MemoryStream(bytes)
  60. PictureBox1.Image = Bitmap.FromStream(oStream)
  61. End While
  62. conn.Close()
  63. PictureBox1.SizeMode = 4
  64. End If
  65. End Sub
  66. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  67. If TextBox2.Text = "" Then
  68. MsgBox("請先將要入庫的編號準備好")
  69. Else
  70. If TextBox4.Text = "" Then
  71. MsgBox("請先確定圖片資料已準備完畢")
  72. Else
  73. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  74. SQL1 = "INSERT INTO 簽名檔管理 (圖片流水號, 簽名檔人名, 簽名檔圖片) SELECT '" & TextBox2.Text & "', '" & ComboBox1.Text & "', " &
  75. "BULKCOLUMN FROM OPENROWSET ( BULK '" & FTP實體位置 & AA(1) & "\" & TextBox4.Text & "', SINGLE_BLOB) AS EMPLOYEEPICTURE"
  76. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  77. '---FTP方式刪除檔案----------------------------------------------------------------------------------------------------------------------------------------------------------------------
  78. Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
  79. frq = CType(WebRequest.Create(New Uri(Target1 & TextBox4.Text)), FtpWebRequest)
  80. fcr = New NetworkCredential(FTP帳號, FTP密碼)
  81. frq.Credentials = fcr
  82. frq.Method = WebRequestMethods.Ftp.DeleteFile
  83. frq.UseBinary = True
  84. frp = CType(frq.GetResponse, FtpWebResponse)
  85. frp.Close()
  86. WebBrowser1.Refresh()
  87. '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  88. TextBox4.Text = ""
  89. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  90. SQL1 = "SELECT 簽名檔圖片 FROM 簽名檔管理 WHERE 圖片流水號 LIKE N'" & TextBox2.Text & "'"
  91. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  92. While dr.Read() = True
  93. Dim unused As Byte() = New Byte(-1) {}
  94. Dim bytes As Byte() = DirectCast(dr.Item("簽名檔圖片"), Byte())
  95. Dim oStream As New MemoryStream(bytes)
  96. PictureBox1.Image = Bitmap.FromStream(oStream)
  97. End While
  98. conn.Close()
  99. PictureBox1.SizeMode = 4
  100. Set_清單() : TextBox2.Text = ""
  101. End If
  102. End If
  103. End Sub
  104. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  105. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  106. SQL1 = "SELECT TOP (1) 圖片流水號 FROM 簽名檔管理 ORDER BY 圖片流水號 DESC"
  107. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  108. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("圖片流水號").ToString, 8)) : Else : EDR = 0 : End If
  109. conn.Close()
  110. EDR += 1
  111. If EDR < 10 Then : ESTR = "PG" & "0000000" & EDR
  112. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "PG" & "000000" & EDR
  113. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "PG" & "00000" & EDR
  114. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "PG" & "0000" & EDR
  115. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "PG" & "000" & EDR
  116. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "PG" & "00" & EDR
  117. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "PG" & "0" & EDR
  118. ElseIf EDR > 9999999 Then : ESTR = "PG" & EDR
  119. End If
  120. TextBox2.Text = ESTR
  121. End Sub
  122. Private Sub TextBox4_DragEnter(sender As Object, e As DragEventArgs) Handles TextBox4.DragEnter
  123. If e.Data.GetDataPresent(DataFormats.FileDrop) Then
  124. Dim files As String()
  125. Try
  126. files = CType(e.Data.GetData(DataFormats.FileDrop), String())
  127. TextBox4.Text = files(files.Length - 1)
  128. Catch ex As Exception
  129. MessageBox.Show(ex.Message)
  130. Return
  131. End Try
  132. End If
  133. Dim STR2 As Integer = 0
  134. TextBox3.Text = TextBox4.Text
  135. If TextBox4.Text = "" Then
  136. Else
  137. For i As Integer = 0 To 9999
  138. Dim STR1 As Integer = Strings.Len(TextBox3.Text)
  139. If Strings.Right((TextBox3.Text), 1) <> "\" Then
  140. STR1 -= 1 : STR2 += 1
  141. If STR1 = 0 Then
  142. TextBox3.Text = ""
  143. TextBox4.Text = ""
  144. i = 9999
  145. Else
  146. TextBox3.Text = Strings.Left((TextBox3.Text), STR1)
  147. End If
  148. Else
  149. TextBox3.Text = Strings.Right((TextBox4.Text), STR2)
  150. TextBox4.Text = TextBox3.Text
  151. i = 9999
  152. End If
  153. Next
  154. End If
  155. End Sub
  156. Private Sub TextBox4_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles TextBox4.DragDrop
  157. Dim files As Array = e.Data.GetData(DataFormats.FileDrop)
  158. For Each file As String In files
  159. TextBox4.AppendText(file + Environment.NewLine)
  160. Next
  161. End Sub
  162. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
  163. SQL1 = "DELETE FROM 簽名檔管理 WHERE (圖片流水號 = N'" & TextBox2.Text & "')"
  164. cmd.CommandText = SQL1 : cmd.Connection = conn
  165. If conn.State = ConnectionState.Closed Then : conn.Open() : End If
  166. Dim aa As MsgBoxResult
  167. aa = MsgBox("確定要刪除該筆資料?", MsgBoxStyle.OkCancel)
  168. If aa = MsgBoxResult.Ok Then
  169. cmd.ExecuteNonQuery()
  170. Set_清單() : TextBox2.Text = ""
  171. End If
  172. End Sub
  173. End Class