📄 showdetail.aspx.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 + -