From c64319cbe717ab248f90f311a6e82bdbbae6a1aa Mon Sep 17 00:00:00 2001 From: wendy <408182087@qq.com> Date: Wed, 25 Dec 2024 16:52:36 +0800 Subject: [PATCH] =?UTF-8?q?20241225=20Performance=20Report=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FCL/BLL/BaseInfo/ContractorService.cs | 2 + .../BaseInfo/ContractorList.aspx | 7 +- .../BaseInfo/ContractorList.aspx.cs | 8 +- .../BaseInfo/ContractorList.aspx.designer.cs | 75 +- .../Evaluation/PerformanceReport.aspx.cs | 901 +++++++++++++----- FCL/FineUIPro.Web/File/Excel/Contractor.xlsx | Bin 8699 -> 8939 bytes .../File/Excel/Performance Report_CN.xlsx | Bin 83858 -> 85552 bytes .../File/Excel/Performance Report_EN.xlsx | Bin 83716 -> 85324 bytes FCL/Model/Model.cs | 403 ++++++++ 9 files changed, 1122 insertions(+), 274 deletions(-) diff --git a/FCL/BLL/BaseInfo/ContractorService.cs b/FCL/BLL/BaseInfo/ContractorService.cs index ddaa570..cd24103 100644 --- a/FCL/BLL/BaseInfo/ContractorService.cs +++ b/FCL/BLL/BaseInfo/ContractorService.cs @@ -38,6 +38,7 @@ namespace BLL newContractor.VendorNumber = contractor.VendorNumber; newContractor.Contractor = contractor.Contractor; newContractor.ContractorCN = contractor.ContractorCN; + newContractor.ContractorShortName = contractor.ContractorShortName; Funs.DB.Base_Contractor.InsertOnSubmit(newContractor); Funs.DB.SubmitChanges(); } @@ -54,6 +55,7 @@ namespace BLL newContractor.VendorNumber = contractor.VendorNumber; newContractor.Contractor = contractor.Contractor; newContractor.ContractorCN = contractor.ContractorCN; + newContractor.ContractorShortName = contractor.ContractorShortName; Funs.DB.SubmitChanges(); } } diff --git a/FCL/FineUIPro.Web/BaseInfo/ContractorList.aspx b/FCL/FineUIPro.Web/BaseInfo/ContractorList.aspx index e859706..d7af252 100644 --- a/FCL/FineUIPro.Web/BaseInfo/ContractorList.aspx +++ b/FCL/FineUIPro.Web/BaseInfo/ContractorList.aspx @@ -36,9 +36,12 @@ - + + @@ -76,6 +79,8 @@ + + diff --git a/FCL/FineUIPro.Web/BaseInfo/ContractorList.aspx.cs b/FCL/FineUIPro.Web/BaseInfo/ContractorList.aspx.cs index 3173212..584931a 100644 --- a/FCL/FineUIPro.Web/BaseInfo/ContractorList.aspx.cs +++ b/FCL/FineUIPro.Web/BaseInfo/ContractorList.aspx.cs @@ -42,7 +42,8 @@ namespace FineUIPro.Web.BaseInfo contractor.VendorNumber, (CASE WHEN contractor.Contractor IS NULL THEN ISNULL(contractor.ContractorCN,'') ELSE (CASE WHEN contractor.ContractorCN IS NULL THEN ISNULL(contractor.Contractor,'') - ELSE (ISNULL(contractor.Contractor,'') + ISNULL(contractor.ContractorCN,'')) END) END)AS Contractor + ELSE (ISNULL(contractor.Contractor,'') + ISNULL(contractor.ContractorCN,'')) END) END)AS Contractor, + contractor.ContractorShortName FROM Base_Contractor AS contractor WHERE 1=1 "; List listStr = new List(); @@ -168,6 +169,7 @@ namespace FineUIPro.Web.BaseInfo this.txtVendorNumber.Text = contractor.VendorNumber; this.txtContractor.Text = contractor.Contractor; this.txtContractorCN.Text = contractor.ContractorCN; + this.txtContractorShortName.Text = contractor.ContractorShortName; hfFormID.Text = Id; this.btnDelete.Enabled = true; } @@ -187,6 +189,7 @@ namespace FineUIPro.Web.BaseInfo contractor.VendorNumber = this.txtVendorNumber.Text.Trim(); contractor.Contractor = this.txtContractor.Text.Trim(); contractor.ContractorCN = this.txtContractorCN.Text.Trim(); + contractor.ContractorShortName = this.txtContractorShortName.Text.Trim(); if (BLL.ContractorService.IsExitContractor(this.txtContractor.Text.Trim(), strRowID)) { @@ -259,6 +262,7 @@ namespace FineUIPro.Web.BaseInfo this.txtVendorNumber.Text = string.Empty; this.txtContractor.Text = string.Empty; this.txtContractorCN.Text = string.Empty; + this.txtContractorShortName.Text = string.Empty; this.btnDelete.Enabled = false; } @@ -333,6 +337,8 @@ namespace FineUIPro.Web.BaseInfo ws.GetRow(rowIndex).GetCell(1).CellStyle = fontStyle; if (ws.GetRow(rowIndex).GetCell(2) == null) ws.GetRow(rowIndex).CreateCell(2); ws.GetRow(rowIndex).GetCell(2).SetCellValue(Grid1.Rows[i].Values[2].ToString()); + if (ws.GetRow(rowIndex).GetCell(3) == null) ws.GetRow(rowIndex).CreateCell(3); + ws.GetRow(rowIndex).GetCell(3).SetCellValue(Grid1.Rows[i].Values[3].ToString()); rowIndex++; } #endregion diff --git a/FCL/FineUIPro.Web/BaseInfo/ContractorList.aspx.designer.cs b/FCL/FineUIPro.Web/BaseInfo/ContractorList.aspx.designer.cs index dd002fb..f874344 100644 --- a/FCL/FineUIPro.Web/BaseInfo/ContractorList.aspx.designer.cs +++ b/FCL/FineUIPro.Web/BaseInfo/ContractorList.aspx.designer.cs @@ -7,11 +7,13 @@ // //------------------------------------------------------------------------------ -namespace FineUIPro.Web.BaseInfo { - - - public partial class ContractorList { - +namespace FineUIPro.Web.BaseInfo +{ + + + public partial class ContractorList + { + /// /// form1 控件。 /// @@ -20,7 +22,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::System.Web.UI.HtmlControls.HtmlForm form1; - + /// /// PageManager1 控件。 /// @@ -29,7 +31,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.PageManager PageManager1; - + /// /// Panel1 控件。 /// @@ -38,7 +40,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Panel Panel1; - + /// /// Panel2 控件。 /// @@ -47,7 +49,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Panel Panel2; - + /// /// Grid1 控件。 /// @@ -56,7 +58,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Grid Grid1; - + /// /// Toolbar2 控件。 /// @@ -65,7 +67,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Toolbar Toolbar2; - + /// /// txtContractorCode 控件。 /// @@ -74,7 +76,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtContractorCode; - + /// /// txtVendorNum 控件。 /// @@ -83,7 +85,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtVendorNum; - + /// /// btnSelect 控件。 /// @@ -92,7 +94,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Button btnSelect; - + /// /// btnExport 控件。 /// @@ -101,7 +103,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Button btnExport; - + /// /// ToolbarFill2 控件。 /// @@ -110,7 +112,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.ToolbarFill ToolbarFill2; - + /// /// ToolbarSeparator1 控件。 /// @@ -119,7 +121,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; - + /// /// ToolbarText1 控件。 /// @@ -128,7 +130,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.ToolbarText ToolbarText1; - + /// /// ddlPageSize 控件。 /// @@ -137,7 +139,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.DropDownList ddlPageSize; - + /// /// Panel4 控件。 /// @@ -146,7 +148,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Panel Panel4; - + /// /// SimpleForm1 控件。 /// @@ -155,7 +157,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.SimpleForm SimpleForm1; - + /// /// hfFormID 控件。 /// @@ -164,7 +166,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.HiddenField hfFormID; - + /// /// hfContractDetaliId 控件。 /// @@ -173,7 +175,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.HiddenField hfContractDetaliId; - + /// /// txtVendorNumber 控件。 /// @@ -182,7 +184,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtVendorNumber; - + /// /// txtContractor 控件。 /// @@ -191,7 +193,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtContractor; - + /// /// txtContractorCN 控件。 /// @@ -200,7 +202,16 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtContractorCN; - + + /// + /// txtContractorShortName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtContractorShortName; + /// /// Toolbar1 控件。 /// @@ -209,7 +220,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Toolbar Toolbar1; - + /// /// btnNew 控件。 /// @@ -218,7 +229,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Button btnNew; - + /// /// btnDelete 控件。 /// @@ -227,7 +238,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Button btnDelete; - + /// /// btnSave 控件。 /// @@ -236,7 +247,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Button btnSave; - + /// /// Menu1 控件。 /// @@ -245,7 +256,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Menu Menu1; - + /// /// btnMenuEdit 控件。 /// @@ -254,7 +265,7 @@ namespace FineUIPro.Web.BaseInfo { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.MenuButton btnMenuEdit; - + /// /// btnMenuDelete 控件。 /// diff --git a/FCL/FineUIPro.Web/Evaluation/PerformanceReport.aspx.cs b/FCL/FineUIPro.Web/Evaluation/PerformanceReport.aspx.cs index 1942019..3f89485 100644 --- a/FCL/FineUIPro.Web/Evaluation/PerformanceReport.aspx.cs +++ b/FCL/FineUIPro.Web/Evaluation/PerformanceReport.aspx.cs @@ -11,6 +11,7 @@ using System.IO; using System.Linq; using System.Web.UI.WebControls; using System.Threading; +using NPOI.SS.Formula.Functions; namespace FineUIPro.Web.Evaluation { @@ -129,6 +130,12 @@ namespace FineUIPro.Web.Evaluation } #endregion + #region 按月提取数据 + /// + /// 按月提取数据 + /// + /// + /// protected void btnExtractMonth_Click(object sender, EventArgs e) { Thread t = new Thread(new ThreadStart(() => { ExtractMonthData(this.CurrUser.UserId); })); @@ -159,8 +166,12 @@ namespace FineUIPro.Web.Evaluation Funs.DB.FC_NoEvaluatedUser.DeleteAllOnSubmit(deNoEva); Funs.DB.SubmitChanges(); + var departEva = (from x in Funs.DB.FC_BigDepartEvaRate where x.ReportMonth == txtStartTime.Text select x).ToList(); + Funs.DB.FC_BigDepartEvaRate.DeleteAllOnSubmit(departEva); + Funs.DB.SubmitChanges(); + #region - percentIn[UserId] = (int)(100 / 4); + percentIn[UserId] = (int)(100 / 5); List ovList = new List(); List overParam = new List(); @@ -177,6 +188,9 @@ namespace FineUIPro.Web.Evaluation ov.FO_NO = OverviewReport.Rows[i]["FO_NO"].ToString(); ov.Work_Description = OverviewReport.Rows[i]["Work_Description"].ToString(); ov.Contractor = OverviewReport.Rows[i]["Contractor"].ToString(); + ov.ContractorCN = OverviewReport.Rows[i]["ContractorCN"].ToString(); + ov.ContractorEN = OverviewReport.Rows[i]["ContractorEN"].ToString(); + ov.ContractorShortName = OverviewReport.Rows[i]["ContractorShortName"].ToString(); ov.Main_Coordinator = OverviewReport.Rows[i]["Main_Coordinator"].ToString(); ov.Total = Convert.ToDecimal(OverviewReport.Rows[i]["Total"]); ov.Participation_Rate = Convert.ToDecimal(OverviewReport.Rows[i]["Participation_Rate"]); @@ -359,7 +373,7 @@ namespace FineUIPro.Web.Evaluation #endregion #region - percentIn[UserId] = (int)((100 * 2) / 4); + percentIn[UserId] = (int)((100 * 2) / 5); List ovList1 = new List(); List overParam1 = new List(); @@ -376,6 +390,9 @@ namespace FineUIPro.Web.Evaluation ov.FO_NO = OverviewReport.Rows[i]["FO_NO"].ToString(); ov.Work_Description = OverviewReport.Rows[i]["Work_Description"].ToString(); ov.Contractor = OverviewReport.Rows[i]["Contractor"].ToString(); + ov.ContractorCN = OverviewReport.Rows[i]["ContractorCN"].ToString(); + ov.ContractorEN = OverviewReport.Rows[i]["ContractorEN"].ToString(); + ov.ContractorShortName = OverviewReport.Rows[i]["ContractorShortName"].ToString(); ov.Main_Coordinator = OverviewReport.Rows[i]["Main_Coordinator"].ToString(); ov.Total = Convert.ToDecimal(OverviewReport.Rows[i]["Total"]); ov.Participation_Rate = Convert.ToDecimal(OverviewReport.Rows[i]["Participation_Rate"]); @@ -557,7 +574,7 @@ namespace FineUIPro.Web.Evaluation #endregion #region - percentIn[UserId] = (int)((100 * 3) / 4); + percentIn[UserId] = (int)((100 * 3) / 5); List NoEvalUserList = new List(); List param = new List(); @@ -755,6 +772,8 @@ namespace FineUIPro.Web.Evaluation #endregion #region + percentIn[UserId] = (int)((100 * 4) / 5); + List NoEvalUserList1 = new List(); List param1 = new List(); param1.Add(new SqlParameter("@StartTime", sTime)); @@ -950,8 +969,48 @@ namespace FineUIPro.Web.Evaluation percentIn[UserId] = (int)((100 * 4) / 4); #endregion - } + #region 参与率 + percentIn[UserId] = (int)((100 * 5) / 5); + List departEvaRateList = new List(); + List departEvaRateParam1 = new List(); + departEvaRateParam1.Add(new SqlParameter("@StartTime", sTime)); + departEvaRateParam1.Add(new SqlParameter("@EndTime", eTime)); + SqlParameter[] departEvaRateList1 = departEvaRateParam1.ToArray(); + DataTable departEvaRate = SQLHelper.GetDataTableRunProc("sp_DepParticipationRate", departEvaRateList1); + if (departEvaRate.Rows.Count > 0) + { + for (int i = 0; i < departEvaRate.Rows.Count; i++) + { + Model.FC_BigDepartEvaRate ov = new Model.FC_BigDepartEvaRate(); + ov.ReportMonth = departEvaRate.Rows[i]["ReportMonth"].ToString(); + ov.Depart = departEvaRate.Rows[i]["DepartCode"].ToString().Replace("Z", ""); + ov.Team = departEvaRate.Rows[i]["SubDepartCode"].ToString(); + ov.Participation_Rate = Convert.ToDecimal(departEvaRate.Rows[i]["Rate"]); + if (ov.Team != null && !string.IsNullOrEmpty(ov.Team)) + { + ov.Participation_Rate_Type = "团队参与率"; + } + else + { + ov.Participation_Rate_Type = "部门参与率"; + } + ov.IsSafe = true; + departEvaRateList.Add(ov); + } + } + Funs.DB.FC_BigDepartEvaRate.InsertAllOnSubmit(departEvaRateList); + Funs.DB.SubmitChanges(); + #endregion + } + #endregion + + #region 提取全部数据 + /// + /// 提前全部数据 + /// + /// + /// protected void btnExtract_Click(object sender, EventArgs e) { Thread t = new Thread(new ThreadStart(() => { ExtractData(this.CurrUser.UserId); })); @@ -980,6 +1039,10 @@ namespace FineUIPro.Web.Evaluation Funs.DB.FC_NoEvaluatedUser.DeleteAllOnSubmit(deNoEva); Funs.DB.SubmitChanges(); + var departEva = (from x in Funs.DB.FC_BigDepartEvaRate where x.ReportMonth == txtStartTime.Text select x).ToList(); + Funs.DB.FC_BigDepartEvaRate.DeleteAllOnSubmit(departEva); + Funs.DB.SubmitChanges(); + var mindate = (from x in Funs.DB.FC_Score select x.DateIn).Min(); var maxdate = (from x in Funs.DB.FC_Score select x.DateIn).Max(); int toDiff = ((maxdate.Value.Year - mindate.Value.Year) * 12) + maxdate.Value.Month - mindate.Value.Month; @@ -987,9 +1050,10 @@ namespace FineUIPro.Web.Evaluation DateTime eTime = DateTime.Parse(mindate.Value.Year.ToString() + "-" + mindate.Value.Month.ToString() + "-13"); + #region for (int j = 0; j < toDiff; j++) { - percentIn[UserId] = (int)(100 * (j + 1) / (toDiff * 4)); + percentIn[UserId] = (int)(100 * (j + 1) / (toDiff * 5)); List ovList = new List(); List overParam = new List(); @@ -1006,6 +1070,9 @@ namespace FineUIPro.Web.Evaluation ov.FO_NO = OverviewReport.Rows[i]["FO_NO"].ToString(); ov.Work_Description = OverviewReport.Rows[i]["Work_Description"].ToString(); ov.Contractor = OverviewReport.Rows[i]["Contractor"].ToString(); + ov.ContractorCN = OverviewReport.Rows[i]["ContractorCN"].ToString(); + ov.ContractorEN = OverviewReport.Rows[i]["ContractorEN"].ToString(); + ov.ContractorShortName = OverviewReport.Rows[i]["ContractorShortName"].ToString(); ov.Main_Coordinator = OverviewReport.Rows[i]["Main_Coordinator"].ToString(); ov.Total = Convert.ToDecimal(OverviewReport.Rows[i]["Total"]); ov.Participation_Rate = Convert.ToDecimal(OverviewReport.Rows[i]["Participation_Rate"]); @@ -1184,12 +1251,12 @@ namespace FineUIPro.Web.Evaluation } Funs.DB.FC_OverviewReport.InsertAllOnSubmit(ovList); Funs.DB.SubmitChanges(); - } - + #endregion + #region for (int j = 0; j < toDiff; j++) { - percentIn[UserId] = (int)((100 * (j + 1+ toDiff)) / (toDiff * 4)); + percentIn[UserId] = (int)((100 * (j + 1+ toDiff)) / (toDiff * 5)); List ovList = new List(); List overParam = new List(); @@ -1206,6 +1273,9 @@ namespace FineUIPro.Web.Evaluation ov.FO_NO = OverviewReport.Rows[i]["FO_NO"].ToString(); ov.Work_Description = OverviewReport.Rows[i]["Work_Description"].ToString(); ov.Contractor = OverviewReport.Rows[i]["Contractor"].ToString(); + ov.ContractorCN = OverviewReport.Rows[i]["ContractorCN"].ToString(); + ov.ContractorEN = OverviewReport.Rows[i]["ContractorEN"].ToString(); + ov.ContractorShortName = OverviewReport.Rows[i]["ContractorShortName"].ToString(); ov.Main_Coordinator = OverviewReport.Rows[i]["Main_Coordinator"].ToString(); ov.Total = Convert.ToDecimal(OverviewReport.Rows[i]["Total"]); ov.Participation_Rate = Convert.ToDecimal(OverviewReport.Rows[i]["Participation_Rate"]); @@ -1386,10 +1456,11 @@ namespace FineUIPro.Web.Evaluation Funs.DB.SubmitChanges(); } - + #endregion + #region for (int j = 0; j < toDiff; j++) { - percentIn[UserId] = (int)((100 * (j + 1 + toDiff * 2)) / (toDiff * 4)); + percentIn[UserId] = (int)((100 * (j + 1 + toDiff * 2)) / (toDiff * 5)); List NoEvalUserList = new List(); List param = new List(); @@ -1585,10 +1656,11 @@ namespace FineUIPro.Web.Evaluation Funs.DB.SubmitChanges(); } } - + #endregion + #region for (int j = 0; j < toDiff; j++) { - percentIn[UserId] = (int)((100 * (j + 1 + toDiff * 3)) / (toDiff * 4)); + percentIn[UserId] = (int)((100 * (j + 1 + toDiff * 3)) / (toDiff * 5)); List NoEvalUserList = new List(); List param = new List(); @@ -1784,6 +1856,64 @@ namespace FineUIPro.Web.Evaluation Funs.DB.SubmitChanges(); } } + #endregion + + for (int j = 0; j < toDiff; j++) + { + percentIn[UserId] = (int)(100 * (j + 4) / (toDiff * 5)); + + //List ovList = new List(); + //List overParam = new List(); + //overParam.Add(new SqlParameter("@StartTime", sTime.AddMonths(j))); + //overParam.Add(new SqlParameter("@EndTime", eTime.AddMonths(j))); + //SqlParameter[] overParList = overParam.ToArray(); + //DataTable OverviewReport = SQLHelper.GetDataTableRunProc("sp_DepParticipationRate", overParList); + //if (OverviewReport.Rows.Count > 0) + //{ + // for (int i = 0; i < OverviewReport.Rows.Count; i++) + // { + // Model.FC_OverviewReport ov = new Model.FC_OverviewReport(); + // ov.ReportMonth = OverviewReport.Rows[i]["ReportMonth"].ToString(); + // ov.Participation_Rate = Convert.ToDecimal(OverviewReport.Rows[i]["Participation_Rate"]); + + + // ov.IsSafe = false; + // ovList.Add(ov); + // } + //} + //Funs.DB.FC_OverviewReport.InsertAllOnSubmit(ovList); + //Funs.DB.SubmitChanges(); + + List departEvaRateList = new List(); + List departEvaRateParam1 = new List(); + departEvaRateParam1.Add(new SqlParameter("@StartTime", sTime.AddMonths(j))); + departEvaRateParam1.Add(new SqlParameter("@EndTime", eTime.AddMonths(j))); + SqlParameter[] departEvaRateList1 = departEvaRateParam1.ToArray(); + DataTable departEvaRate = SQLHelper.GetDataTableRunProc("sp_DepParticipationRate", departEvaRateList1); + if (departEvaRate.Rows.Count > 0) + { + for (int i = 0; i < departEvaRate.Rows.Count; i++) + { + Model.FC_BigDepartEvaRate ov = new Model.FC_BigDepartEvaRate(); + ov.ReportMonth = departEvaRate.Rows[i]["ReportMonth"].ToString(); + ov.Depart = departEvaRate.Rows[i]["DepartCode"].ToString().Replace("Z", ""); + ov.Team = departEvaRate.Rows[i]["SubDepartCode"].ToString(); + ov.Participation_Rate = Convert.ToDecimal(departEvaRate.Rows[i]["Rate"]); + if (ov.Team != null && !string.IsNullOrEmpty(ov.Team)) + { + ov.Participation_Rate_Type = "团队参与率"; + } + else + { + ov.Participation_Rate_Type = "部门参与率"; + } + ov.IsSafe = false; + departEvaRateList.Add(ov); + } + Funs.DB.FC_BigDepartEvaRate.InsertAllOnSubmit(departEvaRateList); + Funs.DB.SubmitChanges(); + } + } //if (j == 0) //{ // NewOverviewReport = OverviewReport.Copy(); @@ -1798,7 +1928,14 @@ namespace FineUIPro.Web.Evaluation } + #endregion + #region 导出中文版 + /// + /// 导出中文版 + /// + /// + /// protected void btnExportCN_Click(object sender, EventArgs e) { percent = 0; @@ -1809,36 +1946,26 @@ namespace FineUIPro.Web.Evaluation List overviewReport = (from x in Funs.DB.FC_OverviewReport where x.IsSafe == false orderby x.ReportMonth, x.FO_NO select x).ToList(); List safeOverviewReport = (from x in Funs.DB.FC_OverviewReport where x.IsSafe == true orderby x.ReportMonth, x.FO_NO select x).ToList(); List noEvaluatedUser= (from x in Funs.DB.FC_NoEvaluatedUser orderby x.ReportMonth, x.IsSafe select x).ToList(); + List participationRateReport = (from x in Funs.DB.FC_BigDepartEvaRate orderby x.ReportMonth,x.Team select x).ToList(); + List sesReportList = (from x in Funs.DB.FC_SESReport where x.Accepted != "" && x.Accepted != null select x).ToList(); - Thread t = new Thread(new ThreadStart(() => { ExportCN(punishList, cmList, conList, overviewReport , safeOverviewReport, noEvaluatedUser); })); + Thread t = new Thread(new ThreadStart(() => { ExportCN(punishList, cmList, conList, overviewReport , safeOverviewReport, noEvaluatedUser, participationRateReport, sesReportList); })); t.Start(); PageContext.RegisterStartupScript("showProcessBar()"); } + - protected void btnExportEN_Click(object sender, EventArgs e) - { - percent = 0; - url = ""; - List punishList = (from x in Funs.DB.View_EMC_Punishment where x.Flag == "1" select x).ToList(); - List cmList = (from x in Funs.DB.View_FC_ContractManagement where x.IsExport == true orderby x.FO_NO, x.FileType select x).ToList(); - List conList = (from x in Funs.DB.View_FC_Contractor where x.FC_Status == "Valid" || x.FC_Status == "Expired Soon" orderby x.Contractor, x.Expire_Date select x).ToList(); - List overviewReport = (from x in Funs.DB.FC_OverviewReport where x.IsSafe == false orderby x.ReportMonth, x.FO_NO select x).ToList(); - List safeOverviewReport = (from x in Funs.DB.FC_OverviewReport where x.IsSafe == true orderby x.ReportMonth, x.FO_NO select x).ToList(); - List noEvaluatedUser = (from x in Funs.DB.FC_NoEvaluatedUser orderby x.ReportMonth, x.IsSafe select x).ToList(); - - Thread t = new Thread(new ThreadStart(() => { ExportEN(punishList, cmList, conList, overviewReport, safeOverviewReport, noEvaluatedUser); })); - t.Start(); - PageContext.RegisterStartupScript("showProcessBar()"); - } - - private void ExportCN(List punishList, List cmList, List conList, List OverviewReport, List safeOverviewReport,List noEvaluatedUser) + private void ExportCN(List punishList, List cmList, List conList, List OverviewReport, List safeOverviewReport,List noEvaluatedUser, List participationRateReport, List sesReportList) { int punishCount = punishList.Count(); int cmListCount = cmList.Count(); int conListCount = conList.Count(); int overviewCount = OverviewReport.Count; int safeOverviewCount = safeOverviewReport.Count; - int totalNum = punishCount + cmListCount + conListCount + overviewCount + safeOverviewCount + noEvaluatedUser.Count; + int noEvaluatedUserCount = noEvaluatedUser.Count; + int sesReportCount = sesReportList.Count; + int participationRateCount = participationRateReport.Count; + int totalNum = punishCount + cmListCount + conListCount + overviewCount + safeOverviewCount + noEvaluatedUserCount + participationRateCount + sesReportCount; #region string rootPath = Server.MapPath("~/") + Const.ExcelUrl; //模板文件 @@ -1940,35 +2067,37 @@ namespace FineUIPro.Web.Evaluation if (ws.GetRow(rowIndex).GetCell(9) == null) ws.GetRow(rowIndex).CreateCell(9); ws.GetRow(rowIndex).GetCell(9).SetCellValue(p.ContractorEn); if (ws.GetRow(rowIndex).GetCell(10) == null) ws.GetRow(rowIndex).CreateCell(10); - ws.GetRow(rowIndex).GetCell(10).SetCellValue(p.Location); + ws.GetRow(rowIndex).GetCell(10).SetCellValue(p.ContractorShortName); if (ws.GetRow(rowIndex).GetCell(11) == null) ws.GetRow(rowIndex).CreateCell(11); - ws.GetRow(rowIndex).GetCell(11).SetCellValue(p.Description); + ws.GetRow(rowIndex).GetCell(11).SetCellValue(p.Location); if (ws.GetRow(rowIndex).GetCell(12) == null) ws.GetRow(rowIndex).CreateCell(12); - ws.GetRow(rowIndex).GetCell(12).SetCellValue(p.Company != null ? p.Company.Value.ToString("0.00") : ""); + ws.GetRow(rowIndex).GetCell(12).SetCellValue(p.Description); if (ws.GetRow(rowIndex).GetCell(13) == null) ws.GetRow(rowIndex).CreateCell(13); - ws.GetRow(rowIndex).GetCell(13).SetCellValue(p.Individual != null ? p.Individual.Value.ToString("0.00") : ""); + ws.GetRow(rowIndex).GetCell(13).SetCellValue(p.Company != null ? p.Company.Value.ToString("0.00") : ""); if (ws.GetRow(rowIndex).GetCell(14) == null) ws.GetRow(rowIndex).CreateCell(14); - ws.GetRow(rowIndex).GetCell(14).SetCellValue(p.Backcharge != null ? p.Backcharge.Value.ToString("0.00") : ""); + ws.GetRow(rowIndex).GetCell(14).SetCellValue(p.Individual != null ? p.Individual.Value.ToString("0.00") : ""); if (ws.GetRow(rowIndex).GetCell(15) == null) ws.GetRow(rowIndex).CreateCell(15); - ws.GetRow(rowIndex).GetCell(15).SetCellValue(p.ViolationDegree); + ws.GetRow(rowIndex).GetCell(15).SetCellValue(p.Backcharge != null ? p.Backcharge.Value.ToString("0.00") : ""); if (ws.GetRow(rowIndex).GetCell(16) == null) ws.GetRow(rowIndex).CreateCell(16); - ws.GetRow(rowIndex).GetCell(16).SetCellValue(p.Contract_Admin); + ws.GetRow(rowIndex).GetCell(16).SetCellValue(p.ViolationDegree); if (ws.GetRow(rowIndex).GetCell(17) == null) ws.GetRow(rowIndex).CreateCell(17); - ws.GetRow(rowIndex).GetCell(17).SetCellValue(p.Main_Coordinator); + ws.GetRow(rowIndex).GetCell(17).SetCellValue(p.Contract_Admin); if (ws.GetRow(rowIndex).GetCell(18) == null) ws.GetRow(rowIndex).CreateCell(18); - ws.GetRow(rowIndex).GetCell(18).SetCellValue(p.MCDept); + ws.GetRow(rowIndex).GetCell(18).SetCellValue(p.Main_Coordinator); if (ws.GetRow(rowIndex).GetCell(19) == null) ws.GetRow(rowIndex).CreateCell(19); - ws.GetRow(rowIndex).GetCell(19).SetCellValue(p.User_Representative); + ws.GetRow(rowIndex).GetCell(19).SetCellValue(p.MCDept); if (ws.GetRow(rowIndex).GetCell(20) == null) ws.GetRow(rowIndex).CreateCell(20); - ws.GetRow(rowIndex).GetCell(20).SetCellValue(p.BYCRU); + ws.GetRow(rowIndex).GetCell(20).SetCellValue(p.User_Representative); if (ws.GetRow(rowIndex).GetCell(21) == null) ws.GetRow(rowIndex).CreateCell(21); - ws.GetRow(rowIndex).GetCell(21).SetCellValue(p.Violation_Inspector_Name); + ws.GetRow(rowIndex).GetCell(21).SetCellValue(p.BYCRU); if (ws.GetRow(rowIndex).GetCell(22) == null) ws.GetRow(rowIndex).CreateCell(22); - ws.GetRow(rowIndex).GetCell(22).SetCellValue(p.InspectionDep); + ws.GetRow(rowIndex).GetCell(22).SetCellValue(p.Violation_Inspector_Name); if (ws.GetRow(rowIndex).GetCell(23) == null) ws.GetRow(rowIndex).CreateCell(23); - ws.GetRow(rowIndex).GetCell(23).SetCellValue(p.SES_No); + ws.GetRow(rowIndex).GetCell(23).SetCellValue(p.InspectionDep); if (ws.GetRow(rowIndex).GetCell(24) == null) ws.GetRow(rowIndex).CreateCell(24); - ws.GetRow(rowIndex).GetCell(24).SetCellValue(p.CompletionDate != null ? p.CompletionDate.Value.ToString("yyyy/MM/dd") : ""); + ws.GetRow(rowIndex).GetCell(24).SetCellValue(p.SES_No); + if (ws.GetRow(rowIndex).GetCell(25) == null) ws.GetRow(rowIndex).CreateCell(25); + ws.GetRow(rowIndex).GetCell(25).SetCellValue(p.CompletionDate != null ? p.CompletionDate.Value.ToString("yyyy/MM/dd") : ""); if ((int)(90 * (rowIndex) / totalNum) > percent) { @@ -2078,19 +2207,21 @@ namespace FineUIPro.Web.Evaluation if (wsCm.GetRow(rowIndex).GetCell(7) == null) wsCm.GetRow(rowIndex).CreateCell(7); wsCm.GetRow(rowIndex).GetCell(7).SetCellValue(p.ContractorEn); if (wsCm.GetRow(rowIndex).GetCell(8) == null) wsCm.GetRow(rowIndex).CreateCell(8); - wsCm.GetRow(rowIndex).GetCell(8).SetCellValue(p.Remark); + wsCm.GetRow(rowIndex).GetCell(8).SetCellValue(p.ContractorShortName); if (wsCm.GetRow(rowIndex).GetCell(9) == null) wsCm.GetRow(rowIndex).CreateCell(9); - wsCm.GetRow(rowIndex).GetCell(9).SetCellValue(p.FileType); + wsCm.GetRow(rowIndex).GetCell(9).SetCellValue(p.Remark); if (wsCm.GetRow(rowIndex).GetCell(10) == null) wsCm.GetRow(rowIndex).CreateCell(10); - wsCm.GetRow(rowIndex).GetCell(10).SetCellValue(p.Contract_Admin); + wsCm.GetRow(rowIndex).GetCell(10).SetCellValue(p.FileType); if (wsCm.GetRow(rowIndex).GetCell(11) == null) wsCm.GetRow(rowIndex).CreateCell(11); - wsCm.GetRow(rowIndex).GetCell(11).SetCellValue(p.Main_Coordinator); + wsCm.GetRow(rowIndex).GetCell(11).SetCellValue(p.Contract_Admin); if (wsCm.GetRow(rowIndex).GetCell(12) == null) wsCm.GetRow(rowIndex).CreateCell(12); - wsCm.GetRow(rowIndex).GetCell(12).SetCellValue(p.MCDept); + wsCm.GetRow(rowIndex).GetCell(12).SetCellValue(p.Main_Coordinator); if (wsCm.GetRow(rowIndex).GetCell(13) == null) wsCm.GetRow(rowIndex).CreateCell(13); - wsCm.GetRow(rowIndex).GetCell(13).SetCellValue(p.User_Representative); + wsCm.GetRow(rowIndex).GetCell(13).SetCellValue(p.MCDept); if (wsCm.GetRow(rowIndex).GetCell(14) == null) wsCm.GetRow(rowIndex).CreateCell(14); - wsCm.GetRow(rowIndex).GetCell(14).SetCellValue(p.BycDept); + wsCm.GetRow(rowIndex).GetCell(14).SetCellValue(p.User_Representative); + if (wsCm.GetRow(rowIndex).GetCell(15) == null) wsCm.GetRow(rowIndex).CreateCell(15); + wsCm.GetRow(rowIndex).GetCell(15).SetCellValue(p.BycDept); if ((int)((90 * (rowIndex + punishCount )) / totalNum) > percent) { @@ -2109,14 +2240,27 @@ namespace FineUIPro.Web.Evaluation foreach (var p in conList) { if (wsCon.GetRow(rowIndex) == null) wsCon.CreateRow(rowIndex); + //专业 if (wsCon.GetRow(rowIndex).GetCell(0) == null) wsCon.GetRow(rowIndex).CreateCell(0); - wsCon.GetRow(rowIndex).GetCell(0).SetCellValue(p.Contractor); + wsCon.GetRow(rowIndex).GetCell(0).SetCellValue(p.Discipline); + //承包商名称 if (wsCon.GetRow(rowIndex).GetCell(1) == null) wsCon.GetRow(rowIndex).CreateCell(1); - wsCon.GetRow(rowIndex).GetCell(1).SetCellValue(p.FO_NO); + wsCon.GetRow(rowIndex).GetCell(1).SetCellValue(p.Contractor); + //承包商(简称) if (wsCon.GetRow(rowIndex).GetCell(2) == null) wsCon.GetRow(rowIndex).CreateCell(2); - wsCon.GetRow(rowIndex).GetCell(2).SetCellValue(p.FC_Status); + wsCon.GetRow(rowIndex).GetCell(2).SetCellValue(p.ContractorShortName); + //合同号 if (wsCon.GetRow(rowIndex).GetCell(3) == null) wsCon.GetRow(rowIndex).CreateCell(3); - wsCon.GetRow(rowIndex).GetCell(3).SetCellValue(p.Expire_Date != null ? p.Expire_Date.Value.ToString("yyyy/MM/dd") : ""); + wsCon.GetRow(rowIndex).GetCell(3).SetCellValue(p.FO_NO); + //合同状态 + if (wsCon.GetRow(rowIndex).GetCell(4) == null) wsCon.GetRow(rowIndex).CreateCell(4); + wsCon.GetRow(rowIndex).GetCell(4).SetCellValue(p.FC_Status); + //生效时间 + if (wsCon.GetRow(rowIndex).GetCell(5) == null) wsCon.GetRow(rowIndex).CreateCell(5); + wsCon.GetRow(rowIndex).GetCell(5).SetCellValue(p.Validate_Date != null ? p.Validate_Date.Value.ToString("yyyy/MM/dd") : ""); + //到期时间 + if (wsCon.GetRow(rowIndex).GetCell(6) == null) wsCon.GetRow(rowIndex).CreateCell(6); + wsCon.GetRow(rowIndex).GetCell(6).SetCellValue(p.Expire_Date != null ? p.Expire_Date.Value.ToString("yyyy/MM/dd") : ""); if ((int)((90 * (rowIndex + punishCount + cmListCount)) / totalNum) > percent) { @@ -2127,8 +2271,8 @@ namespace FineUIPro.Web.Evaluation } #endregion - #region 非安全监护框架承包商绩效 - XSSFSheet wss = (XSSFSheet)hssfworkbook.GetSheet("非安全监护框架承包商绩效"); + #region 常规框架承包商绩效 + XSSFSheet wss = (XSSFSheet)hssfworkbook.GetSheet("常规框架承包商绩效"); if (overviewCount > 0) { var rowIndex = 1; @@ -2136,94 +2280,107 @@ namespace FineUIPro.Web.Evaluation { if (wss.GetRow(rowIndex) == null) wss.CreateRow(rowIndex); #region 列赋值 + //报告日期 if (wss.GetRow(rowIndex).GetCell(0) == null) wss.GetRow(rowIndex).CreateCell(0); wss.GetRow(rowIndex).GetCell(0).SetCellValue(vs.ReportMonth); wss.GetRow(rowIndex).GetCell(0).CellStyle = fontStyle; - + //合同号 if (wss.GetRow(rowIndex).GetCell(1) == null) wss.GetRow(rowIndex).CreateCell(1); wss.GetRow(rowIndex).GetCell(1).SetCellValue(vs.FO_NO); wss.GetRow(rowIndex).GetCell(1).CellStyle = fontStyle; - + //专业 if (wss.GetRow(rowIndex).GetCell(2) == null) wss.GetRow(rowIndex).CreateCell(2); wss.GetRow(rowIndex).GetCell(2).SetCellValue(vs.Work_Description); wss.GetRow(rowIndex).GetCell(2).CellStyle = fontStyle; - + //承包商名称 if (wss.GetRow(rowIndex).GetCell(3) == null) wss.GetRow(rowIndex).CreateCell(3); wss.GetRow(rowIndex).GetCell(3).SetCellValue(vs.Contractor); - wss.GetRow(rowIndex).GetCell(3).CellStyle = fontStyle; - + wss.GetRow(rowIndex).GetCell(3).CellStyle = fontStyle; + //承包商(中) if (wss.GetRow(rowIndex).GetCell(4) == null) wss.GetRow(rowIndex).CreateCell(4); - wss.GetRow(rowIndex).GetCell(4).SetCellValue(vs.Main_Coordinator); - wss.GetRow(rowIndex).GetCell(4).CellStyle = styleQfw1; - + wss.GetRow(rowIndex).GetCell(4).SetCellValue(vs.ContractorCN); + wss.GetRow(rowIndex).GetCell(4).CellStyle = fontStyle; + //承包商(英) if (wss.GetRow(rowIndex).GetCell(5) == null) wss.GetRow(rowIndex).CreateCell(5); - wss.GetRow(rowIndex).GetCell(5).SetCellValue(vs.Total != null ? float.Parse(vs.Total.ToString()) : 0); - wss.GetRow(rowIndex).GetCell(5).CellStyle = rateStyle; - + wss.GetRow(rowIndex).GetCell(5).SetCellValue(vs.ContractorEN); + wss.GetRow(rowIndex).GetCell(5).CellStyle = fontStyle; + //承包商简称 if (wss.GetRow(rowIndex).GetCell(6) == null) wss.GetRow(rowIndex).CreateCell(6); - wss.GetRow(rowIndex).GetCell(6).SetCellValue(vs.Participation_Rate != null ? vs.Participation_Rate.ToString() + "%" : "0"); - wss.GetRow(rowIndex).GetCell(6).CellStyle = styleQfw; - + wss.GetRow(rowIndex).GetCell(6).SetCellValue(vs.ContractorShortName); + wss.GetRow(rowIndex).GetCell(6).CellStyle = fontStyle; + //主协调员 if (wss.GetRow(rowIndex).GetCell(7) == null) wss.GetRow(rowIndex).CreateCell(7); - wss.GetRow(rowIndex).GetCell(7).SetCellValue(vs.TotalAvgScore1 != null ? vs.TotalAvgScore1.ToString() : ""); - wss.GetRow(rowIndex).GetCell(7).CellStyle = styleQfw; - + wss.GetRow(rowIndex).GetCell(7).SetCellValue(vs.Main_Coordinator); + wss.GetRow(rowIndex).GetCell(7).CellStyle = styleQfw1; + //总分 if (wss.GetRow(rowIndex).GetCell(8) == null) wss.GetRow(rowIndex).CreateCell(8); - wss.GetRow(rowIndex).GetCell(8).SetCellValue(vs.TotalAvgScore2 != null ? vs.TotalAvgScore2.ToString() : ""); - wss.GetRow(rowIndex).GetCell(8).CellStyle = styleQfw; - + wss.GetRow(rowIndex).GetCell(8).SetCellValue(vs.Total != null ? float.Parse(vs.Total.ToString()) : 0); + wss.GetRow(rowIndex).GetCell(8).CellStyle = rateStyle; + //参与率 if (wss.GetRow(rowIndex).GetCell(9) == null) wss.GetRow(rowIndex).CreateCell(9); - wss.GetRow(rowIndex).GetCell(9).SetCellValue(vs.TotalAvgScore3 != null ? vs.TotalAvgScore3.ToString() : ""); + wss.GetRow(rowIndex).GetCell(9).SetCellValue(vs.Participation_Rate != null ? vs.Participation_Rate.ToString() + "%" : "0"); wss.GetRow(rowIndex).GetCell(9).CellStyle = styleQfw; - + //工作准备 if (wss.GetRow(rowIndex).GetCell(10) == null) wss.GetRow(rowIndex).CreateCell(10); - wss.GetRow(rowIndex).GetCell(10).SetCellValue(vs.CTSSAvgScore != null ? vs.CTSSAvgScore.ToString() : ""); + wss.GetRow(rowIndex).GetCell(10).SetCellValue(vs.TotalAvgScore1 != null ? vs.TotalAvgScore1.ToString() : ""); wss.GetRow(rowIndex).GetCell(10).CellStyle = styleQfw; - + //工作表现 if (wss.GetRow(rowIndex).GetCell(11) == null) wss.GetRow(rowIndex).CreateCell(11); - wss.GetRow(rowIndex).GetCell(11).SetCellValue(vs.CTSCAvgScore != null ? vs.CTSCAvgScore.ToString() : ""); + wss.GetRow(rowIndex).GetCell(11).SetCellValue(vs.TotalAvgScore2 != null ? vs.TotalAvgScore2.ToString() : ""); wss.GetRow(rowIndex).GetCell(11).CellStyle = styleQfw; - + //EHSS管理 if (wss.GetRow(rowIndex).GetCell(12) == null) wss.GetRow(rowIndex).CreateCell(12); - decimal? tnum = (vs.TotalAvgScore3 != null ? vs.TotalAvgScore3 : 0) + (vs.CTSSAvgScore != null ? vs.CTSSAvgScore : 0) + (vs.CTSCAvgScore != null ? vs.CTSCAvgScore : 0); - wss.GetRow(rowIndex).GetCell(12).SetCellValue(tnum != null && tnum != 0 ? tnum.ToString() : ""); + wss.GetRow(rowIndex).GetCell(12).SetCellValue(vs.TotalAvgScore3 != null ? vs.TotalAvgScore3.ToString() : ""); wss.GetRow(rowIndex).GetCell(12).CellStyle = styleQfw; - + //安全监督 if (wss.GetRow(rowIndex).GetCell(13) == null) wss.GetRow(rowIndex).CreateCell(13); - wss.GetRow(rowIndex).GetCell(13).SetCellValue(vs.TotalAvgScore4 != null ? vs.TotalAvgScore4.ToString() : ""); + wss.GetRow(rowIndex).GetCell(13).SetCellValue(vs.CTSSAvgScore != null ? vs.CTSSAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(13).CellStyle = styleQfw; - + //安保 if (wss.GetRow(rowIndex).GetCell(14) == null) wss.GetRow(rowIndex).CreateCell(14); - wss.GetRow(rowIndex).GetCell(14).SetCellValue(vs.TotalAvgScore5 != null ? vs.TotalAvgScore5.ToString() : ""); + wss.GetRow(rowIndex).GetCell(14).SetCellValue(vs.CTSCAvgScore != null ? vs.CTSCAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(14).CellStyle = styleQfw; - + //安全分 if (wss.GetRow(rowIndex).GetCell(15) == null) wss.GetRow(rowIndex).CreateCell(15); - wss.GetRow(rowIndex).GetCell(15).SetCellValue(vs.TotalAvgScore6 != null ? vs.TotalAvgScore6.ToString() : ""); + decimal? tnum = (vs.TotalAvgScore3 != null ? vs.TotalAvgScore3 : 0) + (vs.CTSSAvgScore != null ? vs.CTSSAvgScore : 0) + (vs.CTSCAvgScore != null ? vs.CTSCAvgScore : 0); + wss.GetRow(rowIndex).GetCell(15).SetCellValue(tnum != null && tnum != 0 ? tnum.ToString() : ""); wss.GetRow(rowIndex).GetCell(15).CellStyle = styleQfw; - + //质量控制 if (wss.GetRow(rowIndex).GetCell(16) == null) wss.GetRow(rowIndex).CreateCell(16); - wss.GetRow(rowIndex).GetCell(16).SetCellValue(vs.TimelyAvgSocre != null ? vs.TimelyAvgSocre.ToString() : ""); + wss.GetRow(rowIndex).GetCell(16).SetCellValue(vs.TotalAvgScore4 != null ? vs.TotalAvgScore4.ToString() : ""); wss.GetRow(rowIndex).GetCell(16).CellStyle = styleQfw; - + //时间管理 if (wss.GetRow(rowIndex).GetCell(17) == null) wss.GetRow(rowIndex).CreateCell(17); - wss.GetRow(rowIndex).GetCell(17).SetCellValue(vs.HonestyAvgScore != null ? vs.HonestyAvgScore.ToString() : ""); + wss.GetRow(rowIndex).GetCell(17).SetCellValue(vs.TotalAvgScore5 != null ? vs.TotalAvgScore5.ToString() : ""); wss.GetRow(rowIndex).GetCell(17).CellStyle = styleQfw; - + //文档管理 if (wss.GetRow(rowIndex).GetCell(18) == null) wss.GetRow(rowIndex).CreateCell(18); - wss.GetRow(rowIndex).GetCell(18).SetCellValue(vs.MainCoordinatorAvgScore != null ? vs.MainCoordinatorAvgScore.ToString() : ""); + wss.GetRow(rowIndex).GetCell(18).SetCellValue(vs.TotalAvgScore6 != null ? vs.TotalAvgScore6.ToString() : ""); wss.GetRow(rowIndex).GetCell(18).CellStyle = styleQfw; - + //结算递交及时性 if (wss.GetRow(rowIndex).GetCell(19) == null) wss.GetRow(rowIndex).CreateCell(19); - wss.GetRow(rowIndex).GetCell(19).SetCellValue(vs.UserRepresentativeAvgScore != null ? vs.UserRepresentativeAvgScore.ToString() : ""); + wss.GetRow(rowIndex).GetCell(19).SetCellValue(vs.TimelyAvgSocre != null ? vs.TimelyAvgSocre.ToString() : ""); wss.GetRow(rowIndex).GetCell(19).CellStyle = styleQfw; - + //核减诚实度 if (wss.GetRow(rowIndex).GetCell(20) == null) wss.GetRow(rowIndex).CreateCell(20); - wss.GetRow(rowIndex).GetCell(20).SetCellValue(vs.CTSTAvgScore != null ? vs.CTSTAvgScore.ToString() : ""); + wss.GetRow(rowIndex).GetCell(20).SetCellValue(vs.HonestyAvgScore != null ? vs.HonestyAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(20).CellStyle = styleQfw; - + //主协调员 if (wss.GetRow(rowIndex).GetCell(21) == null) wss.GetRow(rowIndex).CreateCell(21); - wss.GetRow(rowIndex).GetCell(21).SetCellValue(vs.CTEDAvgScore != null ? vs.CTEDAvgScore.ToString() : ""); + wss.GetRow(rowIndex).GetCell(21).SetCellValue(vs.MainCoordinatorAvgScore != null ? vs.MainCoordinatorAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(21).CellStyle = styleQfw; + //用户代表 + if (wss.GetRow(rowIndex).GetCell(22) == null) wss.GetRow(rowIndex).CreateCell(22); + wss.GetRow(rowIndex).GetCell(22).SetCellValue(vs.UserRepresentativeAvgScore != null ? vs.UserRepresentativeAvgScore.ToString() : ""); + wss.GetRow(rowIndex).GetCell(22).CellStyle = styleQfw; + //SSR检查 + if (wss.GetRow(rowIndex).GetCell(23) == null) wss.GetRow(rowIndex).CreateCell(23); + wss.GetRow(rowIndex).GetCell(23).SetCellValue(vs.CTSTAvgScore != null ? vs.CTSTAvgScore.ToString() : ""); + wss.GetRow(rowIndex).GetCell(23).CellStyle = styleQfw; + //合同管理 + if (wss.GetRow(rowIndex).GetCell(24) == null) wss.GetRow(rowIndex).CreateCell(24); + wss.GetRow(rowIndex).GetCell(24).SetCellValue(vs.CTEDAvgScore != null ? vs.CTEDAvgScore.ToString() : ""); + wss.GetRow(rowIndex).GetCell(24).CellStyle = styleQfw; #endregion if ((int)((90 * (rowIndex + punishCount + cmListCount + conListCount)) / totalNum) > percent) @@ -2233,8 +2390,6 @@ namespace FineUIPro.Web.Evaluation rowIndex++; } } - - #endregion #region 安全监护框架承包商绩效 @@ -2246,90 +2401,103 @@ namespace FineUIPro.Web.Evaluation { if (wssafe.GetRow(rowIndex) == null) wssafe.CreateRow(rowIndex); #region 列赋值 + //报告日期 if (wssafe.GetRow(rowIndex).GetCell(0) == null) wssafe.GetRow(rowIndex).CreateCell(0); wssafe.GetRow(rowIndex).GetCell(0).SetCellValue(vs.ReportMonth); wssafe.GetRow(rowIndex).GetCell(0).CellStyle = fontStyle; - + //合同号 if (wssafe.GetRow(rowIndex).GetCell(1) == null) wssafe.GetRow(rowIndex).CreateCell(1); wssafe.GetRow(rowIndex).GetCell(1).SetCellValue(vs.FO_NO); wssafe.GetRow(rowIndex).GetCell(1).CellStyle = fontStyle; - + //专业 if (wssafe.GetRow(rowIndex).GetCell(2) == null) wssafe.GetRow(rowIndex).CreateCell(2); wssafe.GetRow(rowIndex).GetCell(2).SetCellValue(vs.Work_Description); wssafe.GetRow(rowIndex).GetCell(2).CellStyle = fontStyle; - + //承包商名称 if (wssafe.GetRow(rowIndex).GetCell(3) == null) wssafe.GetRow(rowIndex).CreateCell(3); wssafe.GetRow(rowIndex).GetCell(3).SetCellValue(vs.Contractor); wssafe.GetRow(rowIndex).GetCell(3).CellStyle = fontStyle; - + //承包商(中) if (wssafe.GetRow(rowIndex).GetCell(4) == null) wssafe.GetRow(rowIndex).CreateCell(4); - wssafe.GetRow(rowIndex).GetCell(4).SetCellValue(vs.Main_Coordinator); - wssafe.GetRow(rowIndex).GetCell(4).CellStyle = styleQfw1; - + wssafe.GetRow(rowIndex).GetCell(4).SetCellValue(vs.ContractorCN); + wssafe.GetRow(rowIndex).GetCell(4).CellStyle = fontStyle; + //承包商(英) if (wssafe.GetRow(rowIndex).GetCell(5) == null) wssafe.GetRow(rowIndex).CreateCell(5); - wssafe.GetRow(rowIndex).GetCell(5).SetCellValue(vs.Total != null ? float.Parse(vs.Total.ToString()) : 0); - wssafe.GetRow(rowIndex).GetCell(5).CellStyle = rateStyle; - + wssafe.GetRow(rowIndex).GetCell(5).SetCellValue(vs.ContractorEN); + wssafe.GetRow(rowIndex).GetCell(5).CellStyle = fontStyle; + //承包商(简称) if (wssafe.GetRow(rowIndex).GetCell(6) == null) wssafe.GetRow(rowIndex).CreateCell(6); - wssafe.GetRow(rowIndex).GetCell(6).SetCellValue(vs.Participation_Rate != null ? vs.Participation_Rate.ToString() + "%" : "0"); - wssafe.GetRow(rowIndex).GetCell(6).CellStyle = styleQfw; - + wssafe.GetRow(rowIndex).GetCell(6).SetCellValue(vs.ContractorShortName); + wssafe.GetRow(rowIndex).GetCell(6).CellStyle = fontStyle; + //主协调员 if (wssafe.GetRow(rowIndex).GetCell(7) == null) wssafe.GetRow(rowIndex).CreateCell(7); - wssafe.GetRow(rowIndex).GetCell(7).SetCellValue(vs.TotalAvgScore1 != null ? vs.TotalAvgScore1.ToString() : ""); - wssafe.GetRow(rowIndex).GetCell(7).CellStyle = styleQfw; - + wssafe.GetRow(rowIndex).GetCell(7).SetCellValue(vs.Main_Coordinator); + wssafe.GetRow(rowIndex).GetCell(7).CellStyle = styleQfw1; + //总分 if (wssafe.GetRow(rowIndex).GetCell(8) == null) wssafe.GetRow(rowIndex).CreateCell(8); - wssafe.GetRow(rowIndex).GetCell(8).SetCellValue(vs.TotalAvgScore2 != null ? vs.TotalAvgScore2.ToString() : ""); - wssafe.GetRow(rowIndex).GetCell(8).CellStyle = styleQfw; - + wssafe.GetRow(rowIndex).GetCell(8).SetCellValue(vs.Total != null ? float.Parse(vs.Total.ToString()) : 0); + wssafe.GetRow(rowIndex).GetCell(8).CellStyle = rateStyle; + //参与率 if (wssafe.GetRow(rowIndex).GetCell(9) == null) wssafe.GetRow(rowIndex).CreateCell(9); - wssafe.GetRow(rowIndex).GetCell(9).SetCellValue(vs.TotalAvgScore3 != null ? vs.TotalAvgScore3.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(9).SetCellValue(vs.Participation_Rate != null ? vs.Participation_Rate.ToString() + "%" : "0"); wssafe.GetRow(rowIndex).GetCell(9).CellStyle = styleQfw; - + //人力资源 if (wssafe.GetRow(rowIndex).GetCell(10) == null) wssafe.GetRow(rowIndex).CreateCell(10); - wssafe.GetRow(rowIndex).GetCell(10).SetCellValue(vs.CTSSAvgScore != null ? vs.CTSSAvgScore.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(10).SetCellValue(vs.TotalAvgScore1 != null ? vs.TotalAvgScore1.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(10).CellStyle = styleQfw; - + //工作表现 if (wssafe.GetRow(rowIndex).GetCell(11) == null) wssafe.GetRow(rowIndex).CreateCell(11); - wssafe.GetRow(rowIndex).GetCell(11).SetCellValue(vs.CTSCAvgScore != null ? vs.CTSCAvgScore.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(11).SetCellValue(vs.TotalAvgScore2 != null ? vs.TotalAvgScore2.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(11).CellStyle = styleQfw; - + //EHSS管理 if (wssafe.GetRow(rowIndex).GetCell(12) == null) wssafe.GetRow(rowIndex).CreateCell(12); - decimal? tnum = (vs.TotalAvgScore3 != null ? vs.TotalAvgScore3 : 0) + (vs.CTSSAvgScore != null ? vs.CTSSAvgScore : 0) + (vs.CTSCAvgScore != null ? vs.CTSCAvgScore : 0); - wssafe.GetRow(rowIndex).GetCell(12).SetCellValue(tnum != null && tnum != 0 ? tnum.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(12).SetCellValue(vs.TotalAvgScore3 != null ? vs.TotalAvgScore3.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(12).CellStyle = styleQfw; - + //安全监管 if (wssafe.GetRow(rowIndex).GetCell(13) == null) wssafe.GetRow(rowIndex).CreateCell(13); - wssafe.GetRow(rowIndex).GetCell(13).SetCellValue(vs.TotalAvgScore5 != null ? vs.TotalAvgScore5.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(13).SetCellValue(vs.CTSSAvgScore != null ? vs.CTSSAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(13).CellStyle = styleQfw; - + //安保 if (wssafe.GetRow(rowIndex).GetCell(14) == null) wssafe.GetRow(rowIndex).CreateCell(14); - wssafe.GetRow(rowIndex).GetCell(14).SetCellValue(vs.TotalAvgScore6 != null ? vs.TotalAvgScore6.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(14).SetCellValue(vs.CTSCAvgScore != null ? vs.CTSCAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(14).CellStyle = styleQfw; - + //安全分 if (wssafe.GetRow(rowIndex).GetCell(15) == null) wssafe.GetRow(rowIndex).CreateCell(15); - wssafe.GetRow(rowIndex).GetCell(15).SetCellValue(vs.TimelyAvgSocre != null ? vs.TimelyAvgSocre.ToString() : ""); + decimal? tnum = (vs.TotalAvgScore3 != null ? vs.TotalAvgScore3 : 0) + (vs.CTSSAvgScore != null ? vs.CTSSAvgScore : 0) + (vs.CTSCAvgScore != null ? vs.CTSCAvgScore : 0); + wssafe.GetRow(rowIndex).GetCell(15).SetCellValue(tnum != null && tnum != 0 ? tnum.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(15).CellStyle = styleQfw; - + //时间管理 if (wssafe.GetRow(rowIndex).GetCell(16) == null) wssafe.GetRow(rowIndex).CreateCell(16); - wssafe.GetRow(rowIndex).GetCell(16).SetCellValue(vs.HonestyAvgScore != null ? vs.HonestyAvgScore.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(16).SetCellValue(vs.TotalAvgScore5 != null ? vs.TotalAvgScore5.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(16).CellStyle = styleQfw; - + //文档管理 if (wssafe.GetRow(rowIndex).GetCell(17) == null) wssafe.GetRow(rowIndex).CreateCell(17); - wssafe.GetRow(rowIndex).GetCell(17).SetCellValue(vs.MainCoordinatorAvgScore != null ? vs.MainCoordinatorAvgScore.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(17).SetCellValue(vs.TotalAvgScore6 != null ? vs.TotalAvgScore6.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(17).CellStyle = styleQfw; - + //结算递交及时性 if (wssafe.GetRow(rowIndex).GetCell(18) == null) wssafe.GetRow(rowIndex).CreateCell(18); - wssafe.GetRow(rowIndex).GetCell(18).SetCellValue(vs.UserRepresentativeAvgScore != null ? vs.UserRepresentativeAvgScore.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(18).SetCellValue(vs.TimelyAvgSocre != null ? vs.TimelyAvgSocre.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(18).CellStyle = styleQfw; - + //核减诚实度 if (wssafe.GetRow(rowIndex).GetCell(19) == null) wssafe.GetRow(rowIndex).CreateCell(19); - wssafe.GetRow(rowIndex).GetCell(19).SetCellValue(vs.CTSTAvgScore != null ? vs.CTSTAvgScore.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(19).SetCellValue(vs.HonestyAvgScore != null ? vs.HonestyAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(19).CellStyle = styleQfw; - + //主协调员 if (wssafe.GetRow(rowIndex).GetCell(20) == null) wssafe.GetRow(rowIndex).CreateCell(20); - wssafe.GetRow(rowIndex).GetCell(20).SetCellValue(vs.CTEDAvgScore != null ? vs.CTEDAvgScore.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(20).SetCellValue(vs.MainCoordinatorAvgScore != null ? vs.MainCoordinatorAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(20).CellStyle = styleQfw; + //用户代表 + if (wssafe.GetRow(rowIndex).GetCell(21) == null) wssafe.GetRow(rowIndex).CreateCell(21); + wssafe.GetRow(rowIndex).GetCell(21).SetCellValue(vs.UserRepresentativeAvgScore != null ? vs.UserRepresentativeAvgScore.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(21).CellStyle = styleQfw; + //SSR检查 + if (wssafe.GetRow(rowIndex).GetCell(22) == null) wssafe.GetRow(rowIndex).CreateCell(22); + wssafe.GetRow(rowIndex).GetCell(22).SetCellValue(vs.CTSTAvgScore != null ? vs.CTSTAvgScore.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(22).CellStyle = styleQfw; + //合同管理 + if (wssafe.GetRow(rowIndex).GetCell(23) == null) wssafe.GetRow(rowIndex).CreateCell(23); + wssafe.GetRow(rowIndex).GetCell(23).SetCellValue(vs.CTEDAvgScore != null ? vs.CTEDAvgScore.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(23).CellStyle = styleQfw; #endregion if ((int)((90 * (rowIndex + punishCount + cmListCount + conListCount + overviewCount)) / totalNum) > percent) @@ -2352,27 +2520,39 @@ namespace FineUIPro.Web.Evaluation if (wsevalu.GetRow(rowEvalIndex) == null) wsevalu.CreateRow(rowEvalIndex); #region 列赋值 + //报告日期 if (wsevalu.GetRow(rowEvalIndex).GetCell(0) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(0); wsevalu.GetRow(rowEvalIndex).GetCell(0).SetCellValue(item.ReportMonth); wsevalu.GetRow(rowEvalIndex).GetCell(0).CellStyle = fontStyle; + //合同类型 if (wsevalu.GetRow(rowEvalIndex).GetCell(1) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(1); wsevalu.GetRow(rowEvalIndex).GetCell(1).SetCellValue(item.IsSafe == false ? "非安全" : "安全"); wsevalu.GetRow(rowEvalIndex).GetCell(1).CellStyle = fontStyle; + //姓名 if (wsevalu.GetRow(rowEvalIndex).GetCell(2) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(2); wsevalu.GetRow(rowEvalIndex).GetCell(2).SetCellValue(item.UserName); wsevalu.GetRow(rowEvalIndex).GetCell(2).CellStyle = fontStyle; + //账号 if (wsevalu.GetRow(rowEvalIndex).GetCell(3) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(3); wsevalu.GetRow(rowEvalIndex).GetCell(3).SetCellValue(item.Account); wsevalu.GetRow(rowEvalIndex).GetCell(3).CellStyle = fontStyle; + //是否评价 if (wsevalu.GetRow(rowEvalIndex).GetCell(4) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(4); wsevalu.GetRow(rowEvalIndex).GetCell(4).SetCellValue(item.IsEvaluate); wsevalu.GetRow(rowEvalIndex).GetCell(4).CellStyle = fontStyle; + //身份 if (wsevalu.GetRow(rowEvalIndex).GetCell(5) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(5); wsevalu.GetRow(rowEvalIndex).GetCell(5).SetCellValue(item.RoleName); wsevalu.GetRow(rowEvalIndex).GetCell(5).CellStyle = fontStyle; + //部门 if (wsevalu.GetRow(rowEvalIndex).GetCell(6) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(6); - wsevalu.GetRow(rowEvalIndex).GetCell(6).SetCellValue(item.DepartName); + wsevalu.GetRow(rowEvalIndex).GetCell(6).SetCellValue(item.DepartName.Substring(0, item.DepartName.LastIndexOf("/"))); wsevalu.GetRow(rowEvalIndex).GetCell(6).CellStyle = fontStyle; + //团队 + if (wsevalu.GetRow(rowEvalIndex).GetCell(7) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(7); + wsevalu.GetRow(rowEvalIndex).GetCell(7).SetCellValue(item.DepartName); + wsevalu.GetRow(rowEvalIndex).GetCell(7).CellStyle = fontStyle; + //if (wsevalu.GetRow(rowEvalIndex).GetCell(6) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(6); //wsevalu.GetRow(rowEvalIndex).GetCell(6).SetCellValue(item.NotEvaluatedFoNo); //wsevalu.GetRow(rowEvalIndex).GetCell(6).CellStyle = fontStyle; @@ -2384,13 +2564,13 @@ namespace FineUIPro.Web.Evaluation { if (findex < 250) { - if (wsevalu.GetRow(0).GetCell(7 + findex) == null) wsevalu.GetRow(0).CreateCell(7 + findex); - wsevalu.GetRow(0).GetCell(7 + findex).SetCellValue("未评价合同号"+ (findex+1).ToString()); - wsevalu.GetRow(0).GetCell(7 + findex).CellStyle = wsevalu.GetRow(0).GetCell(7).CellStyle; + if (wsevalu.GetRow(0).GetCell(8 + findex) == null) wsevalu.GetRow(0).CreateCell(8 + findex); + wsevalu.GetRow(0).GetCell(8 + findex).SetCellValue("未评价合同号"+ (findex+1).ToString()); + wsevalu.GetRow(0).GetCell(8 + findex).CellStyle = wsevalu.GetRow(0).GetCell(8).CellStyle; - if (wsevalu.GetRow(rowEvalIndex).GetCell(7 + findex) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(7 + findex); - wsevalu.GetRow(rowEvalIndex).GetCell(7 + findex).SetCellValue(itemFoNo); - wsevalu.GetRow(rowEvalIndex).GetCell(7 + findex).CellStyle = fontStyle; + if (wsevalu.GetRow(rowEvalIndex).GetCell(8 + findex) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(8 + findex); + wsevalu.GetRow(rowEvalIndex).GetCell(8 + findex).SetCellValue(itemFoNo); + wsevalu.GetRow(rowEvalIndex).GetCell(8 + findex).CellStyle = fontStyle; } else { @@ -2415,16 +2595,101 @@ namespace FineUIPro.Web.Evaluation } #endregion + #region 参与率 + XSSFSheet participationRate = (XSSFSheet)hssfworkbook.GetSheet("参与率"); + + if (participationRateCount > 0) + { + var rowIndex = 1; + foreach (var vs in participationRateReport) + { + if (participationRate.GetRow(rowIndex) == null) participationRate.CreateRow(rowIndex); + //报告日期 + if (participationRate.GetRow(rowIndex).GetCell(0) == null) participationRate.GetRow(rowIndex).CreateCell(0); + participationRate.GetRow(rowIndex).GetCell(0).SetCellValue(vs.ReportMonth); + participationRate.GetRow(rowIndex).GetCell(0).CellStyle = fontStyle; + //部门 + if (participationRate.GetRow(rowIndex).GetCell(1) == null) participationRate.GetRow(rowIndex).CreateCell(1); + participationRate.GetRow(rowIndex).GetCell(1).SetCellValue(vs.Depart); + participationRate.GetRow(rowIndex).GetCell(1).CellStyle = fontStyle; + //团队 + if (participationRate.GetRow(rowIndex).GetCell(2) == null) participationRate.GetRow(rowIndex).CreateCell(2); + participationRate.GetRow(rowIndex).GetCell(2).SetCellValue(vs.Team); + participationRate.GetRow(rowIndex).GetCell(2).CellStyle = fontStyle; + //参与率 + if (participationRate.GetRow(rowIndex).GetCell(3) == null) participationRate.GetRow(rowIndex).CreateCell(3); + participationRate.GetRow(rowIndex).GetCell(3).SetCellValue(vs.Participation_Rate != null ? (vs.Participation_Rate * 100).ToString() + "%" : "0"); + participationRate.GetRow(rowIndex).GetCell(3).CellStyle = styleQfw; + //参与率类型 + if (participationRate.GetRow(rowIndex).GetCell(4) == null) participationRate.GetRow(rowIndex).CreateCell(4); + participationRate.GetRow(rowIndex).GetCell(4).SetCellValue(vs.Participation_Rate_Type); + participationRate.GetRow(rowIndex).GetCell(4).CellStyle = fontStyle; + //合同类型 + if (participationRate.GetRow(rowIndex).GetCell(5) == null) participationRate.GetRow(rowIndex).CreateCell(5); + participationRate.GetRow(rowIndex).GetCell(5).SetCellValue(vs.IsSafe == true ? "安全" : "常规"); + participationRate.GetRow(rowIndex).GetCell(5).CellStyle = fontStyle; + + if ((int)((90 * (rowIndex + punishCount + cmListCount + conListCount + overviewCount + safeOverviewCount + noEvaluatedUserCount)) / totalNum) > percent) + { + percent = (int)(100 * (rowIndex + punishCount + cmListCount + conListCount + overviewCount + safeOverviewCount + noEvaluatedUserCount) / totalNum); + } + rowIndex++; + } + } + + #endregion + + #region 合同结算金额 + XSSFSheet settlement = (XSSFSheet)hssfworkbook.GetSheet("合同结算金额"); + if (sesReportCount > 0) + { + var rowSesIndex = 1; + foreach (var item in sesReportList) + { + if (settlement.GetRow(rowSesIndex) == null) settlement.CreateRow(rowSesIndex); + #region 列赋值 + //合同号 + if (settlement.GetRow(rowSesIndex).GetCell(0) == null) settlement.GetRow(rowSesIndex).CreateCell(0); + settlement.GetRow(rowSesIndex).GetCell(0).SetCellValue(item.FO); + settlement.GetRow(rowSesIndex).GetCell(0).CellStyle = fontStyle; + //工单号 + if (settlement.GetRow(rowSesIndex).GetCell(1) == null) settlement.GetRow(rowSesIndex).CreateCell(1); + settlement.GetRow(rowSesIndex).GetCell(1).SetCellValue(item.SES_No); + settlement.GetRow(rowSesIndex).GetCell(1).CellStyle = fontStyle; + //工单预算金额 + if (settlement.GetRow(rowSesIndex).GetCell(2) == null) settlement.GetRow(rowSesIndex).CreateCell(2); + settlement.GetRow(rowSesIndex).GetCell(2).SetCellValue(item.SSR_budget.HasValue ? item.SSR_budget.Value.ToString("#.0") : ""); + settlement.GetRow(rowSesIndex).GetCell(2).CellStyle = fontStyle; + //工单结算金额 + if (settlement.GetRow(rowSesIndex).GetCell(3) == null) settlement.GetRow(rowSesIndex).CreateCell(3); + settlement.GetRow(rowSesIndex).GetCell(3).SetCellValue(item.SSR_Actual_cost.HasValue ? item.SSR_Actual_cost.Value.ToString("#.0") : ""); + settlement.GetRow(rowSesIndex).GetCell(3).CellStyle = fontStyle; + //工单结算时间 + if (settlement.GetRow(rowSesIndex).GetCell(4) == null) settlement.GetRow(rowSesIndex).CreateCell(4); + settlement.GetRow(rowSesIndex).GetCell(4).SetCellValue(item.SES_Confirmed_on.HasValue ? string.Format("{0:yyyy-MM}", item.SES_Confirmed_on) : ""); + settlement.GetRow(rowSesIndex).GetCell(4).CellStyle = fontStyle; + #endregion + if ((int)((90 * (rowSesIndex + punishCount + cmListCount + conListCount + overviewCount + safeOverviewCount+ noEvaluatedUserCount+ participationRateCount)) / totalNum) > percent) + { + percent = (int)(100 * (rowSesIndex + punishCount + cmListCount + conListCount + overviewCount + safeOverviewCount + noEvaluatedUserCount + participationRateCount) / totalNum); + } + rowSesIndex++; + } + } + #endregion + ws.ForceFormulaRecalculation = true; //ws4.ForceFormulaRecalculation = true; wsCm.ForceFormulaRecalculation = true; wss.ForceFormulaRecalculation = true; wssafe.ForceFormulaRecalculation = true; wsevalu.ForceFormulaRecalculation = true; + participationRate.ForceFormulaRecalculation = true; + settlement.ForceFormulaRecalculation = true; //using (FileStream filess = File.OpenWrite(ReportFileName)) //{ - //hssfworkbook.Write(filess); + //hssfworkbook.Write(filess); //filess.Flush(); //filess.Close(); //} @@ -2440,15 +2705,41 @@ namespace FineUIPro.Web.Evaluation #endregion } + #endregion - private void ExportEN(List punishList, List cmList, List conList, List OverviewReport, List safeOverviewReport, List noEvaluatedUser) + #region 导出英文版 + /// + /// 导出英文版 + /// + /// + /// + protected void btnExportEN_Click(object sender, EventArgs e) + { + percent = 0; + url = ""; + List punishList = (from x in Funs.DB.View_EMC_Punishment where x.Flag == "1" select x).ToList(); + List cmList = (from x in Funs.DB.View_FC_ContractManagement where x.IsExport == true orderby x.FO_NO, x.FileType select x).ToList(); + List conList = (from x in Funs.DB.View_FC_Contractor where x.FC_Status == "Valid" || x.FC_Status == "Expired Soon" orderby x.Contractor, x.Expire_Date select x).ToList(); + List overviewReport = (from x in Funs.DB.FC_OverviewReport where x.IsSafe == false orderby x.ReportMonth, x.FO_NO select x).ToList(); + List safeOverviewReport = (from x in Funs.DB.FC_OverviewReport where x.IsSafe == true orderby x.ReportMonth, x.FO_NO select x).ToList(); + List noEvaluatedUser = (from x in Funs.DB.FC_NoEvaluatedUser orderby x.ReportMonth, x.IsSafe select x).ToList(); + List participationRateReport = (from x in Funs.DB.FC_BigDepartEvaRate orderby x.ReportMonth, x.Team select x).ToList(); + List sesReportList = (from x in Funs.DB.FC_SESReport where x.Accepted != "" && x.Accepted != null select x).ToList(); + + Thread t = new Thread(new ThreadStart(() => { ExportEN(punishList, cmList, conList, overviewReport, safeOverviewReport, noEvaluatedUser, participationRateReport, sesReportList); })); + t.Start(); + PageContext.RegisterStartupScript("showProcessBar()"); + } + private void ExportEN(List punishList, List cmList, List conList, List OverviewReport, List safeOverviewReport, List noEvaluatedUser,List participationRateReport, List sesReportList) { int punishCount = punishList.Count(); int cmListCount = cmList.Count(); int conListCount = conList.Count(); int overviewCount = OverviewReport.Count; int safeOverviewCount = safeOverviewReport.Count; - int totalNum = punishCount + cmListCount + conListCount + overviewCount + safeOverviewCount + noEvaluatedUser.Count; + int participationRateCount = participationRateReport.Count; + int sesReportCount = sesReportList.Count(); + int totalNum = punishCount + cmListCount + conListCount + overviewCount + safeOverviewCount + noEvaluatedUser.Count + participationRateCount + sesReportCount; #region string rootPath = Server.MapPath("~/") + Const.ExcelUrl; //模板文件 @@ -2550,35 +2841,37 @@ namespace FineUIPro.Web.Evaluation if (ws.GetRow(rowIndex).GetCell(9) == null) ws.GetRow(rowIndex).CreateCell(9); ws.GetRow(rowIndex).GetCell(9).SetCellValue(p.ContractorEn); if (ws.GetRow(rowIndex).GetCell(10) == null) ws.GetRow(rowIndex).CreateCell(10); - ws.GetRow(rowIndex).GetCell(10).SetCellValue(p.Location); + ws.GetRow(rowIndex).GetCell(10).SetCellValue(p.ContractorShortName); if (ws.GetRow(rowIndex).GetCell(11) == null) ws.GetRow(rowIndex).CreateCell(11); - ws.GetRow(rowIndex).GetCell(11).SetCellValue(p.Description); + ws.GetRow(rowIndex).GetCell(11).SetCellValue(p.Location); if (ws.GetRow(rowIndex).GetCell(12) == null) ws.GetRow(rowIndex).CreateCell(12); - ws.GetRow(rowIndex).GetCell(12).SetCellValue(p.Company != null ? p.Company.Value.ToString("0.00") : ""); + ws.GetRow(rowIndex).GetCell(12).SetCellValue(p.Description); if (ws.GetRow(rowIndex).GetCell(13) == null) ws.GetRow(rowIndex).CreateCell(13); - ws.GetRow(rowIndex).GetCell(13).SetCellValue(p.Individual != null ? p.Individual.Value.ToString("0.00") : ""); + ws.GetRow(rowIndex).GetCell(13).SetCellValue(p.Company != null ? p.Company.Value.ToString("0.00") : ""); if (ws.GetRow(rowIndex).GetCell(14) == null) ws.GetRow(rowIndex).CreateCell(14); - ws.GetRow(rowIndex).GetCell(14).SetCellValue(p.Backcharge != null ? p.Backcharge.Value.ToString("0.00") : ""); + ws.GetRow(rowIndex).GetCell(14).SetCellValue(p.Individual != null ? p.Individual.Value.ToString("0.00") : ""); if (ws.GetRow(rowIndex).GetCell(15) == null) ws.GetRow(rowIndex).CreateCell(15); - ws.GetRow(rowIndex).GetCell(15).SetCellValue(p.ViolationDegree); + ws.GetRow(rowIndex).GetCell(15).SetCellValue(p.Backcharge != null ? p.Backcharge.Value.ToString("0.00") : ""); if (ws.GetRow(rowIndex).GetCell(16) == null) ws.GetRow(rowIndex).CreateCell(16); - ws.GetRow(rowIndex).GetCell(16).SetCellValue(p.Contract_Admin); + ws.GetRow(rowIndex).GetCell(16).SetCellValue(p.ViolationDegree); if (ws.GetRow(rowIndex).GetCell(17) == null) ws.GetRow(rowIndex).CreateCell(17); - ws.GetRow(rowIndex).GetCell(17).SetCellValue(p.Main_Coordinator); + ws.GetRow(rowIndex).GetCell(17).SetCellValue(p.Contract_Admin); if (ws.GetRow(rowIndex).GetCell(18) == null) ws.GetRow(rowIndex).CreateCell(18); - ws.GetRow(rowIndex).GetCell(18).SetCellValue(p.MCDept); + ws.GetRow(rowIndex).GetCell(18).SetCellValue(p.Main_Coordinator); if (ws.GetRow(rowIndex).GetCell(19) == null) ws.GetRow(rowIndex).CreateCell(19); - ws.GetRow(rowIndex).GetCell(19).SetCellValue(p.User_Representative); + ws.GetRow(rowIndex).GetCell(19).SetCellValue(p.MCDept); if (ws.GetRow(rowIndex).GetCell(20) == null) ws.GetRow(rowIndex).CreateCell(20); - ws.GetRow(rowIndex).GetCell(20).SetCellValue(p.BYCRU); + ws.GetRow(rowIndex).GetCell(20).SetCellValue(p.User_Representative); if (ws.GetRow(rowIndex).GetCell(21) == null) ws.GetRow(rowIndex).CreateCell(21); - ws.GetRow(rowIndex).GetCell(21).SetCellValue(p.Violation_Inspector_Name); + ws.GetRow(rowIndex).GetCell(21).SetCellValue(p.BYCRU); if (ws.GetRow(rowIndex).GetCell(22) == null) ws.GetRow(rowIndex).CreateCell(22); - ws.GetRow(rowIndex).GetCell(22).SetCellValue(p.InspectionDep); + ws.GetRow(rowIndex).GetCell(22).SetCellValue(p.Violation_Inspector_Name); if (ws.GetRow(rowIndex).GetCell(23) == null) ws.GetRow(rowIndex).CreateCell(23); - ws.GetRow(rowIndex).GetCell(23).SetCellValue(p.SES_No); + ws.GetRow(rowIndex).GetCell(23).SetCellValue(p.InspectionDep); if (ws.GetRow(rowIndex).GetCell(24) == null) ws.GetRow(rowIndex).CreateCell(24); - ws.GetRow(rowIndex).GetCell(24).SetCellValue(p.CompletionDate != null ? p.CompletionDate.Value.ToString("yyyy/MM/dd") : ""); + ws.GetRow(rowIndex).GetCell(24).SetCellValue(p.SES_No); + if (ws.GetRow(rowIndex).GetCell(25) == null) ws.GetRow(rowIndex).CreateCell(25); + ws.GetRow(rowIndex).GetCell(25).SetCellValue(p.CompletionDate != null ? p.CompletionDate.Value.ToString("yyyy/MM/dd") : ""); if ((int)(90 * (rowIndex) / totalNum) > percent) { @@ -2688,19 +2981,21 @@ namespace FineUIPro.Web.Evaluation if (wsCm.GetRow(rowIndex).GetCell(7) == null) wsCm.GetRow(rowIndex).CreateCell(7); wsCm.GetRow(rowIndex).GetCell(7).SetCellValue(p.ContractorEn); if (wsCm.GetRow(rowIndex).GetCell(8) == null) wsCm.GetRow(rowIndex).CreateCell(8); - wsCm.GetRow(rowIndex).GetCell(8).SetCellValue(p.Remark); + wsCm.GetRow(rowIndex).GetCell(8).SetCellValue(p.ContractorShortName); if (wsCm.GetRow(rowIndex).GetCell(9) == null) wsCm.GetRow(rowIndex).CreateCell(9); - wsCm.GetRow(rowIndex).GetCell(9).SetCellValue(p.FileType); + wsCm.GetRow(rowIndex).GetCell(9).SetCellValue(p.Remark); if (wsCm.GetRow(rowIndex).GetCell(10) == null) wsCm.GetRow(rowIndex).CreateCell(10); - wsCm.GetRow(rowIndex).GetCell(10).SetCellValue(p.Contract_Admin); + wsCm.GetRow(rowIndex).GetCell(10).SetCellValue(p.FileType); if (wsCm.GetRow(rowIndex).GetCell(11) == null) wsCm.GetRow(rowIndex).CreateCell(11); - wsCm.GetRow(rowIndex).GetCell(11).SetCellValue(p.Main_Coordinator); + wsCm.GetRow(rowIndex).GetCell(11).SetCellValue(p.Contract_Admin); if (wsCm.GetRow(rowIndex).GetCell(12) == null) wsCm.GetRow(rowIndex).CreateCell(12); - wsCm.GetRow(rowIndex).GetCell(12).SetCellValue(p.MCDept); + wsCm.GetRow(rowIndex).GetCell(12).SetCellValue(p.Main_Coordinator); if (wsCm.GetRow(rowIndex).GetCell(13) == null) wsCm.GetRow(rowIndex).CreateCell(13); - wsCm.GetRow(rowIndex).GetCell(13).SetCellValue(p.User_Representative); + wsCm.GetRow(rowIndex).GetCell(13).SetCellValue(p.MCDept); if (wsCm.GetRow(rowIndex).GetCell(14) == null) wsCm.GetRow(rowIndex).CreateCell(14); - wsCm.GetRow(rowIndex).GetCell(14).SetCellValue(p.BycDept); + wsCm.GetRow(rowIndex).GetCell(14).SetCellValue(p.User_Representative); + if (wsCm.GetRow(rowIndex).GetCell(15) == null) wsCm.GetRow(rowIndex).CreateCell(15); + wsCm.GetRow(rowIndex).GetCell(15).SetCellValue(p.BycDept); if ((int)((90 * (rowIndex + punishCount)) / totalNum) > percent) { @@ -2719,14 +3014,27 @@ namespace FineUIPro.Web.Evaluation foreach (var p in conList) { if (wsCon.GetRow(rowIndex) == null) wsCon.CreateRow(rowIndex); + //专业 if (wsCon.GetRow(rowIndex).GetCell(0) == null) wsCon.GetRow(rowIndex).CreateCell(0); - wsCon.GetRow(rowIndex).GetCell(0).SetCellValue(p.Contractor); + wsCon.GetRow(rowIndex).GetCell(0).SetCellValue(p.Discipline); + //承包商 if (wsCon.GetRow(rowIndex).GetCell(1) == null) wsCon.GetRow(rowIndex).CreateCell(1); - wsCon.GetRow(rowIndex).GetCell(1).SetCellValue(p.FO_NO); + wsCon.GetRow(rowIndex).GetCell(1).SetCellValue(p.Contractor); + //承包商(简称) if (wsCon.GetRow(rowIndex).GetCell(2) == null) wsCon.GetRow(rowIndex).CreateCell(2); - wsCon.GetRow(rowIndex).GetCell(2).SetCellValue(p.FC_Status); + wsCon.GetRow(rowIndex).GetCell(2).SetCellValue(p.ContractorShortName); + //合同号 if (wsCon.GetRow(rowIndex).GetCell(3) == null) wsCon.GetRow(rowIndex).CreateCell(3); - wsCon.GetRow(rowIndex).GetCell(3).SetCellValue(p.Expire_Date != null ? p.Expire_Date.Value.ToString("yyyy/MM/dd") : ""); + wsCon.GetRow(rowIndex).GetCell(3).SetCellValue(p.FO_NO); + //合同状态 + if (wsCon.GetRow(rowIndex).GetCell(4) == null) wsCon.GetRow(rowIndex).CreateCell(4); + wsCon.GetRow(rowIndex).GetCell(4).SetCellValue(p.FC_Status); + //生效时间 + if (wsCon.GetRow(rowIndex).GetCell(5) == null) wsCon.GetRow(rowIndex).CreateCell(5); + wsCon.GetRow(rowIndex).GetCell(5).SetCellValue(p.Validate_Date != null ? p.Validate_Date.Value.ToString("yyyy/MM/dd") : ""); + //到期时间 + if (wsCon.GetRow(rowIndex).GetCell(6) == null) wsCon.GetRow(rowIndex).CreateCell(6); + wsCon.GetRow(rowIndex).GetCell(6).SetCellValue(p.Expire_Date != null ? p.Expire_Date.Value.ToString("yyyy/MM/dd") : ""); if ((int)((90 * (rowIndex + punishCount + cmListCount)) / totalNum) > percent) { @@ -2763,78 +3071,90 @@ namespace FineUIPro.Web.Evaluation wss.GetRow(rowIndex).GetCell(3).CellStyle = fontStyle; if (wss.GetRow(rowIndex).GetCell(4) == null) wss.GetRow(rowIndex).CreateCell(4); - wss.GetRow(rowIndex).GetCell(4).SetCellValue(vs.Main_Coordinator); - wss.GetRow(rowIndex).GetCell(4).CellStyle = styleQfw1; + wss.GetRow(rowIndex).GetCell(4).SetCellValue(vs.ContractorCN); + wss.GetRow(rowIndex).GetCell(4).CellStyle = fontStyle; if (wss.GetRow(rowIndex).GetCell(5) == null) wss.GetRow(rowIndex).CreateCell(5); - wss.GetRow(rowIndex).GetCell(5).SetCellValue(vs.Total != null ? float.Parse(vs.Total.ToString()) : 0); - wss.GetRow(rowIndex).GetCell(5).CellStyle = rateStyle; + wss.GetRow(rowIndex).GetCell(5).SetCellValue(vs.ContractorEN); + wss.GetRow(rowIndex).GetCell(5).CellStyle = fontStyle; if (wss.GetRow(rowIndex).GetCell(6) == null) wss.GetRow(rowIndex).CreateCell(6); - wss.GetRow(rowIndex).GetCell(6).SetCellValue(vs.Participation_Rate != null ? vs.Participation_Rate.ToString() + "%" : "0"); - wss.GetRow(rowIndex).GetCell(6).CellStyle = styleQfw; + wss.GetRow(rowIndex).GetCell(6).SetCellValue(vs.ContractorShortName); + wss.GetRow(rowIndex).GetCell(6).CellStyle = fontStyle; if (wss.GetRow(rowIndex).GetCell(7) == null) wss.GetRow(rowIndex).CreateCell(7); - wss.GetRow(rowIndex).GetCell(7).SetCellValue(vs.TotalAvgScore1 != null ? vs.TotalAvgScore1.ToString() : ""); - wss.GetRow(rowIndex).GetCell(7).CellStyle = styleQfw; + wss.GetRow(rowIndex).GetCell(7).SetCellValue(vs.Main_Coordinator); + wss.GetRow(rowIndex).GetCell(7).CellStyle = styleQfw1; if (wss.GetRow(rowIndex).GetCell(8) == null) wss.GetRow(rowIndex).CreateCell(8); - wss.GetRow(rowIndex).GetCell(8).SetCellValue(vs.TotalAvgScore2 != null ? vs.TotalAvgScore2.ToString() : ""); - wss.GetRow(rowIndex).GetCell(8).CellStyle = styleQfw; + wss.GetRow(rowIndex).GetCell(8).SetCellValue(vs.Total != null ? float.Parse(vs.Total.ToString()) : 0); + wss.GetRow(rowIndex).GetCell(8).CellStyle = rateStyle; if (wss.GetRow(rowIndex).GetCell(9) == null) wss.GetRow(rowIndex).CreateCell(9); - wss.GetRow(rowIndex).GetCell(9).SetCellValue(vs.TotalAvgScore3 != null ? vs.TotalAvgScore3.ToString() : ""); + wss.GetRow(rowIndex).GetCell(9).SetCellValue(vs.Participation_Rate != null ? vs.Participation_Rate.ToString() + "%" : "0"); wss.GetRow(rowIndex).GetCell(9).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(10) == null) wss.GetRow(rowIndex).CreateCell(10); - wss.GetRow(rowIndex).GetCell(10).SetCellValue(vs.CTSSAvgScore != null ? vs.CTSSAvgScore.ToString() : ""); + wss.GetRow(rowIndex).GetCell(10).SetCellValue(vs.TotalAvgScore1 != null ? vs.TotalAvgScore1.ToString() : ""); wss.GetRow(rowIndex).GetCell(10).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(11) == null) wss.GetRow(rowIndex).CreateCell(11); - wss.GetRow(rowIndex).GetCell(11).SetCellValue(vs.CTSCAvgScore != null ? vs.CTSCAvgScore.ToString() : ""); + wss.GetRow(rowIndex).GetCell(11).SetCellValue(vs.TotalAvgScore2 != null ? vs.TotalAvgScore2.ToString() : ""); wss.GetRow(rowIndex).GetCell(11).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(12) == null) wss.GetRow(rowIndex).CreateCell(12); - decimal? tnum = (vs.TotalAvgScore3 != null ? vs.TotalAvgScore3 : 0) + (vs.CTSSAvgScore != null ? vs.CTSSAvgScore : 0) + (vs.CTSCAvgScore != null ? vs.CTSCAvgScore : 0); - wss.GetRow(rowIndex).GetCell(12).SetCellValue(tnum != null && tnum != 0 ? tnum.ToString() : ""); + wss.GetRow(rowIndex).GetCell(12).SetCellValue(vs.TotalAvgScore3 != null ? vs.TotalAvgScore3.ToString() : ""); wss.GetRow(rowIndex).GetCell(12).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(13) == null) wss.GetRow(rowIndex).CreateCell(13); - wss.GetRow(rowIndex).GetCell(13).SetCellValue(vs.TotalAvgScore4 != null ? vs.TotalAvgScore4.ToString() : ""); + wss.GetRow(rowIndex).GetCell(13).SetCellValue(vs.CTSSAvgScore != null ? vs.CTSSAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(13).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(14) == null) wss.GetRow(rowIndex).CreateCell(14); - wss.GetRow(rowIndex).GetCell(14).SetCellValue(vs.TotalAvgScore5 != null ? vs.TotalAvgScore5.ToString() : ""); + wss.GetRow(rowIndex).GetCell(14).SetCellValue(vs.CTSCAvgScore != null ? vs.CTSCAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(14).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(15) == null) wss.GetRow(rowIndex).CreateCell(15); - wss.GetRow(rowIndex).GetCell(15).SetCellValue(vs.TotalAvgScore6 != null ? vs.TotalAvgScore6.ToString() : ""); + decimal? tnum = (vs.TotalAvgScore3 != null ? vs.TotalAvgScore3 : 0) + (vs.CTSSAvgScore != null ? vs.CTSSAvgScore : 0) + (vs.CTSCAvgScore != null ? vs.CTSCAvgScore : 0); + wss.GetRow(rowIndex).GetCell(15).SetCellValue(tnum != null && tnum != 0 ? tnum.ToString() : ""); wss.GetRow(rowIndex).GetCell(15).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(16) == null) wss.GetRow(rowIndex).CreateCell(16); - wss.GetRow(rowIndex).GetCell(16).SetCellValue(vs.TimelyAvgSocre != null ? vs.TimelyAvgSocre.ToString() : ""); + wss.GetRow(rowIndex).GetCell(16).SetCellValue(vs.TotalAvgScore4 != null ? vs.TotalAvgScore4.ToString() : ""); wss.GetRow(rowIndex).GetCell(16).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(17) == null) wss.GetRow(rowIndex).CreateCell(17); - wss.GetRow(rowIndex).GetCell(17).SetCellValue(vs.HonestyAvgScore != null ? vs.HonestyAvgScore.ToString() : ""); + wss.GetRow(rowIndex).GetCell(17).SetCellValue(vs.TotalAvgScore5 != null ? vs.TotalAvgScore5.ToString() : ""); wss.GetRow(rowIndex).GetCell(17).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(18) == null) wss.GetRow(rowIndex).CreateCell(18); - wss.GetRow(rowIndex).GetCell(18).SetCellValue(vs.MainCoordinatorAvgScore != null ? vs.MainCoordinatorAvgScore.ToString() : ""); + wss.GetRow(rowIndex).GetCell(18).SetCellValue(vs.TotalAvgScore6 != null ? vs.TotalAvgScore6.ToString() : ""); wss.GetRow(rowIndex).GetCell(18).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(19) == null) wss.GetRow(rowIndex).CreateCell(19); - wss.GetRow(rowIndex).GetCell(19).SetCellValue(vs.UserRepresentativeAvgScore != null ? vs.UserRepresentativeAvgScore.ToString() : ""); + wss.GetRow(rowIndex).GetCell(19).SetCellValue(vs.TimelyAvgSocre != null ? vs.TimelyAvgSocre.ToString() : ""); wss.GetRow(rowIndex).GetCell(19).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(20) == null) wss.GetRow(rowIndex).CreateCell(20); - wss.GetRow(rowIndex).GetCell(20).SetCellValue(vs.CTSTAvgScore != null ? vs.CTSTAvgScore.ToString() : ""); + wss.GetRow(rowIndex).GetCell(20).SetCellValue(vs.HonestyAvgScore != null ? vs.HonestyAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(20).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(21) == null) wss.GetRow(rowIndex).CreateCell(21); - wss.GetRow(rowIndex).GetCell(21).SetCellValue(vs.CTEDAvgScore != null ? vs.CTEDAvgScore.ToString() : ""); + wss.GetRow(rowIndex).GetCell(21).SetCellValue(vs.MainCoordinatorAvgScore != null ? vs.MainCoordinatorAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(21).CellStyle = styleQfw; + if (wss.GetRow(rowIndex).GetCell(22) == null) wss.GetRow(rowIndex).CreateCell(22); + wss.GetRow(rowIndex).GetCell(22).SetCellValue(vs.UserRepresentativeAvgScore != null ? vs.UserRepresentativeAvgScore.ToString() : ""); + wss.GetRow(rowIndex).GetCell(22).CellStyle = styleQfw; + + if (wss.GetRow(rowIndex).GetCell(23) == null) wss.GetRow(rowIndex).CreateCell(23); + wss.GetRow(rowIndex).GetCell(23).SetCellValue(vs.CTSTAvgScore != null ? vs.CTSTAvgScore.ToString() : ""); + wss.GetRow(rowIndex).GetCell(23).CellStyle = styleQfw; + + if (wss.GetRow(rowIndex).GetCell(24) == null) wss.GetRow(rowIndex).CreateCell(24); + wss.GetRow(rowIndex).GetCell(24).SetCellValue(vs.CTEDAvgScore != null ? vs.CTEDAvgScore.ToString() : ""); + wss.GetRow(rowIndex).GetCell(24).CellStyle = styleQfw; + #endregion if ((int)((90 * (rowIndex + punishCount + cmListCount + conListCount)) / totalNum) > percent) { @@ -2873,74 +3193,86 @@ namespace FineUIPro.Web.Evaluation wssafe.GetRow(rowIndex).GetCell(3).CellStyle = fontStyle; if (wssafe.GetRow(rowIndex).GetCell(4) == null) wssafe.GetRow(rowIndex).CreateCell(4); - wssafe.GetRow(rowIndex).GetCell(4).SetCellValue(vs.Main_Coordinator); - wssafe.GetRow(rowIndex).GetCell(4).CellStyle = styleQfw1; + wssafe.GetRow(rowIndex).GetCell(4).SetCellValue(vs.ContractorCN); + wssafe.GetRow(rowIndex).GetCell(4).CellStyle = fontStyle; if (wssafe.GetRow(rowIndex).GetCell(5) == null) wssafe.GetRow(rowIndex).CreateCell(5); - wssafe.GetRow(rowIndex).GetCell(5).SetCellValue(vs.Total != null ? float.Parse(vs.Total.ToString()) : 0); - wssafe.GetRow(rowIndex).GetCell(5).CellStyle = rateStyle; + wssafe.GetRow(rowIndex).GetCell(5).SetCellValue(vs.ContractorEN); + wssafe.GetRow(rowIndex).GetCell(5).CellStyle = fontStyle; if (wssafe.GetRow(rowIndex).GetCell(6) == null) wssafe.GetRow(rowIndex).CreateCell(6); - wssafe.GetRow(rowIndex).GetCell(6).SetCellValue(vs.Participation_Rate != null ? vs.Participation_Rate.ToString() + "%" : "0"); - wssafe.GetRow(rowIndex).GetCell(6).CellStyle = styleQfw; + wssafe.GetRow(rowIndex).GetCell(6).SetCellValue(vs.ContractorShortName); + wssafe.GetRow(rowIndex).GetCell(6).CellStyle = fontStyle; if (wssafe.GetRow(rowIndex).GetCell(7) == null) wssafe.GetRow(rowIndex).CreateCell(7); - wssafe.GetRow(rowIndex).GetCell(7).SetCellValue(vs.TotalAvgScore1 != null ? vs.TotalAvgScore1.ToString() : ""); - wssafe.GetRow(rowIndex).GetCell(7).CellStyle = styleQfw; + wssafe.GetRow(rowIndex).GetCell(7).SetCellValue(vs.Main_Coordinator); + wssafe.GetRow(rowIndex).GetCell(7).CellStyle = styleQfw1; if (wssafe.GetRow(rowIndex).GetCell(8) == null) wssafe.GetRow(rowIndex).CreateCell(8); - wssafe.GetRow(rowIndex).GetCell(8).SetCellValue(vs.TotalAvgScore2 != null ? vs.TotalAvgScore2.ToString() : ""); - wssafe.GetRow(rowIndex).GetCell(8).CellStyle = styleQfw; + wssafe.GetRow(rowIndex).GetCell(8).SetCellValue(vs.Total != null ? float.Parse(vs.Total.ToString()) : 0); + wssafe.GetRow(rowIndex).GetCell(8).CellStyle = rateStyle; if (wssafe.GetRow(rowIndex).GetCell(9) == null) wssafe.GetRow(rowIndex).CreateCell(9); - wssafe.GetRow(rowIndex).GetCell(9).SetCellValue(vs.TotalAvgScore3 != null ? vs.TotalAvgScore3.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(9).SetCellValue(vs.Participation_Rate != null ? vs.Participation_Rate.ToString() + "%" : "0"); wssafe.GetRow(rowIndex).GetCell(9).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(10) == null) wssafe.GetRow(rowIndex).CreateCell(10); - wssafe.GetRow(rowIndex).GetCell(10).SetCellValue(vs.CTSSAvgScore != null ? vs.CTSSAvgScore.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(10).SetCellValue(vs.TotalAvgScore1 != null ? vs.TotalAvgScore1.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(10).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(11) == null) wssafe.GetRow(rowIndex).CreateCell(11); - wssafe.GetRow(rowIndex).GetCell(11).SetCellValue(vs.CTSCAvgScore != null ? vs.CTSCAvgScore.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(11).SetCellValue(vs.TotalAvgScore2 != null ? vs.TotalAvgScore2.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(11).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(12) == null) wssafe.GetRow(rowIndex).CreateCell(12); - decimal? tnum = (vs.TotalAvgScore3 != null ? vs.TotalAvgScore3 : 0) + (vs.CTSSAvgScore != null ? vs.CTSSAvgScore : 0) + (vs.CTSCAvgScore != null ? vs.CTSCAvgScore : 0); - wssafe.GetRow(rowIndex).GetCell(12).SetCellValue(tnum != null && tnum != 0 ? tnum.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(12).SetCellValue(vs.TotalAvgScore3 != null ? vs.TotalAvgScore3.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(12).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(13) == null) wssafe.GetRow(rowIndex).CreateCell(13); - wssafe.GetRow(rowIndex).GetCell(13).SetCellValue(vs.TotalAvgScore5 != null ? vs.TotalAvgScore5.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(13).SetCellValue(vs.CTSSAvgScore != null ? vs.CTSSAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(13).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(14) == null) wssafe.GetRow(rowIndex).CreateCell(14); - wssafe.GetRow(rowIndex).GetCell(14).SetCellValue(vs.TotalAvgScore6 != null ? vs.TotalAvgScore6.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(14).SetCellValue(vs.CTSCAvgScore != null ? vs.CTSCAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(14).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(15) == null) wssafe.GetRow(rowIndex).CreateCell(15); - wssafe.GetRow(rowIndex).GetCell(15).SetCellValue(vs.TimelyAvgSocre != null ? vs.TimelyAvgSocre.ToString() : ""); + decimal? tnum = (vs.TotalAvgScore3 != null ? vs.TotalAvgScore3 : 0) + (vs.CTSSAvgScore != null ? vs.CTSSAvgScore : 0) + (vs.CTSCAvgScore != null ? vs.CTSCAvgScore : 0); + wssafe.GetRow(rowIndex).GetCell(15).SetCellValue(tnum != null && tnum != 0 ? tnum.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(15).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(16) == null) wssafe.GetRow(rowIndex).CreateCell(16); - wssafe.GetRow(rowIndex).GetCell(16).SetCellValue(vs.HonestyAvgScore != null ? vs.HonestyAvgScore.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(16).SetCellValue(vs.TotalAvgScore5 != null ? vs.TotalAvgScore5.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(16).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(17) == null) wssafe.GetRow(rowIndex).CreateCell(17); - wssafe.GetRow(rowIndex).GetCell(17).SetCellValue(vs.MainCoordinatorAvgScore != null ? vs.MainCoordinatorAvgScore.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(17).SetCellValue(vs.TotalAvgScore6 != null ? vs.TotalAvgScore6.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(17).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(18) == null) wssafe.GetRow(rowIndex).CreateCell(18); - wssafe.GetRow(rowIndex).GetCell(18).SetCellValue(vs.UserRepresentativeAvgScore != null ? vs.UserRepresentativeAvgScore.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(18).SetCellValue(vs.TimelyAvgSocre != null ? vs.TimelyAvgSocre.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(18).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(19) == null) wssafe.GetRow(rowIndex).CreateCell(19); - wssafe.GetRow(rowIndex).GetCell(19).SetCellValue(vs.CTSTAvgScore != null ? vs.CTSTAvgScore.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(19).SetCellValue(vs.HonestyAvgScore != null ? vs.HonestyAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(19).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(20) == null) wssafe.GetRow(rowIndex).CreateCell(20); - wssafe.GetRow(rowIndex).GetCell(20).SetCellValue(vs.CTEDAvgScore != null ? vs.CTEDAvgScore.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(20).SetCellValue(vs.MainCoordinatorAvgScore != null ? vs.MainCoordinatorAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(20).CellStyle = styleQfw; + if (wssafe.GetRow(rowIndex).GetCell(21) == null) wssafe.GetRow(rowIndex).CreateCell(21); + wssafe.GetRow(rowIndex).GetCell(21).SetCellValue(vs.UserRepresentativeAvgScore != null ? vs.UserRepresentativeAvgScore.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(21).CellStyle = styleQfw; + + if (wssafe.GetRow(rowIndex).GetCell(22) == null) wssafe.GetRow(rowIndex).CreateCell(22); + wssafe.GetRow(rowIndex).GetCell(22).SetCellValue(vs.CTSTAvgScore != null ? vs.CTSTAvgScore.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(22).CellStyle = styleQfw; + + if (wssafe.GetRow(rowIndex).GetCell(23) == null) wssafe.GetRow(rowIndex).CreateCell(23); + wssafe.GetRow(rowIndex).GetCell(23).SetCellValue(vs.CTEDAvgScore != null ? vs.CTEDAvgScore.ToString() : ""); + wssafe.GetRow(rowIndex).GetCell(23).CellStyle = styleQfw; + #endregion if ((int)((90 * (rowIndex + punishCount + cmListCount + conListCount + overviewCount)) / totalNum) > percent) { @@ -2981,8 +3313,11 @@ namespace FineUIPro.Web.Evaluation wsevalu.GetRow(rowEvalIndex).GetCell(5).SetCellValue(item.RoleName); wsevalu.GetRow(rowEvalIndex).GetCell(5).CellStyle = fontStyle; if (wsevalu.GetRow(rowEvalIndex).GetCell(6) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(6); - wsevalu.GetRow(rowEvalIndex).GetCell(6).SetCellValue(item.DepartName); + wsevalu.GetRow(rowEvalIndex).GetCell(6).SetCellValue(item.DepartName.Substring(0, item.DepartName.LastIndexOf("/"))); wsevalu.GetRow(rowEvalIndex).GetCell(6).CellStyle = fontStyle; + if (wsevalu.GetRow(rowEvalIndex).GetCell(7) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(7); + wsevalu.GetRow(rowEvalIndex).GetCell(7).SetCellValue(item.DepartName); + wsevalu.GetRow(rowEvalIndex).GetCell(7).CellStyle = fontStyle; //if (wsevalu.GetRow(rowEvalIndex).GetCell(6) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(6); //wsevalu.GetRow(rowEvalIndex).GetCell(6).SetCellValue(item.NotEvaluatedFoNo); //wsevalu.GetRow(rowEvalIndex).GetCell(6).CellStyle = fontStyle; @@ -2994,13 +3329,13 @@ namespace FineUIPro.Web.Evaluation { if (findex < 250) { - if (wsevalu.GetRow(0).GetCell(7 + findex) == null) wsevalu.GetRow(0).CreateCell(7 + findex); - wsevalu.GetRow(0).GetCell(7 + findex).SetCellValue("Contract No. \r\nNot Evaluated" + (findex + 1).ToString()); - wsevalu.GetRow(0).GetCell(7 + findex).CellStyle = wsevalu.GetRow(0).GetCell(7).CellStyle; + if (wsevalu.GetRow(0).GetCell(8 + findex) == null) wsevalu.GetRow(0).CreateCell(8 + findex); + wsevalu.GetRow(0).GetCell(8 + findex).SetCellValue("Contract No. \r\nNot Evaluated" + (findex + 1).ToString()); + wsevalu.GetRow(0).GetCell(8 + findex).CellStyle = wsevalu.GetRow(0).GetCell(8).CellStyle; - if (wsevalu.GetRow(rowEvalIndex).GetCell(7 + findex) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(7 + findex); - wsevalu.GetRow(rowEvalIndex).GetCell(7 + findex).SetCellValue(itemFoNo); - wsevalu.GetRow(rowEvalIndex).GetCell(7 + findex).CellStyle = fontStyle; + if (wsevalu.GetRow(rowEvalIndex).GetCell(8 + findex) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(8 + findex); + wsevalu.GetRow(rowEvalIndex).GetCell(8 + findex).SetCellValue(itemFoNo); + wsevalu.GetRow(rowEvalIndex).GetCell(8 + findex).CellStyle = fontStyle; } else { @@ -3025,12 +3360,96 @@ namespace FineUIPro.Web.Evaluation } #endregion + #region 参与率 + XSSFSheet participationRate = (XSSFSheet)hssfworkbook.GetSheet("Participation rate"); + if (participationRateCount > 0) + { + var rowIndex = 1; + foreach (var vs in participationRateReport) + { + if (participationRate.GetRow(rowIndex) == null) participationRate.CreateRow(rowIndex); + //报告日期 + if (participationRate.GetRow(rowIndex).GetCell(0) == null) participationRate.GetRow(rowIndex).CreateCell(0); + participationRate.GetRow(rowIndex).GetCell(0).SetCellValue(vs.ReportMonth); + participationRate.GetRow(rowIndex).GetCell(0).CellStyle = fontStyle; + //部门 + if (participationRate.GetRow(rowIndex).GetCell(1) == null) participationRate.GetRow(rowIndex).CreateCell(1); + participationRate.GetRow(rowIndex).GetCell(1).SetCellValue(vs.Depart); + participationRate.GetRow(rowIndex).GetCell(1).CellStyle = fontStyle; + //团队 + if (participationRate.GetRow(rowIndex).GetCell(2) == null) participationRate.GetRow(rowIndex).CreateCell(2); + participationRate.GetRow(rowIndex).GetCell(2).SetCellValue(vs.Team); + participationRate.GetRow(rowIndex).GetCell(2).CellStyle = fontStyle; + //参与率 + if (participationRate.GetRow(rowIndex).GetCell(3) == null) participationRate.GetRow(rowIndex).CreateCell(3); + participationRate.GetRow(rowIndex).GetCell(3).SetCellValue(vs.Participation_Rate != null ? (vs.Participation_Rate * 100).ToString() + "%" : "0"); + participationRate.GetRow(rowIndex).GetCell(3).CellStyle = styleQfw; + //参与率类型 + if (participationRate.GetRow(rowIndex).GetCell(4) == null) participationRate.GetRow(rowIndex).CreateCell(4); + participationRate.GetRow(rowIndex).GetCell(4).SetCellValue(vs.Participation_Rate_Type); + participationRate.GetRow(rowIndex).GetCell(4).CellStyle = fontStyle; + //合同类型 + if (participationRate.GetRow(rowIndex).GetCell(5) == null) participationRate.GetRow(rowIndex).CreateCell(5); + participationRate.GetRow(rowIndex).GetCell(5).SetCellValue(vs.IsSafe == true ? "安全" : "常规"); + participationRate.GetRow(rowIndex).GetCell(5).CellStyle = fontStyle; + + if ((int)((90 * (rowIndex + punishCount + cmListCount + conListCount + overviewCount + safeOverviewCount + noEvaluatedUser.Count)) / totalNum) > percent) + { + percent = (int)(100 * (rowIndex + punishCount + cmListCount + conListCount + overviewCount + safeOverviewCount + noEvaluatedUser.Count) / totalNum); + } + rowIndex++; + } + } + + #endregion + + #region 合同结算金额 + XSSFSheet settlement = (XSSFSheet)hssfworkbook.GetSheet("Contract settlement amount"); + if (sesReportCount > 0) + { + var rowSesIndex = 1; + foreach (var item in sesReportList) + { + if (settlement.GetRow(rowSesIndex) == null) settlement.CreateRow(rowSesIndex); + #region 列赋值 + //合同号 + if (settlement.GetRow(rowSesIndex).GetCell(0) == null) settlement.GetRow(rowSesIndex).CreateCell(0); + settlement.GetRow(rowSesIndex).GetCell(0).SetCellValue(item.FO); + settlement.GetRow(rowSesIndex).GetCell(0).CellStyle = fontStyle; + //工单号 + if (settlement.GetRow(rowSesIndex).GetCell(1) == null) settlement.GetRow(rowSesIndex).CreateCell(1); + settlement.GetRow(rowSesIndex).GetCell(1).SetCellValue(item.SES_No); + settlement.GetRow(rowSesIndex).GetCell(1).CellStyle = fontStyle; + //工单预算金额 + if (settlement.GetRow(rowSesIndex).GetCell(2) == null) settlement.GetRow(rowSesIndex).CreateCell(2); + settlement.GetRow(rowSesIndex).GetCell(2).SetCellValue(item.SSR_budget.HasValue ? item.SSR_budget.Value.ToString("0.#") : ""); + settlement.GetRow(rowSesIndex).GetCell(2).CellStyle = styleQfw2; + //工单结算金额 + if (settlement.GetRow(rowSesIndex).GetCell(3) == null) settlement.GetRow(rowSesIndex).CreateCell(3); + settlement.GetRow(rowSesIndex).GetCell(3).SetCellValue(item.SSR_Actual_cost.HasValue ? item.SSR_Actual_cost.Value.ToString("0.#") : ""); + settlement.GetRow(rowSesIndex).GetCell(3).CellStyle = styleQfw2; + //工单结算时间 + if (settlement.GetRow(rowSesIndex).GetCell(4) == null) settlement.GetRow(rowSesIndex).CreateCell(4); + settlement.GetRow(rowSesIndex).GetCell(4).SetCellValue(item.SES_Confirmed_on.HasValue ? string.Format("{0:yyyy-MM}", item.SES_Confirmed_on) : ""); + settlement.GetRow(rowSesIndex).GetCell(4).CellStyle = fontStyle; + #endregion + if ((int)((90 * (rowSesIndex + punishCount + cmListCount + conListCount + overviewCount + safeOverviewCount + noEvaluatedUser.Count + participationRateCount)) / totalNum) > percent) + { + percent = (int)(100 * (rowSesIndex + punishCount + cmListCount + conListCount + overviewCount + safeOverviewCount + noEvaluatedUser.Count + participationRateCount) / totalNum); + } + rowSesIndex++; + } + } + #endregion + ws.ForceFormulaRecalculation = true; //ws4.ForceFormulaRecalculation = true; wsCm.ForceFormulaRecalculation = true; wss.ForceFormulaRecalculation = true; wssafe.ForceFormulaRecalculation = true; wsevalu.ForceFormulaRecalculation = true; + participationRate.ForceFormulaRecalculation = true; + settlement.ForceFormulaRecalculation = true; FileStream fs = new FileStream(ReportFileName, FileMode.Create); hssfworkbook.Write(fs); @@ -3048,6 +3467,8 @@ namespace FineUIPro.Web.Evaluation #endregion } + #endregion + #region 权限设置 /// /// 菜单按钮权限 diff --git a/FCL/FineUIPro.Web/File/Excel/Contractor.xlsx b/FCL/FineUIPro.Web/File/Excel/Contractor.xlsx index e1a8a2e75892fb8c3b1b4fde2a3521c57ad85001..5e942632ccc50271e9b60a31a4d2cfed76f4a03d 100644 GIT binary patch literal 8939 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 diff --git a/FCL/FineUIPro.Web/File/Excel/Performance Report_EN.xlsx b/FCL/FineUIPro.Web/File/Excel/Performance Report_EN.xlsx index eafe9d687b9a06329e145d0bf2274d14a27b0398..2b05bd7ed60d40ed01aa62e027d02712aca8a4dd 100644 GIT binary patch literal 85324 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 literal 83716 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 FC_BigDepartEvaRate + { + get + { + return this.GetTable(); + } + } + public System.Data.Linq.Table FC_ContractManagement { get @@ -1336,6 +1347,8 @@ namespace Model private string _ContractorCN; + private string _ContractorShortName; + private EntitySet _EMC_OneTimeContracts; private EntitySet _FC_SESRelatedData; @@ -1352,6 +1365,8 @@ namespace Model partial void OnContractorChanged(); partial void OnContractorCNChanging(string value); partial void OnContractorCNChanged(); + partial void OnContractorShortNameChanging(string value); + partial void OnContractorShortNameChanged(); #endregion public Base_Contractor() @@ -1441,6 +1456,26 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContractorShortName", DbType="NVarChar(50)")] + public string ContractorShortName + { + get + { + return this._ContractorShortName; + } + set + { + if ((this._ContractorShortName != value)) + { + this.OnContractorShortNameChanging(value); + this.SendPropertyChanging(); + this._ContractorShortName = value; + this.SendPropertyChanged("ContractorShortName"); + this.OnContractorShortNameChanged(); + } + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_EMC_OneTimeContracts_Base_Contractor", Storage="_EMC_OneTimeContracts", ThisKey="ContractorId", OtherKey="ContractorId", DeleteRule="NO ACTION")] public EntitySet EMC_OneTimeContracts { @@ -12019,6 +12054,212 @@ namespace Model } } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.FC_BigDepartEvaRate")] + public partial class FC_BigDepartEvaRate : INotifyPropertyChanging, INotifyPropertyChanged + { + + private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); + + private int _Id; + + private string _ReportMonth; + + private string _Depart; + + private string _Team; + + private System.Nullable _Participation_Rate; + + private string _Participation_Rate_Type; + + private System.Nullable _IsSafe; + + #region 可扩展性方法定义 + partial void OnLoaded(); + partial void OnValidate(System.Data.Linq.ChangeAction action); + partial void OnCreated(); + partial void OnIdChanging(int value); + partial void OnIdChanged(); + partial void OnReportMonthChanging(string value); + partial void OnReportMonthChanged(); + partial void OnDepartChanging(string value); + partial void OnDepartChanged(); + partial void OnTeamChanging(string value); + partial void OnTeamChanged(); + partial void OnParticipation_RateChanging(System.Nullable value); + partial void OnParticipation_RateChanged(); + partial void OnParticipation_Rate_TypeChanging(string value); + partial void OnParticipation_Rate_TypeChanged(); + partial void OnIsSafeChanging(System.Nullable value); + partial void OnIsSafeChanged(); + #endregion + + public FC_BigDepartEvaRate() + { + OnCreated(); + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)] + public int Id + { + get + { + return this._Id; + } + set + { + if ((this._Id != value)) + { + this.OnIdChanging(value); + this.SendPropertyChanging(); + this._Id = value; + this.SendPropertyChanged("Id"); + this.OnIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ReportMonth", DbType="NVarChar(50)")] + public string ReportMonth + { + get + { + return this._ReportMonth; + } + set + { + if ((this._ReportMonth != value)) + { + this.OnReportMonthChanging(value); + this.SendPropertyChanging(); + this._ReportMonth = value; + this.SendPropertyChanged("ReportMonth"); + this.OnReportMonthChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Depart", DbType="NVarChar(50)")] + public string Depart + { + get + { + return this._Depart; + } + set + { + if ((this._Depart != value)) + { + this.OnDepartChanging(value); + this.SendPropertyChanging(); + this._Depart = value; + this.SendPropertyChanged("Depart"); + this.OnDepartChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Team", DbType="NVarChar(50)")] + public string Team + { + get + { + return this._Team; + } + set + { + if ((this._Team != value)) + { + this.OnTeamChanging(value); + this.SendPropertyChanging(); + this._Team = value; + this.SendPropertyChanged("Team"); + this.OnTeamChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Participation_Rate", DbType="Decimal(18,2)")] + public System.Nullable Participation_Rate + { + get + { + return this._Participation_Rate; + } + set + { + if ((this._Participation_Rate != value)) + { + this.OnParticipation_RateChanging(value); + this.SendPropertyChanging(); + this._Participation_Rate = value; + this.SendPropertyChanged("Participation_Rate"); + this.OnParticipation_RateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Participation_Rate_Type", DbType="NVarChar(50)")] + public string Participation_Rate_Type + { + get + { + return this._Participation_Rate_Type; + } + set + { + if ((this._Participation_Rate_Type != value)) + { + this.OnParticipation_Rate_TypeChanging(value); + this.SendPropertyChanging(); + this._Participation_Rate_Type = value; + this.SendPropertyChanged("Participation_Rate_Type"); + this.OnParticipation_Rate_TypeChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsSafe", DbType="Bit")] + public System.Nullable IsSafe + { + get + { + return this._IsSafe; + } + set + { + if ((this._IsSafe != value)) + { + this.OnIsSafeChanging(value); + this.SendPropertyChanging(); + this._IsSafe = value; + this.SendPropertyChanged("IsSafe"); + this.OnIsSafeChanged(); + } + } + } + + public event PropertyChangingEventHandler PropertyChanging; + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void SendPropertyChanging() + { + if ((this.PropertyChanging != null)) + { + this.PropertyChanging(this, emptyChangingEventArgs); + } + } + + protected virtual void SendPropertyChanged(String propertyName) + { + if ((this.PropertyChanged != null)) + { + this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); + } + } + } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.FC_ContractManagement")] public partial class FC_ContractManagement : INotifyPropertyChanging, INotifyPropertyChanged { @@ -13699,6 +13940,12 @@ namespace Model private System.Nullable _IsSafe; + private string _ContractorCN; + + private string _ContractorEN; + + private string _ContractorShortName; + #region 可扩展性方法定义 partial void OnLoaded(); partial void OnValidate(System.Data.Linq.ChangeAction action); @@ -13765,6 +14012,12 @@ namespace Model partial void OnCTEDAvgScoreChanged(); partial void OnIsSafeChanging(System.Nullable value); partial void OnIsSafeChanged(); + partial void OnContractorCNChanging(string value); + partial void OnContractorCNChanged(); + partial void OnContractorENChanging(string value); + partial void OnContractorENChanged(); + partial void OnContractorShortNameChanging(string value); + partial void OnContractorShortNameChanged(); #endregion public FC_OverviewReport() @@ -14392,6 +14645,66 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContractorCN", DbType="NVarChar(100)")] + public string ContractorCN + { + get + { + return this._ContractorCN; + } + set + { + if ((this._ContractorCN != value)) + { + this.OnContractorCNChanging(value); + this.SendPropertyChanging(); + this._ContractorCN = value; + this.SendPropertyChanged("ContractorCN"); + this.OnContractorCNChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContractorEN", DbType="NVarChar(100)")] + public string ContractorEN + { + get + { + return this._ContractorEN; + } + set + { + if ((this._ContractorEN != value)) + { + this.OnContractorENChanging(value); + this.SendPropertyChanging(); + this._ContractorEN = value; + this.SendPropertyChanged("ContractorEN"); + this.OnContractorENChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContractorShortName", DbType="NVarChar(50)")] + public string ContractorShortName + { + get + { + return this._ContractorShortName; + } + set + { + if ((this._ContractorShortName != value)) + { + this.OnContractorShortNameChanging(value); + this.SendPropertyChanging(); + this._ContractorShortName = value; + this.SendPropertyChanged("ContractorShortName"); + this.OnContractorShortNameChanged(); + } + } + } + public event PropertyChangingEventHandler PropertyChanging; public event PropertyChangedEventHandler PropertyChanged; @@ -29562,6 +29875,8 @@ namespace Model private System.Nullable _CreateDate; + private string _ContractorShortName; + public View_EMC_Punishment() { } @@ -30157,6 +30472,22 @@ namespace Model } } } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContractorShortName", DbType="NVarChar(50)")] + public string ContractorShortName + { + get + { + return this._ContractorShortName; + } + set + { + if ((this._ContractorShortName != value)) + { + this._ContractorShortName = value; + } + } + } } [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_EMC_Que_Punishment")] @@ -31311,6 +31642,8 @@ namespace Model private System.Nullable _IsExport; + private string _ContractorShortName; + public View_FC_ContractManagement() { } @@ -31570,6 +31903,22 @@ namespace Model } } } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContractorShortName", DbType="NVarChar(50)")] + public string ContractorShortName + { + get + { + return this._ContractorShortName; + } + set + { + if ((this._ContractorShortName != value)) + { + this._ContractorShortName = value; + } + } + } } [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_FC_ContractManagementLists")] @@ -32025,6 +32374,12 @@ namespace Model private System.Nullable _Expire_Date; + private System.Nullable _Validate_Date; + + private string _ContractorShortName; + + private string _Discipline; + public View_FC_Contractor() { } @@ -32092,6 +32447,54 @@ namespace Model } } } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Validate_Date", DbType="DateTime")] + public System.Nullable Validate_Date + { + get + { + return this._Validate_Date; + } + set + { + if ((this._Validate_Date != value)) + { + this._Validate_Date = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContractorShortName", DbType="NVarChar(50)")] + public string ContractorShortName + { + get + { + return this._ContractorShortName; + } + set + { + if ((this._ContractorShortName != value)) + { + this._ContractorShortName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Discipline", DbType="NVarChar(1000)")] + public string Discipline + { + get + { + return this._Discipline; + } + set + { + if ((this._Discipline != value)) + { + this._Discipline = value; + } + } + } } [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_FC_Report")]