Option Strict Off Imports System.Data.SqlClient Imports System.IO Imports System.Net Public Class 薪資確認系統 Dim conn As New SqlConnection Dim cmd As New SqlCommand Dim dr As SqlDataReader Dim 月 As String Private Sub ComboBox1下拉表單資料載入() conn.Close() If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If SQL1 = "SELECT 年份 FROM 年份清單 ORDER BY 年份 DESC" cmd.CommandText = SQL1 : cmd.Connection = conn : dr = cmd.ExecuteReader ComboBox1.Items.Clear() While (dr.Read()) : ComboBox1.Items.Add(dr("年份")) : End While conn.Close() End Sub Private Sub 薪資確認系統_Load(sender As Object, e As EventArgs) Handles MyBase.Load FormBorderStyle = FormBorderStyle.SizableToolWindow : ControlBox = False ComboBox1下拉表單資料載入() : ComboBox1.Text = Year(Today) TextBox2.Enabled = False : TextBox3.Enabled = False : TextBox4.Enabled = False : TextBox5.Enabled = False : TextBox6.Enabled = False : TextBox7.Enabled = False End Sub Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick PictureBox1.Image = Nothing TextBox2.Text = "" : TextBox3.Text = "" : TextBox4.Text = "" : TextBox5.Text = "" : TextBox6.Text = "" : TextBox7.Text = "" Label36.Text = "0.00" : Label37.Text = "0.00" : Label38.Text = "0.00" : Label39.Text = "0.00" : Label40.Text = "0.00" : Label41.Text = "0.00" : Label42.Text = "0.00" Label43.Text = "0.00" : Label44.Text = "0.00" : Label45.Text = "0.00" : Label46.Text = "0.00" : Label47.Text = "0.00" : Label48.Text = "0.00" : Label49.Text = "0.00" Label50.Text = "0.00" : Label51.Text = "0.00" : Label52.Text = "0.00" : Label53.Text = "0.00" : Label54.Text = "0.00" : Label55.Text = "0.00" : Label56.Text = "0.00" Label57.Text = "0.00" : Label58.Text = "0.00" : Label59.Text = "0.00" : Label60.Text = "0.00" : Label61.Text = "0.00" Label62.Text = "未簽" Timer1.Enabled = False End Sub Private Sub UsernameTextBox_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged If IsNumeric(TextBox1.Text) = True Then If TextBox1.Text.Length = 10 Then If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If SQL1 = "SELECT 姓名, 部門, 課別, 組別, 職稱, 員工編號 FROM 使用者權限管理表 WHERE (ID卡號 = '" & TextBox1.Text & "')" cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader If dr.Read() Then TextBox2.Text = dr("姓名").ToString : TextBox3.Text = dr("部門").ToString : TextBox4.Text = dr("課別").ToString : TextBox5.Text = dr("組別").ToString : TextBox6.Text = dr("職稱").ToString TextBox7.Text = dr("員工編號").ToString conn.Close() : TextBox1.Text = "" End If If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If SQL1 = "SELECT 簽名檔 FROM 人事職員簽名檔 WHERE 員工編號 LIKE '" & TextBox7.Text & "'" cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader While dr.Read() = True Dim bytes As Byte() = New Byte(-1) {} bytes = DirectCast(dr.Item("簽名檔"), Byte()) Dim oStream As New MemoryStream(bytes) PictureBox1.Image = Bitmap.FromStream(oStream) End While conn.Close() PictureBox1.SizeMode = 4 TextBox1.Focus() Timer1.Enabled = True End If End If End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Me.Close() End Sub Private Sub 讀取薪資條() If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If SQL1 = "SELECT 底薪, 職務等類, 職務等類工資, 上班天數, 正班工資, 全勤獎, 平時加班工時, 平時加班工資, 週末加班工時, 週末加班工資, 假日加班工時, 假日加班工資, 職務級數, 單位級數工資, 職務工資, 往年年資, 去年年資, 年資工資, [夜班/其他], 應發工資, 社保費, 代扣稅, 借款, 其他, 扣款合計, 實發合計 FROM 人員薪資表 WHERE (姓名 LIKE N'" & TextBox2.Text & "') AND (年份 LIKE '" & ComboBox1.Text & "') AND (月份 LIKE '" & 月 & "')" cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader If dr.Read() Then Label36.Text = Format(Val(dr("底薪").ToString), "#,##0.00") : Label37.Text = Format(Val(dr("職務等類").ToString), "#,##0.00") Label38.Text = Format(Val(dr("職務等類工資").ToString), "#,##0.00") : Label39.Text = Format(Val(dr("上班天數").ToString), "#,##0.00") Label40.Text = Format(Val(dr("正班工資").ToString), "#,##0.00") : Label41.Text = Format(Val(dr("全勤獎").ToString), "#,##0.00") Label42.Text = Format(Val(dr("平時加班工時").ToString), "#,##0.00") : Label43.Text = Format(Val(dr("平時加班工資").ToString), "#,##0.00") Label44.Text = Format(Val(dr("週末加班工時").ToString), "#,##0.00") : Label45.Text = Format(Val(dr("週末加班工資").ToString), "#,##0.00") Label46.Text = Format(Val(dr("假日加班工時").ToString), "#,##0.00") : Label47.Text = Format(Val(dr("假日加班工資").ToString), "#,##0.00") Label48.Text = Format(Val(dr("職務級數").ToString), "#,##0.00") : Label49.Text = Format(Val(dr("單位級數工資").ToString), "#,##0.00") Label50.Text = Format(Val(dr("職務工資").ToString), "#,##0.00") : Label51.Text = Format(Val(dr("往年年資").ToString), "#,##0.00") Label52.Text = Format(Val(dr("去年年資").ToString), "#,##0.00") : Label53.Text = Format(Val(dr("年資工資").ToString), "#,##0.00") Label54.Text = Format(Val(dr("夜班/其他").ToString), "#,##0.00") : Label55.Text = Format(Val(dr("應發工資").ToString), "#,##0.00") Label56.Text = Format(Val(dr("社保費").ToString), "#,##0.00") : Label57.Text = Format(Val(dr("代扣稅").ToString), "#,##0.00") Label58.Text = Format(Val(dr("借款").ToString), "#,##0.00") : Label59.Text = Format(Val(dr("其他").ToString), "#,##0.00") Label60.Text = Format(Val(dr("扣款合計").ToString), "#,##0.00") : Label61.Text = Format(Val(dr("實發合計").ToString), "#,##0.00") Else Label36.Text = "0.00" : Label37.Text = "0.00" : Label38.Text = "0.00" : Label39.Text = "0.00" : Label40.Text = "0.00" : Label41.Text = "0.00" : Label42.Text = "0.00" Label43.Text = "0.00" : Label44.Text = "0.00" : Label45.Text = "0.00" : Label46.Text = "0.00" : Label47.Text = "0.00" : Label48.Text = "0.00" : Label49.Text = "0.00" Label50.Text = "0.00" : Label51.Text = "0.00" : Label52.Text = "0.00" : Label53.Text = "0.00" : Label54.Text = "0.00" : Label55.Text = "0.00" : Label56.Text = "0.00" Label57.Text = "0.00" : Label58.Text = "0.00" : Label59.Text = "0.00" : Label60.Text = "0.00" : Label61.Text = "0.00" End If conn.Close() If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If SQL1 = "SELECT 核實 FROM 人員薪資表簽名核實 WHERE (姓名 LIKE N'" & TextBox2.Text & "') AND (工號 LIKE N'" & TextBox7.Text & "') AND (年份 LIKE '" & ComboBox1.Text & "') AND (月份 LIKE '" & 月 & "')" cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader If dr.Read() Then Label62.Text = "已簽" Else Label62.Text = "未簽" End If conn.Close() End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 月 = "01" : 讀取薪資條() : TextBox1.Focus() : Timer1.Interval = 60000 End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click 月 = "02" : 讀取薪資條() : TextBox1.Focus() : Timer1.Interval = 60000 End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click 月 = "03" : 讀取薪資條() : TextBox1.Focus() : Timer1.Interval = 60000 End Sub Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click 月 = "04" : 讀取薪資條() : TextBox1.Focus() : Timer1.Interval = 60000 End Sub Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click 月 = "05" : 讀取薪資條() : TextBox1.Focus() : Timer1.Interval = 60000 End Sub Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click 月 = "06" : 讀取薪資條() : TextBox1.Focus() : Timer1.Interval = 60000 End Sub Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click 月 = "07" : 讀取薪資條() : TextBox1.Focus() : Timer1.Interval = 60000 End Sub Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click 月 = "08" : 讀取薪資條() : TextBox1.Focus() : Timer1.Interval = 60000 End Sub Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click 月 = "09" : 讀取薪資條() : TextBox1.Focus() : Timer1.Interval = 60000 End Sub Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click 月 = "10" : 讀取薪資條() : TextBox1.Focus() : Timer1.Interval = 60000 End Sub Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click 月 = "11" : 讀取薪資條() : TextBox1.Focus() : Timer1.Interval = 60000 End Sub Private Sub Button13_Click(sender As Object, e As EventArgs) Handles Button13.Click 月 = "12" : 讀取薪資條() : TextBox1.Focus() : Timer1.Interval = 60000 End Sub Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click If 月 = "" Then MsgBox("簽核前請先確定資料正確") Else If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If SQL1 = "SELECT 實發合計 FROM 人員薪資表 WHERE (姓名 LIKE N'" & TextBox2.Text & "') AND (年份 LIKE '" & ComboBox1.Text & "') AND (月份 LIKE '" & 月 & "')" cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader If dr.Read() Then conn.Close() If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If SQL1 = "SELECT 核實 FROM 人員薪資表簽名核實 WHERE (姓名 LIKE N'" & TextBox2.Text & "') AND (工號 LIKE N'" & TextBox7.Text & "') AND (年份 LIKE '" & ComboBox1.Text & "') AND (月份 LIKE '" & 月 & "')" cmd.Connection = conn : cmd.CommandText = SQL1 : dr = cmd.ExecuteReader If dr.Read() Then MsgBox("已簽核過") : conn.Close() Else conn.Close() If conn.State = ConnectionState.Closed Then : conn.ConnectionString = ConString : conn.Open() : End If SQL1 = "INSERT INTO 人員薪資表簽名核實 ( 姓名, 工號, 年份, 月份, 核實) VALUES (N'" & TextBox2.Text & "',N'" & TextBox7.Text & "',N'" & ComboBox1.Text & "',N'" & 月 & "',N'1')" cmd.Connection = conn : cmd.CommandText = SQL1 : cmd.ExecuteNonQuery() : conn.Close() Label62.Text = "已簽" End If Else MsgBox("簽核前請先確定資料正確") : conn.Close() End If End If 月 = "" : TextBox1.Focus() End Sub End Class