123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- Option Strict Off
- Imports System.Data.SqlClient
- Public Class 人事考勤打卡
- Private Property MYSQL As String
- Dim conn As New SqlConnection
- Dim da As New SqlDataAdapter
- Dim cmd As New SqlCommand
- Dim ds As New DataSet : Dim ds1 As New DataSet
- Dim dr As SqlDataReader
- Dim DTP As String : Dim DTP1 As String
- Dim 有無資料判別 As String = ""
- Private Sub 人事考勤打卡_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- ConString = "Data Source=192.168.10.5;Initial Catalog=METO-MES-SYS;Persist Security Info=True;User ID=b70340;Password=0911274990;Max pool size = 200;Connection Timeout=0"
- FormBorderStyle = FormBorderStyle.SizableToolWindow : ControlBox = False
- Label1.Text = Year(Today) : Label3.Text = Month(Today) : Label5.Text = Strings.Right(Format(Today(), "yyyy/MM/dd"), 2) : Label7.Text = Format(TimeOfDay(), "HH:mm:ss")
- If Val(Strings.Left(Label7.Text, 2)) < 12 Then : Label14.Text = "上午上班" : Else : Label14.Text = "下午下班" : End If
- Label16.Text = "" : Label18.Text = "" : Label10.Text = "" : Label12.Text = "" : Button1.Text = "打卡系統運行中"
-
- Label1.BackColor = Color.Transparent : Label2.BackColor = Color.Transparent : Label3.BackColor = Color.Transparent : Label4.BackColor = Color.Transparent : Label5.BackColor = Color.Transparent
- Label6.BackColor = Color.Transparent : Label7.BackColor = Color.Transparent : Label8.BackColor = Color.Transparent : Label9.BackColor = Color.Transparent : Label10.BackColor = Color.Transparent
- Label11.BackColor = Color.Transparent : Label12.BackColor = Color.Transparent : Label13.BackColor = Color.Transparent : Label14.BackColor = Color.Transparent : Label15.BackColor = Color.Transparent
- Label16.BackColor = Color.Transparent : Label17.BackColor = Color.Transparent : Label18.BackColor = Color.Transparent
- Label7.Visible = False
- End Sub
- Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
- Label16.Text = "" : Label18.Text = "" : Label10.Text = "" : Label12.Text = "" : Button1.Text = "打卡系統運行中"
- Timer1.Enabled = False
- End Sub
- Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
- If TextBox2.Text <> "" Then
- Label10.Text = "" : Label12.Text = ""
- End If
- Label1.Text = Year(Today) : Label3.Text = Month(Today) : Label5.Text = Strings.Right(Format(Today(), "yyyy/MM/dd"), 2) : Label7.Text = Format(TimeOfDay(), "HH:mm:ss")
- If Val(Strings.Left(Label7.Text, 2)) < 12 Then : Label14.Text = "上午上班" : Else : Label14.Text = "下午下班" : End If
-
- If IsNumeric(TextBox2.Text) = True Then
- If TextBox2.Text.Length = 10 Then
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- MYSQL = "SELECT 姓名, 員工編號 FROM 使用者權限管理表 WHERE (ID卡號 = '" & TextBox2.Text & "')"
- cmd.Connection = conn : cmd.CommandText = MYSQL : dr = cmd.ExecuteReader
- If dr.Read() Then
- Label16.Text = dr("姓名").ToString
- Label18.Text = dr("員工編號").ToString
- conn.Close()
- Else
- TextBox2.Text = "" : TextBox2.Focus() : conn.Close()
- End If
- Timer1.Enabled = False
- Me.Button1.PerformClick()
- End If
- End If
- End Sub
- Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
- Me.Close()
- End Sub
- Private Sub Set_日期格式轉換()
- DTP = Format(Today(), "yyyy/MM/dd")
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Timer1.Enabled = True
- Label7.Text = Format(TimeOfDay(), "HH:mm:ss")
- Dim 判斷請假 As String = "" : Button1.Text = "打卡系統運行中"
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "SELECT 請假類別 FROM 人事考勤明細表 WHERE 員工編號 LIKE '" & Label18.Text & "' AND 日期 LIKE '" & Format(Today(), "yyyy/MM/dd") & "'"
- cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
- If dr.Read() Then : 判斷請假 = dr("請假類別").ToString : End If : conn.Close()
-
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "SELECT 上午上班, 下午下班 FROM 人事考勤明細表 WHERE 員工編號 LIKE '" & Label18.Text & "' AND 日期 LIKE '" & Format(Today(), "yyyy/MM/dd") & "'"
- cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
- If dr.Read() Then : Label10.Text = dr("上午上班").ToString : Label12.Text = dr("下午下班").ToString : End If : conn.Close()
-
- If Label10.Text = "XXX" Or Label10.Text = "" Then : Label10.Text = "未打卡" : End If : If Label12.Text = "XXX" Or Label12.Text = "" Then : Label12.Text = "未打卡" : End If
-
- If Strings.Right(判斷請假, 2) = "一天" Then
- Button1.Text = "本日請假中,無法打卡"
- Else
- If Label18.Text = "" Then
- Button1.Text = "該帳號持有人無需打卡"
- Else
- Set_日期格式轉換()
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "SELECT 員工編號 FROM 人事考勤明細表 WHERE 員工編號 LIKE '" & Label18.Text & "' AND 日期 LIKE '" & Format(Today(), "yyyy/MM/dd") & "'"
- cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader
- If dr.Read() Then : 有無資料判別 = dr("員工編號").ToString : End If : conn.Close()
-
- If 有無資料判別 = "" And Label14.Text = "上午上班" Then
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "INSERT INTO 人事考勤明細表 (員工編號, 日期, 請假類別, 上午上班, 下午下班) SELECT N'" & Label18.Text & "',N'" & DTP & "',N'','" & Format(TimeOfDay(), "HH:mm:ss") & "',''"
- Label10.Text = Format(TimeOfDay(), "HH:mm:ss")
- cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
- Button1.Text = "打卡成功"
- ElseIf 有無資料判別 = "" And Label14.Text = "下午下班" Then
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "INSERT INTO 人事考勤明細表 (員工編號, 日期, 請假類別, 上午上班, 下午下班) SELECT N'" & Label18.Text & "',N'" & DTP & "',N'','','" & Format(TimeOfDay(), "HH:mm:ss") & "'"
- Label12.Text = Format(TimeOfDay(), "HH:mm:ss")
- cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
- Button1.Text = "打卡成功"
- ElseIf 有無資料判別 <> "" And Label14.Text = "上午上班" Then
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "UPDATE 人事考勤明細表 SET 上午上班 = '" & Format(TimeOfDay(), "HH:mm:ss") & "' WHERE (員工編號 = '" & Label18.Text & "') AND (日期 LIKE '" & Format(Today(), "yyyy/MM/dd") & "')"
- Label10.Text = Format(TimeOfDay(), "HH:mm:ss")
- cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
- Button1.Text = "打卡成功"
- ElseIf 有無資料判別 <> "" And Label14.Text = "下午下班" Then
- If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If
- SQL1 = "UPDATE 人事考勤明細表 SET 下午下班 = '" & Format(TimeOfDay(), "HH:mm:ss") & "' WHERE (員工編號 = '" & Label18.Text & "') AND (日期 LIKE '" & Format(Today(), "yyyy/MM/dd") & "')"
- Label12.Text = Format(TimeOfDay(), "HH:mm:ss")
- cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close()
- Button1.Text = "打卡成功"
- Else
- Button1.Text = "打卡失敗,請再試一下。"
- End If
- End If
- End If
- TextBox2.Text = "" : TextBox2.Focus()
- End Sub
- End Class
|