Basf_FCL/FCL/FineUIPro.Web/Evaluation/EvaluationReport.aspx.cs

4520 lines
264 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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<string>;
var isSpecial = Session[GRID_IsSpecial] as List<string>;
txtStartTime.Text = time[0];
drpIsSpecial.SelectedValue = isSpecial[0];
//txtEndTime.Text = time[1];
TabStrip1.ActiveTabIndex = 1;
BindGrid2();
}
}
}
#region
#region Grid1
/// <summary>
/// 绑定Grid1(Overview)
/// </summary>
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 = "工作准备<br/>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 = "人力资源<br/>Resource";
Grid1.Columns[9].Hidden = true;
}
}
protected void drpIsSpecial_OnSelectedIndexChanged(object sender, EventArgs e)
{
BindGrid1();
}
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid1();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid1();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid1();
}
#endregion
#region Grid2
/// <summary>
/// 连接
/// </summary>
/// <returns></returns>
private String FetchRefreshUrl()
{
string url = "EvaluationReport.aspx";
url += "?" + UPDATE_HEADER + "=TRUE";
return url;
}
/// <summary>
/// 动态表头
/// </summary>
private void InitGrid()
{
var bf = new BoundField();
var headers = Session[GRID_COLUMN_HEADER] as List<string>;
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<string>();
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<string>;//GRID_IsSpecial
var isSpecial = Session[GRID_IsSpecial] as List<string>;
txtStartTime.Text = time == null ? DateTime.Now.ToString("yyyy-MM-dd") : time[0];
drpIsSpecial.SelectedValue = isSpecial == null ? "0" : isSpecial[0];
InitGrid();
}
/// <summary>
/// 绑定Grid2(Year_to_date Report)
/// </summary>
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<Model.View_FC_SESRelatedData> 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<List<YearToDateModel>>(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();
}
/// <summary>
/// 分页
/// </summary>
protected void Grid2_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid2.PageIndex = e.NewPageIndex;
BindGrid2();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
protected void ddlPageSize2_SelectedIndexChanged(object sender, EventArgs e)
{
Grid2.PageSize = Convert.ToInt32(ddlPageSize2.SelectedValue);
BindGrid2();
}
/// <summary>
/// 排序
/// </summary>
protected void Grid2_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid2.SortDirection = e.SortDirection;
Grid2.SortField = e.SortField;
BindGrid2();
}
#endregion
#region Grid3
/// <summary>
/// 绑定Grid3(Extreme Scores)
/// </summary>
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<ExtremeScores>();
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();
}
/// <summary>
/// 分页
/// </summary>
protected void Grid3_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid3.PageIndex = e.NewPageIndex;
BindGrid3();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
protected void ddlPageSize3_SelectedIndexChanged(object sender, EventArgs e)
{
Grid3.PageSize = Convert.ToInt32(ddlPageSize3.SelectedValue);
BindGrid3();
}
/// <summary>
/// 排序
/// </summary>
protected void Grid3_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid3.SortDirection = e.SortDirection;
Grid3.SortField = e.SortField;
BindGrid3();
}
#endregion
#region Grid4
/// <summary>
/// 绑定Grid4(NO Evaluation Users)
/// </summary>
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<NoEvaluationUsers>();
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<List<NoEvaluationUsers>>(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();
}
/// <summary>
/// 分页
/// </summary>
protected void Grid4_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid4.PageIndex = e.NewPageIndex;
BindGrid4();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
protected void ddlPageSize4_SelectedIndexChanged(object sender, EventArgs e)
{
Grid4.PageSize = Convert.ToInt32(ddlPageSize4.SelectedValue);
BindGrid4();
}
/// <summary>
/// 排序
/// </summary>
protected void Grid4_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid4.SortDirection = e.SortDirection;
Grid4.SortField = e.SortField;
BindGrid4();
}
#endregion
#endregion
#region TAB数据切换
/// <summary>
/// 点击TAB数据切换
/// </summary>
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
/// <summary>
/// 关闭窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, EventArgs e)
{
BindGrid1();
}
#endregion
#region Excel
/// <summary>
/// 导出Excel
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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<SqlParameter> overParam = new List<SqlParameter>();
overParam.Add(new SqlParameter("@StartTime", sTime));
overParam.Add(new SqlParameter("@EndTime", eTime));
SqlParameter[] overParList = overParam.ToArray();
List<SqlParameter> extScoreParam = new List<SqlParameter>();
extScoreParam.Add(new SqlParameter("@StartTime", sTime));
extScoreParam.Add(new SqlParameter("@EndTime", eTime));
SqlParameter[] extScoreParList = extScoreParam.ToArray();
List<SqlParameter> bigDepartParam = new List<SqlParameter>();
bigDepartParam.Add(new SqlParameter("@StartTime", sTime));
bigDepartParam.Add(new SqlParameter("@EndTime", eTime));
SqlParameter[] bigDepartParList = bigDepartParam.ToArray();
List<SqlParameter> departParam = new List<SqlParameter>();
departParam.Add(new SqlParameter("@StartTime", sTime));
departParam.Add(new SqlParameter("@EndTime", eTime));
SqlParameter[] departParList = departParam.ToArray();
List<SqlParameter> NoEvaUserParam = new List<SqlParameter>();
NoEvaUserParam.Add(new SqlParameter("@StartTime", sTime));
NoEvaUserParam.Add(new SqlParameter("@EndTime", eTime));
SqlParameter[] NoEvaUserParList = NoEvaUserParam.ToArray();
List<SqlParameter> EvaUserParam = new List<SqlParameter>();
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<SqlParameter> yearToDateParam = new List<SqlParameter>();
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<NoEvaluationUsers>();
var noEvalList = JsonConvert.DeserializeObject<List<NoEvaluationUsers>>(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<NoEvaluationUsers>();
var EvalList = JsonConvert.DeserializeObject<List<NoEvaluationUsers>>(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<List<YearToDateModel>>(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<ExtremeScores>();
//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<NoEvaluationUsers>();
//var fnNoEval = SQLHelper.GetDataTableRunText("exec FN_NoEvaluationUsersReport '" + sTime + "','" + eTime + "'", new SqlParameter[0]);
//var noEvalList = JsonConvert.DeserializeObject<List<NoEvaluationUsers>>(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<Model.View_FC_SESRelatedData> sesRelatedData, SqlParameter[] extScoreParList, List<NoEvaluationUsers> NoEvalUserList, List<NoEvaluationUsers> 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<List<YearToDateModel>>(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<ExtremeScores>();
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<Model.View_FC_SESRelatedData> sesRelatedData, SqlParameter[] extScoreParList, List<NoEvaluationUsers> NoEvalUserList, List<NoEvaluationUsers> 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<List<YearToDateModel>>(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<ExtremeScores>();
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
/// <summary>
/// 搜索
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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<string>;
if (time == null) time = new List<string>();
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<string>;
if (isSpecial == null) isSpecial = new List<string>();
isSpecial.Add(drpIsSpecial.SelectedValue);
Session[GRID_IsSpecial] = isSpecial;
Session.Remove(GRID_COLUMN_HEADER);
var headers = Session[GRID_COLUMN_HEADER] as List<string>;
if (headers == null) headers = new List<string>();
//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<string>();
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
/// <summary>
/// 实体
/// </summary>
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<string> lsContract_No { get; set; } = new List<string>();
}
#endregion
#region
/// <summary>
/// 取得某月的最后一天
/// </summary>
/// <param name="datetime">要取得月份最后一天的时间</param>
/// <returns></returns>
private DateTime LastDayOfMonth(DateTime datetime)
{
return datetime.AddDays(1 - datetime.Day).AddMonths(1).AddDays(-1);
}
#endregion
#region
/// <summary>
/// 菜单按钮权限
/// </summary>
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
}
}