doapproveovertime.aspx.cs
来自「一个小型的人事管理系统」· CS 代码 · 共 200 行
CS
200 行
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class DoApproveOverTime : System.Web.UI.Page
{
private static string ConnString = ConfigurationManager.AppSettings["SQLCONNECTION"];
private static int Overtime_ID;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// Session["LoginName"] = "hangwang";///待删除句
FirstShow();
}
}
protected void FirstShow()
{
string cmdText;
int EmployeeJibie;
SqlConnection myConn = new SqlConnection(ConnString);
cmdText = "SELECT EmployeeLevel FROM tblEmployee WHERE LoginName = '" + Session["LoginName"].ToString() + "'";
SqlCommand myComm = new SqlCommand(cmdText, myConn);
myConn.Open();
SqlDataReader Dreader = myComm.ExecuteReader();
Dreader.Read();///
if (Dreader.IsDBNull(Dreader.GetOrdinal("EmployeeLevel")))///此处未验证;GetOrdinal()获得EmpolyeeLevel的列号;然后IsDBNull()判断该值是否为空
EmployeeJibie = 0;
else
EmployeeJibie = Convert.ToInt32(Dreader["EmployeeLevel"].ToString());
if (EmployeeJibie <= 1)
{
pnlEmploeePurview.Visible = true;
lblOverTimeCause.Visible = false;
pnlManagerPurview.Visible = false;
pnlOverTimeApply.Visible = false;
}
else
{
/* pnlEmploeePurview.Visible = false;
lblOverTimeCause.Visible = false;
pnlManagerPurview.Visible = false; ;
pnlOverTimeApply.Visible = true;*/
DefaultShow();
}
Dreader.Close();
myConn.Close();
}
protected void DefaultShow()
{///用于显示默认页面,即只显示表格或显示“没有人申请加班”
string cmdText;
SqlConnection myConn = new SqlConnection(ConnString);
cmdText = "SELECT Name AS EmployeeName,OvertimeID,StartTime,EndTime,SubmitTime,tblOvertimeType.Description,Hours FROM tblEmployee,tblOvertime" +
" RIGHT JOIN tblOvertimeType ON tblOvertime.Type = tblOvertimeType.type WHERE tblEmployee.EmployeeID = tblOvertime.EmployeeID AND (tblOvertime.Status='已提交' OR tblOvertime.Status='待批准')";
SqlCommand myComm = new SqlCommand(cmdText, myConn);
myConn.Open();
pnlEmploeePurview.Visible = false;
lblOverTimeCause.Visible = false;
pnlManagerPurview.Visible = false;
pnlOverTimeApply.Visible = true;
SqlDataReader DtReader = myComm.ExecuteReader();
gdvEmployeeApply.DataSource = DtReader;
gdvEmployeeApply.DataBind();
if (gdvEmployeeApply.Rows.Count == 0)
{
/*pnlEmploeePurview.Visible = false;
lblOverTimeCause.Visible = false;
pnlManagerPurview.Visible = false;*/
pnlOverTimeApply.Visible = false;
Response.Write("没有人申请加班!");
}
DtReader.Close();
myConn.Close();
}
protected void ShowMore(string OvertimeID)
{
string cmdText;
SqlConnection myConn = new SqlConnection(ConnString);
cmdText = "SELECT Reason FROM tblOvertime WHERE OvertimeID = " + OvertimeID;
SqlCommand myComm = new SqlCommand(cmdText, myConn);
myConn.Open();
SqlDataReader dr = myComm.ExecuteReader();
pnlEmploeePurview.Visible = false;
lblOverTimeCause.Visible = true;
pnlManagerPurview.Visible = false;
pnlOverTimeApply.Visible = true;
dr.Read();
lblOverTimeCause.Text = "加班事由:" + dr["Reason"].ToString();
dr.Close();
myConn.Close();
}
protected void ApproveAction(string OvertimeID)
{
string cmdText;
SqlConnection myConn = new SqlConnection(ConnString);
cmdText = "UPDATE tblOvertime SET Status='已批准' WHERE OvertimeID = '" + OvertimeID + "'";
SqlCommand myComm = new SqlCommand(cmdText, myConn);
myConn.Open();
myComm.ExecuteNonQuery();
/*pnlEmploeePurview.Visible = false;
lblOverTimeCause.Visible = false;
pnlManagerPurview.Visible = false;
pnlOverTimeApply.Visible = true;*/
DefaultShow();
myConn.Close();
}
protected void OverruleAction()
{
pnlEmploeePurview.Visible = false;
///lblOverTimeCause.Visible = true;///如果没有看原因就选择了“否决”操作,也不需要显示否决理由
pnlManagerPurview.Visible = true;
pnlOverTimeApply.Visible = true;
tbxVetoReason.Text = "";
}
protected void gdvEmployeeApply_RowCommand(object sender, GridViewCommandEventArgs e)
{
Overtime_ID = Convert.ToInt32(e.CommandArgument.ToString());
if (e.CommandName == "ShowMore")
ShowMore(e.CommandArgument.ToString());
if (e.CommandName == "Approve")
{
ApproveAction(e.CommandArgument.ToString());
if (!Page.IsPostBack)
DefaultShow();
}
if (e.CommandName == "Overrule")
{
OverruleAction();
if (!Page.IsPostBack)
DefaultShow();
}
}
protected void btnConfirm_Click(object sender, EventArgs e)
{
string OverruleCause;
string cmdText;
SqlConnection myConn = new SqlConnection(ConnString);
OverruleCause = tbxVetoReason.Text.Trim();
if (OverruleCause == "")
{
Response.Write("<Script Language=JavaScript> alert('否决理由不能为空!');</Script>");
return;
}/*
else
{
Response.Write("<Script Language=JavaScript> if(confirm('确定要否决吗?')) return;</Script>");
}*/
cmdText = "UPDATE tblOvertime SET DenyReason = '";
cmdText += tbxVetoReason.Text.Trim() + "',Status='已否决' WHERE OvertimeID = '" + Overtime_ID.ToString() + "'";
SqlCommand myComm = new SqlCommand(cmdText, myConn);
myConn.Open();
myComm.ExecuteNonQuery();
/*pnlEmploeePurview.Visible = false;
lblOverTimeCause.Visible = false;
pnlManagerPurview.Visible = false;
pnlOverTimeApply.Visible = true;*/
DefaultShow();
myConn.Close();
}
protected void btnCancel_Click(object sender, EventArgs e)
{
pnlEmploeePurview.Visible = false;
lblOverTimeCause.Visible = false;
pnlManagerPurview.Visible = false;
pnlOverTimeApply.Visible = true;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?