2023-09-11 08:27:33 +08:00
using Aspose.Words ;
using BLL ;
using System ;
using System.Collections.Generic ;
using System.Data ;
using System.Data.SqlClient ;
using System.IO ;
using System.Linq ;
namespace FineUIPro.Web.PZHGL.InformationProject
{
public partial class ConstructionMonthReport : PageBase
{
/// <summary>
/// 项目id
/// </summary>
public string ProjectId
{
get
{
return ( string ) ViewState [ "ProjectId" ] ;
}
set
{
ViewState [ "ProjectId" ] = value ;
}
}
protected void Page_Load ( object sender , EventArgs e )
{
if ( ! IsPostBack )
{
this . ProjectId = this . CurrUser . LoginProjectId ;
GetButtonPower ( ) ;
BindGrid ( ) ;
}
}
#region 绑 定 数 据
/// <summary>
/// 绑定数据
/// </summary>
public void BindGrid ( )
{
DataTable tb = ChecklistData ( ) ;
Grid1 . RecordCount = tb . Rows . Count ;
tb = GetFilteredTable ( Grid1 . FilteredData , tb ) ;
var table = this . GetPagedDataTable ( Grid1 , tb ) ;
Grid1 . DataSource = table ;
Grid1 . DataBind ( ) ;
}
protected DataTable ChecklistData ( )
{
string strSql = @"select C.ConstructionMonthReportId,C.ProjectId,C.Month,C.CompileDate,C.CompileMan, U.PersonName from ZHGL_ConstructionMonthReport C left join Person_Persons U on U.PersonId = C.CompileMan where 1=1" ;
List < SqlParameter > listStr = new List < SqlParameter > ( ) ;
strSql + = " AND C.ProjectId = @ProjectId" ;
listStr . Add ( new SqlParameter ( "@ProjectId" , this . ProjectId ) ) ;
SqlParameter [ ] parameter = listStr . ToArray ( ) ;
DataTable tb = SQLHelper . GetDataTableRunText ( strSql , parameter ) ;
return tb ;
}
#endregion
#region 操 作 数 据
/// <summary>
/// 添加
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNew_Click ( object sender , EventArgs e )
{
if ( BLL . CommonService . GetAllButtonPowerList ( CurrUser . LoginProjectId , this . CurrUser . PersonId , BLL . Const . ConstructionMonthReportMenuId , BLL . Const . BtnAdd ) )
{
if ( ! string . IsNullOrEmpty ( this . txtMonth . Text . Trim ( ) ) )
{
string Month = txtMonth . Text . Trim ( ) + "-01" ;
if ( BLL . ConstructionMonthReportService . GetConstructionMonthReportByMonth ( Convert . ToDateTime ( Month ) , this . CurrUser . LoginProjectId ) = = null )
{
PageContext . RegisterStartupScript ( Window1 . GetShowReference ( String . Format ( "ConstructionMonthReportEdit.aspx?Month={0}" , Month , "添加 - " ) ) ) ;
}
else
{
Alert . ShowInTop ( "该月份月报已存在!" , MessageBoxIcon . Warning ) ;
}
}
else
{
Alert . ShowInTop ( "请选择月份!" , MessageBoxIcon . Warning ) ;
}
}
else
{
Alert . ShowInTop ( "您没有这个权限,请与管理员联系!" , MessageBoxIcon . Warning ) ;
}
}
//右键编辑
protected void btnMenuModify_Click ( object sender , EventArgs e )
{
if ( BLL . CommonService . GetAllButtonPowerList ( CurrUser . LoginProjectId , this . CurrUser . PersonId , BLL . Const . ConstructionMonthReportMenuId , BLL . Const . BtnModify ) )
{
if ( Grid1 . SelectedRowIndexArray . Length = = 0 )
{
Alert . ShowInTop ( "请至少选择一条记录" , MessageBoxIcon . Warning ) ;
return ;
}
PageContext . RegisterStartupScript ( Window1 . GetShowReference ( String . Format ( "ConstructionMonthReportEdit.aspx?ConstructionMonthReportId={0}" , Grid1 . SelectedRowID , "编辑 - " ) ) ) ;
}
}
//双击编辑
protected void Grid1_RowDoubleClick ( object sender , GridRowClickEventArgs e )
{
if ( BLL . CommonService . GetAllButtonPowerList ( CurrUser . LoginProjectId , this . CurrUser . PersonId , BLL . Const . ConstructionMonthReportMenuId , BLL . Const . BtnModify ) )
{
if ( Grid1 . SelectedRowIndexArray . Length = = 0 )
{
Alert . ShowInTop ( "请至少选择一条记录" , MessageBoxIcon . Warning ) ;
return ;
}
PageContext . RegisterStartupScript ( Window1 . GetShowReference ( String . Format ( "ConstructionMonthReportEdit.aspx?ConstructionMonthReportId={0}" , Grid1 . SelectedRowID , "编辑 - " ) ) ) ;
}
}
//查看
protected void btnMenuView_Click ( object sender , EventArgs e )
{
if ( Grid1 . SelectedRowIndexArray . Length = = 0 )
{
Alert . ShowInTop ( "请至少选择一条记录" , MessageBoxIcon . Warning ) ;
return ;
}
PageContext . RegisterStartupScript ( Window1 . GetShowReference ( String . Format ( "ConstructionMonthReportEdit.aspx?see=see&ConstructionMonthReportId={0}" , Grid1 . SelectedRowID , "查看 - " ) ) ) ;
}
protected void btnMenuDel_Click ( object sender , EventArgs e )
{
if ( BLL . CommonService . GetAllButtonPowerList ( CurrUser . LoginProjectId , this . CurrUser . PersonId , BLL . Const . ConstructionMonthReportMenuId , BLL . Const . BtnDelete ) )
{
if ( Grid1 . SelectedRowIndexArray . Length > 0 )
{
foreach ( int rowIndex in Grid1 . SelectedRowIndexArray )
{
string rowID = Grid1 . DataKeys [ rowIndex ] [ 0 ] . ToString ( ) ;
BLL . ConstructionMonthReportMainCostService . DeleteConstructionMonthReportMainCostsByConstructionMonthReportId ( rowID ) ;
BLL . ConstructionMonthReportSubCostService . DeleteConstructionMonthReportSubCostsByConstructionMonthReportId ( rowID ) ;
BLL . ConstructionMonthReportService . DeleteConstructionMonthReport ( rowID ) ;
}
BindGrid ( ) ;
ShowNotify ( "删除数据成功!" , MessageBoxIcon . Success ) ;
}
}
else
{
Alert . ShowInTop ( "您没有这个权限,请与管理员联系!" , MessageBoxIcon . Warning ) ;
}
}
/// <summary>
/// 编辑数据方法
/// </summary>
private void EditData ( )
{
if ( Grid1 . SelectedRowIndexArray . Length = = 0 )
{
Alert . ShowInTop ( "请至少选择一条记录" , MessageBoxIcon . Warning ) ;
return ;
}
PageContext . RegisterStartupScript ( Window1 . GetShowReference ( String . Format ( "ConstructionMonthReportEdit.aspx?ConstructionMonthReportId={0}" , Grid1 . SelectedRowID , "编辑 - " ) ) ) ;
}
#endregion
protected void ddlPageSize_SelectedIndexChanged ( object sender , EventArgs e )
{
BindGrid ( ) ;
}
#region 获 取 按 钮 权 限
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower ( )
{
if ( Request . Params [ "value" ] = = "0" )
{
return ;
}
var buttonList = BLL . CommonService . GetAllButtonList ( this . ProjectId , this . CurrUser . PersonId , BLL . Const . ConstructionMonthReportMenuId ) ;
if ( buttonList . Count ( ) > 0 )
{
if ( buttonList . Contains ( BLL . Const . BtnModify ) )
{
this . btnMenuModify . Hidden = false ;
}
if ( buttonList . Contains ( BLL . Const . BtnDelete ) )
{
this . btnMenuDel . Hidden = false ;
}
}
}
#endregion
protected void Grid1_PageIndexChange ( object sender , GridPageEventArgs e )
{
BindGrid ( ) ;
}
protected void Window1_Close ( object sender , WindowCloseEventArgs e )
{
BindGrid ( ) ;
}
protected void btnPrinter_Click ( object sender , EventArgs e )
{
if ( Grid1 . SelectedRowIndexArray . Length = = 0 )
{
Alert . ShowInTop ( "请至少选择一条记录!" , MessageBoxIcon . Warning ) ;
return ;
}
string ConstructionMonthReportId = this . Grid1 . SelectedRowID ;
string rootPath = Server . MapPath ( "~/" ) ;
string initTemplatePath = string . Empty ;
string uploadfilepath = string . Empty ;
string newUrl = string . Empty ;
Model . ZHGL_ConstructionMonthReport monthReport = ConstructionMonthReportService . GetConstructionMonthReport ( ConstructionMonthReportId ) ;
Model . Project_Sys_Set CheckMonthStartDay = BLL . Project_SysSetService . GetSysSetBySetName ( "月报开始日期" , this . CurrUser . LoginProjectId ) ;
Model . Project_Sys_Set CheckMonthEndDay = BLL . Project_SysSetService . GetSysSetBySetName ( "月报结束日期" , this . CurrUser . LoginProjectId ) ;
DateTime startTime = Convert . ToDateTime ( monthReport . Month . Value . AddMonths ( - 1 ) . Year . ToString ( ) + "-" + monthReport . Month . Value . AddMonths ( - 1 ) . Month . ToString ( ) + "-25" ) ;
DateTime endTime = startTime . AddMonths ( 1 ) ;
if ( CheckMonthStartDay ! = null )
{
if ( CheckMonthStartDay . SetValue ! = "" )
{
if ( CheckMonthEndDay ! = null )
{
if ( CheckMonthEndDay . SetValue ! = "" )
{
startTime = Convert . ToDateTime ( monthReport . Month . Value . AddMonths ( - 1 ) . Year . ToString ( ) + "-" + monthReport . Month . Value . AddMonths ( - 1 ) . Month . ToString ( ) + "-" + CheckMonthStartDay . SetValue ) ;
endTime = Convert . ToDateTime ( monthReport . Month . Value . AddMonths ( - 1 ) . Year . ToString ( ) + "-" + monthReport . Month . Value . Month . ToString ( ) + "-" + CheckMonthEndDay . SetValue ) ;
}
else
{
startTime = Convert . ToDateTime ( monthReport . Month . Value . AddMonths ( - 1 ) . Year . ToString ( ) + "-" + monthReport . Month . Value . AddMonths ( - 1 ) . Month . ToString ( ) + "-" + CheckMonthStartDay . SetValue ) ;
endTime = startTime . AddMonths ( 1 ) ;
}
}
else
{
startTime = Convert . ToDateTime ( monthReport . Month . Value . AddMonths ( - 1 ) . Year . ToString ( ) + "-" + monthReport . Month . Value . AddMonths ( - 1 ) . Month . ToString ( ) + "-" + CheckMonthStartDay . SetValue ) ;
endTime = startTime . AddMonths ( 1 ) ;
}
}
else
{
if ( CheckMonthEndDay ! = null )
{
if ( CheckMonthEndDay . SetValue ! = "" )
{
startTime = Convert . ToDateTime ( monthReport . Month . Value . AddMonths ( - 1 ) . Year . ToString ( ) + "-" + monthReport . Month . Value . AddMonths ( - 1 ) . Month . ToString ( ) + "-" + CheckMonthEndDay . SetValue ) ;
endTime = startTime . AddMonths ( 1 ) ;
}
}
}
}
else
{
if ( CheckMonthEndDay ! = null )
{
if ( CheckMonthEndDay . SetValue ! = null )
{
startTime = Convert . ToDateTime ( monthReport . Month . Value . AddMonths ( - 1 ) . Year . ToString ( ) + "-" + monthReport . Month . Value . AddMonths ( - 1 ) . Month . ToString ( ) + "-" + CheckMonthEndDay . SetValue ) ;
endTime = startTime . AddMonths ( 1 ) ;
}
}
}
initTemplatePath = Const . ConstructionMonthReportTemplateUrl ;
uploadfilepath = rootPath + initTemplatePath ;
newUrl = uploadfilepath . Replace ( ".doc" , "(" + string . Format ( "{0:yyyy-MM}" , monthReport . Month ) + ").doc" ) ;
File . Copy ( uploadfilepath , newUrl ) ;
//更新书签内容
Document doc = new Aspose . Words . Document ( newUrl ) ;
var project = ProjectService . GetProjectByProjectId ( monthReport . ProjectId ) ;
Bookmark bookmarkProjectName1 = doc . Range . Bookmarks [ "ProjectName1" ] ;
if ( bookmarkProjectName1 ! = null )
{
if ( project ! = null )
{
bookmarkProjectName1 . Text = project . ProjectName ;
}
}
Bookmark bookmarkMag = doc . Range . Bookmarks [ "Mag" ] ;
if ( bookmarkMag ! = null )
{
bookmarkMag . Text = endTime . Year . ToString ( ) + "年第" + endTime . Month . ToString ( ) + "期" ;
}
Bookmark bookmarkTimeSpan = doc . Range . Bookmarks [ "TimeSpan" ] ;
if ( bookmarkTimeSpan ! = null )
{
bookmarkTimeSpan . Text = startTime . Year + "年" + startTime . Month + "月" + startTime . Day + "日" + "~" + endTime . Year + "年" + endTime . Month + "月" + endTime . Day + "日" ;
}
Bookmark bookmarkCompileMan = doc . Range . Bookmarks [ "CompileMan" ] ;
if ( bookmarkCompileMan ! = null )
{
bookmarkCompileMan . Text = Person_PersonsService . GetPersonsNameById ( monthReport . CompileMan ) ;
}
Bookmark bookmarkCompileDate = doc . Range . Bookmarks [ "CompileDate" ] ;
if ( bookmarkCompileDate ! = null )
{
if ( monthReport . CompileDate ! = null )
{
bookmarkCompileDate . Text = string . Format ( "{0:yyyy-MM-dd}" , monthReport . CompileDate ) ;
}
}
Bookmark bookmarkProjectName2 = doc . Range . Bookmarks [ "ProjectName2" ] ;
if ( bookmarkProjectName2 ! = null )
{
if ( project ! = null )
{
bookmarkProjectName2 . Text = project . ProjectName ;
}
}
Bookmark bookmarkOwnerName = doc . Range . Bookmarks [ "OwnerName" ] ;
if ( bookmarkOwnerName ! = null )
{
bookmarkOwnerName . Text = monthReport . OwnerName ? ? "" ;
}
Bookmark bookmarkContractScope = doc . Range . Bookmarks [ "ContractScope" ] ;
if ( bookmarkContractScope ! = null )
{
bookmarkContractScope . Text = monthReport . ContractScope ? ? "" ;
}
Bookmark bookmarkContractPriceAndPricingModel = doc . Range . Bookmarks [ "ContractPriceAndPricingModel" ] ;
if ( bookmarkContractPriceAndPricingModel ! = null )
{
bookmarkContractPriceAndPricingModel . Text = monthReport . ContractPriceAndPricingModel ? ? "" ;
}
Bookmark bookmarkStartEndTime = doc . Range . Bookmarks [ "StartEndTime" ] ;
if ( bookmarkStartEndTime ! = null )
{
string start = string . Empty , end = string . Empty ;
if ( monthReport . ContractStartDate ! = null )
{
start = string . Format ( "{0:yyyy-MM-dd}" , monthReport . ContractStartDate ) ;
}
if ( monthReport . ContractEndDate ! = null )
{
end = string . Format ( "{0:yyyy-MM-dd}" , monthReport . ContractEndDate ) ;
}
bookmarkStartEndTime . Text = start + "/" + end ;
}
Aspose . Words . DocumentBuilder builder = new Aspose . Words . DocumentBuilder ( doc ) ;
//本月进度完成情况
builder . MoveToBookmark ( "Table1" ) ;
builder . StartTable ( ) ;
builder . CellFormat . Borders . LineStyle = LineStyle . Single ;
builder . CellFormat . Borders . Color = System . Drawing . Color . Black ;
builder . Bold = false ;
builder . RowFormat . Height = 20 ;
builder . Bold = false ;
DataTable table = BLL . WorkPackageService . GetAllTreeDataTableConstructionMonthReport ( this . CurrUser . LoginProjectId , string . Empty , startTime , endTime ) ;
//序号
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 60 ;
builder . Write ( "序号" ) ;
//工作内容
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 200 ;
builder . Write ( "工作内容" ) ;
//概算工程量
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 100 ;
builder . Write ( "概算工程量" ) ;
//计划开始时间
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 100 ;
builder . Write ( "计划开始时间" ) ;
//计划完成时间
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 100 ;
builder . Write ( "计划完成时间" ) ;
//实际开始时间
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 100 ;
builder . Write ( "实际开始时间" ) ;
//实际完成时间
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 100 ;
builder . Write ( "实际完成时间" ) ;
builder . EndRow ( ) ;
foreach ( DataRow row in table . Rows )
{
//序号
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 60 ;
builder . Write ( row [ "Code" ] . ToString ( ) ) ;
//工作内容
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 200 ;
builder . Write ( row [ "Name" ] . ToString ( ) ) ;
//概算工程量
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 100 ;
if ( row [ "PlanProjectQuantity" ] ! = System . DBNull . Value )
{
builder . Write ( Funs . GetNewDecimalOrZero ( row [ "PlanProjectQuantity" ] . ToString ( ) ) . ToString ( "0.##" ) ) ;
}
//计划开始时间
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 100 ;
string planStartDate = string . Empty ;
if ( row [ "PlanStartDate" ] ! = null )
{
planStartDate = string . Format ( "{0:yyyy-MM-dd}" , row [ "PlanStartDate" ] ) ;
}
builder . Write ( planStartDate ) ;
//计划完成时间
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 100 ;
string planEndDate = string . Empty ;
if ( row [ "PlanEndDate" ] ! = null )
{
planEndDate = string . Format ( "{0:yyyy-MM-dd}" , row [ "PlanEndDate" ] ) ;
}
builder . Write ( planEndDate ) ;
//实际开始时间
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 100 ;
string realStartDate = string . Empty ;
if ( row [ "RealStartDate" ] ! = null )
{
realStartDate = string . Format ( "{0:yyyy-MM-dd}" , row [ "RealStartDate" ] ) ;
}
builder . Write ( realStartDate ) ;
//实际完成时间
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 100 ;
string realEndDate = string . Empty ;
if ( row [ "RealEndDate" ] ! = null )
{
realEndDate = string . Format ( "{0:yyyy-MM-dd}" , row [ "RealEndDate" ] ) ;
}
builder . Write ( realEndDate ) ;
builder . EndRow ( ) ;
}
builder . EndTable ( ) ;
Bookmark bookmarkMainConstructionActivities = doc . Range . Bookmarks [ "MainConstructionActivities" ] ;
if ( bookmarkMainConstructionActivities ! = null )
{
bookmarkMainConstructionActivities . Text = monthReport . MainConstructionActivities ? ? "" ;
}
Bookmark bookmarkProgressDeviationAndCauseAnalysis = doc . Range . Bookmarks [ "ProgressDeviationAndCauseAnalysis" ] ;
if ( bookmarkProgressDeviationAndCauseAnalysis ! = null )
{
bookmarkProgressDeviationAndCauseAnalysis . Text = monthReport . ProgressDeviationAndCauseAnalysis ? ? "" ;
}
Bookmark bookmarkKeyDeviationAndCauseAnalysis = doc . Range . Bookmarks [ "KeyDeviationAndCauseAnalysis" ] ;
if ( bookmarkKeyDeviationAndCauseAnalysis ! = null )
{
bookmarkKeyDeviationAndCauseAnalysis . Text = monthReport . KeyDeviationAndCauseAnalysis ? ? "" ;
}
Bookmark bookmarkTargetedCorrectiveMeasures = doc . Range . Bookmarks [ "TargetedCorrectiveMeasures" ] ;
if ( bookmarkTargetedCorrectiveMeasures ! = null )
{
bookmarkTargetedCorrectiveMeasures . Text = monthReport . TargetedCorrectiveMeasures ? ? "" ;
}
//总包工程施工请款情况表
builder . MoveToBookmark ( "Table2" ) ;
builder . StartTable ( ) ;
builder . CellFormat . Borders . LineStyle = LineStyle . Single ;
builder . CellFormat . Borders . Color = System . Drawing . Color . Black ;
builder . Bold = false ;
builder . RowFormat . Height = 20 ;
builder . Bold = false ;
var list = ConstructionMonthReportMainCostService . getListData ( ConstructionMonthReportId ) ;
foreach ( var item in list )
{
//序号
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 28 ;
builder . Write ( "1" ) ;
//合同施工费
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 68 ;
builder . Write ( item . ContractConstructionCost . Value . ToString ( "0.####" ) ) ;
//本月请款
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 56 ;
builder . Write ( item . ThisRequestCost . Value . ToString ( "0.####" ) ) ;
//累计请款
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 80 ;
builder . Write ( item . TotalRequestCost . Value . ToString ( "0.####" ) ) ;
//本月收款
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 62 ;
builder . Write ( item . ThisCollection . Value . ToString ( "0.####" ) ) ;
//累计收款
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 76 ;
builder . Write ( item . TotalCollection . Value . ToString ( "0.####" ) ) ;
//累计收款百分比
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 68 ;
builder . Write ( item . TotalCollectionRate . Value . ToString ( "0.##" ) ) ;
builder . EndRow ( ) ;
}
builder . EndTable ( ) ;
//分包工程施工付款情况表
builder . MoveToBookmark ( "Table3" ) ;
builder . StartTable ( ) ;
builder . CellFormat . Borders . LineStyle = LineStyle . Single ;
builder . CellFormat . Borders . Color = System . Drawing . Color . Black ;
builder . Bold = false ;
builder . RowFormat . Height = 20 ;
builder . Bold = false ;
var list2 = ConstructionMonthReportSubCostService . getListData ( ConstructionMonthReportId ) ;
int i = 1 ;
foreach ( var item in list2 )
{
//序号
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 33 ;
builder . Write ( i . ToString ( ) ) ;
//施工单位
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 62 ;
builder . Write ( BLL . UnitService . GetUnitNameByUnitId ( item . UnitId ) ) ;
//合同金额
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 37 ;
builder . Write ( item . ContractAmount . Value . ToString ( "0.####" ) ) ;
//本月应付
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 62 ;
builder . Write ( item . ThisNeedPay . Value . ToString ( "0.####" ) ) ;
//本月实付
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 62 ;
builder . Write ( item . ThisRealPay . Value . ToString ( "0.####" ) ) ;
//累计应付
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 62 ;
builder . Write ( item . TotalNeedPay . Value . ToString ( "0.####" ) ) ;
//累计实付
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 62 ;
builder . Write ( item . TotalRealPay . Value . ToString ( "0.####" ) ) ;
//累计付款百分比
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 62 ;
builder . Write ( item . TotalRealPayRate . Value . ToString ( "0.##" ) ) ;
builder . EndRow ( ) ;
i + + ;
}
//合计
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 33 ;
builder . Write ( "合计" ) ;
//施工单位
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 62 ;
builder . Write ( string . Empty ) ;
//合同金额
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 37 ;
2025-10-10 14:33:21 +08:00
builder . Write ( list2 . Sum ( x = > x . ContractAmount ? ? 0 ) . ToString ( "0.####" ) ) ;
2023-09-11 08:27:33 +08:00
//本月应付
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 62 ;
builder . Write ( list2 . Sum ( x = > x . ThisNeedPay ? ? 0 ) . ToString ( "0.####" ) ) ;
//本月实付
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 62 ;
builder . Write ( list2 . Sum ( x = > x . ThisRealPay ? ? 0 ) . ToString ( "0.####" ) ) ;
//累计应付
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 62 ;
builder . Write ( list2 . Sum ( x = > x . TotalNeedPay ? ? 0 ) . ToString ( "0.####" ) ) ;
//累计实付
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 62 ;
builder . Write ( list2 . Sum ( x = > x . TotalRealPay ? ? 0 ) . ToString ( "0.####" ) ) ;
//累计付款百分比
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 62 ;
decimal contractAmount = list2 . Sum ( x = > x . ContractAmount ? ? 0 ) ;
decimal totalRealPay = list2 . Sum ( x = > x . TotalRealPay ? ? 0 ) ;
decimal totalRealPayRate = 0 ;
if ( contractAmount > 0 & & totalRealPay > 0 )
{
totalRealPayRate = totalRealPay / contractAmount * 100 ;
}
builder . Write ( totalRealPayRate . ToString ( "0.##" ) ) ;
builder . EndRow ( ) ;
builder . EndTable ( ) ;
//下月计划完成情况
builder . MoveToBookmark ( "Table4" ) ;
builder . StartTable ( ) ;
builder . CellFormat . Borders . LineStyle = LineStyle . Single ;
builder . CellFormat . Borders . Color = System . Drawing . Color . Black ;
builder . Bold = false ;
builder . RowFormat . Height = 20 ;
builder . Bold = false ;
DateTime nextStartTime = startTime . AddMonths ( 1 ) ;
DateTime nextEndTime = endTime . AddMonths ( 1 ) ;
DataTable table2 = BLL . WorkPackageService . GetAllTreeDataTableConstructionMonthReport ( this . CurrUser . LoginProjectId , string . Empty , nextStartTime , nextEndTime ) ;
//序号
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 60 ;
builder . Write ( "序号" ) ;
//工作内容
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 200 ;
builder . Write ( "工作内容" ) ;
//概算工程量
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 100 ;
builder . Write ( "概算工程量" ) ;
//计划开始时间
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 100 ;
builder . Write ( "计划开始时间" ) ;
//计划完成时间
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 100 ;
builder . Write ( "计划完成时间" ) ;
//实际开始时间
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 100 ;
builder . Write ( "实际开始时间" ) ;
//实际完成时间
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 100 ;
builder . Write ( "实际完成时间" ) ;
builder . EndRow ( ) ;
foreach ( DataRow row in table2 . Rows )
{
//序号
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 60 ;
builder . Write ( row [ "Code" ] . ToString ( ) ) ;
//工作内容
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 200 ;
builder . Write ( row [ "Name" ] . ToString ( ) ) ;
//概算工程量
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 100 ;
if ( row [ "PlanProjectQuantity" ] ! = System . DBNull . Value )
{
builder . Write ( Funs . GetNewDecimalOrZero ( row [ "PlanProjectQuantity" ] . ToString ( ) ) . ToString ( "0.##" ) ) ;
}
//计划开始时间
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 100 ;
string planStartDate = string . Empty ;
if ( row [ "PlanStartDate" ] ! = null )
{
planStartDate = string . Format ( "{0:yyyy-MM-dd}" , row [ "PlanStartDate" ] ) ;
}
builder . Write ( planStartDate ) ;
//计划完成时间
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 100 ;
string planEndDate = string . Empty ;
if ( row [ "PlanEndDate" ] ! = null )
{
planEndDate = string . Format ( "{0:yyyy-MM-dd}" , row [ "PlanEndDate" ] ) ;
}
builder . Write ( planEndDate ) ;
//实际开始时间
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 100 ;
string realStartDate = string . Empty ;
if ( row [ "RealStartDate" ] ! = null )
{
realStartDate = string . Format ( "{0:yyyy-MM-dd}" , row [ "RealStartDate" ] ) ;
}
builder . Write ( realStartDate ) ;
//实际完成时间
builder . InsertCell ( ) ;
builder . CellFormat . VerticalMerge = Aspose . Words . Tables . CellMerge . None ;
builder . CellFormat . HorizontalMerge = Aspose . Words . Tables . CellMerge . First ;
builder . CellFormat . VerticalAlignment = Aspose . Words . Tables . CellVerticalAlignment . Center ; //垂直居中对齐
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
builder . CellFormat . Width = 100 ;
string realEndDate = string . Empty ;
if ( row [ "RealEndDate" ] ! = null )
{
realEndDate = string . Format ( "{0:yyyy-MM-dd}" , row [ "RealEndDate" ] ) ;
}
builder . Write ( realEndDate ) ;
builder . EndRow ( ) ;
}
builder . EndTable ( ) ;
Bookmark bookmarkNextMonthWork = doc . Range . Bookmarks [ "NextMonthWork" ] ;
if ( bookmarkNextMonthWork ! = null )
{
bookmarkNextMonthWork . Text = monthReport . NextMonthWork ? ? "" ;
}
Bookmark bookmarkNeedCoordinateMatter = doc . Range . Bookmarks [ "NeedCoordinateMatter" ] ;
if ( bookmarkNeedCoordinateMatter ! = null )
{
bookmarkNeedCoordinateMatter . Text = monthReport . NeedCoordinateMatter ? ? "" ;
}
Bookmark bookmarkFile = doc . Range . Bookmarks [ "Photo" ] ;
if ( bookmarkFile ! = null )
{
builder . MoveToBookmark ( "Photo" ) ;
builder . ParagraphFormat . Alignment = ParagraphAlignment . Center ; //水平居中对齐
var checkFile = AttachFileService . Getfiles ( ConstructionMonthReportId , Const . ConstructionMonthReportMenuId ) ;
if ( ! string . IsNullOrEmpty ( checkFile . AttachUrl ) )
{
string [ ] urls = checkFile . AttachUrl . Split ( ',' ) ;
if ( urls . Length > 0 )
{
foreach ( var url in urls )
{
if ( ! string . IsNullOrWhiteSpace ( url ) )
{
System . Drawing . Size JpgSize ;
float Wpx ;
float Hpx ;
string spliurl = url ;
UploadAttachmentService . getJpgSize ( rootPath + spliurl , out JpgSize , out Wpx , out Hpx ) ;
float d = 1 ;
if ( JpgSize . Width > 0 & & JpgSize . Height > 0 )
{
if ( JpgSize . Width > = JpgSize . Height )
{
if ( JpgSize . Width > 420 )
{
d = ( float ) JpgSize . Width / 420 ;
}
}
else
{
if ( JpgSize . Height > 420 )
{
d = ( float ) JpgSize . Height / 420 ;
}
}
if ( File . Exists ( rootPath + spliurl ) )
{
builder . InsertImage ( rootPath + spliurl , Convert . ToDouble ( JpgSize . Width / d ) , Convert . ToDouble ( JpgSize . Height / d ) ) ;
builder . Write ( " " ) ;
}
}
}
}
}
//string url = item.AttachUrl.Substring(0, item.AttachUrl.Length - 1);
}
}
doc . Save ( newUrl ) ;
string fileName = Path . GetFileName ( newUrl ) ;
FileInfo info = new FileInfo ( newUrl ) ;
long fileSize = info . Length ;
Response . Clear ( ) ;
Response . ContentType = "application/x-zip-compressed" ;
Response . AddHeader ( "Content-Disposition" , "attachment;filename=" + System . Web . HttpUtility . UrlEncode ( fileName , System . Text . Encoding . UTF8 ) ) ;
Response . AddHeader ( "Content-Length" , fileSize . ToString ( ) ) ;
Response . TransmitFile ( newUrl , 0 , fileSize ) ;
Response . Flush ( ) ;
Response . Close ( ) ;
File . Delete ( newUrl ) ;
}
}
}