/// <summary> /// 新增绩效考核明细 /// </summary> public object InsertExamDetails(Module.ExamineDetail detail, out string mag) { mag = string.Empty; string strSQL = @"Insert Into FY_Performance_Examine(FEmResultID,FProject_id,FSelfGrade) Values(@FID,@FProject_id,@FSelfGrade)"; SqlParameter[] paras = new SqlParameter[] { new SqlParameter("@FID", detail.FEmResultID), new SqlParameter("@FProject_id", detail.FProject_id), new SqlParameter("@FSelfGrade", detail.FSelfGrade), }; try { mSSQL = new MSSQLHelper(); return(mSSQL.GetUpdateByText(strSQL, paras)); } catch (Exception ex) { mag = ex.Message; return(null); } }
/// <summary> /// 更新绩效考核明细表 /// </summary> public object UpdateExamDetails(Module.ExamineDetail detail, out string mag) { mag = string.Empty; string strSQL = @"Update FY_Performance_Examine Set FSelfGrade=@FSelfGrade,FRepeGrade=@FRepeGrade Where FEmResultID=@FID and FProject_id=@FProject_id"; SqlParameter[] paras = new SqlParameter[] { new SqlParameter("@FSelfGrade", detail.FSelfGrade), new SqlParameter("@FRepeGrade", detail.FRepeGrade), new SqlParameter("@FID", detail.FEmResultID), new SqlParameter("@FProject_id", detail.FProject_id), }; try { mSSQL = new MSSQLHelper(); return(mSSQL.GetUpdateByText(strSQL, paras)); } catch (Exception ex) { mag = ex.Message; return(null); } }
/// <summary> /// 【提交】点击事件 /// </summary> protected void btnCommit_Click(object sender, EventArgs e) { bool success = false; string mag = string.Empty; Module.ExamineDetail detail = null; //**新增状态** if (status == 0) { //*新增记录表* exResult = new Module.ExamineResult() { FCDate = DateTime.Now.Date, FMDate = DateTime.Now.Date, FEmCode = labEmCode.Text, FYear = labYear.Text, FMonth = labMonth.Text, FSelfSum = Convert.ToInt32(string.IsNullOrEmpty(txtSelfSum.Text) ? "0" : txtSelfSum.Text), FRepeSum = Convert.ToInt32(string.IsNullOrEmpty(txtReGradeSum.Text) ? "0" : txtReGradeSum.Text), FExamineSum = Convert.ToDecimal(string.IsNullOrEmpty(txtTotalSum.Text) ? "0" : txtTotalSum.Text), }; //*验证自评总分是否超出范围* if (exResult.FSelfSum > 100 || exResult.FSelfSum <= 0) { mag = "自评总分超出正常范围,请重新填写后再提交。"; Response.Write($@"<script language=javaScript>alert('{mag}');</script>"); return; } object _result = menuAction.InsertExamResult(exResult, out mag); if (_result == null) { Response.Write($@"<script language=javaScript>alert('{mag}');</script>"); return; } //*新增明细表* try { int rowCount = GridView1.Rows.Count; int _fid = Convert.ToInt32(_result); if (rowCount > 0) { for (int i = 0; i < rowCount; i++) { TextBox text = GridView1.Rows[i].FindControl("TxtSelfGrade") as TextBox; detail = null; detail = new Module.ExamineDetail() { FEmResultID = Convert.ToInt32(_fid), FProject_id = i + 1, //FSelfGrade = Convert.ToInt32(string.IsNullOrEmpty(text.Text) ? "0" : text.Text), }; try { detail.FSelfGrade = Convert.ToInt32(string.IsNullOrEmpty(text.Text) ? "0" : text.Text); } catch { detail.FSelfGrade = 0; } int x = (int)menuAction.InsertExamDetails(detail, out mag); if (x != 1) { Response.Write($@"<script language=javaScript>alert('{mag}');</script>"); return; } } } } catch (Exception ex) { mag = ex.Message; Response.Write($@"<script language=javaScript>alert('{mag}');</script>"); return; } //*过程已通过* success = true; } //更新状态 else { if (this.fid > 0) { //*复评状态下,绩效评语为必填* if (status >= 1 && string.IsNullOrEmpty(txtExmMessage.Text) && txtExmMessage.Visible) { mag = "绩效评语为必填项,请重新填写后再提交。"; Response.Write($@"<script language=javaScript>alert('{mag}');</script>"); return; } //*结果表* exResult = new Module.ExamineResult() { FMDate = DateTime.Now.Date, FSelfSum = Convert.ToInt32(string.IsNullOrEmpty(txtSelfSum.Text) ? "0" : txtSelfSum.Text), FRepeSum = Convert.ToInt32(string.IsNullOrEmpty(txtReGradeSum.Text) ? "0" : txtReGradeSum.Text), FExamineSum = Convert.ToDecimal(string.IsNullOrEmpty(txtTotalSum.Text) ? "0" : txtTotalSum.Text), FExamMessage = string.IsNullOrEmpty(txtExmMessage.Text) ? "" : txtExmMessage.Text, FStatus = this.status.ToString(), FID = this.fid, }; //*复评分,状态=3* if (Convert.ToBoolean(Session["HiddInform"])) { exResult.FStatus = "3"; } //*返回自评,状态=3* if (this.status == 2) { exResult.FStatus = "3"; } //*验证复评总分是否超出范围* if (exResult.FRepeSum > 100 || exResult.FRepeSum < 0) { mag = "复评总分超出正常范围,请重新填写后再提交。"; Response.Write($@"<script language=javaScript>alert('{mag}');</script>"); return; } //*计算绩效系数* if (exResult.FExamineSum >= 95 && exResult.FExamineSum <= 100) { exResult.FCoefficient = 1.2M; } else if (exResult.FExamineSum >= 90 && exResult.FExamineSum < 95) { exResult.FCoefficient = 1.1M; } else if (exResult.FExamineSum >= 80 && exResult.FExamineSum < 90) { exResult.FCoefficient = 1.0M; } else if (exResult.FExamineSum >= 70 && exResult.FExamineSum < 80) { exResult.FCoefficient = 0.8M; } else if (exResult.FExamineSum >= 60 && exResult.FExamineSum < 70) { exResult.FCoefficient = 0.5M; } else { exResult.FCoefficient = 0; } int result = (int)menuAction.UpdateExamResult(exResult, out mag); if (result != 1) { Response.Write($@"<script language=javaScript>alert('{mag}');</script>"); return; } //*明细表* try { int rowCount = GridView1.Rows.Count; if (rowCount > 0) { for (int i = 0; i < rowCount; i++) { //*待复评分* if (status >= 1) { detail = null; detail = new Module.ExamineDetail() { FEmResultID = Convert.ToInt32(this.fid), FProject_id = i + 1, }; //*代评分用户 FProject_id改为0* if (Convert.ToInt32(Session["MyReview_isDaiGrade"]) == 3) { detail.FProject_id = 0; } //*排除 返回自评 的状态,否则复评分会被清零* if (status != 2) { try { detail.FRepeGrade = Convert.ToInt32(GridView1.Rows[i].Cells[9].Text); } catch { TextBox ExGrade = GridView1.Rows[i].FindControl("TxtExGrade") as TextBox; detail.FRepeGrade = Convert.ToInt32(string.IsNullOrEmpty(ExGrade.Text) ? "0" : ExGrade.Text); } } else { exmDetails = Session["exmGrade"] as List <Module.ExamineDetail>; foreach (Module.ExamineDetail item in exmDetails) { if (detail.FProject_id.Equals(item.FProject_id)) { detail.FRepeGrade = item.FRepeGrade; } } } try { detail.FSelfGrade = Convert.ToInt32(GridView1.Rows[i].Cells[8].Text); } catch { TextBox SelfGrade = GridView1.Rows[i].FindControl("TxtSelfGrade") as TextBox; detail.FSelfGrade = Convert.ToInt32(string.IsNullOrEmpty(SelfGrade.Text) ? "0" : SelfGrade.Text); } } int x = (int)menuAction.UpdateExamDetails(detail, out mag); if (x != 1) { Response.Write($@"<script language=javaScript>alert('{mag}');</script>"); return; } } } } catch (Exception ex) { Response.Write($@"<script language=javaScript>alert('{ex.Message}');</script>"); return; } //*过程已通过* success = true; } } if (success) { mag = "数据保存成功,请返回主页。"; if (Convert.ToInt32(Session["MyReview_isDaiGrade"]) == 3) { Response.Write($"<script language='javascript'>alert('{mag}'); location='MyReview';</script>"); } else { Response.Write($"<script language='javascript'>alert('{mag}'); location='{hiddenUrl.Value}';</script>"); } } else { mag = "数据保存失败,请联系管理员查找原因!"; Response.Write($@"<script language=javaScript>alert('{mag}');</script>"); return; } }
/// <summary> /// 绩效考核项目表 /// </summary> public List <Module.ExamineDetail> GetExamineProject(bool FIsDirector, int emStatus, out string mag) { mSSQL = new MSSQLHelper(); mag = string.Empty; List <Module.ExamineDetail> exDetails = null; string strSQL; //*是否代评分账号* if (emStatus != 3) { //*主管以下级别* if (!FIsDirector) { strSQL = @"Select FProjectID,FProject,FEvaluate,FProject_1,FProject_2,FProject_3,FProject_4,FProject_5,0 FSelfGrade,0 FRepeGrade From FY_Performance_ExamineProject Where FUddirID<>0"; } //*主管级别* else { strSQL = @"Select FProjectID,FProject,FEvaluate,FProject_1,FProject_2,FProject_3,FProject_4,FProject_5,0 FSelfGrade,0 FRepeGrade From FY_Performance_ExamineProject Where FDirID<>0"; } } else { strSQL = @"Select FProjectID,FProject,FEvaluate,FProject_1,FProject_2,FProject_3,FProject_4,FProject_5,0 FSelfGrade,0 FRepeGrade From FY_Performance_ExamineProject Where FIsDaiGrade = 1"; } try { exDetails = new List <Module.ExamineDetail>(); DataTable dt = mSSQL.GetTableByText(strSQL); if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { Module.ExamineDetail detail = new Module.ExamineDetail { FProject_id = (int)dt.Rows[i]["FProjectID"], FProject = dt.Rows[i]["FProject"].ToString(), FEvaluate = dt.Rows[i]["FEvaluate"].ToString(), FProject_1 = dt.Rows[i]["FProject_1"].ToString(), FProject_2 = dt.Rows[i]["FProject_2"].ToString(), FProject_3 = dt.Rows[i]["FProject_3"].ToString(), FProject_4 = dt.Rows[i]["FProject_4"].ToString(), FProject_5 = dt.Rows[i]["FProject_5"].ToString(), FSelfGrade = (int)dt.Rows[i]["FSelfGrade"], FRepeGrade = (int)dt.Rows[i]["FRepeGrade"], }; exDetails.Add(detail); } } else { exDetails = null; mag = "数据查询为空,请联系管理员检查。"; } } catch (Exception ex) { mag = ex.Message; exDetails = null; } return(exDetails); }