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 EvaluationReport : PageBase { 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; } private const string GRID_COLUMN_HEADER = "GRID_COLUMN_HEADER"; private const string GRID_TIME = "GRID_TIME"; private const string GRID_IsSpecial = "GRID_IsSpecial"; private const string UPDATE_HEADER = "UPDATE_HEADER"; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { GetButtonPower(); var con = (from x in Funs.DB.FC_Score orderby x.Contract_No descending select x.Contract_No).Distinct(); drpContractNo.DataValueField = "Contract_No"; drpContractNo.DataTextField = "Contract_No"; drpContractNo.DataSource = con; drpContractNo.DataBind(); Funs.FineUIPleaseSelect(drpContractNo); txtStartTime.Text = DateTime.Now.AddMonths(-1).ToString("yyyy-MM"); if (!NeedUpdateHeader()) { BindGrid1(); } else { var time = Session[GRID_TIME] as List; var isSpecial = Session[GRID_IsSpecial] as List; txtStartTime.Text = time[0]; drpIsSpecial.SelectedValue = isSpecial[0]; //txtEndTime.Text = time[1]; TabStrip1.ActiveTabIndex = 1; BindGrid2(); } } } #region 绑定数据 #region Grid1 /// /// 绑定Grid1(Overview) /// public void BindGrid1() { 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"); if (drpIsSpecial.SelectedValue == "0") { var dt = SQLHelper.GetDataTableRunText("exec FN_OverviewReport '" + sTime + "','" + eTime + "'", new SqlParameter[0]); Grid1.RecordCount = dt.Rows.Count; var table = this.GetPagedDataTable(Grid1, dt); Grid1.DataSource = table; Grid1.DataBind(); ((GroupField)Grid1.Columns[6]).HeaderText = "工作准备
Preparation"; Grid1.Columns[9].Hidden = false; } else { var dt = SQLHelper.GetDataTableRunText("exec FN_Safety_OverviewReport '" + sTime + "','" + eTime + "'", new SqlParameter[0]); Grid1.RecordCount = dt.Rows.Count; var table = this.GetPagedDataTable(Grid1, dt); Grid1.DataSource = table; Grid1.DataBind(); ((GroupField)Grid1.Columns[6]).HeaderText = "人力资源
Resource"; Grid1.Columns[9].Hidden = true; } } protected void drpIsSpecial_OnSelectedIndexChanged(object sender, EventArgs e) { BindGrid1(); } /// /// 分页 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { Grid1.PageIndex = e.NewPageIndex; BindGrid1(); } /// /// 分页显示条数下拉框 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid1(); } /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e) { Grid1.SortDirection = e.SortDirection; Grid1.SortField = e.SortField; BindGrid1(); } #endregion #region Grid2 /// /// 连接 /// /// private String FetchRefreshUrl() { string url = "EvaluationReport.aspx"; url += "?" + UPDATE_HEADER + "=TRUE"; return url; } /// /// 动态表头 /// private void InitGrid() { var bf = new BoundField(); var headers = Session[GRID_COLUMN_HEADER] as List; if (headers == null) { var minData = DateTime.Parse(txtStartTime.Text + "-01").AddMonths(-25); var maxData = DateTime.Parse(txtStartTime.Text + "-13").AddMonths(-1); //var maxData = DateTime.Parse(txtStartTime.Text + "-12").AddMonths(-2); //var Month = ((maxData.Year - minData.Year) * 12 + (maxData.Month - minData.Month)) == 0 ? 1 : (maxData.Year - minData.Year) * 12 + (maxData.Month - minData.Month + 1); var columnKey = new List(); for (int i = 0; i < 25; i++) { var startData = DateTime.Parse("" + minData.Year + "-" + minData.Month + "-01").AddMonths(i); //动态列 columnKey.Add(startData.ToString("yyyy-MM")); bf = new BoundField(); bf.DataField = startData.ToString("yyyy-MM"); bf.DataFormatString = "{0}"; bf.HeaderText = startData.ToString("yyyy-MM"); Grid2.Columns.Add(bf); } Grid2.DataKeyNames = columnKey.ToArray(); return; } for (int i = 5; i < Grid2.Columns.Count; i++) { Grid2.Columns.RemoveAt(i); } foreach (string header in headers) { bf = new BoundField(); bf.HeaderText = header; bf.DataField = header; bf.DataFormatString = "{0}"; Grid2.Columns.Add(bf); } } private bool NeedUpdateHeader() { if (Request == null) return false; string updateHeader = Request.QueryString[UPDATE_HEADER]; if (string.IsNullOrWhiteSpace(updateHeader) || updateHeader.ToUpper().Equals("FALSE")) { return false; } return true; } protected void Page_Init(object sender, EventArgs e) { var time = Session[GRID_TIME] as List;//GRID_IsSpecial var isSpecial = Session[GRID_IsSpecial] as List; txtStartTime.Text = time == null ? DateTime.Now.ToString("yyyy-MM-dd") : time[0]; drpIsSpecial.SelectedValue = isSpecial == null ? "0" : isSpecial[0]; InitGrid(); } /// /// 绑定Grid2(Year_to_date Report) /// public void BindGrid2() { var minData = DateTime.Parse(txtStartTime.Text + "-01").AddMonths(-25); var maxData = DateTime.Parse(txtStartTime.Text + "-13").AddMonths(-1); var dtMonth = new DataTable(); dtMonth.Columns.Add("FO_NO"); dtMonth.Columns.Add("Discipline"); dtMonth.Columns.Add("Contractor"); dtMonth.Columns.Add("Contract_Admin"); dtMonth.Columns.Add("Main_Coordinator"); List sesRelatedData = null; DataTable sesDataTable = new DataTable(); if (drpIsSpecial.SelectedValue == "0") { sesRelatedData = (from x in Funs.DB.View_FC_SESRelatedData.Where(p => p.DisciplineId != "ddcd51c2-1059-4cc8-8f6f-8936da88a4c4") select x).ToList(); sesDataTable = SQLHelper.GetDataTableRunText("exec FN_YearToDateReport '" + minData.ToString("yyyy-MM-dd") + "','" + maxData.ToString("yyyy-MM-dd") + "'", new SqlParameter[0]); } else { sesRelatedData = (from x in Funs.DB.View_FC_SESRelatedData.Where(p => p.DisciplineId == "ddcd51c2-1059-4cc8-8f6f-8936da88a4c4") select x).ToList(); sesDataTable = SQLHelper.GetDataTableRunText("exec FN_Safety_YearToDateReport '" + minData.ToString("yyyy-MM-dd") + "','" + maxData.ToString("yyyy-MM-dd") + "'", new SqlParameter[0]); } var sesDataScore = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(sesDataTable)); //var Month = ((maxData.Year - minData.Year) * 12 + (maxData.Month - minData.Month)) == 0 ? 1 : (maxData.Year - minData.Year) * 12 + (maxData.Month - minData.Month + 1); if (sesRelatedData.Count > 0) { int colIndex = 0; foreach (var item in sesRelatedData) { var sesFoDataScore = sesDataScore.Where(p => p.FO_NO == item.FO_NO).ToList(); var row = dtMonth.NewRow(); row[0] = item.FO_NO; row[1] = item.Discipline; row[2] = item.Contractor; row[3] = item.Contract_Admin; row[4] = item.Main_Coordinator; for (int j = 0; j < 25; j++) { var startData = DateTime.Parse("" + minData.Year + "-" + minData.Month + "-01").AddMonths(j); if (colIndex == 0) { dtMonth.Columns.Add(startData.ToString("yyyy-MM")); } var monthValue = sesFoDataScore.Count(p => p.dataMonth == startData.ToString("yyyy-MM")) > 0 ? sesFoDataScore.FirstOrDefault(p => p.dataMonth == startData.ToString("yyyy-MM")).SumScore : "-"; row[j + 5] = monthValue; } dtMonth.Rows.Add(row); colIndex++; } } Grid2.RecordCount = dtMonth.Rows.Count; var table = this.GetPagedDataTable(Grid2, dtMonth); Grid2.DataSource = table; Grid2.DataBind(); } /// /// 分页 /// protected void Grid2_PageIndexChange(object sender, GridPageEventArgs e) { Grid2.PageIndex = e.NewPageIndex; BindGrid2(); } /// /// 分页显示条数下拉框 /// protected void ddlPageSize2_SelectedIndexChanged(object sender, EventArgs e) { Grid2.PageSize = Convert.ToInt32(ddlPageSize2.SelectedValue); BindGrid2(); } /// /// 排序 /// protected void Grid2_Sort(object sender, FineUIPro.GridSortEventArgs e) { Grid2.SortDirection = e.SortDirection; Grid2.SortField = e.SortField; BindGrid2(); } #endregion #region Grid3 /// /// 绑定Grid3(Extreme Scores) /// public void BindGrid3() { 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 examScoreList = new List(); if (drpIsSpecial.SelectedValue == "0") { var tbExtre = SQLHelper.GetDataTableRunText("exec FN_ExtremeScoresReport '" + sTime + "','" + eTime + "'", new SqlParameter[0]); if (tbExtre.Rows.Count > 0) { for (int i = 0; i < tbExtre.Rows.Count; i++) { var examScore = new ExtremeScores(); examScore.NewGuid = tbExtre.Rows[i]["NewGuid"].ToString(); examScore.FO_NO = tbExtre.Rows[i]["FO_NO"].ToString(); examScore.Contractor = tbExtre.Rows[i]["Contractor"].ToString(); examScore.Work_Description = tbExtre.Rows[i]["Work_Description"].ToString(); examScore.User = tbExtre.Rows[i]["UserName"].ToString(); examScore.Contract_Admin = tbExtre.Rows[i]["Contract_Admin"].ToString(); examScore.DateIn = !string.IsNullOrEmpty(tbExtre.Rows[i]["DateIn"].ToString()) ? DateTime.Parse(tbExtre.Rows[i]["DateIn"].ToString()) : DateTime.Now; if (tbExtre.Rows[i]["Role"].ToString() == "User") { if (tbExtre.Rows[i]["Score1"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) >= 0) { examScore.TotalScore1 = tbExtre.Rows[i]["Score1"].ToString(); } } if (tbExtre.Rows[i]["Score2"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) >= 0) { examScore.TotalScore2 = tbExtre.Rows[i]["Score2"].ToString(); } } if (tbExtre.Rows[i]["Score3"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) >= 0) { examScore.TotalScore3 = tbExtre.Rows[i]["Score3"].ToString(); } } if (tbExtre.Rows[i]["Score4"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) >= 0) { examScore.TotalScore4 = tbExtre.Rows[i]["Score4"].ToString(); } } if (tbExtre.Rows[i]["Score5"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) >= 0) { examScore.TotalScore5 = tbExtre.Rows[i]["Score5"].ToString(); } } if (tbExtre.Rows[i]["Score6"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) >= 0) { examScore.TotalScore6 = tbExtre.Rows[i]["Score6"].ToString(); } } if (tbExtre.Rows[i]["Score7"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score7"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score7"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score7"]) >= 0) { examScore.TotalTimelyHonesty = tbExtre.Rows[i]["Score7"].ToString(); } } } else { if (tbExtre.Rows[i]["Score1"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) >= 0) { examScore.CTSSTotalScore = tbExtre.Rows[i]["Score1"].ToString(); } } if (tbExtre.Rows[i]["Score2"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) >= 0) { examScore.CTSCTotalScore = tbExtre.Rows[i]["Score2"].ToString(); } } if (tbExtre.Rows[i]["Score3"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) >= 0) { examScore.MainCoordinatorTotalScore = tbExtre.Rows[i]["Score3"].ToString(); } } if (tbExtre.Rows[i]["Score4"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) >= 0) { examScore.UserRepresentativeTotalScore = tbExtre.Rows[i]["Score4"].ToString(); } } if (tbExtre.Rows[i]["Score5"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) >= 0) { examScore.CTSTScore = tbExtre.Rows[i]["Score5"].ToString(); } } if (tbExtre.Rows[i]["Score6"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) >= 0) { examScore.CTEDTotalScore = tbExtre.Rows[i]["Score6"].ToString(); } } } examScoreList.Add(examScore); } } } else { var tbExtre = SQLHelper.GetDataTableRunText("exec FN_Safety_ExtremeScoresReport '" + sTime + "','" + eTime + "'", new SqlParameter[0]); if (tbExtre.Rows.Count > 0) { for (int i = 0; i < tbExtre.Rows.Count; i++) { var examScore = new ExtremeScores(); examScore.NewGuid = tbExtre.Rows[i]["NewGuid"].ToString(); examScore.FO_NO = tbExtre.Rows[i]["FO_NO"].ToString(); examScore.Contractor = tbExtre.Rows[i]["Contractor"].ToString(); examScore.Work_Description = tbExtre.Rows[i]["Work_Description"].ToString(); examScore.User = tbExtre.Rows[i]["UserName"].ToString(); examScore.Contract_Admin = tbExtre.Rows[i]["Contract_Admin"].ToString(); examScore.DateIn = !string.IsNullOrEmpty(tbExtre.Rows[i]["DateIn"].ToString()) ? DateTime.Parse(tbExtre.Rows[i]["DateIn"].ToString()) : DateTime.Now; if (tbExtre.Rows[i]["Role"].ToString() == "User") { if (tbExtre.Rows[i]["Score1"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) >= 0) { examScore.TotalScore1 = tbExtre.Rows[i]["Score1"].ToString(); } } if (tbExtre.Rows[i]["Score2"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) >= 0) { examScore.TotalScore2 = tbExtre.Rows[i]["Score2"].ToString(); } } if (tbExtre.Rows[i]["Score3"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) >= 0) { examScore.TotalScore3 = tbExtre.Rows[i]["Score3"].ToString(); } } if (tbExtre.Rows[i]["Score5"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) >= 0) { examScore.TotalScore5 = tbExtre.Rows[i]["Score5"].ToString(); } } if (tbExtre.Rows[i]["Score6"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) >= 0) { examScore.TotalScore6 = tbExtre.Rows[i]["Score6"].ToString(); } } if (tbExtre.Rows[i]["Score7"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score7"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score7"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score7"]) >= 0) { examScore.TotalTimelyHonesty = tbExtre.Rows[i]["Score7"].ToString(); } } } else { if (tbExtre.Rows[i]["Score1"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) <= 3 || Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) == 15) && Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) >= 0) { examScore.CTSSTotalScore = tbExtre.Rows[i]["Score1"].ToString(); } } if (tbExtre.Rows[i]["Score2"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) >= 0) { examScore.CTSCTotalScore = tbExtre.Rows[i]["Score2"].ToString(); } } if (tbExtre.Rows[i]["Score3"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) >= 0) { examScore.MainCoordinatorTotalScore = tbExtre.Rows[i]["Score3"].ToString(); } } if (tbExtre.Rows[i]["Score4"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) <= 3 || Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) == 15) && Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) >= 0) { examScore.UserRepresentativeTotalScore = tbExtre.Rows[i]["Score4"].ToString(); } } if (tbExtre.Rows[i]["Score5"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) >= 0) { examScore.CTSTScore = tbExtre.Rows[i]["Score5"].ToString(); } } if (tbExtre.Rows[i]["Score6"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) >= 0) { examScore.CTEDTotalScore = tbExtre.Rows[i]["Score6"].ToString(); } } } examScoreList.Add(examScore); } } } Grid3.RecordCount = examScoreList.Count; var table = this.GetPagedDataTable(Grid3, examScoreList); Grid3.DataSource = table; Grid3.DataBind(); } /// /// 分页 /// protected void Grid3_PageIndexChange(object sender, GridPageEventArgs e) { Grid3.PageIndex = e.NewPageIndex; BindGrid3(); } /// /// 分页显示条数下拉框 /// protected void ddlPageSize3_SelectedIndexChanged(object sender, EventArgs e) { Grid3.PageSize = Convert.ToInt32(ddlPageSize3.SelectedValue); BindGrid3(); } /// /// 排序 /// protected void Grid3_Sort(object sender, FineUIPro.GridSortEventArgs e) { Grid3.SortDirection = e.SortDirection; Grid3.SortField = e.SortField; BindGrid3(); } #endregion #region Grid4 /// /// 绑定Grid4(NO Evaluation Users) /// public void BindGrid4() { 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 NoEvalUserList = new List(); DataTable fnNoEval = new DataTable(); if (drpIsSpecial.SelectedValue == "0") { fnNoEval = SQLHelper.GetDataTableRunText("exec FN_NoEvaluationUsersReport '" + sTime + "','" + eTime + "'", new SqlParameter[0]); } else { fnNoEval = SQLHelper.GetDataTableRunText("exec FN_Safety_NoEvaluationUsersReport '" + sTime + "','" + eTime + "'", new SqlParameter[0]); } var noEvalList = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(fnNoEval)); 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(); int index = 0; 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); var NoEvalModel = new NoEvaluationUsers(); NoEvalModel.FoGuid = Guid.NewGuid().ToString(); NoEvalModel.NotEvaluatedFoNo = string.Join(",", userNoList); NoEvalModel.Evaluate_UserName = userNoModel.Evaluate_UserName; NoEvalModel.UserName = userNoModel.UserName; NoEvalModel.isEvaluate = userNoModel.isEvaluate; NoEvalModel.RoleName = userNoModel.RoleName; NoEvalModel.DepartName = userNoModel.DepartName; NoEvalModel.lsContract_No = userNoList; NoEvalModel.coIndex = index; NoEvalUserList.Add(NoEvalModel); index++; } var departNoEvalList = noEvalList.Where(e => e.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(); var NoEvalModel = new NoEvaluationUsers(); NoEvalModel.FoGuid = Guid.NewGuid().ToString(); NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Evaluate_UserName = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.isEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTS/S"; NoEvalModel.coIndex = index; NoEvalUserList.Add(NoEvalModel); index++; } } 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(); var NoEvalModel = new NoEvaluationUsers(); NoEvalModel.FoGuid = Guid.NewGuid().ToString(); NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Evaluate_UserName = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.isEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTS/C"; NoEvalModel.coIndex = index; NoEvalUserList.Add(NoEvalModel); index++; } } 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(); var NoEvalModel = new NoEvaluationUsers(); NoEvalModel.FoGuid = Guid.NewGuid().ToString(); NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Evaluate_UserName = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.isEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = dep; NoEvalModel.coIndex = index; NoEvalUserList.Add(NoEvalModel); index++; } } 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(); var NoEvalModel = new NoEvaluationUsers(); NoEvalModel.FoGuid = Guid.NewGuid().ToString(); NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Evaluate_UserName = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.isEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = dep; NoEvalModel.coIndex = index; NoEvalUserList.Add(NoEvalModel); index++; } } 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(); var NoEvalModel = new NoEvaluationUsers(); NoEvalModel.FoGuid = Guid.NewGuid().ToString(); NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Evaluate_UserName = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.isEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTE/D"; NoEvalModel.coIndex = index; NoEvalUserList.Add(NoEvalModel); index++; } } 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(); var NoEvalModel = new NoEvaluationUsers(); NoEvalModel.FoGuid = Guid.NewGuid().ToString(); NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Evaluate_UserName = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.isEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTE/D"; NoEvalModel.coIndex = index; NoEvalUserList.Add(NoEvalModel); index++; } } 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(); var NoEvalModel = new NoEvaluationUsers(); NoEvalModel.FoGuid = Guid.NewGuid().ToString(); NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Evaluate_UserName = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.isEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = dep; NoEvalModel.coIndex = index; NoEvalUserList.Add(NoEvalModel); index++; } } //var departList = noEvalList.Where(e => e.RoleName == "Dep").GroupBy(p => new { p.Evaluate_UserName, p.RoleName }).Select(p => new { p.Key.Evaluate_UserName, p.Key.RoleName }).ToList(); //int indexs = 0; //foreach (var item in departList) //{ // 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); // var NoEvalModel = new NoEvaluationUsers(); // NoEvalModel.FoGuid = Guid.NewGuid().ToString(); // NoEvalModel.NotEvaluatedFoNo = string.Join(",", userNoList); // NoEvalModel.Evaluate_UserName = userNoModel.Evaluate_UserName; // NoEvalModel.UserName = userNoModel.UserName; // NoEvalModel.isEvaluate = userNoModel.isEvaluate; // NoEvalModel.RoleName = userNoModel.RoleName; // NoEvalModel.DepartName = userNoModel.DepartName; // NoEvalModel.lsContract_No = userNoList; // NoEvalModel.coIndex = index; // NoEvalUserList.Add(NoEvalModel); // indexs++; //} } Grid4.RecordCount = NoEvalUserList.Count; var table = this.GetPagedDataTable(Grid4, NoEvalUserList); Grid4.DataSource = table; Grid4.DataBind(); } /// /// 分页 /// protected void Grid4_PageIndexChange(object sender, GridPageEventArgs e) { Grid4.PageIndex = e.NewPageIndex; BindGrid4(); } /// /// 分页显示条数下拉框 /// protected void ddlPageSize4_SelectedIndexChanged(object sender, EventArgs e) { Grid4.PageSize = Convert.ToInt32(ddlPageSize4.SelectedValue); BindGrid4(); } /// /// 排序 /// protected void Grid4_Sort(object sender, FineUIPro.GridSortEventArgs e) { Grid4.SortDirection = e.SortDirection; Grid4.SortField = e.SortField; BindGrid4(); } #endregion #endregion #region 点击TAB数据切换 /// /// 点击TAB数据切换 /// protected void TabStrip1_TabIndexChanged(object sender, EventArgs e) { //if (TabStrip1.ActiveTabIndex == 0) //{ // BindGrid1(); //} //else if (TabStrip1.ActiveTabIndex == 1) //{ // BindGrid2(); //} //else if (TabStrip1.ActiveTabIndex == 2) //{ // BindGrid3(); //} //else if (TabStrip1.ActiveTabIndex == 3) //{ // BindGrid4(); //} } #endregion #region 关闭弹出窗口 /// /// 关闭窗口 /// /// /// protected void Window1_Close(object sender, EventArgs e) { BindGrid1(); } #endregion #region 导出Excel /// /// 导出Excel /// /// /// protected void btnExport_Click(object sender, EventArgs e) { percent = 0; url = ""; 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"); List overParam = new List(); overParam.Add(new SqlParameter("@StartTime", sTime)); overParam.Add(new SqlParameter("@EndTime", eTime)); SqlParameter[] overParList = overParam.ToArray(); List extScoreParam = new List(); extScoreParam.Add(new SqlParameter("@StartTime", sTime)); extScoreParam.Add(new SqlParameter("@EndTime", eTime)); SqlParameter[] extScoreParList = extScoreParam.ToArray(); List bigDepartParam = new List(); bigDepartParam.Add(new SqlParameter("@StartTime", sTime)); bigDepartParam.Add(new SqlParameter("@EndTime", eTime)); SqlParameter[] bigDepartParList = bigDepartParam.ToArray(); List departParam = new List(); departParam.Add(new SqlParameter("@StartTime", sTime)); departParam.Add(new SqlParameter("@EndTime", eTime)); SqlParameter[] departParList = departParam.ToArray(); List NoEvaUserParam = new List(); NoEvaUserParam.Add(new SqlParameter("@StartTime", sTime)); NoEvaUserParam.Add(new SqlParameter("@EndTime", eTime)); SqlParameter[] NoEvaUserParList = NoEvaUserParam.ToArray(); List EvaUserParam = new List(); EvaUserParam.Add(new SqlParameter("@StartTime", sTime)); EvaUserParam.Add(new SqlParameter("@EndTime", eTime)); SqlParameter[] EvaUserParList = EvaUserParam.ToArray(); DateTime minData = DateTime.Parse(txtStartTime.Text + "-01").AddMonths(-25); DateTime maxData = DateTime.Parse(txtStartTime.Text + "-13").AddMonths(-1); List yearToDateParam = new List(); yearToDateParam.Add(new SqlParameter("@StartTime", minData)); yearToDateParam.Add(new SqlParameter("@EndTime", maxData)); SqlParameter[] yearToDateParList = yearToDateParam.ToArray(); #region 没有评价用户 DataTable fnNoEval = new DataTable(); if (drpIsSpecial.SelectedValue == "0") { fnNoEval = SQLHelper.GetDataTableRunText("exec FN_NoEvaluationUsersReport '" + sTime + "','" + eTime + "'", new SqlParameter[0]); } else { fnNoEval = SQLHelper.GetDataTableRunText("exec FN_Safety_NoEvaluationUsersReport '" + sTime + "','" + eTime + "'", new SqlParameter[0]); } var NoEvalUserList = new List(); var noEvalList = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(fnNoEval)); 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(); int index = 0; 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); var NoEvalModel = new NoEvaluationUsers(); NoEvalModel.FoGuid = Guid.NewGuid().ToString(); NoEvalModel.NotEvaluatedFoNo = string.Join(",", userNoList); NoEvalModel.Evaluate_UserName = userNoModel.Evaluate_UserName; NoEvalModel.UserName = userNoModel.UserName; NoEvalModel.isEvaluate = userNoModel.isEvaluate; NoEvalModel.RoleName = userNoModel.RoleName; NoEvalModel.DepartName = userNoModel.DepartName; NoEvalModel.lsContract_No = userNoList; NoEvalModel.coIndex = index; NoEvalUserList.Add(NoEvalModel); index++; } 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(); var NoEvalModel = new NoEvaluationUsers(); NoEvalModel.FoGuid = Guid.NewGuid().ToString(); NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Evaluate_UserName = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.isEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTS/S"; NoEvalModel.coIndex = index; NoEvalUserList.Add(NoEvalModel); index++; } } 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(); var NoEvalModel = new NoEvaluationUsers(); NoEvalModel.FoGuid = Guid.NewGuid().ToString(); NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Evaluate_UserName = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.isEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTS/C"; NoEvalModel.coIndex = index; NoEvalUserList.Add(NoEvalModel); index++; } } 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(); var NoEvalModel = new NoEvaluationUsers(); NoEvalModel.FoGuid = Guid.NewGuid().ToString(); NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Evaluate_UserName = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.isEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = dep; NoEvalModel.coIndex = index; NoEvalUserList.Add(NoEvalModel); index++; } } 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(); var NoEvalModel = new NoEvaluationUsers(); NoEvalModel.FoGuid = Guid.NewGuid().ToString(); NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Evaluate_UserName = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.isEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = dep; NoEvalModel.coIndex = index; NoEvalUserList.Add(NoEvalModel); index++; } } 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(); var NoEvalModel = new NoEvaluationUsers(); NoEvalModel.FoGuid = Guid.NewGuid().ToString(); NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Evaluate_UserName = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.isEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTM/T"; NoEvalModel.coIndex = index; NoEvalUserList.Add(NoEvalModel); index++; } } 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(); var NoEvalModel = new NoEvaluationUsers(); NoEvalModel.FoGuid = Guid.NewGuid().ToString(); NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Evaluate_UserName = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.isEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = "CTM/T"; NoEvalModel.coIndex = index; NoEvalUserList.Add(NoEvalModel); index++; } } 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(); var NoEvalModel = new NoEvaluationUsers(); NoEvalModel.FoGuid = Guid.NewGuid().ToString(); NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); NoEvalModel.Evaluate_UserName = user.Account; NoEvalModel.UserName = user.UserName; NoEvalModel.isEvaluate = depNoModel.isEvaluate; NoEvalModel.RoleName = depNoModel.RoleName; NoEvalModel.DepartName = dep; NoEvalModel.coIndex = index; NoEvalUserList.Add(NoEvalModel); index++; } } } #endregion #region 已评价用户 // DataTable fnEval = SQLHelper.GetDataTableRunProc("FN_EvaluationUsersReport", EvaUserParList); DataTable fnEval = new DataTable(); if (drpIsSpecial.SelectedValue == "0") { fnEval = SQLHelper.GetDataTableRunText("exec FN_EvaluationUsersReport '" + sTime + "','" + eTime + "'", new SqlParameter[0]); } else { fnEval = SQLHelper.GetDataTableRunText("exec FN_Safety_EvaluationUsersReport '" + sTime + "','" + eTime + "'", new SqlParameter[0]); } var EvalUserList = new List(); var EvalList = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(fnEval)); if (EvalList.Count > 0) { var userNameList = EvalList.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(); int index = 0; foreach (var item in userNameList) { var userList = EvalList.Where(p => p.Evaluate_UserName == item.Evaluate_UserName && p.RoleName == item.RoleName).Select(p => p.Contract_No).ToList(); var userModel = EvalList.FirstOrDefault(p => p.Evaluate_UserName == item.Evaluate_UserName && p.RoleName == item.RoleName); var EvalModel = new NoEvaluationUsers(); EvalModel.FoGuid = Guid.NewGuid().ToString(); EvalModel.NotEvaluatedFoNo = string.Join(",", userList); EvalModel.Evaluate_UserName = userModel.Evaluate_UserName; EvalModel.UserName = userModel.UserName; EvalModel.isEvaluate = userModel.isEvaluate; EvalModel.RoleName = userModel.RoleName; EvalModel.DepartName = userModel.DepartName; EvalModel.lsContract_No = userList; EvalModel.coIndex = index; EvalUserList.Add(EvalModel); index++; } var departEvalList = EvalList.Where(p => p.RoleName == "Dep").ToList(); var cTSSEva = departEvalList.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 depModel = departEvalList.FirstOrDefault(p => p.CTSSEva == item.CTSSEva); var depList = departEvalList.Where(p => p.CTSSEva == item.CTSSEva).Select(p => p.Contract_No).ToList(); var EvalModel = new NoEvaluationUsers(); EvalModel.FoGuid = Guid.NewGuid().ToString(); EvalModel.NotEvaluatedFoNo = string.Join(",", depList); EvalModel.Evaluate_UserName = user.Account; EvalModel.UserName = user.UserName; EvalModel.isEvaluate = depModel.isEvaluate; EvalModel.RoleName = depModel.RoleName; EvalModel.DepartName = "CTS/S"; EvalModel.coIndex = index; EvalUserList.Add(EvalModel); index++; } } var cTSCEva = departEvalList.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 depModel = departEvalList.FirstOrDefault(p => p.CTSCEva == item.CTSCEva); var depList = departEvalList.Where(p => p.CTSCEva == item.CTSCEva).Select(p => p.Contract_No).ToList(); var EvalModel = new NoEvaluationUsers(); EvalModel.FoGuid = Guid.NewGuid().ToString(); EvalModel.NotEvaluatedFoNo = string.Join(",", depList); EvalModel.Evaluate_UserName = user.Account; EvalModel.UserName = user.UserName; EvalModel.isEvaluate = depModel.isEvaluate; EvalModel.RoleName = depModel.RoleName; EvalModel.DepartName = "CTS/C"; EvalModel.coIndex = index; EvalUserList.Add(EvalModel); index++; } } var mainCEva = departEvalList.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 depModel = departEvalList.FirstOrDefault(p => p.MainCEva == item.MainCEva); var depList = departEvalList.Where(p => p.MainCEva == item.MainCEva).Select(p => p.Contract_No).ToList(); var EvalModel = new NoEvaluationUsers(); EvalModel.FoGuid = Guid.NewGuid().ToString(); EvalModel.NotEvaluatedFoNo = string.Join(",", depList); EvalModel.Evaluate_UserName = user.Account; EvalModel.UserName = user.UserName; EvalModel.isEvaluate = depModel.isEvaluate; EvalModel.RoleName = depModel.RoleName; EvalModel.DepartName = dep; EvalModel.coIndex = index; EvalUserList.Add(EvalModel); index++; } } var userREva = departEvalList.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 depModel = departEvalList.FirstOrDefault(p => p.UserREva == item.UserREva); var depList = departEvalList.Where(p => p.UserREva == item.UserREva).Select(p => p.Contract_No).ToList(); var EvalModel = new NoEvaluationUsers(); EvalModel.FoGuid = Guid.NewGuid().ToString(); EvalModel.NotEvaluatedFoNo = string.Join(",", depList); EvalModel.Evaluate_UserName = user.Account; EvalModel.UserName = user.UserName; EvalModel.isEvaluate = depModel.isEvaluate; EvalModel.RoleName = depModel.RoleName; EvalModel.DepartName = dep; EvalModel.coIndex = index; EvalUserList.Add(EvalModel); index++; } } var cTMT1Eva = departEvalList.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 depModel = departEvalList.FirstOrDefault(p => p.CTMT1Eva == item.CTMT1Eva); var depList = departEvalList.Where(p => p.CTMT1Eva == item.CTMT1Eva).Select(p => p.Contract_No).ToList(); var EvalModel = new NoEvaluationUsers(); EvalModel.FoGuid = Guid.NewGuid().ToString(); EvalModel.NotEvaluatedFoNo = string.Join(",", depList); EvalModel.Evaluate_UserName = user.Account; EvalModel.UserName = user.UserName; EvalModel.isEvaluate = depModel.isEvaluate; EvalModel.RoleName = depModel.RoleName; EvalModel.DepartName = "CTM/T"; EvalModel.coIndex = index; EvalUserList.Add(EvalModel); index++; } } var cTMT2Eva = departEvalList.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 depModel = departEvalList.FirstOrDefault(p => p.CTMT2Eva == item.CTMT2Eva); var depList = departEvalList.Where(p => p.CTMT2Eva == item.CTMT2Eva).Select(p => p.Contract_No).ToList(); var EvalModel = new NoEvaluationUsers(); EvalModel.FoGuid = Guid.NewGuid().ToString(); EvalModel.NotEvaluatedFoNo = string.Join(",", depList); EvalModel.Evaluate_UserName = user.Account; EvalModel.UserName = user.UserName; EvalModel.isEvaluate = depModel.isEvaluate; EvalModel.RoleName = depModel.RoleName; EvalModel.DepartName = "CTM/T"; EvalModel.coIndex = index; EvalUserList.Add(EvalModel); index++; } } var conAREva = departEvalList.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 depModel = departEvalList.FirstOrDefault(p => p.ConAREva == item.ConAREva); var depList = departEvalList.Where(p => p.ConAREva == item.ConAREva).Select(p => p.Contract_No).ToList(); var EvalModel = new NoEvaluationUsers(); EvalModel.FoGuid = Guid.NewGuid().ToString(); EvalModel.NotEvaluatedFoNo = string.Join(",", depList); EvalModel.Evaluate_UserName = user.Account; EvalModel.UserName = user.UserName; EvalModel.isEvaluate = depModel.isEvaluate; EvalModel.RoleName = depModel.RoleName; EvalModel.DepartName = dep; EvalModel.coIndex = index; EvalUserList.Add(EvalModel); index++; } } } #endregion if (drpIsSpecial.SelectedValue == "0") { var sesRelatedData = Funs.DB.View_FC_SESRelatedData.Where(x => x.FC_Status != "Closed" && x.DisciplineId!= "ddcd51c2-1059-4cc8-8f6f-8936da88a4c4").ToList(); Thread t = new Thread(new ThreadStart(() => { Export(overParList, yearToDateParList, sesRelatedData, extScoreParList, NoEvalUserList, EvalUserList, bigDepartParList, departParList); })); t.Start(); PageContext.RegisterStartupScript("showProcessBar()"); } else { var sesRelatedData = Funs.DB.View_FC_SESRelatedData.Where(x => x.FC_Status != "Closed" && x.DisciplineId == "ddcd51c2-1059-4cc8-8f6f-8936da88a4c4").ToList(); Thread t = new Thread(new ThreadStart(() => { SafeyExport(overParList, yearToDateParList, sesRelatedData, extScoreParList, NoEvalUserList, EvalUserList, bigDepartParList, departParList); })); t.Start(); PageContext.RegisterStartupScript("showProcessBar()"); } #region //string rootPath = Server.MapPath("~/") + Const.ExcelUrl; ////模板文件 //string TempletFileName = rootPath + "EvaluationReport.xlsx"; ////导出文件 //string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\"; //if (!Directory.Exists(filePath)) //{ // Directory.CreateDirectory(filePath); //} //string ReportFileName = filePath + "out.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); //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"); //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 Overview //var OverviewReport = SQLHelper.GetDataTableRunText("exec FN_OverviewReport '" + sTime + "','" + eTime + "'", new SqlParameter[0]); //XSSFSheet ws = (XSSFSheet)hssfworkbook.GetSheet("Overview当月绩效"); //if (OverviewReport.Rows.Count > 0) //{ // var rowIndex = 2; // for (int i = 0; i < OverviewReport.Rows.Count; i++) // { // if (ws.GetRow(rowIndex) == null) ws.CreateRow(rowIndex); // #region 列赋值 // if (ws.GetRow(rowIndex).GetCell(0) == null) ws.GetRow(rowIndex).CreateCell(0); // ws.GetRow(rowIndex).GetCell(0).SetCellValue(OverviewReport.Rows[i]["FO_NO"].ToString()); // ws.GetRow(rowIndex).GetCell(0).CellStyle = fontStyle; // if (ws.GetRow(rowIndex).GetCell(1) == null) ws.GetRow(rowIndex).CreateCell(1); // ws.GetRow(rowIndex).GetCell(1).SetCellValue(OverviewReport.Rows[i]["Work_Description"].ToString()); // ws.GetRow(rowIndex).GetCell(1).CellStyle = fontStyle; // if (ws.GetRow(rowIndex).GetCell(2) == null) ws.GetRow(rowIndex).CreateCell(2); // ws.GetRow(rowIndex).GetCell(2).SetCellValue(OverviewReport.Rows[i]["Contractor"].ToString()); // ws.GetRow(rowIndex).GetCell(2).CellStyle = fontStyle; // if (ws.GetRow(rowIndex).GetCell(3) == null) ws.GetRow(rowIndex).CreateCell(3); // ws.GetRow(rowIndex).GetCell(3).SetCellValue(OverviewReport.Rows[i]["Main_Coordinator"].ToString()); // ws.GetRow(rowIndex).GetCell(3).CellStyle = fontStyle; // if (ws.GetRow(rowIndex).GetCell(4) == null) ws.GetRow(rowIndex).CreateCell(4); // //var totalNum = !string.IsNullOrEmpty(OverviewReport.Rows[i]["Total"].ToString()) ? float.Parse(OverviewReport.Rows[i]["Total"].ToString()).ToString("0.0") : 0.0; // //ws.GetRow(rowIndex).GetCell(4).SetCellValue(double.Parse(totalNum)); // ws.GetRow(rowIndex).GetCell(4).SetCellValue(OverviewReport.Rows[i]["Total"] != null ? float.Parse(OverviewReport.Rows[i]["Total"].ToString()) : 0); // ws.GetRow(rowIndex).GetCell(4).CellStyle = styleQfw1; // if (ws.GetRow(rowIndex).GetCell(5) == null) ws.GetRow(rowIndex).CreateCell(5); // ws.GetRow(rowIndex).GetCell(5).SetCellValue(!string.IsNullOrEmpty(OverviewReport.Rows[i]["Participation_Rate"].ToString()) ? OverviewReport.Rows[i]["Participation_Rate"].ToString() + "%" : "0"); // ws.GetRow(rowIndex).GetCell(5).CellStyle = rateStyle; // if (ws.GetRow(rowIndex).GetCell(6) == null) ws.GetRow(rowIndex).CreateCell(6); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["AvgEvaScore1"].ToString())) // { // ws.GetRow(rowIndex).GetCell(6).SetCellValue(float.Parse(OverviewReport.Rows[i]["AvgEvaScore1"].ToString())); // ws.GetRow(rowIndex).GetCell(6).CellStyle = styleQfw; // } // if (ws.GetRow(rowIndex).GetCell(7) == null) ws.GetRow(rowIndex).CreateCell(7); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["EvaluateNum"].ToString())) // { // ws.GetRow(rowIndex).GetCell(7).SetCellValue(float.Parse(OverviewReport.Rows[i]["EvaluateNum"].ToString())); // ws.GetRow(rowIndex).GetCell(7).CellStyle = styleQfw2; // } // if (ws.GetRow(rowIndex).GetCell(8) == null) ws.GetRow(rowIndex).CreateCell(8); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["TotalAvgScore1"].ToString())) // { // ws.GetRow(rowIndex).GetCell(8).SetCellValue(float.Parse(OverviewReport.Rows[i]["TotalAvgScore1"].ToString())); // ws.GetRow(rowIndex).GetCell(8).CellStyle = styleQfw; // } // if (ws.GetRow(rowIndex).GetCell(9) == null) ws.GetRow(rowIndex).CreateCell(9); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["UserNum"].ToString())) // { // ws.GetRow(rowIndex).GetCell(9).SetCellValue(float.Parse(OverviewReport.Rows[i]["UserNum"].ToString())); // ws.GetRow(rowIndex).GetCell(9).CellStyle = styleQfw2; // } // if (ws.GetRow(rowIndex).GetCell(10) == null) ws.GetRow(rowIndex).CreateCell(10); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["AvgEvaScore2"].ToString())) // { // ws.GetRow(rowIndex).GetCell(10).SetCellValue(float.Parse(OverviewReport.Rows[i]["AvgEvaScore2"].ToString())); // ws.GetRow(rowIndex).GetCell(10).CellStyle = styleQfw; // } // if (ws.GetRow(rowIndex).GetCell(11) == null) ws.GetRow(rowIndex).CreateCell(11); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["EvaluateNum"].ToString())) // { // ws.GetRow(rowIndex).GetCell(11).SetCellValue(float.Parse(OverviewReport.Rows[i]["EvaluateNum"].ToString())); // ws.GetRow(rowIndex).GetCell(11).CellStyle = styleQfw2; // } // if (ws.GetRow(rowIndex).GetCell(12) == null) ws.GetRow(rowIndex).CreateCell(12); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["TotalAvgScore2"].ToString())) // { // ws.GetRow(rowIndex).GetCell(12).SetCellValue(float.Parse(OverviewReport.Rows[i]["TotalAvgScore2"].ToString())); // ws.GetRow(rowIndex).GetCell(12).CellStyle = styleQfw; // } // if (ws.GetRow(rowIndex).GetCell(13) == null) ws.GetRow(rowIndex).CreateCell(13); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["UserNum"].ToString())) // { // ws.GetRow(rowIndex).GetCell(13).SetCellValue(float.Parse(OverviewReport.Rows[i]["UserNum"].ToString())); // ws.GetRow(rowIndex).GetCell(13).CellStyle = styleQfw2; // } // if (ws.GetRow(rowIndex).GetCell(14) == null) ws.GetRow(rowIndex).CreateCell(14); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["AvgEvaScore3"].ToString())) // { // ws.GetRow(rowIndex).GetCell(14).SetCellValue(float.Parse(OverviewReport.Rows[i]["AvgEvaScore3"].ToString())); // ws.GetRow(rowIndex).GetCell(14).CellStyle = styleQfw; // } // if (ws.GetRow(rowIndex).GetCell(15) == null) ws.GetRow(rowIndex).CreateCell(15); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["EvaluateNum"].ToString())) // { // ws.GetRow(rowIndex).GetCell(15).SetCellValue(float.Parse(OverviewReport.Rows[i]["EvaluateNum"].ToString())); // ws.GetRow(rowIndex).GetCell(15).CellStyle = styleQfw2; // } // if (ws.GetRow(rowIndex).GetCell(16) == null) ws.GetRow(rowIndex).CreateCell(16); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["TotalAvgScore3"].ToString())) // { // ws.GetRow(rowIndex).GetCell(16).SetCellValue(float.Parse(OverviewReport.Rows[i]["TotalAvgScore3"].ToString())); // ws.GetRow(rowIndex).GetCell(16).CellStyle = styleQfw; // } // if (ws.GetRow(rowIndex).GetCell(17) == null) ws.GetRow(rowIndex).CreateCell(17); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["UserNum"].ToString())) // { // ws.GetRow(rowIndex).GetCell(17).SetCellValue(float.Parse(OverviewReport.Rows[i]["UserNum"].ToString())); // ws.GetRow(rowIndex).GetCell(17).CellStyle = styleQfw2; // } // if (ws.GetRow(rowIndex).GetCell(18) == null) ws.GetRow(rowIndex).CreateCell(18); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["AvgEvaScore4"].ToString())) // { // ws.GetRow(rowIndex).GetCell(18).SetCellValue(float.Parse(OverviewReport.Rows[i]["AvgEvaScore4"].ToString())); // ws.GetRow(rowIndex).GetCell(18).CellStyle = styleQfw; // } // if (ws.GetRow(rowIndex).GetCell(19) == null) ws.GetRow(rowIndex).CreateCell(19); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["EvaluateNum"].ToString())) // { // ws.GetRow(rowIndex).GetCell(19).SetCellValue(float.Parse(OverviewReport.Rows[i]["EvaluateNum"].ToString())); // ws.GetRow(rowIndex).GetCell(19).CellStyle = styleQfw2; // } // if (ws.GetRow(rowIndex).GetCell(20) == null) ws.GetRow(rowIndex).CreateCell(20); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["TotalAvgScore4"].ToString())) // { // ws.GetRow(rowIndex).GetCell(20).SetCellValue(float.Parse(OverviewReport.Rows[i]["TotalAvgScore4"].ToString())); // ws.GetRow(rowIndex).GetCell(20).CellStyle = styleQfw; // } // if (ws.GetRow(rowIndex).GetCell(21) == null) ws.GetRow(rowIndex).CreateCell(21); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["UserNum"].ToString())) // { // ws.GetRow(rowIndex).GetCell(21).SetCellValue(float.Parse(OverviewReport.Rows[i]["UserNum"].ToString())); // ws.GetRow(rowIndex).GetCell(21).CellStyle = styleQfw2; // } // if (ws.GetRow(rowIndex).GetCell(22) == null) ws.GetRow(rowIndex).CreateCell(22); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["AvgEvaScore5"].ToString())) // { // ws.GetRow(rowIndex).GetCell(22).SetCellValue(float.Parse(OverviewReport.Rows[i]["AvgEvaScore5"].ToString())); // ws.GetRow(rowIndex).GetCell(22).CellStyle = styleQfw; // } // if (ws.GetRow(rowIndex).GetCell(23) == null) ws.GetRow(rowIndex).CreateCell(23); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["EvaluateNum"].ToString())) // { // ws.GetRow(rowIndex).GetCell(23).SetCellValue(float.Parse(OverviewReport.Rows[i]["EvaluateNum"].ToString())); // ws.GetRow(rowIndex).GetCell(23).CellStyle = styleQfw2; // } // if (ws.GetRow(rowIndex).GetCell(24) == null) ws.GetRow(rowIndex).CreateCell(24); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["TotalAvgScore5"].ToString())) // { // ws.GetRow(rowIndex).GetCell(24).SetCellValue(float.Parse(OverviewReport.Rows[i]["TotalAvgScore5"].ToString())); // ws.GetRow(rowIndex).GetCell(24).CellStyle = styleQfw; // } // if (ws.GetRow(rowIndex).GetCell(25) == null) ws.GetRow(rowIndex).CreateCell(25); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["UserNum"].ToString())) // { // ws.GetRow(rowIndex).GetCell(25).SetCellValue(float.Parse(OverviewReport.Rows[i]["UserNum"].ToString())); // ws.GetRow(rowIndex).GetCell(25).CellStyle = styleQfw2; // } // if (ws.GetRow(rowIndex).GetCell(26) == null) ws.GetRow(rowIndex).CreateCell(26); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["AvgEvaScore6"].ToString())) // { // ws.GetRow(rowIndex).GetCell(26).SetCellValue(float.Parse(OverviewReport.Rows[i]["AvgEvaScore6"].ToString())); // ws.GetRow(rowIndex).GetCell(26).CellStyle = styleQfw; // } // if (ws.GetRow(rowIndex).GetCell(27) == null) ws.GetRow(rowIndex).CreateCell(27); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["EvaluateNum"].ToString())) // { // ws.GetRow(rowIndex).GetCell(27).SetCellValue(float.Parse(OverviewReport.Rows[i]["EvaluateNum"].ToString())); // ws.GetRow(rowIndex).GetCell(27).CellStyle = styleQfw2; // } // if (ws.GetRow(rowIndex).GetCell(28) == null) ws.GetRow(rowIndex).CreateCell(28); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["TotalAvgScore6"].ToString())) // { // ws.GetRow(rowIndex).GetCell(28).SetCellValue(float.Parse(OverviewReport.Rows[i]["TotalAvgScore6"].ToString())); // ws.GetRow(rowIndex).GetCell(28).CellStyle = styleQfw; // } // if (ws.GetRow(rowIndex).GetCell(29) == null) ws.GetRow(rowIndex).CreateCell(29); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["UserNum"].ToString())) // { // ws.GetRow(rowIndex).GetCell(29).SetCellValue(float.Parse(OverviewReport.Rows[i]["UserNum"].ToString())); // ws.GetRow(rowIndex).GetCell(29).CellStyle = styleQfw2; // } // if (ws.GetRow(rowIndex).GetCell(30) == null) ws.GetRow(rowIndex).CreateCell(30); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["TimelyAvgSocre"].ToString())) // { // ws.GetRow(rowIndex).GetCell(30).SetCellValue(float.Parse(OverviewReport.Rows[i]["TimelyAvgSocre"].ToString())); // ws.GetRow(rowIndex).GetCell(30).CellStyle = styleQfw; // } // if (ws.GetRow(rowIndex).GetCell(31) == null) ws.GetRow(rowIndex).CreateCell(31); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["HonestyAvgScore"].ToString())) // { // ws.GetRow(rowIndex).GetCell(31).SetCellValue(float.Parse(OverviewReport.Rows[i]["HonestyAvgScore"].ToString())); // ws.GetRow(rowIndex).GetCell(31).CellStyle = styleQfw; // } // if (ws.GetRow(rowIndex).GetCell(32) == null) ws.GetRow(rowIndex).CreateCell(32); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["CTSSAvgScore"].ToString())) // { // ws.GetRow(rowIndex).GetCell(32).SetCellValue(float.Parse(OverviewReport.Rows[i]["CTSSAvgScore"].ToString())); // ws.GetRow(rowIndex).GetCell(32).CellStyle = styleQfw; // } // if (ws.GetRow(rowIndex).GetCell(33) == null) ws.GetRow(rowIndex).CreateCell(33); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["CTSCAvgScore"].ToString())) // { // ws.GetRow(rowIndex).GetCell(33).SetCellValue(float.Parse(OverviewReport.Rows[i]["CTSCAvgScore"].ToString())); // ws.GetRow(rowIndex).GetCell(33).CellStyle = styleQfw; // } // if (ws.GetRow(rowIndex).GetCell(34) == null) ws.GetRow(rowIndex).CreateCell(34); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["MainCoordinatorAvgScore"].ToString())) // { // ws.GetRow(rowIndex).GetCell(34).SetCellValue(float.Parse(OverviewReport.Rows[i]["MainCoordinatorAvgScore"].ToString())); // ws.GetRow(rowIndex).GetCell(34).CellStyle = styleQfw; // } // if (ws.GetRow(rowIndex).GetCell(35) == null) ws.GetRow(rowIndex).CreateCell(35); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["UserRepresentativeAvgScore"].ToString())) // { // ws.GetRow(rowIndex).GetCell(35).SetCellValue(float.Parse(OverviewReport.Rows[i]["UserRepresentativeAvgScore"].ToString())); // ws.GetRow(rowIndex).GetCell(35).CellStyle = styleQfw; // } // if (ws.GetRow(rowIndex).GetCell(36) == null) ws.GetRow(rowIndex).CreateCell(36); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["CTSTAvgScore"].ToString())) // { // ws.GetRow(rowIndex).GetCell(36).SetCellValue(float.Parse(OverviewReport.Rows[i]["CTSTAvgScore"].ToString())); // ws.GetRow(rowIndex).GetCell(36).CellStyle = styleQfw; // } // if (ws.GetRow(rowIndex).GetCell(37) == null) ws.GetRow(rowIndex).CreateCell(37); // if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["CTEDAvgScore"].ToString())) // { // ws.GetRow(rowIndex).GetCell(37).SetCellValue(float.Parse(OverviewReport.Rows[i]["CTEDAvgScore"].ToString())); // ws.GetRow(rowIndex).GetCell(37).CellStyle = styleQfw; // } // #endregion // rowIndex++; // } //} //#endregion //#region Year_to_date Report //var minData = DateTime.Parse(txtStartTime.Text + "-01").AddMonths(-25); //var maxData = DateTime.Parse(txtStartTime.Text + "-13").AddMonths(-1); //XSSFSheet wsyear = (XSSFSheet)hssfworkbook.GetSheet("Year_to_date Report近二年绩效"); //var sesRelatedData = Funs.DB.View_FC_SESRelatedData.Where(x => x.FC_Status != "Closed").ToList(); //var sesDataTable = SQLHelper.GetDataTableRunText("exec FN_YearToDateReport '" + minData + "','" + maxData + "'", new SqlParameter[0]); //var sesDataScore = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(sesDataTable)); ////var Month = ((maxData.Year - minData.Year) * 12 + (maxData.Month - minData.Month)) == 0 ? 1 : (maxData.Year - minData.Year) * 12 + (maxData.Month - minData.Month); //if (sesRelatedData.Count > 0) //{ // var colIndex = 0; // var rowYearIndex = 1; // foreach (var item in sesRelatedData) // { // if (wsyear.GetRow(rowYearIndex) == null) wsyear.CreateRow(rowYearIndex); // #region 列赋值 // if (wsyear.GetRow(rowYearIndex).GetCell(0) == null) wsyear.GetRow(rowYearIndex).CreateCell(0); // wsyear.GetRow(rowYearIndex).GetCell(0).SetCellValue(item.FO_NO); // wsyear.GetRow(rowYearIndex).GetCell(0).CellStyle = fontStyle; // if (wsyear.GetRow(rowYearIndex).GetCell(1) == null) wsyear.GetRow(rowYearIndex).CreateCell(1); // wsyear.GetRow(rowYearIndex).GetCell(1).SetCellValue(item.Discipline); // wsyear.GetRow(rowYearIndex).GetCell(1).CellStyle = fontStyle; // if (wsyear.GetRow(rowYearIndex).GetCell(2) == null) wsyear.GetRow(rowYearIndex).CreateCell(2); // wsyear.GetRow(rowYearIndex).GetCell(2).SetCellValue(item.Contractor); // wsyear.GetRow(rowYearIndex).GetCell(2).CellStyle = fontStyle; // if (wsyear.GetRow(rowYearIndex).GetCell(3) == null) wsyear.GetRow(rowYearIndex).CreateCell(3); // wsyear.GetRow(rowYearIndex).GetCell(3).SetCellValue(item.Contract_Admin); // wsyear.GetRow(rowYearIndex).GetCell(3).CellStyle = fontStyle; // if (wsyear.GetRow(rowYearIndex).GetCell(4) == null) wsyear.GetRow(rowYearIndex).CreateCell(4); // wsyear.GetRow(rowYearIndex).GetCell(4).SetCellValue(item.Main_Coordinator); // wsyear.GetRow(rowYearIndex).GetCell(4).CellStyle = fontStyle; // var sesFoDataScore = sesDataScore.Where(p => p.FO_NO == item.FO_NO).ToList(); // for (int j = 0; j < 25; j++) // { // var startData = DateTime.Parse("" + minData.Year + "-" + minData.Month + "-01").AddMonths(j); // if (colIndex == 0) // { // if (wsyear.GetRow(0) == null) wsyear.CreateRow(0); // if (wsyear.GetRow(0).GetCell(j + 5) == null) wsyear.GetRow(0).CreateCell(j + 5); // wsyear.GetRow(0).GetCell(j + 5).SetCellValue(startData.ToString("yyyy-MM")); // wsyear.GetRow(0).GetCell(j + 5).CellStyle = yearStyle; // } // if (wsyear.GetRow(rowYearIndex).GetCell(j + 5) == null) wsyear.GetRow(rowYearIndex).CreateCell(j + 5); // if (sesFoDataScore.Count(p => p.dataMonth == startData.ToString("yyyy-MM")) > 0 && Funs.GetNewDecimal(sesFoDataScore.FirstOrDefault(p => p.dataMonth == startData.ToString("yyyy-MM")).SumScore) > 0) // { // var yearNums = float.Parse(sesFoDataScore.FirstOrDefault(p => p.dataMonth == startData.ToString("yyyy-MM")).SumScore).ToString("0.##"); // wsyear.GetRow(rowYearIndex).GetCell(j + 5).SetCellValue(double.Parse(yearNums)); // //如果小于60分,填充背景色为粉色 // if (double.Parse(yearNums) > 0 && double.Parse(yearNums) < 60) // { // wsyear.GetRow(rowYearIndex).GetCell(j + 5).CellStyle = backgroundstyle; // } // else // { // wsyear.GetRow(rowYearIndex).GetCell(j + 5).CellStyle = fontStyle; // } // } // else // { // wsyear.GetRow(rowYearIndex).GetCell(j + 5).SetCellValue("-"); // wsyear.GetRow(rowYearIndex).GetCell(j + 5).CellStyle = fontStyle; // } // } // #endregion // rowYearIndex++; // colIndex++; // } //} //#endregion //#region Extreme Scores ////sTime = DateTime.Parse(txtStartTime.Text + "-01").AddMonths(1).ToString("yyyy-MM-dd"); ////eTime = DateTime.Parse(txtStartTime.Text + "-12").AddMonths(1).ToString("yyyy-MM-dd"); //XSSFSheet wsextre = (XSSFSheet)hssfworkbook.GetSheet("Extreme Scores极端分数"); //var ExtremeScores = new List(); //var tbExtre = SQLHelper.GetDataTableRunText("exec FN_ExtremeScoresReport '" + sTime + "','" + eTime + "'", new SqlParameter[0]); //if (tbExtre.Rows.Count > 0) //{ // for (int i = 0; i < tbExtre.Rows.Count; i++) // { // var examScore = new ExtremeScores(); // examScore.NewGuid = tbExtre.Rows[i]["NewGuid"].ToString(); // examScore.FO_NO = tbExtre.Rows[i]["FO_NO"].ToString(); // examScore.Contractor = tbExtre.Rows[i]["Contractor"].ToString(); // examScore.Work_Description = tbExtre.Rows[i]["Work_Description"].ToString(); // examScore.User = tbExtre.Rows[i]["UserName"].ToString(); // examScore.Contract_Admin = tbExtre.Rows[i]["Contract_Admin"].ToString(); // examScore.DateIn = !string.IsNullOrEmpty(tbExtre.Rows[i]["DateIn"].ToString()) ? DateTime.Parse(tbExtre.Rows[i]["DateIn"].ToString()) : DateTime.Now; // if (tbExtre.Rows[i]["Role"].ToString() == "User") // { // if (tbExtre.Rows[i]["Score1"].ToString() != "") // { // if ((Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) >= 0) // { // examScore.TotalScore1 = tbExtre.Rows[i]["Score1"].ToString(); // } // } // if (tbExtre.Rows[i]["Score2"].ToString() != "") // { // if ((Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) >= 0) // { // examScore.TotalScore2 = tbExtre.Rows[i]["Score2"].ToString(); // } // } // if (tbExtre.Rows[i]["Score3"].ToString() != "") // { // if ((Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) >= 0) // { // examScore.TotalScore3 = tbExtre.Rows[i]["Score3"].ToString(); // } // } // if (tbExtre.Rows[i]["Score4"].ToString() != "") // { // if ((Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) >= 0) // { // examScore.TotalScore4 = tbExtre.Rows[i]["Score4"].ToString(); // } // } // if (tbExtre.Rows[i]["Score5"].ToString() != "") // { // if ((Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) >= 0) // { // examScore.TotalScore5 = tbExtre.Rows[i]["Score5"].ToString(); // } // } // if (tbExtre.Rows[i]["Score6"].ToString() != "") // { // if ((Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) >= 0) // { // examScore.TotalScore6 = tbExtre.Rows[i]["Score6"].ToString(); // } // } // if (tbExtre.Rows[i]["Score7"].ToString() != "") // { // if ((Convert.ToDecimal(tbExtre.Rows[i]["Score7"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score7"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score7"]) >= 0) // { // examScore.TotalTimelyHonesty = tbExtre.Rows[i]["Score7"].ToString(); // } // } // } // else // { // if (tbExtre.Rows[i]["Score1"].ToString() != "") // { // if ((Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) >= 0) // { // examScore.CTSSTotalScore = tbExtre.Rows[i]["Score1"].ToString(); // } // } // if (tbExtre.Rows[i]["Score2"].ToString() != "") // { // if ((Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) >= 0) // { // examScore.CTSCTotalScore = tbExtre.Rows[i]["Score2"].ToString(); // } // } // if (tbExtre.Rows[i]["Score3"].ToString() != "") // { // if ((Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) >= 0) // { // examScore.MainCoordinatorTotalScore = tbExtre.Rows[i]["Score3"].ToString(); // } // } // if (tbExtre.Rows[i]["Score4"].ToString() != "") // { // if ((Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) >= 0) // { // examScore.UserRepresentativeTotalScore = tbExtre.Rows[i]["Score4"].ToString(); // } // } // if (tbExtre.Rows[i]["Score5"].ToString() != "") // { // if ((Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) >= 0) // { // examScore.CTSTScore = tbExtre.Rows[i]["Score5"].ToString(); // } // } // if (tbExtre.Rows[i]["Score6"].ToString() != "") // { // if ((Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) >= 0) // { // examScore.CTEDTotalScore = tbExtre.Rows[i]["Score6"].ToString(); // } // } // } // ExtremeScores.Add(examScore); // } //} //if (ExtremeScores.Count > 0) //{ // var rowExtrIndex = 2; // foreach (var item in ExtremeScores) // { // if (wsextre.GetRow(rowExtrIndex) == null) wsextre.CreateRow(rowExtrIndex); // #region 列赋值 // if (wsextre.GetRow(rowExtrIndex).GetCell(0) == null) wsextre.GetRow(rowExtrIndex).CreateCell(0); // wsextre.GetRow(rowExtrIndex).GetCell(0).SetCellValue(item.FO_NO); // wsextre.GetRow(rowExtrIndex).GetCell(0).CellStyle = fontStyle; // if (wsextre.GetRow(rowExtrIndex).GetCell(1) == null) wsextre.GetRow(rowExtrIndex).CreateCell(1); // wsextre.GetRow(rowExtrIndex).GetCell(1).SetCellValue(item.Contractor); // wsextre.GetRow(rowExtrIndex).GetCell(1).CellStyle = fontStyle; // if (wsextre.GetRow(rowExtrIndex).GetCell(2) == null) wsextre.GetRow(rowExtrIndex).CreateCell(2); // wsextre.GetRow(rowExtrIndex).GetCell(2).SetCellValue(item.Work_Description); // wsextre.GetRow(rowExtrIndex).GetCell(2).CellStyle = fontStyle; // if (wsextre.GetRow(rowExtrIndex).GetCell(3) == null) wsextre.GetRow(rowExtrIndex).CreateCell(3); // wsextre.GetRow(rowExtrIndex).GetCell(3).SetCellValue(item.User); // wsextre.GetRow(rowExtrIndex).GetCell(3).CellStyle = fontStyle; // if (wsextre.GetRow(rowExtrIndex).GetCell(4) == null) wsextre.GetRow(rowExtrIndex).CreateCell(4); // wsextre.GetRow(rowExtrIndex).GetCell(4).SetCellValue(item.Contract_Admin); // wsextre.GetRow(rowExtrIndex).GetCell(4).CellStyle = fontStyle; // if (wsextre.GetRow(rowExtrIndex).GetCell(5) == null) wsextre.GetRow(rowExtrIndex).CreateCell(5); // if (!string.IsNullOrEmpty(item.TotalScore1)) // { // wsextre.GetRow(rowExtrIndex).GetCell(5).SetCellValue(float.Parse(item.TotalScore1)); // wsextre.GetRow(rowExtrIndex).GetCell(5).CellStyle = fontStyle; // } // if (wsextre.GetRow(rowExtrIndex).GetCell(6) == null) wsextre.GetRow(rowExtrIndex).CreateCell(6); // if (!string.IsNullOrEmpty(item.TotalScore2)) // { // wsextre.GetRow(rowExtrIndex).GetCell(6).SetCellValue(float.Parse(item.TotalScore2)); // wsextre.GetRow(rowExtrIndex).GetCell(6).CellStyle = fontStyle; // } // if (wsextre.GetRow(rowExtrIndex).GetCell(7) == null) wsextre.GetRow(rowExtrIndex).CreateCell(7); // if (!string.IsNullOrEmpty(item.TotalScore3)) // { // wsextre.GetRow(rowExtrIndex).GetCell(7).SetCellValue(float.Parse(item.TotalScore3)); // wsextre.GetRow(rowExtrIndex).GetCell(7).CellStyle = fontStyle; // } // if (wsextre.GetRow(rowExtrIndex).GetCell(8) == null) wsextre.GetRow(rowExtrIndex).CreateCell(8); // if (!string.IsNullOrEmpty(item.TotalScore4)) // { // wsextre.GetRow(rowExtrIndex).GetCell(8).SetCellValue(float.Parse(item.TotalScore4)); // wsextre.GetRow(rowExtrIndex).GetCell(8).CellStyle = fontStyle; // } // if (wsextre.GetRow(rowExtrIndex).GetCell(9) == null) wsextre.GetRow(rowExtrIndex).CreateCell(9); // if (!string.IsNullOrEmpty(item.TotalScore5)) // { // wsextre.GetRow(rowExtrIndex).GetCell(9).SetCellValue(float.Parse(item.TotalScore5)); // wsextre.GetRow(rowExtrIndex).GetCell(9).CellStyle = fontStyle; // } // if (wsextre.GetRow(rowExtrIndex).GetCell(10) == null) wsextre.GetRow(rowExtrIndex).CreateCell(10); // if (!string.IsNullOrEmpty(item.TotalScore6)) // { // wsextre.GetRow(rowExtrIndex).GetCell(10).SetCellValue(float.Parse(item.TotalScore6)); // wsextre.GetRow(rowExtrIndex).GetCell(10).CellStyle = fontStyle; // } // if (wsextre.GetRow(rowExtrIndex).GetCell(11) == null) wsextre.GetRow(rowExtrIndex).CreateCell(11); // if (!string.IsNullOrEmpty(item.TotalTimelyHonesty)) // { // wsextre.GetRow(rowExtrIndex).GetCell(11).SetCellValue(""); // wsextre.GetRow(rowExtrIndex).GetCell(11).CellStyle = fontStyle; // } // if (wsextre.GetRow(rowExtrIndex).GetCell(12) == null) wsextre.GetRow(rowExtrIndex).CreateCell(12); // if (!string.IsNullOrEmpty(item.CTSSTotalScore)) // { // wsextre.GetRow(rowExtrIndex).GetCell(12).SetCellValue(float.Parse(item.CTSSTotalScore)); // wsextre.GetRow(rowExtrIndex).GetCell(12).CellStyle = fontStyle; // } // if (wsextre.GetRow(rowExtrIndex).GetCell(13) == null) wsextre.GetRow(rowExtrIndex).CreateCell(13); // if (!string.IsNullOrEmpty(item.CTSSTotalScore)) // { // wsextre.GetRow(rowExtrIndex).GetCell(13).SetCellValue(float.Parse(item.CTSSTotalScore)); // wsextre.GetRow(rowExtrIndex).GetCell(13).CellStyle = fontStyle; // } // if (wsextre.GetRow(rowExtrIndex).GetCell(14) == null) wsextre.GetRow(rowExtrIndex).CreateCell(14); // if (!string.IsNullOrEmpty(item.MainCoordinatorTotalScore)) // { // wsextre.GetRow(rowExtrIndex).GetCell(14).SetCellValue(float.Parse(item.MainCoordinatorTotalScore)); // wsextre.GetRow(rowExtrIndex).GetCell(14).CellStyle = fontStyle; // } // if (wsextre.GetRow(rowExtrIndex).GetCell(15) == null) wsextre.GetRow(rowExtrIndex).CreateCell(15); // if (!string.IsNullOrEmpty(item.UserRepresentativeTotalScore)) // { // wsextre.GetRow(rowExtrIndex).GetCell(15).SetCellValue(float.Parse(item.UserRepresentativeTotalScore)); // wsextre.GetRow(rowExtrIndex).GetCell(15).CellStyle = fontStyle; // } // if (wsextre.GetRow(rowExtrIndex).GetCell(16) == null) wsextre.GetRow(rowExtrIndex).CreateCell(16); // if (!string.IsNullOrEmpty(item.CTSTScore)) // { // wsextre.GetRow(rowExtrIndex).GetCell(16).SetCellValue(float.Parse(item.CTSTScore)); // wsextre.GetRow(rowExtrIndex).GetCell(16).CellStyle = fontStyle; // } // if (wsextre.GetRow(rowExtrIndex).GetCell(17) == null) wsextre.GetRow(rowExtrIndex).CreateCell(17); // if (!string.IsNullOrEmpty(item.CTEDTotalScore)) // { // wsextre.GetRow(rowExtrIndex).GetCell(17).SetCellValue(float.Parse(item.CTEDTotalScore)); // wsextre.GetRow(rowExtrIndex).GetCell(17).CellStyle = fontStyle; // } // #endregion // rowExtrIndex++; // } //} //#endregion //#region NO Evaluation Users //XSSFSheet wsevalu = (XSSFSheet)hssfworkbook.GetSheet("NO Evaluation Users未评人员"); //var NoEvalUserList = new List(); //var fnNoEval = SQLHelper.GetDataTableRunText("exec FN_NoEvaluationUsersReport '" + sTime + "','" + eTime + "'", new SqlParameter[0]); //var noEvalList = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(fnNoEval)); //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(); // int index = 0; // 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); // var NoEvalModel = new NoEvaluationUsers(); // NoEvalModel.FoGuid = Guid.NewGuid().ToString(); // NoEvalModel.NotEvaluatedFoNo = string.Join(",", userNoList); // NoEvalModel.Evaluate_UserName = userNoModel.Evaluate_UserName; // NoEvalModel.UserName = userNoModel.UserName; // NoEvalModel.isEvaluate = userNoModel.isEvaluate; // NoEvalModel.RoleName = userNoModel.RoleName; // NoEvalModel.DepartName = userNoModel.DepartName; // NoEvalModel.lsContract_No = userNoList; // NoEvalModel.coIndex = index; // NoEvalUserList.Add(NoEvalModel); // index++; // } // 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(); // var NoEvalModel = new NoEvaluationUsers(); // NoEvalModel.FoGuid = Guid.NewGuid().ToString(); // NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); // NoEvalModel.Evaluate_UserName = user.Account; // NoEvalModel.UserName = user.UserName; // NoEvalModel.isEvaluate = depNoModel.isEvaluate; // NoEvalModel.RoleName = depNoModel.RoleName; // NoEvalModel.DepartName = "CTS/S"; // NoEvalModel.coIndex = index; // NoEvalUserList.Add(NoEvalModel); // index++; // } // } // 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(); // var NoEvalModel = new NoEvaluationUsers(); // NoEvalModel.FoGuid = Guid.NewGuid().ToString(); // NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); // NoEvalModel.Evaluate_UserName = user.Account; // NoEvalModel.UserName = user.UserName; // NoEvalModel.isEvaluate = depNoModel.isEvaluate; // NoEvalModel.RoleName = depNoModel.RoleName; // NoEvalModel.DepartName = "CTS/C"; // NoEvalModel.coIndex = index; // NoEvalUserList.Add(NoEvalModel); // index++; // } // } // 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(); // var NoEvalModel = new NoEvaluationUsers(); // NoEvalModel.FoGuid = Guid.NewGuid().ToString(); // NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); // NoEvalModel.Evaluate_UserName = user.Account; // NoEvalModel.UserName = user.UserName; // NoEvalModel.isEvaluate = depNoModel.isEvaluate; // NoEvalModel.RoleName = depNoModel.RoleName; // NoEvalModel.DepartName = dep; // NoEvalModel.coIndex = index; // NoEvalUserList.Add(NoEvalModel); // index++; // } // } // 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(); // var NoEvalModel = new NoEvaluationUsers(); // NoEvalModel.FoGuid = Guid.NewGuid().ToString(); // NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); // NoEvalModel.Evaluate_UserName = user.Account; // NoEvalModel.UserName = user.UserName; // NoEvalModel.isEvaluate = depNoModel.isEvaluate; // NoEvalModel.RoleName = depNoModel.RoleName; // NoEvalModel.DepartName = dep; // NoEvalModel.coIndex = index; // NoEvalUserList.Add(NoEvalModel); // index++; // } // } // 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(); // var NoEvalModel = new NoEvaluationUsers(); // NoEvalModel.FoGuid = Guid.NewGuid().ToString(); // NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); // NoEvalModel.Evaluate_UserName = user.Account; // NoEvalModel.UserName = user.UserName; // NoEvalModel.isEvaluate = depNoModel.isEvaluate; // NoEvalModel.RoleName = depNoModel.RoleName; // NoEvalModel.DepartName = "CTM/T"; // NoEvalModel.coIndex = index; // NoEvalUserList.Add(NoEvalModel); // index++; // } // } // 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(); // var NoEvalModel = new NoEvaluationUsers(); // NoEvalModel.FoGuid = Guid.NewGuid().ToString(); // NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); // NoEvalModel.Evaluate_UserName = user.Account; // NoEvalModel.UserName = user.UserName; // NoEvalModel.isEvaluate = depNoModel.isEvaluate; // NoEvalModel.RoleName = depNoModel.RoleName; // NoEvalModel.DepartName = "CTM/T"; // NoEvalModel.coIndex = index; // NoEvalUserList.Add(NoEvalModel); // index++; // } // } // 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(); // var NoEvalModel = new NoEvaluationUsers(); // NoEvalModel.FoGuid = Guid.NewGuid().ToString(); // NoEvalModel.NotEvaluatedFoNo = string.Join(",", depNoList); // NoEvalModel.Evaluate_UserName = user.Account; // NoEvalModel.UserName = user.UserName; // NoEvalModel.isEvaluate = depNoModel.isEvaluate; // NoEvalModel.RoleName = depNoModel.RoleName; // NoEvalModel.DepartName = dep; // NoEvalModel.coIndex = index; // NoEvalUserList.Add(NoEvalModel); // index++; // } // } //} //if (NoEvalUserList.Count > 0) //{ // var rowEvalIndex = 1; // foreach (var item in NoEvalUserList) // { // 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.UserName); // 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.Evaluate_UserName); // 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.isEvaluate); // 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.RoleName); // 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.DepartName); // wsevalu.GetRow(rowEvalIndex).GetCell(4).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(rowEvalIndex).GetCell(5 + findex) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(5 + findex); // wsevalu.GetRow(rowEvalIndex).GetCell(5 + findex).SetCellValue(itemFoNo); // wsevalu.GetRow(rowEvalIndex).GetCell(5 + 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 // rowEvalIndex++; // } //} //#endregion //#region Dep Participation Rate部门参与率 //var startTime = DateTime.Parse(txtStartTime.Text + "-01").AddMonths(1).ToString("yyyy-MM-dd"); //var endTime = DateTime.Parse(txtStartTime.Text + "-13").AddMonths(1).ToString("yyyy-MM-dd"); //DateTime start = DateTime.Parse((DateTime.Parse(txtStartTime.Text + "-01").Year).ToString() + "-01-01"); //DateTime end = start.AddDays(12); //string year = start.Year.ToString(); //XSSFSheet depRate = (XSSFSheet)hssfworkbook.GetSheet("Dep Participation Rate部门参与率"); //// 增加月份表头 //for (int j = 0; j < 12; j++) //{ // if (depRate.GetRow(0) == null) depRate.CreateRow(0); // if (depRate.GetRow(0).GetCell(2 + j) == null) depRate.GetRow(0).CreateCell(2 + j); // depRate.GetRow(0).GetCell(2 + j).SetCellValue(year + "-" + start.AddMonths(j).Month); // depRate.GetRow(0).GetCell(2 + j).CellStyle = yearStyle; //} //if (depRate.GetRow(1) == null) depRate.CreateRow(1); //if (depRate.GetRow(2) == null) depRate.CreateRow(2); //if (depRate.GetRow(3) == null) depRate.CreateRow(3); //if (depRate.GetRow(4) == null) depRate.CreateRow(4); //if (depRate.GetRow(5) == null) depRate.CreateRow(5); //for (int j = 0; j < 13; j++) //{ // if (j == 0) // { // var dt1 = SQLHelper.GetDataTableRunText("exec sp_BigDepartEvaRate '" + start + "','" + start.AddYears(1) + "'", new SqlParameter[0]); // if (dt1.Rows.Count > 0) // { // for (int i = 0; i < dt1.Rows.Count; i++) // { // if (depRate.GetRow(i + 1).GetCell(j) == null) depRate.GetRow(i+1).CreateCell(j); // depRate.GetRow(i + 1).GetCell(j).SetCellValue(dt1.Rows[i]["DepartCode"].ToString().Replace("Z", "")); // depRate.GetRow(i + 1).GetCell(j).CellStyle = styleQfw; // if (depRate.GetRow(i + 1).GetCell(j+1) == null) depRate.GetRow(i + 1).CreateCell(j+1); // depRate.GetRow(i + 1).GetCell(j + 1).SetCellValue(!string.IsNullOrEmpty(dt1.Rows[i]["Rate"].ToString()) ? double.Parse(dt1.Rows[i]["Rate"].ToString()) : 0); // depRate.GetRow(i + 1).GetCell(j + 1).CellStyle = styleQfw; // } // } // } // else // { // var startData = start.AddMonths(j); // var endData = end.AddMonths(j); // var dt2 = SQLHelper.GetDataTableRunText("exec sp_BigDepartEvaRate '" + startData + "','" + endData + "'", new SqlParameter[0]); // if (dt2.Rows.Count > 0) // { // for (int i = 0; i < dt2.Rows.Count; i++) // { // if (depRate.GetRow(i + 1).GetCell(j + 1) == null) depRate.GetRow(i + 1).CreateCell(j + 1); // depRate.GetRow(i + 1).GetCell(j + 1).SetCellValue(!string.IsNullOrEmpty(dt2.Rows[i]["Rate"].ToString()) ? double.Parse(dt2.Rows[i]["Rate"].ToString()) : 0); // depRate.GetRow(i + 1).GetCell(j + 1).CellStyle = styleQfw; // } // } // } //} //var dt = SQLHelper.GetDataTableRunText("exec sp_BigDepartEvaRate '" + startTime + "','" + endTime + "'", new SqlParameter[0]); //var subdt = SQLHelper.GetDataTableRunText("exec sp_DepartEvaRate '" + startTime + "','" + endTime + "'", new SqlParameter[0]); //if (dt.Rows.Count > 0) //{ // for (int i = 0; i < dt.Rows.Count; i++) // { // if (depRate.GetRow(i + 8) == null) depRate.CreateRow(i + 8); // #region 列赋值 // if (depRate.GetRow(i + 8).GetCell(0) == null) depRate.GetRow(i + 8).CreateCell(0); // depRate.GetRow(i + 8).GetCell(0).SetCellValue(dt.Rows[i]["DepartCode"].ToString().Replace("Z", "")); // depRate.GetRow(i + 8).GetCell(0).CellStyle = styleQfw; // if (depRate.GetRow(i + 8).GetCell(1) == null) depRate.GetRow(i + 8).CreateCell(1); // depRate.GetRow(i + 8).GetCell(1).SetCellValue(!string.IsNullOrEmpty(dt.Rows[i]["Rate"].ToString()) ? double.Parse(dt.Rows[i]["Rate"].ToString()) : 0); // depRate.GetRow(i + 8).GetCell(1).CellStyle = styleQfw; // } // #endregion //} //#endregion //#region SubDepartEvaRate //if (subdt.Rows.Count > 0) //{ // for (int i = 0; i < subdt.Rows.Count; i++) // { // if (depRate.GetRow(8 + i) == null) depRate.CreateRow(8 + i); // #region 列赋值 // if (depRate.GetRow(8 + i).GetCell(10) == null) depRate.GetRow(8 + i).CreateCell(10); // depRate.GetRow(i + 8).GetCell(10).SetCellValue(subdt.Rows[i]["DepartCode"].ToString().Replace("Z", "")); // depRate.GetRow(i + 8).GetCell(10).CellStyle = styleQfw; // if (depRate.GetRow(i + 8).GetCell(11) == null) depRate.GetRow(i + 8).CreateCell(11); // depRate.GetRow(i + 8).GetCell(11).SetCellValue(!string.IsNullOrEmpty(subdt.Rows[i]["Rate"].ToString()) ? double.Parse(subdt.Rows[i]["Rate"].ToString()) : 0); // depRate.GetRow(i + 8).GetCell(11).CellStyle = styleQfw; // } // #endregion //} //#endregion //ws.ForceFormulaRecalculation = true; //wsyear.ForceFormulaRecalculation = true; //wsextre.ForceFormulaRecalculation = true; //wsevalu.ForceFormulaRecalculation = true; //depRate.ForceFormulaRecalculation = true; //using (FileStream filess = File.OpenWrite(ReportFileName)) //{ // hssfworkbook.Write(filess); //} //FileInfo filet = new FileInfo(ReportFileName); //Response.Clear(); //Response.Charset = "UTF-8"; //Response.ContentEncoding = System.Text.Encoding.UTF8; //// 添加头信息,为"文件下载/另存为"对话框指定默认文件名 //Response.AddHeader("Content-Disposition", "attachment; filename=EvaluationReport" + Server.UrlEncode(string.Format("{0:yyyyMM}", this.txtStartTime.Text.Trim()) + ".xlsx")); //// 添加头信息,指定文件大小,让浏览器能够显示下载进度 //Response.AddHeader("Content-Length", filet.Length.ToString()); //// 指定返回的是一个不能被客户端读取的流,必须被下载 //Response.ContentType = "application/ms-excel"; //// 把文件流发送到客户端 //Response.WriteFile(filet.FullName); //// 停止页面的执行 //Response.End(); #endregion } private void Export(SqlParameter[] overParList, SqlParameter[] yearToDateParList,List sesRelatedData, SqlParameter[] extScoreParList, List NoEvalUserList, List EvalUserList, SqlParameter[] bigDepartParList, SqlParameter[] departParList) { DataTable OverviewReport = SQLHelper.GetDataTableRunProc("FN_OverviewReport", overParList); DataTable tbExtre = SQLHelper.GetDataTableRunProc("FN_ExtremeScoresReport", extScoreParList); DataTable bigDepartEva = SQLHelper.GetDataTableRunProc("sp_BigDepartEvaRate", bigDepartParList); DataTable departEva = SQLHelper.GetDataTableRunProc("sp_DepartEvaRate", departParList); int overNum = OverviewReport.Rows.Count; int sesRelatedNum = sesRelatedData.Count(); int tbExtreNum = tbExtre.Rows.Count; int fnNoEvalNum = NoEvalUserList.Count(); int fnEvalNum = EvalUserList.Count(); int bigDepartEvaNum = bigDepartEva.Rows.Count; int departEvaNum = departEva.Rows.Count; int totalNum = overNum + sesRelatedNum + 2 * tbExtreNum + fnNoEvalNum + fnEvalNum + bigDepartEvaNum + departEvaNum; var sesDataTable = SQLHelper.GetDataTableRunProc("FN_YearToDateReport", yearToDateParList); var sesDataScore = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(sesDataTable)); #region string rootPath = Server.MapPath("~/") + Const.ExcelUrl; //模板文件 string TempletFileName = rootPath + "EvaluationReport.xlsx"; //导出文件 string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\"; if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } string ReportFileName = filePath + "EvaluationReport" + txtStartTime.Text + ".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 Overview XSSFSheet ws = (XSSFSheet)hssfworkbook.GetSheet("Overview当月绩效"); if (OverviewReport.Rows.Count > 0) { var rowIndex = 2; for (int i = 0; i < OverviewReport.Rows.Count; i++) { if (ws.GetRow(rowIndex) == null) ws.CreateRow(rowIndex); #region 列赋值 if (ws.GetRow(rowIndex).GetCell(0) == null) ws.GetRow(rowIndex).CreateCell(0); ws.GetRow(rowIndex).GetCell(0).SetCellValue(OverviewReport.Rows[i]["FO_NO"].ToString()); ws.GetRow(rowIndex).GetCell(0).CellStyle = fontStyle; if (ws.GetRow(rowIndex).GetCell(1) == null) ws.GetRow(rowIndex).CreateCell(1); ws.GetRow(rowIndex).GetCell(1).SetCellValue(OverviewReport.Rows[i]["Work_Description"].ToString()); ws.GetRow(rowIndex).GetCell(1).CellStyle = fontStyle; if (ws.GetRow(rowIndex).GetCell(2) == null) ws.GetRow(rowIndex).CreateCell(2); ws.GetRow(rowIndex).GetCell(2).SetCellValue(OverviewReport.Rows[i]["Contractor"].ToString()); ws.GetRow(rowIndex).GetCell(2).CellStyle = fontStyle; if (ws.GetRow(rowIndex).GetCell(3) == null) ws.GetRow(rowIndex).CreateCell(3); ws.GetRow(rowIndex).GetCell(3).SetCellValue(OverviewReport.Rows[i]["Main_Coordinator"].ToString()); ws.GetRow(rowIndex).GetCell(3).CellStyle = fontStyle; if (ws.GetRow(rowIndex).GetCell(4) == null) ws.GetRow(rowIndex).CreateCell(4); //var totalNum = !string.IsNullOrEmpty(OverviewReport.Rows[i]["Total"].ToString()) ? float.Parse(OverviewReport.Rows[i]["Total"].ToString()).ToString("0.0") : 0.0; //ws.GetRow(rowIndex).GetCell(4).SetCellValue(double.Parse(totalNum)); ws.GetRow(rowIndex).GetCell(4).SetCellValue(OverviewReport.Rows[i]["Total"] != null ? float.Parse(OverviewReport.Rows[i]["Total"].ToString()) : 0); ws.GetRow(rowIndex).GetCell(4).CellStyle = styleQfw1; if (ws.GetRow(rowIndex).GetCell(5) == null) ws.GetRow(rowIndex).CreateCell(5); ws.GetRow(rowIndex).GetCell(5).SetCellValue(!string.IsNullOrEmpty(OverviewReport.Rows[i]["Participation_Rate"].ToString()) ? OverviewReport.Rows[i]["Participation_Rate"].ToString() + "%" : "0"); ws.GetRow(rowIndex).GetCell(5).CellStyle = rateStyle; if (ws.GetRow(rowIndex).GetCell(6) == null) ws.GetRow(rowIndex).CreateCell(6); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["AvgEvaScore1"].ToString())) { ws.GetRow(rowIndex).GetCell(6).SetCellValue(float.Parse(OverviewReport.Rows[i]["AvgEvaScore1"].ToString())); ws.GetRow(rowIndex).GetCell(6).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(7) == null) ws.GetRow(rowIndex).CreateCell(7); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["EvaluateNum"].ToString())) { ws.GetRow(rowIndex).GetCell(7).SetCellValue(float.Parse(OverviewReport.Rows[i]["EvaluateNum"].ToString())); ws.GetRow(rowIndex).GetCell(7).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(8) == null) ws.GetRow(rowIndex).CreateCell(8); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["TotalAvgScore1"].ToString())) { ws.GetRow(rowIndex).GetCell(8).SetCellValue(float.Parse(OverviewReport.Rows[i]["TotalAvgScore1"].ToString())); ws.GetRow(rowIndex).GetCell(8).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(9) == null) ws.GetRow(rowIndex).CreateCell(9); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["UserNum"].ToString())) { ws.GetRow(rowIndex).GetCell(9).SetCellValue(float.Parse(OverviewReport.Rows[i]["UserNum"].ToString())); ws.GetRow(rowIndex).GetCell(9).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(10) == null) ws.GetRow(rowIndex).CreateCell(10); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["AvgEvaScore2"].ToString())) { ws.GetRow(rowIndex).GetCell(10).SetCellValue(float.Parse(OverviewReport.Rows[i]["AvgEvaScore2"].ToString())); ws.GetRow(rowIndex).GetCell(10).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(11) == null) ws.GetRow(rowIndex).CreateCell(11); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["EvaluateNum"].ToString())) { ws.GetRow(rowIndex).GetCell(11).SetCellValue(float.Parse(OverviewReport.Rows[i]["EvaluateNum"].ToString())); ws.GetRow(rowIndex).GetCell(11).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(12) == null) ws.GetRow(rowIndex).CreateCell(12); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["TotalAvgScore2"].ToString())) { ws.GetRow(rowIndex).GetCell(12).SetCellValue(float.Parse(OverviewReport.Rows[i]["TotalAvgScore2"].ToString())); ws.GetRow(rowIndex).GetCell(12).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(13) == null) ws.GetRow(rowIndex).CreateCell(13); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["UserNum"].ToString())) { ws.GetRow(rowIndex).GetCell(13).SetCellValue(float.Parse(OverviewReport.Rows[i]["UserNum"].ToString())); ws.GetRow(rowIndex).GetCell(13).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(14) == null) ws.GetRow(rowIndex).CreateCell(14); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["AvgEvaScore3"].ToString())) { ws.GetRow(rowIndex).GetCell(14).SetCellValue(float.Parse(OverviewReport.Rows[i]["AvgEvaScore3"].ToString())); ws.GetRow(rowIndex).GetCell(14).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(15) == null) ws.GetRow(rowIndex).CreateCell(15); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["EvaluateNum"].ToString())) { ws.GetRow(rowIndex).GetCell(15).SetCellValue(float.Parse(OverviewReport.Rows[i]["EvaluateNum"].ToString())); ws.GetRow(rowIndex).GetCell(15).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(16) == null) ws.GetRow(rowIndex).CreateCell(16); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["TotalAvgScore3"].ToString())) { ws.GetRow(rowIndex).GetCell(16).SetCellValue(float.Parse(OverviewReport.Rows[i]["TotalAvgScore3"].ToString())); ws.GetRow(rowIndex).GetCell(16).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(17) == null) ws.GetRow(rowIndex).CreateCell(17); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["UserNum"].ToString())) { ws.GetRow(rowIndex).GetCell(17).SetCellValue(float.Parse(OverviewReport.Rows[i]["UserNum"].ToString())); ws.GetRow(rowIndex).GetCell(17).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(18) == null) ws.GetRow(rowIndex).CreateCell(18); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["AvgEvaScore4"].ToString())) { ws.GetRow(rowIndex).GetCell(18).SetCellValue(float.Parse(OverviewReport.Rows[i]["AvgEvaScore4"].ToString())); ws.GetRow(rowIndex).GetCell(18).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(19) == null) ws.GetRow(rowIndex).CreateCell(19); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["EvaluateNum"].ToString())) { ws.GetRow(rowIndex).GetCell(19).SetCellValue(float.Parse(OverviewReport.Rows[i]["EvaluateNum"].ToString())); ws.GetRow(rowIndex).GetCell(19).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(20) == null) ws.GetRow(rowIndex).CreateCell(20); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["TotalAvgScore4"].ToString())) { ws.GetRow(rowIndex).GetCell(20).SetCellValue(float.Parse(OverviewReport.Rows[i]["TotalAvgScore4"].ToString())); ws.GetRow(rowIndex).GetCell(20).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(21) == null) ws.GetRow(rowIndex).CreateCell(21); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["UserNum"].ToString())) { ws.GetRow(rowIndex).GetCell(21).SetCellValue(float.Parse(OverviewReport.Rows[i]["UserNum"].ToString())); ws.GetRow(rowIndex).GetCell(21).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(22) == null) ws.GetRow(rowIndex).CreateCell(22); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["AvgEvaScore5"].ToString())) { ws.GetRow(rowIndex).GetCell(22).SetCellValue(float.Parse(OverviewReport.Rows[i]["AvgEvaScore5"].ToString())); ws.GetRow(rowIndex).GetCell(22).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(23) == null) ws.GetRow(rowIndex).CreateCell(23); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["EvaluateNum"].ToString())) { ws.GetRow(rowIndex).GetCell(23).SetCellValue(float.Parse(OverviewReport.Rows[i]["EvaluateNum"].ToString())); ws.GetRow(rowIndex).GetCell(23).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(24) == null) ws.GetRow(rowIndex).CreateCell(24); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["TotalAvgScore5"].ToString())) { ws.GetRow(rowIndex).GetCell(24).SetCellValue(float.Parse(OverviewReport.Rows[i]["TotalAvgScore5"].ToString())); ws.GetRow(rowIndex).GetCell(24).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(25) == null) ws.GetRow(rowIndex).CreateCell(25); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["UserNum"].ToString())) { ws.GetRow(rowIndex).GetCell(25).SetCellValue(float.Parse(OverviewReport.Rows[i]["UserNum"].ToString())); ws.GetRow(rowIndex).GetCell(25).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(26) == null) ws.GetRow(rowIndex).CreateCell(26); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["AvgEvaScore6"].ToString())) { ws.GetRow(rowIndex).GetCell(26).SetCellValue(float.Parse(OverviewReport.Rows[i]["AvgEvaScore6"].ToString())); ws.GetRow(rowIndex).GetCell(26).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(27) == null) ws.GetRow(rowIndex).CreateCell(27); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["EvaluateNum"].ToString())) { ws.GetRow(rowIndex).GetCell(27).SetCellValue(float.Parse(OverviewReport.Rows[i]["EvaluateNum"].ToString())); ws.GetRow(rowIndex).GetCell(27).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(28) == null) ws.GetRow(rowIndex).CreateCell(28); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["TotalAvgScore6"].ToString())) { ws.GetRow(rowIndex).GetCell(28).SetCellValue(float.Parse(OverviewReport.Rows[i]["TotalAvgScore6"].ToString())); ws.GetRow(rowIndex).GetCell(28).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(29) == null) ws.GetRow(rowIndex).CreateCell(29); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["UserNum"].ToString())) { ws.GetRow(rowIndex).GetCell(29).SetCellValue(float.Parse(OverviewReport.Rows[i]["UserNum"].ToString())); ws.GetRow(rowIndex).GetCell(29).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(30) == null) ws.GetRow(rowIndex).CreateCell(30); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["TimelyAvgSocre"].ToString())) { ws.GetRow(rowIndex).GetCell(30).SetCellValue(float.Parse(OverviewReport.Rows[i]["TimelyAvgSocre"].ToString())); ws.GetRow(rowIndex).GetCell(30).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(31) == null) ws.GetRow(rowIndex).CreateCell(31); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["HonestyAvgScore"].ToString())) { ws.GetRow(rowIndex).GetCell(31).SetCellValue(float.Parse(OverviewReport.Rows[i]["HonestyAvgScore"].ToString())); ws.GetRow(rowIndex).GetCell(31).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(32) == null) ws.GetRow(rowIndex).CreateCell(32); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["CTSSAvgScore"].ToString())) { ws.GetRow(rowIndex).GetCell(32).SetCellValue(float.Parse(OverviewReport.Rows[i]["CTSSAvgScore"].ToString())); ws.GetRow(rowIndex).GetCell(32).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(33) == null) ws.GetRow(rowIndex).CreateCell(33); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["CTSCAvgScore"].ToString())) { ws.GetRow(rowIndex).GetCell(33).SetCellValue(float.Parse(OverviewReport.Rows[i]["CTSCAvgScore"].ToString())); ws.GetRow(rowIndex).GetCell(33).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(34) == null) ws.GetRow(rowIndex).CreateCell(34); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["MainCoordinatorAvgScore"].ToString())) { ws.GetRow(rowIndex).GetCell(34).SetCellValue(float.Parse(OverviewReport.Rows[i]["MainCoordinatorAvgScore"].ToString())); ws.GetRow(rowIndex).GetCell(34).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(35) == null) ws.GetRow(rowIndex).CreateCell(35); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["UserRepresentativeAvgScore"].ToString())) { ws.GetRow(rowIndex).GetCell(35).SetCellValue(float.Parse(OverviewReport.Rows[i]["UserRepresentativeAvgScore"].ToString())); ws.GetRow(rowIndex).GetCell(35).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(36) == null) ws.GetRow(rowIndex).CreateCell(36); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["CTSTAvgScore"].ToString())) { ws.GetRow(rowIndex).GetCell(36).SetCellValue(float.Parse(OverviewReport.Rows[i]["CTSTAvgScore"].ToString())); ws.GetRow(rowIndex).GetCell(36).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(37) == null) ws.GetRow(rowIndex).CreateCell(37); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["CTEDAvgScore"].ToString())) { ws.GetRow(rowIndex).GetCell(37).SetCellValue(float.Parse(OverviewReport.Rows[i]["CTEDAvgScore"].ToString())); ws.GetRow(rowIndex).GetCell(37).CellStyle = styleQfw; } #endregion if ((int)(90 * (rowIndex - 1) / totalNum) > percent) { percent = (int)(100 * (rowIndex - 1) / totalNum); } rowIndex++; } } #endregion #region Year_to_date Report var minData = DateTime.Parse(txtStartTime.Text + "-01").AddMonths(-25); var maxData = DateTime.Parse(txtStartTime.Text + "-13").AddMonths(-1); XSSFSheet wsyear = (XSSFSheet)hssfworkbook.GetSheet("Year_to_date Report近二年绩效"); if (sesRelatedData.Count > 0) { var colIndex = 0; var rowYearIndex = 1; foreach (var item in sesRelatedData) { if (wsyear.GetRow(rowYearIndex) == null) wsyear.CreateRow(rowYearIndex); #region 列赋值 if (wsyear.GetRow(rowYearIndex).GetCell(0) == null) wsyear.GetRow(rowYearIndex).CreateCell(0); wsyear.GetRow(rowYearIndex).GetCell(0).SetCellValue(item.FO_NO); wsyear.GetRow(rowYearIndex).GetCell(0).CellStyle = fontStyle; if (wsyear.GetRow(rowYearIndex).GetCell(1) == null) wsyear.GetRow(rowYearIndex).CreateCell(1); wsyear.GetRow(rowYearIndex).GetCell(1).SetCellValue(item.Discipline); wsyear.GetRow(rowYearIndex).GetCell(1).CellStyle = fontStyle; if (wsyear.GetRow(rowYearIndex).GetCell(2) == null) wsyear.GetRow(rowYearIndex).CreateCell(2); wsyear.GetRow(rowYearIndex).GetCell(2).SetCellValue(item.Contractor); wsyear.GetRow(rowYearIndex).GetCell(2).CellStyle = fontStyle; if (wsyear.GetRow(rowYearIndex).GetCell(3) == null) wsyear.GetRow(rowYearIndex).CreateCell(3); wsyear.GetRow(rowYearIndex).GetCell(3).SetCellValue(item.Contract_Admin); wsyear.GetRow(rowYearIndex).GetCell(3).CellStyle = fontStyle; if (wsyear.GetRow(rowYearIndex).GetCell(4) == null) wsyear.GetRow(rowYearIndex).CreateCell(4); wsyear.GetRow(rowYearIndex).GetCell(4).SetCellValue(item.Main_Coordinator); wsyear.GetRow(rowYearIndex).GetCell(4).CellStyle = fontStyle; var sesFoDataScore = sesDataScore.Where(p => p.FO_NO == item.FO_NO).ToList(); for (int j = 0; j < 25; j++) { var startData = DateTime.Parse("" + minData.Year + "-" + minData.Month + "-01").AddMonths(j); if (colIndex == 0) { if (wsyear.GetRow(0) == null) wsyear.CreateRow(0); if (wsyear.GetRow(0).GetCell(j + 5) == null) wsyear.GetRow(0).CreateCell(j + 5); wsyear.GetRow(0).GetCell(j + 5).SetCellValue(startData.ToString("yyyy-MM")); wsyear.GetRow(0).GetCell(j + 5).CellStyle = yearStyle; } if (wsyear.GetRow(rowYearIndex).GetCell(j + 5) == null) wsyear.GetRow(rowYearIndex).CreateCell(j + 5); if (sesFoDataScore.Count(p => p.dataMonth == startData.ToString("yyyy-MM")) > 0 && Funs.GetNewDecimal(sesFoDataScore.FirstOrDefault(p => p.dataMonth == startData.ToString("yyyy-MM")).SumScore) > 0) { var yearNums = float.Parse(sesFoDataScore.FirstOrDefault(p => p.dataMonth == startData.ToString("yyyy-MM")).SumScore).ToString("0.##"); wsyear.GetRow(rowYearIndex).GetCell(j + 5).SetCellValue(double.Parse(yearNums)); //如果小于60分,填充背景色为粉色 if (double.Parse(yearNums) > 0 && double.Parse(yearNums) < 60) { wsyear.GetRow(rowYearIndex).GetCell(j + 5).CellStyle = backgroundstyle; } else { wsyear.GetRow(rowYearIndex).GetCell(j + 5).CellStyle = fontStyle; } } else { wsyear.GetRow(rowYearIndex).GetCell(j + 5).SetCellValue("-"); wsyear.GetRow(rowYearIndex).GetCell(j + 5).CellStyle = fontStyle; } } #endregion if ((int)((90 * (rowYearIndex + overNum)) / totalNum) > percent) { percent = (int)(100 * (rowYearIndex + overNum) / totalNum); } rowYearIndex++; colIndex++; } } #endregion #region Extreme Scores //sTime = DateTime.Parse(txtStartTime.Text + "-01").AddMonths(1).ToString("yyyy-MM-dd"); //eTime = DateTime.Parse(txtStartTime.Text + "-12").AddMonths(1).ToString("yyyy-MM-dd"); XSSFSheet wsextre = (XSSFSheet)hssfworkbook.GetSheet("Extreme Scores极端分数"); var ExtremeScores = new List(); if (tbExtre.Rows.Count > 0) { for (int i = 0; i < tbExtre.Rows.Count; i++) { var examScore = new ExtremeScores(); examScore.NewGuid = tbExtre.Rows[i]["NewGuid"].ToString(); examScore.FO_NO = tbExtre.Rows[i]["FO_NO"].ToString(); examScore.Contractor = tbExtre.Rows[i]["Contractor"].ToString(); examScore.Work_Description = tbExtre.Rows[i]["Work_Description"].ToString(); examScore.User = tbExtre.Rows[i]["UserName"].ToString(); examScore.Contract_Admin = tbExtre.Rows[i]["Contract_Admin"].ToString(); examScore.DateIn = !string.IsNullOrEmpty(tbExtre.Rows[i]["DateIn"].ToString()) ? DateTime.Parse(tbExtre.Rows[i]["DateIn"].ToString()) : DateTime.Now; if (tbExtre.Rows[i]["Role"].ToString() == "User") { if (tbExtre.Rows[i]["Score1"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) >= 0) { examScore.TotalScore1 = tbExtre.Rows[i]["Score1"].ToString(); } } if (tbExtre.Rows[i]["Score2"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) >= 0) { examScore.TotalScore2 = tbExtre.Rows[i]["Score2"].ToString(); } } if (tbExtre.Rows[i]["Score3"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) >= 0) { examScore.TotalScore3 = tbExtre.Rows[i]["Score3"].ToString(); } } if (tbExtre.Rows[i]["Score4"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) >= 0) { examScore.TotalScore4 = tbExtre.Rows[i]["Score4"].ToString(); } } if (tbExtre.Rows[i]["Score5"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) >= 0) { examScore.TotalScore5 = tbExtre.Rows[i]["Score5"].ToString(); } } if (tbExtre.Rows[i]["Score6"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) >= 0) { examScore.TotalScore6 = tbExtre.Rows[i]["Score6"].ToString(); } } if (tbExtre.Rows[i]["Score7"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score7"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score7"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score7"]) >= 0) { examScore.TotalTimelyHonesty = tbExtre.Rows[i]["Score7"].ToString(); } } } else { if (tbExtre.Rows[i]["Score1"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) >= 0) { examScore.CTSSTotalScore = tbExtre.Rows[i]["Score1"].ToString(); } } if (tbExtre.Rows[i]["Score2"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) >= 0) { examScore.CTSCTotalScore = tbExtre.Rows[i]["Score2"].ToString(); } } if (tbExtre.Rows[i]["Score3"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) >= 0) { examScore.MainCoordinatorTotalScore = tbExtre.Rows[i]["Score3"].ToString(); } } if (tbExtre.Rows[i]["Score4"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) >= 0) { examScore.UserRepresentativeTotalScore = tbExtre.Rows[i]["Score4"].ToString(); } } if (tbExtre.Rows[i]["Score5"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) >= 0) { examScore.CTSTScore = tbExtre.Rows[i]["Score5"].ToString(); } } if (tbExtre.Rows[i]["Score6"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) >= 0) { examScore.CTEDTotalScore = tbExtre.Rows[i]["Score6"].ToString(); } } } ExtremeScores.Add(examScore); if ((int)((90 * (i + 1 + sesRelatedNum + overNum)) / totalNum) > percent) { percent = (int)(100 * (i + 1 + sesRelatedNum + overNum) / totalNum); } } } if (ExtremeScores.Count > 0) { var rowExtrIndex = 2; foreach (var item in ExtremeScores) { if (wsextre.GetRow(rowExtrIndex) == null) wsextre.CreateRow(rowExtrIndex); #region 列赋值 if (wsextre.GetRow(rowExtrIndex).GetCell(0) == null) wsextre.GetRow(rowExtrIndex).CreateCell(0); wsextre.GetRow(rowExtrIndex).GetCell(0).SetCellValue(item.FO_NO); wsextre.GetRow(rowExtrIndex).GetCell(0).CellStyle = fontStyle; if (wsextre.GetRow(rowExtrIndex).GetCell(1) == null) wsextre.GetRow(rowExtrIndex).CreateCell(1); wsextre.GetRow(rowExtrIndex).GetCell(1).SetCellValue(item.Contractor); wsextre.GetRow(rowExtrIndex).GetCell(1).CellStyle = fontStyle; if (wsextre.GetRow(rowExtrIndex).GetCell(2) == null) wsextre.GetRow(rowExtrIndex).CreateCell(2); wsextre.GetRow(rowExtrIndex).GetCell(2).SetCellValue(item.Work_Description); wsextre.GetRow(rowExtrIndex).GetCell(2).CellStyle = fontStyle; if (wsextre.GetRow(rowExtrIndex).GetCell(3) == null) wsextre.GetRow(rowExtrIndex).CreateCell(3); wsextre.GetRow(rowExtrIndex).GetCell(3).SetCellValue(item.User); wsextre.GetRow(rowExtrIndex).GetCell(3).CellStyle = fontStyle; if (wsextre.GetRow(rowExtrIndex).GetCell(4) == null) wsextre.GetRow(rowExtrIndex).CreateCell(4); wsextre.GetRow(rowExtrIndex).GetCell(4).SetCellValue(item.Contract_Admin); wsextre.GetRow(rowExtrIndex).GetCell(4).CellStyle = fontStyle; if (wsextre.GetRow(rowExtrIndex).GetCell(5) == null) wsextre.GetRow(rowExtrIndex).CreateCell(5); if (!string.IsNullOrEmpty(item.TotalScore1)) { wsextre.GetRow(rowExtrIndex).GetCell(5).SetCellValue(float.Parse(item.TotalScore1)); wsextre.GetRow(rowExtrIndex).GetCell(5).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(6) == null) wsextre.GetRow(rowExtrIndex).CreateCell(6); if (!string.IsNullOrEmpty(item.TotalScore2)) { wsextre.GetRow(rowExtrIndex).GetCell(6).SetCellValue(float.Parse(item.TotalScore2)); wsextre.GetRow(rowExtrIndex).GetCell(6).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(7) == null) wsextre.GetRow(rowExtrIndex).CreateCell(7); if (!string.IsNullOrEmpty(item.TotalScore3)) { wsextre.GetRow(rowExtrIndex).GetCell(7).SetCellValue(float.Parse(item.TotalScore3)); wsextre.GetRow(rowExtrIndex).GetCell(7).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(8) == null) wsextre.GetRow(rowExtrIndex).CreateCell(8); if (!string.IsNullOrEmpty(item.TotalScore4)) { wsextre.GetRow(rowExtrIndex).GetCell(8).SetCellValue(float.Parse(item.TotalScore4)); wsextre.GetRow(rowExtrIndex).GetCell(8).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(9) == null) wsextre.GetRow(rowExtrIndex).CreateCell(9); if (!string.IsNullOrEmpty(item.TotalScore5)) { wsextre.GetRow(rowExtrIndex).GetCell(9).SetCellValue(float.Parse(item.TotalScore5)); wsextre.GetRow(rowExtrIndex).GetCell(9).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(10) == null) wsextre.GetRow(rowExtrIndex).CreateCell(10); if (!string.IsNullOrEmpty(item.TotalScore6)) { wsextre.GetRow(rowExtrIndex).GetCell(10).SetCellValue(float.Parse(item.TotalScore6)); wsextre.GetRow(rowExtrIndex).GetCell(10).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(11) == null) wsextre.GetRow(rowExtrIndex).CreateCell(11); if (!string.IsNullOrEmpty(item.TotalTimelyHonesty)) { wsextre.GetRow(rowExtrIndex).GetCell(11).SetCellValue(""); wsextre.GetRow(rowExtrIndex).GetCell(11).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(12) == null) wsextre.GetRow(rowExtrIndex).CreateCell(12); if (!string.IsNullOrEmpty(item.CTSSTotalScore)) { wsextre.GetRow(rowExtrIndex).GetCell(12).SetCellValue(float.Parse(item.CTSSTotalScore)); wsextre.GetRow(rowExtrIndex).GetCell(12).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(13) == null) wsextre.GetRow(rowExtrIndex).CreateCell(13); if (!string.IsNullOrEmpty(item.CTSSTotalScore)) { wsextre.GetRow(rowExtrIndex).GetCell(13).SetCellValue(float.Parse(item.CTSSTotalScore)); wsextre.GetRow(rowExtrIndex).GetCell(13).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(14) == null) wsextre.GetRow(rowExtrIndex).CreateCell(14); if (!string.IsNullOrEmpty(item.MainCoordinatorTotalScore)) { wsextre.GetRow(rowExtrIndex).GetCell(14).SetCellValue(float.Parse(item.MainCoordinatorTotalScore)); wsextre.GetRow(rowExtrIndex).GetCell(14).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(15) == null) wsextre.GetRow(rowExtrIndex).CreateCell(15); if (!string.IsNullOrEmpty(item.UserRepresentativeTotalScore)) { wsextre.GetRow(rowExtrIndex).GetCell(15).SetCellValue(float.Parse(item.UserRepresentativeTotalScore)); wsextre.GetRow(rowExtrIndex).GetCell(15).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(16) == null) wsextre.GetRow(rowExtrIndex).CreateCell(16); if (!string.IsNullOrEmpty(item.CTSTScore)) { wsextre.GetRow(rowExtrIndex).GetCell(16).SetCellValue(float.Parse(item.CTSTScore)); wsextre.GetRow(rowExtrIndex).GetCell(16).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(17) == null) wsextre.GetRow(rowExtrIndex).CreateCell(17); if (!string.IsNullOrEmpty(item.CTEDTotalScore)) { wsextre.GetRow(rowExtrIndex).GetCell(17).SetCellValue(float.Parse(item.CTEDTotalScore)); wsextre.GetRow(rowExtrIndex).GetCell(17).CellStyle = fontStyle; } #endregion if ((int)((90 * (rowExtrIndex - 1 + tbExtreNum + sesRelatedNum + overNum)) / totalNum) > percent) { percent = (int)(100 * (rowExtrIndex - 1 + tbExtreNum + sesRelatedNum + overNum) / totalNum); } rowExtrIndex++; } } #endregion #region NO Evaluation Users XSSFSheet wsevalu = (XSSFSheet)hssfworkbook.GetSheet("NO Evaluation Users未评人员"); if (NoEvalUserList.Count > 0) { var rowEvalIndex = 1; foreach (var item in NoEvalUserList) { 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.UserName); 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.Evaluate_UserName); 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.isEvaluate); 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.RoleName); 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.DepartName); wsevalu.GetRow(rowEvalIndex).GetCell(4).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(rowEvalIndex).GetCell(5 + findex) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(5 + findex); wsevalu.GetRow(rowEvalIndex).GetCell(5 + findex).SetCellValue(itemFoNo); wsevalu.GetRow(rowEvalIndex).GetCell(5 + 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 + 2 * tbExtreNum + sesRelatedNum + overNum)) / totalNum) > percent) { percent = (int)(100 * (rowEvalIndex + 2 * tbExtreNum + sesRelatedNum + overNum) / totalNum); } rowEvalIndex++; } } #endregion #region Evaluation Users XSSFSheet evalUsers = (XSSFSheet)hssfworkbook.GetSheet("Evaluation Users已评人员"); if (EvalUserList.Count > 0) { var rowEvalIndex = 1; foreach (var item in EvalUserList) { if (evalUsers.GetRow(rowEvalIndex) == null) evalUsers.CreateRow(rowEvalIndex); #region 列赋值 if (evalUsers.GetRow(rowEvalIndex).GetCell(0) == null) evalUsers.GetRow(rowEvalIndex).CreateCell(0); evalUsers.GetRow(rowEvalIndex).GetCell(0).SetCellValue(item.UserName); evalUsers.GetRow(rowEvalIndex).GetCell(0).CellStyle = fontStyle; if (evalUsers.GetRow(rowEvalIndex).GetCell(1) == null) evalUsers.GetRow(rowEvalIndex).CreateCell(1); evalUsers.GetRow(rowEvalIndex).GetCell(1).SetCellValue(item.Evaluate_UserName); evalUsers.GetRow(rowEvalIndex).GetCell(1).CellStyle = fontStyle; if (evalUsers.GetRow(rowEvalIndex).GetCell(2) == null) evalUsers.GetRow(rowEvalIndex).CreateCell(2); evalUsers.GetRow(rowEvalIndex).GetCell(2).SetCellValue(item.isEvaluate); evalUsers.GetRow(rowEvalIndex).GetCell(2).CellStyle = fontStyle; if (evalUsers.GetRow(rowEvalIndex).GetCell(3) == null) evalUsers.GetRow(rowEvalIndex).CreateCell(3); evalUsers.GetRow(rowEvalIndex).GetCell(3).SetCellValue(item.RoleName); evalUsers.GetRow(rowEvalIndex).GetCell(3).CellStyle = fontStyle; if (evalUsers.GetRow(rowEvalIndex).GetCell(4) == null) evalUsers.GetRow(rowEvalIndex).CreateCell(4); evalUsers.GetRow(rowEvalIndex).GetCell(4).SetCellValue(item.DepartName); evalUsers.GetRow(rowEvalIndex).GetCell(4).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 (evalUsers.GetRow(rowEvalIndex).GetCell(5 + findex) == null) evalUsers.GetRow(rowEvalIndex).CreateCell(5 + findex); evalUsers.GetRow(rowEvalIndex).GetCell(5 + findex).SetCellValue(itemFoNo); evalUsers.GetRow(rowEvalIndex).GetCell(5 + findex).CellStyle = fontStyle; } else { FoNoTxt += string.IsNullOrEmpty(FoNoTxt) ? itemFoNo : "," + itemFoNo; } findex++; } if (!string.IsNullOrEmpty(FoNoTxt)) { if (evalUsers.GetRow(rowEvalIndex).GetCell(255) == null) evalUsers.GetRow(rowEvalIndex).CreateCell(255); evalUsers.GetRow(rowEvalIndex).GetCell(255).SetCellValue(FoNoTxt); evalUsers.GetRow(rowEvalIndex).GetCell(255).CellStyle = fontStyle; } } #endregion if ((int)((90 * (rowEvalIndex + fnNoEvalNum + 2 * tbExtreNum + sesRelatedNum + overNum)) / totalNum) > percent) { percent = (int)(100 * (rowEvalIndex + fnNoEvalNum + 2 * tbExtreNum + sesRelatedNum + overNum) / totalNum); } rowEvalIndex++; } } #endregion #region Dep Participation Rate部门参与率 var startTime = DateTime.Parse(txtStartTime.Text + "-01").AddMonths(1).ToString("yyyy-MM-dd"); var endTime = DateTime.Parse(txtStartTime.Text + "-13").AddMonths(1).ToString("yyyy-MM-dd"); DateTime start = DateTime.Parse((DateTime.Parse(txtStartTime.Text + "-01").Year).ToString() + "-01-01"); DateTime end = start.AddDays(12); string year = start.Year.ToString(); XSSFSheet depRate = (XSSFSheet)hssfworkbook.GetSheet("Dep Participation Rate部门参与率"); // 增加月份表头 for (int j = 0; j < 12; j++) { if (depRate.GetRow(0) == null) depRate.CreateRow(0); if (depRate.GetRow(0).GetCell(2 + j) == null) depRate.GetRow(0).CreateCell(2 + j); depRate.GetRow(0).GetCell(2 + j).SetCellValue(year + "-" + start.AddMonths(j).Month); depRate.GetRow(0).GetCell(2 + j).CellStyle = yearStyle; } if (depRate.GetRow(1) == null) depRate.CreateRow(1); if (depRate.GetRow(2) == null) depRate.CreateRow(2); if (depRate.GetRow(3) == null) depRate.CreateRow(3); if (depRate.GetRow(4) == null) depRate.CreateRow(4); if (depRate.GetRow(5) == null) depRate.CreateRow(5); for (int j = 0; j < 13; j++) { if (j == 0) { var dt1 = SQLHelper.GetDataTableRunText("exec sp_BigDepartEvaRate '" + start.AddMonths(1) + "','" + start.AddYears(1).AddMonths(1) + "'", new SqlParameter[0]); if (dt1.Rows.Count > 0) { for (int i = 0; i < dt1.Rows.Count; i++) { if (depRate.GetRow(i + 1).GetCell(j) == null) depRate.GetRow(i + 1).CreateCell(j); depRate.GetRow(i + 1).GetCell(j).SetCellValue(dt1.Rows[i]["DepartCode"].ToString().Replace("Z", "")); depRate.GetRow(i + 1).GetCell(j).CellStyle = styleQfw; if (depRate.GetRow(i + 1).GetCell(j + 1) == null) depRate.GetRow(i + 1).CreateCell(j + 1); depRate.GetRow(i + 1).GetCell(j + 1).SetCellValue(!string.IsNullOrEmpty(dt1.Rows[i]["Rate"].ToString()) ? double.Parse(dt1.Rows[i]["Rate"].ToString()) : 0); depRate.GetRow(i + 1).GetCell(j + 1).CellStyle = styleQfw; } } } else { var startData = start.AddMonths(j); var endData = end.AddMonths(j); var dt2 = SQLHelper.GetDataTableRunText("exec sp_BigDepartEvaRate '" + startData + "','" + endData + "'", new SqlParameter[0]); if (dt2.Rows.Count > 0) { for (int i = 0; i < dt2.Rows.Count; i++) { if (depRate.GetRow(i + 1).GetCell(j + 1) == null) depRate.GetRow(i + 1).CreateCell(j + 1); depRate.GetRow(i + 1).GetCell(j + 1).SetCellValue(!string.IsNullOrEmpty(dt2.Rows[i]["Rate"].ToString()) ? double.Parse(dt2.Rows[i]["Rate"].ToString()) : 0); depRate.GetRow(i + 1).GetCell(j + 1).CellStyle = styleQfw; } } } } //var dt = SQLHelper.GetDataTableRunText("exec sp_BigDepartEvaRate '" + startTime + "','" + endTime + "'", new SqlParameter[0]); //var subdt = SQLHelper.GetDataTableRunText("exec sp_DepartEvaRate '" + startTime + "','" + endTime + "'", new SqlParameter[0]); if (bigDepartEva.Rows.Count > 0) { for (int i = 0; i < bigDepartEva.Rows.Count; i++) { if (depRate.GetRow(i + 8) == null) depRate.CreateRow(i + 8); #region 列赋值 if (depRate.GetRow(i + 8).GetCell(0) == null) depRate.GetRow(i + 8).CreateCell(0); depRate.GetRow(i + 8).GetCell(0).SetCellValue(bigDepartEva.Rows[i]["DepartCode"].ToString().Replace("Z", "")); depRate.GetRow(i + 8).GetCell(0).CellStyle = styleQfw; if (depRate.GetRow(i + 8).GetCell(1) == null) depRate.GetRow(i + 8).CreateCell(1); depRate.GetRow(i + 8).GetCell(1).SetCellValue(!string.IsNullOrEmpty(bigDepartEva.Rows[i]["Rate"].ToString()) ? double.Parse(bigDepartEva.Rows[i]["Rate"].ToString()) : 0); depRate.GetRow(i + 8).GetCell(1).CellStyle = styleQfw; if ((int)((90 * (i + 1 + fnEvalNum + fnNoEvalNum + 2 * tbExtreNum + sesRelatedNum + overNum)) / totalNum) > percent) { percent = (int)(100 * (i + 1 + fnEvalNum + fnNoEvalNum + 2 * tbExtreNum + sesRelatedNum + overNum) / totalNum); } } #endregion } #endregion #region SubDepartEvaRate if (departEva.Rows.Count > 0) { for (int i = 0; i < departEva.Rows.Count; i++) { if (depRate.GetRow(8 + i) == null) depRate.CreateRow(8 + i); #region 列赋值 if (depRate.GetRow(8 + i).GetCell(10) == null) depRate.GetRow(8 + i).CreateCell(10); depRate.GetRow(i + 8).GetCell(10).SetCellValue(departEva.Rows[i]["DepartCode"].ToString().Replace("Z", "")); depRate.GetRow(i + 8).GetCell(10).CellStyle = styleQfw; if (depRate.GetRow(i + 8).GetCell(11) == null) depRate.GetRow(i + 8).CreateCell(11); depRate.GetRow(i + 8).GetCell(11).SetCellValue(!string.IsNullOrEmpty(departEva.Rows[i]["Rate"].ToString()) ? double.Parse(departEva.Rows[i]["Rate"].ToString()) : 0); depRate.GetRow(i + 8).GetCell(11).CellStyle = styleQfw; if ((int)((90 * (i + 1 + bigDepartEvaNum + fnNoEvalNum + 2 * tbExtreNum + sesRelatedNum + overNum)) / totalNum) > percent) { percent = (int)(100 * (i + 1 + bigDepartEvaNum + fnNoEvalNum + 2 * tbExtreNum + sesRelatedNum + overNum) / totalNum); } } #endregion } #endregion ws.ForceFormulaRecalculation = true; wsyear.ForceFormulaRecalculation = true; wsextre.ForceFormulaRecalculation = true; wsevalu.ForceFormulaRecalculation = true; evalUsers.ForceFormulaRecalculation = true; depRate.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 SafeyExport(SqlParameter[] overParList, SqlParameter[] yearToDateParList, List sesRelatedData, SqlParameter[] extScoreParList, List NoEvalUserList, List EvalUserList, SqlParameter[] bigDepartParList, SqlParameter[] departParList) { DataTable OverviewReport = SQLHelper.GetDataTableRunProc("FN_Safety_OverviewReport", overParList); DataTable tbExtre = SQLHelper.GetDataTableRunProc("FN_Safety_ExtremeScoresReport", extScoreParList); DataTable bigDepartEva = SQLHelper.GetDataTableRunProc("sp_Safety_BigDepartEvaRate", bigDepartParList); DataTable departEva = SQLHelper.GetDataTableRunProc("sp_Safety_DepartEvaRate", departParList); int overNum = OverviewReport.Rows.Count; int sesRelatedNum = sesRelatedData.Count(); int tbExtreNum = tbExtre.Rows.Count; int fnNoEvalNum = NoEvalUserList.Count(); int fnEvalNum = EvalUserList.Count(); int bigDepartEvaNum = bigDepartEva.Rows.Count; int departEvaNum = departEva.Rows.Count; int totalNum = overNum + sesRelatedNum + 2 * tbExtreNum + fnNoEvalNum + fnEvalNum + bigDepartEvaNum + departEvaNum; var sesDataTable = SQLHelper.GetDataTableRunProc("FN_Safety_YearToDateReport", yearToDateParList); var sesDataScore = JsonConvert.DeserializeObject>(JsonConvert.SerializeObject(sesDataTable)); #region string rootPath = Server.MapPath("~/") + Const.ExcelUrl; //模板文件 string TempletFileName = rootPath + "SafeyEvaluationReport.xlsx"; //导出文件 string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\"; if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } string ReportFileName = filePath + "EvaluationReport" + txtStartTime.Text + ".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 Overview XSSFSheet ws = (XSSFSheet)hssfworkbook.GetSheet("Overview当月绩效"); if (OverviewReport.Rows.Count > 0) { var rowIndex = 2; for (int i = 0; i < OverviewReport.Rows.Count; i++) { if (ws.GetRow(rowIndex) == null) ws.CreateRow(rowIndex); #region 列赋值 if (ws.GetRow(rowIndex).GetCell(0) == null) ws.GetRow(rowIndex).CreateCell(0); ws.GetRow(rowIndex).GetCell(0).SetCellValue(OverviewReport.Rows[i]["FO_NO"].ToString()); ws.GetRow(rowIndex).GetCell(0).CellStyle = fontStyle; if (ws.GetRow(rowIndex).GetCell(1) == null) ws.GetRow(rowIndex).CreateCell(1); ws.GetRow(rowIndex).GetCell(1).SetCellValue(OverviewReport.Rows[i]["Work_Description"].ToString()); ws.GetRow(rowIndex).GetCell(1).CellStyle = fontStyle; if (ws.GetRow(rowIndex).GetCell(2) == null) ws.GetRow(rowIndex).CreateCell(2); ws.GetRow(rowIndex).GetCell(2).SetCellValue(OverviewReport.Rows[i]["Contractor"].ToString()); ws.GetRow(rowIndex).GetCell(2).CellStyle = fontStyle; if (ws.GetRow(rowIndex).GetCell(3) == null) ws.GetRow(rowIndex).CreateCell(3); ws.GetRow(rowIndex).GetCell(3).SetCellValue(OverviewReport.Rows[i]["Main_Coordinator"].ToString()); ws.GetRow(rowIndex).GetCell(3).CellStyle = fontStyle; if (ws.GetRow(rowIndex).GetCell(4) == null) ws.GetRow(rowIndex).CreateCell(4); ws.GetRow(rowIndex).GetCell(4).SetCellValue(OverviewReport.Rows[i]["Total"] != null ? float.Parse(OverviewReport.Rows[i]["Total"].ToString()) : 0); ws.GetRow(rowIndex).GetCell(4).CellStyle = styleQfw1; if (ws.GetRow(rowIndex).GetCell(5) == null) ws.GetRow(rowIndex).CreateCell(5); ws.GetRow(rowIndex).GetCell(5).SetCellValue(!string.IsNullOrEmpty(OverviewReport.Rows[i]["Participation_Rate"].ToString()) ? OverviewReport.Rows[i]["Participation_Rate"].ToString() + "%" : "0"); ws.GetRow(rowIndex).GetCell(5).CellStyle = rateStyle; if (ws.GetRow(rowIndex).GetCell(6) == null) ws.GetRow(rowIndex).CreateCell(6); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["AvgEvaScore1"].ToString())) { ws.GetRow(rowIndex).GetCell(6).SetCellValue(float.Parse(OverviewReport.Rows[i]["AvgEvaScore1"].ToString())); ws.GetRow(rowIndex).GetCell(6).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(7) == null) ws.GetRow(rowIndex).CreateCell(7); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["EvaluateNum"].ToString())) { ws.GetRow(rowIndex).GetCell(7).SetCellValue(float.Parse(OverviewReport.Rows[i]["EvaluateNum"].ToString())); ws.GetRow(rowIndex).GetCell(7).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(8) == null) ws.GetRow(rowIndex).CreateCell(8); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["TotalAvgScore1"].ToString())) { ws.GetRow(rowIndex).GetCell(8).SetCellValue(float.Parse(OverviewReport.Rows[i]["TotalAvgScore1"].ToString())); ws.GetRow(rowIndex).GetCell(8).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(9) == null) ws.GetRow(rowIndex).CreateCell(9); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["UserNum"].ToString())) { ws.GetRow(rowIndex).GetCell(9).SetCellValue(float.Parse(OverviewReport.Rows[i]["UserNum"].ToString())); ws.GetRow(rowIndex).GetCell(9).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(10) == null) ws.GetRow(rowIndex).CreateCell(10); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["AvgEvaScore2"].ToString())) { ws.GetRow(rowIndex).GetCell(10).SetCellValue(float.Parse(OverviewReport.Rows[i]["AvgEvaScore2"].ToString())); ws.GetRow(rowIndex).GetCell(10).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(11) == null) ws.GetRow(rowIndex).CreateCell(11); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["EvaluateNum"].ToString())) { ws.GetRow(rowIndex).GetCell(11).SetCellValue(float.Parse(OverviewReport.Rows[i]["EvaluateNum"].ToString())); ws.GetRow(rowIndex).GetCell(11).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(12) == null) ws.GetRow(rowIndex).CreateCell(12); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["TotalAvgScore2"].ToString())) { ws.GetRow(rowIndex).GetCell(12).SetCellValue(float.Parse(OverviewReport.Rows[i]["TotalAvgScore2"].ToString())); ws.GetRow(rowIndex).GetCell(12).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(13) == null) ws.GetRow(rowIndex).CreateCell(13); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["UserNum"].ToString())) { ws.GetRow(rowIndex).GetCell(13).SetCellValue(float.Parse(OverviewReport.Rows[i]["UserNum"].ToString())); ws.GetRow(rowIndex).GetCell(13).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(14) == null) ws.GetRow(rowIndex).CreateCell(14); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["AvgEvaScore3"].ToString())) { ws.GetRow(rowIndex).GetCell(14).SetCellValue(float.Parse(OverviewReport.Rows[i]["AvgEvaScore3"].ToString())); ws.GetRow(rowIndex).GetCell(14).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(15) == null) ws.GetRow(rowIndex).CreateCell(15); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["EvaluateNum"].ToString())) { ws.GetRow(rowIndex).GetCell(15).SetCellValue(float.Parse(OverviewReport.Rows[i]["EvaluateNum"].ToString())); ws.GetRow(rowIndex).GetCell(15).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(16) == null) ws.GetRow(rowIndex).CreateCell(16); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["TotalAvgScore3"].ToString())) { ws.GetRow(rowIndex).GetCell(16).SetCellValue(float.Parse(OverviewReport.Rows[i]["TotalAvgScore3"].ToString())); ws.GetRow(rowIndex).GetCell(16).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(17) == null) ws.GetRow(rowIndex).CreateCell(17); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["UserNum"].ToString())) { ws.GetRow(rowIndex).GetCell(17).SetCellValue(float.Parse(OverviewReport.Rows[i]["UserNum"].ToString())); ws.GetRow(rowIndex).GetCell(17).CellStyle = styleQfw2; } // 删除质量 if (ws.GetRow(rowIndex).GetCell(18) == null) ws.GetRow(rowIndex).CreateCell(18); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["AvgEvaScore5"].ToString())) { ws.GetRow(rowIndex).GetCell(18).SetCellValue(float.Parse(OverviewReport.Rows[i]["AvgEvaScore5"].ToString())); ws.GetRow(rowIndex).GetCell(18).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(19) == null) ws.GetRow(rowIndex).CreateCell(19); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["EvaluateNum"].ToString())) { ws.GetRow(rowIndex).GetCell(19).SetCellValue(float.Parse(OverviewReport.Rows[i]["EvaluateNum"].ToString())); ws.GetRow(rowIndex).GetCell(19).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(20) == null) ws.GetRow(rowIndex).CreateCell(20); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["TotalAvgScore5"].ToString())) { ws.GetRow(rowIndex).GetCell(20).SetCellValue(float.Parse(OverviewReport.Rows[i]["TotalAvgScore5"].ToString())); ws.GetRow(rowIndex).GetCell(20).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(21) == null) ws.GetRow(rowIndex).CreateCell(21); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["UserNum"].ToString())) { ws.GetRow(rowIndex).GetCell(21).SetCellValue(float.Parse(OverviewReport.Rows[i]["UserNum"].ToString())); ws.GetRow(rowIndex).GetCell(21).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(22) == null) ws.GetRow(rowIndex).CreateCell(22); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["AvgEvaScore6"].ToString())) { ws.GetRow(rowIndex).GetCell(22).SetCellValue(float.Parse(OverviewReport.Rows[i]["AvgEvaScore6"].ToString())); ws.GetRow(rowIndex).GetCell(22).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(23) == null) ws.GetRow(rowIndex).CreateCell(23); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["EvaluateNum"].ToString())) { ws.GetRow(rowIndex).GetCell(23).SetCellValue(float.Parse(OverviewReport.Rows[i]["EvaluateNum"].ToString())); ws.GetRow(rowIndex).GetCell(23).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(24) == null) ws.GetRow(rowIndex).CreateCell(24); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["TotalAvgScore6"].ToString())) { ws.GetRow(rowIndex).GetCell(24).SetCellValue(float.Parse(OverviewReport.Rows[i]["TotalAvgScore6"].ToString())); ws.GetRow(rowIndex).GetCell(24).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(25) == null) ws.GetRow(rowIndex).CreateCell(25); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["UserNum"].ToString())) { ws.GetRow(rowIndex).GetCell(25).SetCellValue(float.Parse(OverviewReport.Rows[i]["UserNum"].ToString())); ws.GetRow(rowIndex).GetCell(25).CellStyle = styleQfw2; } if (ws.GetRow(rowIndex).GetCell(26) == null) ws.GetRow(rowIndex).CreateCell(26); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["TimelyAvgSocre"].ToString())) { ws.GetRow(rowIndex).GetCell(26).SetCellValue(float.Parse(OverviewReport.Rows[i]["TimelyAvgSocre"].ToString())); ws.GetRow(rowIndex).GetCell(26).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(27) == null) ws.GetRow(rowIndex).CreateCell(27); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["HonestyAvgScore"].ToString())) { ws.GetRow(rowIndex).GetCell(27).SetCellValue(float.Parse(OverviewReport.Rows[i]["HonestyAvgScore"].ToString())); ws.GetRow(rowIndex).GetCell(27).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(28) == null) ws.GetRow(rowIndex).CreateCell(28); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["CTSSAvgScore"].ToString())) { ws.GetRow(rowIndex).GetCell(28).SetCellValue(float.Parse(OverviewReport.Rows[i]["CTSSAvgScore"].ToString())); ws.GetRow(rowIndex).GetCell(28).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(29) == null) ws.GetRow(rowIndex).CreateCell(29); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["CTSCAvgScore"].ToString())) { ws.GetRow(rowIndex).GetCell(29).SetCellValue(float.Parse(OverviewReport.Rows[i]["CTSCAvgScore"].ToString())); ws.GetRow(rowIndex).GetCell(29).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(30) == null) ws.GetRow(rowIndex).CreateCell(30); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["MainCoordinatorAvgScore"].ToString())) { ws.GetRow(rowIndex).GetCell(30).SetCellValue(float.Parse(OverviewReport.Rows[i]["MainCoordinatorAvgScore"].ToString())); ws.GetRow(rowIndex).GetCell(30).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(31) == null) ws.GetRow(rowIndex).CreateCell(31); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["UserRepresentativeAvgScore"].ToString())) { ws.GetRow(rowIndex).GetCell(31).SetCellValue(float.Parse(OverviewReport.Rows[i]["UserRepresentativeAvgScore"].ToString())); ws.GetRow(rowIndex).GetCell(31).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(32) == null) ws.GetRow(rowIndex).CreateCell(32); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["CTSTAvgScore"].ToString())) { ws.GetRow(rowIndex).GetCell(32).SetCellValue(float.Parse(OverviewReport.Rows[i]["CTSTAvgScore"].ToString())); ws.GetRow(rowIndex).GetCell(32).CellStyle = styleQfw; } if (ws.GetRow(rowIndex).GetCell(33) == null) ws.GetRow(rowIndex).CreateCell(33); if (!string.IsNullOrEmpty(OverviewReport.Rows[i]["CTEDAvgScore"].ToString())) { ws.GetRow(rowIndex).GetCell(33).SetCellValue(float.Parse(OverviewReport.Rows[i]["CTEDAvgScore"].ToString())); ws.GetRow(rowIndex).GetCell(33).CellStyle = styleQfw; } #endregion if ((int)(90 * (rowIndex - 1) / totalNum) > percent) { percent = (int)(100 * (rowIndex - 1) / totalNum); } rowIndex++; } } #endregion #region Year_to_date Report var minData = DateTime.Parse(txtStartTime.Text + "-01").AddMonths(-25); var maxData = DateTime.Parse(txtStartTime.Text + "-13").AddMonths(-1); XSSFSheet wsyear = (XSSFSheet)hssfworkbook.GetSheet("Year_to_date Report近二年绩效"); if (sesRelatedData.Count > 0) { var colIndex = 0; var rowYearIndex = 1; foreach (var item in sesRelatedData) { if (wsyear.GetRow(rowYearIndex) == null) wsyear.CreateRow(rowYearIndex); #region 列赋值 if (wsyear.GetRow(rowYearIndex).GetCell(0) == null) wsyear.GetRow(rowYearIndex).CreateCell(0); wsyear.GetRow(rowYearIndex).GetCell(0).SetCellValue(item.FO_NO); wsyear.GetRow(rowYearIndex).GetCell(0).CellStyle = fontStyle; if (wsyear.GetRow(rowYearIndex).GetCell(1) == null) wsyear.GetRow(rowYearIndex).CreateCell(1); wsyear.GetRow(rowYearIndex).GetCell(1).SetCellValue(item.Discipline); wsyear.GetRow(rowYearIndex).GetCell(1).CellStyle = fontStyle; if (wsyear.GetRow(rowYearIndex).GetCell(2) == null) wsyear.GetRow(rowYearIndex).CreateCell(2); wsyear.GetRow(rowYearIndex).GetCell(2).SetCellValue(item.Contractor); wsyear.GetRow(rowYearIndex).GetCell(2).CellStyle = fontStyle; if (wsyear.GetRow(rowYearIndex).GetCell(3) == null) wsyear.GetRow(rowYearIndex).CreateCell(3); wsyear.GetRow(rowYearIndex).GetCell(3).SetCellValue(item.Contract_Admin); wsyear.GetRow(rowYearIndex).GetCell(3).CellStyle = fontStyle; if (wsyear.GetRow(rowYearIndex).GetCell(4) == null) wsyear.GetRow(rowYearIndex).CreateCell(4); wsyear.GetRow(rowYearIndex).GetCell(4).SetCellValue(item.Main_Coordinator); wsyear.GetRow(rowYearIndex).GetCell(4).CellStyle = fontStyle; var sesFoDataScore = sesDataScore.Where(p => p.FO_NO == item.FO_NO).ToList(); for (int j = 0; j < 25; j++) { var startData = DateTime.Parse("" + minData.Year + "-" + minData.Month + "-01").AddMonths(j); if (colIndex == 0) { if (wsyear.GetRow(0) == null) wsyear.CreateRow(0); if (wsyear.GetRow(0).GetCell(j + 5) == null) wsyear.GetRow(0).CreateCell(j + 5); wsyear.GetRow(0).GetCell(j + 5).SetCellValue(startData.ToString("yyyy-MM")); wsyear.GetRow(0).GetCell(j + 5).CellStyle = yearStyle; } if (wsyear.GetRow(rowYearIndex).GetCell(j + 5) == null) wsyear.GetRow(rowYearIndex).CreateCell(j + 5); if (sesFoDataScore.Count(p => p.dataMonth == startData.ToString("yyyy-MM")) > 0 && Funs.GetNewDecimal(sesFoDataScore.FirstOrDefault(p => p.dataMonth == startData.ToString("yyyy-MM")).SumScore) > 0) { var yearNums = float.Parse(sesFoDataScore.FirstOrDefault(p => p.dataMonth == startData.ToString("yyyy-MM")).SumScore).ToString("0.##"); wsyear.GetRow(rowYearIndex).GetCell(j + 5).SetCellValue(double.Parse(yearNums)); //如果小于60分,填充背景色为粉色 if (double.Parse(yearNums) > 0 && double.Parse(yearNums) < 60) { wsyear.GetRow(rowYearIndex).GetCell(j + 5).CellStyle = backgroundstyle; } else { wsyear.GetRow(rowYearIndex).GetCell(j + 5).CellStyle = fontStyle; } } else { wsyear.GetRow(rowYearIndex).GetCell(j + 5).SetCellValue("-"); wsyear.GetRow(rowYearIndex).GetCell(j + 5).CellStyle = fontStyle; } } #endregion if ((int)((90 * (rowYearIndex + overNum)) / totalNum) > percent) { percent = (int)(100 * (rowYearIndex + overNum) / totalNum); } rowYearIndex++; colIndex++; } } #endregion #region Extreme Scores //sTime = DateTime.Parse(txtStartTime.Text + "-01").AddMonths(1).ToString("yyyy-MM-dd"); //eTime = DateTime.Parse(txtStartTime.Text + "-12").AddMonths(1).ToString("yyyy-MM-dd"); XSSFSheet wsextre = (XSSFSheet)hssfworkbook.GetSheet("Extreme Scores极端分数"); var ExtremeScores = new List(); if (tbExtre.Rows.Count > 0) { for (int i = 0; i < tbExtre.Rows.Count; i++) { var examScore = new ExtremeScores(); examScore.NewGuid = tbExtre.Rows[i]["NewGuid"].ToString(); examScore.FO_NO = tbExtre.Rows[i]["FO_NO"].ToString(); examScore.Contractor = tbExtre.Rows[i]["Contractor"].ToString(); examScore.Work_Description = tbExtre.Rows[i]["Work_Description"].ToString(); examScore.User = tbExtre.Rows[i]["UserName"].ToString(); examScore.Contract_Admin = tbExtre.Rows[i]["Contract_Admin"].ToString(); examScore.DateIn = !string.IsNullOrEmpty(tbExtre.Rows[i]["DateIn"].ToString()) ? DateTime.Parse(tbExtre.Rows[i]["DateIn"].ToString()) : DateTime.Now; if (tbExtre.Rows[i]["Role"].ToString() == "User") { if (tbExtre.Rows[i]["Score1"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) >= 0) { examScore.TotalScore1 = tbExtre.Rows[i]["Score1"].ToString(); } } if (tbExtre.Rows[i]["Score2"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) >= 0) { examScore.TotalScore2 = tbExtre.Rows[i]["Score2"].ToString(); } } if (tbExtre.Rows[i]["Score3"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) >= 0) { examScore.TotalScore3 = tbExtre.Rows[i]["Score3"].ToString(); } } if (tbExtre.Rows[i]["Score5"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) >= 0) { examScore.TotalScore5 = tbExtre.Rows[i]["Score5"].ToString(); } } if (tbExtre.Rows[i]["Score6"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) >= 0) { examScore.TotalScore6 = tbExtre.Rows[i]["Score6"].ToString(); } } if (tbExtre.Rows[i]["Score7"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score7"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score7"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score7"]) >= 0) { examScore.TotalTimelyHonesty = tbExtre.Rows[i]["Score7"].ToString(); } } } else { if (tbExtre.Rows[i]["Score1"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) <= 3 || Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) == 15) && Convert.ToDecimal(tbExtre.Rows[i]["Score1"]) >= 0) { examScore.CTSSTotalScore = tbExtre.Rows[i]["Score1"].ToString(); } } if (tbExtre.Rows[i]["Score2"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score2"]) >= 0) { examScore.CTSCTotalScore = tbExtre.Rows[i]["Score2"].ToString(); } } if (tbExtre.Rows[i]["Score3"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) <= 2 || Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) == 10) && Convert.ToDecimal(tbExtre.Rows[i]["Score3"]) >= 0) { examScore.MainCoordinatorTotalScore = tbExtre.Rows[i]["Score3"].ToString(); } } if (tbExtre.Rows[i]["Score4"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) <= 3 || Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) == 15) && Convert.ToDecimal(tbExtre.Rows[i]["Score4"]) >= 0) { examScore.UserRepresentativeTotalScore = tbExtre.Rows[i]["Score4"].ToString(); } } if (tbExtre.Rows[i]["Score5"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score5"]) >= 0) { examScore.CTSTScore = tbExtre.Rows[i]["Score5"].ToString(); } } if (tbExtre.Rows[i]["Score6"].ToString() != "") { if ((Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) <= 1 || Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) == 5) && Convert.ToDecimal(tbExtre.Rows[i]["Score6"]) >= 0) { examScore.CTEDTotalScore = tbExtre.Rows[i]["Score6"].ToString(); } } } ExtremeScores.Add(examScore); if ((int)((90 * (i + 1 + sesRelatedNum + overNum)) / totalNum) > percent) { percent = (int)(100 * (i + 1 + sesRelatedNum + overNum) / totalNum); } } } if (ExtremeScores.Count > 0) { var rowExtrIndex = 2; foreach (var item in ExtremeScores) { if (wsextre.GetRow(rowExtrIndex) == null) wsextre.CreateRow(rowExtrIndex); #region 列赋值 if (wsextre.GetRow(rowExtrIndex).GetCell(0) == null) wsextre.GetRow(rowExtrIndex).CreateCell(0); wsextre.GetRow(rowExtrIndex).GetCell(0).SetCellValue(item.FO_NO); wsextre.GetRow(rowExtrIndex).GetCell(0).CellStyle = fontStyle; if (wsextre.GetRow(rowExtrIndex).GetCell(1) == null) wsextre.GetRow(rowExtrIndex).CreateCell(1); wsextre.GetRow(rowExtrIndex).GetCell(1).SetCellValue(item.Contractor); wsextre.GetRow(rowExtrIndex).GetCell(1).CellStyle = fontStyle; if (wsextre.GetRow(rowExtrIndex).GetCell(2) == null) wsextre.GetRow(rowExtrIndex).CreateCell(2); wsextre.GetRow(rowExtrIndex).GetCell(2).SetCellValue(item.Work_Description); wsextre.GetRow(rowExtrIndex).GetCell(2).CellStyle = fontStyle; if (wsextre.GetRow(rowExtrIndex).GetCell(3) == null) wsextre.GetRow(rowExtrIndex).CreateCell(3); wsextre.GetRow(rowExtrIndex).GetCell(3).SetCellValue(item.User); wsextre.GetRow(rowExtrIndex).GetCell(3).CellStyle = fontStyle; if (wsextre.GetRow(rowExtrIndex).GetCell(4) == null) wsextre.GetRow(rowExtrIndex).CreateCell(4); wsextre.GetRow(rowExtrIndex).GetCell(4).SetCellValue(item.Contract_Admin); wsextre.GetRow(rowExtrIndex).GetCell(4).CellStyle = fontStyle; if (wsextre.GetRow(rowExtrIndex).GetCell(5) == null) wsextre.GetRow(rowExtrIndex).CreateCell(5); if (!string.IsNullOrEmpty(item.TotalScore1)) { wsextre.GetRow(rowExtrIndex).GetCell(5).SetCellValue(float.Parse(item.TotalScore1)); wsextre.GetRow(rowExtrIndex).GetCell(5).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(6) == null) wsextre.GetRow(rowExtrIndex).CreateCell(6); if (!string.IsNullOrEmpty(item.TotalScore2)) { wsextre.GetRow(rowExtrIndex).GetCell(6).SetCellValue(float.Parse(item.TotalScore2)); wsextre.GetRow(rowExtrIndex).GetCell(6).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(7) == null) wsextre.GetRow(rowExtrIndex).CreateCell(7); if (!string.IsNullOrEmpty(item.TotalScore3)) { wsextre.GetRow(rowExtrIndex).GetCell(7).SetCellValue(float.Parse(item.TotalScore3)); wsextre.GetRow(rowExtrIndex).GetCell(7).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(8) == null) wsextre.GetRow(rowExtrIndex).CreateCell(8); if (!string.IsNullOrEmpty(item.TotalScore5)) { wsextre.GetRow(rowExtrIndex).GetCell(8).SetCellValue(float.Parse(item.TotalScore5)); wsextre.GetRow(rowExtrIndex).GetCell(8).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(9) == null) wsextre.GetRow(rowExtrIndex).CreateCell(9); if (!string.IsNullOrEmpty(item.TotalScore6)) { wsextre.GetRow(rowExtrIndex).GetCell(9).SetCellValue(float.Parse(item.TotalScore6)); wsextre.GetRow(rowExtrIndex).GetCell(9).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(10) == null) wsextre.GetRow(rowExtrIndex).CreateCell(10); if (!string.IsNullOrEmpty(item.TotalTimelyHonesty)) { wsextre.GetRow(rowExtrIndex).GetCell(10).SetCellValue(""); wsextre.GetRow(rowExtrIndex).GetCell(10).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(11) == null) wsextre.GetRow(rowExtrIndex).CreateCell(11); if (!string.IsNullOrEmpty(item.CTSSTotalScore)) { wsextre.GetRow(rowExtrIndex).GetCell(11).SetCellValue(float.Parse(item.CTSSTotalScore)); wsextre.GetRow(rowExtrIndex).GetCell(11).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(12) == null) wsextre.GetRow(rowExtrIndex).CreateCell(12); if (!string.IsNullOrEmpty(item.CTSSTotalScore)) { wsextre.GetRow(rowExtrIndex).GetCell(12).SetCellValue(float.Parse(item.CTSSTotalScore)); wsextre.GetRow(rowExtrIndex).GetCell(12).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(13) == null) wsextre.GetRow(rowExtrIndex).CreateCell(13); if (!string.IsNullOrEmpty(item.MainCoordinatorTotalScore)) { wsextre.GetRow(rowExtrIndex).GetCell(13).SetCellValue(float.Parse(item.MainCoordinatorTotalScore)); wsextre.GetRow(rowExtrIndex).GetCell(13).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(14) == null) wsextre.GetRow(rowExtrIndex).CreateCell(14); if (!string.IsNullOrEmpty(item.UserRepresentativeTotalScore)) { wsextre.GetRow(rowExtrIndex).GetCell(14).SetCellValue(float.Parse(item.UserRepresentativeTotalScore)); wsextre.GetRow(rowExtrIndex).GetCell(14).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(15) == null) wsextre.GetRow(rowExtrIndex).CreateCell(15); if (!string.IsNullOrEmpty(item.CTSTScore)) { wsextre.GetRow(rowExtrIndex).GetCell(15).SetCellValue(float.Parse(item.CTSTScore)); wsextre.GetRow(rowExtrIndex).GetCell(15).CellStyle = fontStyle; } if (wsextre.GetRow(rowExtrIndex).GetCell(16) == null) wsextre.GetRow(rowExtrIndex).CreateCell(16); if (!string.IsNullOrEmpty(item.CTEDTotalScore)) { wsextre.GetRow(rowExtrIndex).GetCell(16).SetCellValue(float.Parse(item.CTEDTotalScore)); wsextre.GetRow(rowExtrIndex).GetCell(16).CellStyle = fontStyle; } #endregion if ((int)((90 * (rowExtrIndex - 1 + tbExtreNum + sesRelatedNum + overNum)) / totalNum) > percent) { percent = (int)(100 * (rowExtrIndex - 1 + tbExtreNum + sesRelatedNum + overNum) / totalNum); } rowExtrIndex++; } } #endregion #region NO Evaluation Users XSSFSheet wsevalu = (XSSFSheet)hssfworkbook.GetSheet("NO Evaluation Users未评人员"); if (NoEvalUserList.Count > 0) { var rowEvalIndex = 1; foreach (var item in NoEvalUserList) { 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.UserName); 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.Evaluate_UserName); 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.isEvaluate); 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.RoleName); 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.DepartName); wsevalu.GetRow(rowEvalIndex).GetCell(4).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(rowEvalIndex).GetCell(5 + findex) == null) wsevalu.GetRow(rowEvalIndex).CreateCell(5 + findex); wsevalu.GetRow(rowEvalIndex).GetCell(5 + findex).SetCellValue(itemFoNo); wsevalu.GetRow(rowEvalIndex).GetCell(5 + 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 + 2 * tbExtreNum + sesRelatedNum + overNum)) / totalNum) > percent) { percent = (int)(100 * (rowEvalIndex + 2 * tbExtreNum + sesRelatedNum + overNum) / totalNum); } rowEvalIndex++; } } #endregion #region Evaluation Users XSSFSheet evalUsers = (XSSFSheet)hssfworkbook.GetSheet("Evaluation Users已评人员"); if (EvalUserList.Count > 0) { var rowEvalIndex = 1; foreach (var item in EvalUserList) { if (evalUsers.GetRow(rowEvalIndex) == null) evalUsers.CreateRow(rowEvalIndex); #region 列赋值 if (evalUsers.GetRow(rowEvalIndex).GetCell(0) == null) evalUsers.GetRow(rowEvalIndex).CreateCell(0); evalUsers.GetRow(rowEvalIndex).GetCell(0).SetCellValue(item.UserName); evalUsers.GetRow(rowEvalIndex).GetCell(0).CellStyle = fontStyle; if (evalUsers.GetRow(rowEvalIndex).GetCell(1) == null) evalUsers.GetRow(rowEvalIndex).CreateCell(1); evalUsers.GetRow(rowEvalIndex).GetCell(1).SetCellValue(item.Evaluate_UserName); evalUsers.GetRow(rowEvalIndex).GetCell(1).CellStyle = fontStyle; if (evalUsers.GetRow(rowEvalIndex).GetCell(2) == null) evalUsers.GetRow(rowEvalIndex).CreateCell(2); evalUsers.GetRow(rowEvalIndex).GetCell(2).SetCellValue(item.isEvaluate); evalUsers.GetRow(rowEvalIndex).GetCell(2).CellStyle = fontStyle; if (evalUsers.GetRow(rowEvalIndex).GetCell(3) == null) evalUsers.GetRow(rowEvalIndex).CreateCell(3); evalUsers.GetRow(rowEvalIndex).GetCell(3).SetCellValue(item.RoleName); evalUsers.GetRow(rowEvalIndex).GetCell(3).CellStyle = fontStyle; if (evalUsers.GetRow(rowEvalIndex).GetCell(4) == null) evalUsers.GetRow(rowEvalIndex).CreateCell(4); evalUsers.GetRow(rowEvalIndex).GetCell(4).SetCellValue(item.DepartName); evalUsers.GetRow(rowEvalIndex).GetCell(4).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 (evalUsers.GetRow(rowEvalIndex).GetCell(5 + findex) == null) evalUsers.GetRow(rowEvalIndex).CreateCell(5 + findex); evalUsers.GetRow(rowEvalIndex).GetCell(5 + findex).SetCellValue(itemFoNo); evalUsers.GetRow(rowEvalIndex).GetCell(5 + findex).CellStyle = fontStyle; } else { FoNoTxt += string.IsNullOrEmpty(FoNoTxt) ? itemFoNo : "," + itemFoNo; } findex++; } if (!string.IsNullOrEmpty(FoNoTxt)) { if (evalUsers.GetRow(rowEvalIndex).GetCell(255) == null) evalUsers.GetRow(rowEvalIndex).CreateCell(255); evalUsers.GetRow(rowEvalIndex).GetCell(255).SetCellValue(FoNoTxt); evalUsers.GetRow(rowEvalIndex).GetCell(255).CellStyle = fontStyle; } } #endregion if ((int)((90 * (rowEvalIndex + fnNoEvalNum + 2 * tbExtreNum + sesRelatedNum + overNum)) / totalNum) > percent) { percent = (int)(100 * (rowEvalIndex + fnNoEvalNum + 2 * tbExtreNum + sesRelatedNum + overNum) / totalNum); } rowEvalIndex++; } } #endregion #region Dep Participation Rate部门参与率 var startTime = DateTime.Parse(txtStartTime.Text + "-01").AddMonths(1).ToString("yyyy-MM-dd"); var endTime = DateTime.Parse(txtStartTime.Text + "-13").AddMonths(1).ToString("yyyy-MM-dd"); DateTime start = DateTime.Parse((DateTime.Parse(txtStartTime.Text + "-01").Year).ToString() + "-01-01"); DateTime end = start.AddDays(12); string year = start.Year.ToString(); XSSFSheet depRate = (XSSFSheet)hssfworkbook.GetSheet("Dep Participation Rate部门参与率"); // 增加月份表头 for (int j = 0; j < 12; j++) { if (depRate.GetRow(0) == null) depRate.CreateRow(0); if (depRate.GetRow(0).GetCell(2 + j) == null) depRate.GetRow(0).CreateCell(2 + j); depRate.GetRow(0).GetCell(2 + j).SetCellValue(year + "-" + start.AddMonths(j).Month); depRate.GetRow(0).GetCell(2 + j).CellStyle = yearStyle; } if (depRate.GetRow(1) == null) depRate.CreateRow(1); if (depRate.GetRow(2) == null) depRate.CreateRow(2); if (depRate.GetRow(3) == null) depRate.CreateRow(3); if (depRate.GetRow(4) == null) depRate.CreateRow(4); if (depRate.GetRow(5) == null) depRate.CreateRow(5); for (int j = 0; j < 13; j++) { if (j == 0) { var dt1 = SQLHelper.GetDataTableRunText("exec sp_Safety_BigDepartEvaRate '" + start.AddMonths(1) + "','" + start.AddYears(1).AddMonths(1) + "'", new SqlParameter[0]); if (dt1.Rows.Count > 0) { for (int i = 0; i < dt1.Rows.Count; i++) { if (depRate.GetRow(i + 1).GetCell(j) == null) depRate.GetRow(i + 1).CreateCell(j); depRate.GetRow(i + 1).GetCell(j).SetCellValue(dt1.Rows[i]["DepartCode"].ToString().Replace("Z", "")); depRate.GetRow(i + 1).GetCell(j).CellStyle = styleQfw; if (depRate.GetRow(i + 1).GetCell(j + 1) == null) depRate.GetRow(i + 1).CreateCell(j + 1); depRate.GetRow(i + 1).GetCell(j + 1).SetCellValue(!string.IsNullOrEmpty(dt1.Rows[i]["Rate"].ToString()) ? double.Parse(dt1.Rows[i]["Rate"].ToString()) : 0); depRate.GetRow(i + 1).GetCell(j + 1).CellStyle = styleQfw; } } } else { var startData = start.AddMonths(j); var endData = end.AddMonths(j); var dt2 = SQLHelper.GetDataTableRunText("exec sp_Safety_BigDepartEvaRate '" + startData + "','" + endData + "'", new SqlParameter[0]); if (dt2.Rows.Count > 0) { for (int i = 0; i < dt2.Rows.Count; i++) { if (depRate.GetRow(i + 1).GetCell(j + 1) == null) depRate.GetRow(i + 1).CreateCell(j + 1); depRate.GetRow(i + 1).GetCell(j + 1).SetCellValue(!string.IsNullOrEmpty(dt2.Rows[i]["Rate"].ToString()) ? double.Parse(dt2.Rows[i]["Rate"].ToString()) : 0); depRate.GetRow(i + 1).GetCell(j + 1).CellStyle = styleQfw; } } } } //var dt = SQLHelper.GetDataTableRunText("exec sp_BigDepartEvaRate '" + startTime + "','" + endTime + "'", new SqlParameter[0]); //var subdt = SQLHelper.GetDataTableRunText("exec sp_DepartEvaRate '" + startTime + "','" + endTime + "'", new SqlParameter[0]); if (bigDepartEva.Rows.Count > 0) { for (int i = 0; i < bigDepartEva.Rows.Count; i++) { if (depRate.GetRow(i + 8) == null) depRate.CreateRow(i + 8); #region 列赋值 if (depRate.GetRow(i + 8).GetCell(0) == null) depRate.GetRow(i + 8).CreateCell(0); depRate.GetRow(i + 8).GetCell(0).SetCellValue(bigDepartEva.Rows[i]["DepartCode"].ToString().Replace("Z", "")); depRate.GetRow(i + 8).GetCell(0).CellStyle = styleQfw; if (depRate.GetRow(i + 8).GetCell(1) == null) depRate.GetRow(i + 8).CreateCell(1); depRate.GetRow(i + 8).GetCell(1).SetCellValue(!string.IsNullOrEmpty(bigDepartEva.Rows[i]["Rate"].ToString()) ? double.Parse(bigDepartEva.Rows[i]["Rate"].ToString()) : 0); depRate.GetRow(i + 8).GetCell(1).CellStyle = styleQfw; if ((int)((90 * (i + 1 + fnEvalNum + fnNoEvalNum + 2 * tbExtreNum + sesRelatedNum + overNum)) / totalNum) > percent) { percent = (int)(100 * (i + 1 + fnEvalNum + fnNoEvalNum + 2 * tbExtreNum + sesRelatedNum + overNum) / totalNum); } } #endregion } #endregion #region SubDepartEvaRate if (departEva.Rows.Count > 0) { for (int i = 0; i < departEva.Rows.Count; i++) { if (depRate.GetRow(8 + i) == null) depRate.CreateRow(8 + i); #region 列赋值 if (depRate.GetRow(8 + i).GetCell(10) == null) depRate.GetRow(8 + i).CreateCell(10); depRate.GetRow(i + 8).GetCell(10).SetCellValue(departEva.Rows[i]["DepartCode"].ToString().Replace("Z", "")); depRate.GetRow(i + 8).GetCell(10).CellStyle = styleQfw; if (depRate.GetRow(i + 8).GetCell(11) == null) depRate.GetRow(i + 8).CreateCell(11); depRate.GetRow(i + 8).GetCell(11).SetCellValue(!string.IsNullOrEmpty(departEva.Rows[i]["Rate"].ToString()) ? double.Parse(departEva.Rows[i]["Rate"].ToString()) : 0); depRate.GetRow(i + 8).GetCell(11).CellStyle = styleQfw; if ((int)((90 * (i + 1 + bigDepartEvaNum + fnNoEvalNum + 2 * tbExtreNum + sesRelatedNum + overNum)) / totalNum) > percent) { percent = (int)(100 * (i + 1 + bigDepartEvaNum + fnNoEvalNum + 2 * tbExtreNum + sesRelatedNum + overNum) / totalNum); } } #endregion } #endregion ws.ForceFormulaRecalculation = true; wsyear.ForceFormulaRecalculation = true; wsextre.ForceFormulaRecalculation = true; wsevalu.ForceFormulaRecalculation = true; evalUsers.ForceFormulaRecalculation = true; depRate.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 } #endregion // 导出分数 protected void btnExportScore_Click(object sender, EventArgs e) { if (drpContractNo.SelectedValue == Const._Null) { Alert.ShowInTop("Please select Contract No.!", MessageBoxIcon.Warning); return; } string rootPath = Server.MapPath("~/") + Const.ExcelUrl; //模板文件 string TempletFileName = rootPath + "FC_Score.xlsx"; //导出文件 string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\"; if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } string ReportFileName = filePath + "out.xlsx"; FileStream file = new FileStream(TempletFileName, FileMode.Open, FileAccess.Read); XSSFWorkbook hssfworkbook = new XSSFWorkbook(file); #region FC_Score IDataFormat dataformat = hssfworkbook.CreateDataFormat(); ICellStyle styleQfw = hssfworkbook.CreateCellStyle(); styleQfw.DataFormat = dataformat.GetFormat("#,##0.00"); ICellStyle styleDate = hssfworkbook.CreateCellStyle(); styleDate.DataFormat = dataformat.GetFormat("yyyy/m/d"); XSSFFont cs_content_Font = (XSSFFont)hssfworkbook.CreateFont(); //创建字体 cs_content_Font.FontName = "sans-serif";//字体 cs_content_Font.FontHeightInPoints = 10; //字体大小 #region XSSFSheet userSheet = (XSSFSheet)hssfworkbook.GetSheet("User"); var list = (from x in Funs.DB.FC_Score where x.Contract_No==drpContractNo.SelectedValue && x.Role=="User" orderby x.DateIn descending select x).ToList(); if (list.Count > 0) { var rowIndex = 1; foreach (var item in list) { if (userSheet.GetRow(rowIndex) == null) userSheet.CreateRow(rowIndex); #region 列赋值 //Contract_No if (userSheet.GetRow(rowIndex).GetCell(0) == null) userSheet.GetRow(rowIndex).CreateCell(0); userSheet.GetRow(rowIndex).GetCell(0).SetCellValue(item.Contract_No); userSheet.GetRow(rowIndex).GetCell(0).CellStyle.SetFont(cs_content_Font);//将字体绑定到样式 //UserName if (userSheet.GetRow(rowIndex).GetCell(1) == null) userSheet.GetRow(rowIndex).CreateCell(1); userSheet.GetRow(rowIndex).GetCell(1).SetCellValue(item.UserName); //DateIn if (userSheet.GetRow(rowIndex).GetCell(2) == null) userSheet.GetRow(rowIndex).CreateCell(2); if (item.DateIn.HasValue) { userSheet.GetRow(rowIndex).GetCell(2).SetCellValue((DateTime)item.DateIn.Value); // string.Format("{0:yyyy/MM/dd}", itemOver.Expire_Date) userSheet.GetRow(rowIndex).GetCell(2).CellStyle = styleDate; } //Score1 if (userSheet.GetRow(rowIndex).GetCell(3) == null) userSheet.GetRow(rowIndex).CreateCell(3); if (item.Score1.HasValue) { if (item.Score1 != (decimal)-0.01) { userSheet.GetRow(rowIndex).GetCell(3).SetCellValue((double)item.Score1.Value); } else { userSheet.GetRow(rowIndex).GetCell(3).SetCellValue(""); } } //Score2 if (userSheet.GetRow(rowIndex).GetCell(4) == null) userSheet.GetRow(rowIndex).CreateCell(4); if (item.Score2.HasValue) { if (item.Score2 != (decimal)-0.01) { userSheet.GetRow(rowIndex).GetCell(4).SetCellValue((double)item.Score2.Value); } else { userSheet.GetRow(rowIndex).GetCell(4).SetCellValue(""); } } //Score3 if (userSheet.GetRow(rowIndex).GetCell(5) == null) userSheet.GetRow(rowIndex).CreateCell(5); if (item.Score3.HasValue) { if (item.Score3 != (decimal)-0.01) { userSheet.GetRow(rowIndex).GetCell(5).SetCellValue((double)item.Score3.Value); } else { userSheet.GetRow(rowIndex).GetCell(5).SetCellValue(""); } } //Score4 if (userSheet.GetRow(rowIndex).GetCell(6) == null) userSheet.GetRow(rowIndex).CreateCell(6); if (item.Score4.HasValue) { if (item.Score4 != (decimal)-0.01) { userSheet.GetRow(rowIndex).GetCell(6).SetCellValue((double)item.Score4.Value); } else { userSheet.GetRow(rowIndex).GetCell(6).SetCellValue(""); } } //Score5 if (userSheet.GetRow(rowIndex).GetCell(7) == null) userSheet.GetRow(rowIndex).CreateCell(7); if (item.Score5.HasValue) { if (item.Score5 != (decimal)-0.01) { userSheet.GetRow(rowIndex).GetCell(7).SetCellValue((double)item.Score5.Value); } else { userSheet.GetRow(rowIndex).GetCell(7).SetCellValue(""); } } //Score6 if (userSheet.GetRow(rowIndex).GetCell(8) == null) userSheet.GetRow(rowIndex).CreateCell(8); if (item.Score6.HasValue) { if (item.Score6 != (decimal)-0.01) { userSheet.GetRow(rowIndex).GetCell(8).SetCellValue((double)item.Score6.Value); } else { userSheet.GetRow(rowIndex).GetCell(8).SetCellValue(""); } } if (userSheet.GetRow(rowIndex).GetCell(9) == null) userSheet.GetRow(rowIndex).CreateCell(9); if (item.Timely.HasValue) { userSheet.GetRow(rowIndex).GetCell(9).SetCellValue((double)item.Timely.Value); } else { userSheet.GetRow(rowIndex).GetCell(9).SetCellValue(""); } if (userSheet.GetRow(rowIndex).GetCell(10) == null) userSheet.GetRow(rowIndex).CreateCell(10); if (item.Honesty.HasValue) { userSheet.GetRow(rowIndex).GetCell(10).SetCellValue((double)item.Honesty.Value); } else { userSheet.GetRow(rowIndex).GetCell(10).SetCellValue(""); } //Remark if (userSheet.GetRow(rowIndex).GetCell(11) == null) userSheet.GetRow(rowIndex).CreateCell(11); userSheet.GetRow(rowIndex).GetCell(11).SetCellValue(item.Remark); #endregion rowIndex++; } } #endregion #region XSSFSheet depSheet = (XSSFSheet)hssfworkbook.GetSheet("Depart"); var deplist = (from x in Funs.DB.FC_Score where x.Contract_No == drpContractNo.SelectedValue && x.Role == "Dep" orderby x.DateIn descending select x).ToList(); if (list.Count > 0) { var rowIndex = 1; foreach (var item in deplist) { if (depSheet.GetRow(rowIndex) == null) depSheet.CreateRow(rowIndex); #region 列赋值 //Contract_No if (depSheet.GetRow(rowIndex).GetCell(0) == null) depSheet.GetRow(rowIndex).CreateCell(0); depSheet.GetRow(rowIndex).GetCell(0).SetCellValue(item.Contract_No); depSheet.GetRow(rowIndex).GetCell(0).CellStyle.SetFont(cs_content_Font);//将字体绑定到样式 //UserName if (depSheet.GetRow(rowIndex).GetCell(1) == null) depSheet.GetRow(rowIndex).CreateCell(1); depSheet.GetRow(rowIndex).GetCell(1).SetCellValue(item.UserName); //DateIn if (depSheet.GetRow(rowIndex).GetCell(2) == null) depSheet.GetRow(rowIndex).CreateCell(2); if (item.DateIn.HasValue) { depSheet.GetRow(rowIndex).GetCell(2).SetCellValue((DateTime)item.DateIn.Value); // string.Format("{0:yyyy/MM/dd}", itemOver.Expire_Date) depSheet.GetRow(rowIndex).GetCell(2).CellStyle = styleDate; } //Score1 if (depSheet.GetRow(rowIndex).GetCell(3) == null) depSheet.GetRow(rowIndex).CreateCell(3); if (item.Score1.HasValue) { if (item.Score1 != (decimal)-0.01) { depSheet.GetRow(rowIndex).GetCell(3).SetCellValue((double)item.Score1.Value); } else { depSheet.GetRow(rowIndex).GetCell(3).SetCellValue(""); } } //Score2 if (depSheet.GetRow(rowIndex).GetCell(4) == null) depSheet.GetRow(rowIndex).CreateCell(4); if (item.Score2.HasValue) { if (item.Score2 != (decimal)-0.01) { depSheet.GetRow(rowIndex).GetCell(4).SetCellValue((double)item.Score2.Value); } else { depSheet.GetRow(rowIndex).GetCell(4).SetCellValue(""); } } //Score3 if (depSheet.GetRow(rowIndex).GetCell(5) == null) depSheet.GetRow(rowIndex).CreateCell(5); if (item.Score3.HasValue) { if (item.Score3 != (decimal)-0.01) { depSheet.GetRow(rowIndex).GetCell(5).SetCellValue((double)item.Score3.Value); } else { depSheet.GetRow(rowIndex).GetCell(5).SetCellValue(""); } } //Score4 if (depSheet.GetRow(rowIndex).GetCell(6) == null) depSheet.GetRow(rowIndex).CreateCell(6); if (item.Score4.HasValue) { if (item.Score4 != (decimal)-0.01) { depSheet.GetRow(rowIndex).GetCell(6).SetCellValue((double)item.Score4.Value); } else { depSheet.GetRow(rowIndex).GetCell(6).SetCellValue(""); } } //Score5 if (depSheet.GetRow(rowIndex).GetCell(7) == null) depSheet.GetRow(rowIndex).CreateCell(7); if (item.Score5.HasValue) { if (item.Score5 != (decimal)-0.01) { depSheet.GetRow(rowIndex).GetCell(7).SetCellValue((double)item.Score5.Value); } else { depSheet.GetRow(rowIndex).GetCell(7).SetCellValue(""); } } //Score6 if (depSheet.GetRow(rowIndex).GetCell(8) == null) depSheet.GetRow(rowIndex).CreateCell(8); if (item.Score6.HasValue) { if (item.Score6 != (decimal)-0.01) { depSheet.GetRow(rowIndex).GetCell(8).SetCellValue((double)item.Score6.Value); } else { depSheet.GetRow(rowIndex).GetCell(8).SetCellValue(""); } } //Remark if (depSheet.GetRow(rowIndex).GetCell(9) == null) depSheet.GetRow(rowIndex).CreateCell(9); depSheet.GetRow(rowIndex).GetCell(9).SetCellValue(item.Remark); #endregion rowIndex++; } } #endregion #endregion userSheet.ForceFormulaRecalculation = true; depSheet.ForceFormulaRecalculation = true; using (FileStream filess = File.OpenWrite(ReportFileName)) { hssfworkbook.Write(filess); } FileInfo filet = new FileInfo(ReportFileName); Response.Clear(); Response.Charset = "GB2312"; Response.ContentEncoding = System.Text.Encoding.UTF8; // 添加头信息,为"文件下载/另存为"对话框指定默认文件名 Response.AddHeader("Content-Disposition", "attachment; filename=FC_List" + Server.UrlEncode(DateTime.Now.ToString("yyyyMMddhhmmss") + ".xlsx")); // 添加头信息,指定文件大小,让浏览器能够显示下载进度 Response.AddHeader("Content-Length", filet.Length.ToString()); // 指定返回的是一个不能被客户端读取的流,必须被下载 Response.ContentType = "application/ms-excel"; // 把文件流发送到客户端 Response.WriteFile(filet.FullName); // 停止页面的执行 Response.End(); } #region 搜索 /// /// 搜索 /// /// /// protected void btnSubmit_Click(object sender, EventArgs e) { if (TabStrip1.ActiveTabIndex == 0) { BindGrid1(); } else if (TabStrip1.ActiveTabIndex == 1) { Session.Remove(GRID_TIME); var time = Session[GRID_TIME] as List; if (time == null) time = new List(); var minData = DateTime.Parse(txtStartTime.Text + "-01").AddMonths(-25); var maxData = DateTime.Parse(txtStartTime.Text + "-12").AddMonths(-1); time.Add(txtStartTime.Text.Trim()); Session[GRID_TIME] = time; Session.Remove(GRID_IsSpecial); var isSpecial = Session[GRID_IsSpecial] as List; if (isSpecial == null) isSpecial = new List(); isSpecial.Add(drpIsSpecial.SelectedValue); Session[GRID_IsSpecial] = isSpecial; Session.Remove(GRID_COLUMN_HEADER); var headers = Session[GRID_COLUMN_HEADER] as List; if (headers == null) headers = new List(); //var Month = ((maxData.Year - minData.Year) * 12 + (maxData.Month - minData.Month)) == 0 ? 1 : (maxData.Year - minData.Year) * 12 + (maxData.Month - minData.Month + 1); var columnKey = new List(); for (int i = 0; i < 25; i++) { var startData = DateTime.Parse("" + minData.Year + "-" + minData.Month + "-01").AddMonths(i); //动态列 headers.Add(startData.ToString("yyyy-MM")); } Session[GRID_COLUMN_HEADER] = headers; PageContext.Redirect(FetchRefreshUrl()); } else if (TabStrip1.ActiveTabIndex == 2) { BindGrid3(); } else if (TabStrip1.ActiveTabIndex == 3) { BindGrid4(); } } #endregion #region 所需实体 /// /// 实体 /// public class YearToDateModel { public string FO_NO { get; set; } = string.Empty; public string Contract_Title { get; set; } = string.Empty; public string Contractor { get; set; } = string.Empty; public string Contract_Admin { get; set; } = string.Empty; public string Main_Coordinator { get; set; } = string.Empty; public string dataMonth { get; set; } = string.Empty; public string SumScore { get; set; } = string.Empty; } public class ExtremeScores { public string NewGuid { get; set; } = string.Empty; public string FO_NO { get; set; } = string.Empty; public string Contractor { get; set; } = string.Empty; public string Work_Description { get; set; } = string.Empty; public string User { get; set; } = string.Empty; public string Contract_Admin { get; set; } = string.Empty; public string TotalScore1 { get; set; } = string.Empty; public string TotalScore2 { get; set; } = string.Empty; public string TotalScore3 { get; set; } = string.Empty; public string TotalScore4 { get; set; } = string.Empty; public string TotalScore5 { get; set; } = string.Empty; public string TotalScore6 { get; set; } = string.Empty; public string TotalTimelyHonesty { get; set; } = string.Empty; public string CTSSTotalScore { get; set; } = string.Empty; public string CTSCTotalScore { get; set; } = string.Empty; public string MainCoordinatorTotalScore { get; set; } = string.Empty; public string UserRepresentativeTotalScore { get; set; } = string.Empty; public string CTSTScore { get; set; } = string.Empty; public string CTEDTotalScore { get; set; } = string.Empty; public DateTime DateIn { get; set; } = DateTime.Now; } public class NoEvaluationUsers { public string FoGuid { 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; public int coIndex { get; set; } = 0; public List lsContract_No { get; set; } = new List(); } #endregion #region 取得某月的最后一天 /// /// 取得某月的最后一天 /// /// 要取得月份最后一天的时间 /// private DateTime LastDayOfMonth(DateTime datetime) { return datetime.AddDays(1 - datetime.Day).AddMonths(1).AddDays(-1); } #endregion #region 权限设置 /// /// 菜单按钮权限 /// private void GetButtonPower() { var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.UserId, BLL.Const.EvaluationReportMenuId); if (buttonList.Count() > 0) { if (buttonList.Contains(BLL.Const.BtnOutScore)) { this.btnExportScore.Hidden = false; drpContractNo.Hidden = false; } else { drpContractNo.Hidden = true; } } } #endregion } }