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 9ed351a..4a0e394 100644 Binary files a/FCL/FineUIPro.Web/File/Excel/承包商评估表.xlsx and b/FCL/FineUIPro.Web/File/Excel/承包商评估表.xlsx differ diff --git a/FCL/FineUIPro.Web/File/Excel/承包商评估表1.xlsx b/FCL/FineUIPro.Web/File/Excel/承包商评估表1.xlsx deleted file mode 100644 index 6d5e382..0000000 Binary files a/FCL/FineUIPro.Web/File/Excel/承包商评估表1.xlsx and /dev/null differ diff --git a/FCL/Model/Model.cs b/FCL/Model/Model.cs index f9d41b1..fd67485 100644 --- a/FCL/Model/Model.cs +++ b/FCL/Model/Model.cs @@ -20545,10 +20545,10 @@ namespace Model private string _ShowViolationDegree; - private string _Deleted; - private string _Blocked; + private string _Deleted; + public FC_SESReportView() { } @@ -20889,22 +20889,6 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Deleted", DbType="VarChar(10)")] - public string Deleted - { - get - { - return this._Deleted; - } - set - { - if ((this._Deleted != value)) - { - this._Deleted = value; - } - } - } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Blocked", DbType="VarChar(10)")] public string Blocked { @@ -20920,6 +20904,22 @@ namespace Model } } } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Deleted", DbType="VarChar(10)")] + public string Deleted + { + get + { + return this._Deleted; + } + set + { + if ((this._Deleted != value)) + { + this._Deleted = value; + } + } + } } [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.FC_SignedContracts")] @@ -27718,7 +27718,7 @@ namespace Model private string _VolumeAllocation; - private System.Nullable _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 {