From 03025b4f693e36846195dc42ad9190ddf2cea92b Mon Sep 17 00:00:00 2001 From: wendy <408182087@qq.com> Date: Thu, 13 Feb 2025 10:06:57 +0800 Subject: [PATCH] =?UTF-8?q?20250213=20=E6=89=BF=E5=8C=85=E5=95=86=E6=8A=A5?= =?UTF-8?q?=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Evaluation/ContractorEvaluation.aspx.cs | 223 ++++++++++--- .../Evaluation/ContractorEvaluationEdit.aspx | 7 +- .../ContractorEvaluationEdit.aspx.cs | 306 ++++++++++-------- .../ContractorEvaluationEdit.aspx.designer.cs | 2 +- .../File/Excel/承包商评估表.xlsx | Bin 19981 -> 19958 bytes .../File/Excel/承包商评估表1.xlsx | Bin 17705 -> 0 bytes FCL/Model/Model.cs | 66 ++-- 7 files changed, 396 insertions(+), 208 deletions(-) delete mode 100644 FCL/FineUIPro.Web/File/Excel/承包商评估表1.xlsx diff --git a/FCL/FineUIPro.Web/Evaluation/ContractorEvaluation.aspx.cs b/FCL/FineUIPro.Web/Evaluation/ContractorEvaluation.aspx.cs index d6a4138..cc33078 100644 --- a/FCL/FineUIPro.Web/Evaluation/ContractorEvaluation.aspx.cs +++ b/FCL/FineUIPro.Web/Evaluation/ContractorEvaluation.aspx.cs @@ -12,6 +12,7 @@ using System.Linq; using Model; using BLL.Common; using FineUIPro.Web.common; +using Org.BouncyCastle.Bcpg.OpenPgp; namespace FineUIPro.Web.Evaluation { @@ -350,6 +351,15 @@ namespace FineUIPro.Web.Evaluation styleDate.BorderRight = BorderStyle.Thin; styleDate.SetFont(cs_content_Font); + XSSFFont cs_content_FontBlod = (XSSFFont)hssfworkbook.CreateFont(); //创建字体 + cs_content_FontBlod.FontName = "Arial";//字体 + cs_content_FontBlod.FontHeightInPoints = 14; //字体大小 + cs_content_FontBlod.IsBold = true; + ICellStyle styleBlod = hssfworkbook.CreateCellStyle(); + styleBlod.VerticalAlignment = VerticalAlignment.Center; + styleBlod.Alignment = HorizontalAlignment.Center; + styleBlod.SetFont(cs_content_FontBlod); + string txtNo = "£"; var eva = Funs.DB.View_Contractor_Evaluation.FirstOrDefault(x => x.ID.ToString() == Grid1.SelectedRowID); @@ -389,7 +399,7 @@ namespace FineUIPro.Web.Evaluation if (reportModel.GetRow(8).GetCell(2) == null) reportModel.GetRow(8).CreateCell(2); reportModel.GetRow(8).GetCell(2).SetCellValue(eva.Spending_commitment != null ? eva.Spending_commitment.ToString() : ""); if (reportModel.GetRow(8).GetCell(4) == null) reportModel.GetRow(8).CreateCell(4); - reportModel.GetRow(8).GetCell(4).SetCellValue(eva.Forecasted != null ? eva.Forecasted.ToString() : ""); + reportModel.GetRow(8).GetCell(4).SetCellValue(eva.Forecasted.ToString()); if (reportModel.GetRow(8).GetCell(6) == null) reportModel.GetRow(8).CreateCell(6); reportModel.GetRow(8).GetCell(6).SetCellValue(eva.Total != null ? eva.Total.ToString() : ""); if (reportModel.GetRow(8).GetCell(8) == null) reportModel.GetRow(8).CreateCell(8); @@ -415,6 +425,119 @@ namespace FineUIPro.Web.Evaluation DateTime startTime = DateTime.Parse(startDate.Year + "-" + startDate.Month + "-01"); DateTime endTime = DateTime.Parse(DateTime.Now.Year + "-" + DateTime.Now.Month + "-13"); + //绩效评估最终计算是每月12日,如果每月12日导出,那么此上月的数据的报告分数不显示 + if (DateTime.Now.Day <= 12) + { + DateTime dtime = DateTime.Now.AddMonths(-2); + endTime = DateTime.Parse(dtime.Year + "-" + dtime.Month + "-13"); + } + else + { + DateTime dtime = DateTime.Now.AddMonths(-1); + endTime = DateTime.Parse(dtime.Year + "-" + dtime.Month + "-13"); + } + int s = 0; + if (eva.IfExtend=="Y")//续签合同 + { + List yearToDateParam = new List(); + yearToDateParam.Add(new SqlParameter("@StartTime", startTime)); + yearToDateParam.Add(new SqlParameter("@EndTime", endTime)); + yearToDateParam.Add(new SqlParameter("@FoNo", eva.FO_NO)); + SqlParameter[] yearToDateParList = yearToDateParam.ToArray(); + + var sesDataTable = SQLHelper.GetDataTableRunProc("Sp_ContractorEvaluation", yearToDateParList); + + //上一轮合同 + var fo = BLL.SESRelatedDataService.GetSESRelatedDataByFoNo(eva.FO_NO); + if (fo != null) + { + if (!string.IsNullOrEmpty(fo.PreviousFO)) + { + List yearToDateParam2 = new List(); + yearToDateParam2.Add(new SqlParameter("@StartTime", startTime)); + yearToDateParam2.Add(new SqlParameter("@EndTime", endTime)); + yearToDateParam2.Add(new SqlParameter("@FoNo", fo.PreviousFO)); + SqlParameter[] yearToDateParList2 = yearToDateParam2.ToArray(); + + var sesDataTable2 = SQLHelper.GetDataTableRunProc("Sp_ContractorEvaluation", yearToDateParList2); + + sesDataTable.Merge(sesDataTable2);//上一轮合同合并到续签合同中 + } + } + + var sesDataScore = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(sesDataTable)); + + // 15行 + if (reportModel.GetRow(14) == null) reportModel.CreateRow(14); + if (reportModel.GetRow(15) == null) reportModel.CreateRow(15); + if (reportModel.GetRow(16) == null) reportModel.CreateRow(16); + if (reportModel.GetRow(17) == null) reportModel.CreateRow(17); + if (reportModel.GetRow(18) == null) reportModel.CreateRow(18); + if (reportModel.GetRow(19) == null) reportModel.CreateRow(19); + if (reportModel.GetRow(20) == null) reportModel.CreateRow(20); + if (reportModel.GetRow(21) == null) reportModel.CreateRow(21); + if (reportModel.GetRow(22) == null) reportModel.CreateRow(22); + if (reportModel.GetRow(23) == null) reportModel.CreateRow(23); + if (reportModel.GetRow(24) == null) reportModel.CreateRow(24); + if (reportModel.GetRow(25) == null) reportModel.CreateRow(25); + + for (int j = 0; j < 24; j++) + { + var curDate = DateTime.Parse("" + startDate.Year + "-" + startDate.Month + "-01").AddMonths(j); + if (j >= 0 && j < 12) + { + if (reportModel.GetRow(14 + j).GetCell(0) == null) reportModel.GetRow(14 + j).CreateCell(0); + reportModel.GetRow(14 + j).GetCell(0).SetCellValue(curDate.ToString("yyyy-MM")); + + if (sesDataScore.Count(p => p.dataMonth == curDate.ToString("yyyy-MM")) > 0 && Funs.GetNewDecimal(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore) > 0) + { + var yearNums = float.Parse(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore).ToString("0.##"); + reportModel.GetRow(14 + j).GetCell(2).SetCellValue(yearNums); + //本期合同字体加粗 + var sesFo = sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).FO_NO; + if (sesFo == eva.FO_NO) + { + reportModel.GetRow(14 + j).GetCell(2).CellStyle = styleBlod; + } + if (Funs.GetNewDecimalOrZero(yearNums) < 60) + { + s++; + } + } + else + { + reportModel.GetRow(14 + j).GetCell(2).SetCellValue(""); + } + } + else + { + if (reportModel.GetRow(14 + j - 12).GetCell(3) == null) reportModel.GetRow(14 + j - 12).CreateCell(3); + reportModel.GetRow(14 + j - 12).GetCell(3).SetCellValue(curDate.ToString("yyyy-MM")); + + if (sesDataScore.Count(p => p.dataMonth == curDate.ToString("yyyy-MM")) > 0 && Funs.GetNewDecimal(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore) > 0) + { + var yearNums = float.Parse(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore).ToString("0.##"); + reportModel.GetRow(14 + j - 12).GetCell(4).SetCellValue(yearNums); + //本期合同字体加粗 + var sesFo = sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).FO_NO; + if (sesFo == eva.FO_NO) + { + reportModel.GetRow(14 + j - 12).GetCell(4).CellStyle = styleBlod; + } + if (Funs.GetNewDecimalOrZero(yearNums) < 60) + { + s++; + } + } + else + { + reportModel.GetRow(14 + j - 12).GetCell(4).SetCellValue(""); + } + } + } + } + else + { List yearToDateParam = new List(); yearToDateParam.Add(new SqlParameter("@StartTime", startTime)); yearToDateParam.Add(new SqlParameter("@EndTime", endTime)); @@ -437,46 +560,47 @@ namespace FineUIPro.Web.Evaluation if (reportModel.GetRow(23) == null) reportModel.CreateRow(23); if (reportModel.GetRow(24) == null) reportModel.CreateRow(24); if (reportModel.GetRow(25) == null) reportModel.CreateRow(25); - int s = 0; - for (int j = 0; j < 24; j++) - { - var curDate = DateTime.Parse("" + startDate.Year + "-" + startDate.Month + "-01").AddMonths(j); - if (j >= 0 && j < 12) + + for (int j = 0; j < 24; j++) { - if (reportModel.GetRow(14 + j).GetCell(0) == null) reportModel.GetRow(14 + j).CreateCell(0); - reportModel.GetRow(14 + j).GetCell(0).SetCellValue(curDate.ToString("yyyy-MM")); - - if (sesDataScore.Count(p => p.dataMonth == curDate.ToString("yyyy-MM")) > 0 && Funs.GetNewDecimal(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore) > 0) + var curDate = DateTime.Parse("" + startDate.Year + "-" + startDate.Month + "-01").AddMonths(j); + if (j >= 0 && j < 12) { - var yearNums = float.Parse(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore).ToString("0.##"); - reportModel.GetRow(14 + j).GetCell(2).SetCellValue(yearNums); - if (Funs.GetNewDecimalOrZero(yearNums) < 60) + if (reportModel.GetRow(14 + j).GetCell(0) == null) reportModel.GetRow(14 + j).CreateCell(0); + reportModel.GetRow(14 + j).GetCell(0).SetCellValue(curDate.ToString("yyyy-MM")); + + if (sesDataScore.Count(p => p.dataMonth == curDate.ToString("yyyy-MM")) > 0 && Funs.GetNewDecimal(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore) > 0) { - s++; + var yearNums = float.Parse(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore).ToString("0.##"); + reportModel.GetRow(14 + j).GetCell(2).SetCellValue(yearNums); + if (Funs.GetNewDecimalOrZero(yearNums) < 60) + { + s++; + } + } + else + { + reportModel.GetRow(14 + j).GetCell(2).SetCellValue(""); } } else { - reportModel.GetRow(14 + j).GetCell(2).SetCellValue(""); - } - } - else - { - if (reportModel.GetRow(14 + j - 12).GetCell(3) == null) reportModel.GetRow(14 + j - 12).CreateCell(3); - reportModel.GetRow(14 + j - 12).GetCell(3).SetCellValue(curDate.ToString("yyyy-MM")); + if (reportModel.GetRow(14 + j - 12).GetCell(3) == null) reportModel.GetRow(14 + j - 12).CreateCell(3); + reportModel.GetRow(14 + j - 12).GetCell(3).SetCellValue(curDate.ToString("yyyy-MM")); - if (sesDataScore.Count(p => p.dataMonth == curDate.ToString("yyyy-MM")) > 0 && Funs.GetNewDecimal(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore) > 0) - { - var yearNums = float.Parse(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore).ToString("0.##"); - reportModel.GetRow(14 + j - 12).GetCell(4).SetCellValue(yearNums); - if (Funs.GetNewDecimalOrZero(yearNums) < 60) + if (sesDataScore.Count(p => p.dataMonth == curDate.ToString("yyyy-MM")) > 0 && Funs.GetNewDecimal(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore) > 0) { - s++; + var yearNums = float.Parse(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore).ToString("0.##"); + reportModel.GetRow(14 + j - 12).GetCell(4).SetCellValue(yearNums); + if (Funs.GetNewDecimalOrZero(yearNums) < 60) + { + s++; + } + } + else + { + reportModel.GetRow(14 + j - 12).GetCell(4).SetCellValue(""); } - } - else - { - reportModel.GetRow(14 + j - 12).GetCell(4).SetCellValue(""); } } } @@ -514,22 +638,29 @@ namespace FineUIPro.Web.Evaluation if (reportModel.GetRow(40).GetCell(3) == null) reportModel.GetRow(40).CreateCell(3); reportModel.GetRow(40).GetCell(3).SetCellValue(eva.OthersNum.ToString());//其他 //43行 - decimal? technicalBonusMalus = Funs.GetNewDecimal(eva.TechnicalBonusMalus); + decimal? technicalBonusMalus = eva.TechnicalBonusMalus.HasValue ? Convert.ToDecimal(eva.TechnicalBonusMalus) : 0; if (reportModel.GetRow(42).GetCell(3) == null) reportModel.GetRow(42).CreateCell(3); - reportModel.GetRow(42).GetCell(3).SetCellValue(technicalBonusMalus.ToString());//技术加值/减值 + reportModel.GetRow(42).GetCell(3).SetCellValue(technicalBonusMalus.ToString()+"%");//技术减值 //44行 - decimal? safetyBonus = Funs.GetNewDecimal(eva.SafetyBonus); + decimal? safetyBonus = 0; + safetyBonus = Funs.GetNewDecimal(eva.SafetyBonus); + if (safetyBonus == null) + { + safetyBonus = 0; + } if (reportModel.GetRow(43).GetCell(3) == null) reportModel.GetRow(43).CreateCell(3); - reportModel.GetRow(43).GetCell(3).SetCellValue(safetyBonus.ToString());//安全业绩加值 - //45行 - + reportModel.GetRow(43).GetCell(3).SetCellValue(safetyBonus.HasValue ? safetyBonus.ToString() + "%" : "0");//安全业绩加值 + //45行 + decimal? totalSocre = technicalBonusMalus + safetyBonus; if (reportModel.GetRow(44).GetCell(3) == null) reportModel.GetRow(44).CreateCell(3); - reportModel.GetRow(44).GetCell(3).SetCellValue((technicalBonusMalus + safetyBonus).ToString());//Total Score (Technical and Safety) + reportModel.GetRow(44).GetCell(3).SetCellValue(totalSocre.HasValue ? totalSocre.ToString() + "%" : "");//Total Score (Technical and Safety) //48行 + + string proposed = string.Empty; string rs = string.Empty; if (s >= 3 && eva.NCRTimes >= 3) { - rs = "序号1:该合同累计3次月度评估低于60分, 不得参与下轮合同
序号2:该合同累计三个NCR提前终止合同且不得参与下轮合同"; + rs = "序号1:该合同累计3次月度评估低于60分, 不得参与下轮合同\r\n序号2:该合同累计三个NCR提前终止合同且不得参与下轮合同"; } else if (s >= 3) { @@ -539,9 +670,16 @@ namespace FineUIPro.Web.Evaluation { rs = "序号1:该合同累计三个NCR提前终止合同且不得参与下轮合同"; } + if (!string.IsNullOrEmpty(eva.Proposed)) + { + proposed = rs + "\r\n" + eva.Proposed; + } + else + { + proposed = rs; + } if (reportModel.GetRow(47).GetCell(0) == null) reportModel.GetRow(47).CreateCell(0); - reportModel.GetRow(47).GetCell(0).SetCellValue(rs);//合同管理小组对该承包商在本合同期表现的评价 - + reportModel.GetRow(47).GetCell(0).SetCellValue(proposed);//合同管理小组对该承包商在本合同期表现的评价 //if (reportModel.GetRow(21).GetCell(6) == null) reportModel.GetRow(21).CreateCell(6); @@ -822,10 +960,9 @@ namespace FineUIPro.Web.Evaluation // 指定返回的是一个不能被客户端读取的流,必须被下载 Response.ContentType = "application/ms-excel"; // 把文件流发送到客户端 - Response.WriteFile(filet.FullName); + Response.WriteFile(filet.FullName); // 停止页面的执行 Response.End(); - } #endregion diff --git a/FCL/FineUIPro.Web/Evaluation/ContractorEvaluationEdit.aspx b/FCL/FineUIPro.Web/Evaluation/ContractorEvaluationEdit.aspx index 58307c3..2f07958 100644 --- a/FCL/FineUIPro.Web/Evaluation/ContractorEvaluationEdit.aspx +++ b/FCL/FineUIPro.Web/Evaluation/ContractorEvaluationEdit.aspx @@ -5,7 +5,6 @@ 项目经理编辑器 - <%----%>
@@ -266,7 +265,7 @@ - + @@ -298,14 +297,14 @@ - + - + diff --git a/FCL/FineUIPro.Web/Evaluation/ContractorEvaluationEdit.aspx.cs b/FCL/FineUIPro.Web/Evaluation/ContractorEvaluationEdit.aspx.cs index 3c637f3..167d9af 100644 --- a/FCL/FineUIPro.Web/Evaluation/ContractorEvaluationEdit.aspx.cs +++ b/FCL/FineUIPro.Web/Evaluation/ContractorEvaluationEdit.aspx.cs @@ -8,6 +8,7 @@ using System.Web.UI.WebControls; using System.Data; using System.Data.SqlClient; using BLL; +using System.Drawing; namespace FineUIPro.Web.Evaluation { @@ -118,11 +119,9 @@ namespace FineUIPro.Web.Evaluation } // 框架合同信息 + txtSpending_commitment.Text = foview.First().Spending_commitment.ToString(); - if (foview.First().Forecasted.HasValue) - { - txtForecasted.Text = foview.First().Forecasted.ToString(); - } + txtForecasted.Text = foview.First().Forecasted.ToString(); txtTotal.Text = foview.First().Total.ToString(); txtYearAvg.Text = foview.First().YearAvg.ToString(); txtFo.Text = foview.First().FO_NO; @@ -160,9 +159,9 @@ namespace FineUIPro.Web.Evaluation cbPriceLevel.SelectedValueArray = new string[] { foview.First().PriceLevel }; } txtEnumeration.Text = foview.First().Enumeration; - numInquiryTime.Text = foview.First().InterviewTimes.ToString(); - numNCRTime.Text = foview.First().NCRTimes.ToString(); - numWorkRe.Text = foview.First().RectificationTimes.ToString(); + numInquiryTime.Text = foview.First().InterviewTimes.ToString();//约谈 + numNCRTime.Text = foview.First().NCRTimes.ToString();//NCR + numWorkRe.Text = foview.First().RectificationTimes.ToString();//停工整改 txtGreenTimes.Text = foview.First().GreenTimes.ToString(); txtYellowGreenTimes.Text = foview.First().YellowGreenTimes.ToString(); txtYellowTimes.Text = foview.First().YellowTimes.ToString(); @@ -172,124 +171,119 @@ namespace FineUIPro.Web.Evaluation { cbNotAudit.Checked = true; } - // 主协调人 - //if (foview.First().IsInquiry.HasValue) - //{ - // if (foview.First().IsInquiry == true) - // { - // cbInquiry.SelectedValueArray = new string[] { "True" }; - // } - // else - // { - // cbInquiry.SelectedValueArray = new string[] { "False" }; - // } - //} - - //if (foview.First().InquiryNum.HasValue) - //{ - // numInquiryTime.Text = foview.First().InquiryNum.ToString(); - //} - - //if (foview.First().NCRIsReview.HasValue) - //{ - // if (foview.First().NCRIsReview == true) - // { - // cbNCR.SelectedValueArray = new string[] { "True" }; - // } - // else - // { - // cbNCR.SelectedValueArray = new string[] { "False" }; - // } - //} - - //if (foview.First().NCRReviewNum.HasValue) - //{ - // numNCRTime.Text = foview.First().NCRReviewNum.ToString(); - //} - - //if (!string.IsNullOrEmpty(foview.First().AuditResult)) - //{ - // cbAuditResult.SelectedValueArray = new string[] { foview.First().AuditResult }; - //} - - //if (foview.First().BoQIsAudit.HasValue) - //{ - // if (foview.First().BoQIsAudit == true) - // { - // cbBoQIsAudit.SelectedValueArray = new string[] { "True" }; - // } - // else - // { - // cbBoQIsAudit.SelectedValueArray = new string[] { "False" }; - // } - //} - //txtBoQ.Text = foview.First().BoQAuditComments; - - //if (foview.First().IsOthers.HasValue) - //{ - // if (foview.First().IsOthers == true) - // { - // cbIsOthers.SelectedValueArray = new string[] { "True" }; - // } - // else - // { - // cbIsOthers.SelectedValueArray = new string[] { "False" }; - // } - //} - //if (foview.First().OthersNum.HasValue) - //{ numOthers.Text = foview.First().OthersNum.ToString(); - //} - ////txtOtherDef.Text = foview.First().OtherDef; - txtTechnicalBonus.Text = foview.First().TechnicalBonusMalus; - txtSafetyBonus.Text = foview.First().SafetyBonus; - - + txtTechnicalBonus.Text = foview.First().TechnicalBonusMalus.ToString(); + if (!string.IsNullOrEmpty(foview.First().SafetyBonus)) + { + txtSafetyBonus.Text = Funs.GetNewDecimalOrZero(foview.First().SafetyBonus).ToString(); + } } else { } + int s = 0; DateTime startDate = DateTime.Now.AddMonths(-23); DateTime startTime = DateTime.Parse(startDate.Year + "-" + startDate.Month + "-01"); DateTime endTime = DateTime.Parse(DateTime.Now.Year + "-" + DateTime.Now.Month + "-13"); - - List yearToDateParam = new List(); - yearToDateParam.Add(new SqlParameter("@StartTime", startTime)); - yearToDateParam.Add(new SqlParameter("@EndTime", endTime)); - yearToDateParam.Add(new SqlParameter("@FoNo", foNo)); - SqlParameter[] yearToDateParList = yearToDateParam.ToArray(); - - var sesDataTable = SQLHelper.GetDataTableRunProc("Sp_ContractorEvaluation", yearToDateParList); - var sesDataScore = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(sesDataTable)); - //var sesFoDataScore = sesDataScore.Where(p => p.FO_NO == foNo).ToList(); - - string strSql = "SELECT * FROM dbo.YearsScore"; - DataTable dt = SQLHelper.GetDataTableRunText(strSql, null); - Grid1.DataSource = dt; - Grid1.DataBind(); - int s = 0; - for (int j = 0; j < 24; j++) + //绩效评估最终计算是每月12日,如果每月12日导出,那么此上月的数据的报告分数不显示 + if (DateTime.Now.Day <= 12) { - var curDate = DateTime.Parse("" + startDate.Year + "-" + startDate.Month + "-01").AddMonths(j); + DateTime dtime = DateTime.Now.AddMonths(-2); + endTime = DateTime.Parse(dtime.Year + "-" + dtime.Month + "-13"); + } + else + { + DateTime dtime = DateTime.Now.AddMonths(-1); + endTime = DateTime.Parse(dtime.Year + "-" + dtime.Month + "-13"); + } - if (j >= 0 && j < 12) + if (cbIfExtend.Checked)//续签合同:如果2年数据跨域两个合同期,本合同周期的评分使用加粗字体 + { + List yearToDateParam = new List(); + yearToDateParam.Add(new SqlParameter("@StartTime", startTime)); + yearToDateParam.Add(new SqlParameter("@EndTime", endTime)); + yearToDateParam.Add(new SqlParameter("@FoNo", foNo)); + SqlParameter[] yearToDateParList = yearToDateParam.ToArray(); + + var sesDataTable = SQLHelper.GetDataTableRunProc("Sp_ContractorEvaluation", yearToDateParList); + + //上一轮合同 + var fo = BLL.SESRelatedDataService.GetSESRelatedDataByFoNo(foNo); + if (fo != null) { - Grid1.Rows[0].Values[j + 1] = curDate.ToString("yyyy-MM"); - if (j == 0) + if (!string.IsNullOrEmpty(fo.PreviousFO)) { - Grid1.Rows[0].Values[j] = "1st Year"; - Grid1.Rows[1].Values[j] = ""; - Grid1.Rows[2].Values[j] = "2st Year"; - Grid1.Rows[3].Values[j] = ""; + List yearToDateParam2 = new List(); + yearToDateParam2.Add(new SqlParameter("@StartTime", startTime)); + yearToDateParam2.Add(new SqlParameter("@EndTime", endTime)); + yearToDateParam2.Add(new SqlParameter("@FoNo", fo.PreviousFO)); + SqlParameter[] yearToDateParList2 = yearToDateParam2.ToArray(); + + var sesDataTable2 = SQLHelper.GetDataTableRunProc("Sp_ContractorEvaluation", yearToDateParList2); + + sesDataTable.Merge(sesDataTable2); } - else + } + var sesDataScore = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(sesDataTable)); + string strSql = "SELECT * FROM dbo.YearsScore"; + DataTable dt = SQLHelper.GetDataTableRunText(strSql, null); + Grid1.DataSource = dt; + Grid1.DataBind(); + for (int j = 0; j < 24; j++) + { + var curDate = DateTime.Parse("" + startDate.Year + "-" + startDate.Month + "-01").AddMonths(j); + + if (j >= 0 && j < 12) { + Grid1.Rows[0].Values[j + 1] = curDate.ToString("yyyy-MM"); + if (j == 0) + { + Grid1.Rows[0].Values[j] = "1st Year"; + Grid1.Rows[1].Values[j] = ""; + Grid1.Rows[2].Values[j] = "2st Year"; + Grid1.Rows[3].Values[j] = ""; + } + else + { + if (sesDataScore.Count(p => p.dataMonth == curDate.ToString("yyyy-MM")) > 0 && Funs.GetNewDecimal(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore) > 0) + { + var yearNums = float.Parse(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore).ToString("0.##"); + Grid1.Rows[1].Values[j + 1] = yearNums; + //设置字体加粗 + var sesFo = sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).FO_NO; + if (sesFo == foNo) + { + Grid1.Rows[1].Values[j + 1] = "" + yearNums + ""; + } + //记录小于60分的次数 + if (Funs.GetNewDecimalOrZero(yearNums) < 60) + { + s++; + } + } + else + { + Grid1.Rows[1].Values[j + 1] = ""; + } + } + + } + if (j >= 12 && j < 24) + { + Grid1.Rows[2].Values[j - 11] = curDate.ToString("yyyy-MM"); if (sesDataScore.Count(p => p.dataMonth == curDate.ToString("yyyy-MM")) > 0 && Funs.GetNewDecimal(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore) > 0) { var yearNums = float.Parse(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore).ToString("0.##"); - Grid1.Rows[1].Values[j + 1] = yearNums; + Grid1.Rows[3].Values[j - 11] = yearNums; + //本期合同字体加粗 + var sesFo = sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).FO_NO; + if (sesFo == foNo) + { + Grid1.Rows[3].Values[j - 11] = "" + yearNums + ""; + } + //记录小于60的次数 if (Funs.GetNewDecimalOrZero(yearNums) < 60) { s++; @@ -297,33 +291,84 @@ namespace FineUIPro.Web.Evaluation } else { - Grid1.Rows[1].Values[j + 1] = ""; + Grid1.Rows[3].Values[j - 11] = ""; } } - } - if (j >= 12 && j < 24) + } + else + { + List yearToDateParam = new List(); + yearToDateParam.Add(new SqlParameter("@StartTime", startTime)); + yearToDateParam.Add(new SqlParameter("@EndTime", endTime)); + yearToDateParam.Add(new SqlParameter("@FoNo", foNo)); + SqlParameter[] yearToDateParList = yearToDateParam.ToArray(); + + var sesDataTable = SQLHelper.GetDataTableRunProc("Sp_ContractorEvaluation", yearToDateParList); + + + var sesDataScore = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(sesDataTable)); + + + string strSql = "SELECT * FROM dbo.YearsScore"; + DataTable dt = SQLHelper.GetDataTableRunText(strSql, null); + Grid1.DataSource = dt; + Grid1.DataBind(); + for (int j = 0; j < 24; j++) { - Grid1.Rows[2].Values[j - 11] = curDate.ToString("yyyy-MM"); - if (sesDataScore.Count(p => p.dataMonth == curDate.ToString("yyyy-MM")) > 0 && Funs.GetNewDecimal(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore) > 0) + var curDate = DateTime.Parse("" + startDate.Year + "-" + startDate.Month + "-01").AddMonths(j); + + if (j >= 0 && j < 12) { - var yearNums = float.Parse(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore).ToString("0.##"); - Grid1.Rows[3].Values[j - 11] = yearNums; - if (Funs.GetNewDecimalOrZero(yearNums) < 60) + Grid1.Rows[0].Values[j + 1] = curDate.ToString("yyyy-MM"); + if (j == 0) { - s++; + Grid1.Rows[0].Values[j] = "1st Year"; + Grid1.Rows[1].Values[j] = ""; + Grid1.Rows[2].Values[j] = "2st Year"; + Grid1.Rows[3].Values[j] = ""; } + else + { + if (sesDataScore.Count(p => p.dataMonth == curDate.ToString("yyyy-MM")) > 0 && Funs.GetNewDecimal(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore) > 0) + { + var yearNums = float.Parse(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore).ToString("0.##"); + Grid1.Rows[1].Values[j + 1] = yearNums; + if (Funs.GetNewDecimalOrZero(yearNums) < 60) + { + s++; + } + } + else + { + Grid1.Rows[1].Values[j + 1] = ""; + } + } + } - else + if (j >= 12 && j < 24) { - Grid1.Rows[3].Values[j - 11] = ""; + Grid1.Rows[2].Values[j - 11] = curDate.ToString("yyyy-MM"); + if (sesDataScore.Count(p => p.dataMonth == curDate.ToString("yyyy-MM")) > 0 && Funs.GetNewDecimal(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore) > 0) + { + var yearNums = float.Parse(sesDataScore.FirstOrDefault(p => p.dataMonth == curDate.ToString("yyyy-MM")).SumScore).ToString("0.##"); + Grid1.Rows[3].Values[j - 11] = yearNums; + if (Funs.GetNewDecimalOrZero(yearNums) < 60) + { + s++; + } + } + else + { + Grid1.Rows[3].Values[j - 11] = ""; + } } } } string rs = string.Empty; if (s >= 3 && foview.First().NCRTimes >= 3) { - rs = "序号1:该合同累计3次月度评估低于60分, 不得参与下轮合同
序号2:该合同累计三个NCR提前终止合同且不得参与下轮合同"; + rs = "序号1:该合同累计3次月度评估低于60分, 不得参与下轮合同\r\n序号2:该合同累计三个NCR提前终止合同且不得参与下轮合同"; } else if (s >= 3) { @@ -333,7 +378,14 @@ namespace FineUIPro.Web.Evaluation { rs = "序号1:该合同累计三个NCR提前终止合同且不得参与下轮合同"; } - txtProposed.Text = rs;//foview.First().Proposed; + if (!string.IsNullOrEmpty(foview.First().Proposed)) + { + txtProposed.Text = rs + "\r\n" + foview.First().Proposed; + } + else + { + txtProposed.Text = rs; + } } } @@ -422,15 +474,15 @@ namespace FineUIPro.Web.Evaluation newFo.TechnicalBonus = txtTechnicalBonus.Text.Trim(); var role = BLL.Sys_RoleService.GetRole(CurrUser.RoleId); - if (txtSafetyBonus.Text != string.Empty) - { + //if (txtSafetyBonus.Text != string.Empty) + //{ newFo.SafetyBonus = txtSafetyBonus.Text.Trim(); - } - else if (role != null && role.RoleName.Contains("CTS/S")) - { - Alert.ShowInTop("若无加减分,请填写无!", MessageBoxIcon.Warning); - return; - } + //} + //else if (role != null && role.RoleName.Contains("CTS/S")) + //{ + // Alert.ShowInTop("若无加减分,请填写无!", MessageBoxIcon.Warning); + // return; + //} newFo.Proposed= txtProposed.Text.Trim(); diff --git a/FCL/FineUIPro.Web/Evaluation/ContractorEvaluationEdit.aspx.designer.cs b/FCL/FineUIPro.Web/Evaluation/ContractorEvaluationEdit.aspx.designer.cs index fe02856..998d788 100644 --- a/FCL/FineUIPro.Web/Evaluation/ContractorEvaluationEdit.aspx.designer.cs +++ b/FCL/FineUIPro.Web/Evaluation/ContractorEvaluationEdit.aspx.designer.cs @@ -435,7 +435,7 @@ namespace FineUIPro.Web.Evaluation /// 自动生成的字段。 /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// - protected global::FineUIPro.TextBox txtSafetyBonus; + protected global::FineUIPro.NumberBox txtSafetyBonus; /// /// GroupPanel6 控件。 diff --git a/FCL/FineUIPro.Web/File/Excel/承包商评估表.xlsx b/FCL/FineUIPro.Web/File/Excel/承包商评估表.xlsx index 9ed351aa762ba9acd34cd12beafe812d398f0291..4a0e394aa6980e070a5a4af5040123704f6bfece 100644 GIT binary patch delta 11017 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 delta 11045 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 diff --git a/FCL/FineUIPro.Web/File/Excel/承包商评估表1.xlsx b/FCL/FineUIPro.Web/File/Excel/承包商评估表1.xlsx deleted file mode 100644 index 6d5e3820d1508e059a5191a89fdf218ae69df7f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17705 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�%M%~g6mokZ86cH*CQ2n^7DhVYSNkc46 z-hpfh<2atTDI4G3DlFPle80~8#mxc&ru|qQ`{#da_)FFQ_39t~yFo$vKLP%;cKq)E zbsvuMZ?6e^(v;j`Mr**(cc$6{}T0}` _Forecasted; + private decimal _Forecasted; private string _ReviewOfFC; @@ -27752,11 +27752,11 @@ namespace Model private string _Proposed; - private int _InterviewTimes; + private System.Nullable _InterviewTimes; - private int _NCRTimes; + private System.Nullable _NCRTimes; - private int _RectificationTimes; + private System.Nullable _RectificationTimes; private int _GreenTimes; @@ -27774,7 +27774,7 @@ namespace Model private string _PreviousFO; - private string _TechnicalBonusMalus; + private System.Nullable _TechnicalBonusMalus; private System.Nullable _Total; @@ -28056,8 +28056,8 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Forecasted", DbType="Decimal(18,2)")] - public System.Nullable Forecasted + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Forecasted", DbType="Decimal(18,2) NOT NULL")] + public decimal Forecasted { get { @@ -28328,8 +28328,8 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InterviewTimes", DbType="Int NOT NULL")] - public int InterviewTimes + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InterviewTimes", DbType="Int")] + public System.Nullable InterviewTimes { get { @@ -28344,8 +28344,8 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NCRTimes", DbType="Int NOT NULL")] - public int NCRTimes + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NCRTimes", DbType="Int")] + public System.Nullable NCRTimes { get { @@ -28360,8 +28360,8 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RectificationTimes", DbType="Int NOT NULL")] - public int RectificationTimes + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RectificationTimes", DbType="Int")] + public System.Nullable RectificationTimes { get { @@ -28504,8 +28504,8 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TechnicalBonusMalus", DbType="VarChar(51)")] - public string TechnicalBonusMalus + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TechnicalBonusMalus", DbType="Decimal(20,3)")] + public System.Nullable TechnicalBonusMalus { get {