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 + -
显示快捷键?