123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253 |
- Option Strict Off
- Imports System.IO
- Imports System.Net
- Public Class 人員入職資料表
- Public Property Credentials As ICredentials
- Private ReadOnly ds, ds1 As New DataSet
- Private Sub Set_使用者清單()
- 未建檔_dgv.DataSource = Nothing : ds.Clear()
- 未建檔_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 未建檔_dgv.ColumnHeadersHeight = 25
- 未建檔_dgv.AllowUserToAddRows = False
- SQL_未入職人員()
- da.Fill(ds) : 未建檔_dgv.DataSource = ds.Tables(0) : conn.Close()
-
- 未建檔_dgv.Columns(0).Visible = False : 未建檔_dgv.Columns(1).FillWeight = 150 : 未建檔_dgv.Columns(2).Visible = False : 未建檔_dgv.Columns(3).Visible = False
- End Sub
- Private Sub Set_人員清單()
- 在職人員_dgv.DataSource = Nothing : ds1.Clear()
- 在職人員_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing
- 在職人員_dgv.ColumnHeadersHeight = 25
- 在職人員_dgv.AllowUserToAddRows = False
- SQL_在職人員()
- da.Fill(ds1) : 在職人員_dgv.DataSource = ds1.Tables(0) : conn.Close()
-
- 在職人員_dgv.Columns(0).Visible = False : 在職人員_dgv.Columns(1).FillWeight = 150 : 在職人員_dgv.Columns(2).Visible = False : 在職人員_dgv.Columns(3).Visible = False
- 在職人員_dgv.Columns(4).Visible = False
- End Sub
- Private Sub 讀取圖片()
- SQL_讀取圖片()
- While dr.Read() = True
- Dim unused As Byte() = New Byte(-1) {}
- Dim bytes As Byte() = DirectCast(dr.Item("人事表圖片"), Byte())
- Dim oStream As New MemoryStream(bytes)
- 相片框_pic.Image = Bitmap.FromStream(oStream)
- End While
- conn.Close()
- 相片框_pic.SizeMode = 4
- 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
- Set_使用者清單() : Set_人員清單()
- 員工編號_tb.Enabled = False : 登入姓名_tb.Enabled = False : TextBox7.Visible = False : GroupBox1.Visible = False
- Target1 = Target & AA(14) & "/"
- WebBrowser1.Url = New Uri(Target1)
- If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
- WebBrowser2.Navigate(FolderBrowserDialog1.SelectedPath)
- End If
- 未建檔_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
- 在職人員_dgv.RowsDefaultCellStyle.Font = New System.Drawing.Font("微軟正黑體", 7.6)
- End Sub
- Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 未建檔_dgv.CellClick
- If e.RowIndex = -1 Then : Else
- 登入姓名_tb.Text = 未建檔_dgv(1, e.RowIndex).Value.ToString
- 員工編號_tb.Text = "" : 姓名_tb.Text = ""
- 相片框_pic.Image = Nothing
- End If
- End Sub
- Private Sub DataGridView2_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 在職人員_dgv.CellClick
- If e.RowIndex = -1 Then : Else
- 員工編號_tb.Text = 在職人員_dgv(0, e.RowIndex).Value.ToString : 登入姓名_tb.Text = 在職人員_dgv(1, e.RowIndex).Value.ToString : 姓名_tb.Text = 在職人員_dgv(2, e.RowIndex).Value.ToString
- 入職日期_dtp.Value = 在職人員_dgv(3, e.RowIndex).Value.ToString : 離職日期_dtp.Text = 在職人員_dgv(4, e.RowIndex).Value.ToString
- Dim TSFM As Integer = DateDiff("d", 入職日期_dtp.Value, Today())
- 在職天數_tb.Text = TSFM
- 讀取圖片()
- End If
- 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
- Private Sub TextBox4_DragEnter(sender As Object, e As DragEventArgs) Handles 檔案名稱_tb.DragEnter
- If e.Data.GetDataPresent(DataFormats.FileDrop) Then
- Dim files As String()
- Try
- files = CType(e.Data.GetData(DataFormats.FileDrop), String())
- 檔案名稱_tb.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 = 檔案名稱_tb.Text
- If 檔案名稱_tb.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 = ""
- 檔案名稱_tb.Text = ""
- i = 9999
- Else
- TextBox7.Text = Strings.Left((TextBox7.Text), STR1)
- End If
- Else
- TextBox7.Text = Strings.Right((檔案名稱_tb.Text), STR2)
- 檔案名稱_tb.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 檔案名稱_tb.DragDrop
- Dim files As Array = e.Data.GetData(DataFormats.FileDrop)
- For Each file As String In files
- 檔案名稱_tb.AppendText(file + Environment.NewLine)
- Next
- End Sub
- Private Sub Set_日期格式轉換()
- DTP = Format(入職日期_dtp.Value, "yyyy/MM/dd")
- DTP1 = Format(DateTimePicker2.Value, "yyyy/MM/dd")
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 人事資料建檔_bt.Click
- Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
- If 檔案名稱_tb.Text = "" Or 登入姓名_tb.Text = "" Or 姓名_tb.Text = "" Then
- MsgBox("請確定人事資料表的圖片檔已準備完成,並且有選擇未建檔的人事清單資料、人員中文姓名有填寫等")
- Else
- If 員工編號_tb.Text <> "" Then
- MsgBox("該員工編號已經建檔完畢,請確認資料是否正確")
- Else
-
- Dim 驗證 As String = "" : Dim 取變數 As String
- 取變數 = Strings.StrReverse(檔案名稱_tb.Text)
- For i As Integer = 1 To 10
- If i = 1 Then
- 驗證 = Strings.Left(取變數, i)
- Else
- If Strings.Mid(取變數, i, 1) = "." Then
- 驗證 = Strings.StrReverse(驗證) : Exit For
- Else
- 驗證 &= Strings.Mid(取變數, i, 1)
- End If
- End If
- Next
-
- If 驗證 = "PNG" Or 驗證 = "png" Or 驗證 = "GIF" Or 驗證 = "gif" Or 驗證 = "BMP" Or 驗證 = "bmp" Or 驗證 = "JPG" Or 驗證 = "jpg" Or 驗證 = "JPEG" Or 驗證 = "jpeg" Then
- SQL_查最後一筆員工編號()
- If dr.Read() Then : 員工編號_tb.Text = dr("員工編號").ToString : Else : 員工編號_tb.Text = "EN00000000" : End If
- conn.Close()
- Dim NUM1 As Integer
- NUM1 = Double.Parse(Strings.Right(員工編號_tb.Text, 8)) + 1
- If NUM1 < 10 Then : 員工編號_tb.Text = "EN" & "0000000" & NUM1
- ElseIf NUM1 > 9 And NUM1 < 100 Then : 員工編號_tb.Text = "EN" & "000000" & NUM1
- ElseIf NUM1 > 99 And NUM1 < 1000 Then : 員工編號_tb.Text = "EN" & "00000" & NUM1
- ElseIf NUM1 > 999 And NUM1 < 10000 Then : 員工編號_tb.Text = "EN" & "0000" & NUM1
- ElseIf NUM1 > 9999 And NUM1 < 100000 Then : 員工編號_tb.Text = "EN" & "000" & NUM1
- ElseIf NUM1 > 99999 And NUM1 < 100000 Then : 員工編號_tb.Text = "EN" & "00" & NUM1
- ElseIf NUM1 > 999999 And NUM1 < 1000000 Then : 員工編號_tb.Text = "EN" & "0" & NUM1
- ElseIf NUM1 > 9999999 Then : 員工編號_tb.Text = "EN" & NUM1
- End If
-
- Set_日期格式轉換() : SQL_新增人事資料表() : conn.Close() : dr.Close()
- MsgBox("新增完成")
- '---------------------------------------------------------------------------------------------------------------------------------
- SQL_更改使用者權限管理表() : conn.Close() : dr.Close()
- Set_使用者清單() : Set_人員清單() : 讀取圖片()
- '---FTP方式刪除檔案----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.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()
- 檔案名稱_tb.Text = ""
- Else
- '---FTP方式刪除檔案----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.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()
- 檔案名稱_tb.Text = ""
- MsgBox("上傳文件並非常用圖片格式,文件已自動刪除,請專換成常用圖片檔案再行操作。")
- End If
- End If
- End If
- End Sub
- Private Sub Button24_Click(sender As Object, e As EventArgs) Handles 人事資料圖片修改存檔_bt.Click
- If 員工編號_tb.Text = "" Or 檔案名稱_tb.Text = "" Or 登入姓名_tb.Text = "" Or 姓名_tb.Text = "" Then
- MsgBox("請確定人事資料表的圖片檔已準備完成,並且所有人事清單資料、人員中文姓名等資料正確")
- Else
- Dim 驗證 As String = "" : Dim 取變數 As String
- Dim frq As FtpWebRequest, frp As FtpWebResponse, fcr As NetworkCredential
- 取變數 = Strings.StrReverse(檔案名稱_tb.Text)
- For i As Integer = 1 To 10
- If i = 1 Then
- 驗證 = Strings.Left(取變數, i)
- Else
- If Strings.Mid(取變數, i, 1) = "." Then
- 驗證 = Strings.StrReverse(驗證) : Exit For
- Else
- 驗證 &= Strings.Mid(取變數, i, 1)
- End If
- End If
- Next
-
- If 驗證 = "PNG" Or 驗證 = "png" Or 驗證 = "GIF" Or 驗證 = "gif" Or 驗證 = "BMP" Or 驗證 = "bmp" Or 驗證 = "JPG" Or 驗證 = "jpg" Or 驗證 = "JPEG" Or 驗證 = "jpeg" Then
- SQL_修改人事資料表()
- conn.Close() : dr.Close()
- MsgBox("修改完成")
- 讀取圖片()
- '---FTP方式刪除檔案----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.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()
-
- '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- 檔案名稱_tb.Text = ""
- Else
- '---FTP方式刪除檔案----------------------------------------------------------------------------------------------------------------------------------------------------------------------
- frq = CType(WebRequest.Create(New Uri(Target1 & 檔案名稱_tb.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()
-
- '----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- 檔案名稱_tb.Text = ""
- MsgBox("上傳文件並非常用圖片格式,文件已自動刪除,請專換成常用圖片檔案再行操作。")
- End If
- End If
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles 人員離職_bt.Click
- If 員工編號_tb.Text = "" Or 登入姓名_tb.Text = "" Or 姓名_tb.Text = "" Then
- MsgBox("請確定選中離職人員的人事資料表")
- Else
- GroupBox1.Visible = True
- End If
- End Sub
- Private Sub Button3_Click(sender As Object, e As EventArgs) Handles 日期確定_bt.Click
- Set_日期格式轉換()
- SQL_修改人事資料表1() : conn.Close()
- GroupBox1.Visible = False
- Set_使用者清單() : Set_人員清單()
- End Sub
- End Class
|