using BLL; using BLL.Common; using Newtonsoft.Json; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.IO; using System.Linq; using System.Web.UI.WebControls; using System.Threading; using NPOI.SS.Formula.Functions; namespace FineUIPro.Web.Evaluation { public partial class PerformanceReport : PageBase { public static Dictionary percentIn { get; set; } [System.Web.Services.WebMethod] public static int getPercentIn(string id) { return percentIn[id]; } public static int percent { get; set; } public static string url { get; set; } [System.Web.Services.WebMethod] public static int getPercent() { return percent; } [System.Web.Services.WebMethod] public static string getUrl() { return url; } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (percentIn == null) { percentIn = new Dictionary(); } this.id.Text = this.CurrUser.UserId; GetButtonPower(); ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); if(CurrUser.Account==Const.Gly) { btnExtract.Hidden = false; btnAllExtract.Hidden = false; } // 绑定表格 BindGrid(); } } private void BindGrid() { string strSql = @"SELECT * FROM dbo.View_EMC_Punishment WHERE Flag='1' "; //List listStr = new List(); //if (!string.IsNullOrEmpty(this.txtFO_NO.Text.Trim())) //{ // strSql += " AND FO_NO LIKE @FO_NO"; // listStr.Add(new SqlParameter("@FO_NO", "%" + this.txtFO_NO.Text.Trim() + "%")); //} //if (drpContractAdmin.SelectedValue != Const._Null && (drpContractAdmin.SelectedValue != null)) //{ // strSql += " AND Contract_AdminId = @Contract_AdminId"; // listStr.Add(new SqlParameter("@Contract_AdminId", drpContractAdmin.SelectedValue)); //} //if (!string.IsNullOrEmpty(txtPunishDate.Text)) //{ // DateTime startDate = Convert.ToDateTime(txtPunishDate.Text + "-01"); // DateTime endDate = startDate.AddMonths(1); // strSql += " AND PunishDate >= @StartDate"; // listStr.Add(new SqlParameter("@StartDate", startDate)); // strSql += " AND PunishDate < @EndDate"; // listStr.Add(new SqlParameter("@EndDate", endDate)); //} //SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, null); Grid1.RecordCount = tb.Rows.Count; var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = table; Grid1.DataBind(); } #region 分页、排序 /// /// 分页 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { Grid1.PageIndex = e.NewPageIndex; BindGrid(); } /// /// 分页显示条数下拉框 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e) { Grid1.SortDirection = e.SortDirection; Grid1.SortField = e.SortField; BindGrid(); } #endregion #region 按月提取数据 /// /// 按月提取数据 /// /// /// protected void btnExtractMonth_Click(object sender, EventArgs e) { Thread t = new Thread(new ThreadStart(() => { ExtractMonthData(this.CurrUser.UserId); })); t.Start(); if (percentIn.ContainsKey(this.CurrUser.UserId)) { percentIn[CurrUser.UserId] = 0; } else { percentIn.Add(CurrUser.UserId, 0); } PageContext.RegisterStartupScript("printX()"); } private void ExtractMonthData(string UserId) { var sTime = DateTime.Parse(txtStartTime.Text + "-01").AddMonths(1).ToString("yyyy-MM-dd"); var eTime = DateTime.Parse(txtStartTime.Text + "-13").AddMonths(1).ToString("yyyy-MM-dd"); var delov = (from x in Funs.DB.FC_OverviewReport where x.ReportMonth== txtStartTime.Text select x).ToList(); Funs.DB.FC_OverviewReport.DeleteAllOnSubmit(delov); Funs.DB.SubmitChanges(); var deNoEva = (from x in Funs.DB.FC_NoEvaluatedUser where x.ReportMonth == txtStartTime.Text select x).ToList(); 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 / 6); List ovList = new List(); List overParam = new List(); overParam.Add(new SqlParameter("@StartTime", sTime)); overParam.Add(new SqlParameter("@EndTime", eTime)); SqlParameter[] overParList = overParam.ToArray(); DataTable OverviewReport = SQLHelper.GetDataTableRunProc("FN_OverviewReport", 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.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"]); ov.EvaluateNum = Convert.ToInt32(OverviewReport.Rows[i]["EvaluateNum"]); ov.UserNum = Convert.ToInt32(OverviewReport.Rows[i]["UserNum"]); if (OverviewReport.Rows[i]["AvgEvaScore1"] != null && OverviewReport.Rows[i]["AvgEvaScore1"].ToString() != "") { ov.AvgEvaScore1 = Convert.ToDecimal(OverviewReport.Rows[i]["AvgEvaScore1"]); } else { ov.AvgEvaScore1 = null; } if (OverviewReport.Rows[i]["TotalAvgScore1"] != null && OverviewReport.Rows[i]["TotalAvgScore1"].ToString() != "") { ov.TotalAvgScore1 = Convert.ToDecimal(OverviewReport.Rows[i]["TotalAvgScore1"]); } else { ov.TotalAvgScore1 = null; } if (OverviewReport.Rows[i]["AvgEvaScore2"] != null && OverviewReport.Rows[i]["AvgEvaScore2"].ToString() != "") { ov.AvgEvaScore2 = Convert.ToDecimal(OverviewReport.Rows[i]["AvgEvaScore2"]); } else { ov.AvgEvaScore2 = null; } if (OverviewReport.Rows[i]["TotalAvgScore2"] != null && OverviewReport.Rows[i]["TotalAvgScore2"].ToString() != "") { ov.TotalAvgScore2 = Convert.ToDecimal(OverviewReport.Rows[i]["TotalAvgScore2"]); } else { ov.TotalAvgScore2 = null; } if (OverviewReport.Rows[i]["AvgEvaScore3"] != null && OverviewReport.Rows[i]["AvgEvaScore3"].ToString() != "") { ov.AvgEvaScore3 = Convert.ToDecimal(OverviewReport.Rows[i]["AvgEvaScore3"]); } else { ov.AvgEvaScore3 = null; } if (OverviewReport.Rows[i]["TotalAvgScore3"] != null && OverviewReport.Rows[i]["TotalAvgScore3"].ToString() != "") { ov.TotalAvgScore3 = Convert.ToDecimal(OverviewReport.Rows[i]["TotalAvgScore3"]); } else { ov.TotalAvgScore3 = null; } if (OverviewReport.Rows[i]["AvgEvaScore4"] != null && OverviewReport.Rows[i]["AvgEvaScore4"].ToString() != "") { ov.AvgEvaScore4 = Convert.ToDecimal(OverviewReport.Rows[i]["AvgEvaScore4"]); } else { ov.AvgEvaScore4 = null; } if (OverviewReport.Rows[i]["TotalAvgScore4"] != null && OverviewReport.Rows[i]["TotalAvgScore4"].ToString() != "") { ov.TotalAvgScore4 = Convert.ToDecimal(OverviewReport.Rows[i]["TotalAvgScore4"]); } else { ov.TotalAvgScore4 = null; } if (OverviewReport.Rows[i]["AvgEvaScore5"] != null && OverviewReport.Rows[i]["AvgEvaScore5"].ToString() != "") { ov.AvgEvaScore5 = Convert.ToDecimal(OverviewReport.Rows[i]["AvgEvaScore5"]); } else { ov.AvgEvaScore5 = null; } if (OverviewReport.Rows[i]["TotalAvgScore5"] != null && OverviewReport.Rows[i]["TotalAvgScore5"].ToString() != "") { ov.TotalAvgScore5 = Convert.ToDecimal(OverviewReport.Rows[i]["TotalAvgScore5"]); } else { ov.TotalAvgScore5 = null; } if (OverviewReport.Rows[i]["AvgEvaScore6"] != null && OverviewReport.Rows[i]["AvgEvaScore6"].ToString() != "") { ov.AvgEvaScore6 = Convert.ToDecimal(OverviewReport.Rows[i]["AvgEvaScore6"]); } else { ov.AvgEvaScore6 = null; } if (OverviewReport.Rows[i]["TotalAvgScore6"] != null && OverviewReport.Rows[i]["TotalAvgScore6"].ToString() != "") { ov.TotalAvgScore6 = Convert.ToDecimal(OverviewReport.Rows[i]["TotalAvgScore6"]); } else { ov.TotalAvgScore6 = null; } if (OverviewReport.Rows[i]["TimelyAvgSocre"] != null && OverviewReport.Rows[i]["TimelyAvgSocre"].ToString() != "") { ov.TimelyAvgSocre = Convert.ToDecimal(OverviewReport.Rows[i]["TimelyAvgSocre"]); } else { ov.TimelyAvgSocre = null; } if (OverviewReport.Rows[i]["HonestyAvgScore"] != null && OverviewReport.Rows[i]["HonestyAvgScore"].ToString() != "") { ov.HonestyAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["HonestyAvgScore"]); } else { ov.HonestyAvgScore = null; } if (OverviewReport.Rows[i]["CTSSAvgScore"] != null && OverviewReport.Rows[i]["CTSSAvgScore"].ToString() != "") { ov.CTSSAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["CTSSAvgScore"]); } else { ov.CTSSAvgScore = null; } if (OverviewReport.Rows[i]["CTSCAvgScore"] != null && OverviewReport.Rows[i]["CTSCAvgScore"].ToString() != "") { ov.CTSCAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["CTSCAvgScore"]); } else { ov.CTSCAvgScore = null; } if (OverviewReport.Rows[i]["MainCoordinatorAvgScore"] != null && OverviewReport.Rows[i]["MainCoordinatorAvgScore"].ToString() != "") { ov.MainCoordinatorAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["MainCoordinatorAvgScore"]); } else { ov.MainCoordinatorAvgScore = null; } if (OverviewReport.Rows[i]["UserRepresentativeAvgScore"] != null && OverviewReport.Rows[i]["UserRepresentativeAvgScore"].ToString() != "") { ov.UserRepresentativeAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["UserRepresentativeAvgScore"]); } else { ov.UserRepresentativeAvgScore = null; } if (OverviewReport.Rows[i]["CTSTAvgScore"] != null && OverviewReport.Rows[i]["CTSTAvgScore"].ToString() != "") { ov.CTSTAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["CTSTAvgScore"]); } else { ov.CTSTAvgScore = null; } if (OverviewReport.Rows[i]["CTEDAvgScore"] != null && OverviewReport.Rows[i]["CTEDAvgScore"].ToString() != "") { ov.CTEDAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["CTEDAvgScore"]); } else { ov.CTEDAvgScore = null; } ov.IsSafe = false; ovList.Add(ov); } } Funs.DB.FC_OverviewReport.InsertAllOnSubmit(ovList); Funs.DB.SubmitChanges(); #endregion #region 按月提取安全监护框架承包商绩效 percentIn[UserId] = (int)((100 * 2) / 6); List ovList1 = new List(); List overParam1 = new List(); overParam1.Add(new SqlParameter("@StartTime", sTime)); overParam1.Add(new SqlParameter("@EndTime", eTime)); SqlParameter[] overParList1 = overParam1.ToArray(); DataTable OverviewReport1 = SQLHelper.GetDataTableRunProc("FN_Safety_OverviewReport", overParList1); if (OverviewReport1.Rows.Count > 0) { for (int i = 0; i < OverviewReport1.Rows.Count; i++) { Model.FC_OverviewReport ov = new Model.FC_OverviewReport(); ov.ReportMonth = OverviewReport1.Rows[i]["ReportMonth"].ToString(); ov.FO_NO = OverviewReport1.Rows[i]["FO_NO"].ToString(); ov.Work_Description = OverviewReport1.Rows[i]["Work_Description"].ToString(); ov.Contractor = OverviewReport1.Rows[i]["Contractor"].ToString(); ov.ContractorCN = OverviewReport1.Rows[i]["ContractorCN"].ToString(); ov.ContractorEN = OverviewReport1.Rows[i]["ContractorEN"].ToString(); ov.ContractorShortName = OverviewReport1.Rows[i]["ContractorShortName"].ToString(); ov.Main_Coordinator = OverviewReport1.Rows[i]["Main_Coordinator"].ToString(); ov.Total = Convert.ToDecimal(OverviewReport1.Rows[i]["Total"]); ov.Participation_Rate = Convert.ToDecimal(OverviewReport1.Rows[i]["Participation_Rate"]); ov.EvaluateNum = Convert.ToInt32(OverviewReport1.Rows[i]["EvaluateNum"]); ov.UserNum = Convert.ToInt32(OverviewReport1.Rows[i]["UserNum"]); if (OverviewReport1.Rows[i]["AvgEvaScore1"] != null && OverviewReport1.Rows[i]["AvgEvaScore1"].ToString() != "") { ov.AvgEvaScore1 = Convert.ToDecimal(OverviewReport1.Rows[i]["AvgEvaScore1"]); } else { ov.AvgEvaScore1 = null; } if (OverviewReport1.Rows[i]["TotalAvgScore1"] != null && OverviewReport1.Rows[i]["TotalAvgScore1"].ToString() != "") { ov.TotalAvgScore1 = Convert.ToDecimal(OverviewReport1.Rows[i]["TotalAvgScore1"]); } else { ov.TotalAvgScore1 = null; } if (OverviewReport1.Rows[i]["AvgEvaScore2"] != null && OverviewReport1.Rows[i]["AvgEvaScore2"].ToString() != "") { ov.AvgEvaScore2 = Convert.ToDecimal(OverviewReport1.Rows[i]["AvgEvaScore2"]); } else { ov.AvgEvaScore2 = null; } if (OverviewReport1.Rows[i]["TotalAvgScore2"] != null && OverviewReport1.Rows[i]["TotalAvgScore2"].ToString() != "") { ov.TotalAvgScore2 = Convert.ToDecimal(OverviewReport1.Rows[i]["TotalAvgScore2"]); } else { ov.TotalAvgScore2 = null; } if (OverviewReport1.Rows[i]["AvgEvaScore3"] != null && OverviewReport1.Rows[i]["AvgEvaScore3"].ToString() != "") { ov.AvgEvaScore3 = Convert.ToDecimal(OverviewReport1.Rows[i]["AvgEvaScore3"]); } else { ov.AvgEvaScore3 = null; } if (OverviewReport1.Rows[i]["TotalAvgScore3"] != null && OverviewReport1.Rows[i]["TotalAvgScore3"].ToString() != "") { ov.TotalAvgScore3 = Convert.ToDecimal(OverviewReport.Rows[i]["TotalAvgScore3"]); } else { ov.TotalAvgScore3 = null; } //if (OverviewReport.Rows[i]["AvgEvaScore4"] != null && OverviewReport.Rows[i]["AvgEvaScore4"].ToString() != "") //{ // ov.AvgEvaScore4 = Convert.ToDecimal(OverviewReport.Rows[i]["AvgEvaScore4"]); //} //else //{ // ov.AvgEvaScore4 = null; //} //if (OverviewReport.Rows[i]["TotalAvgScore4"] != null && OverviewReport.Rows[i]["TotalAvgScore4"].ToString() != "") //{ // ov.TotalAvgScore4 = Convert.ToDecimal(OverviewReport.Rows[i]["TotalAvgScore4"]); //} //else //{ // ov.TotalAvgScore4 = null; //} if (OverviewReport1.Rows[i]["AvgEvaScore5"] != null && OverviewReport1.Rows[i]["AvgEvaScore5"].ToString() != "") { ov.AvgEvaScore5 = Convert.ToDecimal(OverviewReport1.Rows[i]["AvgEvaScore5"]); } else { ov.AvgEvaScore5 = null; } if (OverviewReport1.Rows[i]["TotalAvgScore5"] != null && OverviewReport1.Rows[i]["TotalAvgScore5"].ToString() != "") { ov.TotalAvgScore5 = Convert.ToDecimal(OverviewReport1.Rows[i]["TotalAvgScore5"]); } else { ov.TotalAvgScore5 = null; } if (OverviewReport1.Rows[i]["AvgEvaScore6"] != null && OverviewReport1.Rows[i]["AvgEvaScore6"].ToString() != "") { ov.AvgEvaScore6 = Convert.ToDecimal(OverviewReport1.Rows[i]["AvgEvaScore6"]); } else { ov.AvgEvaScore6 = null; } if (OverviewReport1.Rows[i]["TotalAvgScore6"] != null && OverviewReport1.Rows[i]["TotalAvgScore6"].ToString() != "") { ov.TotalAvgScore6 = Convert.ToDecimal(OverviewReport1.Rows[i]["TotalAvgScore6"]); } else { ov.TotalAvgScore6 = null; } if (OverviewReport1.Rows[i]["TimelyAvgSocre"] != null && OverviewReport1.Rows[i]["TimelyAvgSocre"].ToString() != "") { ov.TimelyAvgSocre = Convert.ToDecimal(OverviewReport1.Rows[i]["TimelyAvgSocre"]); } else { ov.TimelyAvgSocre = null; } if (OverviewReport1.Rows[i]["HonestyAvgScore"] != null && OverviewReport1.Rows[i]["HonestyAvgScore"].ToString() != "") { ov.HonestyAvgScore = Convert.ToDecimal(OverviewReport1.Rows[i]["HonestyAvgScore"]); } else { ov.HonestyAvgScore = null; } if (OverviewReport1.Rows[i]["CTSSAvgScore"] != null && OverviewReport1.Rows[i]["CTSSAvgScore"].ToString() != "") { ov.CTSSAvgScore = Convert.ToDecimal(OverviewReport1.Rows[i]["CTSSAvgScore"]); } else { ov.CTSSAvgScore = null; } if (OverviewReport1.Rows[i]["CTSCAvgScore"] != null && OverviewReport1.Rows[i]["CTSCAvgScore"].ToString() != "") { ov.CTSCAvgScore = Convert.ToDecimal(OverviewReport1.Rows[i]["CTSCAvgScore"]); } else { ov.CTSCAvgScore = null; } if (OverviewReport1.Rows[i]["MainCoordinatorAvgScore"] != null && OverviewReport1.Rows[i]["MainCoordinatorAvgScore"].ToString() != "") { ov.MainCoordinatorAvgScore = Convert.ToDecimal(OverviewReport1.Rows[i]["MainCoordinatorAvgScore"]); } else { ov.MainCoordinatorAvgScore = null; } if (OverviewReport1.Rows[i]["UserRepresentativeAvgScore"] != null && OverviewReport1.Rows[i]["UserRepresentativeAvgScore"].ToString() != "") { ov.UserRepresentativeAvgScore = Convert.ToDecimal(OverviewReport1.Rows[i]["UserRepresentativeAvgScore"]); } else { ov.UserRepresentativeAvgScore = null; } if (OverviewReport1.Rows[i]["CTSTAvgScore"] != null && OverviewReport1.Rows[i]["CTSTAvgScore"].ToString() != "") { ov.CTSTAvgScore = Convert.ToDecimal(OverviewReport1.Rows[i]["CTSTAvgScore"]); } else { ov.CTSTAvgScore = null; } if (OverviewReport1.Rows[i]["CTEDAvgScore"] != null && OverviewReport1.Rows[i]["CTEDAvgScore"].ToString() != "") { ov.CTEDAvgScore = Convert.ToDecimal(OverviewReport1.Rows[i]["CTEDAvgScore"]); } else { ov.CTEDAvgScore = null; } ov.IsSafe = true; ovList1.Add(ov); } } Funs.DB.FC_OverviewReport.InsertAllOnSubmit(ovList1); Funs.DB.SubmitChanges(); #endregion #region 未评人员 #region 未评人员-常规 percentIn[UserId] = (int)((100 * 3) / 6); List NoEvalUserList = new List(); List param = new List(); param.Add(new SqlParameter("@StartTime", sTime)); param.Add(new SqlParameter("@EndTime", eTime)); SqlParameter[] noEvaUserParam = param.ToArray(); DataTable noEvaUser = SQLHelper.GetDataTableRunProc("FN_NoEvaluationUsersReport", noEvaUserParam); var noEvalList = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(noEvaUser)); if (noEvalList.Count > 0) { var userNameList = noEvalList.Where(p => p.Evaluate_UserName != "" && p.Evaluate_UserName != null && p.Evaluate_UserName != "AutoDep").GroupBy(p => new { p.Evaluate_UserName, p.RoleName }).Select(p => new { p.Key.Evaluate_UserName, p.Key.RoleName }).ToList(); foreach (var item in userNameList) { var userNoList = noEvalList.Where(p => p.Evaluate_UserName == item.Evaluate_UserName && p.RoleName == item.RoleName).Select(p => p.Contract_No).ToList(); var userNoModel = noEvalList.FirstOrDefault(p => p.Evaluate_UserName == item.Evaluate_UserName && p.RoleName == item.RoleName); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = userNoModel.ReportMonth; NoEvalModel.IsSafe = false; NoEvalModel.NotEvaluatedFoNo = string.Join(",", userNoList); NoEvalModel.Account = userNoModel.Evaluate_UserName; NoEvalModel.UserName = userNoModel.UserName; NoEvalModel.IsEvaluate = userNoModel.isEvaluate; NoEvalModel.RoleName = userNoModel.RoleName; NoEvalModel.DepartName = userNoModel.DepartName; NoEvalUserList.Add(NoEvalModel); } var departNoEvalList = noEvalList.Where(p => p.RoleName == "Dep").ToList(); var cTSSEva = departNoEvalList.Where(p => p.CTSSEva != "" && p.CTSSEva != null).GroupBy(p => new { p.CTSSEva }).Select(p => new { p.Key.CTSSEva }).ToList(); foreach (var item in cTSSEva) { if (!string.IsNullOrEmpty(item.CTSSEva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.CTSSEva); var depNoModel = departNoEvalList.FirstOrDefault(p => p.CTSSEva == item.CTSSEva); var depNoList = departNoEvalList.Where(p => p.CTSSEva == item.CTSSEva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = false; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTS/S"; NoEvalUserList.Add(NoEvalModel); } } var cTSCEva = departNoEvalList.Where(p => p.CTSCEva != "" && p.CTSCEva != null).GroupBy(p => new { p.CTSCEva }).Select(p => new { p.Key.CTSCEva }).ToList(); foreach (var item in cTSCEva) { if (!string.IsNullOrEmpty(item.CTSCEva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.CTSCEva); var depNoModel = departNoEvalList.FirstOrDefault(p => p.CTSCEva == item.CTSCEva); var depNoList = departNoEvalList.Where(p => p.CTSCEva == item.CTSCEva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = false; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTS/C"; NoEvalUserList.Add(NoEvalModel); } } var mainCEva = departNoEvalList.Where(p => p.MainCEva != "" && p.MainCEva != null).GroupBy(p => new { p.MainCEva }).Select(p => new { p.Key.MainCEva }).ToList(); foreach (var item in mainCEva) { if (!string.IsNullOrEmpty(item.MainCEva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.MainCEva); string dep = BLL.DepartService.GetDepartNameById(user.DepartId); var depNoModel = departNoEvalList.FirstOrDefault(p => p.MainCEva == item.MainCEva); var depNoList = departNoEvalList.Where(p => p.MainCEva == item.MainCEva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = false; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = dep; NoEvalUserList.Add(NoEvalModel); } } var userREva = departNoEvalList.Where(p => p.UserREva != "" && p.UserREva != null).GroupBy(p => new { p.UserREva }).Select(p => new { p.Key.UserREva }).ToList(); foreach (var item in userREva) { if (!string.IsNullOrEmpty(item.UserREva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.UserREva); string dep = BLL.DepartService.GetDepartNameById(user.DepartId); var depNoModel = departNoEvalList.FirstOrDefault(p => p.UserREva == item.UserREva); var depNoList = departNoEvalList.Where(p => p.UserREva == item.UserREva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = false; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = dep; NoEvalUserList.Add(NoEvalModel); } } var cTMT1Eva = departNoEvalList.Where(p => p.CTMT1Eva != "" && p.CTMT1Eva != null).GroupBy(p => new { p.CTMT1Eva }).Select(p => new { p.Key.CTMT1Eva }).ToList(); foreach (var item in cTMT1Eva) { if (!string.IsNullOrEmpty(item.CTMT1Eva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.CTMT1Eva); var depNoModel = departNoEvalList.FirstOrDefault(p => p.CTMT1Eva == item.CTMT1Eva); var depNoList = departNoEvalList.Where(p => p.CTMT1Eva == item.CTMT1Eva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = false; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTM/T"; NoEvalUserList.Add(NoEvalModel); } } var cTMT2Eva = departNoEvalList.Where(p => p.CTMT2Eva != "" && p.CTMT2Eva != null).GroupBy(p => new { p.CTMT2Eva }).Select(p => new { p.Key.CTMT2Eva }).ToList(); foreach (var item in cTMT2Eva) { if (!string.IsNullOrEmpty(item.CTMT2Eva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.CTMT2Eva); var depNoModel = departNoEvalList.FirstOrDefault(p => p.CTMT2Eva == item.CTMT2Eva); var depNoList = departNoEvalList.Where(p => p.CTMT2Eva == item.CTMT2Eva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = false; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTM/T"; NoEvalUserList.Add(NoEvalModel); } } var conAREva = departNoEvalList.Where(p => p.ConAREva != "" && p.ConAREva != null).GroupBy(p => new { p.ConAREva }).Select(p => new { p.Key.ConAREva }).ToList(); foreach (var item in conAREva) { if (!string.IsNullOrEmpty(item.ConAREva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.ConAREva); string dep = BLL.DepartService.GetDepartNameById(user.DepartId); var depNoModel = departNoEvalList.FirstOrDefault(p => p.ConAREva == item.ConAREva); var depNoList = departNoEvalList.Where(p => p.ConAREva == item.ConAREva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = false; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = dep; NoEvalUserList.Add(NoEvalModel); } } } if (NoEvalUserList.Count() > 0) { Funs.DB.FC_NoEvaluatedUser.InsertAllOnSubmit(NoEvalUserList); Funs.DB.SubmitChanges(); } #endregion #region 未评人员-安全 percentIn[UserId] = (int)((100 * 4) / 6); List NoEvalUserList1 = new List(); List param1 = new List(); param1.Add(new SqlParameter("@StartTime", sTime)); param1.Add(new SqlParameter("@EndTime", eTime)); SqlParameter[] noEvaUserParam1 = param1.ToArray(); DataTable noEvaUser1 = SQLHelper.GetDataTableRunProc("FN_Safety_NoEvaluationUsersReport", noEvaUserParam1); var noEvalList1 = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(noEvaUser1)); if (noEvalList1.Count > 0) { var userNameList = noEvalList1.Where(p => p.Evaluate_UserName != "" && p.Evaluate_UserName != null && p.Evaluate_UserName != "AutoDep").GroupBy(p => new { p.Evaluate_UserName, p.RoleName }).Select(p => new { p.Key.Evaluate_UserName, p.Key.RoleName }).ToList(); foreach (var item in userNameList) { var userNoList = noEvalList1.Where(p => p.Evaluate_UserName == item.Evaluate_UserName && p.RoleName == item.RoleName).Select(p => p.Contract_No).ToList(); var userNoModel = noEvalList1.FirstOrDefault(p => p.Evaluate_UserName == item.Evaluate_UserName && p.RoleName == item.RoleName); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = userNoModel.ReportMonth; NoEvalModel.IsSafe = true; NoEvalModel.NotEvaluatedFoNo = string.Join(",", userNoList); NoEvalModel.Account = userNoModel.Evaluate_UserName; NoEvalModel.UserName = userNoModel.UserName; NoEvalModel.IsEvaluate = userNoModel.isEvaluate; NoEvalModel.RoleName = userNoModel.RoleName; NoEvalModel.DepartName = userNoModel.DepartName; NoEvalUserList1.Add(NoEvalModel); } var departNoEvalList = noEvalList1.Where(p => p.RoleName == "Dep").ToList(); var cTSSEva = departNoEvalList.Where(p => p.CTSSEva != "" && p.CTSSEva != null).GroupBy(p => new { p.CTSSEva }).Select(p => new { p.Key.CTSSEva }).ToList(); foreach (var item in cTSSEva) { if (!string.IsNullOrEmpty(item.CTSSEva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.CTSSEva); var depNoModel = departNoEvalList.FirstOrDefault(p => p.CTSSEva == item.CTSSEva); var depNoList = departNoEvalList.Where(p => p.CTSSEva == item.CTSSEva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = true; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTS/S"; NoEvalUserList1.Add(NoEvalModel); } } var cTSCEva = departNoEvalList.Where(p => p.CTSCEva != "" && p.CTSCEva != null).GroupBy(p => new { p.CTSCEva }).Select(p => new { p.Key.CTSCEva }).ToList(); foreach (var item in cTSCEva) { if (!string.IsNullOrEmpty(item.CTSCEva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.CTSCEva); var depNoModel = departNoEvalList.FirstOrDefault(p => p.CTSCEva == item.CTSCEva); var depNoList = departNoEvalList.Where(p => p.CTSCEva == item.CTSCEva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = true; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTS/C"; NoEvalUserList1.Add(NoEvalModel); } } var mainCEva = departNoEvalList.Where(p => p.MainCEva != "" && p.MainCEva != null).GroupBy(p => new { p.MainCEva }).Select(p => new { p.Key.MainCEva }).ToList(); foreach (var item in mainCEva) { if (!string.IsNullOrEmpty(item.MainCEva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.MainCEva); string dep = BLL.DepartService.GetDepartNameById(user.DepartId); var depNoModel = departNoEvalList.FirstOrDefault(p => p.MainCEva == item.MainCEva); var depNoList = departNoEvalList.Where(p => p.MainCEva == item.MainCEva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = true; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = dep; NoEvalUserList1.Add(NoEvalModel); } } var userREva = departNoEvalList.Where(p => p.UserREva != "" && p.UserREva != null).GroupBy(p => new { p.UserREva }).Select(p => new { p.Key.UserREva }).ToList(); foreach (var item in userREva) { if (!string.IsNullOrEmpty(item.UserREva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.UserREva); string dep = BLL.DepartService.GetDepartNameById(user.DepartId); var depNoModel = departNoEvalList.FirstOrDefault(p => p.UserREva == item.UserREva); var depNoList = departNoEvalList.Where(p => p.UserREva == item.UserREva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = true; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = dep; NoEvalUserList1.Add(NoEvalModel); } } var cTMT1Eva = departNoEvalList.Where(p => p.CTMT1Eva != "" && p.CTMT1Eva != null).GroupBy(p => new { p.CTMT1Eva }).Select(p => new { p.Key.CTMT1Eva }).ToList(); foreach (var item in cTMT1Eva) { if (!string.IsNullOrEmpty(item.CTMT1Eva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.CTMT1Eva); var depNoModel = departNoEvalList.FirstOrDefault(p => p.CTMT1Eva == item.CTMT1Eva); var depNoList = departNoEvalList.Where(p => p.CTMT1Eva == item.CTMT1Eva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = true; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTM/T"; NoEvalUserList1.Add(NoEvalModel); } } var cTMT2Eva = departNoEvalList.Where(p => p.CTMT2Eva != "" && p.CTMT2Eva != null).GroupBy(p => new { p.CTMT2Eva }).Select(p => new { p.Key.CTMT2Eva }).ToList(); foreach (var item in cTMT2Eva) { if (!string.IsNullOrEmpty(item.CTMT2Eva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.CTMT2Eva); var depNoModel = departNoEvalList.FirstOrDefault(p => p.CTMT2Eva == item.CTMT2Eva); var depNoList = departNoEvalList.Where(p => p.CTMT2Eva == item.CTMT2Eva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = true; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTM/T"; NoEvalUserList1.Add(NoEvalModel); } } var conAREva = departNoEvalList.Where(p => p.ConAREva != "" && p.ConAREva != null).GroupBy(p => new { p.ConAREva }).Select(p => new { p.Key.ConAREva }).ToList(); foreach (var item in conAREva) { if (!string.IsNullOrEmpty(item.ConAREva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.ConAREva); string dep = BLL.DepartService.GetDepartNameById(user.DepartId); var depNoModel = departNoEvalList.FirstOrDefault(p => p.ConAREva == item.ConAREva); var depNoList = departNoEvalList.Where(p => p.ConAREva == item.ConAREva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = true; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = dep; NoEvalUserList1.Add(NoEvalModel); } } } if (NoEvalUserList1.Count() > 0) { Funs.DB.FC_NoEvaluatedUser.InsertAllOnSubmit(NoEvalUserList1); Funs.DB.SubmitChanges(); } #endregion #endregion #region 参与率 percentIn[UserId] = (int)((100 * 5) / 6); 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 = false; departEvaRateList.Add(ov); } } if (departEvaRateList.Count > 0) { Funs.DB.FC_BigDepartEvaRate.InsertAllOnSubmit(departEvaRateList); Funs.DB.SubmitChanges(); } percentIn[UserId] = (int)((100 * 6) / 6); List departEvaRateList2 = new List(); List departEvaRateParam2 = new List(); departEvaRateParam2.Add(new SqlParameter("@StartTime", sTime)); departEvaRateParam2.Add(new SqlParameter("@EndTime", eTime)); SqlParameter[] departEvaRateParamList2 = departEvaRateParam2.ToArray(); DataTable departEvaRate2 = SQLHelper.GetDataTableRunProc("sp_Safety_DepParticipationRate", departEvaRateParamList2); if (departEvaRate2.Rows.Count > 0) { for (int i = 0; i < departEvaRate2.Rows.Count; i++) { Model.FC_BigDepartEvaRate ov = new Model.FC_BigDepartEvaRate(); ov.ReportMonth = departEvaRate2.Rows[i]["ReportMonth"].ToString(); ov.Depart = departEvaRate2.Rows[i]["DepartCode"].ToString().Replace("Z", ""); ov.Team = departEvaRate2.Rows[i]["SubDepartCode"].ToString(); ov.Participation_Rate = Convert.ToDecimal(departEvaRate2.Rows[i]["Rate"]); if (ov.Team != null && !string.IsNullOrEmpty(ov.Team)) { ov.Participation_Rate_Type = "团队参与率"; } else { ov.Participation_Rate_Type = "部门参与率"; } ov.IsSafe = true; departEvaRateList2.Add(ov); } } if (departEvaRateList2.Count > 0) { Funs.DB.FC_BigDepartEvaRate.InsertAllOnSubmit(departEvaRateList2); Funs.DB.SubmitChanges(); } #endregion } #endregion #region 提取全部数据 /// /// 提前全部数据 /// /// /// protected void btnExtract_Click(object sender, EventArgs e) { Thread t = new Thread(new ThreadStart(() => { ExtractData(this.CurrUser.UserId); })); t.Start(); if (percentIn.ContainsKey(this.CurrUser.UserId)) { percentIn[CurrUser.UserId] = 0; } else { percentIn.Add(CurrUser.UserId, 0); } PageContext.RegisterStartupScript("printX()"); } private void ExtractData(string UserId) { var delov = (from x in Funs.DB.FC_OverviewReport select x).ToList(); Funs.DB.FC_OverviewReport.DeleteAllOnSubmit(delov); Funs.DB.SubmitChanges(); var deNoEva = (from x in Funs.DB.FC_NoEvaluatedUser select x).ToList(); Funs.DB.FC_NoEvaluatedUser.DeleteAllOnSubmit(deNoEva); Funs.DB.SubmitChanges(); var departEva = (from x in Funs.DB.FC_BigDepartEvaRate 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; DateTime sTime = DateTime.Parse(mindate.Value.Year.ToString() + "-" + mindate.Value.Month.ToString() + "-01"); 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 * 6)); 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("FN_OverviewReport", 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.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"]); ov.EvaluateNum = Convert.ToInt32(OverviewReport.Rows[i]["EvaluateNum"]); ov.UserNum = Convert.ToInt32(OverviewReport.Rows[i]["UserNum"]); if (OverviewReport.Rows[i]["AvgEvaScore1"] != null && OverviewReport.Rows[i]["AvgEvaScore1"].ToString() != "") { ov.AvgEvaScore1 = Convert.ToDecimal(OverviewReport.Rows[i]["AvgEvaScore1"]); } else { ov.AvgEvaScore1 = null; } if (OverviewReport.Rows[i]["TotalAvgScore1"] != null && OverviewReport.Rows[i]["TotalAvgScore1"].ToString() != "") { ov.TotalAvgScore1 = Convert.ToDecimal(OverviewReport.Rows[i]["TotalAvgScore1"]); } else { ov.TotalAvgScore1 = null; } if (OverviewReport.Rows[i]["AvgEvaScore2"] != null && OverviewReport.Rows[i]["AvgEvaScore2"].ToString() != "") { ov.AvgEvaScore2 = Convert.ToDecimal(OverviewReport.Rows[i]["AvgEvaScore2"]); } else { ov.AvgEvaScore2 = null; } if (OverviewReport.Rows[i]["TotalAvgScore2"] != null && OverviewReport.Rows[i]["TotalAvgScore2"].ToString() != "") { ov.TotalAvgScore2 = Convert.ToDecimal(OverviewReport.Rows[i]["TotalAvgScore2"]); } else { ov.TotalAvgScore2 = null; } if (OverviewReport.Rows[i]["AvgEvaScore3"] != null && OverviewReport.Rows[i]["AvgEvaScore3"].ToString() != "") { ov.AvgEvaScore3 = Convert.ToDecimal(OverviewReport.Rows[i]["AvgEvaScore3"]); } else { ov.AvgEvaScore3 = null; } if (OverviewReport.Rows[i]["TotalAvgScore3"] != null && OverviewReport.Rows[i]["TotalAvgScore3"].ToString() != "") { ov.TotalAvgScore3 = Convert.ToDecimal(OverviewReport.Rows[i]["TotalAvgScore3"]); } else { ov.TotalAvgScore3 = null; } if (OverviewReport.Rows[i]["AvgEvaScore4"] != null && OverviewReport.Rows[i]["AvgEvaScore4"].ToString() != "") { ov.AvgEvaScore4 = Convert.ToDecimal(OverviewReport.Rows[i]["AvgEvaScore4"]); } else { ov.AvgEvaScore4 = null; } if (OverviewReport.Rows[i]["TotalAvgScore4"] != null && OverviewReport.Rows[i]["TotalAvgScore4"].ToString() != "") { ov.TotalAvgScore4 = Convert.ToDecimal(OverviewReport.Rows[i]["TotalAvgScore4"]); } else { ov.TotalAvgScore4 = null; } if (OverviewReport.Rows[i]["AvgEvaScore5"] != null && OverviewReport.Rows[i]["AvgEvaScore5"].ToString() != "") { ov.AvgEvaScore5 = Convert.ToDecimal(OverviewReport.Rows[i]["AvgEvaScore5"]); } else { ov.AvgEvaScore5 = null; } if (OverviewReport.Rows[i]["TotalAvgScore5"] != null && OverviewReport.Rows[i]["TotalAvgScore5"].ToString() != "") { ov.TotalAvgScore5 = Convert.ToDecimal(OverviewReport.Rows[i]["TotalAvgScore5"]); } else { ov.TotalAvgScore5 = null; } if (OverviewReport.Rows[i]["AvgEvaScore6"] != null && OverviewReport.Rows[i]["AvgEvaScore6"].ToString() != "") { ov.AvgEvaScore6 = Convert.ToDecimal(OverviewReport.Rows[i]["AvgEvaScore6"]); } else { ov.AvgEvaScore6 = null; } if (OverviewReport.Rows[i]["TotalAvgScore6"] != null && OverviewReport.Rows[i]["TotalAvgScore6"].ToString() != "") { ov.TotalAvgScore6 = Convert.ToDecimal(OverviewReport.Rows[i]["TotalAvgScore6"]); } else { ov.TotalAvgScore6 = null; } if (OverviewReport.Rows[i]["TimelyAvgSocre"] != null && OverviewReport.Rows[i]["TimelyAvgSocre"].ToString() != "") { ov.TimelyAvgSocre = Convert.ToDecimal(OverviewReport.Rows[i]["TimelyAvgSocre"]); } else { ov.TimelyAvgSocre = null; } if (OverviewReport.Rows[i]["HonestyAvgScore"] != null && OverviewReport.Rows[i]["HonestyAvgScore"].ToString() != "") { ov.HonestyAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["HonestyAvgScore"]); } else { ov.HonestyAvgScore = null; } if (OverviewReport.Rows[i]["CTSSAvgScore"] != null && OverviewReport.Rows[i]["CTSSAvgScore"].ToString() != "") { ov.CTSSAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["CTSSAvgScore"]); } else { ov.CTSSAvgScore = null; } if (OverviewReport.Rows[i]["CTSCAvgScore"] != null && OverviewReport.Rows[i]["CTSCAvgScore"].ToString() != "") { ov.CTSCAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["CTSCAvgScore"]); } else { ov.CTSCAvgScore = null; } if (OverviewReport.Rows[i]["MainCoordinatorAvgScore"] != null && OverviewReport.Rows[i]["MainCoordinatorAvgScore"].ToString() != "") { ov.MainCoordinatorAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["MainCoordinatorAvgScore"]); } else { ov.MainCoordinatorAvgScore = null; } if (OverviewReport.Rows[i]["UserRepresentativeAvgScore"] != null && OverviewReport.Rows[i]["UserRepresentativeAvgScore"].ToString() != "") { ov.UserRepresentativeAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["UserRepresentativeAvgScore"]); } else { ov.UserRepresentativeAvgScore = null; } if (OverviewReport.Rows[i]["CTSTAvgScore"] != null && OverviewReport.Rows[i]["CTSTAvgScore"].ToString() != "") { ov.CTSTAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["CTSTAvgScore"]); } else { ov.CTSTAvgScore = null; } if (OverviewReport.Rows[i]["CTEDAvgScore"] != null && OverviewReport.Rows[i]["CTEDAvgScore"].ToString() != "") { ov.CTEDAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["CTEDAvgScore"]); } else { ov.CTEDAvgScore = null; } ov.IsSafe = false; ovList.Add(ov); } } 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 * 6)); 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("FN_Safety_OverviewReport", 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.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"]); ov.EvaluateNum = Convert.ToInt32(OverviewReport.Rows[i]["EvaluateNum"]); ov.UserNum = Convert.ToInt32(OverviewReport.Rows[i]["UserNum"]); if (OverviewReport.Rows[i]["AvgEvaScore1"] != null && OverviewReport.Rows[i]["AvgEvaScore1"].ToString() != "") { ov.AvgEvaScore1 = Convert.ToDecimal(OverviewReport.Rows[i]["AvgEvaScore1"]); } else { ov.AvgEvaScore1 = null; } if (OverviewReport.Rows[i]["TotalAvgScore1"] != null && OverviewReport.Rows[i]["TotalAvgScore1"].ToString() != "") { ov.TotalAvgScore1 = Convert.ToDecimal(OverviewReport.Rows[i]["TotalAvgScore1"]); } else { ov.TotalAvgScore1 = null; } if (OverviewReport.Rows[i]["AvgEvaScore2"] != null && OverviewReport.Rows[i]["AvgEvaScore2"].ToString() != "") { ov.AvgEvaScore2 = Convert.ToDecimal(OverviewReport.Rows[i]["AvgEvaScore2"]); } else { ov.AvgEvaScore2 = null; } if (OverviewReport.Rows[i]["TotalAvgScore2"] != null && OverviewReport.Rows[i]["TotalAvgScore2"].ToString() != "") { ov.TotalAvgScore2 = Convert.ToDecimal(OverviewReport.Rows[i]["TotalAvgScore2"]); } else { ov.TotalAvgScore2 = null; } if (OverviewReport.Rows[i]["AvgEvaScore3"] != null && OverviewReport.Rows[i]["AvgEvaScore3"].ToString() != "") { ov.AvgEvaScore3 = Convert.ToDecimal(OverviewReport.Rows[i]["AvgEvaScore3"]); } else { ov.AvgEvaScore3 = null; } if (OverviewReport.Rows[i]["TotalAvgScore3"] != null && OverviewReport.Rows[i]["TotalAvgScore3"].ToString() != "") { ov.TotalAvgScore3 = Convert.ToDecimal(OverviewReport.Rows[i]["TotalAvgScore3"]); } else { ov.TotalAvgScore3 = null; } if (OverviewReport.Rows[i]["AvgEvaScore5"] != null && OverviewReport.Rows[i]["AvgEvaScore5"].ToString() != "") { ov.AvgEvaScore5 = Convert.ToDecimal(OverviewReport.Rows[i]["AvgEvaScore5"]); } else { ov.AvgEvaScore5 = null; } if (OverviewReport.Rows[i]["TotalAvgScore5"] != null && OverviewReport.Rows[i]["TotalAvgScore5"].ToString() != "") { ov.TotalAvgScore5 = Convert.ToDecimal(OverviewReport.Rows[i]["TotalAvgScore5"]); } else { ov.TotalAvgScore5 = null; } if (OverviewReport.Rows[i]["AvgEvaScore6"] != null && OverviewReport.Rows[i]["AvgEvaScore6"].ToString() != "") { ov.AvgEvaScore6 = Convert.ToDecimal(OverviewReport.Rows[i]["AvgEvaScore6"]); } else { ov.AvgEvaScore6 = null; } if (OverviewReport.Rows[i]["TotalAvgScore6"] != null && OverviewReport.Rows[i]["TotalAvgScore6"].ToString() != "") { ov.TotalAvgScore6 = Convert.ToDecimal(OverviewReport.Rows[i]["TotalAvgScore6"]); } else { ov.TotalAvgScore6 = null; } if (OverviewReport.Rows[i]["TimelyAvgSocre"] != null && OverviewReport.Rows[i]["TimelyAvgSocre"].ToString() != "") { ov.TimelyAvgSocre = Convert.ToDecimal(OverviewReport.Rows[i]["TimelyAvgSocre"]); } else { ov.TimelyAvgSocre = null; } if (OverviewReport.Rows[i]["HonestyAvgScore"] != null && OverviewReport.Rows[i]["HonestyAvgScore"].ToString() != "") { ov.HonestyAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["HonestyAvgScore"]); } else { ov.HonestyAvgScore = null; } if (OverviewReport.Rows[i]["CTSSAvgScore"] != null && OverviewReport.Rows[i]["CTSSAvgScore"].ToString() != "") { ov.CTSSAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["CTSSAvgScore"]); } else { ov.CTSSAvgScore = null; } if (OverviewReport.Rows[i]["CTSCAvgScore"] != null && OverviewReport.Rows[i]["CTSCAvgScore"].ToString() != "") { ov.CTSCAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["CTSCAvgScore"]); } else { ov.CTSCAvgScore = null; } if (OverviewReport.Rows[i]["MainCoordinatorAvgScore"] != null && OverviewReport.Rows[i]["MainCoordinatorAvgScore"].ToString() != "") { ov.MainCoordinatorAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["MainCoordinatorAvgScore"]); } else { ov.MainCoordinatorAvgScore = null; } if (OverviewReport.Rows[i]["UserRepresentativeAvgScore"] != null && OverviewReport.Rows[i]["UserRepresentativeAvgScore"].ToString() != "") { ov.UserRepresentativeAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["UserRepresentativeAvgScore"]); } else { ov.UserRepresentativeAvgScore = null; } if (OverviewReport.Rows[i]["CTSTAvgScore"] != null && OverviewReport.Rows[i]["CTSTAvgScore"].ToString() != "") { ov.CTSTAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["CTSTAvgScore"]); } else { ov.CTSTAvgScore = null; } if (OverviewReport.Rows[i]["CTEDAvgScore"] != null && OverviewReport.Rows[i]["CTEDAvgScore"].ToString() != "") { ov.CTEDAvgScore = Convert.ToDecimal(OverviewReport.Rows[i]["CTEDAvgScore"]); } else { ov.CTEDAvgScore = null; } ov.IsSafe = true; ovList.Add(ov); } } 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 * 2)) / (toDiff * 6)); List NoEvalUserList = new List(); List param = new List(); param.Add(new SqlParameter("@StartTime", sTime.AddMonths(j))); param.Add(new SqlParameter("@EndTime", eTime.AddMonths(j))); SqlParameter[] noEvaUserParam = param.ToArray(); DataTable noEvaUser = SQLHelper.GetDataTableRunProc("FN_NoEvaluationUsersReport", noEvaUserParam); var noEvalList = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(noEvaUser)); if (noEvalList.Count > 0) { var userNameList = noEvalList.Where(p => p.Evaluate_UserName != "" && p.Evaluate_UserName != null && p.Evaluate_UserName != "AutoDep").GroupBy(p => new { p.Evaluate_UserName, p.RoleName }).Select(p => new { p.Key.Evaluate_UserName, p.Key.RoleName }).ToList(); foreach (var item in userNameList) { var userNoList = noEvalList.Where(p => p.Evaluate_UserName == item.Evaluate_UserName && p.RoleName == item.RoleName).Select(p => p.Contract_No).ToList(); var userNoModel = noEvalList.FirstOrDefault(p => p.Evaluate_UserName == item.Evaluate_UserName && p.RoleName == item.RoleName); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = userNoModel.ReportMonth; NoEvalModel.IsSafe = false; NoEvalModel.NotEvaluatedFoNo = string.Join(",", userNoList); NoEvalModel.Account = userNoModel.Evaluate_UserName; NoEvalModel.UserName = userNoModel.UserName; NoEvalModel.IsEvaluate = userNoModel.isEvaluate; NoEvalModel.RoleName = userNoModel.RoleName; NoEvalModel.DepartName = userNoModel.DepartName; NoEvalUserList.Add(NoEvalModel); } var departNoEvalList = noEvalList.Where(p => p.RoleName == "Dep").ToList(); var cTSSEva = departNoEvalList.Where(p => p.CTSSEva != "" && p.CTSSEva != null).GroupBy(p => new { p.CTSSEva }).Select(p => new { p.Key.CTSSEva }).ToList(); foreach (var item in cTSSEva) { if (!string.IsNullOrEmpty(item.CTSSEva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.CTSSEva); var depNoModel = departNoEvalList.FirstOrDefault(p => p.CTSSEva == item.CTSSEva); var depNoList = departNoEvalList.Where(p => p.CTSSEva == item.CTSSEva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = false; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTS/S"; NoEvalUserList.Add(NoEvalModel); } } var cTSCEva = departNoEvalList.Where(p => p.CTSCEva != "" && p.CTSCEva != null).GroupBy(p => new { p.CTSCEva }).Select(p => new { p.Key.CTSCEva }).ToList(); foreach (var item in cTSCEva) { if (!string.IsNullOrEmpty(item.CTSCEva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.CTSCEva); var depNoModel = departNoEvalList.FirstOrDefault(p => p.CTSCEva == item.CTSCEva); var depNoList = departNoEvalList.Where(p => p.CTSCEva == item.CTSCEva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = false; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTS/C"; NoEvalUserList.Add(NoEvalModel); } } var mainCEva = departNoEvalList.Where(p => p.MainCEva != "" && p.MainCEva != null).GroupBy(p => new { p.MainCEva }).Select(p => new { p.Key.MainCEva }).ToList(); foreach (var item in mainCEva) { if (!string.IsNullOrEmpty(item.MainCEva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.MainCEva); string dep = BLL.DepartService.GetDepartNameById(user.DepartId); var depNoModel = departNoEvalList.FirstOrDefault(p => p.MainCEva == item.MainCEva); var depNoList = departNoEvalList.Where(p => p.MainCEva == item.MainCEva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = false; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = dep; NoEvalUserList.Add(NoEvalModel); } } var userREva = departNoEvalList.Where(p => p.UserREva != "" && p.UserREva != null).GroupBy(p => new { p.UserREva }).Select(p => new { p.Key.UserREva }).ToList(); foreach (var item in userREva) { if (!string.IsNullOrEmpty(item.UserREva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.UserREva); string dep = BLL.DepartService.GetDepartNameById(user.DepartId); var depNoModel = departNoEvalList.FirstOrDefault(p => p.UserREva == item.UserREva); var depNoList = departNoEvalList.Where(p => p.UserREva == item.UserREva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = false; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = dep; NoEvalUserList.Add(NoEvalModel); } } var cTMT1Eva = departNoEvalList.Where(p => p.CTMT1Eva != "" && p.CTMT1Eva != null).GroupBy(p => new { p.CTMT1Eva }).Select(p => new { p.Key.CTMT1Eva }).ToList(); foreach (var item in cTMT1Eva) { if (!string.IsNullOrEmpty(item.CTMT1Eva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.CTMT1Eva); var depNoModel = departNoEvalList.FirstOrDefault(p => p.CTMT1Eva == item.CTMT1Eva); var depNoList = departNoEvalList.Where(p => p.CTMT1Eva == item.CTMT1Eva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = false; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTM/T"; NoEvalUserList.Add(NoEvalModel); } } var cTMT2Eva = departNoEvalList.Where(p => p.CTMT2Eva != "" && p.CTMT2Eva != null).GroupBy(p => new { p.CTMT2Eva }).Select(p => new { p.Key.CTMT2Eva }).ToList(); foreach (var item in cTMT2Eva) { if (!string.IsNullOrEmpty(item.CTMT2Eva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.CTMT2Eva); var depNoModel = departNoEvalList.FirstOrDefault(p => p.CTMT2Eva == item.CTMT2Eva); var depNoList = departNoEvalList.Where(p => p.CTMT2Eva == item.CTMT2Eva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = false; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTM/T"; NoEvalUserList.Add(NoEvalModel); } } var conAREva = departNoEvalList.Where(p => p.ConAREva != "" && p.ConAREva != null).GroupBy(p => new { p.ConAREva }).Select(p => new { p.Key.ConAREva }).ToList(); foreach (var item in conAREva) { if (!string.IsNullOrEmpty(item.ConAREva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.ConAREva); string dep = BLL.DepartService.GetDepartNameById(user.DepartId); var depNoModel = departNoEvalList.FirstOrDefault(p => p.ConAREva == item.ConAREva); var depNoList = departNoEvalList.Where(p => p.ConAREva == item.ConAREva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = false; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = dep; NoEvalUserList.Add(NoEvalModel); } } } if (NoEvalUserList.Count() > 0) { Funs.DB.FC_NoEvaluatedUser.InsertAllOnSubmit(NoEvalUserList); Funs.DB.SubmitChanges(); } } #endregion #region for (int j = 0; j < toDiff; j++) { percentIn[UserId] = (int)((100 * (j + 1 + toDiff * 3)) / (toDiff * 6)); List NoEvalUserList = new List(); List param = new List(); param.Add(new SqlParameter("@StartTime", sTime.AddMonths(j))); param.Add(new SqlParameter("@EndTime", eTime.AddMonths(j))); SqlParameter[] noEvaUserParam = param.ToArray(); DataTable noEvaUser = SQLHelper.GetDataTableRunProc("FN_Safety_NoEvaluationUsersReport", noEvaUserParam); var noEvalList = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(noEvaUser)); if (noEvalList.Count > 0) { var userNameList = noEvalList.Where(p => p.Evaluate_UserName != "" && p.Evaluate_UserName != null && p.Evaluate_UserName != "AutoDep").GroupBy(p => new { p.Evaluate_UserName, p.RoleName }).Select(p => new { p.Key.Evaluate_UserName, p.Key.RoleName }).ToList(); foreach (var item in userNameList) { var userNoList = noEvalList.Where(p => p.Evaluate_UserName == item.Evaluate_UserName && p.RoleName == item.RoleName).Select(p => p.Contract_No).ToList(); var userNoModel = noEvalList.FirstOrDefault(p => p.Evaluate_UserName == item.Evaluate_UserName && p.RoleName == item.RoleName); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = userNoModel.ReportMonth; NoEvalModel.IsSafe = true; NoEvalModel.NotEvaluatedFoNo = string.Join(",", userNoList); NoEvalModel.Account = userNoModel.Evaluate_UserName; NoEvalModel.UserName = userNoModel.UserName; NoEvalModel.IsEvaluate = userNoModel.isEvaluate; NoEvalModel.RoleName = userNoModel.RoleName; NoEvalModel.DepartName = userNoModel.DepartName; NoEvalUserList.Add(NoEvalModel); } var departNoEvalList = noEvalList.Where(p => p.RoleName == "Dep").ToList(); var cTSSEva = departNoEvalList.Where(p => p.CTSSEva != "" && p.CTSSEva != null).GroupBy(p => new { p.CTSSEva }).Select(p => new { p.Key.CTSSEva }).ToList(); foreach (var item in cTSSEva) { if (!string.IsNullOrEmpty(item.CTSSEva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.CTSSEva); var depNoModel = departNoEvalList.FirstOrDefault(p => p.CTSSEva == item.CTSSEva); var depNoList = departNoEvalList.Where(p => p.CTSSEva == item.CTSSEva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = true; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTS/S"; NoEvalUserList.Add(NoEvalModel); } } var cTSCEva = departNoEvalList.Where(p => p.CTSCEva != "" && p.CTSCEva != null).GroupBy(p => new { p.CTSCEva }).Select(p => new { p.Key.CTSCEva }).ToList(); foreach (var item in cTSCEva) { if (!string.IsNullOrEmpty(item.CTSCEva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.CTSCEva); var depNoModel = departNoEvalList.FirstOrDefault(p => p.CTSCEva == item.CTSCEva); var depNoList = departNoEvalList.Where(p => p.CTSCEva == item.CTSCEva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = true; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTS/C"; NoEvalUserList.Add(NoEvalModel); } } var mainCEva = departNoEvalList.Where(p => p.MainCEva != "" && p.MainCEva != null).GroupBy(p => new { p.MainCEva }).Select(p => new { p.Key.MainCEva }).ToList(); foreach (var item in mainCEva) { if (!string.IsNullOrEmpty(item.MainCEva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.MainCEva); string dep = BLL.DepartService.GetDepartNameById(user.DepartId); var depNoModel = departNoEvalList.FirstOrDefault(p => p.MainCEva == item.MainCEva); var depNoList = departNoEvalList.Where(p => p.MainCEva == item.MainCEva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = true; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = dep; NoEvalUserList.Add(NoEvalModel); } } var userREva = departNoEvalList.Where(p => p.UserREva != "" && p.UserREva != null).GroupBy(p => new { p.UserREva }).Select(p => new { p.Key.UserREva }).ToList(); foreach (var item in userREva) { if (!string.IsNullOrEmpty(item.UserREva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.UserREva); string dep = BLL.DepartService.GetDepartNameById(user.DepartId); var depNoModel = departNoEvalList.FirstOrDefault(p => p.UserREva == item.UserREva); var depNoList = departNoEvalList.Where(p => p.UserREva == item.UserREva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = true; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = dep; NoEvalUserList.Add(NoEvalModel); } } var cTMT1Eva = departNoEvalList.Where(p => p.CTMT1Eva != "" && p.CTMT1Eva != null).GroupBy(p => new { p.CTMT1Eva }).Select(p => new { p.Key.CTMT1Eva }).ToList(); foreach (var item in cTMT1Eva) { if (!string.IsNullOrEmpty(item.CTMT1Eva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.CTMT1Eva); var depNoModel = departNoEvalList.FirstOrDefault(p => p.CTMT1Eva == item.CTMT1Eva); var depNoList = departNoEvalList.Where(p => p.CTMT1Eva == item.CTMT1Eva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = true; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTM/T"; NoEvalUserList.Add(NoEvalModel); } } var cTMT2Eva = departNoEvalList.Where(p => p.CTMT2Eva != "" && p.CTMT2Eva != null).GroupBy(p => new { p.CTMT2Eva }).Select(p => new { p.Key.CTMT2Eva }).ToList(); foreach (var item in cTMT2Eva) { if (!string.IsNullOrEmpty(item.CTMT2Eva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.CTMT2Eva); var depNoModel = departNoEvalList.FirstOrDefault(p => p.CTMT2Eva == item.CTMT2Eva); var depNoList = departNoEvalList.Where(p => p.CTMT2Eva == item.CTMT2Eva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = true; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTM/T"; NoEvalUserList.Add(NoEvalModel); } } var conAREva = departNoEvalList.Where(p => p.ConAREva != "" && p.ConAREva != null).GroupBy(p => new { p.ConAREva }).Select(p => new { p.Key.ConAREva }).ToList(); foreach (var item in conAREva) { if (!string.IsNullOrEmpty(item.ConAREva)) { var user = BLL.Sys_UserService.GetUsersByUserId(item.ConAREva); string dep = BLL.DepartService.GetDepartNameById(user.DepartId); var depNoModel = departNoEvalList.FirstOrDefault(p => p.ConAREva == item.ConAREva); var depNoList = departNoEvalList.Where(p => p.ConAREva == item.ConAREva).Select(p => p.Contract_No).ToList(); Model.FC_NoEvaluatedUser NoEvalModel = new Model.FC_NoEvaluatedUser(); NoEvalModel.ReportMonth = depNoModel.ReportMonth; NoEvalModel.IsSafe = true; NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Account = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.IsEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = dep; NoEvalUserList.Add(NoEvalModel); } } } if (NoEvalUserList.Count() > 0) { Funs.DB.FC_NoEvaluatedUser.InsertAllOnSubmit(NoEvalUserList); Funs.DB.SubmitChanges(); } } #endregion #region 提取部门参与率 for (int j = 0; j < toDiff; j++) { percentIn[UserId] = (int)((100 * (j + 1 + toDiff * 4)) / (toDiff * 6)); 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(); } } for (int j = 0; j < toDiff; j++) { percentIn[UserId] = (int)((100 * (j + 1 + toDiff * 5)) / (toDiff * 6)); List departEvaRateList = new List(); List departEvaRateParam2 = new List(); departEvaRateParam2.Add(new SqlParameter("@StartTime", sTime.AddMonths(j))); departEvaRateParam2.Add(new SqlParameter("@EndTime", eTime.AddMonths(j))); SqlParameter[] departEvaRateList2 = departEvaRateParam2.ToArray(); DataTable departEvaRate = SQLHelper.GetDataTableRunProc("sp_Safety_DepParticipationRate", departEvaRateList2); 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 btnExportCN_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.FileType == "NCR" || x.FileType == "合同约谈" || x.FileType == "停工整改报告" orderby x.FO_NO, x.FileType select x).ToList(); List conList = (from x in Funs.DB.View_FC_Contractor 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(() => { ExportCN(punishList, cmList, conList, overviewReport , safeOverviewReport, noEvaluatedUser, participationRateReport, sesReportList); })); t.Start(); PageContext.RegisterStartupScript("showProcessBar()"); } 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 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; //模板文件 string TempletFileName = rootPath + "Performance Report_CN.xlsx"; //导出文件 string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\"; if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } string ReportFileName = filePath + "承包商现场绩效评估报告" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xlsx"; FileStream file = new FileStream(TempletFileName, FileMode.Open, FileAccess.Read); XSSFWorkbook hssfworkbook = new XSSFWorkbook(file); #region 样式 // 字体样式 IFont font = hssfworkbook.CreateFont(); font.FontHeightInPoints = 11; font.IsBold = false; font.FontName = "Arial"; //创建单元格样式 XSSFCellStyle backgroundstyle = (XSSFCellStyle)hssfworkbook.CreateCellStyle(); //填充模式 backgroundstyle.FillPattern = FillPattern.SolidForeground; //创建颜色 XSSFColor xssfcolor = new XSSFColor(); //rbg值 byte[] rgb = { (byte)255, (byte)192, (byte)203 }; //写入rgb 粉色背景颜色定义 xssfcolor.SetRgb(rgb); //设置颜色值 backgroundstyle.SetFillForegroundColor(xssfcolor); backgroundstyle.SetFont(font); IDataFormat dataformat = hssfworkbook.CreateDataFormat(); ICellStyle styleQfw = hssfworkbook.CreateCellStyle(); styleQfw.DataFormat = dataformat.GetFormat("0.00"); ICellStyle styleQfw1 = hssfworkbook.CreateCellStyle(); styleQfw1.DataFormat = dataformat.GetFormat("0.0"); ICellStyle styleQfw2 = hssfworkbook.CreateCellStyle(); styleQfw2.DataFormat = dataformat.GetFormat("0"); ICellStyle fontStyle = hssfworkbook.CreateCellStyle(); ICellStyle rateStyle = hssfworkbook.CreateCellStyle(); rateStyle.VerticalAlignment = VerticalAlignment.Center; rateStyle.Alignment = HorizontalAlignment.Right; ICellStyle yearStyle = hssfworkbook.CreateCellStyle(); yearStyle.VerticalAlignment = VerticalAlignment.Center; yearStyle.Alignment = HorizontalAlignment.Center; yearStyle.SetFont(font); rateStyle.SetFont(font); fontStyle.SetFont(font); styleQfw.SetFont(font); styleQfw1.SetFont(font); styleQfw2.SetFont(font); #endregion #region punish_C2 XSSFSheet ws = (XSSFSheet)hssfworkbook.GetSheet("违章处罚C2"); if (punishCount > 0) { var rowIndex = 1; foreach (var p in punishList) { if (ws.GetRow(rowIndex) == null) ws.CreateRow(rowIndex); if (ws.GetRow(rowIndex).GetCell(0) == null) ws.GetRow(rowIndex).CreateCell(0); if (ws.GetRow(rowIndex).GetCell(1) == null) ws.GetRow(rowIndex).CreateCell(1); if (p.PunishDate != null) { ws.GetRow(rowIndex).GetCell(0).SetCellValue(p.PunishDate.Value.ToString("yyyy/MM/dd")); ws.GetRow(rowIndex).GetCell(1).SetCellValue(p.PunishDate.Value.ToString("HH:mm")); } else { ws.GetRow(rowIndex).GetCell(0).SetCellValue(""); ws.GetRow(rowIndex).GetCell(1).SetCellValue(""); } if (ws.GetRow(rowIndex).GetCell(2) == null) ws.GetRow(rowIndex).CreateCell(2); ws.GetRow(rowIndex).GetCell(2).SetCellValue(p.FO_NO); if (ws.GetRow(rowIndex).GetCell(3) == null) ws.GetRow(rowIndex).CreateCell(3); ws.GetRow(rowIndex).GetCell(3).SetCellValue(p.ViolationRelatedSes); if (ws.GetRow(rowIndex).GetCell(4) == null) ws.GetRow(rowIndex).CreateCell(4); ws.GetRow(rowIndex).GetCell(4).SetCellValue(p.Discipline); if (ws.GetRow(rowIndex).GetCell(5) == null) ws.GetRow(rowIndex).CreateCell(5); ws.GetRow(rowIndex).GetCell(5).SetCellValue(p.DisciplineCN); if (ws.GetRow(rowIndex).GetCell(6) == null) ws.GetRow(rowIndex).CreateCell(6); ws.GetRow(rowIndex).GetCell(6).SetCellValue(p.DisciplineEn); if (ws.GetRow(rowIndex).GetCell(7) == null) ws.GetRow(rowIndex).CreateCell(7); ws.GetRow(rowIndex).GetCell(7).SetCellValue(p.Contractor); if (ws.GetRow(rowIndex).GetCell(8) == null) ws.GetRow(rowIndex).CreateCell(8); ws.GetRow(rowIndex).GetCell(8).SetCellValue(p.ContractorCN); 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.ContractorShortName); if (ws.GetRow(rowIndex).GetCell(11) == null) ws.GetRow(rowIndex).CreateCell(11); 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.Description); if (ws.GetRow(rowIndex).GetCell(13) == null) ws.GetRow(rowIndex).CreateCell(13); 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.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.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.ViolationDegree); if (ws.GetRow(rowIndex).GetCell(17) == null) ws.GetRow(rowIndex).CreateCell(17); 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.Main_Coordinator); if (ws.GetRow(rowIndex).GetCell(19) == null) ws.GetRow(rowIndex).CreateCell(19); 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.User_Representative); if (ws.GetRow(rowIndex).GetCell(21) == null) ws.GetRow(rowIndex).CreateCell(21); 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.Violation_Inspector_Name); if (ws.GetRow(rowIndex).GetCell(23) == null) ws.GetRow(rowIndex).CreateCell(23); 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.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) { percent = (int)(100 * (rowIndex) / totalNum); } rowIndex++; } } #endregion #region punish_C4 删除了 //XSSFSheet ws4 = (XSSFSheet)hssfworkbook.GetSheet("违规及处理办法C4"); //if (punishCount > 0) //{ // var rowIndex = 1; // foreach (var p in punishList) // { // if (ws4.GetRow(rowIndex) == null) ws4.CreateRow(rowIndex); // if (ws4.GetRow(rowIndex).GetCell(0) == null) ws4.GetRow(rowIndex).CreateCell(0); // if (ws4.GetRow(rowIndex).GetCell(1) == null) ws4.GetRow(rowIndex).CreateCell(1); // if (p.PunishDate != null) // { // ws4.GetRow(rowIndex).GetCell(0).SetCellValue(p.PunishDate.Value.ToString("yyyy/MM/dd")); // ws4.GetRow(rowIndex).GetCell(1).SetCellValue(p.PunishDate.Value.ToString("HH:mm")); // } // else // { // ws4.GetRow(rowIndex).GetCell(0).SetCellValue(""); // ws4.GetRow(rowIndex).GetCell(1).SetCellValue(""); // } // if (ws4.GetRow(rowIndex).GetCell(2) == null) ws4.GetRow(rowIndex).CreateCell(2); // ws4.GetRow(rowIndex).GetCell(2).SetCellValue(p.FO_NO); // if (ws4.GetRow(rowIndex).GetCell(3) == null) ws4.GetRow(rowIndex).CreateCell(3); // ws4.GetRow(rowIndex).GetCell(3).SetCellValue(p.ViolationRelatedSes); // if (ws4.GetRow(rowIndex).GetCell(4) == null) ws4.GetRow(rowIndex).CreateCell(4); // ws4.GetRow(rowIndex).GetCell(4).SetCellValue(p.Discipline); // if (ws4.GetRow(rowIndex).GetCell(5) == null) ws4.GetRow(rowIndex).CreateCell(5); // ws4.GetRow(rowIndex).GetCell(5).SetCellValue(p.DisciplineCN); // if (ws4.GetRow(rowIndex).GetCell(6) == null) ws4.GetRow(rowIndex).CreateCell(6); // ws4.GetRow(rowIndex).GetCell(6).SetCellValue(p.DisciplineEn); // if (ws4.GetRow(rowIndex).GetCell(7) == null) ws4.GetRow(rowIndex).CreateCell(7); // ws4.GetRow(rowIndex).GetCell(7).SetCellValue(p.Contractor); // if (ws4.GetRow(rowIndex).GetCell(8) == null) ws4.GetRow(rowIndex).CreateCell(8); // ws4.GetRow(rowIndex).GetCell(8).SetCellValue(p.ContractorCN); // if (ws4.GetRow(rowIndex).GetCell(9) == null) ws4.GetRow(rowIndex).CreateCell(9); // ws4.GetRow(rowIndex).GetCell(9).SetCellValue(p.ContractorEn); // if (ws4.GetRow(rowIndex).GetCell(10) == null) ws4.GetRow(rowIndex).CreateCell(10); // ws4.GetRow(rowIndex).GetCell(10).SetCellValue(p.Location); // if (ws4.GetRow(rowIndex).GetCell(11) == null) ws4.GetRow(rowIndex).CreateCell(11); // ws4.GetRow(rowIndex).GetCell(11).SetCellValue(p.Description); // if (ws4.GetRow(rowIndex).GetCell(12) == null) ws4.GetRow(rowIndex).CreateCell(12); // ws4.GetRow(rowIndex).GetCell(12).SetCellValue(p.ViolationDegree); // if (ws4.GetRow(rowIndex).GetCell(13) == null) ws4.GetRow(rowIndex).CreateCell(13); // ws4.GetRow(rowIndex).GetCell(13).SetCellValue(p.Contract_Admin); // if (ws4.GetRow(rowIndex).GetCell(14) == null) ws4.GetRow(rowIndex).CreateCell(14); // ws4.GetRow(rowIndex).GetCell(14).SetCellValue(p.Main_Coordinator); // if (ws4.GetRow(rowIndex).GetCell(15) == null) ws4.GetRow(rowIndex).CreateCell(15); // ws4.GetRow(rowIndex).GetCell(15).SetCellValue(p.MCDept); // if (ws4.GetRow(rowIndex).GetCell(16) == null) ws4.GetRow(rowIndex).CreateCell(16); // ws4.GetRow(rowIndex).GetCell(16).SetCellValue(p.User_Representative); // if (ws4.GetRow(rowIndex).GetCell(17) == null) ws4.GetRow(rowIndex).CreateCell(17); // ws4.GetRow(rowIndex).GetCell(17).SetCellValue(p.BYCRU); // if (ws4.GetRow(rowIndex).GetCell(18) == null) ws4.GetRow(rowIndex).CreateCell(18); // ws4.GetRow(rowIndex).GetCell(18).SetCellValue(p.Violation_Inspector_Name); // if (ws4.GetRow(rowIndex).GetCell(19) == null) ws4.GetRow(rowIndex).CreateCell(19); // ws4.GetRow(rowIndex).GetCell(19).SetCellValue(p.InspectionDep); // if (ws4.GetRow(rowIndex).GetCell(20) == null) ws4.GetRow(rowIndex).CreateCell(20); // ws4.GetRow(rowIndex).GetCell(20).SetCellValue(p.SES_No); // if (ws4.GetRow(rowIndex).GetCell(21) == null) ws4.GetRow(rowIndex).CreateCell(21); // ws4.GetRow(rowIndex).GetCell(21).SetCellValue(p.CompletionDate != null ? p.CompletionDate.Value.ToString("yyyy/MM/dd") : ""); // if ((int)((90 * (rowIndex + punishCount)) / totalNum) > percent) // { // percent = (int)(100 * (rowIndex + punishCount) / totalNum); // } // rowIndex++; // } //} #endregion #region 约谈,NCR,合同终止 改为C4了 XSSFSheet wsCm = (XSSFSheet)hssfworkbook.GetSheet("违规及处理办法C4"); if (cmListCount > 0) { var rowIndex = 1; foreach (var p in cmList) { if (wsCm.GetRow(rowIndex) == null) wsCm.CreateRow(rowIndex); if (wsCm.GetRow(rowIndex).GetCell(0) == null) wsCm.GetRow(rowIndex).CreateCell(0); wsCm.GetRow(rowIndex).GetCell(0).SetCellValue(p.OccurDate != null ? p.OccurDate.Value.ToString("yyyy/MM/dd") : ""); if (wsCm.GetRow(rowIndex).GetCell(1) == null) wsCm.GetRow(rowIndex).CreateCell(1); wsCm.GetRow(rowIndex).GetCell(1).SetCellValue(p.FO_NO); if (wsCm.GetRow(rowIndex).GetCell(2) == null) wsCm.GetRow(rowIndex).CreateCell(2); wsCm.GetRow(rowIndex).GetCell(2).SetCellValue(p.Discipline); if (wsCm.GetRow(rowIndex).GetCell(3) == null) wsCm.GetRow(rowIndex).CreateCell(3); wsCm.GetRow(rowIndex).GetCell(3).SetCellValue(p.DisciplineCN); if (wsCm.GetRow(rowIndex).GetCell(4) == null) wsCm.GetRow(rowIndex).CreateCell(4); wsCm.GetRow(rowIndex).GetCell(4).SetCellValue(p.DisciplineEn); if (wsCm.GetRow(rowIndex).GetCell(5) == null) wsCm.GetRow(rowIndex).CreateCell(5); wsCm.GetRow(rowIndex).GetCell(5).SetCellValue(p.Contractor); if (wsCm.GetRow(rowIndex).GetCell(6) == null) wsCm.GetRow(rowIndex).CreateCell(6); wsCm.GetRow(rowIndex).GetCell(6).SetCellValue(p.ContractorCN); 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.ContractorShortName); if (wsCm.GetRow(rowIndex).GetCell(9) == null) wsCm.GetRow(rowIndex).CreateCell(9); 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.FileType); if (wsCm.GetRow(rowIndex).GetCell(11) == null) wsCm.GetRow(rowIndex).CreateCell(11); 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.Main_Coordinator); if (wsCm.GetRow(rowIndex).GetCell(13) == null) wsCm.GetRow(rowIndex).CreateCell(13); 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.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) { percent = (int)(100 * (rowIndex + punishCount) / totalNum); } rowIndex++; } } #endregion #region 框架承包商当前数量 XSSFSheet wsCon = (XSSFSheet)hssfworkbook.GetSheet("框架承包商当前数量"); if (conListCount > 0) { var rowIndex = 1; 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.Discipline); //承包商名称 if (wsCon.GetRow(rowIndex).GetCell(1) == null) wsCon.GetRow(rowIndex).CreateCell(1); 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.ContractorShortName); //合同号 if (wsCon.GetRow(rowIndex).GetCell(3) == null) wsCon.GetRow(rowIndex).CreateCell(3); 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) { percent = (int)(100 * (rowIndex + punishCount + cmListCount) / totalNum); } rowIndex++; } } #endregion #region 常规框架承包商绩效 XSSFSheet wss = (XSSFSheet)hssfworkbook.GetSheet("常规框架承包商绩效"); if (overviewCount > 0) { var rowIndex = 1; foreach(var vs in OverviewReport) { 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; //承包商(中) if (wss.GetRow(rowIndex).GetCell(4) == null) wss.GetRow(rowIndex).CreateCell(4); 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.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.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.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.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.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.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.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); 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.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.CTSCAvgScore != null ? vs.CTSCAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(14).CellStyle = styleQfw; //安全分 if (wss.GetRow(rowIndex).GetCell(15) == null) wss.GetRow(rowIndex).CreateCell(15); 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.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.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.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.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.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.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) { percent = (int)(100 * (rowIndex + punishCount + cmListCount + conListCount) / totalNum); } rowIndex++; } } #endregion #region 安全监护框架承包商绩效 XSSFSheet wssafe = (XSSFSheet)hssfworkbook.GetSheet("安全监护框架承包商绩效"); if (safeOverviewCount > 0) { var rowIndex = 1; foreach (var vs in safeOverviewReport) { 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.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.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.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.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.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.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.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.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); 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.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.CTSCAvgScore != null ? vs.CTSCAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(14).CellStyle = styleQfw; //安全分 if (wssafe.GetRow(rowIndex).GetCell(15) == null) wssafe.GetRow(rowIndex).CreateCell(15); 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.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.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.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.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.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) { percent = (int)(100 * (rowIndex + punishCount + cmListCount + conListCount + overviewCount) / totalNum); } rowIndex++; } } #endregion #region 未评人员 XSSFSheet wsevalu = (XSSFSheet)hssfworkbook.GetSheet("未评人员"); if (noEvaluatedUser.Count > 0) { var rowEvalIndex = 1; foreach (var item in noEvaluatedUser) { 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 (item.DepartName != null && !string.IsNullOrEmpty(item.DepartName)) { if (wsevalu.GetRow(rowEvalIndex).GetCell(6) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(6); int index = item.DepartName.IndexOf('/'); if (index > 0) { wsevalu.GetRow(rowEvalIndex).GetCell(6).SetCellValue(item.DepartName.Substring(0, index)); } else { wsevalu.GetRow(rowEvalIndex).GetCell(6).SetCellValue(item.DepartName); } wsevalu.GetRow(rowEvalIndex).GetCell(6).CellStyle = fontStyle; } //团队 if (item.DepartName != null && !string.IsNullOrEmpty(item.DepartName) && item.DepartName.Contains("/")) { 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; string FoNoTxt = string.Empty; if (item.NotEvaluatedFoNo.Split(',').Length > 0) { int findex = 0; foreach (var itemFoNo in item.NotEvaluatedFoNo.Split(',')) { if (findex < 250) { 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(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 { FoNoTxt += string.IsNullOrEmpty(FoNoTxt) ? itemFoNo : "," + itemFoNo; } findex++; } if (!string.IsNullOrEmpty(FoNoTxt)) { if (wsevalu.GetRow(rowEvalIndex).GetCell(255) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(255); wsevalu.GetRow(rowEvalIndex).GetCell(255).SetCellValue(FoNoTxt); wsevalu.GetRow(rowEvalIndex).GetCell(255).CellStyle = fontStyle; } } #endregion if ((int)((90 * (rowEvalIndex + punishCount + cmListCount + conListCount + overviewCount + safeOverviewCount)) / totalNum) > percent) { percent = (int)(100 * (rowEvalIndex + punishCount + cmListCount + conListCount + overviewCount + safeOverviewCount) / totalNum); } rowEvalIndex++; } } #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); //filess.Flush(); //filess.Close(); //} FileStream fs = new FileStream(ReportFileName, FileMode.Create); hssfworkbook.Write(fs); hssfworkbook.Close(); percent = 100; url = ReportFileName.Replace(Server.MapPath("~/"), ""); #endregion } #endregion #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.FileType == "NCR" || x.FileType == "合同约谈" || x.FileType == "停工整改报告" orderby x.FO_NO, x.FileType select x).ToList(); List conList = (from x in Funs.DB.View_FC_Contractor 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 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; //模板文件 string TempletFileName = rootPath + "Performance Report_EN.xlsx"; //导出文件 string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\"; if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } string ReportFileName = filePath + "Performance Report_EN" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xlsx"; FileStream file = new FileStream(TempletFileName, FileMode.Open, FileAccess.Read); XSSFWorkbook hssfworkbook = new XSSFWorkbook(file); #region 样式 // 字体样式 IFont font = hssfworkbook.CreateFont(); font.FontHeightInPoints = 11; font.IsBold = false; font.FontName = "Arial"; //创建单元格样式 XSSFCellStyle backgroundstyle = (XSSFCellStyle)hssfworkbook.CreateCellStyle(); //填充模式 backgroundstyle.FillPattern = FillPattern.SolidForeground; //创建颜色 XSSFColor xssfcolor = new XSSFColor(); //rbg值 byte[] rgb = { (byte)255, (byte)192, (byte)203 }; //写入rgb 粉色背景颜色定义 xssfcolor.SetRgb(rgb); //设置颜色值 backgroundstyle.SetFillForegroundColor(xssfcolor); backgroundstyle.SetFont(font); IDataFormat dataformat = hssfworkbook.CreateDataFormat(); ICellStyle styleQfw = hssfworkbook.CreateCellStyle(); styleQfw.DataFormat = dataformat.GetFormat("0.00"); ICellStyle styleQfw1 = hssfworkbook.CreateCellStyle(); styleQfw1.DataFormat = dataformat.GetFormat("0.0"); ICellStyle styleQfw2 = hssfworkbook.CreateCellStyle(); styleQfw2.DataFormat = dataformat.GetFormat("0"); ICellStyle fontStyle = hssfworkbook.CreateCellStyle(); ICellStyle rateStyle = hssfworkbook.CreateCellStyle(); rateStyle.VerticalAlignment = VerticalAlignment.Center; rateStyle.Alignment = HorizontalAlignment.Right; ICellStyle yearStyle = hssfworkbook.CreateCellStyle(); yearStyle.VerticalAlignment = VerticalAlignment.Center; yearStyle.Alignment = HorizontalAlignment.Center; yearStyle.SetFont(font); rateStyle.SetFont(font); fontStyle.SetFont(font); styleQfw.SetFont(font); styleQfw1.SetFont(font); styleQfw2.SetFont(font); #endregion #region punish_C2 XSSFSheet ws = (XSSFSheet)hssfworkbook.GetSheet("Violation Penalty(C2)"); if (punishCount > 0) { var rowIndex = 1; foreach (var p in punishList) { if (ws.GetRow(rowIndex) == null) ws.CreateRow(rowIndex); if (ws.GetRow(rowIndex).GetCell(0) == null) ws.GetRow(rowIndex).CreateCell(0); if (ws.GetRow(rowIndex).GetCell(1) == null) ws.GetRow(rowIndex).CreateCell(1); if (p.PunishDate != null) { ws.GetRow(rowIndex).GetCell(0).SetCellValue(p.PunishDate.Value.ToString("yyyy/MM/dd")); ws.GetRow(rowIndex).GetCell(1).SetCellValue(p.PunishDate.Value.ToString("HH:mm")); } else { ws.GetRow(rowIndex).GetCell(0).SetCellValue(""); ws.GetRow(rowIndex).GetCell(1).SetCellValue(""); } if (ws.GetRow(rowIndex).GetCell(2) == null) ws.GetRow(rowIndex).CreateCell(2); ws.GetRow(rowIndex).GetCell(2).SetCellValue(p.FO_NO); if (ws.GetRow(rowIndex).GetCell(3) == null) ws.GetRow(rowIndex).CreateCell(3); ws.GetRow(rowIndex).GetCell(3).SetCellValue(p.ViolationRelatedSes); if (ws.GetRow(rowIndex).GetCell(4) == null) ws.GetRow(rowIndex).CreateCell(4); ws.GetRow(rowIndex).GetCell(4).SetCellValue(p.Discipline); if (ws.GetRow(rowIndex).GetCell(5) == null) ws.GetRow(rowIndex).CreateCell(5); ws.GetRow(rowIndex).GetCell(5).SetCellValue(p.DisciplineCN); if (ws.GetRow(rowIndex).GetCell(6) == null) ws.GetRow(rowIndex).CreateCell(6); ws.GetRow(rowIndex).GetCell(6).SetCellValue(p.DisciplineEn); if (ws.GetRow(rowIndex).GetCell(7) == null) ws.GetRow(rowIndex).CreateCell(7); ws.GetRow(rowIndex).GetCell(7).SetCellValue(p.Contractor); if (ws.GetRow(rowIndex).GetCell(8) == null) ws.GetRow(rowIndex).CreateCell(8); ws.GetRow(rowIndex).GetCell(8).SetCellValue(p.ContractorCN); 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.ContractorShortName); if (ws.GetRow(rowIndex).GetCell(11) == null) ws.GetRow(rowIndex).CreateCell(11); 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.Description); if (ws.GetRow(rowIndex).GetCell(13) == null) ws.GetRow(rowIndex).CreateCell(13); 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.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.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.ViolationDegree); if (ws.GetRow(rowIndex).GetCell(17) == null) ws.GetRow(rowIndex).CreateCell(17); 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.Main_Coordinator); if (ws.GetRow(rowIndex).GetCell(19) == null) ws.GetRow(rowIndex).CreateCell(19); 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.User_Representative); if (ws.GetRow(rowIndex).GetCell(21) == null) ws.GetRow(rowIndex).CreateCell(21); 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.Violation_Inspector_Name); if (ws.GetRow(rowIndex).GetCell(23) == null) ws.GetRow(rowIndex).CreateCell(23); 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.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) { percent = (int)(100 * (rowIndex) / totalNum); } rowIndex++; } } #endregion #region punish_C4 删除了 //XSSFSheet ws4 = (XSSFSheet)hssfworkbook.GetSheet("Violation and Handling(C4)"); //if (punishCount > 0) //{ // var rowIndex = 1; // foreach (var p in punishList) // { // if (ws4.GetRow(rowIndex) == null) ws4.CreateRow(rowIndex); // if (ws4.GetRow(rowIndex).GetCell(0) == null) ws4.GetRow(rowIndex).CreateCell(0); // if (ws4.GetRow(rowIndex).GetCell(1) == null) ws4.GetRow(rowIndex).CreateCell(1); // if (p.PunishDate != null) // { // ws4.GetRow(rowIndex).GetCell(0).SetCellValue(p.PunishDate.Value.ToString("yyyy/MM/dd")); // ws4.GetRow(rowIndex).GetCell(1).SetCellValue(p.PunishDate.Value.ToString("HH:mm")); // } // else // { // ws4.GetRow(rowIndex).GetCell(0).SetCellValue(""); // ws4.GetRow(rowIndex).GetCell(1).SetCellValue(""); // } // if (ws4.GetRow(rowIndex).GetCell(2) == null) ws4.GetRow(rowIndex).CreateCell(2); // ws4.GetRow(rowIndex).GetCell(2).SetCellValue(p.FO_NO); // if (ws4.GetRow(rowIndex).GetCell(3) == null) ws4.GetRow(rowIndex).CreateCell(3); // ws4.GetRow(rowIndex).GetCell(3).SetCellValue(p.ViolationRelatedSes); // if (ws4.GetRow(rowIndex).GetCell(4) == null) ws4.GetRow(rowIndex).CreateCell(4); // ws4.GetRow(rowIndex).GetCell(4).SetCellValue(p.Discipline); // if (ws4.GetRow(rowIndex).GetCell(5) == null) ws4.GetRow(rowIndex).CreateCell(5); // ws4.GetRow(rowIndex).GetCell(5).SetCellValue(p.DisciplineCN); // if (ws4.GetRow(rowIndex).GetCell(6) == null) ws4.GetRow(rowIndex).CreateCell(6); // ws4.GetRow(rowIndex).GetCell(6).SetCellValue(p.DisciplineEn); // if (ws4.GetRow(rowIndex).GetCell(7) == null) ws4.GetRow(rowIndex).CreateCell(7); // ws4.GetRow(rowIndex).GetCell(7).SetCellValue(p.Contractor); // if (ws4.GetRow(rowIndex).GetCell(8) == null) ws4.GetRow(rowIndex).CreateCell(8); // ws4.GetRow(rowIndex).GetCell(8).SetCellValue(p.ContractorCN); // if (ws4.GetRow(rowIndex).GetCell(9) == null) ws4.GetRow(rowIndex).CreateCell(9); // ws4.GetRow(rowIndex).GetCell(9).SetCellValue(p.ContractorEn); // if (ws4.GetRow(rowIndex).GetCell(10) == null) ws4.GetRow(rowIndex).CreateCell(10); // ws4.GetRow(rowIndex).GetCell(10).SetCellValue(p.Location); // if (ws4.GetRow(rowIndex).GetCell(11) == null) ws4.GetRow(rowIndex).CreateCell(11); // ws4.GetRow(rowIndex).GetCell(11).SetCellValue(p.Description); // if (ws4.GetRow(rowIndex).GetCell(12) == null) ws4.GetRow(rowIndex).CreateCell(12); // ws4.GetRow(rowIndex).GetCell(12).SetCellValue(p.ViolationDegree); // if (ws4.GetRow(rowIndex).GetCell(13) == null) ws4.GetRow(rowIndex).CreateCell(13); // ws4.GetRow(rowIndex).GetCell(13).SetCellValue(p.Contract_Admin); // if (ws4.GetRow(rowIndex).GetCell(14) == null) ws4.GetRow(rowIndex).CreateCell(14); // ws4.GetRow(rowIndex).GetCell(14).SetCellValue(p.Main_Coordinator); // if (ws4.GetRow(rowIndex).GetCell(15) == null) ws4.GetRow(rowIndex).CreateCell(15); // ws4.GetRow(rowIndex).GetCell(15).SetCellValue(p.MCDept); // if (ws4.GetRow(rowIndex).GetCell(16) == null) ws4.GetRow(rowIndex).CreateCell(16); // ws4.GetRow(rowIndex).GetCell(16).SetCellValue(p.User_Representative); // if (ws4.GetRow(rowIndex).GetCell(17) == null) ws4.GetRow(rowIndex).CreateCell(17); // ws4.GetRow(rowIndex).GetCell(17).SetCellValue(p.BYCRU); // if (ws4.GetRow(rowIndex).GetCell(18) == null) ws4.GetRow(rowIndex).CreateCell(18); // ws4.GetRow(rowIndex).GetCell(18).SetCellValue(p.Violation_Inspector_Name); // if (ws4.GetRow(rowIndex).GetCell(19) == null) ws4.GetRow(rowIndex).CreateCell(19); // ws4.GetRow(rowIndex).GetCell(19).SetCellValue(p.InspectionDep); // if (ws4.GetRow(rowIndex).GetCell(20) == null) ws4.GetRow(rowIndex).CreateCell(20); // ws4.GetRow(rowIndex).GetCell(20).SetCellValue(p.SES_No); // if (ws4.GetRow(rowIndex).GetCell(21) == null) ws4.GetRow(rowIndex).CreateCell(21); // ws4.GetRow(rowIndex).GetCell(21).SetCellValue(p.CompletionDate != null ? p.CompletionDate.Value.ToString("yyyy/MM/dd") : ""); // if ((int)((90 * (rowIndex + punishCount)) / totalNum) > percent) // { // percent = (int)(100 * (rowIndex + punishCount) / totalNum); // } // rowIndex++; // } //} #endregion #region 约谈,NCR,合同终止 改为C4了 XSSFSheet wsCm = (XSSFSheet)hssfworkbook.GetSheet("Violation and Handling(C4)"); if (cmListCount > 0) { var rowIndex = 1; foreach (var p in cmList) { if (wsCm.GetRow(rowIndex) == null) wsCm.CreateRow(rowIndex); if (wsCm.GetRow(rowIndex).GetCell(0) == null) wsCm.GetRow(rowIndex).CreateCell(0); wsCm.GetRow(rowIndex).GetCell(0).SetCellValue(p.OccurDate != null ? p.OccurDate.Value.ToString("yyyy/MM/dd") : ""); if (wsCm.GetRow(rowIndex).GetCell(1) == null) wsCm.GetRow(rowIndex).CreateCell(1); wsCm.GetRow(rowIndex).GetCell(1).SetCellValue(p.FO_NO); if (wsCm.GetRow(rowIndex).GetCell(2) == null) wsCm.GetRow(rowIndex).CreateCell(2); wsCm.GetRow(rowIndex).GetCell(2).SetCellValue(p.Discipline); if (wsCm.GetRow(rowIndex).GetCell(3) == null) wsCm.GetRow(rowIndex).CreateCell(3); wsCm.GetRow(rowIndex).GetCell(3).SetCellValue(p.DisciplineCN); if (wsCm.GetRow(rowIndex).GetCell(4) == null) wsCm.GetRow(rowIndex).CreateCell(4); wsCm.GetRow(rowIndex).GetCell(4).SetCellValue(p.DisciplineEn); if (wsCm.GetRow(rowIndex).GetCell(5) == null) wsCm.GetRow(rowIndex).CreateCell(5); wsCm.GetRow(rowIndex).GetCell(5).SetCellValue(p.Contractor); if (wsCm.GetRow(rowIndex).GetCell(6) == null) wsCm.GetRow(rowIndex).CreateCell(6); wsCm.GetRow(rowIndex).GetCell(6).SetCellValue(p.ContractorCN); 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.ContractorShortName); if (wsCm.GetRow(rowIndex).GetCell(9) == null) wsCm.GetRow(rowIndex).CreateCell(9); 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.FileType); if (wsCm.GetRow(rowIndex).GetCell(11) == null) wsCm.GetRow(rowIndex).CreateCell(11); 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.Main_Coordinator); if (wsCm.GetRow(rowIndex).GetCell(13) == null) wsCm.GetRow(rowIndex).CreateCell(13); 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.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) { percent = (int)(100 * (rowIndex + punishCount) / totalNum); } rowIndex++; } } #endregion #region 框架承包商当前数量 XSSFSheet wsCon = (XSSFSheet)hssfworkbook.GetSheet("Framework Contractors Number"); if (conListCount > 0) { var rowIndex = 1; 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.Discipline); //承包商 if (wsCon.GetRow(rowIndex).GetCell(1) == null) wsCon.GetRow(rowIndex).CreateCell(1); 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.ContractorShortName); //合同号 if (wsCon.GetRow(rowIndex).GetCell(3) == null) wsCon.GetRow(rowIndex).CreateCell(3); 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) { percent = (int)(100 * (rowIndex + punishCount + cmListCount) / totalNum); } rowIndex++; } } #endregion #region 非安全监护框架承包商绩效 XSSFSheet wss = (XSSFSheet)hssfworkbook.GetSheet("Non-Safety Contr. Performance"); if (overviewCount > 0) { var rowIndex = 1; foreach (var vs in OverviewReport) { 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; if (wss.GetRow(rowIndex).GetCell(4) == null) wss.GetRow(rowIndex).CreateCell(4); 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.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.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.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.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.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.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.TotalAvgScore2 != null ? vs.TotalAvgScore2.ToString() : ""); wss.GetRow(rowIndex).GetCell(11).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(12) == null) wss.GetRow(rowIndex).CreateCell(12); 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.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.CTSCAvgScore != null ? vs.CTSCAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(14).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(15) == null) wss.GetRow(rowIndex).CreateCell(15); 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.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.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.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.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.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.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) { percent = (int)(100 * (rowIndex + punishCount + cmListCount + conListCount) / totalNum); } rowIndex++; } } #endregion #region 安全监护框架承包商绩效 XSSFSheet wssafe = (XSSFSheet)hssfworkbook.GetSheet("Safety Contr. Performance"); if (safeOverviewCount > 0) { var rowIndex = 1; foreach (var vs in safeOverviewReport) { 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.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.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.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.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.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.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.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.TotalAvgScore2 != null ? vs.TotalAvgScore2.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(11).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(12) == null) wssafe.GetRow(rowIndex).CreateCell(12); 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.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.CTSCAvgScore != null ? vs.CTSCAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(14).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(15) == null) wssafe.GetRow(rowIndex).CreateCell(15); 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.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.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.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.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.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) { percent = (int)(100 * (rowIndex + punishCount + cmListCount + conListCount + overviewCount) / totalNum); } rowIndex++; } } #endregion #region 未评人员 XSSFSheet wsevalu = (XSSFSheet)hssfworkbook.GetSheet("Unevaluated Personnel"); if (noEvaluatedUser.Count > 0) { var rowEvalIndex = 1; foreach (var item in noEvaluatedUser) { 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 (!string.IsNullOrEmpty(item.DepartName) && item.DepartName != null) { if (wsevalu.GetRow(rowEvalIndex).GetCell(6) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(6); int index = item.DepartName.IndexOf('/'); if (index > 0) { wsevalu.GetRow(rowEvalIndex).GetCell(6).SetCellValue(item.DepartName.Substring(0, index)); } else { wsevalu.GetRow(rowEvalIndex).GetCell(6).SetCellValue(item.DepartName); } wsevalu.GetRow(rowEvalIndex).GetCell(6).CellStyle = fontStyle; } if (!string.IsNullOrEmpty(item.DepartName) && item.DepartName != null && item.DepartName.Contains("/")) { 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; string FoNoTxt = string.Empty; if (item.NotEvaluatedFoNo.Split(',').Length > 0) { int findex = 0; foreach (var itemFoNo in item.NotEvaluatedFoNo.Split(',')) { if (findex < 250) { 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(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 { FoNoTxt += string.IsNullOrEmpty(FoNoTxt) ? itemFoNo : "," + itemFoNo; } findex++; } if (!string.IsNullOrEmpty(FoNoTxt)) { if (wsevalu.GetRow(rowEvalIndex).GetCell(255) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(255); wsevalu.GetRow(rowEvalIndex).GetCell(255).SetCellValue(FoNoTxt); wsevalu.GetRow(rowEvalIndex).GetCell(255).CellStyle = fontStyle; } } #endregion if ((int)((90 * (rowEvalIndex + punishCount + cmListCount + conListCount + overviewCount + safeOverviewCount)) / totalNum) > percent) { percent = (int)(100 * (rowEvalIndex + punishCount + cmListCount + conListCount + overviewCount + safeOverviewCount) / totalNum); } rowEvalIndex++; } } #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); hssfworkbook.Close(); //using (FileStream filess = File.OpenWrite(ReportFileName)) //{ // hssfworkbook.Write(filess); // hssfworkbook.Close(); // filess.Flush(); // filess.Close(); //} percent = 100; url = ReportFileName.Replace(Server.MapPath("~/"), ""); #endregion } #endregion #region 权限设置 /// /// 菜单按钮权限 /// private void GetButtonPower() { var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.UserId, BLL.Const.PerformanceReportMenuId); if (buttonList.Count() > 0) { if (buttonList.Contains(BLL.Const.BtnOut)) { this.btnExportCN.Hidden = false; this.btnExportEn.Hidden = false; } else { this.btnExportCN.Hidden = true; this.btnExportEn.Hidden = true; } } } #endregion #region 构造未评用户类 public class NoEvaluationUsers { public string ReportMonth { get; set; } = string.Empty; public string Contract_No { get; set; } = string.Empty; public string NotEvaluatedFoNo { get; set; } = string.Empty; public string Evaluate_UserName { get; set; } = string.Empty; public string UserName { get; set; } = string.Empty; public string isEvaluate { get; set; } = string.Empty; public string RoleName { get; set; } = string.Empty; public string DepartName { get; set; } = string.Empty; public string CTSSEva { get; set; } = string.Empty; public string CTSCEva { get; set; } = string.Empty; public string MainCEva { get; set; } = string.Empty; public string UserREva { get; set; } = string.Empty; public string CTMT1Eva { get; set; } = string.Empty; public string CTMT2Eva { get; set; } = string.Empty; public string ConAREva { get; set; } = string.Empty; } #endregion } }