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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. Option Strict Off
  2. Imports System.IO
  3. Imports System.Net
  4. Public Class 人員入職資料表
  5. Public Property Credentials As ICredentials
  6. Private ReadOnly ds, ds1 As New DataSet
  7. Private Sub Set_使用者清單()
  8. 未建檔_dgv.DataSource = Nothing : ds.Clear()
  9. 未建檔_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  10. 未建檔_dgv.ColumnHeadersHeight = 25
  11. 未建檔_dgv.AllowUserToAddRows = False
  12. SQL_未入職人員()
  13. da.Fill(ds) : 未建檔_dgv.DataSource = ds.Tables(0) : conn.Close()
  14. 未建檔_dgv.Columns(0).Visible = False : 未建檔_dgv.Columns(1).FillWeight = 150 : 未建檔_dgv.Columns(2).Visible = False : 未建檔_dgv.Columns(3).Visible = False
  15. End Sub
  16. Private Sub Set_人員清單()
  17. 在職人員_dgv.DataSource = Nothing : ds1.Clear()
  18. 在職人員_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
  19. 在職人員_dgv.ColumnHeadersHeight = 25
  20. 在職人員_dgv.AllowUserToAddRows = False
  21. SQL_在職人員()
  22. da.Fill(ds1) : 在職人員_dgv.DataSource = ds1.Tables(0) : conn.Close()
  23. 在職人員_dgv.Columns(0).Visible = False : 在職人員_dgv.Columns(1).FillWeight = 150 : 在職人員_dgv.Columns(2).Visible = False : 在職人員_dgv.Columns(3).Visible = False
  24. 在職人員_dgv.Columns(4).Visible = False
  25. End Sub
  26. Private Sub 讀取圖片()
  27. SQL_讀取圖片()
  28. While dr.Read() = True
  29. Dim unused As Byte() = New Byte(-1) {}
  30. Dim bytes As Byte() = DirectCast(dr.Item("人事表圖片"), Byte())
  31. Dim oStream As New MemoryStream(bytes)
  32. 相片框_pic.Image = Bitmap.FromStream(oStream)
  33. End While
  34. conn.Close()
  35. 相片框_pic.SizeMode = 4
  36. End Sub
  37. Private Sub 人員入職資料表_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  38. Me.MdiParent = WINPROFIT_ERP_SYS : Me.WindowState = 2 : Me.AutoScroll = True
  39. Set_使用者清單() : Set_人員清單()
  40. 員工編號_tb.Enabled = False : 登入姓名_tb.Enabled = False : TextBox7.Visible = False : GroupBox1.Visible = False
  41. Target1 = Target & AA(14) & "/"
  42. WebBrowser1.Url = New Uri(Target1)
  43. If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
  44. WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath)
  45. End If
  46. 未建檔_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  47. 在職人員_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  48. End Sub
  49. Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 未建檔_dgv.CellClick
  50. If e.RowIndex = -1 Then : Else
  51. 登入姓名_tb.Text = 未建檔_dgv(1, e.RowIndex).Value.ToString
  52. 員工編號_tb.Text = "" : 姓名_tb.Text = ""
  53. 相片框_pic.Image = Nothing
  54. End If
  55. End Sub
  56. Private Sub DataGridView2_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 在職人員_dgv.CellClick
  57. If e.RowIndex = -1 Then : Else
  58. 員工編號_tb.Text = 在職人員_dgv(0, e.RowIndex).Value.ToString : 登入姓名_tb.Text = 在職人員_dgv(1, e.RowIndex).Value.ToString : 姓名_tb.Text = 在職人員_dgv(2, e.RowIndex).Value.ToString
  59. 入職日期_dtp.Value = 在職人員_dgv(3, e.RowIndex).Value.ToString : 離職日期_dtp.Text = 在職人員_dgv(4, e.RowIndex).Value.ToString
  60. Dim TSFM As Integer = DateDiff("d", 入職日期_dtp.Value, Today())
  61. 在職天數_tb.Text = TSFM
  62. 讀取圖片()
  63. End If
  64. End Sub
  65. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
  66. If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
  67. WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath)
  68. End If
  69. End Sub
  70. Private Sub TextBox4_DragEnter(sender As Object, e As DragEventArgs) Handles 檔案名稱_tb.DragEnter
  71. If e.Data.GetDataPresent(DataFormats.FileDrop) Then
  72. Dim files As String()
  73. Try
  74. files = CType(e.Data.GetData(DataFormats.FileDrop), String())
  75. 檔案名稱_tb.Text = files(files.Length - 1)
  76. Catch ex As Exception
  77. MessageBox.Show(ex.Message)
  78. Return
  79. End Try
  80. End If
  81. Dim STR2 As Integer = 0
  82. TextBox7.Text = 檔案名稱_tb.Text
  83. If 檔案名稱_tb.Text = "" Then
  84. Else
  85. For i As Integer = 0 To 9999
  86. Dim STR1 As Integer = Strings.Len(TextBox7.Text)
  87. If Strings.Right((TextBox7.Text), 1) <> "\" Then
  88. STR1 -= 1 : STR2 += 1
  89. If STR1 = 0 Then
  90. TextBox7.Text = ""
  91. 檔案名稱_tb.Text = ""
  92. i = 9999
  93. Else
  94. TextBox7.Text = Strings.Left((TextBox7.Text), STR1)
  95. End If
  96. Else
  97. TextBox7.Text = Strings.Right((檔案名稱_tb.Text), STR2)
  98. 檔案名稱_tb.Text = TextBox7.Text
  99. i = 9999
  100. End If
  101. Next
  102. End If
  103. End Sub
  104. Private Sub TextBox4_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles 檔案名稱_tb.DragDrop
  105. Dim files As Array = e.Data.GetData(DataFormats.FileDrop)
  106. For Each file As String In files
  107. 檔案名稱_tb.AppendText(file + Environment.NewLine)
  108. Next
  109. End Sub
  110. Private Sub Set_日期格式轉換()
  111. DTP = Format(入職日期_dtp.Value, "yyyy/MM/dd")
  112. DTP1 = Format(DateTimePicker2.Value, "yyyy/MM/dd")
  113. End Sub
  114. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 人事資料建檔_bt.Click
  115. Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
  116. If 檔案名稱_tb.Text = "" Or 登入姓名_tb.Text = "" Or 姓名_tb.Text = "" Then
  117. MsgBox("請確定人事資料表的圖片檔已準備完成,並且有選擇未建檔的人事清單資料、人員中文姓名有填寫等")
  118. Else
  119. If 員工編號_tb.Text <> "" Then
  120. MsgBox("該員工編號已經建檔完畢,請確認資料是否正確")
  121. Else
  122. Dim 驗證 As String = "" : Dim 取變數 As String
  123. 取變數 = Strings.StrReverse(檔案名稱_tb.Text)
  124. For i As Integer = 1 To 10
  125. If i = 1 Then
  126. 驗證 = Strings.Left(取變數, i)
  127. Else
  128. If Strings.Mid(取變數, i, 1) = "." Then
  129. 驗證 = Strings.StrReverse(驗證) : Exit For
  130. Else
  131. 驗證 &= Strings.Mid(取變數, i, 1)
  132. End If
  133. End If
  134. Next
  135. If 驗證 = "PNG" Or 驗證 = "png" Or 驗證 = "GIF" Or 驗證 = "gif" Or 驗證 = "BMP" Or 驗證 = "bmp" Or 驗證 = "JPG" Or 驗證 = "jpg" Or 驗證 = "JPEG" Or 驗證 = "jpeg" Then
  136. SQL_查最後一筆員工編號()
  137. If dr.Read() Then : 員工編號_tb.Text = dr("員工編號").ToString : Else : 員工編號_tb.Text = "EN00000000" : End If
  138. conn.Close()
  139. Dim NUM1 As Integer
  140. NUM1 = Double.Parse(Strings.Right(員工編號_tb.Text, 8)) + 1
  141. If NUM1 < 10 Then : 員工編號_tb.Text = "EN" & "0000000" & NUM1
  142. ElseIf NUM1 > 9 And NUM1 < 100 Then : 員工編號_tb.Text = "EN" & "000000" & NUM1
  143. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 員工編號_tb.Text = "EN" & "00000" & NUM1
  144. ElseIf NUM1 > 999 And NUM1 < 10000 Then : 員工編號_tb.Text = "EN" & "0000" & NUM1
  145. ElseIf NUM1 > 9999 And NUM1 < 100000 Then : 員工編號_tb.Text = "EN" & "000" & NUM1
  146. ElseIf NUM1 > 99999 And NUM1 < 100000 Then : 員工編號_tb.Text = "EN" & "00" & NUM1
  147. ElseIf NUM1 > 999999 And NUM1 < 1000000 Then : 員工編號_tb.Text = "EN" & "0" & NUM1
  148. ElseIf NUM1 > 9999999 Then : 員工編號_tb.Text = "EN" & NUM1
  149. End If
  150. Set_日期格式轉換() : SQL_新增人事資料表() : conn.Close() : dr.Close()
  151. MsgBox("新增完成")
  152. '---------------------------------------------------------------------------------------------------------------------------------
  153. SQL_更改使用者權限管理表() : conn.Close() : dr.Close()
  154. Set_使用者清單() : Set_人員清單() : 讀取圖片()
  155. '---FTP方式刪除檔案----------------------------------------------------------------------------------------------------------------------------------------------------------------------
  156. frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.Text)), FtpWebRequest)
  157. fcr = New NetworkCredential(FTP帳號, FTP密碼)
  158. frq.Credentials = fcr
  159. frq.Method = WebRequestMethods.Ftp.DeleteFile
  160. frq.UseBinary = True
  161. frp = CType(frq.GetResponse, FtpWebResponse)
  162. frp.Close()
  163. WebBrowser1.Refresh()
  164. 檔案名稱_tb.Text = ""
  165. Else
  166. '---FTP方式刪除檔案----------------------------------------------------------------------------------------------------------------------------------------------------------------------
  167. frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.Text)), FtpWebRequest)
  168. fcr = New NetworkCredential(FTP帳號, FTP密碼)
  169. frq.Credentials = fcr
  170. frq.Method = WebRequestMethods.Ftp.DeleteFile
  171. frq.UseBinary = True
  172. frp = CType(frq.GetResponse, FtpWebResponse)
  173. frp.Close()
  174. WebBrowser1.Refresh()
  175. 檔案名稱_tb.Text = ""
  176. MsgBox("上傳文件並非常用圖片格式,文件已自動刪除,請專換成常用圖片檔案再行操作。")
  177. End If
  178. End If
  179. End If
  180. End Sub
  181. Private Sub Button24_Click(sender As Object, e As EventArgs) Handles 人事資料圖片修改存檔_bt.Click
  182. If 員工編號_tb.Text = "" Or 檔案名稱_tb.Text = "" Or 登入姓名_tb.Text = "" Or 姓名_tb.Text = "" Then
  183. MsgBox("請確定人事資料表的圖片檔已準備完成,並且所有人事清單資料、人員中文姓名等資料正確")
  184. Else
  185. Dim 驗證 As String = "" : Dim 取變數 As String
  186. Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
  187. 取變數 = Strings.StrReverse(檔案名稱_tb.Text)
  188. For i As Integer = 1 To 10
  189. If i = 1 Then
  190. 驗證 = Strings.Left(取變數, i)
  191. Else
  192. If Strings.Mid(取變數, i, 1) = "." Then
  193. 驗證 = Strings.StrReverse(驗證) : Exit For
  194. Else
  195. 驗證 &= Strings.Mid(取變數, i, 1)
  196. End If
  197. End If
  198. Next
  199. If 驗證 = "PNG" Or 驗證 = "png" Or 驗證 = "GIF" Or 驗證 = "gif" Or 驗證 = "BMP" Or 驗證 = "bmp" Or 驗證 = "JPG" Or 驗證 = "jpg" Or 驗證 = "JPEG" Or 驗證 = "jpeg" Then
  200. SQL_修改人事資料表()
  201. conn.Close() : dr.Close()
  202. MsgBox("修改完成")
  203. 讀取圖片()
  204. '---FTP方式刪除檔案----------------------------------------------------------------------------------------------------------------------------------------------------------------------
  205. frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.Text)), FtpWebRequest)
  206. fcr = New NetworkCredential(FTP帳號, FTP密碼)
  207. frq.Credentials = fcr
  208. frq.Method = WebRequestMethods.Ftp.DeleteFile
  209. frq.UseBinary = True
  210. frp = CType(frq.GetResponse, FtpWebResponse)
  211. frp.Close()
  212. WebBrowser1.Refresh()
  213. '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  214. 檔案名稱_tb.Text = ""
  215. Else
  216. '---FTP方式刪除檔案----------------------------------------------------------------------------------------------------------------------------------------------------------------------
  217. frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.Text)), FtpWebRequest)
  218. fcr = New NetworkCredential(FTP帳號, FTP密碼)
  219. frq.Credentials = fcr
  220. frq.Method = WebRequestMethods.Ftp.DeleteFile
  221. frq.UseBinary = True
  222. frp = CType(frq.GetResponse, FtpWebResponse)
  223. frp.Close()
  224. WebBrowser1.Refresh()
  225. '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  226. 檔案名稱_tb.Text = ""
  227. MsgBox("上傳文件並非常用圖片格式,文件已自動刪除,請專換成常用圖片檔案再行操作。")
  228. End If
  229. End If
  230. End Sub
  231. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 人員離職_bt.Click
  232. If 員工編號_tb.Text = "" Or 登入姓名_tb.Text = "" Or 姓名_tb.Text = "" Then
  233. MsgBox("請確定選中離職人員的人事資料表")
  234. Else
  235. GroupBox1.Visible = True
  236. End If
  237. End Sub
  238. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 日期確定_bt.Click
  239. Set_日期格式轉換()
  240. SQL_修改人事資料表1() : conn.Close()
  241. GroupBox1.Visible = False
  242. Set_使用者清單() : Set_人員清單()
  243. End Sub
  244. End Class