Nessuna descrizione
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 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  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 ds8 As New DataSet
  11. Dim dr As SqlDataReader
  12. Dim EDR As Integer = 0 : Dim ESTR As String
  13. Private Sub Set_清單()
  14. Dim ds As New DataSet
  15. DataGridView1.DataSource = Nothing : ds.Clear()
  16. DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  17. DataGridView1.ColumnHeadersHeight = 25
  18. DataGridView1.AllowUserToAddRows = False
  19. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  20. SQL1 = "SELECT 圖片流水號 AS [" & 表頭(87) & "], 簽名檔人名 AS [" & 表頭(162) & "] FROM HX主管簽名檔管理 ORDER BY 圖片流水號"
  21. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd : da.Fill(ds) : DataGridView1.DataSource = ds.Tables(0) : conn.Close()
  22. DataGridView1.Columns(0).FillWeight = 221 : DataGridView1.Columns(1).FillWeight = 220
  23. End Sub
  24. Private Sub ComboBox1下拉表單資料載入()
  25. conn.Close()
  26. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  27. SQL1 = "SELECT 姓名 FROM 使用者權限管理表 ORDER BY 職稱"
  28. cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader
  29. 簽名檔持有人_cb.Items.Clear()
  30. While (dr.Read()) : 簽名檔持有人_cb.Items.Add(dr("姓名")) : End While
  31. conn.Close()
  32. End Sub
  33. Private Sub Set_語言()
  34. 語言_dgv.DataSource = Nothing : ds8.Clear()
  35. 語言_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  36. 語言_dgv.ColumnHeadersHeight = 25
  37. 語言_dgv.AllowUserToAddRows = False
  38. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  39. SQL1 = "SELECT 控件, 內容 FROM 系統介面語言 WHERE (編碼 LIKE N'" & 介面 & "') AND (語言 LIKE N'" & 系統語言 & "') ORDER BY 控件"
  40. cmd.Connection = conn : cmd.CommandText = SQL1 : da.SelectCommand = cmd
  41. da.Fill(ds8) : 語言_dgv.DataSource = ds8.Tables(0) : conn.Close()
  42. End Sub
  43. Private Sub 語言轉換讀取()
  44. Set_語言() : conn.Close()
  45. For i As Integer = 0 To 語言_dgv.Rows.Count - 1
  46. If 語言_dgv("控件", i).Value.ToString = "簽名檔管理" Then : Me.Text = 語言_dgv("內容", i).Value.ToString : End If
  47. If 語言_dgv("控件", i).Value.ToString = "我的電腦_lb" Then : 我的電腦_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  48. If 語言_dgv("控件", i).Value.ToString = "讀取料夾路徑_bt" Then : 讀取料夾路徑_bt.Text = 語言_dgv("內容", i).Value.ToString : End If
  49. If 語言_dgv("控件", i).Value.ToString = "文字_lb" Then : 文字_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  50. If 語言_dgv("控件", i).Value.ToString = "圖檔編號_lb" Then : 圖檔編號_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  51. If 語言_dgv("控件", i).Value.ToString = "簽名檔持有人_lb" Then : 簽名檔持有人_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  52. If 語言_dgv("控件", i).Value.ToString = "生成圖檔編號_bt" Then : 生成圖檔編號_bt.Text = 語言_dgv("內容", i).Value.ToString : End If
  53. If 語言_dgv("控件", i).Value.ToString = "簽名檔入系統_bt" Then : 簽名檔入系統_bt.Text = 語言_dgv("內容", i).Value.ToString : End If
  54. If 語言_dgv("控件", i).Value.ToString = "刪除簽名檔_bt" Then : 刪除簽名檔_bt.Text = 語言_dgv("內容", i).Value.ToString : End If
  55. If 語言_dgv("控件", i).Value.ToString = "檔案名稱_lb" Then : 檔案名稱_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  56. If 語言_dgv("控件", i).Value.ToString = "伺服器FTP文件夾_lb" Then : 伺服器FTP文件夾_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  57. If 語言_dgv("控件", i).Value.ToString = "文字1_lb" Then : 文字1_lb.Text = 語言_dgv("內容", i).Value.ToString : End If
  58. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_圖檔編碼" Then : 表頭(87) = 語言_dgv("內容", i).Value.ToString : End If
  59. If 語言_dgv("控件", i).Value.ToString = "清單_dgv_簽名檔人名" Then : 表頭(162) = 語言_dgv("內容", i).Value.ToString : End If
  60. Next
  61. End Sub
  62. Private Sub 簽名檔管理_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  63. Me.MdiParent = HX_PGS_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  64. H(711) = True : 介面 = "H711" : 語言轉換讀取()
  65. Set_清單() : TextBox3.Visible = False
  66. ComboBox1下拉表單資料載入()
  67. If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
  68. WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath)
  69. End If
  70. Target1 = Target & AA(4) & "/"
  71. WebBrowser1.Url = New Uri(Target1)
  72. End Sub
  73. Private Sub 簽名檔管理_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
  74. H(711) = False : MyModule1.虛擬桌面開啟()
  75. End Sub
  76. Private Sub 登入閒置控制_MouseMove(sender As Object, e As EventArgs) Handles MyBase.MouseMove
  77. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  78. End Sub
  79. Private Sub 登入閒置控制_KeyPress(sender As Object, e As EventArgs) Handles MyBase.KeyPress
  80. timeNow = 0 : HX_PGS_ERP_SYS.Timer1.Enabled = False : HX_PGS_ERP_SYS.Timer1.Enabled = True
  81. End Sub
  82. Private Sub DataGridView1_CellClick(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
  83. If e.RowIndex = -1 Then : Else
  84. 圖檔編號_tb.Text = DataGridView1(0, e.RowIndex).Value.ToString : 簽名檔持有人_cb.Text = DataGridView1(1, e.RowIndex).Value.ToString
  85. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  86. SQL1 = "SELECT 簽名檔圖片 FROM HX主管簽名檔管理 WHERE 圖片流水號 LIKE N'" & 圖檔編號_tb.Text & "'"
  87. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  88. While dr.Read() = True
  89. Dim unused As Byte() = New Byte(-1) {}
  90. Dim bytes As Byte() = DirectCast(dr.Item("簽名檔圖片"), Byte())
  91. Dim oStream As New MemoryStream(bytes)
  92. PictureBox1.Image = Bitmap.FromStream(oStream)
  93. End While
  94. conn.Close()
  95. PictureBox1.SizeMode = 4
  96. End If
  97. End Sub
  98. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 簽名檔入系統_bt.Click
  99. If 圖檔編號_tb.Text = "" Then
  100. If 系統語言 = "繁體中文" Then : MsgBox("請先將要入庫的編號準備好!!") : Else : MsgBox("Harap siapkan nomor untuk disimpan terlebih dahulu!!") : End If
  101. Else
  102. If TextBox4.Text = "" Then
  103. If 系統語言 = "繁體中文" Then : MsgBox("請先確定圖片資料已準備完畢!!") : Else : MsgBox("Pastikan data gambar sudah siap!!") : End If
  104. Else
  105. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  106. SQL1 = "INSERT INTO HX主管簽名檔管理 (圖片流水號, 簽名檔人名, 簽名檔圖片) SELECT '" & 圖檔編號_tb.Text & "', '" & 簽名檔持有人_cb.Text & "', " &
  107. "BULKCOLUMN FROM OPENROWSET ( BULK '" & FTP物理位置 & AA(4) & "\" & TextBox4.Text & "', SINGLE_BLOB) AS EMPLOYEEPICTURE"
  108. cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
  109. '---FTP方式刪除檔案----------------------------------------------------------------------------------------------------------------------------------------------------------------------
  110. Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
  111. frq = CType(WebRequest.Create(New Uri(Target1 & TextBox4.Text)), FtpWebRequest)
  112. fcr = New NetworkCredential(FTP帳號, FTP密碼)
  113. frq.Credentials = fcr
  114. frq.Method = WebRequestMethods.Ftp.DeleteFile
  115. frq.UseBinary = True
  116. frp = CType(frq.GetResponse, FtpWebResponse)
  117. frp.Close()
  118. WebBrowser1.Refresh()
  119. '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  120. TextBox4.Text = ""
  121. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  122. SQL1 = "SELECT 簽名檔圖片 FROM HX主管簽名檔管理 WHERE 圖片流水號 LIKE N'" & 圖檔編號_tb.Text & "'"
  123. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  124. While dr.Read() = True
  125. Dim unused As Byte() = New Byte(-1) {}
  126. Dim bytes As Byte() = DirectCast(dr.Item("簽名檔圖片"), Byte())
  127. Dim oStream As New MemoryStream(bytes)
  128. PictureBox1.Image = Bitmap.FromStream(oStream)
  129. End While
  130. conn.Close()
  131. PictureBox1.SizeMode = 4
  132. Set_清單() : 圖檔編號_tb.Text = ""
  133. End If
  134. End If
  135. End Sub
  136. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 生成圖檔編號_bt.Click
  137. If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
  138. SQL1 = "SELECT TOP (1) 圖片流水號 FROM HX主管簽名檔管理 ORDER BY 圖片流水號 DESC"
  139. cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
  140. If dr.Read() Then : EDR = Double.Parse(Strings.Right(dr("圖片流水號").ToString, 8)) : Else : EDR = 0 : End If
  141. conn.Close()
  142. EDR += 1
  143. If EDR < 10 Then : ESTR = "PG" & "0000000" & EDR
  144. ElseIf EDR > 9 And EDR < 100 Then : ESTR = "PG" & "000000" & EDR
  145. ElseIf EDR > 99 And EDR < 1000 Then : ESTR = "PG" & "00000" & EDR
  146. ElseIf EDR > 999 And EDR < 10000 Then : ESTR = "PG" & "0000" & EDR
  147. ElseIf EDR > 9999 And EDR < 100000 Then : ESTR = "PG" & "000" & EDR
  148. ElseIf EDR > 99999 And EDR < 100000 Then : ESTR = "PG" & "00" & EDR
  149. ElseIf EDR > 999999 And EDR < 1000000 Then : ESTR = "PG" & "0" & EDR
  150. ElseIf EDR > 9999999 Then : ESTR = "PG" & EDR
  151. End If
  152. 圖檔編號_tb.Text = ESTR
  153. End Sub
  154. Private Sub TextBox4_DragEnter(sender As Object, e As DragEventArgs) Handles TextBox4.DragEnter
  155. If e.Data.GetDataPresent(DataFormats.FileDrop) Then
  156. Dim files As String()
  157. Try
  158. files = CType(e.Data.GetData(DataFormats.FileDrop), String())
  159. TextBox4.Text = files(files.Length - 1)
  160. Catch ex As Exception
  161. MessageBox.Show(ex.Message)
  162. Return
  163. End Try
  164. End If
  165. Dim STR2 As Integer = 0
  166. TextBox3.Text = TextBox4.Text
  167. If TextBox4.Text = "" Then
  168. Else
  169. For i As Integer = 0 To 9999
  170. Dim STR1 As Integer = Strings.Len(TextBox3.Text)
  171. If Strings.Right((TextBox3.Text), 1) <> "\" Then
  172. STR1 -= 1 : STR2 += 1
  173. If STR1 = 0 Then
  174. TextBox3.Text = ""
  175. TextBox4.Text = ""
  176. i = 9999
  177. Else
  178. TextBox3.Text = Strings.Left((TextBox3.Text), STR1)
  179. End If
  180. Else
  181. TextBox3.Text = Strings.Right((TextBox4.Text), STR2)
  182. TextBox4.Text = TextBox3.Text
  183. i = 9999
  184. End If
  185. Next
  186. End If
  187. End Sub
  188. Private Sub TextBox4_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles TextBox4.DragDrop
  189. Dim files As Array = e.Data.GetData(DataFormats.FileDrop)
  190. For Each file As String In files
  191. TextBox4.AppendText(file + Environment.NewLine)
  192. Next
  193. End Sub
  194. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 刪除簽名檔_bt.Click
  195. SQL1 = "DELETE FROM HX主管簽名檔管理 WHERE (圖片流水號 = N'" & 圖檔編號_tb.Text & "')"
  196. cmd.CommandText = SQL1 : cmd.Connection = conn
  197. If conn.State = ConnectionState.Closed Then : conn.Open() : End If
  198. Dim SS As String
  199. If 系統語言 = "繁體中文" Then : SS = "確定要刪除該筆資料?" : Else : SS = "Anda yakin ingin menghapus data ini?" : End If
  200. Dim aa As MsgBoxResult = MsgBox(SS, MsgBoxStyle.OkCancel)
  201. If aa = MsgBoxResult.Ok Then
  202. cmd.ExecuteNonQuery()
  203. Set_清單() : 圖檔編號_tb.Text = ""
  204. End If
  205. End Sub
  206. Private Sub Button14_Click(sender As Object, e As EventArgs) Handles 讀取料夾路徑_bt.Click
  207. If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
  208. WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath)
  209. End If
  210. End Sub
  211. Private Sub 語轉扭_bt_Click(sender As Object, e As EventArgs) Handles 語轉扭_bt.Click
  212. 介面 = "H711" : 語言轉換讀取() : Set_清單()
  213. End Sub
  214. End Class