Imports System.IO Public Class 休假核准 Private Sub 讀取人員資料表() Dim ds As New DataSet 人員_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).FillWeight = 70 : 人員_dgv.Columns(1).FillWeight = 80 : 人員_dgv.Columns(2).FillWeight = 100 : 人員_dgv.Columns(3).Visible = False For i As Integer = 0 To 人員_dgv.Rows.Count - 1 人員_dgv.Rows(i).Cells("No.").Value = i + 1 Next End Sub Private Sub 年份_下拉表單資料載入() SQL_考勤明細表_年份_下拉() 年份_cb.Items.Clear() While (dr.Read()) : 年份_cb.Items.Add(dr("年份")) : End While conn.Close() End Sub Private Sub Set_考勤明細() Dim ds1 As New DataSet 月清單_DGV.DataSource = Nothing : ds1.Clear() 月清單_DGV.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 月清單_DGV.ColumnHeadersHeight = 40 月清單_DGV.AllowUserToAddRows = False PA = 員工編號_tb.Text : PA1 = 年份_cb.Text : PA2 = 月份_cb.Text : SQL_休假申請() da.Fill(ds1) : 月清單_DGV.DataSource = ds1.Tables(0) : conn.Close() 月清單_DGV.Columns(0).FillWeight = 80 : 月清單_DGV.Columns(1).FillWeight = 40 : 月清單_DGV.Columns(2).FillWeight = 90 : 月清單_DGV.Columns(3).FillWeight = 65 月清單_DGV.Columns(4).FillWeight = 55 : 月清單_DGV.Columns(5).FillWeight = 200 : 月清單_DGV.Columns(6).FillWeight = 80 : 月清單_DGV.Columns(7).FillWeight = 80 月清單_DGV.Columns(8).FillWeight = 80 : 月清單_DGV.Columns("圖片資料庫").Visible = False : 月清單_DGV.Columns("圖片編號").Visible = False 月清單_DGV.Columns("核准人").Visible = False : 月清單_DGV.Columns("核准日期").Visible = False : 月清單_DGV.Columns("是否生效").Visible = False For I As Integer = 0 To 月清單_DGV.Rows.Count - 1 If 月清單_DGV.Rows(I).Cells("星期").Value.ToString = "星期六" Then : 月清單_DGV.Rows(I).DefaultCellStyle.BackColor = Color.LightPink ElseIf 月清單_DGV.Rows(I).Cells("星期").Value.ToString = "星期日" Then : 月清單_DGV.Rows(I).DefaultCellStyle.BackColor = Color.LightPink ElseIf 月清單_DGV.Rows(I).Cells("請假類別").Value.ToString = "國定假日" Then : 月清單_DGV.Rows(I).DefaultCellStyle.BackColor = Color.LightPink ElseIf 月清單_DGV.Rows(I).Cells("請假類別").Value.ToString <> "" Then : 月清單_DGV.Rows(I).DefaultCellStyle.BackColor = Color.LightYellow ElseIf 月清單_DGV.Rows(I).Cells("請假類別").Value.ToString = "特休" Then : 月清單_DGV.Rows(I).DefaultCellStyle.BackColor = Color.LightYellow End If Next End Sub Private Sub Set_假期統計() Dim ds As New DataSet 假期統計_dgv.DataSource = Nothing : ds.Clear() 假期統計_dgv.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing 假期統計_dgv.ColumnHeadersHeight = 25 假期統計_dgv.AllowUserToAddRows = False PA = 員工編號_tb.Text : PA1 = 請假日期_tb.Text : SQL_休假統計() da.Fill(ds) : 假期統計_dgv.DataSource = ds.Tables(0) : conn.Close() End Sub Private Sub 特休核准_Load(sender As Object, e As EventArgs) Handles MyBase.Load 年份_下拉表單資料載入() 年份_cb.Text = Year(Today) : 月份_cb.SelectedIndex = Month(Today) - 1 : 請假類別_cb.SelectedIndex = 0 PA1 = 年份_cb.Text : PA2 = 月份_cb.Text 讀取人員資料表() : Set_考勤明細() End Sub Private Sub 人員_dgv_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 人員_dgv.CellClick If e.RowIndex = -1 Then : Else 員工編號_tb.Text = 人員_dgv("編號", e.RowIndex).Value.ToString : 申請人_tb.Text = 人員_dgv("姓名", e.RowIndex).Value.ToString Set_考勤明細() End If End Sub Private Sub 月清單_DGV_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles 月清單_DGV.CellClick If e.RowIndex = -1 Then : Else 員工編號_tb.Text = 月清單_DGV("編號", e.RowIndex).Value.ToString : 申請人_tb.Text = 月清單_DGV("姓名", e.RowIndex).Value.ToString 請假日期_tb.Text = 月清單_DGV("日期", e.RowIndex).Value.ToString : 事由_tb.Text = 月清單_DGV("事由", e.RowIndex).Value.ToString 請假類別_cb.Text = 月清單_DGV("請假類別", e.RowIndex).Value.ToString 資料指定圖庫_tb.Text = 月清單_DGV("圖片資料庫", e.RowIndex).Value.ToString : 圖片流水號_tb.Text = 月清單_DGV("圖片編號", e.RowIndex).Value.ToString '------------驗貨報告讀取-------------------------------------------------------------------------------------------- If 資料指定圖庫_tb.Text <> "" And 圖片流水號_tb.Text <> "" Then 圖片庫 = 資料指定圖庫_tb.Text : SQL_連線字串_圖片資料庫() : PA2 = 圖片流水號_tb.Text SQL_請假圖() : PictureBox2.Image = Nothing 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) : PictureBox2.Image = Bitmap.FromStream(oStream) End While : conn.Close() : PictureBox2.SizeMode = 4 Else PictureBox2.Image = Nothing End If : Set_假期統計() End If 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 If 請假日期_tb.Text = "" Then MsgBox("日期不能為空白") Else Set_日期格式轉換() : SQL_核准修改() : Set_考勤明細() : conn.Close() : MsgBox("修改完成") End If End Sub Private Sub 月份_cb_SelectedIndexChanged(sender As Object, e As EventArgs) Handles 月份_cb.SelectedIndexChanged Set_考勤明細() End Sub Private Sub 月清單_DGV_RowPostPaint(ByVal sender As Object, ByVal e As DataGridViewRowPostPaintEventArgs) Handles 月清單_DGV.RowPostPaint For I As Integer = 0 To 月清單_DGV.Rows.Count - 1 If 月清單_DGV.Rows(I).Cells("星期").Value.ToString = "星期六" Then : 月清單_DGV.Rows(I).DefaultCellStyle.BackColor = Color.LightPink ElseIf 月清單_DGV.Rows(I).Cells("星期").Value.ToString = "星期日" Then : 月清單_DGV.Rows(I).DefaultCellStyle.BackColor = Color.LightPink ElseIf 月清單_DGV.Rows(I).Cells("請假類別").Value.ToString = "國定假日" Then : 月清單_DGV.Rows(I).DefaultCellStyle.BackColor = Color.LightPink ElseIf 月清單_DGV.Rows(I).Cells("請假類別").Value.ToString <> "" Then : 月清單_DGV.Rows(I).DefaultCellStyle.BackColor = Color.LightYellow ElseIf 月清單_DGV.Rows(I).Cells("請假類別").Value.ToString = "特休" Then : 月清單_DGV.Rows(I).DefaultCellStyle.BackColor = Color.LightYellow End If Next End Sub End Class