⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 showdetail.aspx.cs

📁 人事管理系统
💻 CS
字号:
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 web_Performance_ShowDetail : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //如果网页是第一次生成时,执行如下操作:

            bool bLastReviewed = true;

            int iEmpID, iYear, iSeason;

            //从网页的查询字符串中获取员工编号、年份和季度信息。
            iEmpID = int.Parse(Request["EmpID"]);
            iYear = int.Parse(Request["Year"]);
            iSeason = int.Parse(Request["Season"]);

            //保存员工编号、年份和季度信息。
            lblEmpID.Text = Request["EmpID"];
            lblYear.Text = Request["Year"];
            lblSeason.Text = Request["Season"];


            //判定是修改本人的报告,还是经理审批,并保存该信息。
            if ((string)Session["EmployeeID"] == Request["EmpID"])
            {
                //如果是员工查看或修改自己的业绩报告,则不能填写经理总评和评分。

                lblIsManager.Text = "false";
                cmbReviewScore.Enabled = false;	//禁用“经理总评分”下拉框。
                txtReviewComment.ReadOnly = true;	//将“经理总评”文本框设为只读。
                btnCheckOver.Visible = false;
            }
            else
            {
                //如果是经理查看员工的业绩报告,则不可修改员工自己的评价。

                lblIsManager.Text = "true";
                cmbSelfScore.Enabled = false;		//禁用“员工总评分”下拉框。
                txtSelfComment.ReadOnly = true;		//将“对本季度的总评”文本框设为只读。

                //只有员工才能设定下一季度的目标,故应隐藏该部分。
                pnlNext.Visible = false;

            }

            DataSet dsLastItem = new DataSet();

            





            
            SqlDataAdapter da1;
            string str1 = "select * from 员工业绩评定表 where 年份='" + iYear.ToString() + "' and 季度='" + iSeason.ToString() + "' and 员工编号='" + iEmpID.ToString() + "' ";
            SqlConnection conn = db.mysqll();
            conn.Open();
            da1 = new SqlDataAdapter(str1 ,conn);
            da1.Fill(dsLastItem);

            if (dsLastItem.Tables[0].Rows.Count == 0)
            {
                
                pnlLast.Visible = false;
                lblNoLast.Visible = true;
                pnlStatus.Visible = false;
            }
            else
            {
                //如果检索到本季度的业绩报告的具体目标,则继续显示其他信息。

                lblNoLast.Visible = false;
                pnlLast.Visible = true;

                //将业绩报告的具体目标以 DataGrid 的形式显示。
                grdLast.DataSource = dsLastItem.Tables[0];
                grdLast.DataBind();
                grdLast.Visible = true;

                 
                
                string str2 = "select * from 员工业绩评定表 where 年份='" + iYear.ToString() + "' and 季度='" + iSeason.ToString() + "' and 员工编号='" + iEmpID.ToString() + "' and 状态='1' ";
                SqlCommand cmd = new SqlCommand(str2,conn);
                bLastReviewed =Convert .ToBoolean ( cmd.ExecuteNonQuery());
                if (bLastReviewed)
                {
                    //经理已经审核过,所以不允许修改。
                    grdLast.Columns[4].Visible = false;
                    txtSelfComment.ReadOnly = true;
                    txtReviewComment.ReadOnly = true;
                    cmbSelfScore.Enabled = false;
                    cmbReviewScore.Enabled = false;

                    //在界面上显示该报告的状态为不可修改。
                    lblPerformStatus.Text = "审核已结束,不可修改!";
                }
                else
                {
                    //经理未审核过,则在界面上显示该报告的状态为可修改。
                    lblPerformStatus.Text = "可修改";
                }

                //检索数据库,获取该业绩报告的总体信息,如员工总评,经理总评等。
                DataSet dsPerform = new DataSet();

                String str3 = "select * from 查看员工业绩评定中的子项目 where 年份='" + iYear.ToString() + "' and 季度='" + iSeason.ToString() + "' and 员工编号='" + iEmpID.ToString() + "'";
                SqlDataAdapter da3;
                da3 = new SqlDataAdapter(str3,conn);
                da3.Fill(dsPerform);

                 
                DataTable dt = dsPerform.Tables[0];
                //如果检索到相应数据,则执行如下操作:
                if (dt.Rows.Count > 0)
                {
                    //保存该业绩报告的编号。
                    lblPerformID.Text = dt.Rows[0]["业绩评定编号"].ToString();

                    //显示员工自己的总评价。
                    txtSelfComment.Text = dt.Rows[0]["自我评价"].ToString().Trim();

                    //显示经理的总评价。
                    txtReviewComment.Text = dt.Rows[0]["审核者评价"].ToString().Trim();

                    if (dt.Rows[0]["自我评分"] == DBNull.Value)
                    {
                         
                        cmbSelfScore.SelectedIndex = -1;
                    }
                    else
                    {
                         
                        cmbSelfScore.SelectedValue = dt.Rows[0]["自我评分"].ToString();
                    }

                    if ((dt.Rows[0]["审核者评分"] == DBNull.Value))
                    {
                        
                        cmbReviewScore.SelectedIndex = -1;
                    }
                    else
                    {
                         
                        cmbReviewScore.SelectedValue = dt.Rows[0]["ReviewScore"].ToString();
                    }
                }
                conn.Close();


              
            }

            
            if (pnlNext.Visible == true)
            {

                iYear = int.Parse(Request["Year"]);
                iSeason = int.Parse(Request["Season"]);

                if (!(iYear == DateTime.Now.Year && iSeason == (int)((DateTime.Now.Month + 2) / 3)))
                {
                    //不是本季度,不能设定下一季度的目标
                    pnlNext.Visible = false;
                }
                else
                {
                   
                    RebindNextGrd();
                }


            }

        }
    }
    void RebindNextGrd()
    {
        DataSet dsNextItem = new DataSet();
        int iEmpID, iYear, iSeason;

        //获取在网页中保存的员工编号、年份和季度。
        iEmpID = int.Parse(lblEmpID.Text);
        iYear = int.Parse(lblYear.Text);
        iSeason = int.Parse(lblSeason.Text);

        //将季度数目加一。
        iSeason += 1;

        //如果季度数目为 5,则应调整为下一年的第一季度。
        if (iSeason == 5)
        {
            iYear += 1;
            iSeason = 1;
        }

        
        string str5 = "select * from 员工业绩评定表 where 年份='" + iYear.ToString() + "' and 季度='" + iSeason.ToString() + "' and 员工编号='" + iEmpID.ToString() + "' ";
        SqlDataAdapter da5;
        SqlConnection conn = db.mysqll();
        conn.Open();
        da5= new SqlDataAdapter(str5, conn);
        da5.Fill(dsNextItem);


        //将业绩报告的具体目标以 DataGrid 的形式显示。
        if (dsNextItem.Tables[0].Rows.Count > 0)
        {
            grdNext.DataSource = dsNextItem.Tables[0];
            grdNext.DataBind();
            grdNext.Visible = true;
        }
        else
        {
            grdNext.Visible = false;
        }
        conn.Close();

    }
    void RebindLastGrd()
    {
        DataSet dsLastItem = new DataSet();
        int iEmpID, iYear, iSeason;

        //获取在网页中保存的员工编号、年份和季度。
        iEmpID = int.Parse(lblEmpID.Text);
        iYear = int.Parse(lblYear.Text);
        iSeason = int.Parse(lblSeason.Text);

       
        string str4 = "select * from 员工业绩评定表 where 年份='" + iYear.ToString() + "' and 季度='" + iSeason.ToString() + "' and 员工编号='" + iEmpID.ToString() + "' ";
        SqlDataAdapter da4;
        SqlConnection conn = db.mysqll();
        conn.Open();
        da4 =new SqlDataAdapter (str4,conn);
        da4.Fill(dsLastItem);



        //将业绩报告的具体目标以 DataGrid 的形式显示。
        grdLast.DataSource = dsLastItem.Tables[0];
        grdLast.DataBind();
        grdLast.Visible = true;
        conn.Close();
        conn.Close();


    }
    protected void btnSave_Click(object sender, EventArgs e)
    {
        int iPerformID, iSelfScore, iReviewScore;
        string strSelfComment, strReviewComment;

        //获取在网页中保存的业绩报告编号。
        //iPerformID = int.Parse(lblPerformID.Text);


        strSelfComment = txtSelfComment.Text.Trim();
        strReviewComment = txtReviewComment.Text.Trim();

        if (lblIsManager.Text == "true")
        {
             
             
            if (cmbReviewScore.SelectedIndex > -1)
            {
                iReviewScore = int.Parse(cmbReviewScore.SelectedValue);
            }
            else
            {
                iReviewScore = 0;

            }
            iSelfScore = 0;
        }
        else
        {
            
            if (cmbSelfScore.SelectedIndex > -1)
            {
                iSelfScore = int.Parse(cmbSelfScore.SelectedValue);
            }
            else
            {
                iSelfScore = 0;
            }

            iReviewScore = 0;

        }
        try
        {

            string sqlinsert = "insert into 员工业绩评定表(员工编号,审核者编号,提交时间,年份,季度,状态,最后编辑时间,自我评分,审核者评分,自我评价,审核者评价) values('" + lblPerformID.Text + "','" + lblEmpID.Text + "','" + DateTime.Now.Date + "','" + lblYear.Text + "','" + lblSeason.Text + "','1','" + DateTime.Now.Date + "','" + iSelfScore + "','" + iReviewScore + "','" + strSelfComment + "','" + strReviewComment + "')";
            SqlConnection conn = db.mysqll();
            conn.Open();
            SqlCommand cmd = new SqlCommand(sqlinsert, conn);
            cmd.ExecuteNonQuery();
            conn.Close();
        }
        catch { return; }
    }
    protected void btnCheckOver_Click(object sender, EventArgs e)
    {
        btnSave_Click(sender, e);

        int iPerformID;
        int iYear, iSeason;

        
        iYear = int.Parse(lblYear.Text);
        iSeason = int.Parse(lblSeason.Text);

        
        iPerformID = int.Parse(lblPerformID.Text);

         
      

         
        Response.Redirect("CheckPerform.aspx?Year=" + iYear + "&Season=" + iSeason);
    }
    protected void btnAdd_Click(object sender, EventArgs e)
    {
        if (txtNewObject.Text.Trim() == "")
        {
            return;
        }

        int iEmpID, iYear, iSeason;

        //获取在网页中保存的员工编号、年份和季度。
        iEmpID = int.Parse(lblEmpID.Text);
        iYear = int.Parse(lblYear.Text);
        iSeason = int.Parse(lblSeason.Text);

        //将季度数目加一。
        iSeason += 1;

       
        if (iSeason == 5)
        {
            iYear += 1;
            iSeason = 1;
        }

    }
    protected void grdLast_SelectedIndexChanged(object sender, EventArgs e)
    {

    }
    protected void cmbSelfScore_SelectedIndexChanged(object sender, EventArgs e)
    {

    }
    protected void grdNext_SelectedIndexChanged(object sender, EventArgs e)
    {

    }
    protected void txtNewObject_TextChanged(object sender, EventArgs e)
    {

    }
    protected void txtSelfComment_TextChanged(object sender, EventArgs e)
    {

    }
    protected void txtReviewComment_TextChanged(object sender, EventArgs e)
    {

    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -