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; 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 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(); #region percentIn[UserId] = (int)(100 / 4); 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.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) / 4); 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 = 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.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 = true; ovList1.Add(ov); } } Funs.DB.FC_OverviewReport.InsertAllOnSubmit(ovList1); Funs.DB.SubmitChanges(); #endregion #region percentIn[UserId] = (int)((100 * 3) / 4); 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 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(); } percentIn[UserId] = (int)((100 * 4) / 4); #endregion } 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 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"); for (int j = 0; j < toDiff; j++) { percentIn[UserId] = (int)(100 * (j + 1) / (toDiff * 4)); 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.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(); } for (int j = 0; j < toDiff; j++) { percentIn[UserId] = (int)((100 * (j + 1+ toDiff)) / (toDiff * 4)); 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.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 = true; ovList.Add(ov); } } Funs.DB.FC_OverviewReport.InsertAllOnSubmit(ovList); Funs.DB.SubmitChanges(); } for (int j = 0; j < toDiff; j++) { percentIn[UserId] = (int)((100 * (j + 1 + toDiff * 2)) / (toDiff * 4)); 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(); } } for (int j = 0; j < toDiff; j++) { percentIn[UserId] = (int)((100 * (j + 1 + toDiff * 3)) / (toDiff * 4)); 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(); } } //if (j == 0) //{ // NewOverviewReport = OverviewReport.Copy(); //} //else //{ // foreach (DataRow dr in OverviewReport.Rows) // { // NewOverviewReport.ImportRow(dr); // } //} } 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.IsExport==true orderby x.FO_NO, x.FileType select x).ToList(); List conList = (from x in Funs.DB.View_FC_Contractor where x.FC_Status=="Valid" || x.FC_Status == "Expired Soon" orderby x.Contractor, x.Expire_Date select x).ToList(); List overviewReport = (from x in Funs.DB.FC_OverviewReport where x.IsSafe == false orderby x.ReportMonth, x.FO_NO select x).ToList(); List safeOverviewReport = (from x in Funs.DB.FC_OverviewReport where x.IsSafe == true orderby x.ReportMonth, x.FO_NO select x).ToList(); List noEvaluatedUser= (from x in Funs.DB.FC_NoEvaluatedUser orderby x.ReportMonth, x.IsSafe select x).ToList(); Thread t = new Thread(new ThreadStart(() => { ExportCN(punishList, cmList, conList, overviewReport , safeOverviewReport, noEvaluatedUser); })); t.Start(); PageContext.RegisterStartupScript("showProcessBar()"); } protected void btnExportEN_Click(object sender, EventArgs e) { percent = 0; url = ""; List punishList = (from x in Funs.DB.View_EMC_Punishment where x.Flag == "1" select x).ToList(); List cmList = (from x in Funs.DB.View_FC_ContractManagement where x.IsExport == true orderby x.FO_NO, x.FileType select x).ToList(); List conList = (from x in Funs.DB.View_FC_Contractor where x.FC_Status == "Valid" || x.FC_Status == "Expired Soon" orderby x.Contractor, x.Expire_Date select x).ToList(); List overviewReport = (from x in Funs.DB.FC_OverviewReport where x.IsSafe == false orderby x.ReportMonth, x.FO_NO select x).ToList(); List safeOverviewReport = (from x in Funs.DB.FC_OverviewReport where x.IsSafe == true orderby x.ReportMonth, x.FO_NO select x).ToList(); List noEvaluatedUser = (from x in Funs.DB.FC_NoEvaluatedUser orderby x.ReportMonth, x.IsSafe select x).ToList(); Thread t = new Thread(new ThreadStart(() => { ExportEN(punishList, cmList, conList, overviewReport, safeOverviewReport, noEvaluatedUser); })); t.Start(); PageContext.RegisterStartupScript("showProcessBar()"); } private void ExportCN(List punishList, List cmList, List conList, List OverviewReport, List safeOverviewReport,List noEvaluatedUser) { int punishCount = punishList.Count(); int cmListCount = cmList.Count(); int conListCount = conList.Count(); int overviewCount = OverviewReport.Count; int safeOverviewCount = safeOverviewReport.Count; int totalNum = punishCount + cmListCount + conListCount + overviewCount + safeOverviewCount + noEvaluatedUser.Count; #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.Location); if (ws.GetRow(rowIndex).GetCell(11) == null) ws.GetRow(rowIndex).CreateCell(11); ws.GetRow(rowIndex).GetCell(11).SetCellValue(p.Description); if (ws.GetRow(rowIndex).GetCell(12) == null) ws.GetRow(rowIndex).CreateCell(12); ws.GetRow(rowIndex).GetCell(12).SetCellValue(p.Company != null ? p.Company.Value.ToString("0.00") : ""); if (ws.GetRow(rowIndex).GetCell(13) == null) ws.GetRow(rowIndex).CreateCell(13); ws.GetRow(rowIndex).GetCell(13).SetCellValue(p.Individual != null ? p.Individual.Value.ToString("0.00") : ""); if (ws.GetRow(rowIndex).GetCell(14) == null) ws.GetRow(rowIndex).CreateCell(14); ws.GetRow(rowIndex).GetCell(14).SetCellValue(p.Backcharge != null ? p.Backcharge.Value.ToString("0.00") : ""); if (ws.GetRow(rowIndex).GetCell(15) == null) ws.GetRow(rowIndex).CreateCell(15); ws.GetRow(rowIndex).GetCell(15).SetCellValue(p.ViolationDegree); if (ws.GetRow(rowIndex).GetCell(16) == null) ws.GetRow(rowIndex).CreateCell(16); ws.GetRow(rowIndex).GetCell(16).SetCellValue(p.Contract_Admin); if (ws.GetRow(rowIndex).GetCell(17) == null) ws.GetRow(rowIndex).CreateCell(17); ws.GetRow(rowIndex).GetCell(17).SetCellValue(p.Main_Coordinator); if (ws.GetRow(rowIndex).GetCell(18) == null) ws.GetRow(rowIndex).CreateCell(18); ws.GetRow(rowIndex).GetCell(18).SetCellValue(p.MCDept); if (ws.GetRow(rowIndex).GetCell(19) == null) ws.GetRow(rowIndex).CreateCell(19); ws.GetRow(rowIndex).GetCell(19).SetCellValue(p.User_Representative); if (ws.GetRow(rowIndex).GetCell(20) == null) ws.GetRow(rowIndex).CreateCell(20); ws.GetRow(rowIndex).GetCell(20).SetCellValue(p.BYCRU); if (ws.GetRow(rowIndex).GetCell(21) == null) ws.GetRow(rowIndex).CreateCell(21); ws.GetRow(rowIndex).GetCell(21).SetCellValue(p.Violation_Inspector_Name); if (ws.GetRow(rowIndex).GetCell(22) == null) ws.GetRow(rowIndex).CreateCell(22); ws.GetRow(rowIndex).GetCell(22).SetCellValue(p.InspectionDep); if (ws.GetRow(rowIndex).GetCell(23) == null) ws.GetRow(rowIndex).CreateCell(23); ws.GetRow(rowIndex).GetCell(23).SetCellValue(p.SES_No); if (ws.GetRow(rowIndex).GetCell(24) == null) ws.GetRow(rowIndex).CreateCell(24); ws.GetRow(rowIndex).GetCell(24).SetCellValue(p.CompletionDate != null ? p.CompletionDate.Value.ToString("yyyy/MM/dd") : ""); 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.Remark); if (wsCm.GetRow(rowIndex).GetCell(9) == null) wsCm.GetRow(rowIndex).CreateCell(9); wsCm.GetRow(rowIndex).GetCell(9).SetCellValue(p.FileType); if (wsCm.GetRow(rowIndex).GetCell(10) == null) wsCm.GetRow(rowIndex).CreateCell(10); wsCm.GetRow(rowIndex).GetCell(10).SetCellValue(p.Contract_Admin); if (wsCm.GetRow(rowIndex).GetCell(11) == null) wsCm.GetRow(rowIndex).CreateCell(11); wsCm.GetRow(rowIndex).GetCell(11).SetCellValue(p.Main_Coordinator); if (wsCm.GetRow(rowIndex).GetCell(12) == null) wsCm.GetRow(rowIndex).CreateCell(12); wsCm.GetRow(rowIndex).GetCell(12).SetCellValue(p.MCDept); if (wsCm.GetRow(rowIndex).GetCell(13) == null) wsCm.GetRow(rowIndex).CreateCell(13); wsCm.GetRow(rowIndex).GetCell(13).SetCellValue(p.User_Representative); if (wsCm.GetRow(rowIndex).GetCell(14) == null) wsCm.GetRow(rowIndex).CreateCell(14); wsCm.GetRow(rowIndex).GetCell(14).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.Contractor); if (wsCon.GetRow(rowIndex).GetCell(1) == null) wsCon.GetRow(rowIndex).CreateCell(1); wsCon.GetRow(rowIndex).GetCell(1).SetCellValue(p.FO_NO); if (wsCon.GetRow(rowIndex).GetCell(2) == null) wsCon.GetRow(rowIndex).CreateCell(2); wsCon.GetRow(rowIndex).GetCell(2).SetCellValue(p.FC_Status); if (wsCon.GetRow(rowIndex).GetCell(3) == null) wsCon.GetRow(rowIndex).CreateCell(3); wsCon.GetRow(rowIndex).GetCell(3).SetCellValue(p.Expire_Date != null ? p.Expire_Date.Value.ToString("yyyy/MM/dd") : ""); 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.Main_Coordinator); wss.GetRow(rowIndex).GetCell(4).CellStyle = styleQfw1; if (wss.GetRow(rowIndex).GetCell(5) == null) wss.GetRow(rowIndex).CreateCell(5); wss.GetRow(rowIndex).GetCell(5).SetCellValue(vs.Total != null ? float.Parse(vs.Total.ToString()) : 0); wss.GetRow(rowIndex).GetCell(5).CellStyle = rateStyle; if (wss.GetRow(rowIndex).GetCell(6) == null) wss.GetRow(rowIndex).CreateCell(6); wss.GetRow(rowIndex).GetCell(6).SetCellValue(vs.Participation_Rate != null ? vs.Participation_Rate.ToString() + "%" : "0"); wss.GetRow(rowIndex).GetCell(6).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(7) == null) wss.GetRow(rowIndex).CreateCell(7); wss.GetRow(rowIndex).GetCell(7).SetCellValue(vs.TotalAvgScore1 != null ? vs.TotalAvgScore1.ToString() : ""); wss.GetRow(rowIndex).GetCell(7).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(8) == null) wss.GetRow(rowIndex).CreateCell(8); wss.GetRow(rowIndex).GetCell(8).SetCellValue(vs.TotalAvgScore2 != null ? vs.TotalAvgScore2.ToString() : ""); wss.GetRow(rowIndex).GetCell(8).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(9) == null) wss.GetRow(rowIndex).CreateCell(9); wss.GetRow(rowIndex).GetCell(9).SetCellValue(vs.TotalAvgScore3 != null ? vs.TotalAvgScore3.ToString() : ""); wss.GetRow(rowIndex).GetCell(9).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(10) == null) wss.GetRow(rowIndex).CreateCell(10); wss.GetRow(rowIndex).GetCell(10).SetCellValue(vs.CTSSAvgScore != null ? vs.CTSSAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(10).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(11) == null) wss.GetRow(rowIndex).CreateCell(11); wss.GetRow(rowIndex).GetCell(11).SetCellValue(vs.CTSCAvgScore != null ? vs.CTSCAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(11).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(12) == null) wss.GetRow(rowIndex).CreateCell(12); decimal? tnum = (vs.TotalAvgScore3 != null ? vs.TotalAvgScore3 : 0) + (vs.CTSSAvgScore != null ? vs.CTSSAvgScore : 0) + (vs.CTSCAvgScore != null ? vs.CTSCAvgScore : 0); wss.GetRow(rowIndex).GetCell(12).SetCellValue(tnum != null && tnum != 0 ? tnum.ToString() : ""); wss.GetRow(rowIndex).GetCell(12).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(13) == null) wss.GetRow(rowIndex).CreateCell(13); wss.GetRow(rowIndex).GetCell(13).SetCellValue(vs.TotalAvgScore4 != null ? vs.TotalAvgScore4.ToString() : ""); wss.GetRow(rowIndex).GetCell(13).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(14) == null) wss.GetRow(rowIndex).CreateCell(14); wss.GetRow(rowIndex).GetCell(14).SetCellValue(vs.TotalAvgScore5 != null ? vs.TotalAvgScore5.ToString() : ""); wss.GetRow(rowIndex).GetCell(14).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(15) == null) wss.GetRow(rowIndex).CreateCell(15); wss.GetRow(rowIndex).GetCell(15).SetCellValue(vs.TotalAvgScore6 != null ? vs.TotalAvgScore6.ToString() : ""); wss.GetRow(rowIndex).GetCell(15).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(16) == null) wss.GetRow(rowIndex).CreateCell(16); wss.GetRow(rowIndex).GetCell(16).SetCellValue(vs.TimelyAvgSocre != null ? vs.TimelyAvgSocre.ToString() : ""); wss.GetRow(rowIndex).GetCell(16).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(17) == null) wss.GetRow(rowIndex).CreateCell(17); wss.GetRow(rowIndex).GetCell(17).SetCellValue(vs.HonestyAvgScore != null ? vs.HonestyAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(17).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(18) == null) wss.GetRow(rowIndex).CreateCell(18); wss.GetRow(rowIndex).GetCell(18).SetCellValue(vs.MainCoordinatorAvgScore != null ? vs.MainCoordinatorAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(18).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(19) == null) wss.GetRow(rowIndex).CreateCell(19); wss.GetRow(rowIndex).GetCell(19).SetCellValue(vs.UserRepresentativeAvgScore != null ? vs.UserRepresentativeAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(19).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(20) == null) wss.GetRow(rowIndex).CreateCell(20); wss.GetRow(rowIndex).GetCell(20).SetCellValue(vs.CTSTAvgScore != null ? vs.CTSTAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(20).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(21) == null) wss.GetRow(rowIndex).CreateCell(21); wss.GetRow(rowIndex).GetCell(21).SetCellValue(vs.CTEDAvgScore != null ? vs.CTEDAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(21).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.Main_Coordinator); wssafe.GetRow(rowIndex).GetCell(4).CellStyle = styleQfw1; if (wssafe.GetRow(rowIndex).GetCell(5) == null) wssafe.GetRow(rowIndex).CreateCell(5); wssafe.GetRow(rowIndex).GetCell(5).SetCellValue(vs.Total != null ? float.Parse(vs.Total.ToString()) : 0); wssafe.GetRow(rowIndex).GetCell(5).CellStyle = rateStyle; if (wssafe.GetRow(rowIndex).GetCell(6) == null) wssafe.GetRow(rowIndex).CreateCell(6); wssafe.GetRow(rowIndex).GetCell(6).SetCellValue(vs.Participation_Rate != null ? vs.Participation_Rate.ToString() + "%" : "0"); wssafe.GetRow(rowIndex).GetCell(6).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(7) == null) wssafe.GetRow(rowIndex).CreateCell(7); wssafe.GetRow(rowIndex).GetCell(7).SetCellValue(vs.TotalAvgScore1 != null ? vs.TotalAvgScore1.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(7).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(8) == null) wssafe.GetRow(rowIndex).CreateCell(8); wssafe.GetRow(rowIndex).GetCell(8).SetCellValue(vs.TotalAvgScore2 != null ? vs.TotalAvgScore2.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(8).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(9) == null) wssafe.GetRow(rowIndex).CreateCell(9); wssafe.GetRow(rowIndex).GetCell(9).SetCellValue(vs.TotalAvgScore3 != null ? vs.TotalAvgScore3.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(9).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(10) == null) wssafe.GetRow(rowIndex).CreateCell(10); wssafe.GetRow(rowIndex).GetCell(10).SetCellValue(vs.CTSSAvgScore != null ? vs.CTSSAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(10).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(11) == null) wssafe.GetRow(rowIndex).CreateCell(11); wssafe.GetRow(rowIndex).GetCell(11).SetCellValue(vs.CTSCAvgScore != null ? vs.CTSCAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(11).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(12) == null) wssafe.GetRow(rowIndex).CreateCell(12); decimal? tnum = (vs.TotalAvgScore3 != null ? vs.TotalAvgScore3 : 0) + (vs.CTSSAvgScore != null ? vs.CTSSAvgScore : 0) + (vs.CTSCAvgScore != null ? vs.CTSCAvgScore : 0); wssafe.GetRow(rowIndex).GetCell(12).SetCellValue(tnum != null && tnum != 0 ? tnum.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(12).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(13) == null) wssafe.GetRow(rowIndex).CreateCell(13); wssafe.GetRow(rowIndex).GetCell(13).SetCellValue(vs.TotalAvgScore5 != null ? vs.TotalAvgScore5.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(13).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(14) == null) wssafe.GetRow(rowIndex).CreateCell(14); wssafe.GetRow(rowIndex).GetCell(14).SetCellValue(vs.TotalAvgScore6 != null ? vs.TotalAvgScore6.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(14).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(15) == null) wssafe.GetRow(rowIndex).CreateCell(15); wssafe.GetRow(rowIndex).GetCell(15).SetCellValue(vs.TimelyAvgSocre != null ? vs.TimelyAvgSocre.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(15).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(16) == null) wssafe.GetRow(rowIndex).CreateCell(16); wssafe.GetRow(rowIndex).GetCell(16).SetCellValue(vs.HonestyAvgScore != null ? vs.HonestyAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(16).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(17) == null) wssafe.GetRow(rowIndex).CreateCell(17); wssafe.GetRow(rowIndex).GetCell(17).SetCellValue(vs.MainCoordinatorAvgScore != null ? vs.MainCoordinatorAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(17).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(18) == null) wssafe.GetRow(rowIndex).CreateCell(18); wssafe.GetRow(rowIndex).GetCell(18).SetCellValue(vs.UserRepresentativeAvgScore != null ? vs.UserRepresentativeAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(18).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(19) == null) wssafe.GetRow(rowIndex).CreateCell(19); wssafe.GetRow(rowIndex).GetCell(19).SetCellValue(vs.CTSTAvgScore != null ? vs.CTSTAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(19).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(20) == null) wssafe.GetRow(rowIndex).CreateCell(20); wssafe.GetRow(rowIndex).GetCell(20).SetCellValue(vs.CTEDAvgScore != null ? vs.CTEDAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(20).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 (wsevalu.GetRow(rowEvalIndex).GetCell(6) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(6); wsevalu.GetRow(rowEvalIndex).GetCell(6).SetCellValue(item.DepartName); wsevalu.GetRow(rowEvalIndex).GetCell(6).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(7 + findex) == null) wsevalu.GetRow(0).CreateCell(7 + findex); wsevalu.GetRow(0).GetCell(7 + findex).SetCellValue("未评价合同号"+ (findex+1).ToString()); wsevalu.GetRow(0).GetCell(7 + findex).CellStyle = wsevalu.GetRow(0).GetCell(7).CellStyle; if (wsevalu.GetRow(rowEvalIndex).GetCell(7 + findex) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(7 + findex); wsevalu.GetRow(rowEvalIndex).GetCell(7 + findex).SetCellValue(itemFoNo); wsevalu.GetRow(rowEvalIndex).GetCell(7 + findex).CellStyle = fontStyle; } 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 ws.ForceFormulaRecalculation = true; //ws4.ForceFormulaRecalculation = true; wsCm.ForceFormulaRecalculation = true; wss.ForceFormulaRecalculation = true; wssafe.ForceFormulaRecalculation = true; wsevalu.ForceFormulaRecalculation = true; using (FileStream filess = File.OpenWrite(ReportFileName)) { hssfworkbook.Write(filess); hssfworkbook.Close(); filess.Flush(); filess.Close(); } percent = 100; url = ReportFileName.Replace(Server.MapPath("~/"), ""); #endregion } private void ExportEN(List punishList, List cmList, List conList, List OverviewReport, List safeOverviewReport, List noEvaluatedUser) { int punishCount = punishList.Count(); int cmListCount = cmList.Count(); int conListCount = conList.Count(); int overviewCount = OverviewReport.Count; int safeOverviewCount = safeOverviewReport.Count; int totalNum = punishCount + cmListCount + conListCount + overviewCount + safeOverviewCount + noEvaluatedUser.Count; #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.Location); if (ws.GetRow(rowIndex).GetCell(11) == null) ws.GetRow(rowIndex).CreateCell(11); ws.GetRow(rowIndex).GetCell(11).SetCellValue(p.Description); if (ws.GetRow(rowIndex).GetCell(12) == null) ws.GetRow(rowIndex).CreateCell(12); ws.GetRow(rowIndex).GetCell(12).SetCellValue(p.Company != null ? p.Company.Value.ToString("0.00") : ""); if (ws.GetRow(rowIndex).GetCell(13) == null) ws.GetRow(rowIndex).CreateCell(13); ws.GetRow(rowIndex).GetCell(13).SetCellValue(p.Individual != null ? p.Individual.Value.ToString("0.00") : ""); if (ws.GetRow(rowIndex).GetCell(14) == null) ws.GetRow(rowIndex).CreateCell(14); ws.GetRow(rowIndex).GetCell(14).SetCellValue(p.Backcharge != null ? p.Backcharge.Value.ToString("0.00") : ""); if (ws.GetRow(rowIndex).GetCell(15) == null) ws.GetRow(rowIndex).CreateCell(15); ws.GetRow(rowIndex).GetCell(15).SetCellValue(p.ViolationDegree); if (ws.GetRow(rowIndex).GetCell(16) == null) ws.GetRow(rowIndex).CreateCell(16); ws.GetRow(rowIndex).GetCell(16).SetCellValue(p.Contract_Admin); if (ws.GetRow(rowIndex).GetCell(17) == null) ws.GetRow(rowIndex).CreateCell(17); ws.GetRow(rowIndex).GetCell(17).SetCellValue(p.Main_Coordinator); if (ws.GetRow(rowIndex).GetCell(18) == null) ws.GetRow(rowIndex).CreateCell(18); ws.GetRow(rowIndex).GetCell(18).SetCellValue(p.MCDept); if (ws.GetRow(rowIndex).GetCell(19) == null) ws.GetRow(rowIndex).CreateCell(19); ws.GetRow(rowIndex).GetCell(19).SetCellValue(p.User_Representative); if (ws.GetRow(rowIndex).GetCell(20) == null) ws.GetRow(rowIndex).CreateCell(20); ws.GetRow(rowIndex).GetCell(20).SetCellValue(p.BYCRU); if (ws.GetRow(rowIndex).GetCell(21) == null) ws.GetRow(rowIndex).CreateCell(21); ws.GetRow(rowIndex).GetCell(21).SetCellValue(p.Violation_Inspector_Name); if (ws.GetRow(rowIndex).GetCell(22) == null) ws.GetRow(rowIndex).CreateCell(22); ws.GetRow(rowIndex).GetCell(22).SetCellValue(p.InspectionDep); if (ws.GetRow(rowIndex).GetCell(23) == null) ws.GetRow(rowIndex).CreateCell(23); ws.GetRow(rowIndex).GetCell(23).SetCellValue(p.SES_No); if (ws.GetRow(rowIndex).GetCell(24) == null) ws.GetRow(rowIndex).CreateCell(24); ws.GetRow(rowIndex).GetCell(24).SetCellValue(p.CompletionDate != null ? p.CompletionDate.Value.ToString("yyyy/MM/dd") : ""); 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.Remark); if (wsCm.GetRow(rowIndex).GetCell(9) == null) wsCm.GetRow(rowIndex).CreateCell(9); wsCm.GetRow(rowIndex).GetCell(9).SetCellValue(p.FileType); if (wsCm.GetRow(rowIndex).GetCell(10) == null) wsCm.GetRow(rowIndex).CreateCell(10); wsCm.GetRow(rowIndex).GetCell(10).SetCellValue(p.Contract_Admin); if (wsCm.GetRow(rowIndex).GetCell(11) == null) wsCm.GetRow(rowIndex).CreateCell(11); wsCm.GetRow(rowIndex).GetCell(11).SetCellValue(p.Main_Coordinator); if (wsCm.GetRow(rowIndex).GetCell(12) == null) wsCm.GetRow(rowIndex).CreateCell(12); wsCm.GetRow(rowIndex).GetCell(12).SetCellValue(p.MCDept); if (wsCm.GetRow(rowIndex).GetCell(13) == null) wsCm.GetRow(rowIndex).CreateCell(13); wsCm.GetRow(rowIndex).GetCell(13).SetCellValue(p.User_Representative); if (wsCm.GetRow(rowIndex).GetCell(14) == null) wsCm.GetRow(rowIndex).CreateCell(14); wsCm.GetRow(rowIndex).GetCell(14).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.Contractor); if (wsCon.GetRow(rowIndex).GetCell(1) == null) wsCon.GetRow(rowIndex).CreateCell(1); wsCon.GetRow(rowIndex).GetCell(1).SetCellValue(p.FO_NO); if (wsCon.GetRow(rowIndex).GetCell(2) == null) wsCon.GetRow(rowIndex).CreateCell(2); wsCon.GetRow(rowIndex).GetCell(2).SetCellValue(p.FC_Status); if (wsCon.GetRow(rowIndex).GetCell(3) == null) wsCon.GetRow(rowIndex).CreateCell(3); wsCon.GetRow(rowIndex).GetCell(3).SetCellValue(p.Expire_Date != null ? p.Expire_Date.Value.ToString("yyyy/MM/dd") : ""); 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.Main_Coordinator); wss.GetRow(rowIndex).GetCell(4).CellStyle = styleQfw1; if (wss.GetRow(rowIndex).GetCell(5) == null) wss.GetRow(rowIndex).CreateCell(5); wss.GetRow(rowIndex).GetCell(5).SetCellValue(vs.Total != null ? float.Parse(vs.Total.ToString()) : 0); wss.GetRow(rowIndex).GetCell(5).CellStyle = rateStyle; if (wss.GetRow(rowIndex).GetCell(6) == null) wss.GetRow(rowIndex).CreateCell(6); wss.GetRow(rowIndex).GetCell(6).SetCellValue(vs.Participation_Rate != null ? vs.Participation_Rate.ToString() + "%" : "0"); wss.GetRow(rowIndex).GetCell(6).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(7) == null) wss.GetRow(rowIndex).CreateCell(7); wss.GetRow(rowIndex).GetCell(7).SetCellValue(vs.TotalAvgScore1 != null ? vs.TotalAvgScore1.ToString() : ""); wss.GetRow(rowIndex).GetCell(7).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(8) == null) wss.GetRow(rowIndex).CreateCell(8); wss.GetRow(rowIndex).GetCell(8).SetCellValue(vs.TotalAvgScore2 != null ? vs.TotalAvgScore2.ToString() : ""); wss.GetRow(rowIndex).GetCell(8).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(9) == null) wss.GetRow(rowIndex).CreateCell(9); wss.GetRow(rowIndex).GetCell(9).SetCellValue(vs.TotalAvgScore3 != null ? vs.TotalAvgScore3.ToString() : ""); wss.GetRow(rowIndex).GetCell(9).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(10) == null) wss.GetRow(rowIndex).CreateCell(10); wss.GetRow(rowIndex).GetCell(10).SetCellValue(vs.CTSSAvgScore != null ? vs.CTSSAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(10).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(11) == null) wss.GetRow(rowIndex).CreateCell(11); wss.GetRow(rowIndex).GetCell(11).SetCellValue(vs.CTSCAvgScore != null ? vs.CTSCAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(11).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(12) == null) wss.GetRow(rowIndex).CreateCell(12); decimal? tnum = (vs.TotalAvgScore3 != null ? vs.TotalAvgScore3 : 0) + (vs.CTSSAvgScore != null ? vs.CTSSAvgScore : 0) + (vs.CTSCAvgScore != null ? vs.CTSCAvgScore : 0); wss.GetRow(rowIndex).GetCell(12).SetCellValue(tnum != null && tnum != 0 ? tnum.ToString() : ""); wss.GetRow(rowIndex).GetCell(12).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(13) == null) wss.GetRow(rowIndex).CreateCell(13); wss.GetRow(rowIndex).GetCell(13).SetCellValue(vs.TotalAvgScore4 != null ? vs.TotalAvgScore4.ToString() : ""); wss.GetRow(rowIndex).GetCell(13).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(14) == null) wss.GetRow(rowIndex).CreateCell(14); wss.GetRow(rowIndex).GetCell(14).SetCellValue(vs.TotalAvgScore5 != null ? vs.TotalAvgScore5.ToString() : ""); wss.GetRow(rowIndex).GetCell(14).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(15) == null) wss.GetRow(rowIndex).CreateCell(15); wss.GetRow(rowIndex).GetCell(15).SetCellValue(vs.TotalAvgScore6 != null ? vs.TotalAvgScore6.ToString() : ""); wss.GetRow(rowIndex).GetCell(15).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(16) == null) wss.GetRow(rowIndex).CreateCell(16); wss.GetRow(rowIndex).GetCell(16).SetCellValue(vs.TimelyAvgSocre != null ? vs.TimelyAvgSocre.ToString() : ""); wss.GetRow(rowIndex).GetCell(16).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(17) == null) wss.GetRow(rowIndex).CreateCell(17); wss.GetRow(rowIndex).GetCell(17).SetCellValue(vs.HonestyAvgScore != null ? vs.HonestyAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(17).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(18) == null) wss.GetRow(rowIndex).CreateCell(18); wss.GetRow(rowIndex).GetCell(18).SetCellValue(vs.MainCoordinatorAvgScore != null ? vs.MainCoordinatorAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(18).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(19) == null) wss.GetRow(rowIndex).CreateCell(19); wss.GetRow(rowIndex).GetCell(19).SetCellValue(vs.UserRepresentativeAvgScore != null ? vs.UserRepresentativeAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(19).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(20) == null) wss.GetRow(rowIndex).CreateCell(20); wss.GetRow(rowIndex).GetCell(20).SetCellValue(vs.CTSTAvgScore != null ? vs.CTSTAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(20).CellStyle = styleQfw; if (wss.GetRow(rowIndex).GetCell(21) == null) wss.GetRow(rowIndex).CreateCell(21); wss.GetRow(rowIndex).GetCell(21).SetCellValue(vs.CTEDAvgScore != null ? vs.CTEDAvgScore.ToString() : ""); wss.GetRow(rowIndex).GetCell(21).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.Main_Coordinator); wssafe.GetRow(rowIndex).GetCell(4).CellStyle = styleQfw1; if (wssafe.GetRow(rowIndex).GetCell(5) == null) wssafe.GetRow(rowIndex).CreateCell(5); wssafe.GetRow(rowIndex).GetCell(5).SetCellValue(vs.Total != null ? float.Parse(vs.Total.ToString()) : 0); wssafe.GetRow(rowIndex).GetCell(5).CellStyle = rateStyle; if (wssafe.GetRow(rowIndex).GetCell(6) == null) wssafe.GetRow(rowIndex).CreateCell(6); wssafe.GetRow(rowIndex).GetCell(6).SetCellValue(vs.Participation_Rate != null ? vs.Participation_Rate.ToString() + "%" : "0"); wssafe.GetRow(rowIndex).GetCell(6).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(7) == null) wssafe.GetRow(rowIndex).CreateCell(7); wssafe.GetRow(rowIndex).GetCell(7).SetCellValue(vs.TotalAvgScore1 != null ? vs.TotalAvgScore1.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(7).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(8) == null) wssafe.GetRow(rowIndex).CreateCell(8); wssafe.GetRow(rowIndex).GetCell(8).SetCellValue(vs.TotalAvgScore2 != null ? vs.TotalAvgScore2.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(8).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(9) == null) wssafe.GetRow(rowIndex).CreateCell(9); wssafe.GetRow(rowIndex).GetCell(9).SetCellValue(vs.TotalAvgScore3 != null ? vs.TotalAvgScore3.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(9).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(10) == null) wssafe.GetRow(rowIndex).CreateCell(10); wssafe.GetRow(rowIndex).GetCell(10).SetCellValue(vs.CTSSAvgScore != null ? vs.CTSSAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(10).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(11) == null) wssafe.GetRow(rowIndex).CreateCell(11); wssafe.GetRow(rowIndex).GetCell(11).SetCellValue(vs.CTSCAvgScore != null ? vs.CTSCAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(11).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(12) == null) wssafe.GetRow(rowIndex).CreateCell(12); decimal? tnum = (vs.TotalAvgScore3 != null ? vs.TotalAvgScore3 : 0) + (vs.CTSSAvgScore != null ? vs.CTSSAvgScore : 0) + (vs.CTSCAvgScore != null ? vs.CTSCAvgScore : 0); wssafe.GetRow(rowIndex).GetCell(12).SetCellValue(tnum != null && tnum != 0 ? tnum.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(12).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(13) == null) wssafe.GetRow(rowIndex).CreateCell(13); wssafe.GetRow(rowIndex).GetCell(13).SetCellValue(vs.TotalAvgScore5 != null ? vs.TotalAvgScore5.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(13).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(14) == null) wssafe.GetRow(rowIndex).CreateCell(14); wssafe.GetRow(rowIndex).GetCell(14).SetCellValue(vs.TotalAvgScore6 != null ? vs.TotalAvgScore6.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(14).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(15) == null) wssafe.GetRow(rowIndex).CreateCell(15); wssafe.GetRow(rowIndex).GetCell(15).SetCellValue(vs.TimelyAvgSocre != null ? vs.TimelyAvgSocre.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(15).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(16) == null) wssafe.GetRow(rowIndex).CreateCell(16); wssafe.GetRow(rowIndex).GetCell(16).SetCellValue(vs.HonestyAvgScore != null ? vs.HonestyAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(16).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(17) == null) wssafe.GetRow(rowIndex).CreateCell(17); wssafe.GetRow(rowIndex).GetCell(17).SetCellValue(vs.MainCoordinatorAvgScore != null ? vs.MainCoordinatorAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(17).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(18) == null) wssafe.GetRow(rowIndex).CreateCell(18); wssafe.GetRow(rowIndex).GetCell(18).SetCellValue(vs.UserRepresentativeAvgScore != null ? vs.UserRepresentativeAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(18).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(19) == null) wssafe.GetRow(rowIndex).CreateCell(19); wssafe.GetRow(rowIndex).GetCell(19).SetCellValue(vs.CTSTAvgScore != null ? vs.CTSTAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(19).CellStyle = styleQfw; if (wssafe.GetRow(rowIndex).GetCell(20) == null) wssafe.GetRow(rowIndex).CreateCell(20); wssafe.GetRow(rowIndex).GetCell(20).SetCellValue(vs.CTEDAvgScore != null ? vs.CTEDAvgScore.ToString() : ""); wssafe.GetRow(rowIndex).GetCell(20).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 (wsevalu.GetRow(rowEvalIndex).GetCell(6) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(6); wsevalu.GetRow(rowEvalIndex).GetCell(6).SetCellValue(item.DepartName); wsevalu.GetRow(rowEvalIndex).GetCell(6).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(7 + findex) == null) wsevalu.GetRow(0).CreateCell(7 + findex); wsevalu.GetRow(0).GetCell(7 + findex).SetCellValue("Contract No. \r\nNot Evaluated" + (findex + 1).ToString()); wsevalu.GetRow(0).GetCell(7 + findex).CellStyle = wsevalu.GetRow(0).GetCell(7).CellStyle; if (wsevalu.GetRow(rowEvalIndex).GetCell(7 + findex) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(7 + findex); wsevalu.GetRow(rowEvalIndex).GetCell(7 + findex).SetCellValue(itemFoNo); wsevalu.GetRow(rowEvalIndex).GetCell(7 + findex).CellStyle = fontStyle; } 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 ws.ForceFormulaRecalculation = true; //ws4.ForceFormulaRecalculation = true; wsCm.ForceFormulaRecalculation = true; wss.ForceFormulaRecalculation = true; wssafe.ForceFormulaRecalculation = true; wsevalu.ForceFormulaRecalculation = true; using (FileStream filess = File.OpenWrite(ReportFileName)) { hssfworkbook.Write(filess); hssfworkbook.Close(); filess.Flush(); filess.Close(); } percent = 100; url = ReportFileName.Replace(Server.MapPath("~/"), ""); #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 } }