Basf_EProject/EProject/FineUIPro.Web/Report/OverviewReport.aspx.cs

3877 lines
221 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 NPOI.HSSF.UserModel;
using NPOI.HSSF.Util;
using NPOI.SS.UserModel;
using NPOI.SS.Util;
using NPOI.XSSF.UserModel;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Web.UI.WebControls;
using System.Threading;
using Model;
namespace FineUIPro.Web.Report
{
public partial class OverviewReport : PageBase
{
public static int percent { get; set; }
public static string url { get; set; }
[System.Web.Services.WebMethod]
public static int getPercent()
{
return percent;
}
[System.Web.Services.WebMethod]
public static string getUrl()
{
return url;
}
protected void Page_Load(object sender, EventArgs e)
{
InitGrid();
if (!IsPostBack)
{
percent = 0;
url = "";
GetButtonPower();//权限设置
BindGrid1();
}
}
private void InitGrid()
{
GregorianCalendar gc = new GregorianCalendar();
for (int i = -3; i < 2; i++)
{
DateTime dateTime = new DateTime(DateTime.Now.Year + i, 12, 31);
FineUIPro.GroupField gf = new FineUIPro.GroupField();
gf.TextAlign = TextAlign.Center;
gf.HeaderText = dateTime.Year + "";
for (int j = 1; j <= gc.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Monday); j++)
{
FineUIPro.BoundField bf = new FineUIPro.BoundField();
bf.DataField = dateTime.Year + "-" + j;
bf.DataFormatString = "{0}";
bf.HeaderText = "" + j;
bf.Width= Unit.Pixel(50);
gf.Columns.Add(bf);
}
Grid4.Columns.Add(gf);
}
}
#region TAB数据切换
/// <summary>
/// 点击TAB数据切换
/// </summary>
protected void TabStrip1_TabIndexChanged(object sender, EventArgs e)
{
if (TabStrip1.ActiveTabIndex == 0)
{
this.txtProjectManger.Hidden = false;
this.txtEngineer.Hidden = false;
this.txtEngineeringManager.Hidden = false;
BindGrid1();
}
else if (TabStrip1.ActiveTabIndex == 1)
{
this.txtProjectManger.Hidden = true;
this.txtEngineer.Hidden = true;
this.txtEngineeringManager.Hidden = true;
BindGrid2();
}
else if (TabStrip1.ActiveTabIndex == 2)
{
this.txtProjectManger.Hidden = true;
this.txtEngineer.Hidden = true;
this.txtEngineeringManager.Hidden = true;
BindGrid3();
}
else if (TabStrip1.ActiveTabIndex == 3)
{
this.txtProjectManger.Hidden = true;
this.txtEngineer.Hidden = true;
this.txtEngineeringManager.Hidden = true;
BindGrid4();
}
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSearch_Click(object sender, EventArgs e)
{
if (TabStrip1.ActiveTabIndex == 0)
{
BindGrid1();
}
else if (TabStrip1.ActiveTabIndex == 1)
{
BindGrid2();
}
else if (TabStrip1.ActiveTabIndex == 2)
{
BindGrid3();
}
else if (TabStrip1.ActiveTabIndex == 3)
{
BindGrid4();
}
}
#endregion
#region Over view
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid1()
{
string strSql = @"SELECT * FROM VIEW_Report_Overview WHERE 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!string.IsNullOrEmpty(this.txtJobNo.Text.Trim()))
{
strSql += " AND ProjectControl_JobNo LIKE @JobNO ";
listStr.Add(new SqlParameter("@JobNO", this.txtJobNo.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtProjectManger.Text.Trim()))
{
strSql += " AND ProjectControl_ProjectManager LIKE @ProjectManager ";
listStr.Add(new SqlParameter("@ProjectManager", "%" + this.txtProjectManger.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtEngineeringManager.Text.Trim()))
{
strSql += " AND ProjectControl_EMManager LIKE @EngineeringManager ";
listStr.Add(new SqlParameter("@EngineeringManager", "%" + this.txtEngineeringManager.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtEngineer.Text.Trim()))
{
strSql += " AND Engineer LIKE @Engineer ";
listStr.Add(new SqlParameter("@Engineer", "%" + this.txtEngineer.Text.Trim() + "%"));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
// 2.获取当前分页数据
//var table = this.GetPagedDataTable(Grid1, tb1);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid1();
}
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid1();
}
#endregion
#region PermitGeneral
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid2()
{
string strSql = @"SELECT * FROM View_Report_PermitGeneral WHERE (EnvAssess!='-' OR EnergySaving!='-'
OR ProjectRegistr!='-' OR PlanningPermit!='-'
OR SafetyConReview!='-' OR SafetyDesginReview !='-' OR FFDesginReview!='-') ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!string.IsNullOrEmpty(this.txtJobNo.Text.Trim()))
{
strSql += " AND ProjectControl_JobNo LIKE @JobNO ";
listStr.Add(new SqlParameter("@JobNO", this.txtJobNo.Text.Trim() + "%"));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
// 2.获取当前分页数据
//var table = this.GetPagedDataTable(Grid1, tb1);
Grid2.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid2, tb);
Grid2.DataSource = table;
Grid2.DataBind();
}
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid2_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid2.PageIndex = e.NewPageIndex;
BindGrid2();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid2_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid2.SortDirection = e.SortDirection;
Grid2.SortField = e.SortField;
BindGrid2();
}
#endregion
#region Permit_Pressure Piping & Vesse
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid3()
{
string strSql = @"SELECT * FROM View_Report_Permit_PressurePipingVesse WHERE 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!string.IsNullOrEmpty(this.txtJobNo.Text.Trim()))
{
strSql += " AND ProjectControl_JobNo LIKE @JobNO ";
listStr.Add(new SqlParameter("@JobNO", this.txtJobNo.Text.Trim() + "%"));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
// 2.获取当前分页数据
//var table = this.GetPagedDataTable(Grid1, tb1);
Grid3.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid3, tb);
Grid3.DataSource = table;
Grid3.DataBind();
}
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid3_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid3.PageIndex = e.NewPageIndex;
BindGrid3();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid3_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid3.SortDirection = e.SortDirection;
Grid3.SortField = e.SortField;
BindGrid3();
}
#endregion
#region Schedule_Gantt_Bar
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid4()
{
string strSql = @"SELECT * FROM View_Report_ScheduleGanttBar WHERE 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!string.IsNullOrEmpty(this.txtJobNo.Text.Trim()))
{
strSql += " AND ProjectControl_JobNo LIKE @JobNO ";
listStr.Add(new SqlParameter("@JobNO", this.txtJobNo.Text.Trim() + "%"));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
GregorianCalendar gc = new GregorianCalendar();
for (int i = -3; i < 2; i++)
{
DateTime dateTime = new DateTime(DateTime.Now.Year + i, 12, 31);
for (int j = 1; j <= gc.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Monday); j++)
{
tb.Columns.Add(dateTime.Year + "-" + j, System.Type.GetType("System.String"));
}
}
for (int i = 0; i < tb.Rows.Count; i++)
{
try
{
var ReceiveDate = tb.Rows[i]["ReceiveDate"];
var ApprovalDate = tb.Rows[i]["ApprovalDate"];
var ConstStart = tb.Rows[i]["ConstMECivilStart"];
var DEMEEnd = tb.Rows[i]["DEMECivilEnd"];
var ConstEnd = tb.Rows[i]["ConstMECivilEnd"];
if (ReceiveDate is DateTime && ApprovalDate is DateTime)
{
DateTime start = (DateTime)ReceiveDate;
DateTime end = (DateTime)ApprovalDate;
for (; start < end; start = start.AddDays(7))
{
if (tb.Columns.Contains(start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)))
tb.Rows[i][start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)] = "A";
}
}
if (ApprovalDate is DateTime && ConstStart is DateTime)
{
DateTime start = (DateTime)ApprovalDate;
DateTime end = (DateTime)ConstStart;
for (; start < end; start = start.AddDays(7))
{
if (tb.Columns.Contains(start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)))
tb.Rows[i][start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)] = "B";
}
}
if (ConstStart is DateTime && DEMEEnd is DateTime)
{
DateTime start = (DateTime)ConstStart;
DateTime end = (DateTime)DEMEEnd;
for (; start < end; start = start.AddDays(7))
{
if (tb.Columns.Contains(start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)))
tb.Rows[i][start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)] = "C";
}
}
if (DEMEEnd is DateTime && ConstEnd is DateTime)
{
DateTime start = (DateTime)DEMEEnd;
DateTime end = (DateTime)ConstEnd;
for (; start < end; start = start.AddDays(7))
{
if (tb.Columns.Contains(start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)))
tb.Rows[i][start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)] = "D";
}
}
}
catch (Exception e)
{
}
}
// 2.获取当前分页数据
//var table = this.GetPagedDataTable(Grid1, tb1);
Grid4.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid4, tb);
Grid4.DataSource = table;
Grid4.DataBind();
}
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid4_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid4.PageIndex = e.NewPageIndex;
BindGrid4();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid4_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid4.SortDirection = e.SortDirection;
Grid4.SortField = e.SortField;
BindGrid4();
}
#endregion
#region GaExport
protected void btnGaExport_Click(object sender, EventArgs e)
{
percent = 0;
url = "";
string strSql = @"SELECT * FROM View_GaReport_ScheduleGanttBar WHERE 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!string.IsNullOrEmpty(this.txtJobNo.Text.Trim()))
{
strSql += " AND ProjectControl_JobNo LIKE @JobNO ";
listStr.Add(new SqlParameter("@JobNO", this.txtJobNo.Text.Trim() + "%"));
}
strSql += " order by ProjectControl_JobNo desc";
SqlParameter[] parameter = listStr.ToArray();
Thread t = new Thread(new ThreadStart(() => { GaExport(strSql, parameter); }));
t.Start();
PageContext.RegisterStartupScript("showProcessBar()");
}
private void GaExport(string strSql, SqlParameter[] parameter)
{
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
int totalNum= tb.Rows.Count;
string rootPath = Server.MapPath("~/") + Const.ExcelUrl;
//模板文件
string TempletFileName = rootPath + "P31_GanttReport.xlsx";
//导出文件
string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
//string ReportFileName = filePath + "out.xlsx";
string ReportFileName = filePath + "P31_GanttReport_" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xlsx";
FileStream file = new FileStream(TempletFileName, FileMode.Open, FileAccess.Read);
XSSFWorkbook hssfworkbook = new XSSFWorkbook(file);
XSSFFont cs_content_Font = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
cs_content_Font.FontName = "sans-serif";//字体
cs_content_Font.FontHeightInPoints = 10; //字体大小
IDataFormat dataformat = hssfworkbook.CreateDataFormat();
ICellStyle styleQfw = hssfworkbook.CreateCellStyle();
styleQfw.VerticalAlignment = VerticalAlignment.Center;
styleQfw.Alignment = HorizontalAlignment.Right;
styleQfw.DataFormat = dataformat.GetFormat("#,##0.00");
styleQfw.SetFont(cs_content_Font);
ICellStyle styleDate = hssfworkbook.CreateCellStyle();
styleDate.DataFormat = dataformat.GetFormat("yyyy/m/d");
styleDate.SetFont(cs_content_Font);
#region
#region backgroundstyle1
//创建单元格样式
XSSFCellStyle backgroundstyle1 = (XSSFCellStyle)hssfworkbook.CreateCellStyle();
//填充模式
backgroundstyle1.FillPattern = FillPattern.SolidForeground;
//创建颜色
XSSFColor xssfcolor1 = new XSSFColor();
//rbg值
byte[] rgbYellow1 = { (byte)250, (byte)250, (byte)210 };
//写入rgb
xssfcolor1.SetRgb(rgbYellow1);
//设置颜色值
backgroundstyle1.SetFillForegroundColor(xssfcolor1);
//创建字体
XSSFFont red_content_Font = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
red_content_Font.FontName = "sans-serif";//字体
red_content_Font.FontHeightInPoints = 10; //字体大小
red_content_Font.Color = HSSFColor.Black.Index;//黑字
backgroundstyle1.VerticalAlignment = VerticalAlignment.Center;
backgroundstyle1.Alignment = HorizontalAlignment.Center;
backgroundstyle1.SetFont(red_content_Font);
#endregion
#region backgroundstyle2
//创建单元格样式
XSSFCellStyle backgroundstyle2 = (XSSFCellStyle)hssfworkbook.CreateCellStyle();
//填充模式
backgroundstyle2.FillPattern = FillPattern.SolidForeground;
//创建颜色
XSSFColor xssfcolor2 = new XSSFColor();
//rbg值
byte[] rgbYellow2 = { (byte)250, (byte)250, (byte)210 };
//写入rgb
xssfcolor2.SetRgb(rgbYellow2);
//设置颜色值
backgroundstyle2.SetFillForegroundColor(xssfcolor2);
//创建字体
XSSFFont red_content_Font2 = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
red_content_Font2.FontName = "sans-serif";//字体
red_content_Font2.FontHeightInPoints = 10; //字体大小
red_content_Font2.Color = HSSFColor.Red.Index;//黑字
backgroundstyle2.VerticalAlignment = VerticalAlignment.Center;
backgroundstyle2.Alignment = HorizontalAlignment.Center;
backgroundstyle2.SetFont(red_content_Font2);
#endregion
#region backgroundstyle3
//创建单元格样式
XSSFCellStyle backgroundstyle3 = (XSSFCellStyle)hssfworkbook.CreateCellStyle();
//填充模式
backgroundstyle3.FillPattern = FillPattern.SolidForeground;
//创建颜色
XSSFColor xssfcolor3 = new XSSFColor();
//rbg值
byte[] rgbRed3 = { (byte)244, (byte)164, (byte)96 };
//写入rgb
xssfcolor3.SetRgb(rgbRed3);
//设置颜色值
backgroundstyle3.SetFillForegroundColor(xssfcolor3);
///创建字体
XSSFFont red_content_Font3 = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
red_content_Font3.FontName = "sans-serif";//字体
red_content_Font3.FontHeightInPoints = 10; //字体大小
red_content_Font3.Color = HSSFColor.Red.Index;
backgroundstyle3.VerticalAlignment = VerticalAlignment.Center;
backgroundstyle3.Alignment = HorizontalAlignment.Center;
backgroundstyle3.SetFont(red_content_Font3);
#endregion
#region backgroundstyle4
//创建单元格样式
XSSFCellStyle backgroundstyle4 = (XSSFCellStyle)hssfworkbook.CreateCellStyle();
//填充模式
backgroundstyle4.FillPattern = FillPattern.SolidForeground;
//创建颜色
XSSFColor xssfcolor4 = new XSSFColor();
//rbg值
byte[] rgbWhite = { (byte)255, (byte)255, (byte)255 };//白色
//写入rgb
xssfcolor4.SetRgb(rgbWhite);
//设置颜色值
backgroundstyle4.SetFillForegroundColor(xssfcolor4);
///创建字体
XSSFFont red_content_Font4 = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
red_content_Font4.FontName = "sans-serif";//字体
red_content_Font4.FontHeightInPoints = 10; //字体大小
red_content_Font4.Color = HSSFColor.Red.Index;
backgroundstyle4.VerticalAlignment = VerticalAlignment.Center;
backgroundstyle4.Alignment = HorizontalAlignment.Center;
backgroundstyle4.SetFont(red_content_Font4);
#endregion
#region
//创建单元格样式
XSSFCellStyle redbackgroundstyle = (XSSFCellStyle)hssfworkbook.CreateCellStyle();
//填充模式
redbackgroundstyle.FillPattern = FillPattern.SolidForeground;
//创建颜色
XSSFColor xssfredcolor = new XSSFColor();
//rbg值
byte[] rgbRed = { (byte)244, (byte)164, (byte)96 };
//写入rgb
xssfredcolor.SetRgb(rgbRed);
//设置颜色值
redbackgroundstyle.SetFillForegroundColor(xssfredcolor);
redbackgroundstyle.SetFont(cs_content_Font);
#endregion
#region
//创建单元格样式
XSSFCellStyle redDatestyle = (XSSFCellStyle)hssfworkbook.CreateCellStyle();
//填充模式
redDatestyle.FillPattern = FillPattern.SolidForeground;
//创建颜色
XSSFColor redDatecolor = new XSSFColor();
//rbg值
byte[] rgbDateRed = { (byte)244, (byte)164, (byte)96 };
//写入rgb
redDatecolor.SetRgb(rgbDateRed);
//设置颜色值
redDatestyle.SetFillForegroundColor(redDatecolor);
redDatestyle.DataFormat = dataformat.GetFormat("yyyy/m/d");
redDatestyle.SetFont(cs_content_Font);
#endregion
#endregion
XSSFSheet sgb = (XSSFSheet)hssfworkbook.GetSheet("Schedule_Gantt_Bar");
GregorianCalendar gc = new GregorianCalendar();
for (int i = -3; i < 2; i++)
{
DateTime dateTime = new DateTime(DateTime.Now.Year + i, 12, 31);
//for (int j = 1; j <= gc.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Monday); j++)
for (int j = 1; j <= gc.GetMonth(dateTime); j++)
{
tb.Columns.Add(dateTime.Year + "-" + j, System.Type.GetType("System.String"));
}
}
for (int i = 0; i < tb.Rows.Count; i++)
{
try
{
var PlanHours_A = tb.Rows[i]["PlanHours_ACP"];
var PlanHours_C = tb.Rows[i]["PlanHours_S"];
var Detail_Eng_Civil_ReviseStart = tb.Rows[i]["Detail_Eng_Civil_ReviseStart"];
var Detail_Eng_MechEI_ReviseStart = tb.Rows[i]["Detail_Eng_MechEI_ReviseStart"];
var RP_Detail_Eng_Civil_Sch_Start = tb.Rows[i]["RP_Detail_Eng_Civil_Sch_Start"];
var RP_Detail_Eng_Mech_EI_Sch_Start = tb.Rows[i]["RP_Detail_Eng_Mech_EI_Sch_Start"];
var RevisedStartA = tb.Rows[i]["RevisedStartA"];
var Detail_Eng_Civil_ReviseEnd = tb.Rows[i]["Detail_Eng_Civil_ReviseEnd"];
var Detail_Eng_MechEI_ReviseEnd = tb.Rows[i]["Detail_Eng_MechEI_ReviseEnd"];
var RP_Detail_Eng_Civil_Sch_End = tb.Rows[i]["RP_Detail_Eng_Civil_Sch_End"];
var RP_Detail_Eng_Mech_EI_Sch_End = tb.Rows[i]["RP_Detail_Eng_Mech_EI_Sch_End"];
var RevisedEndA = tb.Rows[i]["RevisedEndA"];
var RevisedStartCC = tb.Rows[i]["RevisedStartCC"];
var RevisedStartCM = tb.Rows[i]["RevisedStartCM"];
var RevisedEndCC = tb.Rows[i]["RevisedEndCC"];
var RevisedEndCM = tb.Rows[i]["RevisedEndCM"];
int planHours_A = PlanHours_A.ToString() != "" ? Convert.ToInt32(PlanHours_A) : 0;
int planHours_C = PlanHours_C.ToString() != "" ? Convert.ToInt32(PlanHours_C) : 0;
DateTime ? civil_ReviseStart = null;
DateTime? eng_MechEI_ReviseStart = null;
DateTime? revisedStartA = null;
DateTime? civil_ReviseEnd = null;
DateTime? eng_MechEI_ReviseEnd = null;
DateTime? revisedEndA = null;
if (RevisedStartA.ToString() != "")
{
revisedStartA = (DateTime)RevisedStartA;
}
else
{
if (RP_Detail_Eng_Civil_Sch_Start.ToString() != "")
{
civil_ReviseStart = (DateTime)RP_Detail_Eng_Civil_Sch_Start;
}
else
{
if (Detail_Eng_Civil_ReviseStart.ToString() != "")
{
civil_ReviseStart = (DateTime)Detail_Eng_Civil_ReviseStart;
}
}
if (RP_Detail_Eng_Mech_EI_Sch_Start.ToString() != "")
{
eng_MechEI_ReviseStart = (DateTime)RP_Detail_Eng_Mech_EI_Sch_Start;
}
else
{
if (Detail_Eng_MechEI_ReviseStart.ToString() != "")
{
eng_MechEI_ReviseStart = (DateTime)Detail_Eng_MechEI_ReviseStart;
}
}
if (civil_ReviseStart != null && eng_MechEI_ReviseStart != null)
{
if (civil_ReviseStart < eng_MechEI_ReviseStart)
{
revisedStartA = civil_ReviseStart;
}
else
{
revisedStartA = eng_MechEI_ReviseStart;
}
}
else
{
if (civil_ReviseStart != null)
{
revisedStartA = civil_ReviseStart;
}
if (eng_MechEI_ReviseStart != null)
{
revisedStartA = eng_MechEI_ReviseStart;
}
}
}
if (RevisedEndA.ToString() != "")
{
revisedEndA = (DateTime)RevisedEndA;
}
else
{
if (RP_Detail_Eng_Civil_Sch_End.ToString() != "")
{
civil_ReviseEnd = (DateTime)RP_Detail_Eng_Civil_Sch_End;
}
else
{
if (Detail_Eng_Civil_ReviseEnd.ToString() != "")
{
civil_ReviseEnd = (DateTime)Detail_Eng_Civil_ReviseEnd;
}
}
if (RP_Detail_Eng_Mech_EI_Sch_End.ToString() != "")
{
eng_MechEI_ReviseEnd = (DateTime)RP_Detail_Eng_Mech_EI_Sch_End;
}
else
{
if (Detail_Eng_MechEI_ReviseEnd.ToString() != "")
{
eng_MechEI_ReviseEnd = (DateTime)Detail_Eng_MechEI_ReviseEnd;
}
}
if (civil_ReviseEnd != null && eng_MechEI_ReviseEnd != null)
{
if (civil_ReviseEnd < eng_MechEI_ReviseEnd)
{
revisedEndA = eng_MechEI_ReviseEnd;
}
else
{
revisedEndA = civil_ReviseEnd;
}
}
else
{
if (civil_ReviseEnd != null)
{
revisedEndA = civil_ReviseEnd;
}
if (eng_MechEI_ReviseEnd != null)
{
revisedEndA = eng_MechEI_ReviseEnd;
}
}
}
DateTime? revisedStartC = null;
DateTime? revisedEndC = null;
if (RevisedStartCC.ToString() != "" && RevisedStartCM.ToString() != "")
{
if ((DateTime)RevisedStartCC < (DateTime)RevisedStartCM)
{
revisedStartC = (DateTime)RevisedStartCC;
}
else
{
revisedStartC = (DateTime)RevisedStartCM;
}
}
else
{
if (RevisedStartCC.ToString() != "")
{
revisedStartC = (DateTime)RevisedStartCC;
}
if (RevisedStartCM.ToString() != "")
{
revisedStartC = (DateTime)RevisedStartCM;
}
}
if (RevisedEndCC.ToString() != "" && RevisedEndCM.ToString() != "")
{
if ((DateTime)RevisedEndCC > (DateTime)RevisedEndCM)
{
revisedEndC = (DateTime)RevisedEndCC;
}
else
{
revisedEndC = (DateTime)RevisedEndCM;
}
}
else
{
if (RevisedEndCC.ToString() != "")
{
revisedEndC = (DateTime)RevisedEndCC;
}
if (RevisedEndCM.ToString() != "")
{
revisedEndC = (DateTime)RevisedEndCM;
}
}
if (revisedStartC != null && revisedEndC != null)
{
int monthNum = (revisedEndC.Value.Year - revisedStartC.Value.Year) * 12 + (revisedEndC.Value.Month - revisedStartC.Value.Month) + 1;
if (monthNum != 0)
{
string strnum = Convert.ToInt32(Math.Round((double)(planHours_C / monthNum))).ToString() + "C";
while (revisedStartC.Value.Year <= revisedEndC.Value.Year
&& revisedStartC.Value.Month <= (revisedEndC.Value.Year - revisedStartC.Value.Year) * 12 + revisedEndC.Value.Month)
{
if (tb.Columns.Contains(revisedStartC.Value.Year + "-" + revisedStartC.Value.Month))
{
tb.Rows[i][revisedStartC.Value.Year + "-" + revisedStartC.Value.Month] = strnum;
}
revisedStartC = revisedStartC.Value.AddMonths(1);
}
}
}
if (revisedStartA != null && revisedEndA != null && revisedStartA < revisedEndA)
{
int monthNum = (revisedEndA.Value.Year - revisedStartA.Value.Year) * 12 + (revisedEndA.Value.Month - revisedStartA.Value.Month) + 1;
if (monthNum != 0)
{
string strnum = Convert.ToInt32(Math.Round((double)(planHours_A / monthNum))).ToString() + "A";
while (revisedStartA.Value.Year <= revisedEndA.Value.Year
&& revisedStartA.Value.Month <= (revisedEndA.Value.Year - revisedStartA.Value.Year) * 12 + revisedEndA.Value.Month)
{
if (tb.Columns.Contains(revisedStartA.Value.Year + "-" + revisedStartA.Value.Month))
{
tb.Rows[i][revisedStartA.Value.Year + "-" + revisedStartA.Value.Month] = strnum;
}
revisedStartA = revisedStartA.Value.AddMonths(1);
}
}
}
}
catch (Exception ex)
{
}
}
//计算excel表头
int index = 1;
cs_content_Font.FontHeightInPoints = 10; //字体大小
ICellStyle styleToday = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
styleToday.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Pink.Index;
styleToday.FillPattern = FillPattern.SolidForeground;
for (int i = -3; i < 2; i++)
{
DateTime dateTime = new DateTime(DateTime.Now.Year + i, 12, 31);
ICellStyle styleTitle = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
switch (i)
{
case -3:
styleTitle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.CornflowerBlue.Index;
break;
case -2:
styleTitle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.LightYellow.Index;
break;
case -1:
styleTitle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Rose.Index;
break;
case 0:
styleTitle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Green.Index;
break;
case 1:
styleTitle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.SkyBlue.Index;
break;
}
styleTitle.FillPattern = FillPattern.SolidForeground;
for (int j = 1; j <= 12; j++)
{
byte[] rgb = new byte[3] { 192, 0, 0 };
sgb.GetRow(0).CreateCell(index + 10);
sgb.GetRow(1).CreateCell(index + 10).SetCellValue(j);
sgb.GetRow(0).GetCell(index + 10).CellStyle = styleTitle;
if (dateTime.Year == DateTime.Now.Year && DateTime.Now.Month == j)
{
sgb.GetRow(1).GetCell(index + 10).CellStyle = styleToday;
sgb.GetRow(1).GetCell(index + 10).CellStyle.VerticalAlignment = VerticalAlignment.Bottom;
}
else
{
sgb.GetRow(1).GetCell(index + 10).CellStyle = styleTitle;
sgb.GetRow(1).GetCell(index + 10).CellStyle.VerticalAlignment = VerticalAlignment.Center;
}
sgb.GetRow(1).GetCell(index + 10).CellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
sgb.GetRow(1).GetCell(index + 10).CellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
sgb.GetRow(1).GetCell(index + 10).CellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
sgb.GetRow(1).GetCell(index + 10).CellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
//sgb.GetRow(0).GetCell(index + 6).CellStyle.SetFont(cs_content_Font);//将字体绑定到样式
//sgb.GetRow(1).GetCell(index + 6).CellStyle.SetFont(cs_content_Font);//将字体绑定到样式
index++;
}
CellRangeAddress cellRangeAddress = new CellRangeAddress(0, 0, index + 10 - 12, (index + 9));
sgb.AddMergedRegion(cellRangeAddress);
sgb.GetRow(0).GetCell(index + 10 - 12).SetCellValue(dateTime.Year);
sgb.GetRow(0).GetCell(index + 10 - 12).CellStyle.Alignment = HorizontalAlignment.Center;
}
ICellStyle style = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
style.FillPattern = FillPattern.SolidForeground;
ICellStyle styleA = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
styleA.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Yellow.Index;
styleA.FillPattern = FillPattern.SolidForeground;
ICellStyle styleB = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
styleB.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.LightBlue.Index;
styleB.FillPattern = FillPattern.SolidForeground;
ICellStyle styleC = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
styleC.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Indigo.Index;
styleC.FillPattern = FillPattern.SolidForeground;
ICellStyle styleD = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
styleD.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.LightBlue.Index;
styleD.FillPattern = FillPattern.SolidForeground;
if (tb.Rows.Count > 0)
{
var rowIndex = 2;
for (int i = 0; i < tb.Rows.Count; i++)
{
if (sgb.GetRow(rowIndex) == null) sgb.CreateRow(rowIndex);
//XSSFFont cs_content_Font = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
//cs_content_Font.FontHeightInPoints = 10; //字体大小
#region
if (sgb.GetRow(rowIndex).GetCell(0) == null) sgb.GetRow(rowIndex).CreateCell(0);
sgb.GetRow(rowIndex).GetCell(0).SetCellValue(tb.Rows[i]["ProjectControl_JobNo"].ToString());
//sgb.GetRow(rowIndex).GetCell(0).CellStyle.SetFont(cs_content_Font);//将字体绑定到样式
if (sgb.GetRow(rowIndex).GetCell(1) == null) sgb.GetRow(rowIndex).CreateCell(1);
sgb.GetRow(rowIndex).GetCell(1).SetCellValue(tb.Rows[i]["ProjectControl_BUCode"].ToString());
if (sgb.GetRow(rowIndex).GetCell(2) == null) sgb.GetRow(rowIndex).CreateCell(2);
sgb.GetRow(rowIndex).GetCell(2).SetCellValue(tb.Rows[i]["ProjectControl_JobType"].ToString());
if (sgb.GetRow(rowIndex).GetCell(3) == null) sgb.GetRow(rowIndex).CreateCell(3);
sgb.GetRow(rowIndex).GetCell(3).SetCellValue(tb.Rows[i]["ProjectControl_JobTitle"].ToString());
if (sgb.GetRow(rowIndex).GetCell(4) == null) sgb.GetRow(rowIndex).CreateCell(4);
sgb.GetRow(rowIndex).GetCell(4).SetCellValue(tb.Rows[i]["PM_General_Priority"].ToString());
if (sgb.GetRow(rowIndex).GetCell(5) == null) sgb.GetRow(rowIndex).CreateCell(5);
sgb.GetRow(rowIndex).GetCell(5).SetCellValue(tb.Rows[i]["PM_General_Category"].ToString());
if (sgb.GetRow(rowIndex).GetCell(6) == null) sgb.GetRow(rowIndex).CreateCell(6);
sgb.GetRow(rowIndex).GetCell(6).SetCellValue(tb.Rows[i]["PlanHours_ACP"].ToString());
if (sgb.GetRow(rowIndex).GetCell(7) == null) sgb.GetRow(rowIndex).CreateCell(7);
sgb.GetRow(rowIndex).GetCell(7).SetCellValue(tb.Rows[i]["PlanHours_S"].ToString());
if (sgb.GetRow(rowIndex).GetCell(8) == null) sgb.GetRow(rowIndex).CreateCell(8);
sgb.GetRow(rowIndex).GetCell(8).SetCellValue(tb.Rows[i]["ProjectControl_LeadByName"].ToString());
if (sgb.GetRow(rowIndex).GetCell(9) == null) sgb.GetRow(rowIndex).CreateCell(9);
sgb.GetRow(rowIndex).GetCell(9).SetCellValue(tb.Rows[i]["ProjectControl_JobStatus"].ToString());
if (sgb.GetRow(rowIndex).GetCell(10) == null) sgb.GetRow(rowIndex).CreateCell(10);
sgb.GetRow(rowIndex).GetCell(10).SetCellValue(tb.Rows[i]["Schedule"].ToString());
for (int j = 11; j < tb.Columns.Count - 24; j++)
{
if (sgb.GetRow(rowIndex).GetCell(j) == null) sgb.GetRow(rowIndex).CreateCell(j);
if (tb.Rows[i][j + 15] != null && tb.Rows[i][j + 15].ToString() != "")
{
string cv = tb.Rows[i][j + 15].ToString().Substring(0, tb.Rows[i][j + 15].ToString().Length - 1);
sgb.GetRow(rowIndex).GetCell(j).SetCellValue(cv);
if (tb.Rows[i][j + 15].ToString().Contains("A"))
{
sgb.GetRow(rowIndex).GetCell(j).CellStyle = styleA;
}
if (tb.Rows[i][j + 15].ToString().Contains("C"))
{
sgb.GetRow(rowIndex).GetCell(j).CellStyle = styleB;
}
}
}
#endregion
if ((int)((95 * (rowIndex - 1)) / totalNum) > percent)
{
percent = (int)(100 * (rowIndex - 1) / totalNum);
}
rowIndex++;
}
}
sgb.ForceFormulaRecalculation = true;
using (FileStream filess = File.OpenWrite(ReportFileName))
{
hssfworkbook.Write(filess);
//hssfworkbook.Close();
//filess.Flush();
//filess.Close();
}
percent = 100;
url = ReportFileName.Replace(Server.MapPath("~/"), "");
}
#endregion
#region Excel
/// <summary>
/// 导出Excel
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnExport_Click(object sender, EventArgs e)
{
percent = 0;
url = "";
var OverviewReport = (from x in Funs.DB.VIEW_Report_Overview orderby x.ProjectControl_JobNo descending select x).ToList();
if (!string.IsNullOrEmpty(txtJobNo.Text.Trim()))
{
OverviewReport = OverviewReport.Where(x => x.ProjectControl_JobNo.StartsWith(this.txtJobNo.Text.Trim())).ToList();
}
if (!string.IsNullOrEmpty(this.txtProjectManger.Text.Trim()))
{
OverviewReport = OverviewReport.Where(x => x.ProjectControl_ProjectManager != null && x.ProjectControl_ProjectManager.ToLower().Contains(this.txtProjectManger.Text.Trim().ToLower())).ToList();
}
if (!string.IsNullOrEmpty(this.txtEngineeringManager.Text.Trim()))
{
OverviewReport = OverviewReport.Where(x => x.ProjectControl_EMManager !=null && x.ProjectControl_EMManager.ToLower().Contains(this.txtEngineeringManager.Text.Trim().ToLower())).ToList();
}
if (!string.IsNullOrEmpty(this.txtEngineer.Text.Trim()))
{
OverviewReport = OverviewReport.Where(x => x.Engineer != null && x.Engineer.ToLower().Contains(this.txtEngineer.Text.Trim().ToLower())).ToList();
}
var Permit_General = (from x in Funs.DB.View_Report_PermitGeneral orderby x.ProjectControl_JobNo descending select x).ToList();
if (!string.IsNullOrEmpty(this.txtJobNo.Text.Trim()))
{
Permit_General = Permit_General.Where(x => x.ProjectControl_JobNo.StartsWith(this.txtJobNo.Text.Trim())).ToList();
}
var PressurePipingVesseReport = (from x in Funs.DB.View_Report_Permit_PressurePipingVesse orderby x.ProjectControl_JobNo descending select x).ToList();
if (!string.IsNullOrEmpty(this.txtJobNo.Text.Trim()))
{
PressurePipingVesseReport = PressurePipingVesseReport.Where(x => x.ProjectControl_JobNo.StartsWith(this.txtJobNo.Text.Trim())).ToList();
}
string strSql = @"SELECT * FROM View_Report_ScheduleGanttBar WHERE 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!string.IsNullOrEmpty(this.txtJobNo.Text.Trim()))
{
strSql += " AND ProjectControl_JobNo LIKE @JobNO ";
listStr.Add(new SqlParameter("@JobNO", this.txtJobNo.Text.Trim() + "%"));
}
strSql += " order by ProjectControl_JobNo desc";
SqlParameter[] parameter = listStr.ToArray();
Thread t = new Thread(new ThreadStart(() => { Export(strSql, parameter, Permit_General, OverviewReport, PressurePipingVesseReport); }));
t.Start();
PageContext.RegisterStartupScript("showProcessBar()");
#region
//string rootPath = Server.MapPath("~/") + Const.ExcelUrl;
////模板文件
//string TempletFileName = rootPath + "OverviewReport.xlsx";
////导出文件
//string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
//if (!Directory.Exists(filePath))
//{
// Directory.CreateDirectory(filePath);
//}
//string ReportFileName = filePath + "out.xlsx";
//FileStream file = new FileStream(TempletFileName, FileMode.Open, FileAccess.Read);
//XSSFWorkbook hssfworkbook = new XSSFWorkbook(file);
//XSSFFont cs_content_Font = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
//cs_content_Font.FontName = "sans-serif";//字体
//cs_content_Font.FontHeightInPoints = 10; //字体大小
//IDataFormat dataformat = hssfworkbook.CreateDataFormat();
//ICellStyle styleQfw = hssfworkbook.CreateCellStyle();
//styleQfw.VerticalAlignment = VerticalAlignment.Center;
//styleQfw.Alignment = HorizontalAlignment.Right;
//styleQfw.DataFormat = dataformat.GetFormat("#,##0.00");
//styleQfw.SetFont(cs_content_Font);
//#region 背景色、字体设置
//#region 黄底
////创建单元格样式
////XSSFCellStyle backgroundstyle = (XSSFCellStyle)hssfworkbook.CreateCellStyle();
//////填充模式
////backgroundstyle.FillPattern = FillPattern.SolidForeground;
//////创建颜色
////XSSFColor xssfcolor = new XSSFColor();
//////rbg值
////byte[] rgbYellow = { (byte)250, (byte)250, (byte)210 };
//////写入rgb
////xssfcolor.SetRgb(rgbYellow);
//////设置颜色值
////backgroundstyle.SetFillForegroundColor(xssfcolor);
//#endregion
//#region 黄底黑字 backgroundstyle1
////创建单元格样式
//XSSFCellStyle backgroundstyle1 = (XSSFCellStyle)hssfworkbook.CreateCellStyle();
////填充模式
//backgroundstyle1.FillPattern = FillPattern.SolidForeground;
////创建颜色
//XSSFColor xssfcolor1 = new XSSFColor();
////rbg值
//byte[] rgbYellow1 = { (byte)250, (byte)250, (byte)210 };
////写入rgb
//xssfcolor1.SetRgb(rgbYellow1);
////设置颜色值
//backgroundstyle1.SetFillForegroundColor(xssfcolor1);
////创建字体
//XSSFFont red_content_Font = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
//red_content_Font.FontName = "sans-serif";//字体
//red_content_Font.FontHeightInPoints = 10; //字体大小
//red_content_Font.Color = HSSFColor.Black.Index;//黑字
//backgroundstyle1.VerticalAlignment = VerticalAlignment.Center;
//backgroundstyle1.Alignment = HorizontalAlignment.Center;
//backgroundstyle1.SetFont(red_content_Font);
//#endregion
//#region 黄底红字 backgroundstyle2
////创建单元格样式
//XSSFCellStyle backgroundstyle2 = (XSSFCellStyle)hssfworkbook.CreateCellStyle();
////填充模式
//backgroundstyle2.FillPattern = FillPattern.SolidForeground;
////创建颜色
//XSSFColor xssfcolor2 = new XSSFColor();
////rbg值
//byte[] rgbYellow2 = { (byte)250, (byte)250, (byte)210 };
////写入rgb
//xssfcolor2.SetRgb(rgbYellow2);
////设置颜色值
//backgroundstyle2.SetFillForegroundColor(xssfcolor2);
////创建字体
//XSSFFont red_content_Font2 = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
//red_content_Font2.FontName = "sans-serif";//字体
//red_content_Font2.FontHeightInPoints = 10; //字体大小
//red_content_Font2.Color = HSSFColor.Red.Index;//黑字
//backgroundstyle2.VerticalAlignment = VerticalAlignment.Center;
//backgroundstyle2.Alignment = HorizontalAlignment.Center;
//backgroundstyle2.SetFont(red_content_Font2);
//#endregion
//#region 红底红字 backgroundstyle3
////创建单元格样式
//XSSFCellStyle backgroundstyle3 = (XSSFCellStyle)hssfworkbook.CreateCellStyle();
////填充模式
//backgroundstyle3.FillPattern = FillPattern.SolidForeground;
////创建颜色
//XSSFColor xssfcolor3 = new XSSFColor();
////rbg值
//byte[] rgbRed3 = { (byte)244, (byte)164, (byte)96 };
////写入rgb
//xssfcolor3.SetRgb(rgbRed3);
////设置颜色值
//backgroundstyle3.SetFillForegroundColor(xssfcolor3);
/////创建字体
//XSSFFont red_content_Font3 = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
//red_content_Font3.FontName = "sans-serif";//字体
//red_content_Font3.FontHeightInPoints = 10; //字体大小
//red_content_Font3.Color = HSSFColor.Red.Index;
//backgroundstyle3.VerticalAlignment = VerticalAlignment.Center;
//backgroundstyle3.Alignment = HorizontalAlignment.Center;
//backgroundstyle3.SetFont(red_content_Font3);
//#endregion
//#region 白底红字 backgroundstyle4
////创建单元格样式
//XSSFCellStyle backgroundstyle4 = (XSSFCellStyle)hssfworkbook.CreateCellStyle();
////填充模式
//backgroundstyle4.FillPattern = FillPattern.SolidForeground;
////创建颜色
//XSSFColor xssfcolor4 = new XSSFColor();
////rbg值
//byte[] rgbWhite = { (byte)255, (byte)255, (byte)255 };//白色
// //写入rgb
//xssfcolor4.SetRgb(rgbWhite);
////设置颜色值
//backgroundstyle4.SetFillForegroundColor(xssfcolor4);
/////创建字体
//XSSFFont red_content_Font4 = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
//red_content_Font4.FontName = "sans-serif";//字体
//red_content_Font4.FontHeightInPoints = 10; //字体大小
//red_content_Font4.Color = HSSFColor.Red.Index;
//backgroundstyle4.VerticalAlignment = VerticalAlignment.Center;
//backgroundstyle4.Alignment = HorizontalAlignment.Center;
//backgroundstyle4.SetFont(red_content_Font4);
//#endregion
//#region 红底
////创建单元格样式
//XSSFCellStyle redbackgroundstyle = (XSSFCellStyle)hssfworkbook.CreateCellStyle();
////填充模式
//redbackgroundstyle.FillPattern = FillPattern.SolidForeground;
////创建颜色
//XSSFColor xssfredcolor = new XSSFColor();
////rbg值
//byte[] rgbRed = { (byte)244, (byte)164, (byte)96 };
////写入rgb
//xssfredcolor.SetRgb(rgbRed);
////设置颜色值
//redbackgroundstyle.SetFillForegroundColor(xssfredcolor);
//#endregion
//#endregion
//#region Overview
//XSSFSheet overview = (XSSFSheet)hssfworkbook.GetSheet("Overview");
//var OverviewReport = (from x in Funs.DB.VIEW_Report_Overview orderby x.ProjectControl_JobNo descending select x).ToList();
//if (!string.IsNullOrEmpty(txtJobNo.Text.Trim()))
//{
// OverviewReport = OverviewReport.Where(x => x.ProjectControl_JobNo.StartsWith(this.txtJobNo.Text.Trim())).ToList();
//}
//if (!string.IsNullOrEmpty(this.txtProjectManger.Text.Trim()))
//{
// OverviewReport = OverviewReport.Where(x => x.ProjectControl_ProjectManager.Contains(this.txtProjectManger.Text.Trim())).ToList();
//}
//if (!string.IsNullOrEmpty(this.txtEngineeringManager.Text.Trim()))
//{
// OverviewReport = OverviewReport.Where(x => x.ProjectControl_EMManager.Contains(this.txtEngineeringManager.Text.Trim())).ToList();
//}
//if (!string.IsNullOrEmpty(this.txtEngineer.Text.Trim()))
//{
// OverviewReport = OverviewReport.Where(x => x.Engineer.Contains(this.txtEngineer.Text.Trim())).ToList();
//}
//if (OverviewReport.Count > 0)
//{
// var rowIndex = 1;
// foreach (var itemOver in OverviewReport)
// {
// if (overview.GetRow(rowIndex) == null) overview.CreateRow(rowIndex);
// #region 列赋值
// if (overview.GetRow(rowIndex).GetCell(0) == null) overview.GetRow(rowIndex).CreateCell(0);
// overview.GetRow(rowIndex).GetCell(0).SetCellValue(itemOver.ProjectControl_BUCode);
// overview.GetRow(rowIndex).GetCell(0).CellStyle.SetFont(cs_content_Font);//将字体绑定到样式
// if (overview.GetRow(rowIndex).GetCell(1) == null) overview.GetRow(rowIndex).CreateCell(1);
// overview.GetRow(rowIndex).GetCell(1).SetCellValue(itemOver.ProjectControl_JobNo);
// if (overview.GetRow(rowIndex).GetCell(2) == null) overview.GetRow(rowIndex).CreateCell(2);
// overview.GetRow(rowIndex).GetCell(2).SetCellValue(itemOver.ProjectControl_JobType);
// if (overview.GetRow(rowIndex).GetCell(3) == null) overview.GetRow(rowIndex).CreateCell(3);
// overview.GetRow(rowIndex).GetCell(3).SetCellValue(itemOver.ProjectControl_LeadByName);
// if (overview.GetRow(rowIndex).GetCell(4) == null) overview.GetRow(rowIndex).CreateCell(4);
// overview.GetRow(rowIndex).GetCell(4).SetCellValue(itemOver.ProjectControl_JobTitle);
// if (overview.GetRow(rowIndex).GetCell(5) == null) overview.GetRow(rowIndex).CreateCell(5);
// overview.GetRow(rowIndex).GetCell(5).SetCellValue(itemOver.ProjectControl_OrginalBudget != null ? (double)itemOver.ProjectControl_OrginalBudget.Value : 0);
// overview.GetRow(rowIndex).GetCell(5).CellStyle = styleQfw;
// if (overview.GetRow(rowIndex).GetCell(6) == null) overview.GetRow(rowIndex).CreateCell(6);
// overview.GetRow(rowIndex).GetCell(6).SetCellValue(itemOver.ProjectControl_ProjectManager);
// if (overview.GetRow(rowIndex).GetCell(7) == null) overview.GetRow(rowIndex).CreateCell(7);
// overview.GetRow(rowIndex).GetCell(7).SetCellValue(itemOver.ProjectControl_ConstManager);
// if (overview.GetRow(rowIndex).GetCell(8) == null) overview.GetRow(rowIndex).CreateCell(8);
// overview.GetRow(rowIndex).GetCell(8).SetCellValue(itemOver.ProjectControl_EMManager);
// if (overview.GetRow(rowIndex).GetCell(9) == null) overview.GetRow(rowIndex).CreateCell(9);
// overview.GetRow(rowIndex).GetCell(9).SetCellValue(itemOver.PM_MA_ProjectApproval);
// if (overview.GetRow(rowIndex).GetCell(10) == null) overview.GetRow(rowIndex).CreateCell(10);
// overview.GetRow(rowIndex).GetCell(10).SetCellValue(itemOver.ProjectControl_MS_MC);
// if (overview.GetRow(rowIndex).GetCell(11) == null) overview.GetRow(rowIndex).CreateCell(11);
// overview.GetRow(rowIndex).GetCell(11).SetCellValue(itemOver.MCRevised);
// if (overview.GetRow(rowIndex).GetCell(12) == null) overview.GetRow(rowIndex).CreateCell(12);
// overview.GetRow(rowIndex).GetCell(12).SetCellValue(itemOver.PM_General_Priority);
// if (overview.GetRow(rowIndex).GetCell(13) == null) overview.GetRow(rowIndex).CreateCell(13);
// overview.GetRow(rowIndex).GetCell(13).SetCellValue(itemOver.PM_General_Category);
// if (overview.GetRow(rowIndex).GetCell(14) == null) overview.GetRow(rowIndex).CreateCell(14);
// overview.GetRow(rowIndex).GetCell(14).SetCellValue(itemOver.ProjectControl_JobStatus);
// if (overview.GetRow(rowIndex).GetCell(15) == null) overview.GetRow(rowIndex).CreateCell(15);
// overview.GetRow(rowIndex).GetCell(15).SetCellValue(itemOver.Schedule);
// if (overview.GetRow(rowIndex).GetCell(16) == null) overview.GetRow(rowIndex).CreateCell(16);
// overview.GetRow(rowIndex).GetCell(16).SetCellValue(itemOver.Cost);
// if (overview.GetRow(rowIndex).GetCell(17) == null) overview.GetRow(rowIndex).CreateCell(17);
// overview.GetRow(rowIndex).GetCell(17).SetCellValue(itemOver.Scope);
// if (overview.GetRow(rowIndex).GetCell(18) == null) overview.GetRow(rowIndex).CreateCell(18);
// overview.GetRow(rowIndex).GetCell(18).SetCellValue(itemOver.PM_MA_JobReveive);
// if (overview.GetRow(rowIndex).GetCell(19) == null) overview.GetRow(rowIndex).CreateCell(19);
// overview.GetRow(rowIndex).GetCell(19).SetCellValue(itemOver.EstimatedFinalCost != null ? (double)itemOver.EstimatedFinalCost.Value : 0);
// overview.GetRow(rowIndex).GetCell(19).CellStyle = styleQfw;
// if (overview.GetRow(rowIndex).GetCell(20) == null) overview.GetRow(rowIndex).CreateCell(20);
// overview.GetRow(rowIndex).GetCell(20).SetCellValue(itemOver.MCActual);
// if (overview.GetRow(rowIndex).GetCell(21) == null) overview.GetRow(rowIndex).CreateCell(21);
// if (!string.IsNullOrEmpty(itemOver.MC_Signed))
// {
// overview.GetRow(rowIndex).GetCell(21).SetCellValue(itemOver.MC_Signed);
// }
// else
// {
// if (itemOver.ProjectControl_JobType == "MOC" || itemOver.ProjectControl_JobType == "Other")
// {
// overview.GetRow(rowIndex).GetCell(21).SetCellValue("N/A");
// }
// else
// {
// overview.GetRow(rowIndex).GetCell(21).SetCellValue("");
// }
// }
// if (overview.GetRow(rowIndex).GetCell(22) == null) overview.GetRow(rowIndex).CreateCell(22);
// if (!string.IsNullOrEmpty(itemOver.RFSU))
// {
// overview.GetRow(rowIndex).GetCell(22).SetCellValue(itemOver.RFSU);
// }
// else
// {
// if (itemOver.ProjectControl_JobType == "MOC" || itemOver.ProjectControl_JobType == "Other")
// {
// overview.GetRow(rowIndex).GetCell(22).SetCellValue("N/A");
// }
// else
// {
// overview.GetRow(rowIndex).GetCell(22).SetCellValue("");
// }
// }
// if (overview.GetRow(rowIndex).GetCell(23) == null) overview.GetRow(rowIndex).CreateCell(23);
// if (!string.IsNullOrEmpty(itemOver.Punch_C_Killed))
// {
// overview.GetRow(rowIndex).GetCell(23).SetCellValue(itemOver.Punch_C_Killed);
// }
// else
// {
// if (itemOver.ProjectControl_JobType == "MOC" || itemOver.ProjectControl_JobType == "Other")
// {
// overview.GetRow(rowIndex).GetCell(23).SetCellValue("N/A");
// }
// else
// {
// overview.GetRow(rowIndex).GetCell(23).SetCellValue("");
// }
// }
// if (overview.GetRow(rowIndex).GetCell(24) == null) overview.GetRow(rowIndex).CreateCell(24);
// if (!string.IsNullOrEmpty(itemOver.FC_Signed))
// {
// overview.GetRow(rowIndex).GetCell(24).SetCellValue(itemOver.FC_Signed);
// }
// else
// {
// if (itemOver.ProjectControl_JobType == "Projects" && itemOver.ProjectControl_OrginalBudget >= 1000000 && !string.IsNullOrEmpty(itemOver.PM_MA_ProjectApproval))
// {
// overview.GetRow(rowIndex).GetCell(24).SetCellValue("");
// }
// else
// {
// overview.GetRow(rowIndex).GetCell(24).SetCellValue("N/A");
// }
// }
// if (overview.GetRow(rowIndex).GetCell(25) == null) overview.GetRow(rowIndex).CreateCell(25);
// overview.GetRow(rowIndex).GetCell(25).SetCellValue(itemOver.ProjectControl_BC_CloseDate);
// if (overview.GetRow(rowIndex).GetCell(26) == null) overview.GetRow(rowIndex).CreateCell(26);
// overview.GetRow(rowIndex).GetCell(26).SetCellValue(itemOver.IFC_Received);
// if (overview.GetRow(rowIndex).GetCell(27) == null) overview.GetRow(rowIndex).CreateCell(27);
// overview.GetRow(rowIndex).GetCell(27).SetCellValue(itemOver.As_built_Received);
// if (overview.GetRow(rowIndex).GetCell(28) == null) overview.GetRow(rowIndex).CreateCell(28);
// overview.GetRow(rowIndex).GetCell(28).SetCellValue(itemOver.MD_Received);
// if (overview.GetRow(rowIndex).GetCell(29) == null) overview.GetRow(rowIndex).CreateCell(29);
// if (!string.IsNullOrEmpty(itemOver.Date_of_Registeration))
// {
// overview.GetRow(rowIndex).GetCell(29).SetCellValue(itemOver.Date_of_Registeration);
// }
// else
// {
// if (itemOver.ProjectControl_JobType == "Other")
// {
// overview.GetRow(rowIndex).GetCell(29).SetCellValue("N/A");
// }
// else
// {
// overview.GetRow(rowIndex).GetCell(29).SetCellValue("");
// }
// }
// if (overview.GetRow(rowIndex).GetCell(30) == null) overview.GetRow(rowIndex).CreateCell(30);
// overview.GetRow(rowIndex).GetCell(30).SetCellValue(itemOver.ProjectControl_CostEffectvitity);
// if (overview.GetRow(rowIndex).GetCell(31) == null) overview.GetRow(rowIndex).CreateCell(31);
// overview.GetRow(rowIndex).GetCell(31).SetCellValue(itemOver.ProjectControl_PVIPrediction.HasValue ? Math.Round(Convert.ToDouble(itemOver.ProjectControl_PVIPrediction), 2) : 0);
// if (overview.GetRow(rowIndex).GetCell(32) == null) overview.GetRow(rowIndex).CreateCell(32);
// overview.GetRow(rowIndex).GetCell(32).SetCellValue(itemOver.ProjectControl_PC_CancelDate);
// if (overview.GetRow(rowIndex).GetCell(33) == null) overview.GetRow(rowIndex).CreateCell(33);
// overview.GetRow(rowIndex).GetCell(33).SetCellValue(itemOver.ProjectControl_Account);
// if (overview.GetRow(rowIndex).GetCell(34) == null) overview.GetRow(rowIndex).CreateCell(34);
// overview.GetRow(rowIndex).GetCell(34).SetCellValue(itemOver.ProjectControl_NetworkNo);
// if (overview.GetRow(rowIndex).GetCell(35) == null) overview.GetRow(rowIndex).CreateCell(35);
// overview.GetRow(rowIndex).GetCell(35).SetCellValue(itemOver.StudyWo);
// if (overview.GetRow(rowIndex).GetCell(36) == null) overview.GetRow(rowIndex).CreateCell(36);
// overview.GetRow(rowIndex).GetCell(36).SetCellValue(itemOver.CTEInvolved);
// if (overview.GetRow(rowIndex).GetCell(37) == null) overview.GetRow(rowIndex).CreateCell(37);
// overview.GetRow(rowIndex).GetCell(37).SetCellValue(itemOver.CAPEXPlanNo);
// if (overview.GetRow(rowIndex).GetCell(38) == null) overview.GetRow(rowIndex).CreateCell(38);
// overview.GetRow(rowIndex).GetCell(38).SetCellValue(itemOver.PM_General_CDI);
// #endregion
// #region 填充背景色
// //超出计划MC6个月仍未有实际MC日期(MC Actual)
// if (!string.IsNullOrEmpty(itemOver.ProjectControl_MS_MC))
// {
// if (Funs.GetNewDateTime(itemOver.ProjectControl_MS_MC).Value.AddMonths(6) < Funs.GetNewDateTime(DateTime.Now.ToShortDateString()) && string.IsNullOrEmpty(itemOver.MCActual))
// {
// overview.GetRow(rowIndex).GetCell(20).CellStyle = redbackgroundstyle;
// }
// }
// //超出实际MC10天仍未签MC证书MC Signed
// if (!string.IsNullOrEmpty(itemOver.MCActual))
// {
// if (Funs.GetNewDateTime(itemOver.MCActual).Value.AddDays(10) < Funs.GetNewDateTime(DateTime.Now.ToShortDateString()) && string.IsNullOrEmpty(itemOver.MC_Signed))
// {
// overview.GetRow(rowIndex).GetCell(21).CellStyle = redbackgroundstyle;
// }
// }
// //超出实际MC90天仍未签FC证书FC Signed
// if (!string.IsNullOrEmpty(itemOver.MCActual))
// {
// if (Funs.GetNewDateTime(itemOver.MCActual).Value.AddDays(90) < Funs.GetNewDateTime(DateTime.Now.ToShortDateString()) && string.IsNullOrEmpty(itemOver.FC_Signed))
// {
// overview.GetRow(rowIndex).GetCell(22).CellStyle = redbackgroundstyle;
// }
// }
// //超出FC180天仍未商务关闭的Business Closed
// if (!string.IsNullOrEmpty(itemOver.FC_Signed))
// {
// if (Funs.GetNewDateTime(itemOver.FC_Signed).Value.AddDays(180) < Funs.GetNewDateTime(DateTime.Now.ToShortDateString()) && string.IsNullOrEmpty(itemOver.ProjectControl_BC_CloseDate))
// {
// overview.GetRow(rowIndex).GetCell(23).CellStyle = redbackgroundstyle;
// }
// }
// //超出实际MC90天仍未收到AB的As-built Received
// if (!string.IsNullOrEmpty(itemOver.MCActual))
// {
// if (Funs.GetNewDateTime(itemOver.MCActual).Value.AddDays(90) < Funs.GetNewDateTime(DateTime.Now.ToShortDateString()) &&string.IsNullOrEmpty(itemOver.As_built_Received))
// {
// overview.GetRow(rowIndex).GetCell(25).CellStyle = redbackgroundstyle;
// }
// }
// #endregion
// rowIndex++;
// }
//}
//#endregion
//#region Permit_General
//XSSFSheet pg = (XSSFSheet)hssfworkbook.GetSheet("Permit_General");
//var Permit_General = (from x in Funs.DB.View_Report_PermitGeneral orderby x.ProjectControl_JobNo descending select x).ToList();
//if (!string.IsNullOrEmpty(this.txtJobNo.Text.Trim()))
//{
// Permit_General = Permit_General.Where(x => x.ProjectControl_JobNo.StartsWith(this.txtJobNo.Text.Trim())).ToList();
//}
//if (Permit_General.Count > 0)
//{
// var rowIndex = 1;
// foreach (var item in Permit_General)
// {
// if (pg.GetRow(rowIndex) == null) pg.CreateRow(rowIndex);
// #region 列赋值
// if (item.PType == "计划")
// {
// if (pg.GetRow(rowIndex).GetCell(0) == null) pg.GetRow(rowIndex).CreateCell(0);
// pg.GetRow(rowIndex).GetCell(0).SetCellValue(item.ProjectControl_JobNo);
// pg.GetRow(rowIndex).GetCell(0).CellStyle.SetFont(cs_content_Font);//将字体绑定到样式
// pg.GetRow(rowIndex).GetCell(0).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// pg.GetRow(rowIndex).GetCell(0).CellStyle.Alignment = HorizontalAlignment.Center;
// if (pg.GetRow(rowIndex).GetCell(1) == null) pg.GetRow(rowIndex).CreateCell(1);
// pg.GetRow(rowIndex).GetCell(1).SetCellValue(item.ProjectControl_JobTitle);
// pg.GetRow(rowIndex).GetCell(1).CellStyle.SetFont(cs_content_Font);
// if (pg.GetRow(rowIndex).GetCell(2) == null) pg.GetRow(rowIndex).CreateCell(2);
// pg.GetRow(rowIndex).GetCell(2).SetCellValue(item.ProjectControl_ProjectManager);
// pg.GetRow(rowIndex).GetCell(2).CellStyle.SetFont(cs_content_Font);
// pg.GetRow(rowIndex).GetCell(2).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// pg.GetRow(rowIndex).GetCell(2).CellStyle.Alignment = HorizontalAlignment.Center;
// }
// if (pg.GetRow(rowIndex).GetCell(3) == null) pg.GetRow(rowIndex).CreateCell(3);
// pg.GetRow(rowIndex).GetCell(3).SetCellValue(item.PType);
// pg.GetRow(rowIndex).GetCell(3).CellStyle.SetFont(cs_content_Font);
// pg.GetRow(rowIndex).GetCell(3).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// pg.GetRow(rowIndex).GetCell(3).CellStyle.Alignment = HorizontalAlignment.Center;
// if (pg.GetRow(rowIndex).GetCell(4) == null) pg.GetRow(rowIndex).CreateCell(4);
// pg.GetRow(rowIndex).GetCell(4).SetCellValue(item.EnvAssess);
// pg.GetRow(rowIndex).GetCell(4).CellStyle.SetFont(cs_content_Font);
// pg.GetRow(rowIndex).GetCell(4).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// pg.GetRow(rowIndex).GetCell(4).CellStyle.Alignment = HorizontalAlignment.Center;
// if (pg.GetRow(rowIndex).GetCell(5) == null) pg.GetRow(rowIndex).CreateCell(5);
// pg.GetRow(rowIndex).GetCell(5).SetCellValue(item.EnergySaving);
// pg.GetRow(rowIndex).GetCell(5).CellStyle.SetFont(cs_content_Font);
// pg.GetRow(rowIndex).GetCell(5).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// pg.GetRow(rowIndex).GetCell(5).CellStyle.Alignment = HorizontalAlignment.Center;
// if (pg.GetRow(rowIndex).GetCell(6) == null) pg.GetRow(rowIndex).CreateCell(6);
// pg.GetRow(rowIndex).GetCell(6).SetCellValue(item.ProjectRegistr);
// pg.GetRow(rowIndex).GetCell(6).CellStyle.SetFont(cs_content_Font);
// pg.GetRow(rowIndex).GetCell(6).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// pg.GetRow(rowIndex).GetCell(6).CellStyle.Alignment = HorizontalAlignment.Center;
// if (pg.GetRow(rowIndex).GetCell(7) == null) pg.GetRow(rowIndex).CreateCell(7);
// pg.GetRow(rowIndex).GetCell(7).SetCellValue(item.PlanningPermit);
// pg.GetRow(rowIndex).GetCell(7).CellStyle.SetFont(cs_content_Font);
// pg.GetRow(rowIndex).GetCell(7).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// pg.GetRow(rowIndex).GetCell(7).CellStyle.Alignment = HorizontalAlignment.Center;
// if (pg.GetRow(rowIndex).GetCell(8) == null) pg.GetRow(rowIndex).CreateCell(8);
// pg.GetRow(rowIndex).GetCell(8).SetCellValue(item.SafetyConReview);
// pg.GetRow(rowIndex).GetCell(8).CellStyle.SetFont(cs_content_Font);
// pg.GetRow(rowIndex).GetCell(8).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// pg.GetRow(rowIndex).GetCell(8).CellStyle.Alignment = HorizontalAlignment.Center;
// if (pg.GetRow(rowIndex).GetCell(9) == null) pg.GetRow(rowIndex).CreateCell(9);
// pg.GetRow(rowIndex).GetCell(9).SetCellValue(item.SafetyDesginReview);
// pg.GetRow(rowIndex).GetCell(9).CellStyle.SetFont(cs_content_Font);
// pg.GetRow(rowIndex).GetCell(9).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// pg.GetRow(rowIndex).GetCell(9).CellStyle.Alignment = HorizontalAlignment.Center;
// if (pg.GetRow(rowIndex).GetCell(10) == null) pg.GetRow(rowIndex).CreateCell(10);
// pg.GetRow(rowIndex).GetCell(10).SetCellValue(item.FFDesginReview);
// pg.GetRow(rowIndex).GetCell(10).CellStyle.SetFont(cs_content_Font);
// pg.GetRow(rowIndex).GetCell(10).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// pg.GetRow(rowIndex).GetCell(10).CellStyle.Alignment = HorizontalAlignment.Center;
// if (pg.GetRow(rowIndex).GetCell(11) == null) pg.GetRow(rowIndex).CreateCell(11);
// pg.GetRow(rowIndex).GetCell(11).SetCellValue(item.ConstPermit);
// pg.GetRow(rowIndex).GetCell(11).CellStyle.SetFont(cs_content_Font);
// pg.GetRow(rowIndex).GetCell(11).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// pg.GetRow(rowIndex).GetCell(11).CellStyle.Alignment = HorizontalAlignment.Center;
// if (pg.GetRow(rowIndex).GetCell(12) == null) pg.GetRow(rowIndex).CreateCell(12);
// pg.GetRow(rowIndex).GetCell(12).SetCellValue(item.CMStart);
// pg.GetRow(rowIndex).GetCell(12).CellStyle.SetFont(cs_content_Font);
// pg.GetRow(rowIndex).GetCell(12).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// pg.GetRow(rowIndex).GetCell(12).CellStyle.Alignment = HorizontalAlignment.Center;
// if (pg.GetRow(rowIndex).GetCell(13) == null) pg.GetRow(rowIndex).CreateCell(13);
// pg.GetRow(rowIndex).GetCell(13).SetCellValue(item.MC);
// pg.GetRow(rowIndex).GetCell(13).CellStyle.SetFont(cs_content_Font);
// pg.GetRow(rowIndex).GetCell(13).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// pg.GetRow(rowIndex).GetCell(13).CellStyle.Alignment = HorizontalAlignment.Center;
// if (pg.GetRow(rowIndex).GetCell(14) == null) pg.GetRow(rowIndex).CreateCell(14);
// pg.GetRow(rowIndex).GetCell(14).SetCellValue(item.SafetyFinalAcc);
// pg.GetRow(rowIndex).GetCell(14).CellStyle.SetFont(cs_content_Font);
// pg.GetRow(rowIndex).GetCell(14).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// pg.GetRow(rowIndex).GetCell(14).CellStyle.Alignment = HorizontalAlignment.Center;
// if (pg.GetRow(rowIndex).GetCell(15) == null) pg.GetRow(rowIndex).CreateCell(15);
// pg.GetRow(rowIndex).GetCell(15).SetCellValue(item.FFFinalAcc);
// pg.GetRow(rowIndex).GetCell(15).CellStyle.SetFont(cs_content_Font);
// pg.GetRow(rowIndex).GetCell(15).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// pg.GetRow(rowIndex).GetCell(15).CellStyle.Alignment = HorizontalAlignment.Center;
// if (pg.GetRow(rowIndex).GetCell(16) == null) pg.GetRow(rowIndex).CreateCell(16);
// pg.GetRow(rowIndex).GetCell(16).SetCellValue(item.Usin);
// pg.GetRow(rowIndex).GetCell(16).CellStyle.SetFont(cs_content_Font);
// pg.GetRow(rowIndex).GetCell(16).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// pg.GetRow(rowIndex).GetCell(16).CellStyle.Alignment = HorizontalAlignment.Center;
// if (pg.GetRow(rowIndex).GetCell(17) == null) pg.GetRow(rowIndex).CreateCell(17);
// pg.GetRow(rowIndex).GetCell(17).SetCellValue(item.EnvFinalAcc);
// pg.GetRow(rowIndex).GetCell(17).CellStyle.SetFont(cs_content_Font);
// pg.GetRow(rowIndex).GetCell(17).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// pg.GetRow(rowIndex).GetCell(17).CellStyle.Alignment = HorizontalAlignment.Center;
// #endregion
// #region 填充背景色
// if (item.PType == "计划")
// {
// #region 设置计划行背景色
// pg.GetRow(rowIndex).GetCell(0).CellStyle = backgroundstyle1;
// pg.GetRow(rowIndex).GetCell(1).CellStyle = backgroundstyle1;
// pg.GetRow(rowIndex).GetCell(2).CellStyle = backgroundstyle1;
// pg.GetRow(rowIndex).GetCell(3).CellStyle = backgroundstyle1;
// pg.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle1;
// pg.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle1;
// pg.GetRow(rowIndex).GetCell(6).CellStyle = backgroundstyle1;
// pg.GetRow(rowIndex).GetCell(7).CellStyle = backgroundstyle1;
// pg.GetRow(rowIndex).GetCell(8).CellStyle = backgroundstyle1;
// pg.GetRow(rowIndex).GetCell(9).CellStyle = backgroundstyle1;
// pg.GetRow(rowIndex).GetCell(10).CellStyle = backgroundstyle1;
// pg.GetRow(rowIndex).GetCell(11).CellStyle = backgroundstyle1;
// pg.GetRow(rowIndex).GetCell(12).CellStyle = backgroundstyle1;
// pg.GetRow(rowIndex).GetCell(13).CellStyle = backgroundstyle1;
// pg.GetRow(rowIndex).GetCell(14).CellStyle = backgroundstyle1;
// pg.GetRow(rowIndex).GetCell(15).CellStyle = backgroundstyle1;
// pg.GetRow(rowIndex).GetCell(16).CellStyle = backgroundstyle1;
// pg.GetRow(rowIndex).GetCell(17).CellStyle = backgroundstyle1;
// #endregion
// #region 如果距计划日期还有超过一个月的时间,则计划日期显示黄底黑字
// if (item.EnvAssess != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.EnvAssess))//环评
// {
// pg.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle1;
// }
// if (item.EnergySaving != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.EnergySaving))//节能报告
// {
// pg.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle1;
// }
// if (item.ProjectRegistr != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.ProjectRegistr))//项目备案
// {
// pg.GetRow(rowIndex).GetCell(6).CellStyle = backgroundstyle1;
// }
// if (item.PlanningPermit != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.PlanningPermit))//规划许可
// {
// pg.GetRow(rowIndex).GetCell(7).CellStyle = backgroundstyle1;
// }
// if (item.SafetyConReview != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.SafetyConReview))//安全条件审查
// {
// pg.GetRow(rowIndex).GetCell(8).CellStyle = backgroundstyle1;
// }
// if (item.SafetyDesginReview != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.SafetyDesginReview))//安全设施设计审查
// {
// pg.GetRow(rowIndex).GetCell(9).CellStyle = backgroundstyle1;
// }
// if (item.FFDesginReview != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.FFDesginReview))//消防设计审查
// {
// pg.GetRow(rowIndex).GetCell(10).CellStyle = backgroundstyle1;
// }
// if (item.ConstPermit != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.ConstPermit))//施工许可
// {
// pg.GetRow(rowIndex).GetCell(11).CellStyle = backgroundstyle1;
// }
// //if (item.CMStart != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.CMStart))//施工开始
// //{
// // pg.GetRow(rowIndex).GetCell(12).CellStyle = backgroundstyle1;
// //}
// //if (item.MC != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.MC))//机械竣工
// //{
// // pg.GetRow(rowIndex).GetCell(13).CellStyle = backgroundstyle1;
// //}
// if (item.SafetyFinalAcc != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.SafetyFinalAcc))//安全设施竣工验收
// {
// pg.GetRow(rowIndex).GetCell(14).CellStyle = backgroundstyle1;
// }
// if (item.FFFinalAcc != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.FFFinalAcc))//消防设施竣工验收
// {
// pg.GetRow(rowIndex).GetCell(15).CellStyle = backgroundstyle1;
// }
// //if (item.Usin != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.Usin))//投用
// //{
// // pg.GetRow(rowIndex).GetCell(16).CellStyle = backgroundstyle1;
// //}
// if (item.EnvFinalAcc != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.EnvFinalAcc))//环保设施竣工验收
// {
// pg.GetRow(rowIndex).GetCell(17).CellStyle = backgroundstyle1;
// }
// #endregion
// #region 如果下月须完成,则显示黄底红字
// if (item.EnvAssess != "-" && DateTime.Now.Year == Convert.ToDateTime(item.EnvAssess).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.EnvAssess).Month)
// {
// pg.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle2;//环评
// }
// if (item.EnergySaving != "-" && DateTime.Now.Year == Convert.ToDateTime(item.EnergySaving).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.EnergySaving).Month)
// {
// pg.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle2;//节能报告
// }
// if (item.ProjectRegistr != "-" && DateTime.Now.Year == Convert.ToDateTime(item.ProjectRegistr).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.ProjectRegistr).Month)
// {
// pg.GetRow(rowIndex).GetCell(6).CellStyle = backgroundstyle2;//项目备案
// }
// if (item.PlanningPermit != "-" && DateTime.Now.Year == Convert.ToDateTime(item.PlanningPermit).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.PlanningPermit).Month)
// {
// pg.GetRow(rowIndex).GetCell(7).CellStyle = backgroundstyle2;//规划许可
// }
// if (item.SafetyConReview != "-" && DateTime.Now.Year == Convert.ToDateTime(item.SafetyConReview).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.SafetyConReview).Month)
// {
// pg.GetRow(rowIndex).GetCell(8).CellStyle = backgroundstyle2;//安全条件审查
// }
// if (item.SafetyDesginReview != "-" && DateTime.Now.Year == Convert.ToDateTime(item.SafetyDesginReview).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.SafetyDesginReview).Month)
// {
// pg.GetRow(rowIndex).GetCell(9).CellStyle = backgroundstyle2;//安全设施设计审查
// }
// if (item.FFDesginReview != "-" && DateTime.Now.Year == Convert.ToDateTime(item.FFDesginReview).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.FFDesginReview).Month)
// {
// pg.GetRow(rowIndex).GetCell(10).CellStyle = backgroundstyle2;//消防设计审查
// }
// if (item.ConstPermit != "-" && DateTime.Now.Year == Convert.ToDateTime(item.ConstPermit).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.ConstPermit).Month)
// {
// pg.GetRow(rowIndex).GetCell(11).CellStyle = backgroundstyle2;//施工许可
// }
// //if (item.CMStart != "-" && DateTime.Now.Year == Convert.ToDateTime(item.CMStart).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.CMStart).Month)
// //{
// // pg.GetRow(rowIndex).GetCell(12).CellStyle = backgroundstyle2;//施工开始
// //}
// //if (item.MC != "-" && DateTime.Now.Year == Convert.ToDateTime(item.MC).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.MC).Month)
// //{
// // pg.GetRow(rowIndex).GetCell(13).CellStyle = backgroundstyle2;//机械竣工
// //}
// if (item.SafetyFinalAcc != "-" && DateTime.Now.Year == Convert.ToDateTime(item.SafetyFinalAcc).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.SafetyFinalAcc).Month)
// {
// pg.GetRow(rowIndex).GetCell(14).CellStyle = backgroundstyle2;//安全设施竣工验收
// }
// if (item.FFFinalAcc != "-" && DateTime.Now.Year == Convert.ToDateTime(item.FFFinalAcc).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.FFFinalAcc).Month)
// {
// pg.GetRow(rowIndex).GetCell(15).CellStyle = backgroundstyle2;//消防设施竣工验收
// }
// //if (item.Usin != "-" && DateTime.Now.Year == Convert.ToDateTime(item.Usin).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.Usin).Month)
// //{
// // pg.GetRow(rowIndex).GetCell(16).CellStyle = backgroundstyle2;//投用
// //}
// if (item.EnvFinalAcc != "-" && DateTime.Now.Year == Convert.ToDateTime(item.EnvFinalAcc).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.EnvFinalAcc).Month)
// {
// pg.GetRow(rowIndex).GetCell(17).CellStyle = backgroundstyle2;//环保设施竣工验收
// }
// #endregion
// #region 如果已过计划日期一个月,但还未完成,则显示红底红字
// var actual = (from x in Funs.DB.View_Report_PermitGeneral where x.ProjectControl_JobNo == item.ProjectControl_JobNo && x.PType == "实际" select x).FirstOrDefault();
// if (actual != null)
// {
// if (item.EnvAssess != "-" && Convert.ToDateTime(item.EnvAssess).AddMonths(1) < DateTime.Now)//环评
// {
// if (actual.EnvAssess == "-")
// {
// pg.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle3;
// }
// }
// if (item.EnergySaving != "-" && Convert.ToDateTime(item.EnergySaving).AddMonths(1) < DateTime.Now)//节能报告
// {
// if (actual.EnergySaving == "-")
// {
// pg.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle3;
// }
// }
// if (item.ProjectRegistr != "-" && Convert.ToDateTime(item.ProjectRegistr).AddMonths(1) < DateTime.Now)//项目备案
// {
// if (actual.ProjectRegistr == "-")
// {
// pg.GetRow(rowIndex).GetCell(6).CellStyle = backgroundstyle3;
// }
// }
// if (item.PlanningPermit != "-" && Convert.ToDateTime(item.PlanningPermit).AddMonths(1) < DateTime.Now)//规划许可
// {
// if (actual.PlanningPermit == "-")
// {
// pg.GetRow(rowIndex).GetCell(7).CellStyle = backgroundstyle3;
// }
// }
// if (item.SafetyConReview != "-" && Convert.ToDateTime(item.SafetyConReview).AddMonths(1) < DateTime.Now)//安全条件审查
// {
// if (actual.SafetyConReview == "-")
// {
// pg.GetRow(rowIndex).GetCell(8).CellStyle = backgroundstyle3;
// }
// }
// if (item.SafetyDesginReview != "-" && Convert.ToDateTime(item.SafetyDesginReview).AddMonths(1) < DateTime.Now)//安全设施设计审查
// {
// if (actual.SafetyDesginReview == "-")
// {
// pg.GetRow(rowIndex).GetCell(9).CellStyle = backgroundstyle3;
// }
// }
// if (item.FFDesginReview != "-" && Convert.ToDateTime(item.FFDesginReview).AddMonths(1) < DateTime.Now)//消防设计审查
// {
// if (actual.FFDesginReview == "-")
// {
// pg.GetRow(rowIndex).GetCell(10).CellStyle = backgroundstyle3;
// }
// }
// if (item.ConstPermit != "-" && Convert.ToDateTime(item.ConstPermit).AddMonths(1) < DateTime.Now)//施工许可
// {
// if (actual.ConstPermit == "-")
// {
// pg.GetRow(rowIndex).GetCell(11).CellStyle = backgroundstyle3;
// }
// }
// //if (item.CMStart != "-" && Convert.ToDateTime(item.CMStart).AddMonths(1) < DateTime.Now )//施工开始
// //{
// // if (actual.CMStart == "-")
// // {
// // pg.GetRow(rowIndex).GetCell(12).CellStyle = backgroundstyle3;
// // }
// //}
// //if (item.MC != "-" && Convert.ToDateTime(item.MC).AddMonths(1) < DateTime.Now )//机械竣工
// //{
// // if (actual.MC == "-")
// // {
// // pg.GetRow(rowIndex).GetCell(13).CellStyle = backgroundstyle3;
// // }
// //}
// if (item.SafetyFinalAcc != "-" && Convert.ToDateTime(item.SafetyFinalAcc).AddMonths(1) < DateTime.Now)//安全设施竣工验收
// {
// if (actual.SafetyFinalAcc == "-")
// {
// pg.GetRow(rowIndex).GetCell(14).CellStyle = backgroundstyle3;
// }
// }
// if (item.FFFinalAcc != "-" && Convert.ToDateTime(item.FFFinalAcc).AddMonths(1) < DateTime.Now)//消防设施竣工验收
// {
// if (actual.FFFinalAcc == "-")
// {
// pg.GetRow(rowIndex).GetCell(15).CellStyle = backgroundstyle3;
// }
// }
// //if (item.Usin != "-" && Convert.ToDateTime(item.Usin).AddMonths(1) < DateTime.Now)//投用
// //{
// // if (actual.Usin == "-")
// // {
// // pg.GetRow(rowIndex).GetCell(16).CellStyle = backgroundstyle3;
// // }
// //}
// if (item.EnvFinalAcc != "-" && Convert.ToDateTime(item.EnvFinalAcc).AddMonths(1) < DateTime.Now)//环保设施竣工验收
// {
// if (actual.EnvFinalAcc == "-")
// {
// pg.GetRow(rowIndex).GetCell(17).CellStyle = backgroundstyle3;
// }
// }
// }
// #endregion
// #region 一旦实际日期栏填入数据,则计划日期恢复成黄底黑字
// var eproject = BLL.EProjectService.GeteProjectByJobNO(item.ProjectControl_JobNo);
// if (eproject != null)
// {
// if (eproject.Permit_PPA_EnvAssess.HasValue && item.EnvAssess != "-")
// {
// pg.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle1;//环评
// }
// if (eproject.Permit_PPA_EnergySaving.HasValue && item.EnergySaving != "-")
// {
// pg.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle1;//节能报告
// }
// if (eproject.Permit_PPA_ProjectRegistration.HasValue && item.ProjectRegistr != "-")
// {
// pg.GetRow(rowIndex).GetCell(6).CellStyle = backgroundstyle1;//项目备案
// }
// if (eproject.Permit_PPA_PlanningPermit.HasValue && item.PlanningPermit != "-")
// {
// pg.GetRow(rowIndex).GetCell(7).CellStyle = backgroundstyle1;//规划许可
// }
// if (eproject.Permit_PPA_SafetyConRev.HasValue && item.SafetyConReview != "-")
// {
// pg.GetRow(rowIndex).GetCell(8).CellStyle = backgroundstyle1;//安全条件审查
// }
// if (eproject.Permit_PPA_SafetyDesignRev.HasValue && item.SafetyDesginReview != "-")
// {
// pg.GetRow(rowIndex).GetCell(9).CellStyle = backgroundstyle1;//安全设施设计审查
// }
// if (eproject.Permit_PPA_FFDesignReview.HasValue && item.FFDesginReview != "-")
// {
// pg.GetRow(rowIndex).GetCell(10).CellStyle = backgroundstyle1;//消防设计审查
// }
// if (eproject.Permit_PA_ConstPermit.HasValue && item.ConstPermit != "-")
// {
// pg.GetRow(rowIndex).GetCell(11).CellStyle = backgroundstyle1;//施工许可
// }
// //if (eproject.Permit_PA_ConstPermit.HasValue&&item.CMStart!="-")
// //{
// // pg.GetRow(rowIndex).GetCell(12).CellStyle = backgroundstyle1;//施工开始
// //}
// //if (eproject.CM_MA_MC.HasValue && item.MC != "-")
// //{
// // pg.GetRow(rowIndex).GetCell(13).CellStyle = backgroundstyle1;//机械竣工
// //}
// if (eproject.Permit_PA_SafetyFinalACC.HasValue && item.SafetyFinalAcc != "-")
// {
// pg.GetRow(rowIndex).GetCell(14).CellStyle = backgroundstyle1;//安全设施竣工验收
// }
// if (eproject.Permit_PA_FFFinalACC.HasValue && item.FFFinalAcc != "-")
// {
// pg.GetRow(rowIndex).GetCell(15).CellStyle = backgroundstyle1;//消防设施竣工验收
// }
// //if (eproject.CM_MA_MC.HasValue && item.Usin != "-")
// //{
// // pg.GetRow(rowIndex).GetCell(16).CellStyle = backgroundstyle1;//投用
// //}
// if (eproject.Permit_PA_EnvFinalACC.HasValue && item.EnvFinalAcc != "-")
// {
// pg.GetRow(rowIndex).GetCell(17).CellStyle = backgroundstyle1;//环保设施竣工验收
// }
// }
// #endregion
// }
// if (item.PType == "实际")
// {
// var plan = (from x in Funs.DB.View_Report_PermitGeneral where x.ProjectControl_JobNo == item.ProjectControl_JobNo && x.PType == "计划" select x).FirstOrDefault();
// if (plan != null)
// {
// //如果提前或按时完成,则显示白底黑字
// //if (!string.IsNullOrEmpty(item.EnvAssess) && !string.IsNullOrEmpty(plan.EnvAssess) && item.EnvAssess != "-" && plan.EnvAssess != "-" && Convert.ToDateTime(item.EnvAssess) <= Convert.ToDateTime(plan.EnvAssess))
// //{
// //}
// #region 如果是在计划日期后完成,则显示白底红字
// if (plan.EnvAssess != "-" && item.EnvAssess != "-" && Convert.ToDateTime(plan.EnvAssess) < Convert.ToDateTime(item.EnvAssess))
// {
// pg.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle4;//环评
// }
// if (plan.EnergySaving != "-" && item.EnergySaving != "-" && Convert.ToDateTime(plan.EnergySaving) < Convert.ToDateTime(item.EnergySaving))
// {
// pg.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle4;//节能报告
// }
// if (plan.ProjectRegistr != "-" && item.ProjectRegistr != "-" && Convert.ToDateTime(plan.ProjectRegistr) < Convert.ToDateTime(item.ProjectRegistr))
// {
// pg.GetRow(rowIndex).GetCell(6).CellStyle = backgroundstyle4;//项目备案
// }
// if (plan.PlanningPermit != "-" && item.PlanningPermit != "-" && Convert.ToDateTime(plan.PlanningPermit) < Convert.ToDateTime(item.PlanningPermit))
// {
// pg.GetRow(rowIndex).GetCell(7).CellStyle = backgroundstyle4;//规划许可
// }
// if (plan.SafetyConReview != "-" && item.SafetyConReview != "-" && Convert.ToDateTime(plan.SafetyConReview) < Convert.ToDateTime(item.SafetyConReview))
// {
// pg.GetRow(rowIndex).GetCell(8).CellStyle = backgroundstyle4;//安全条件审查
// }
// if (plan.SafetyDesginReview != "-" && item.SafetyDesginReview != "-" && Convert.ToDateTime(plan.SafetyDesginReview) < Convert.ToDateTime(item.SafetyDesginReview))
// {
// pg.GetRow(rowIndex).GetCell(9).CellStyle = backgroundstyle4;//安全设施设计审查
// }
// if (plan.FFDesginReview != "-" && item.FFDesginReview != "-" && Convert.ToDateTime(plan.FFDesginReview) < Convert.ToDateTime(item.FFDesginReview))
// {
// pg.GetRow(rowIndex).GetCell(10).CellStyle = backgroundstyle4;//消防设计审查
// }
// if (plan.ConstPermit != "-" && item.ConstPermit != "-" && Convert.ToDateTime(plan.ConstPermit) < Convert.ToDateTime(item.ConstPermit))
// {
// pg.GetRow(rowIndex).GetCell(11).CellStyle = backgroundstyle4;//施工许可
// }
// //if (plan.CMStart != "-" && item.CMStart != "-" && Convert.ToDateTime(plan.CMStart) < Convert.ToDateTime(item.CMStart))
// //{
// // pg.GetRow(rowIndex).GetCell(12).CellStyle = backgroundstyle4;//施工开始
// //}
// //if (plan.MC != "-" && item.MC != "-" && Convert.ToDateTime(plan.MC) < Convert.ToDateTime(item.MC))
// //{
// // pg.GetRow(rowIndex).GetCell(13).CellStyle = backgroundstyle4;//机械竣工
// //}
// if (plan.SafetyFinalAcc != "-" && item.SafetyFinalAcc != "-" && Convert.ToDateTime(plan.SafetyFinalAcc) < Convert.ToDateTime(item.SafetyFinalAcc))
// {
// pg.GetRow(rowIndex).GetCell(14).CellStyle = backgroundstyle4;//安全设施竣工验收
// }
// if (plan.FFFinalAcc != "-" && item.FFFinalAcc != "-" && Convert.ToDateTime(plan.FFFinalAcc) < Convert.ToDateTime(item.FFFinalAcc))
// {
// pg.GetRow(rowIndex).GetCell(15).CellStyle = backgroundstyle4;//消防设施竣工验收
// }
// //if (plan.Usin != "-" && item.Usin != "-" && Convert.ToDateTime(plan.Usin) < Convert.ToDateTime(item.Usin))
// //{
// // pg.GetRow(rowIndex).GetCell(16).CellStyle = backgroundstyle4;//投用
// //}
// if (plan.EnvFinalAcc != "-" && item.EnvFinalAcc != "-" && Convert.ToDateTime(plan.EnvFinalAcc) < Convert.ToDateTime(item.EnvFinalAcc))
// {
// pg.GetRow(rowIndex).GetCell(17).CellStyle = backgroundstyle4;//环保设施竣工验收
// }
// #endregion
// }
// }
// #endregion
// rowIndex++;
// }
//}
//#endregion
//#region Permit_Pressure Piping & Vesse
//XSSFSheet ppv = (XSSFSheet)hssfworkbook.GetSheet("Permit_Pressure Piping & Vesse");
//var PressurePipingVesseReport = (from x in Funs.DB.View_Report_Permit_PressurePipingVesse orderby x.ProjectControl_JobNo descending select x).ToList();
//if (!string.IsNullOrEmpty(this.txtJobNo.Text.Trim()))
//{
// PressurePipingVesseReport = PressurePipingVesseReport.Where(x => x.ProjectControl_JobNo.StartsWith(this.txtJobNo.Text.Trim())).ToList();
//}
//if (PressurePipingVesseReport.Count > 0)
//{
// var rowIndex = 1;
// foreach (var item in PressurePipingVesseReport)
// {
// if (ppv.GetRow(rowIndex) == null) ppv.CreateRow(rowIndex);
// #region 列赋值
// if (item.PType == "计划")
// {
// if (ppv.GetRow(rowIndex).GetCell(0) == null) ppv.GetRow(rowIndex).CreateCell(0);
// ppv.GetRow(rowIndex).GetCell(0).SetCellValue(item.ProjectControl_JobNo);
// ppv.GetRow(rowIndex).GetCell(0).CellStyle.SetFont(cs_content_Font);//将字体绑定到样式
// ppv.GetRow(rowIndex).GetCell(0).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// ppv.GetRow(rowIndex).GetCell(0).CellStyle.Alignment = HorizontalAlignment.Center;
// if (ppv.GetRow(rowIndex).GetCell(1) == null) ppv.GetRow(rowIndex).CreateCell(1);
// ppv.GetRow(rowIndex).GetCell(1).SetCellValue(item.ProjectControl_JobTitle);
// ppv.GetRow(rowIndex).GetCell(1).CellStyle.SetFont(cs_content_Font);
// if (ppv.GetRow(rowIndex).GetCell(2) == null) ppv.GetRow(rowIndex).CreateCell(2);
// ppv.GetRow(rowIndex).GetCell(2).SetCellValue(item.ProjectControl_ProjectManager);
// ppv.GetRow(rowIndex).GetCell(2).CellStyle.SetFont(cs_content_Font);
// ppv.GetRow(rowIndex).GetCell(2).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// ppv.GetRow(rowIndex).GetCell(2).CellStyle.Alignment = HorizontalAlignment.Center;
// }
// if (ppv.GetRow(rowIndex).GetCell(3) == null) ppv.GetRow(rowIndex).CreateCell(3);
// ppv.GetRow(rowIndex).GetCell(3).SetCellValue(item.PType);
// ppv.GetRow(rowIndex).GetCell(3).CellStyle.SetFont(cs_content_Font);
// ppv.GetRow(rowIndex).GetCell(3).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// ppv.GetRow(rowIndex).GetCell(3).CellStyle.Alignment = HorizontalAlignment.Center;
// if (ppv.GetRow(rowIndex).GetCell(4) == null) ppv.GetRow(rowIndex).CreateCell(4);
// ppv.GetRow(rowIndex).GetCell(4).SetCellValue(item.PressurePiping);
// ppv.GetRow(rowIndex).GetCell(4).CellStyle.SetFont(cs_content_Font);
// ppv.GetRow(rowIndex).GetCell(4).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// ppv.GetRow(rowIndex).GetCell(4).CellStyle.Alignment = HorizontalAlignment.Center;
// if (ppv.GetRow(rowIndex).GetCell(5) == null) ppv.GetRow(rowIndex).CreateCell(5);
// ppv.GetRow(rowIndex).GetCell(5).SetCellValue(item.PressureVessel);
// ppv.GetRow(rowIndex).GetCell(5).CellStyle.SetFont(cs_content_Font);
// ppv.GetRow(rowIndex).GetCell(5).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// ppv.GetRow(rowIndex).GetCell(5).CellStyle.Alignment = HorizontalAlignment.Center;
// if (ppv.GetRow(rowIndex).GetCell(6) == null) ppv.GetRow(rowIndex).CreateCell(6);
// ppv.GetRow(rowIndex).GetCell(6).SetCellValue(item.SQIB);
// ppv.GetRow(rowIndex).GetCell(6).CellStyle.SetFont(cs_content_Font);
// ppv.GetRow(rowIndex).GetCell(6).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// ppv.GetRow(rowIndex).GetCell(6).CellStyle.Alignment = HorizontalAlignment.Center;
// if (ppv.GetRow(rowIndex).GetCell(7) == null) ppv.GetRow(rowIndex).CreateCell(7);
// ppv.GetRow(rowIndex).GetCell(7).SetCellValue(item.ArchiveAccep);
// ppv.GetRow(rowIndex).GetCell(7).CellStyle.SetFont(cs_content_Font);
// ppv.GetRow(rowIndex).GetCell(7).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// ppv.GetRow(rowIndex).GetCell(7).CellStyle.Alignment = HorizontalAlignment.Center;
// if (ppv.GetRow(rowIndex).GetCell(8) == null) ppv.GetRow(rowIndex).CreateCell(8);
// ppv.GetRow(rowIndex).GetCell(8).SetCellValue(item.ThrdConstJian);
// ppv.GetRow(rowIndex).GetCell(8).CellStyle.SetFont(cs_content_Font);
// ppv.GetRow(rowIndex).GetCell(8).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// ppv.GetRow(rowIndex).GetCell(8).CellStyle.Alignment = HorizontalAlignment.Center;
// #endregion
// #region 填充背景色
// if (item.PType == "计划")
// {
// #region 设置计划行背景色
// ppv.GetRow(rowIndex).GetCell(0).CellStyle = backgroundstyle1;
// ppv.GetRow(rowIndex).GetCell(1).CellStyle = backgroundstyle1;
// ppv.GetRow(rowIndex).GetCell(2).CellStyle = backgroundstyle1;
// ppv.GetRow(rowIndex).GetCell(3).CellStyle = backgroundstyle1;
// ppv.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle1;
// ppv.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle1;
// ppv.GetRow(rowIndex).GetCell(6).CellStyle = backgroundstyle1;
// ppv.GetRow(rowIndex).GetCell(7).CellStyle = backgroundstyle1;
// ppv.GetRow(rowIndex).GetCell(8).CellStyle = backgroundstyle1;
// #endregion
// #region 如果距计划日期还有超过一个月的时间,则计划日期显示黄底黑字
// if (item.PressurePiping != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.PressurePiping))//压力管道
// {
// ppv.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle1;
// }
// if (item.PressureVessel != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.PressureVessel))//压力容器
// {
// ppv.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle1;
// }
// #endregion
// #region 如果下月须完成,则显示黄底红字
// if (item.PressurePiping != "-" && DateTime.Now.Year == Convert.ToDateTime(item.PressurePiping).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.PressurePiping).Month)
// {
// ppv.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle2;//压力管道
// }
// if (item.PressureVessel != "-" && DateTime.Now.Year == Convert.ToDateTime(item.PressureVessel).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.PressureVessel).Month)
// {
// ppv.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle2;//压力容器
// }
// #endregion
// #region 如果已过计划日期一个月,但还未完成,则显示红底红字
// var actual = (from x in Funs.DB.View_Report_Permit_PressurePipingVesse where x.ProjectControl_JobNo == item.ProjectControl_JobNo && x.PType == "实际" select x).FirstOrDefault();
// if (actual != null)
// {
// if (item.PressurePiping != "-" && Convert.ToDateTime(item.PressurePiping).AddMonths(1) < DateTime.Now)//压力管道
// {
// if (actual.PressurePiping == "-")
// {
// ppv.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle3;
// }
// }
// if (item.PressureVessel != "-" && Convert.ToDateTime(item.PressureVessel).AddMonths(1) < DateTime.Now)//压力容器
// {
// if (actual.PressureVessel == "-")
// {
// ppv.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle3;
// }
// }
// }
// #endregion
// #region 一旦实际日期栏填入数据,则计划日期恢复成黄底黑字
// var eproject = BLL.EProjectService.GeteProjectByJobNO(item.ProjectControl_JobNo);
// if (eproject != null)
// {
// if (eproject.SQIB_PressurePiping.HasValue && item.PressurePiping != "-")
// {
// ppv.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle1;//压力管道
// }
// if (eproject.SQIB_PressureVessel.HasValue && item.PressureVessel != "-")
// {
// ppv.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle1;//压力容器
// }
// }
// #endregion
// }
// if (item.PType == "实际")
// {
// var plan = (from x in Funs.DB.View_Report_Permit_PressurePipingVesse where x.ProjectControl_JobNo == item.ProjectControl_JobNo && x.PType == "计划" select x).FirstOrDefault();
// if (plan != null)
// {
// //如果提前或按时完成,则显示白底黑字
// //if (!string.IsNullOrEmpty(item.EnvAssess) && !string.IsNullOrEmpty(plan.EnvAssess) && item.EnvAssess != "-" && plan.EnvAssess != "-" && Convert.ToDateTime(item.EnvAssess) <= Convert.ToDateTime(plan.EnvAssess))
// //{
// //}
// #region 如果是在计划日期后完成,则显示白底红字
// if (plan.PressurePiping != "-" && item.PressurePiping != "-" && Convert.ToDateTime(plan.PressurePiping) < Convert.ToDateTime(item.PressurePiping))
// {
// ppv.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle4;//压力管道
// }
// if (plan.PressureVessel != "-" && item.PressureVessel != "-" && Convert.ToDateTime(plan.PressureVessel) < Convert.ToDateTime(item.PressureVessel))
// {
// ppv.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle4;//压力容器
// }
// #endregion
// }
// }
// #endregion
// rowIndex++;
// }
//}
//#endregion
//#region Schedule_Gantt_Bar
//XSSFSheet sgb = (XSSFSheet)hssfworkbook.GetSheet("Schedule_Gantt_Bar");
//string strSql = @"SELECT * FROM View_Report_ScheduleGanttBar WHERE 1=1 ";
//List<SqlParameter> listStr = new List<SqlParameter>();
//if (!string.IsNullOrEmpty(this.txtJobNo.Text.Trim()))
//{
// strSql += " AND ProjectControl_JobNo LIKE @JobNO ";
// listStr.Add(new SqlParameter("@JobNO", this.txtJobNo.Text.Trim() + "%"));
//}
//strSql += " order by ProjectControl_JobNo desc";
//SqlParameter[] parameter = listStr.ToArray();
//DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
//GregorianCalendar gc = new GregorianCalendar();
//for (int i = -3; i < 2; i++)
//{
// DateTime dateTime = new DateTime(DateTime.Now.Year + i, 12, 31);
// for (int j = 1; j <= gc.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Monday); j++)
// {
// tb.Columns.Add(dateTime.Year + "-" + j, System.Type.GetType("System.String"));
// }
//}
//for (int i = 0; i < tb.Rows.Count; i++)
//{
// try
// {
// var ReceiveDate = tb.Rows[i]["ReceiveDate"];
// var ApprovalDate = tb.Rows[i]["ApprovalDate"];
// var ConstStart = tb.Rows[i]["ConstMECivilStart"];
// var DEMEEnd = tb.Rows[i]["DEMECivilEnd"];
// var ConstEnd = tb.Rows[i]["ConstMECivilEnd"];
// if (ReceiveDate is DateTime && ApprovalDate is DateTime)
// {
// DateTime start = (DateTime)ReceiveDate;
// DateTime end = (DateTime)ApprovalDate;
// for (; start < end; start = start.AddDays(7))
// {
// if (tb.Columns.Contains(start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)))
// tb.Rows[i][start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)] = "A";
// }
// }
// if (ApprovalDate is DateTime && ConstStart is DateTime)
// {
// DateTime start = (DateTime)ApprovalDate;
// DateTime end = (DateTime)ConstStart;
// for (; start < end; start = start.AddDays(7))
// {
// if (tb.Columns.Contains(start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)))
// tb.Rows[i][start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)] = "B";
// }
// }
// if (ConstStart is DateTime && DEMEEnd is DateTime)
// {
// DateTime start = (DateTime)ConstStart;
// DateTime end = (DateTime)DEMEEnd;
// for (; start < end; start = start.AddDays(7))
// {
// if (tb.Columns.Contains(start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)))
// tb.Rows[i][start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)] = "C";
// }
// }
// if (DEMEEnd is DateTime && ConstEnd is DateTime)
// {
// DateTime start = (DateTime)DEMEEnd;
// DateTime end = (DateTime)ConstEnd;
// for (; start < end; start = start.AddDays(7))
// {
// if (tb.Columns.Contains(start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)))
// tb.Rows[i][start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)] = "D";
// }
// }
// }
// catch (Exception e1)
// {
// }
//}
////计算excel表头
//int index = 1;
//cs_content_Font.FontHeightInPoints = 10; //字体大小
//ICellStyle styleToday = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
//styleToday.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Pink.Index;
//styleToday.FillPattern = FillPattern.SolidForeground;
//for (int i = -3; i < 2; i++)
//{
// DateTime dateTime = new DateTime(DateTime.Now.Year + i, 12, 31);
// ICellStyle styleTitle = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
// switch (i)
// {
// case -3:
// styleTitle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.CornflowerBlue.Index;
// break;
// case -2:
// styleTitle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.LightYellow.Index;
// break;
// case -1:
// styleTitle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Rose.Index;
// break;
// case 0:
// styleTitle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Green.Index;
// break;
// case 1:
// styleTitle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.SkyBlue.Index;
// break;
// }
// styleTitle.FillPattern = FillPattern.SolidForeground;
// for (int j = 1; j <= gc.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Monday); j++)
// {
// byte[] rgb = new byte[3] { 192, 0, 0 };
// sgb.GetRow(0).CreateCell(index + 6);
// sgb.GetRow(1).CreateCell(index + 6).SetCellValue(j);
// sgb.GetRow(0).GetCell(index + 6).CellStyle = styleTitle;
// if (dateTime.Year == DateTime.Now.Year && gc.GetWeekOfYear(DateTime.Now, CalendarWeekRule.FirstDay, DayOfWeek.Monday) ==j)
// {
// sgb.GetRow(1).GetCell(index + 6).CellStyle = styleToday;
// sgb.GetRow(1).GetCell(index + 6).CellStyle.VerticalAlignment = VerticalAlignment.Bottom;
// }
// else
// {
// sgb.GetRow(1).GetCell(index + 6).CellStyle = styleTitle;
// sgb.GetRow(1).GetCell(index + 6).CellStyle.VerticalAlignment = VerticalAlignment.Center;
// }
// sgb.GetRow(1).GetCell(index + 6).CellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
// sgb.GetRow(1).GetCell(index + 6).CellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
// sgb.GetRow(1).GetCell(index + 6).CellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
// sgb.GetRow(1).GetCell(index + 6).CellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
// //sgb.GetRow(0).GetCell(index + 6).CellStyle.SetFont(cs_content_Font);//将字体绑定到样式
// //sgb.GetRow(1).GetCell(index + 6).CellStyle.SetFont(cs_content_Font);//将字体绑定到样式
// index++;
// }
// CellRangeAddress cellRangeAddress = new CellRangeAddress(0, 0, index + 6 - gc.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Monday), (index + 5));
// sgb.AddMergedRegion(cellRangeAddress);
// sgb.GetRow(0).GetCell(index + 6 - gc.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Monday)).SetCellValue(dateTime.Year);
// sgb.GetRow(0).GetCell(index + 6 - gc.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Monday)).CellStyle.Alignment = HorizontalAlignment.Center;
//}
//ICellStyle style = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
//style.FillPattern = FillPattern.SolidForeground;
//ICellStyle styleA = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
//styleA.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Yellow.Index;
//styleA.FillPattern = FillPattern.SolidForeground;
//ICellStyle styleB = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
//styleB.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.LightBlue.Index;
//styleB.FillPattern = FillPattern.SolidForeground;
//ICellStyle styleC = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
//styleC.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Indigo.Index;
//styleC.FillPattern = FillPattern.SolidForeground;
//ICellStyle styleD = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
//styleD.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.LightBlue.Index;
//styleD.FillPattern = FillPattern.SolidForeground;
//if (tb.Rows.Count > 0)
//{
// var rowIndex = 2;
// for (int i = 0; i < tb.Rows.Count; i++)
// {
// if (sgb.GetRow(rowIndex) == null) sgb.CreateRow(rowIndex);
// //XSSFFont cs_content_Font = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
// //cs_content_Font.FontHeightInPoints = 10; //字体大小
// #region 列赋值
// if (sgb.GetRow(rowIndex).GetCell(0) == null) sgb.GetRow(rowIndex).CreateCell(0);
// sgb.GetRow(rowIndex).GetCell(0).SetCellValue(tb.Rows[i]["ProjectControl_JobNo"].ToString());
// //sgb.GetRow(rowIndex).GetCell(0).CellStyle.SetFont(cs_content_Font);//将字体绑定到样式
// if (sgb.GetRow(rowIndex).GetCell(1) == null) sgb.GetRow(rowIndex).CreateCell(1);
// sgb.GetRow(rowIndex).GetCell(1).SetCellValue(tb.Rows[i]["ProjectControl_BUCode"].ToString());
// if (sgb.GetRow(rowIndex).GetCell(2) == null) sgb.GetRow(rowIndex).CreateCell(2);
// sgb.GetRow(rowIndex).GetCell(2).SetCellValue(tb.Rows[i]["ProjectControl_JobType"].ToString());
// if (sgb.GetRow(rowIndex).GetCell(3) == null) sgb.GetRow(rowIndex).CreateCell(3);
// sgb.GetRow(rowIndex).GetCell(3).SetCellValue(tb.Rows[i]["ProjectControl_JobTitle"].ToString());
// if (sgb.GetRow(rowIndex).GetCell(4) == null) sgb.GetRow(rowIndex).CreateCell(4);
// sgb.GetRow(rowIndex).GetCell(4).SetCellValue(tb.Rows[i]["PM_General_Priority"].ToString());
// if (sgb.GetRow(rowIndex).GetCell(5) == null) sgb.GetRow(rowIndex).CreateCell(5);
// sgb.GetRow(rowIndex).GetCell(5).SetCellValue(tb.Rows[i]["PM_General_Category"].ToString());
// if (sgb.GetRow(rowIndex).GetCell(6) == null) sgb.GetRow(rowIndex).CreateCell(6);
// sgb.GetRow(rowIndex).GetCell(6).SetCellValue(tb.Rows[i]["Schedule"].ToString());
// for (int j = 7; j < tb.Columns.Count - 6; j++)
// {
// if (sgb.GetRow(rowIndex).GetCell(j) == null) sgb.GetRow(rowIndex).CreateCell(j);
// sgb.GetRow(rowIndex).GetCell(j).SetCellValue(tb.Rows[i][j + 6].ToString());
// switch (tb.Rows[i][j + 6].ToString())
// {
// case "A":
// sgb.GetRow(rowIndex).GetCell(j).CellStyle = styleA;
// break;
// case "B":
// sgb.GetRow(rowIndex).GetCell(j).CellStyle = styleB;
// break;
// case "C":
// sgb.GetRow(rowIndex).GetCell(j).CellStyle = styleC;
// break;
// case "D":
// sgb.GetRow(rowIndex).GetCell(j).CellStyle = styleD;
// break;
// }
// }
// #endregion
// rowIndex++;
// }
//}
//#endregion
//overview.ForceFormulaRecalculation = true;
//pg.ForceFormulaRecalculation = true;
//ppv.ForceFormulaRecalculation = true;
//sgb.ForceFormulaRecalculation = true;
//using (FileStream filess = File.OpenWrite(ReportFileName))
//{
// hssfworkbook.Write(filess);
//}
//FileInfo filet = new FileInfo(ReportFileName);
//Response.Clear();
//Response.Charset = "GB2312";
//Response.ContentEncoding = System.Text.Encoding.UTF8;
//// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
//Response.AddHeader("Content-Disposition", "attachment; filename=P31_Overview_Report_" + Server.UrlEncode(DateTime.Now.ToString("yyyyMMddhhmmss") + ".xlsx"));
//// 添加头信息,指定文件大小,让浏览器能够显示下载进度
//Response.AddHeader("Content-Length", filet.Length.ToString());
//// 指定返回的是一个不能被客户端读取的流,必须被下载
//Response.ContentType = "application/ms-excel";
//// 把文件流发送到客户端
//Response.WriteFile(filet.FullName);
//// 停止页面的执行
//Response.End();
#endregion
}
private void Export(string strSql, SqlParameter[] parameter, List<View_Report_PermitGeneral> Permit_General, List<VIEW_Report_Overview> OverviewReport, List<View_Report_Permit_PressurePipingVesse> PressurePipingVesseReport)
{
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
int overNum = OverviewReport.Count();
int prepipingNum = PressurePipingVesseReport.Count();
int permitNum = Permit_General.Count();
int ganttBarNum = tb.Rows.Count;
int totalNum = overNum + permitNum + prepipingNum + ganttBarNum;
string rootPath = Server.MapPath("~/") + Const.ExcelUrl;
//模板文件
string TempletFileName = rootPath + "OverviewReport.xlsx";
//导出文件
string filePath = rootPath + DateTime.Now.ToString("yyyyMMddhhmmss") + "\\";
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
//string ReportFileName = filePath + "out.xlsx";
string ReportFileName = filePath + "P31_Overview_Report_" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xlsx";
FileStream file = new FileStream(TempletFileName, FileMode.Open, FileAccess.Read);
XSSFWorkbook hssfworkbook = new XSSFWorkbook(file);
XSSFFont cs_content_Font = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
cs_content_Font.FontName = "sans-serif";//字体
cs_content_Font.FontHeightInPoints = 10; //字体大小
IDataFormat dataformat = hssfworkbook.CreateDataFormat();
ICellStyle styleQfw = hssfworkbook.CreateCellStyle();
styleQfw.VerticalAlignment = VerticalAlignment.Center;
styleQfw.Alignment = HorizontalAlignment.Right;
styleQfw.DataFormat = dataformat.GetFormat("#,##0.00");
styleQfw.SetFont(cs_content_Font);
ICellStyle styleDate = hssfworkbook.CreateCellStyle();
styleDate.DataFormat = dataformat.GetFormat("yyyy/m/d");
styleDate.SetFont(cs_content_Font);
#region
#region
//创建单元格样式
//XSSFCellStyle backgroundstyle = (XSSFCellStyle)hssfworkbook.CreateCellStyle();
////填充模式
//backgroundstyle.FillPattern = FillPattern.SolidForeground;
////创建颜色
//XSSFColor xssfcolor = new XSSFColor();
////rbg值
//byte[] rgbYellow = { (byte)250, (byte)250, (byte)210 };
////写入rgb
//xssfcolor.SetRgb(rgbYellow);
////设置颜色值
//backgroundstyle.SetFillForegroundColor(xssfcolor);
#endregion
#region backgroundstyle1
//创建单元格样式
XSSFCellStyle backgroundstyle1 = (XSSFCellStyle)hssfworkbook.CreateCellStyle();
//填充模式
backgroundstyle1.FillPattern = FillPattern.SolidForeground;
//创建颜色
XSSFColor xssfcolor1 = new XSSFColor();
//rbg值
byte[] rgbYellow1 = { (byte)250, (byte)250, (byte)210 };
//写入rgb
xssfcolor1.SetRgb(rgbYellow1);
//设置颜色值
backgroundstyle1.SetFillForegroundColor(xssfcolor1);
//创建字体
XSSFFont red_content_Font = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
red_content_Font.FontName = "sans-serif";//字体
red_content_Font.FontHeightInPoints = 10; //字体大小
red_content_Font.Color = HSSFColor.Black.Index;//黑字
backgroundstyle1.VerticalAlignment = VerticalAlignment.Center;
backgroundstyle1.Alignment = HorizontalAlignment.Center;
backgroundstyle1.SetFont(red_content_Font);
#endregion
#region backgroundstyle2
//创建单元格样式
XSSFCellStyle backgroundstyle2 = (XSSFCellStyle)hssfworkbook.CreateCellStyle();
//填充模式
backgroundstyle2.FillPattern = FillPattern.SolidForeground;
//创建颜色
XSSFColor xssfcolor2 = new XSSFColor();
//rbg值
byte[] rgbYellow2 = { (byte)250, (byte)250, (byte)210 };
//写入rgb
xssfcolor2.SetRgb(rgbYellow2);
//设置颜色值
backgroundstyle2.SetFillForegroundColor(xssfcolor2);
//创建字体
XSSFFont red_content_Font2 = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
red_content_Font2.FontName = "sans-serif";//字体
red_content_Font2.FontHeightInPoints = 10; //字体大小
red_content_Font2.Color = HSSFColor.Red.Index;//黑字
backgroundstyle2.VerticalAlignment = VerticalAlignment.Center;
backgroundstyle2.Alignment = HorizontalAlignment.Center;
backgroundstyle2.SetFont(red_content_Font2);
#endregion
#region backgroundstyle3
//创建单元格样式
XSSFCellStyle backgroundstyle3 = (XSSFCellStyle)hssfworkbook.CreateCellStyle();
//填充模式
backgroundstyle3.FillPattern = FillPattern.SolidForeground;
//创建颜色
XSSFColor xssfcolor3 = new XSSFColor();
//rbg值
byte[] rgbRed3 = { (byte)244, (byte)164, (byte)96 };
//写入rgb
xssfcolor3.SetRgb(rgbRed3);
//设置颜色值
backgroundstyle3.SetFillForegroundColor(xssfcolor3);
///创建字体
XSSFFont red_content_Font3 = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
red_content_Font3.FontName = "sans-serif";//字体
red_content_Font3.FontHeightInPoints = 10; //字体大小
red_content_Font3.Color = HSSFColor.Red.Index;
backgroundstyle3.VerticalAlignment = VerticalAlignment.Center;
backgroundstyle3.Alignment = HorizontalAlignment.Center;
backgroundstyle3.SetFont(red_content_Font3);
#endregion
#region backgroundstyle4
//创建单元格样式
XSSFCellStyle backgroundstyle4 = (XSSFCellStyle)hssfworkbook.CreateCellStyle();
//填充模式
backgroundstyle4.FillPattern = FillPattern.SolidForeground;
//创建颜色
XSSFColor xssfcolor4 = new XSSFColor();
//rbg值
byte[] rgbWhite = { (byte)255, (byte)255, (byte)255 };//白色
//写入rgb
xssfcolor4.SetRgb(rgbWhite);
//设置颜色值
backgroundstyle4.SetFillForegroundColor(xssfcolor4);
///创建字体
XSSFFont red_content_Font4 = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
red_content_Font4.FontName = "sans-serif";//字体
red_content_Font4.FontHeightInPoints = 10; //字体大小
red_content_Font4.Color = HSSFColor.Red.Index;
backgroundstyle4.VerticalAlignment = VerticalAlignment.Center;
backgroundstyle4.Alignment = HorizontalAlignment.Center;
backgroundstyle4.SetFont(red_content_Font4);
#endregion
#region
//创建单元格样式
XSSFCellStyle redbackgroundstyle = (XSSFCellStyle)hssfworkbook.CreateCellStyle();
//填充模式
redbackgroundstyle.FillPattern = FillPattern.SolidForeground;
//创建颜色
XSSFColor xssfredcolor = new XSSFColor();
//rbg值
byte[] rgbRed = { (byte)244, (byte)164, (byte)96 };
//写入rgb
xssfredcolor.SetRgb(rgbRed);
//设置颜色值
redbackgroundstyle.SetFillForegroundColor(xssfredcolor);
redbackgroundstyle.SetFont(cs_content_Font);
#endregion
#region
//创建单元格样式
XSSFCellStyle redDatestyle = (XSSFCellStyle)hssfworkbook.CreateCellStyle();
//填充模式
redDatestyle.FillPattern = FillPattern.SolidForeground;
//创建颜色
XSSFColor redDatecolor = new XSSFColor();
//rbg值
byte[] rgbDateRed = { (byte)244, (byte)164, (byte)96 };
//写入rgb
redDatecolor.SetRgb(rgbDateRed);
//设置颜色值
redDatestyle.SetFillForegroundColor(redDatecolor);
redDatestyle.DataFormat = dataformat.GetFormat("yyyy/m/d");
redDatestyle.SetFont(cs_content_Font);
#endregion
#endregion
#region Overview
XSSFSheet overview = (XSSFSheet)hssfworkbook.GetSheet("Overview");
if (OverviewReport.Count > 0)
{
var rowIndex = 1;
foreach (var itemOver in OverviewReport)
{
if (overview.GetRow(rowIndex) == null) overview.CreateRow(rowIndex);
#region
if (overview.GetRow(rowIndex).GetCell(0) == null) overview.GetRow(rowIndex).CreateCell(0);
overview.GetRow(rowIndex).GetCell(0).SetCellValue(itemOver.ProjectControl_BUCode);
overview.GetRow(rowIndex).GetCell(0).CellStyle.SetFont(cs_content_Font);//将字体绑定到样式
if (overview.GetRow(rowIndex).GetCell(1) == null) overview.GetRow(rowIndex).CreateCell(1);
overview.GetRow(rowIndex).GetCell(1).SetCellValue(itemOver.ProjectControl_JobNo);
if (overview.GetRow(rowIndex).GetCell(2) == null) overview.GetRow(rowIndex).CreateCell(2);
overview.GetRow(rowIndex).GetCell(2).SetCellValue(itemOver.ProjectControl_JobType);
if (overview.GetRow(rowIndex).GetCell(3) == null) overview.GetRow(rowIndex).CreateCell(3);
overview.GetRow(rowIndex).GetCell(3).SetCellValue(itemOver.ProjectControl_LeadByName);
if (overview.GetRow(rowIndex).GetCell(4) == null) overview.GetRow(rowIndex).CreateCell(4);
overview.GetRow(rowIndex).GetCell(4).SetCellValue(itemOver.ProjectControl_JobTitle);
if (overview.GetRow(rowIndex).GetCell(5) == null) overview.GetRow(rowIndex).CreateCell(5);
overview.GetRow(rowIndex).GetCell(5).SetCellValue(itemOver.ProjectControl_OrginalBudget != null ? (double)itemOver.ProjectControl_OrginalBudget.Value : 0);
overview.GetRow(rowIndex).GetCell(5).CellStyle = styleQfw;
if (overview.GetRow(rowIndex).GetCell(6) == null) overview.GetRow(rowIndex).CreateCell(6);
overview.GetRow(rowIndex).GetCell(6).SetCellValue(itemOver.ProjectControl_ProjectManager);
if (overview.GetRow(rowIndex).GetCell(7) == null) overview.GetRow(rowIndex).CreateCell(7);
overview.GetRow(rowIndex).GetCell(7).SetCellValue(itemOver.ProjectControl_ConstManager);
if (overview.GetRow(rowIndex).GetCell(8) == null) overview.GetRow(rowIndex).CreateCell(8);
overview.GetRow(rowIndex).GetCell(8).SetCellValue(itemOver.ProjectControl_EMManager);
if (overview.GetRow(rowIndex).GetCell(9) == null) overview.GetRow(rowIndex).CreateCell(9);
if (!string.IsNullOrEmpty(itemOver.PM_MA_ProjectApproval))
{
overview.GetRow(rowIndex).GetCell(9).SetCellValue((DateTime)Convert.ToDateTime(itemOver.PM_MA_ProjectApproval.ToString()));
overview.GetRow(rowIndex).GetCell(9).CellStyle = styleDate;
}
if (overview.GetRow(rowIndex).GetCell(10) == null) overview.GetRow(rowIndex).CreateCell(10);
if (!string.IsNullOrEmpty(itemOver.ProjectControl_MS_MC))
{
overview.GetRow(rowIndex).GetCell(10).SetCellValue((DateTime)Convert.ToDateTime(itemOver.ProjectControl_MS_MC.ToString()));
overview.GetRow(rowIndex).GetCell(10).CellStyle = styleDate;
}
if (overview.GetRow(rowIndex).GetCell(11) == null) overview.GetRow(rowIndex).CreateCell(11);
if (!string.IsNullOrEmpty(itemOver.MCRevised))
{
overview.GetRow(rowIndex).GetCell(11).SetCellValue((DateTime)Convert.ToDateTime(itemOver.MCRevised.ToString()));
overview.GetRow(rowIndex).GetCell(11).CellStyle = styleDate;
}
if (overview.GetRow(rowIndex).GetCell(12) == null) overview.GetRow(rowIndex).CreateCell(12);
overview.GetRow(rowIndex).GetCell(12).SetCellValue(itemOver.PM_General_Priority);
if (overview.GetRow(rowIndex).GetCell(13) == null) overview.GetRow(rowIndex).CreateCell(13);
overview.GetRow(rowIndex).GetCell(13).SetCellValue(itemOver.PM_General_Category);
if (overview.GetRow(rowIndex).GetCell(14) == null) overview.GetRow(rowIndex).CreateCell(14);
overview.GetRow(rowIndex).GetCell(14).SetCellValue(itemOver.ProjectControl_JobStatus);
if (overview.GetRow(rowIndex).GetCell(15) == null) overview.GetRow(rowIndex).CreateCell(15);
overview.GetRow(rowIndex).GetCell(15).SetCellValue(itemOver.Schedule);
if (overview.GetRow(rowIndex).GetCell(16) == null) overview.GetRow(rowIndex).CreateCell(16);
overview.GetRow(rowIndex).GetCell(16).SetCellValue(itemOver.Cost);
if (overview.GetRow(rowIndex).GetCell(17) == null) overview.GetRow(rowIndex).CreateCell(17);
overview.GetRow(rowIndex).GetCell(17).SetCellValue(itemOver.Scope);
if (overview.GetRow(rowIndex).GetCell(18) == null) overview.GetRow(rowIndex).CreateCell(18);
if (!string.IsNullOrEmpty(itemOver.PM_MA_JobReveive))
{
overview.GetRow(rowIndex).GetCell(18).SetCellValue((DateTime)Convert.ToDateTime(itemOver.PM_MA_JobReveive.ToString()));
overview.GetRow(rowIndex).GetCell(18).CellStyle = styleDate;
}
if (overview.GetRow(rowIndex).GetCell(19) == null) overview.GetRow(rowIndex).CreateCell(19);
overview.GetRow(rowIndex).GetCell(19).SetCellValue(itemOver.EstimatedFinalCost != null ? (double)itemOver.EstimatedFinalCost.Value : 0);
overview.GetRow(rowIndex).GetCell(19).CellStyle = styleQfw;
if (overview.GetRow(rowIndex).GetCell(20) == null) overview.GetRow(rowIndex).CreateCell(20);
if (!string.IsNullOrEmpty(itemOver.MCActual))
{
overview.GetRow(rowIndex).GetCell(20).SetCellValue((DateTime)Convert.ToDateTime(itemOver.MCActual.ToString()));
overview.GetRow(rowIndex).GetCell(20).CellStyle = styleDate;
}
if (overview.GetRow(rowIndex).GetCell(21) == null) overview.GetRow(rowIndex).CreateCell(21);
if (!string.IsNullOrEmpty(itemOver.MC_Signed))
{
overview.GetRow(rowIndex).GetCell(21).SetCellValue(itemOver.MC_Signed);
}
else
{
if (itemOver.ProjectControl_JobType == "MOC" || itemOver.ProjectControl_JobType == "Other")
{
overview.GetRow(rowIndex).GetCell(21).SetCellValue("N/A");
}
else
{
overview.GetRow(rowIndex).GetCell(21).SetCellValue("");
}
}
if (overview.GetRow(rowIndex).GetCell(22) == null) overview.GetRow(rowIndex).CreateCell(22);
if (!string.IsNullOrEmpty(itemOver.RFSU))
{
overview.GetRow(rowIndex).GetCell(22).SetCellValue(itemOver.RFSU);
}
else
{
if (itemOver.ProjectControl_JobType == "MOC" || itemOver.ProjectControl_JobType == "Other")
{
overview.GetRow(rowIndex).GetCell(22).SetCellValue("N/A");
}
else
{
overview.GetRow(rowIndex).GetCell(22).SetCellValue("");
}
}
if (overview.GetRow(rowIndex).GetCell(23) == null) overview.GetRow(rowIndex).CreateCell(23);
if (!string.IsNullOrEmpty(itemOver.Punch_C_Killed))
{
if (itemOver.Punch_C_Killed == "1900-01-01")
{
overview.GetRow(rowIndex).GetCell(23).SetCellValue("不适用");
}
else
{
overview.GetRow(rowIndex).GetCell(23).SetCellValue(itemOver.Punch_C_Killed);
}
}
else
{
if (itemOver.ProjectControl_JobType == "MOC" || itemOver.ProjectControl_JobType == "Other")
{
overview.GetRow(rowIndex).GetCell(23).SetCellValue("N/A");
}
else
{
overview.GetRow(rowIndex).GetCell(23).SetCellValue("");
}
}
if (overview.GetRow(rowIndex).GetCell(24) == null) overview.GetRow(rowIndex).CreateCell(24);
if (!string.IsNullOrEmpty(itemOver.FC_Signed))
{
overview.GetRow(rowIndex).GetCell(24).SetCellValue(itemOver.FC_Signed);
}
else
{
if (itemOver.ProjectControl_JobType == "Projects" && itemOver.ProjectControl_OrginalBudget >= 1000000 && !string.IsNullOrEmpty(itemOver.PM_MA_ProjectApproval))
{
overview.GetRow(rowIndex).GetCell(24).SetCellValue("");
}
else
{
overview.GetRow(rowIndex).GetCell(24).SetCellValue("N/A");
}
}
if (overview.GetRow(rowIndex).GetCell(25) == null) overview.GetRow(rowIndex).CreateCell(25);
if (!string.IsNullOrEmpty(itemOver.ProjectControl_BC_CloseDate))
{
overview.GetRow(rowIndex).GetCell(25).SetCellValue((DateTime)Convert.ToDateTime(itemOver.ProjectControl_BC_CloseDate.ToString()));
overview.GetRow(rowIndex).GetCell(25).CellStyle = styleDate;
}
if (overview.GetRow(rowIndex).GetCell(26) == null) overview.GetRow(rowIndex).CreateCell(26);
if (!string.IsNullOrEmpty(itemOver.IFC_Received))
{
overview.GetRow(rowIndex).GetCell(26).SetCellValue((DateTime)Convert.ToDateTime(itemOver.IFC_Received.ToString()));
overview.GetRow(rowIndex).GetCell(26).CellStyle = styleDate;
}
if (overview.GetRow(rowIndex).GetCell(27) == null) overview.GetRow(rowIndex).CreateCell(27);
if (!string.IsNullOrEmpty(itemOver.As_built_Received))
{
overview.GetRow(rowIndex).GetCell(27).SetCellValue((DateTime)Convert.ToDateTime(itemOver.As_built_Received.ToString()));
overview.GetRow(rowIndex).GetCell(27).CellStyle = styleDate;
}
if (overview.GetRow(rowIndex).GetCell(28) == null) overview.GetRow(rowIndex).CreateCell(28);
if (!string.IsNullOrEmpty(itemOver.MD_Received))
{
overview.GetRow(rowIndex).GetCell(28).SetCellValue((DateTime)Convert.ToDateTime(itemOver.MD_Received.ToString()));
overview.GetRow(rowIndex).GetCell(28).CellStyle = styleDate;
}
if (overview.GetRow(rowIndex).GetCell(29) == null) overview.GetRow(rowIndex).CreateCell(29);
if (!string.IsNullOrEmpty(itemOver.Date_of_Registeration))
{
overview.GetRow(rowIndex).GetCell(29).SetCellValue(itemOver.Date_of_Registeration);
}
else
{
if (itemOver.ProjectControl_JobType == "Other")
{
overview.GetRow(rowIndex).GetCell(29).SetCellValue("N/A");
}
else
{
overview.GetRow(rowIndex).GetCell(29).SetCellValue("");
}
}
if (overview.GetRow(rowIndex).GetCell(30) == null) overview.GetRow(rowIndex).CreateCell(30);
overview.GetRow(rowIndex).GetCell(30).SetCellValue(itemOver.ProjectControl_CostEffectvitity);
if (overview.GetRow(rowIndex).GetCell(31) == null) overview.GetRow(rowIndex).CreateCell(31);
overview.GetRow(rowIndex).GetCell(31).SetCellValue(itemOver.ProjectControl_PVIPrediction.HasValue ? Math.Round(Convert.ToDouble(itemOver.ProjectControl_PVIPrediction), 2) : 0);
if (overview.GetRow(rowIndex).GetCell(32) == null) overview.GetRow(rowIndex).CreateCell(32);
if (!string.IsNullOrEmpty(itemOver.ProjectControl_PC_CancelDate))
{
overview.GetRow(rowIndex).GetCell(32).SetCellValue((DateTime)Convert.ToDateTime(itemOver.ProjectControl_PC_CancelDate.ToString()));
overview.GetRow(rowIndex).GetCell(32).CellStyle = styleDate;
}
if (overview.GetRow(rowIndex).GetCell(33) == null) overview.GetRow(rowIndex).CreateCell(33);
overview.GetRow(rowIndex).GetCell(33).SetCellValue(itemOver.ProjectControl_Account);
if (overview.GetRow(rowIndex).GetCell(34) == null) overview.GetRow(rowIndex).CreateCell(34);
overview.GetRow(rowIndex).GetCell(34).SetCellValue(itemOver.ProjectControl_NetworkNo);
if (overview.GetRow(rowIndex).GetCell(35) == null) overview.GetRow(rowIndex).CreateCell(35);
overview.GetRow(rowIndex).GetCell(35).SetCellValue(itemOver.StudyWo);
if (overview.GetRow(rowIndex).GetCell(36) == null) overview.GetRow(rowIndex).CreateCell(36);
overview.GetRow(rowIndex).GetCell(36).SetCellValue(itemOver.CTEInvolved);
if (overview.GetRow(rowIndex).GetCell(37) == null) overview.GetRow(rowIndex).CreateCell(37);
overview.GetRow(rowIndex).GetCell(37).SetCellValue(itemOver.CAPEXPlanNo);
if (overview.GetRow(rowIndex).GetCell(38) == null) overview.GetRow(rowIndex).CreateCell(38);
overview.GetRow(rowIndex).GetCell(38).SetCellValue(itemOver.PM_General_CDI);
if (overview.GetRow(rowIndex).GetCell(39) == null) overview.GetRow(rowIndex).CreateCell(39);
overview.GetRow(rowIndex).GetCell(39).SetCellValue(itemOver.ProjectControl_MOCFormNo);
#endregion
#region
//超出计划MC6个月仍未有实际MC日期(MC Actual)
if (!string.IsNullOrEmpty(itemOver.ProjectControl_MS_MC))
{
if (Funs.GetNewDateTime(itemOver.ProjectControl_MS_MC).Value.AddMonths(6) < Funs.GetNewDateTime(DateTime.Now.ToShortDateString()) && string.IsNullOrEmpty(itemOver.MCActual))
{
overview.GetRow(rowIndex).GetCell(20).CellStyle = redbackgroundstyle;
}
}
//超出实际MC10天仍未签MC证书MC Signed
if (!string.IsNullOrEmpty(itemOver.MCActual))
{
if (Funs.GetNewDateTime(itemOver.MCActual).Value.AddDays(10) < Funs.GetNewDateTime(DateTime.Now.ToShortDateString()) && string.IsNullOrEmpty(itemOver.MC_Signed))
{
overview.GetRow(rowIndex).GetCell(21).CellStyle = redbackgroundstyle;
}
}
//超出实际MC90天仍未签FC证书FC Signed
if (!string.IsNullOrEmpty(itemOver.MCActual))
{
if (Funs.GetNewDateTime(itemOver.MCActual).Value.AddDays(90) < Funs.GetNewDateTime(DateTime.Now.ToShortDateString()) && string.IsNullOrEmpty(itemOver.FC_Signed))
{
overview.GetRow(rowIndex).GetCell(22).CellStyle = redbackgroundstyle;
}
}
//if (!string.IsNullOrEmpty(itemOver.Punch_C_Killed) && itemOver.Punch_C_Killed=="1900-01-01")
//{
// overview.GetRow(rowIndex).GetCell(23).CellStyle = redbackgroundstyle;
//}
//超出FC180天仍未商务关闭的Business Closed
if (!string.IsNullOrEmpty(itemOver.FC_Signed))
{
if (Funs.GetNewDateTime(itemOver.FC_Signed).Value.AddDays(180) < Funs.GetNewDateTime(DateTime.Now.ToShortDateString()) && string.IsNullOrEmpty(itemOver.ProjectControl_BC_CloseDate))
{
overview.GetRow(rowIndex).GetCell(23).CellStyle = redbackgroundstyle;
}
}
//超出实际MC90天仍未收到AB的As-built Received
if (!string.IsNullOrEmpty(itemOver.MCActual))
{
if (Funs.GetNewDateTime(itemOver.MCActual).Value.AddDays(90) < Funs.GetNewDateTime(DateTime.Now.ToShortDateString()) && string.IsNullOrEmpty(itemOver.As_built_Received))
{
overview.GetRow(rowIndex).GetCell(25).CellStyle = redDatestyle;
}
}
#endregion
if ((int)(95 * rowIndex / totalNum) > percent)
{
percent = (int)(100 * rowIndex / totalNum);
}
rowIndex++;
}
}
#endregion
#region Permit_General
XSSFSheet pg = (XSSFSheet)hssfworkbook.GetSheet("Permit_General");
if (Permit_General.Count > 0)
{
var rowIndex = 1;
foreach (var item in Permit_General)
{
if (pg.GetRow(rowIndex) == null) pg.CreateRow(rowIndex);
#region
if (item.PType == "计划")
{
if (pg.GetRow(rowIndex).GetCell(0) == null) pg.GetRow(rowIndex).CreateCell(0);
pg.GetRow(rowIndex).GetCell(0).SetCellValue(item.ProjectControl_JobNo);
pg.GetRow(rowIndex).GetCell(0).CellStyle.SetFont(cs_content_Font);//将字体绑定到样式
pg.GetRow(rowIndex).GetCell(0).CellStyle.VerticalAlignment = VerticalAlignment.Center;
pg.GetRow(rowIndex).GetCell(0).CellStyle.Alignment = HorizontalAlignment.Center;
if (pg.GetRow(rowIndex).GetCell(1) == null) pg.GetRow(rowIndex).CreateCell(1);
pg.GetRow(rowIndex).GetCell(1).SetCellValue(item.ProjectControl_JobTitle);
pg.GetRow(rowIndex).GetCell(1).CellStyle.SetFont(cs_content_Font);
if (pg.GetRow(rowIndex).GetCell(2) == null) pg.GetRow(rowIndex).CreateCell(2);
pg.GetRow(rowIndex).GetCell(2).SetCellValue(item.ProjectControl_ProjectManager);
pg.GetRow(rowIndex).GetCell(2).CellStyle.SetFont(cs_content_Font);
pg.GetRow(rowIndex).GetCell(2).CellStyle.VerticalAlignment = VerticalAlignment.Center;
pg.GetRow(rowIndex).GetCell(2).CellStyle.Alignment = HorizontalAlignment.Center;
}
if (pg.GetRow(rowIndex).GetCell(3) == null) pg.GetRow(rowIndex).CreateCell(3);
pg.GetRow(rowIndex).GetCell(3).SetCellValue(item.PType);
pg.GetRow(rowIndex).GetCell(3).CellStyle.SetFont(cs_content_Font);
pg.GetRow(rowIndex).GetCell(3).CellStyle.VerticalAlignment = VerticalAlignment.Center;
pg.GetRow(rowIndex).GetCell(3).CellStyle.Alignment = HorizontalAlignment.Center;
if (pg.GetRow(rowIndex).GetCell(4) == null) pg.GetRow(rowIndex).CreateCell(4);
pg.GetRow(rowIndex).GetCell(4).SetCellValue(item.EnvAssess);
pg.GetRow(rowIndex).GetCell(4).CellStyle.SetFont(cs_content_Font);
pg.GetRow(rowIndex).GetCell(4).CellStyle.VerticalAlignment = VerticalAlignment.Center;
pg.GetRow(rowIndex).GetCell(4).CellStyle.Alignment = HorizontalAlignment.Center;
if (pg.GetRow(rowIndex).GetCell(5) == null) pg.GetRow(rowIndex).CreateCell(5);
pg.GetRow(rowIndex).GetCell(5).SetCellValue(item.EnergySaving);
pg.GetRow(rowIndex).GetCell(5).CellStyle = styleDate;
pg.GetRow(rowIndex).GetCell(5).CellStyle.SetFont(cs_content_Font);
pg.GetRow(rowIndex).GetCell(5).CellStyle.VerticalAlignment = VerticalAlignment.Center;
pg.GetRow(rowIndex).GetCell(5).CellStyle.Alignment = HorizontalAlignment.Center;
if (pg.GetRow(rowIndex).GetCell(6) == null) pg.GetRow(rowIndex).CreateCell(6);
pg.GetRow(rowIndex).GetCell(6).SetCellValue(item.ProjectRegistr);
pg.GetRow(rowIndex).GetCell(6).CellStyle.SetFont(cs_content_Font);
pg.GetRow(rowIndex).GetCell(6).CellStyle.VerticalAlignment = VerticalAlignment.Center;
pg.GetRow(rowIndex).GetCell(6).CellStyle.Alignment = HorizontalAlignment.Center;
if (pg.GetRow(rowIndex).GetCell(7) == null) pg.GetRow(rowIndex).CreateCell(7);
pg.GetRow(rowIndex).GetCell(7).SetCellValue(item.PlanningPermit);
pg.GetRow(rowIndex).GetCell(7).CellStyle.SetFont(cs_content_Font);
pg.GetRow(rowIndex).GetCell(7).CellStyle.VerticalAlignment = VerticalAlignment.Center;
pg.GetRow(rowIndex).GetCell(7).CellStyle.Alignment = HorizontalAlignment.Center;
if (pg.GetRow(rowIndex).GetCell(8) == null) pg.GetRow(rowIndex).CreateCell(8);
pg.GetRow(rowIndex).GetCell(8).SetCellValue(item.SafetyConReview);
pg.GetRow(rowIndex).GetCell(8).CellStyle.SetFont(cs_content_Font);
pg.GetRow(rowIndex).GetCell(8).CellStyle.VerticalAlignment = VerticalAlignment.Center;
pg.GetRow(rowIndex).GetCell(8).CellStyle.Alignment = HorizontalAlignment.Center;
if (pg.GetRow(rowIndex).GetCell(9) == null) pg.GetRow(rowIndex).CreateCell(9);
pg.GetRow(rowIndex).GetCell(9).SetCellValue(item.SafetyDesginReview);
pg.GetRow(rowIndex).GetCell(9).CellStyle.SetFont(cs_content_Font);
pg.GetRow(rowIndex).GetCell(9).CellStyle.VerticalAlignment = VerticalAlignment.Center;
pg.GetRow(rowIndex).GetCell(9).CellStyle.Alignment = HorizontalAlignment.Center;
if (pg.GetRow(rowIndex).GetCell(10) == null) pg.GetRow(rowIndex).CreateCell(10);
pg.GetRow(rowIndex).GetCell(10).SetCellValue(item.FFDesginReview);
pg.GetRow(rowIndex).GetCell(10).CellStyle.SetFont(cs_content_Font);
pg.GetRow(rowIndex).GetCell(10).CellStyle.VerticalAlignment = VerticalAlignment.Center;
pg.GetRow(rowIndex).GetCell(10).CellStyle.Alignment = HorizontalAlignment.Center;
if (pg.GetRow(rowIndex).GetCell(11) == null) pg.GetRow(rowIndex).CreateCell(11);
pg.GetRow(rowIndex).GetCell(11).SetCellValue(item.ConstPermit);
pg.GetRow(rowIndex).GetCell(11).CellStyle.SetFont(cs_content_Font);
pg.GetRow(rowIndex).GetCell(11).CellStyle.VerticalAlignment = VerticalAlignment.Center;
pg.GetRow(rowIndex).GetCell(11).CellStyle.Alignment = HorizontalAlignment.Center;
if (pg.GetRow(rowIndex).GetCell(12) == null) pg.GetRow(rowIndex).CreateCell(12);
pg.GetRow(rowIndex).GetCell(12).SetCellValue(item.CMStart);
pg.GetRow(rowIndex).GetCell(12).CellStyle.SetFont(cs_content_Font);
pg.GetRow(rowIndex).GetCell(12).CellStyle.VerticalAlignment = VerticalAlignment.Center;
pg.GetRow(rowIndex).GetCell(12).CellStyle.Alignment = HorizontalAlignment.Center;
if (pg.GetRow(rowIndex).GetCell(13) == null) pg.GetRow(rowIndex).CreateCell(13);
pg.GetRow(rowIndex).GetCell(13).SetCellValue(item.MC);
pg.GetRow(rowIndex).GetCell(13).CellStyle.SetFont(cs_content_Font);
pg.GetRow(rowIndex).GetCell(13).CellStyle.VerticalAlignment = VerticalAlignment.Center;
pg.GetRow(rowIndex).GetCell(13).CellStyle.Alignment = HorizontalAlignment.Center;
if (pg.GetRow(rowIndex).GetCell(14) == null) pg.GetRow(rowIndex).CreateCell(14);
pg.GetRow(rowIndex).GetCell(14).SetCellValue(item.SafetyFinalAcc);
pg.GetRow(rowIndex).GetCell(14).CellStyle.SetFont(cs_content_Font);
pg.GetRow(rowIndex).GetCell(14).CellStyle.VerticalAlignment = VerticalAlignment.Center;
pg.GetRow(rowIndex).GetCell(14).CellStyle.Alignment = HorizontalAlignment.Center;
if (pg.GetRow(rowIndex).GetCell(15) == null) pg.GetRow(rowIndex).CreateCell(15);
pg.GetRow(rowIndex).GetCell(15).SetCellValue(item.FFFinalAcc);
pg.GetRow(rowIndex).GetCell(15).CellStyle.SetFont(cs_content_Font);
pg.GetRow(rowIndex).GetCell(15).CellStyle.VerticalAlignment = VerticalAlignment.Center;
pg.GetRow(rowIndex).GetCell(15).CellStyle.Alignment = HorizontalAlignment.Center;
if (pg.GetRow(rowIndex).GetCell(16) == null) pg.GetRow(rowIndex).CreateCell(16);
pg.GetRow(rowIndex).GetCell(16).SetCellValue(item.Usin);
pg.GetRow(rowIndex).GetCell(16).CellStyle.SetFont(cs_content_Font);
pg.GetRow(rowIndex).GetCell(16).CellStyle.VerticalAlignment = VerticalAlignment.Center;
pg.GetRow(rowIndex).GetCell(16).CellStyle.Alignment = HorizontalAlignment.Center;
if (pg.GetRow(rowIndex).GetCell(17) == null) pg.GetRow(rowIndex).CreateCell(17);
pg.GetRow(rowIndex).GetCell(17).SetCellValue(item.EnvFinalAcc);
pg.GetRow(rowIndex).GetCell(17).CellStyle.SetFont(cs_content_Font);
pg.GetRow(rowIndex).GetCell(17).CellStyle.VerticalAlignment = VerticalAlignment.Center;
pg.GetRow(rowIndex).GetCell(17).CellStyle.Alignment = HorizontalAlignment.Center;
#endregion
#region
if (item.PType == "计划")
{
#region
pg.GetRow(rowIndex).GetCell(0).CellStyle = backgroundstyle1;
pg.GetRow(rowIndex).GetCell(1).CellStyle = backgroundstyle1;
pg.GetRow(rowIndex).GetCell(2).CellStyle = backgroundstyle1;
pg.GetRow(rowIndex).GetCell(3).CellStyle = backgroundstyle1;
pg.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle1;
pg.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle1;
pg.GetRow(rowIndex).GetCell(6).CellStyle = backgroundstyle1;
pg.GetRow(rowIndex).GetCell(7).CellStyle = backgroundstyle1;
pg.GetRow(rowIndex).GetCell(8).CellStyle = backgroundstyle1;
pg.GetRow(rowIndex).GetCell(9).CellStyle = backgroundstyle1;
pg.GetRow(rowIndex).GetCell(10).CellStyle = backgroundstyle1;
pg.GetRow(rowIndex).GetCell(11).CellStyle = backgroundstyle1;
pg.GetRow(rowIndex).GetCell(12).CellStyle = backgroundstyle1;
pg.GetRow(rowIndex).GetCell(13).CellStyle = backgroundstyle1;
pg.GetRow(rowIndex).GetCell(14).CellStyle = backgroundstyle1;
pg.GetRow(rowIndex).GetCell(15).CellStyle = backgroundstyle1;
pg.GetRow(rowIndex).GetCell(16).CellStyle = backgroundstyle1;
pg.GetRow(rowIndex).GetCell(17).CellStyle = backgroundstyle1;
#endregion
#region
if (item.EnvAssess != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.EnvAssess))//环评
{
pg.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle1;
}
if (item.EnergySaving != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.EnergySaving))//节能报告
{
pg.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle1;
}
if (item.ProjectRegistr != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.ProjectRegistr))//项目备案
{
pg.GetRow(rowIndex).GetCell(6).CellStyle = backgroundstyle1;
}
if (item.PlanningPermit != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.PlanningPermit))//规划许可
{
pg.GetRow(rowIndex).GetCell(7).CellStyle = backgroundstyle1;
}
if (item.SafetyConReview != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.SafetyConReview))//安全条件审查
{
pg.GetRow(rowIndex).GetCell(8).CellStyle = backgroundstyle1;
}
if (item.SafetyDesginReview != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.SafetyDesginReview))//安全设施设计审查
{
pg.GetRow(rowIndex).GetCell(9).CellStyle = backgroundstyle1;
}
if (item.FFDesginReview != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.FFDesginReview))//消防设计审查
{
pg.GetRow(rowIndex).GetCell(10).CellStyle = backgroundstyle1;
}
if (item.ConstPermit != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.ConstPermit))//施工许可
{
pg.GetRow(rowIndex).GetCell(11).CellStyle = backgroundstyle1;
}
//if (item.CMStart != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.CMStart))//施工开始
//{
// pg.GetRow(rowIndex).GetCell(12).CellStyle = backgroundstyle1;
//}
//if (item.MC != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.MC))//机械竣工
//{
// pg.GetRow(rowIndex).GetCell(13).CellStyle = backgroundstyle1;
//}
if (item.SafetyFinalAcc != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.SafetyFinalAcc))//安全设施竣工验收
{
pg.GetRow(rowIndex).GetCell(14).CellStyle = backgroundstyle1;
}
if (item.FFFinalAcc != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.FFFinalAcc))//消防设施竣工验收
{
pg.GetRow(rowIndex).GetCell(15).CellStyle = backgroundstyle1;
}
//if (item.Usin != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.Usin))//投用
//{
// pg.GetRow(rowIndex).GetCell(16).CellStyle = backgroundstyle1;
//}
if (item.EnvFinalAcc != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.EnvFinalAcc))//环保设施竣工验收
{
pg.GetRow(rowIndex).GetCell(17).CellStyle = backgroundstyle1;
}
#endregion
#region
if (item.EnvAssess != "-" && DateTime.Now.Year == Convert.ToDateTime(item.EnvAssess).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.EnvAssess).Month)
{
pg.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle2;//环评
}
if (item.EnergySaving != "-" && DateTime.Now.Year == Convert.ToDateTime(item.EnergySaving).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.EnergySaving).Month)
{
pg.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle2;//节能报告
}
if (item.ProjectRegistr != "-" && DateTime.Now.Year == Convert.ToDateTime(item.ProjectRegistr).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.ProjectRegistr).Month)
{
pg.GetRow(rowIndex).GetCell(6).CellStyle = backgroundstyle2;//项目备案
}
if (item.PlanningPermit != "-" && DateTime.Now.Year == Convert.ToDateTime(item.PlanningPermit).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.PlanningPermit).Month)
{
pg.GetRow(rowIndex).GetCell(7).CellStyle = backgroundstyle2;//规划许可
}
if (item.SafetyConReview != "-" && DateTime.Now.Year == Convert.ToDateTime(item.SafetyConReview).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.SafetyConReview).Month)
{
pg.GetRow(rowIndex).GetCell(8).CellStyle = backgroundstyle2;//安全条件审查
}
if (item.SafetyDesginReview != "-" && DateTime.Now.Year == Convert.ToDateTime(item.SafetyDesginReview).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.SafetyDesginReview).Month)
{
pg.GetRow(rowIndex).GetCell(9).CellStyle = backgroundstyle2;//安全设施设计审查
}
if (item.FFDesginReview != "-" && DateTime.Now.Year == Convert.ToDateTime(item.FFDesginReview).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.FFDesginReview).Month)
{
pg.GetRow(rowIndex).GetCell(10).CellStyle = backgroundstyle2;//消防设计审查
}
if (item.ConstPermit != "-" && DateTime.Now.Year == Convert.ToDateTime(item.ConstPermit).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.ConstPermit).Month)
{
pg.GetRow(rowIndex).GetCell(11).CellStyle = backgroundstyle2;//施工许可
}
//if (item.CMStart != "-" && DateTime.Now.Year == Convert.ToDateTime(item.CMStart).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.CMStart).Month)
//{
// pg.GetRow(rowIndex).GetCell(12).CellStyle = backgroundstyle2;//施工开始
//}
//if (item.MC != "-" && DateTime.Now.Year == Convert.ToDateTime(item.MC).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.MC).Month)
//{
// pg.GetRow(rowIndex).GetCell(13).CellStyle = backgroundstyle2;//机械竣工
//}
if (item.SafetyFinalAcc != "-" && DateTime.Now.Year == Convert.ToDateTime(item.SafetyFinalAcc).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.SafetyFinalAcc).Month)
{
pg.GetRow(rowIndex).GetCell(14).CellStyle = backgroundstyle2;//安全设施竣工验收
}
if (item.FFFinalAcc != "-" && DateTime.Now.Year == Convert.ToDateTime(item.FFFinalAcc).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.FFFinalAcc).Month)
{
pg.GetRow(rowIndex).GetCell(15).CellStyle = backgroundstyle2;//消防设施竣工验收
}
//if (item.Usin != "-" && DateTime.Now.Year == Convert.ToDateTime(item.Usin).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.Usin).Month)
//{
// pg.GetRow(rowIndex).GetCell(16).CellStyle = backgroundstyle2;//投用
//}
if (item.EnvFinalAcc != "-" && DateTime.Now.Year == Convert.ToDateTime(item.EnvFinalAcc).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.EnvFinalAcc).Month)
{
pg.GetRow(rowIndex).GetCell(17).CellStyle = backgroundstyle2;//环保设施竣工验收
}
#endregion
#region
var actual = (from x in Funs.DB.View_Report_PermitGeneral where x.ProjectControl_JobNo == item.ProjectControl_JobNo && x.PType == "实际" select x).FirstOrDefault();
if (actual != null)
{
if (item.EnvAssess != "-" && Convert.ToDateTime(item.EnvAssess).AddMonths(1) < DateTime.Now)//环评
{
if (actual.EnvAssess == "-")
{
pg.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle3;
}
}
if (item.EnergySaving != "-" && Convert.ToDateTime(item.EnergySaving).AddMonths(1) < DateTime.Now)//节能报告
{
if (actual.EnergySaving == "-")
{
pg.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle3;
}
}
if (item.ProjectRegistr != "-" && Convert.ToDateTime(item.ProjectRegistr).AddMonths(1) < DateTime.Now)//项目备案
{
if (actual.ProjectRegistr == "-")
{
pg.GetRow(rowIndex).GetCell(6).CellStyle = backgroundstyle3;
}
}
if (item.PlanningPermit != "-" && Convert.ToDateTime(item.PlanningPermit).AddMonths(1) < DateTime.Now)//规划许可
{
if (actual.PlanningPermit == "-")
{
pg.GetRow(rowIndex).GetCell(7).CellStyle = backgroundstyle3;
}
}
if (item.SafetyConReview != "-" && Convert.ToDateTime(item.SafetyConReview).AddMonths(1) < DateTime.Now)//安全条件审查
{
if (actual.SafetyConReview == "-")
{
pg.GetRow(rowIndex).GetCell(8).CellStyle = backgroundstyle3;
}
}
if (item.SafetyDesginReview != "-" && Convert.ToDateTime(item.SafetyDesginReview).AddMonths(1) < DateTime.Now)//安全设施设计审查
{
if (actual.SafetyDesginReview == "-")
{
pg.GetRow(rowIndex).GetCell(9).CellStyle = backgroundstyle3;
}
}
if (item.FFDesginReview != "-" && Convert.ToDateTime(item.FFDesginReview).AddMonths(1) < DateTime.Now)//消防设计审查
{
if (actual.FFDesginReview == "-")
{
pg.GetRow(rowIndex).GetCell(10).CellStyle = backgroundstyle3;
}
}
if (item.ConstPermit != "-" && Convert.ToDateTime(item.ConstPermit).AddMonths(1) < DateTime.Now)//施工许可
{
if (actual.ConstPermit == "-")
{
pg.GetRow(rowIndex).GetCell(11).CellStyle = backgroundstyle3;
}
}
//if (item.CMStart != "-" && Convert.ToDateTime(item.CMStart).AddMonths(1) < DateTime.Now )//施工开始
//{
// if (actual.CMStart == "-")
// {
// pg.GetRow(rowIndex).GetCell(12).CellStyle = backgroundstyle3;
// }
//}
//if (item.MC != "-" && Convert.ToDateTime(item.MC).AddMonths(1) < DateTime.Now )//机械竣工
//{
// if (actual.MC == "-")
// {
// pg.GetRow(rowIndex).GetCell(13).CellStyle = backgroundstyle3;
// }
//}
if (item.SafetyFinalAcc != "-" && Convert.ToDateTime(item.SafetyFinalAcc).AddMonths(1) < DateTime.Now)//安全设施竣工验收
{
if (actual.SafetyFinalAcc == "-")
{
pg.GetRow(rowIndex).GetCell(14).CellStyle = backgroundstyle3;
}
}
if (item.FFFinalAcc != "-" && Convert.ToDateTime(item.FFFinalAcc).AddMonths(1) < DateTime.Now)//消防设施竣工验收
{
if (actual.FFFinalAcc == "-")
{
pg.GetRow(rowIndex).GetCell(15).CellStyle = backgroundstyle3;
}
}
//if (item.Usin != "-" && Convert.ToDateTime(item.Usin).AddMonths(1) < DateTime.Now)//投用
//{
// if (actual.Usin == "-")
// {
// pg.GetRow(rowIndex).GetCell(16).CellStyle = backgroundstyle3;
// }
//}
if (item.EnvFinalAcc != "-" && Convert.ToDateTime(item.EnvFinalAcc).AddMonths(1) < DateTime.Now)//环保设施竣工验收
{
if (actual.EnvFinalAcc == "-")
{
pg.GetRow(rowIndex).GetCell(17).CellStyle = backgroundstyle3;
}
}
}
#endregion
#region
var eproject = BLL.EProjectService.GeteProjectByJobNO(item.ProjectControl_JobNo);
if (eproject != null)
{
if (eproject.Permit_PPA_EnvAssess.HasValue && item.EnvAssess != "-")
{
pg.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle1;//环评
}
if (eproject.Permit_PPA_EnergySaving.HasValue && item.EnergySaving != "-")
{
pg.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle1;//节能报告
}
if (eproject.Permit_PPA_ProjectRegistration.HasValue && item.ProjectRegistr != "-")
{
pg.GetRow(rowIndex).GetCell(6).CellStyle = backgroundstyle1;//项目备案
}
if (eproject.Permit_PPA_PlanningPermit.HasValue && item.PlanningPermit != "-")
{
pg.GetRow(rowIndex).GetCell(7).CellStyle = backgroundstyle1;//规划许可
}
if (eproject.Permit_PPA_SafetyConRev.HasValue && item.SafetyConReview != "-")
{
pg.GetRow(rowIndex).GetCell(8).CellStyle = backgroundstyle1;//安全条件审查
}
if (eproject.Permit_PPA_SafetyDesignRev.HasValue && item.SafetyDesginReview != "-")
{
pg.GetRow(rowIndex).GetCell(9).CellStyle = backgroundstyle1;//安全设施设计审查
}
if (eproject.Permit_PPA_FFDesignReview.HasValue && item.FFDesginReview != "-")
{
pg.GetRow(rowIndex).GetCell(10).CellStyle = backgroundstyle1;//消防设计审查
}
if (eproject.Permit_PA_ConstPermit.HasValue && item.ConstPermit != "-")
{
pg.GetRow(rowIndex).GetCell(11).CellStyle = backgroundstyle1;//施工许可
}
//if (eproject.Permit_PA_ConstPermit.HasValue&&item.CMStart!="-")
//{
// pg.GetRow(rowIndex).GetCell(12).CellStyle = backgroundstyle1;//施工开始
//}
//if (eproject.CM_MA_MC.HasValue && item.MC != "-")
//{
// pg.GetRow(rowIndex).GetCell(13).CellStyle = backgroundstyle1;//机械竣工
//}
if (eproject.Permit_PA_SafetyFinalACC.HasValue && item.SafetyFinalAcc != "-")
{
pg.GetRow(rowIndex).GetCell(14).CellStyle = backgroundstyle1;//安全设施竣工验收
}
if (eproject.Permit_PA_FFFinalACC.HasValue && item.FFFinalAcc != "-")
{
pg.GetRow(rowIndex).GetCell(15).CellStyle = backgroundstyle1;//消防设施竣工验收
}
//if (eproject.CM_MA_MC.HasValue && item.Usin != "-")
//{
// pg.GetRow(rowIndex).GetCell(16).CellStyle = backgroundstyle1;//投用
//}
if (eproject.Permit_PA_EnvFinalACC.HasValue && item.EnvFinalAcc != "-")
{
pg.GetRow(rowIndex).GetCell(17).CellStyle = backgroundstyle1;//环保设施竣工验收
}
}
#endregion
}
if (item.PType == "实际")
{
var plan = (from x in Funs.DB.View_Report_PermitGeneral where x.ProjectControl_JobNo == item.ProjectControl_JobNo && x.PType == "计划" select x).FirstOrDefault();
if (plan != null)
{
//如果提前或按时完成,则显示白底黑字
//if (!string.IsNullOrEmpty(item.EnvAssess) && !string.IsNullOrEmpty(plan.EnvAssess) && item.EnvAssess != "-" && plan.EnvAssess != "-" && Convert.ToDateTime(item.EnvAssess) <= Convert.ToDateTime(plan.EnvAssess))
//{
//}
#region
if (plan.EnvAssess != "-" && item.EnvAssess != "-" && Convert.ToDateTime(plan.EnvAssess) < Convert.ToDateTime(item.EnvAssess))
{
pg.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle4;//环评
}
if (plan.EnergySaving != "-" && item.EnergySaving != "-" && Convert.ToDateTime(plan.EnergySaving) < Convert.ToDateTime(item.EnergySaving))
{
pg.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle4;//节能报告
}
if (plan.ProjectRegistr != "-" && item.ProjectRegistr != "-" && Convert.ToDateTime(plan.ProjectRegistr) < Convert.ToDateTime(item.ProjectRegistr))
{
pg.GetRow(rowIndex).GetCell(6).CellStyle = backgroundstyle4;//项目备案
}
if (plan.PlanningPermit != "-" && item.PlanningPermit != "-" && Convert.ToDateTime(plan.PlanningPermit) < Convert.ToDateTime(item.PlanningPermit))
{
pg.GetRow(rowIndex).GetCell(7).CellStyle = backgroundstyle4;//规划许可
}
if (plan.SafetyConReview != "-" && item.SafetyConReview != "-" && Convert.ToDateTime(plan.SafetyConReview) < Convert.ToDateTime(item.SafetyConReview))
{
pg.GetRow(rowIndex).GetCell(8).CellStyle = backgroundstyle4;//安全条件审查
}
if (plan.SafetyDesginReview != "-" && item.SafetyDesginReview != "-" && Convert.ToDateTime(plan.SafetyDesginReview) < Convert.ToDateTime(item.SafetyDesginReview))
{
pg.GetRow(rowIndex).GetCell(9).CellStyle = backgroundstyle4;//安全设施设计审查
}
if (plan.FFDesginReview != "-" && item.FFDesginReview != "-" && Convert.ToDateTime(plan.FFDesginReview) < Convert.ToDateTime(item.FFDesginReview))
{
pg.GetRow(rowIndex).GetCell(10).CellStyle = backgroundstyle4;//消防设计审查
}
if (plan.ConstPermit != "-" && item.ConstPermit != "-" && Convert.ToDateTime(plan.ConstPermit) < Convert.ToDateTime(item.ConstPermit))
{
pg.GetRow(rowIndex).GetCell(11).CellStyle = backgroundstyle4;//施工许可
}
//if (plan.CMStart != "-" && item.CMStart != "-" && Convert.ToDateTime(plan.CMStart) < Convert.ToDateTime(item.CMStart))
//{
// pg.GetRow(rowIndex).GetCell(12).CellStyle = backgroundstyle4;//施工开始
//}
//if (plan.MC != "-" && item.MC != "-" && Convert.ToDateTime(plan.MC) < Convert.ToDateTime(item.MC))
//{
// pg.GetRow(rowIndex).GetCell(13).CellStyle = backgroundstyle4;//机械竣工
//}
if (plan.SafetyFinalAcc != "-" && item.SafetyFinalAcc != "-" && Convert.ToDateTime(plan.SafetyFinalAcc) < Convert.ToDateTime(item.SafetyFinalAcc))
{
pg.GetRow(rowIndex).GetCell(14).CellStyle = backgroundstyle4;//安全设施竣工验收
}
if (plan.FFFinalAcc != "-" && item.FFFinalAcc != "-" && Convert.ToDateTime(plan.FFFinalAcc) < Convert.ToDateTime(item.FFFinalAcc))
{
pg.GetRow(rowIndex).GetCell(15).CellStyle = backgroundstyle4;//消防设施竣工验收
}
//if (plan.Usin != "-" && item.Usin != "-" && Convert.ToDateTime(plan.Usin) < Convert.ToDateTime(item.Usin))
//{
// pg.GetRow(rowIndex).GetCell(16).CellStyle = backgroundstyle4;//投用
//}
if (plan.EnvFinalAcc != "-" && item.EnvFinalAcc != "-" && Convert.ToDateTime(plan.EnvFinalAcc) < Convert.ToDateTime(item.EnvFinalAcc))
{
pg.GetRow(rowIndex).GetCell(17).CellStyle = backgroundstyle4;//环保设施竣工验收
}
#endregion
}
}
#endregion
if ((int)((95 * (rowIndex + overNum)) / totalNum) > percent)
{
percent = (int)(100 * (rowIndex + overNum) / totalNum);
}
rowIndex++;
}
}
#endregion
#region Permit_Pressure Piping & Vesse
XSSFSheet ppv = (XSSFSheet)hssfworkbook.GetSheet("Permit_Pressure Piping & Vesse");
if (PressurePipingVesseReport.Count > 0)
{
var rowIndex = 1;
foreach (var item in PressurePipingVesseReport)
{
if (ppv.GetRow(rowIndex) == null) ppv.CreateRow(rowIndex);
#region
if (item.PType == "计划")
{
if (ppv.GetRow(rowIndex).GetCell(0) == null) ppv.GetRow(rowIndex).CreateCell(0);
ppv.GetRow(rowIndex).GetCell(0).SetCellValue(item.ProjectControl_JobNo);
ppv.GetRow(rowIndex).GetCell(0).CellStyle.SetFont(cs_content_Font);//将字体绑定到样式
ppv.GetRow(rowIndex).GetCell(0).CellStyle.VerticalAlignment = VerticalAlignment.Center;
ppv.GetRow(rowIndex).GetCell(0).CellStyle.Alignment = HorizontalAlignment.Center;
if (ppv.GetRow(rowIndex).GetCell(1) == null) ppv.GetRow(rowIndex).CreateCell(1);
ppv.GetRow(rowIndex).GetCell(1).SetCellValue(item.ProjectControl_JobTitle);
ppv.GetRow(rowIndex).GetCell(1).CellStyle.SetFont(cs_content_Font);
if (ppv.GetRow(rowIndex).GetCell(2) == null) ppv.GetRow(rowIndex).CreateCell(2);
ppv.GetRow(rowIndex).GetCell(2).SetCellValue(item.ProjectControl_ProjectManager);
ppv.GetRow(rowIndex).GetCell(2).CellStyle.SetFont(cs_content_Font);
ppv.GetRow(rowIndex).GetCell(2).CellStyle.VerticalAlignment = VerticalAlignment.Center;
ppv.GetRow(rowIndex).GetCell(2).CellStyle.Alignment = HorizontalAlignment.Center;
}
if (ppv.GetRow(rowIndex).GetCell(3) == null) ppv.GetRow(rowIndex).CreateCell(3);
ppv.GetRow(rowIndex).GetCell(3).SetCellValue(item.PType);
ppv.GetRow(rowIndex).GetCell(3).CellStyle.SetFont(cs_content_Font);
ppv.GetRow(rowIndex).GetCell(3).CellStyle.VerticalAlignment = VerticalAlignment.Center;
ppv.GetRow(rowIndex).GetCell(3).CellStyle.Alignment = HorizontalAlignment.Center;
if (ppv.GetRow(rowIndex).GetCell(4) == null) ppv.GetRow(rowIndex).CreateCell(4);
ppv.GetRow(rowIndex).GetCell(4).SetCellValue(item.PressurePiping);
ppv.GetRow(rowIndex).GetCell(4).CellStyle.SetFont(cs_content_Font);
ppv.GetRow(rowIndex).GetCell(4).CellStyle.VerticalAlignment = VerticalAlignment.Center;
ppv.GetRow(rowIndex).GetCell(4).CellStyle.Alignment = HorizontalAlignment.Center;
if (ppv.GetRow(rowIndex).GetCell(5) == null) ppv.GetRow(rowIndex).CreateCell(5);
ppv.GetRow(rowIndex).GetCell(5).SetCellValue(item.PressureVessel);
ppv.GetRow(rowIndex).GetCell(5).CellStyle.SetFont(cs_content_Font);
ppv.GetRow(rowIndex).GetCell(5).CellStyle.VerticalAlignment = VerticalAlignment.Center;
ppv.GetRow(rowIndex).GetCell(5).CellStyle.Alignment = HorizontalAlignment.Center;
if (ppv.GetRow(rowIndex).GetCell(6) == null) ppv.GetRow(rowIndex).CreateCell(6);
ppv.GetRow(rowIndex).GetCell(6).SetCellValue(item.SQIB);
ppv.GetRow(rowIndex).GetCell(6).CellStyle.SetFont(cs_content_Font);
ppv.GetRow(rowIndex).GetCell(6).CellStyle.VerticalAlignment = VerticalAlignment.Center;
ppv.GetRow(rowIndex).GetCell(6).CellStyle.Alignment = HorizontalAlignment.Center;
if (ppv.GetRow(rowIndex).GetCell(7) == null) ppv.GetRow(rowIndex).CreateCell(7);
ppv.GetRow(rowIndex).GetCell(7).SetCellValue(item.ArchiveAccep);
ppv.GetRow(rowIndex).GetCell(7).CellStyle.SetFont(cs_content_Font);
ppv.GetRow(rowIndex).GetCell(7).CellStyle.VerticalAlignment = VerticalAlignment.Center;
ppv.GetRow(rowIndex).GetCell(7).CellStyle.Alignment = HorizontalAlignment.Center;
if (ppv.GetRow(rowIndex).GetCell(8) == null) ppv.GetRow(rowIndex).CreateCell(8);
ppv.GetRow(rowIndex).GetCell(8).SetCellValue(item.ThrdConstJian);
ppv.GetRow(rowIndex).GetCell(8).CellStyle.SetFont(cs_content_Font);
ppv.GetRow(rowIndex).GetCell(8).CellStyle.VerticalAlignment = VerticalAlignment.Center;
ppv.GetRow(rowIndex).GetCell(8).CellStyle.Alignment = HorizontalAlignment.Center;
#endregion
#region
if (item.PType == "计划")
{
#region
ppv.GetRow(rowIndex).GetCell(0).CellStyle = backgroundstyle1;
ppv.GetRow(rowIndex).GetCell(1).CellStyle = backgroundstyle1;
ppv.GetRow(rowIndex).GetCell(2).CellStyle = backgroundstyle1;
ppv.GetRow(rowIndex).GetCell(3).CellStyle = backgroundstyle1;
ppv.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle1;
ppv.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle1;
ppv.GetRow(rowIndex).GetCell(6).CellStyle = backgroundstyle1;
ppv.GetRow(rowIndex).GetCell(7).CellStyle = backgroundstyle1;
ppv.GetRow(rowIndex).GetCell(8).CellStyle = backgroundstyle1;
#endregion
#region
if (item.PressurePiping != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.PressurePiping))//压力管道
{
ppv.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle1;
}
if (item.PressureVessel != "-" && DateTime.Now.AddMonths(1) < Convert.ToDateTime(item.PressureVessel))//压力容器
{
ppv.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle1;
}
#endregion
#region
if (item.PressurePiping != "-" && DateTime.Now.Year == Convert.ToDateTime(item.PressurePiping).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.PressurePiping).Month)
{
ppv.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle2;//压力管道
}
if (item.PressureVessel != "-" && DateTime.Now.Year == Convert.ToDateTime(item.PressureVessel).Year && DateTime.Now.AddMonths(1).Month == Convert.ToDateTime(item.PressureVessel).Month)
{
ppv.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle2;//压力容器
}
#endregion
#region
var actual = (from x in Funs.DB.View_Report_Permit_PressurePipingVesse where x.ProjectControl_JobNo == item.ProjectControl_JobNo && x.PType == "实际" select x).FirstOrDefault();
if (actual != null)
{
if (item.PressurePiping != "-" && Convert.ToDateTime(item.PressurePiping).AddMonths(1) < DateTime.Now)//压力管道
{
if (actual.PressurePiping == "-")
{
ppv.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle3;
}
}
if (item.PressureVessel != "-" && Convert.ToDateTime(item.PressureVessel).AddMonths(1) < DateTime.Now)//压力容器
{
if (actual.PressureVessel == "-")
{
ppv.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle3;
}
}
}
#endregion
#region
var eproject = BLL.EProjectService.GeteProjectByJobNO(item.ProjectControl_JobNo);
if (eproject != null)
{
if (eproject.SQIB_PressurePiping.HasValue && item.PressurePiping != "-")
{
ppv.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle1;//压力管道
}
if (eproject.SQIB_PressureVessel.HasValue && item.PressureVessel != "-")
{
ppv.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle1;//压力容器
}
}
#endregion
}
if (item.PType == "实际")
{
var plan = (from x in Funs.DB.View_Report_Permit_PressurePipingVesse where x.ProjectControl_JobNo == item.ProjectControl_JobNo && x.PType == "计划" select x).FirstOrDefault();
if (plan != null)
{
//如果提前或按时完成,则显示白底黑字
//if (!string.IsNullOrEmpty(item.EnvAssess) && !string.IsNullOrEmpty(plan.EnvAssess) && item.EnvAssess != "-" && plan.EnvAssess != "-" && Convert.ToDateTime(item.EnvAssess) <= Convert.ToDateTime(plan.EnvAssess))
//{
//}
#region
if (plan.PressurePiping != "-" && item.PressurePiping != "-" && Convert.ToDateTime(plan.PressurePiping) < Convert.ToDateTime(item.PressurePiping))
{
ppv.GetRow(rowIndex).GetCell(4).CellStyle = backgroundstyle4;//压力管道
}
if (plan.PressureVessel != "-" && item.PressureVessel != "-" && Convert.ToDateTime(plan.PressureVessel) < Convert.ToDateTime(item.PressureVessel))
{
ppv.GetRow(rowIndex).GetCell(5).CellStyle = backgroundstyle4;//压力容器
}
#endregion
}
}
#endregion
if ((int)((95 * (rowIndex + overNum+ permitNum)) / totalNum) > percent)
{
percent = (int)(100 * (rowIndex + overNum + permitNum) / totalNum);
}
rowIndex++;
}
}
#endregion
#region Schedule_Gantt_Bar
XSSFSheet sgb = (XSSFSheet)hssfworkbook.GetSheet("Schedule_Gantt_Bar");
GregorianCalendar gc = new GregorianCalendar();
for (int i = -3; i < 2; i++)
{
DateTime dateTime = new DateTime(DateTime.Now.Year + i, 12, 31);
for (int j = 1; j <= gc.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Monday); j++)
{
tb.Columns.Add(dateTime.Year + "-" + j, System.Type.GetType("System.String"));
}
}
for (int i = 0; i < tb.Rows.Count; i++)
{
try
{
var ReceiveDate = tb.Rows[i]["ReceiveDate"];
var ApprovalDate = tb.Rows[i]["ApprovalDate"];
var ConstStart = tb.Rows[i]["ConstMECivilStart"];
var DEMEEnd = tb.Rows[i]["DEMECivilEnd"];
var ConstEnd = tb.Rows[i]["ConstMECivilEnd"];
if (ReceiveDate is DateTime && ApprovalDate is DateTime)
{
DateTime start = (DateTime)ReceiveDate;
DateTime end = (DateTime)ApprovalDate;
for (; start < end; start = start.AddDays(7))
{
if (tb.Columns.Contains(start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)))
tb.Rows[i][start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)] = "A";
}
}
if (ApprovalDate is DateTime && ConstStart is DateTime)
{
DateTime start = (DateTime)ApprovalDate;
DateTime end = (DateTime)ConstStart;
for (; start < end; start = start.AddDays(7))
{
if (tb.Columns.Contains(start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)))
tb.Rows[i][start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)] = "B";
}
}
if (ConstStart is DateTime && DEMEEnd is DateTime)
{
DateTime start = (DateTime)ConstStart;
DateTime end = (DateTime)DEMEEnd;
for (; start < end; start = start.AddDays(7))
{
if (tb.Columns.Contains(start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)))
tb.Rows[i][start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)] = "C";
}
}
if (DEMEEnd is DateTime && ConstEnd is DateTime)
{
DateTime start = (DateTime)DEMEEnd;
DateTime end = (DateTime)ConstEnd;
for (; start < end; start = start.AddDays(7))
{
if (tb.Columns.Contains(start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)))
tb.Rows[i][start.Year + "-" + gc.GetWeekOfYear(start, CalendarWeekRule.FirstDay, DayOfWeek.Monday)] = "D";
}
}
}
catch (Exception e1)
{
}
}
//计算excel表头
int index = 1;
cs_content_Font.FontHeightInPoints = 10; //字体大小
ICellStyle styleToday = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
styleToday.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Pink.Index;
styleToday.FillPattern = FillPattern.SolidForeground;
for (int i = -3; i < 2; i++)
{
DateTime dateTime = new DateTime(DateTime.Now.Year + i, 12, 31);
ICellStyle styleTitle = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
switch (i)
{
case -3:
styleTitle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.CornflowerBlue.Index;
break;
case -2:
styleTitle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.LightYellow.Index;
break;
case -1:
styleTitle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Rose.Index;
break;
case 0:
styleTitle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Green.Index;
break;
case 1:
styleTitle.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.SkyBlue.Index;
break;
}
styleTitle.FillPattern = FillPattern.SolidForeground;
for (int j = 1; j <= gc.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Monday); j++)
{
byte[] rgb = new byte[3] { 192, 0, 0 };
sgb.GetRow(0).CreateCell(index + 10);
sgb.GetRow(1).CreateCell(index + 10).SetCellValue(j);
sgb.GetRow(0).GetCell(index + 10).CellStyle = styleTitle;
if (dateTime.Year == DateTime.Now.Year && gc.GetWeekOfYear(DateTime.Now, CalendarWeekRule.FirstDay, DayOfWeek.Monday) == j)
{
sgb.GetRow(1).GetCell(index + 10).CellStyle = styleToday;
sgb.GetRow(1).GetCell(index + 10).CellStyle.VerticalAlignment = VerticalAlignment.Bottom;
}
else
{
sgb.GetRow(1).GetCell(index + 10).CellStyle = styleTitle;
sgb.GetRow(1).GetCell(index + 10).CellStyle.VerticalAlignment = VerticalAlignment.Center;
}
sgb.GetRow(1).GetCell(index + 10).CellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
sgb.GetRow(1).GetCell(index + 10).CellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
sgb.GetRow(1).GetCell(index + 10).CellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
sgb.GetRow(1).GetCell(index + 10).CellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
//sgb.GetRow(0).GetCell(index + 6).CellStyle.SetFont(cs_content_Font);//将字体绑定到样式
//sgb.GetRow(1).GetCell(index + 6).CellStyle.SetFont(cs_content_Font);//将字体绑定到样式
index++;
}
CellRangeAddress cellRangeAddress = new CellRangeAddress(0, 0, index + 10 - gc.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Monday), (index + 9));
sgb.AddMergedRegion(cellRangeAddress);
sgb.GetRow(0).GetCell(index + 10 - gc.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Monday)).SetCellValue(dateTime.Year);
sgb.GetRow(0).GetCell(index + 10 - gc.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Monday)).CellStyle.Alignment = HorizontalAlignment.Center;
}
ICellStyle style = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
style.FillPattern = FillPattern.SolidForeground;
ICellStyle styleA = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
styleA.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Yellow.Index;
styleA.FillPattern = FillPattern.SolidForeground;
ICellStyle styleB = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
styleB.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.LightBlue.Index;
styleB.FillPattern = FillPattern.SolidForeground;
ICellStyle styleC = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
styleC.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Indigo.Index;
styleC.FillPattern = FillPattern.SolidForeground;
ICellStyle styleD = (ICellStyle)hssfworkbook.CreateCellStyle(); //创建字体
styleD.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.LightBlue.Index;
styleD.FillPattern = FillPattern.SolidForeground;
if (tb.Rows.Count > 0)
{
var rowIndex = 2;
for (int i = 0; i < tb.Rows.Count; i++)
{
if (sgb.GetRow(rowIndex) == null) sgb.CreateRow(rowIndex);
//XSSFFont cs_content_Font = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
//cs_content_Font.FontHeightInPoints = 10; //字体大小
#region
if (sgb.GetRow(rowIndex).GetCell(0) == null) sgb.GetRow(rowIndex).CreateCell(0);
sgb.GetRow(rowIndex).GetCell(0).SetCellValue(tb.Rows[i]["ProjectControl_JobNo"].ToString());
//sgb.GetRow(rowIndex).GetCell(0).CellStyle.SetFont(cs_content_Font);//将字体绑定到样式
if (sgb.GetRow(rowIndex).GetCell(1) == null) sgb.GetRow(rowIndex).CreateCell(1);
sgb.GetRow(rowIndex).GetCell(1).SetCellValue(tb.Rows[i]["ProjectControl_BUCode"].ToString());
if (sgb.GetRow(rowIndex).GetCell(2) == null) sgb.GetRow(rowIndex).CreateCell(2);
sgb.GetRow(rowIndex).GetCell(2).SetCellValue(tb.Rows[i]["ProjectControl_JobType"].ToString());
if (sgb.GetRow(rowIndex).GetCell(3) == null) sgb.GetRow(rowIndex).CreateCell(3);
sgb.GetRow(rowIndex).GetCell(3).SetCellValue(tb.Rows[i]["ProjectControl_JobTitle"].ToString());
if (sgb.GetRow(rowIndex).GetCell(4) == null) sgb.GetRow(rowIndex).CreateCell(4);
sgb.GetRow(rowIndex).GetCell(4).SetCellValue(tb.Rows[i]["PM_General_Priority"].ToString());
if (sgb.GetRow(rowIndex).GetCell(5) == null) sgb.GetRow(rowIndex).CreateCell(5);
sgb.GetRow(rowIndex).GetCell(5).SetCellValue(tb.Rows[i]["PM_General_Category"].ToString());
if (sgb.GetRow(rowIndex).GetCell(6) == null) sgb.GetRow(rowIndex).CreateCell(6);
sgb.GetRow(rowIndex).GetCell(6).SetCellValue(tb.Rows[i]["PlanHours_ACP"].ToString());
if (sgb.GetRow(rowIndex).GetCell(7) == null) sgb.GetRow(rowIndex).CreateCell(7);
sgb.GetRow(rowIndex).GetCell(7).SetCellValue(tb.Rows[i]["PlanHours_S"].ToString());
if (sgb.GetRow(rowIndex).GetCell(8) == null) sgb.GetRow(rowIndex).CreateCell(8);
sgb.GetRow(rowIndex).GetCell(8).SetCellValue(tb.Rows[i]["ProjectControl_LeadByName"].ToString());
if (sgb.GetRow(rowIndex).GetCell(9) == null) sgb.GetRow(rowIndex).CreateCell(9);
sgb.GetRow(rowIndex).GetCell(9).SetCellValue(tb.Rows[i]["ProjectControl_JobStatus"].ToString());
if (sgb.GetRow(rowIndex).GetCell(10) == null) sgb.GetRow(rowIndex).CreateCell(10);
sgb.GetRow(rowIndex).GetCell(10).SetCellValue(tb.Rows[i]["Schedule"].ToString());
for (int j = 11; j < tb.Columns.Count - 10; j++)
{
if (sgb.GetRow(rowIndex).GetCell(j) == null) sgb.GetRow(rowIndex).CreateCell(j);
sgb.GetRow(rowIndex).GetCell(j).SetCellValue(tb.Rows[i][j + 10].ToString());
switch (tb.Rows[i][j + 10].ToString())
{
case "A":
sgb.GetRow(rowIndex).GetCell(j).CellStyle = styleA;
break;
case "B":
sgb.GetRow(rowIndex).GetCell(j).CellStyle = styleB;
break;
case "C":
sgb.GetRow(rowIndex).GetCell(j).CellStyle = styleC;
break;
case "D":
sgb.GetRow(rowIndex).GetCell(j).CellStyle = styleD;
break;
}
}
#endregion
if ((int)((95 * (rowIndex - 1 + overNum + permitNum + prepipingNum)) / totalNum) > percent)
{
percent = (int)(100 * (rowIndex - 1 + overNum + permitNum + prepipingNum) / totalNum);
}
rowIndex++;
}
}
#endregion
overview.ForceFormulaRecalculation = true;
pg.ForceFormulaRecalculation = true;
ppv.ForceFormulaRecalculation = true;
sgb.ForceFormulaRecalculation = true;
using (FileStream filess = File.OpenWrite(ReportFileName))
{
hssfworkbook.Write(filess);
//hssfworkbook.Close();
//filess.Flush();
//filess.Close();
}
percent = 100;
url = ReportFileName.Replace(Server.MapPath("~/"), "");
}
#endregion
#region
/// <summary>
/// 菜单按钮权限
/// </summary>
private void GetButtonPower()
{
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.UserId, BLL.Const.OverviewMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnOut))
{
this.btnExport.Hidden = false;
this.btnGaExport.Hidden = false;
}
}
}
#endregion
}
}