showdetail.aspx.cs

来自「该管理系统的主要功能是管理员工资料、管理员工考勤、计算员工薪资和业绩评定等。大部」· CS 代码 · 共 844 行 · 第 1/2 页

CS
844 行
字号
								//该报告已经审核结束
								//获取经理总评
								if(dsPerform.Tables[0].Rows[0]["ReviewComment"] != System.DBNull.Value)
								{
									this.txtReviewComment.Text = dsPerform.Tables[0].Rows[0]["ReviewComment"].ToString();
								}
								//获取经理总评分
								if(dsPerform.Tables[0].Rows[0]["ReviewScore"] != System.DBNull.Value)
								{
									this.cmbReviewScore.SelectedValue = dsPerform.Tables[0].Rows[0]["ReviewScore"].ToString();
								}

								//获取员工总评
								if(dsPerform.Tables[0].Rows[0]["SelfComment"] != System.DBNull.Value)
								{
									this.txtSelfComment.Text = dsPerform.Tables[0].Rows[0]["SelfComment"].ToString();
								}
								//获取员工总评分
								if(dsPerform.Tables[0].Rows[0]["SelfScore"] != System.DBNull.Value)
								{
									this.cmbSelfScore.SelectedValue = dsPerform.Tables[0].Rows[0]["SelfScore"].ToString();
								}
							}
							else
							{
								//获取员工总评
								if(dsPerform.Tables[0].Rows[0]["SelfComment"] != System.DBNull.Value)
								{
									this.txtSelfComment.Text = dsPerform.Tables[0].Rows[0]["SelfComment"].ToString();
								}
								//获取员工总评分
								if(dsPerform.Tables[0].Rows[0]["SelfScore"] != System.DBNull.Value)
								{
									this.cmbSelfScore.SelectedValue = dsPerform.Tables[0].Rows[0]["SelfScore"].ToString();
								}
								else
								{
									this.cmbSelfScore.Items.Clear();
								}
							}

							//保存业绩编号
							this.lblPerformID.Text = dsPerform.Tables[0].Rows[0]["PerformID"].ToString();
						}
						else
						{
							//数据库中没有本季度的业绩报告
							this.lblNoLast.Text = "没有业务报告的历史记录"; 
							this.lblNoLast.Visible = true;
							this.pnlNextSeason.Visible = false;
							this.pnlHistoryRecord.Visible = false;
						}
					}
					else
					{
						//数据库操作失败
						this.lblNoLast.Text = "对不起,数据库操作失败,请重试";
						this.lblNoLast.Visible = true;
						this.pnlNextSeason.Visible = false;
						this.pnlHistoryRecord.Visible = false;
					}
					#endregion

				}
				else
				{
					//数据库中没有本季度的业绩报告
					//数据库中没有记录
					this.lblNoLast.Text = "没有业务报告的历史记录"; 
					this.lblNoLast.Visible = true;
					this.pnlNextSeason.Visible = false;
					this.pnlHistoryRecord.Visible = false;

				}
			}
			else
			{
				//数据库操作失败
				this.lblNoLast.Text = "对不起,数据库操作失败,请重试";
				this.lblNoLast.Visible = true;
				this.pnlNextSeason.Visible = false;
				this.pnlHistoryRecord.Visible = false;
			}

			#endregion
	
		}

		private void grdLast_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
		{
			#region//单击"编辑"
			this.grdLast.EditItemIndex = e.Item.ItemIndex;
			if(this.lblIsManage.Text == "0")
			{
				//保存经理的评分
				if(e.Item.Cells[2].FindControl("lblManageScore") != null)
				{
					this.lblScore.Text = ((System.Web.UI.WebControls.Label)e.Item.Cells[2].FindControl("lblManageScore")).Text;
				}
				//重新绑定数据表格
				this.BindUIofEmployee();				
			}
			else
			{
				//保存员工的评分
				if(e.Item.Cells[2].FindControl("lblEmpScore") != null)
				{
					this.lblScore.Text = ((System.Web.UI.WebControls.Label)e.Item.Cells[2].FindControl("lblEmpScore")).Text;
				}
				//重新绑定数据表格
				this.BindUIofManager();
			}
			#endregion
		}

		private void grdLast_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
		{
			#region//创建数据表格时触发
			if(this.lblIsManage.Text == "0")
			{
				//当前用户是普通员工,数据表中的经理评分设置为不可用
				if(e.Item.Cells[2].FindControl("ddlReviewScore") != null)
				{
					//设置已评的分数
					if(this.lblScore.Text != "")
					{
						((System.Web.UI.WebControls.DropDownList)e.Item.Cells[2].FindControl("ddlReviewScore")).SelectedValue = this.lblScore.Text.Trim();
					}
					//设置为不可用
					((System.Web.UI.WebControls.DropDownList)e.Item.Cells[2].FindControl("ddlReviewScore")).Enabled = false;
				}
			}

			if(this.lblIsManage.Text == "1")
			{
				//当前用户是普通员工,数据表中的经理评分设置为不可用
				if(e.Item.Cells[2].FindControl("ddlSelfScore") != null)
				{
					//设置已评的分数
					if(this.lblScore.Text != "")
					{
						((System.Web.UI.WebControls.DropDownList)e.Item.Cells[2].FindControl("ddlSelfScore")).SelectedValue = this.lblScore.Text.Trim();
					}
					//设置为不可用
					((System.Web.UI.WebControls.DropDownList)e.Item.Cells[2].FindControl("ddlSelfScore")).Enabled = false;
				}
			}
			#endregion
		}

		private void btnSave_Click(object sender, System.EventArgs e)
		{
			
			//获取业绩编号
			int iPerformID = Convert.ToInt32(this.lblPerformID.Text.Trim());

			//获取员工总评
			string strSelfComment = this.txtSelfComment.Text.Trim();

			//获取经理总评
			string strReviewComment = this.txtReviewComment.Text.Trim();

			//获取员工总评分
			int iSelfScore = 1;
			if(this.cmbSelfScore.SelectedValue != "")
			{
				iSelfScore = Convert.ToInt32(this.cmbSelfScore.SelectedValue);
			}

			//获取经理总评分
			int iReviewScore = 1;
			if(this.cmbReviewScore.SelectedValue != "")
			{
				iReviewScore = Convert.ToInt32(this.cmbReviewScore.SelectedValue);
			}

			//更新业绩记录,返回数据库操作是否成功的标志
			int iSuccess = DBUtils.Performance.UpdatePerform(iPerformID,strSelfComment,strReviewComment,iSelfScore,iReviewScore);

			if(iSuccess == (int)DBResult.Success)
			{
				//数据库操作成功
				Response.Write("<script>alert('你已经成功保存了业绩记录!')</script>");
				this.RebindLastGrd();
			}
			else
			{
				//数据库操作失败
				Response.Write("<script>alert('保存失败,请重试!')</script>");
			}
		}

		private void btnCheckOver_Click(object sender, System.EventArgs e)
		{
			//调用 Performance.PerformReviewed(iPerformID) 函数
			//获取业绩报告编号
			int iPerformID = Convert.ToInt32(this.lblPerformID.Text.Trim());

			//进行审核结束操作,返回数据库操作是否成功标志
			int iSuccess = DBUtils.Performance.PerformReviewed(iPerformID);

			if(iSuccess == (int)DBResult.Success )
			{
				//数据库操作成功
				Response.Write("<script>alert('本季度业绩审核已经结束!')</script>");
				this.RebindLastGrd();
			}
			else
			{
				//数据库操作失败
				Response.Write("<script>alert('审核结束操作失败,请重试!')</script>");
			}

		}

		private void grdLast_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
		{
			//单击"更新"
			//调用 Performance.UpdatePerformItemReview(iPerformItemID, iScore) 函数
			//获取业绩编号
            int iPerformItemID = Convert.ToInt32(this.grdLast.DataKeys[e.Item.ItemIndex]);
			//获取分数
			int iScore = 0;

			//执行数据库更新操作,返回操作是否成功的标志
			int iSuccess = 0;
			if(this.lblIsManage.Text == "1")
			{
				//当前用户是经理
				iScore = Convert.ToInt32(((System.Web.UI.WebControls.DropDownList)e.Item.Cells[2].Controls[1]).SelectedValue);
                iSuccess = DBUtils.Performance.UpdatePerformItemReview(iPerformItemID,iScore);
			}
			else
			{
				iScore = Convert.ToInt32(((System.Web.UI.WebControls.DropDownList)e.Item.Cells[1].Controls[1]).SelectedValue);
				iSuccess = DBUtils.Performance.UpdatePerformItemSelf(iPerformItemID,iScore);
			}
			
			if(iSuccess == (int)DBResult.Success )
			{
				//数据库操作成功
				Response.Write("<script>alert('你已经成功更新了业绩记录!')</script>");
				this.RebindLastGrd();
			}
			else
			{
				//数据更新失败
				Response.Write("<script>alert('更新失败,请重试!')</script>");
			}

		}

		private void grdLast_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
		{
			//本季度单击"取消"
			this.grdLast.EditItemIndex = -1;
			this.RebindLastGrd();
		}

		//设定并显示下一季度业绩报告所对应的 DataGrid 控件
		private void RebindNextGrd()
		{
			//调用 Performance.GetPerformItem(iEmpID, iYear, iSeason, dsLastItem) 函数
			//获取员工编号
			int iEmpID = Convert.ToInt32(Session["EmployeeID"]);

			//获取当前年份
			int iYear = Convert.ToInt32(Request.QueryString["year"]);

			//获取当前季度
			int iSeason = Convert.ToInt32(Request.QueryString["season"]);

			//设置下一季度
			if(iSeason == 4)
			{
				iSeason = 1;
				iYear = iYear +1;
			}
			else
			{
				iSeason +=1;
			}

			//设置 DataSet 对象,保存查询的数据
			DataSet dsResult = new DataSet();

			//设定下一季度的业绩报告,返回数据库操作是否成功的标志
			int iSuccess = DBUtils.Performance.GetPerformItem(iEmpID,iYear,iSeason,ref dsResult);

			if(iSuccess == (int)DBResult.Success )
			{
				//数据库操作成功
				if(dsResult.Tables[0].Rows.Count > 0)
				{
					//数据库中有记录
					this.grdNext.Visible = true;
					this.grdNext.DataSource = dsResult.Tables[0].DefaultView;
					this.grdNext.DataBind();
				}
				else
				{
					//没有记录
					this.grdNext.Visible = false;
				}
			}
			else
			{
				//数据库操作失败
				this.lblError.Text = "数据库操作失败,请重试";
				this.lblError.Visible = true;
				this.grdNext.Visible = false;
			}
		}
		private void grdNext_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
		{
			this.grdNext.EditItemIndex = e.Item.ItemIndex;
			this.RebindNextGrd();
		}

		private void btnBackToManage_Click(object sender, System.EventArgs e)
		{
			Response.Redirect("ManagePerform.aspx");
		}

		//当用户单击“添加”按钮时,该方法将在数据库中添加下季度业绩报告的具体目标
		private void btnAdd_Click(object sender, System.EventArgs e)
		{
			//调用 Performance.AddPerformObject(iEmpID, iYear, iSeason, txtNewObject.Text.Trim) 函数
			//获取用户编号
			int iEmpID = Convert.ToInt32(Session["EmployeeID"]);

			//获取当前年份
			int iYear = Convert.ToInt32(Request.QueryString["year"]);

			//获取当前季度
			int iSeason = Convert.ToInt32(Request.QueryString["season"]);

			//设置为下一季度
			if(iSeason == 4)
			{
				iYear += 1;
				iSeason = 1;
			}
			else
			{
				iSeason += 1;
			}

			//获取目标内容
			string strObject = this.txtNewObject.Text.Trim();

			//添加下季度业绩报告的具体目标,返回数据库操作是否成功的标志
			int iSuccess = DBUtils.Performance.AddPerformObject(iEmpID,iYear,iSeason,strObject);

			if(iSuccess == (int)DBResult.Success )
			{
				//数据库操作成功
				Response.Write("<script>alert('已成功添加下季度业绩报告的一个目标')</script>");
				this.RebindNextGrd();
			}
			else
			{
				//数据库操作失败
				Response.Write("<script>alert('添加下季度业绩报告目标失败,请重试!')</script>");
			}
		}

		private void grdNext_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
		{
			this.grdNext.EditItemIndex = -1;
			this.RebindNextGrd();
		}

		private void grdNext_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
		{
			//调用 Performance.UpdatePerformItemObj(iPerformItemID, strObjectContent) 函数
			//获取业绩编号
			int iPerformItemID = Convert.ToInt32(this.grdNext.DataKeys[e.Item.ItemIndex]);

			//获取目标内容
			string strObjectContent = ((TextBox)e.Item.Cells[0].Controls[1]).Text.Trim();

			//添加下季度业绩报告的具体目标,返回数据库操作是否成功的标志
			int iSuccess = DBUtils.Performance.UpdatePerformItemObj(iPerformItemID,strObjectContent);

			if(iSuccess == (int)DBResult.Success )
			{
				//数据库操作成功
				Response.Write("<script>alert('已成功更新下季度业绩报告的一个目标')</script>");
				this.RebindNextGrd();
			}
			else
			{
				//数据库操作失败
				Response.Write("<script>alert('更新下季度业绩报告目标失败,请重试!')</script>");
			}
		}

		private void grdNext_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
		{
			//调用 Performance.DeletePerformItem(iPerformItemID) 函数
			//获取业绩编号
			int iPerformItemID = Convert.ToInt32(this.grdNext.DataKeys[e.Item.ItemIndex]);

			//删除下季度业绩报告的具体目标,返回数据库操作是否成功的标志
			int iSuccess = DBUtils.Performance.DeletePerformItem(iPerformItemID);

			if(iSuccess == (int)DBResult.Success )
			{
				//数据库操作成功
				Response.Write("<script>alert('已成功删除下季度业绩报告的一个目标')</script>");
				this.RebindNextGrd();
			}
			else
			{
				//数据库操作失败
				Response.Write("<script>alert('删除下季度业绩报告目标失败,请重试!')</script>");
			}
		}
	}
}

⌨️ 快捷键说明

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