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

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