暫無描述
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 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  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. If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
  42. WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath)
  43. End If
  44. 未建檔_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  45. 在職人員_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
  46. End Sub
  47. Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 未建檔_dgv.CellClick
  48. If e.RowIndex = -1 Then : Else
  49. 登入姓名_tb.Text = 未建檔_dgv(1, e.RowIndex).Value.ToString
  50. 員工編號_tb.Text = "" : 姓名_tb.Text = ""
  51. 相片框_pic.Image = Nothing
  52. End If
  53. End Sub
  54. Private Sub DataGridView2_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 在職人員_dgv.CellClick
  55. If e.RowIndex = -1 Then : Else
  56. 員工編號_tb.Text = 在職人員_dgv(0, e.RowIndex).Value.ToString : 登入姓名_tb.Text = 在職人員_dgv(1, e.RowIndex).Value.ToString : 姓名_tb.Text = 在職人員_dgv(2, e.RowIndex).Value.ToString
  57. 入職日期_dtp.Value = 在職人員_dgv(3, e.RowIndex).Value.ToString : 離職日期_dtp.Text = 在職人員_dgv(4, e.RowIndex).Value.ToString
  58. Dim TSFM As Integer = DateDiff("d", 入職日期_dtp.Value, Today())
  59. 在職天數_tb.Text = TSFM
  60. 讀取圖片()
  61. End If
  62. End Sub
  63. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
  64. If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
  65. WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath)
  66. End If
  67. End Sub
  68. Private Sub TextBox4_DragEnter(sender As Object, e As DragEventArgs) Handles 檔案名稱_tb.DragEnter
  69. If e.Data.GetDataPresent(DataFormats.FileDrop) Then : Dim files As String()
  70. Try : files = CType(e.Data.GetData(DataFormats.FileDrop), String()) : 檔案名稱_tb.Text = files(files.Length - 1)
  71. Catch ex As Exception : MessageBox.Show(ex.Message) : Return : End Try
  72. End If
  73. Dim STR2 As Integer = 0 : TextBox7.Text = 檔案名稱_tb.Text
  74. If 檔案名稱_tb.Text = "" Then : Else
  75. For i As Integer = 0 To 9999 : Dim STR1 As Integer = Strings.Len(TextBox7.Text)
  76. If Strings.Right((TextBox7.Text), 1) <> "\" Then : STR1 -= 1 : STR2 += 1
  77. If STR1 = 0 Then : TextBox7.Text = "" : 檔案名稱_tb.Text = "" : i = 9999
  78. Else : TextBox7.Text = Strings.Left((TextBox7.Text), STR1) : End If
  79. Else
  80. TextBox7.Text = Strings.Right((檔案名稱_tb.Text), STR2)
  81. 檔案名稱_tb.Text = TextBox7.Text : i = 9999
  82. End If
  83. Next
  84. Dim files As String() : files = CType(e.Data.GetData(DataFormats.FileDrop), String())
  85. TextBox7.Text = files(files.Length - 1)
  86. End If
  87. End Sub
  88. Private Sub TextBox4_DragDrop(ByVal sender As Object, ByVal e As DragEventArgs) Handles 檔案名稱_tb.DragDrop
  89. Dim files As Array = e.Data.GetData(DataFormats.FileDrop)
  90. For Each file As String In files
  91. 檔案名稱_tb.AppendText(file + Environment.NewLine)
  92. Next
  93. End Sub
  94. Private Sub Set_日期格式轉換()
  95. DTP = Format(入職日期_dtp.Value, "yyyy/MM/dd")
  96. DTP1 = Format(DateTimePicker2.Value, "yyyy/MM/dd")
  97. End Sub
  98. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 人事資料建檔_bt.Click
  99. Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
  100. If 檔案名稱_tb.Text = "" Or 登入姓名_tb.Text = "" Or 姓名_tb.Text = "" Then
  101. MsgBox("請確定人事資料表的圖片檔已準備完成,並且有選擇未建檔的人事清單資料、人員中文姓名有填寫等")
  102. Else
  103. If 員工編號_tb.Text <> "" Then : MsgBox("該員工編號已經建檔完畢,請確認資料是否正確") : Else
  104. Dim 驗證 As String = "" : Dim 取變數 As String : 取變數 = Strings.StrReverse(檔案名稱_tb.Text)
  105. For i As Integer = 1 To 10
  106. If i = 1 Then : 驗證 = Strings.Left(取變數, i) : Else
  107. If Strings.Mid(取變數, i, 1) = "." Then : 驗證 = Strings.StrReverse(驗證) : Exit For : Else : 驗證 &= Strings.Mid(取變數, i, 1) : End If
  108. End If
  109. Next
  110. If 驗證 = "PNG" Or 驗證 = "png" Or 驗證 = "GIF" Or 驗證 = "gif" Or 驗證 = "BMP" Or 驗證 = "bmp" Or 驗證 = "JPG" Or 驗證 = "jpg" Or 驗證 = "JPEG" Or 驗證 = "jpeg" Then
  111. SQL_查最後一筆員工編號()
  112. If dr.Read() Then : 員工編號_tb.Text = dr("員工編號").ToString : Else : 員工編號_tb.Text = "EN00000000" : End If
  113. conn.Close()
  114. Dim NUM1 As Integer
  115. NUM1 = Double.Parse(Strings.Right(員工編號_tb.Text, 8)) + 1
  116. If NUM1 < 10 Then : 員工編號_tb.Text = "EN" & "0000000" & NUM1
  117. ElseIf NUM1 > 9 And NUM1 < 100 Then : 員工編號_tb.Text = "EN" & "000000" & NUM1
  118. ElseIf NUM1 > 99 And NUM1 < 1000 Then : 員工編號_tb.Text = "EN" & "00000" & NUM1
  119. ElseIf NUM1 > 999 And NUM1 < 10000 Then : 員工編號_tb.Text = "EN" & "0000" & NUM1
  120. ElseIf NUM1 > 9999 And NUM1 < 100000 Then : 員工編號_tb.Text = "EN" & "000" & NUM1
  121. ElseIf NUM1 > 99999 And NUM1 < 100000 Then : 員工編號_tb.Text = "EN" & "00" & NUM1
  122. ElseIf NUM1 > 999999 And NUM1 < 1000000 Then : 員工編號_tb.Text = "EN" & "0" & NUM1
  123. ElseIf NUM1 > 9999999 Then : 員工編號_tb.Text = "EN" & NUM1
  124. End If
  125. Set_日期格式轉換() : PA49 = TextBox7.Text : SQL_新增人事資料表() : conn.Close() : dr.Close()
  126. MsgBox("新增完成")
  127. '---------------------------------------------------------------------------------------------------------------------------------
  128. SQL_更改使用者權限管理表() : conn.Close() : dr.Close()
  129. Set_使用者清單() : Set_人員清單() : 讀取圖片()
  130. 檔案名稱_tb.Text = ""
  131. Else
  132. 檔案名稱_tb.Text = ""
  133. MsgBox("上傳文件並非常用圖片格式,文件已自動刪除,請專換成常用圖片檔案再行操作。")
  134. End If
  135. End If
  136. End If
  137. End Sub
  138. Private Sub Button24_Click(sender As Object, e As EventArgs) Handles 人事資料圖片修改存檔_bt.Click
  139. If 員工編號_tb.Text = "" Or 檔案名稱_tb.Text = "" Or 登入姓名_tb.Text = "" Or 姓名_tb.Text = "" Then
  140. MsgBox("請確定人事資料表的圖片檔已準備完成,並且所有人事清單資料、人員中文姓名等資料正確")
  141. Else
  142. Dim 驗證 As String = "" : Dim 取變數 As String
  143. Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
  144. 取變數 = Strings.StrReverse(檔案名稱_tb.Text)
  145. For i As Integer = 1 To 10
  146. If i = 1 Then : 驗證 = Strings.Left(取變數, i) : Else
  147. If Strings.Mid(取變數, i, 1) = "." Then : 驗證 = Strings.StrReverse(驗證) : Exit For : Else : 驗證 &= Strings.Mid(取變數, i, 1) : End If
  148. End If
  149. Next
  150. If 驗證 = "PNG" Or 驗證 = "png" Or 驗證 = "GIF" Or 驗證 = "gif" Or 驗證 = "BMP" Or 驗證 = "bmp" Or 驗證 = "JPG" Or 驗證 = "jpg" Or 驗證 = "JPEG" Or 驗證 = "jpeg" Then
  151. PA49 = TextBox7.Text : SQL_修改人事資料表()
  152. conn.Close() : dr.Close() : MsgBox("修改完成") : 讀取圖片() : 檔案名稱_tb.Text = ""
  153. Else : 檔案名稱_tb.Text = "" : MsgBox("上傳文件並非常用圖片格式,文件已自動刪除,請專換成常用圖片檔案再行操作。") : End If
  154. End If
  155. End Sub
  156. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 人員離職_bt.Click
  157. If 員工編號_tb.Text = "" Or 登入姓名_tb.Text = "" Or 姓名_tb.Text = "" Then : MsgBox("請確定選中離職人員的人事資料表") : Else : GroupBox1.Visible = True : End If
  158. End Sub
  159. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 日期確定_bt.Click
  160. Set_日期格式轉換()
  161. SQL_修改人事資料表1() : conn.Close()
  162. GroupBox1.Visible = False
  163. Set_使用者清單() : Set_人員清單()
  164. End Sub
  165. End Class