增加施工月报

This commit is contained in:
2023-09-11 08:27:33 +08:00
parent b53e552cfa
commit 1d92a3e926
20 changed files with 4625 additions and 45 deletions
@@ -0,0 +1,102 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ConstructionMonthReport.aspx.cs" Inherits="FineUIPro.Web.PZHGL.InformationProject.ConstructionMonthReport" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="施工月报" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="ConstructionMonthReportId" AllowCellEditing="true"
ClicksToEdit="2" DataIDField="ConstructionMonthReportId" AllowSorting="true" SortField="Month"
SortDirection="DESC" EnableColumnLines="true" ForceFit="true"
AllowPaging="true" IsDatabasePaging="true" PageSize="10"
EnableRowDoubleClickEvent="true" AllowFilters="true" EnableTextSelection="True" OnRowDoubleClick="Grid1_RowDoubleClick" OnPageIndexChange="Grid1_PageIndexChange">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:DatePicker runat="server" DateFormatString="yyyy-MM" Label="选择月份" ID="txtMonth" LabelAlign="right" LabelWidth="110px">
</f:DatePicker>
<f:Button ID="btnNew" Icon="Add" EnablePostBack="true"
runat="server" OnClick="btnNew_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="180px" ColumnID="Month" DataField="Month" SortField="Month" FieldType="Date" HeaderText="月份" TextAlign="Center" HeaderTextAlign="Center" RendererArgument="yyyy-MM">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="CompileDate" DataField="CompileDate" SortField="CompileDate" FieldType="Date" HeaderText="编制日期" TextAlign="Center" HeaderTextAlign="Center" RendererArgument="yyyy-MM-dd">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="PersonName" DataField="PersonName"
FieldType="String" HeaderText="编制人" TextAlign="Center" HeaderTextAlign="Center" >
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true" OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
<f:ListItem Text="10" Value="10" />
<f:ListItem Text="15" Value="15" />
<f:ListItem Text="20" Value="20" />
<f:ListItem Text="25" Value="25" />
<f:ListItem Text="所有行" Value="100000" />
</f:DropDownList>
<f:ToolbarFill runat="server">
</f:ToolbarFill>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="编辑月报" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true"
Width="1290px" Height="800px" OnClose="Window1_Close">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<Items>
<f:MenuButton ID="btnMenuModify" EnablePostBack="true" runat="server" Text="修改" Icon="Pencil" OnClick="btnMenuModify_Click" Hidden="true">
</f:MenuButton>
<f:MenuButton ID="btnPrinter" EnablePostBack="true" runat="server"
Text="导出" Icon="Printer" OnClick="btnPrinter_Click" EnableAjax="false" DisableControlBeforePostBack="false">
</f:MenuButton>
<f:MenuButton ID="btnMenuView" EnablePostBack="true" runat="server" Text="查看" Icon="ApplicationViewIcons" OnClick="btnMenuView_Click">
</f:MenuButton>
<f:MenuButton ID="btnMenuDel" EnablePostBack="true" runat="server" Icon="Delete" Text="删除" ConfirmText="确定删除当前数据?"
OnClick="btnMenuDel_Click" Hidden="true">
</f:MenuButton>
</Items>
</f:Menu>
</form>
<script type="text/javascript">
var menuID = '<%= Menu1.ClientID %>';
// 返回false,来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
F(menuID).show(); //showAt(event.pageX, event.pageY);
return false;
}
</script>
</body>
</html>
@@ -0,0 +1,975 @@
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;
builder.Write(list2.Sum(x=>x.ContractAmount??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.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);
}
}
}
@@ -0,0 +1,168 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.PZHGL.InformationProject {
public partial class ConstructionMonthReport {
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// txtMonth 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtMonth;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// lblPageIndex 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageIndex;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuModify 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuModify;
/// <summary>
/// btnPrinter 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnPrinter;
/// <summary>
/// btnMenuView 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuView;
/// <summary>
/// btnMenuDel 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuDel;
}
}
@@ -0,0 +1,417 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ConstructionMonthReportEdit.aspx.cs" Inherits="FineUIPro.Web.PZHGL.InformationProject.ConstructionMonthReportEdit" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>质量月报</title>
<style type="text/css">
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.f-grid-colheader-text {
white-space: normal;
word-break: break-all;
}
.labcenter {
text-align: center;
}
.table {
border-collapse: collapse;
text-align: center;
table-layout: fixed;
width: 100%;
}
.input {
border: none;
width: 100%;
background-color: transparent;
text-align: center;
}
.table td, .table th {
border: 1px solid #cad9ea;
color: #666;
height: 30px;
}
.table thead th {
/* background-color: #CCE8EB;*/
width: 200px;
}
.table tr {
/* background: #fff;*/
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="SimpleForm1" runat="server" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:TextBox runat="server" ID="lbMonths" Readonly="true" Width="180px" LabelWidth="50px" Label="月份" LabelAlign="Left" CssStyle="padding-right:75%"></f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Panel ID="pan" Layout="Block" CssClass="blockpanel myblockform" BlockMD="12"
BlockConfigSpace="10px" BodyPadding="5px" Title="一、项目概况" EnableCollapse="true" runat="server">
<Items>
<f:Label ID="txtProjectName" Label="项目名称" runat="server" BlockMD="12" LabelWidth="140px"></f:Label>
<f:TextBox ID="txtOwnerName" runat="server" Label="业主名称" BlockMD="12" MaxLength="100" LabelWidth="140px">
</f:TextBox>
<f:TextArea ID="txtContractScope" runat="server" Label="合同范围" BlockMD="12" LabelWidth="140px" MaxLength="1000">
</f:TextArea>
<f:TextArea ID="txtContractPriceAndPricingModel" runat="server" LabelWidth="140px" Label="合同价格和计价模式" BlockMD="12" MaxLength="300">
</f:TextArea>
<f:DatePicker runat="server" BlockMD="6" LabelAlign="right" DateFormatString="yyyy-MM-dd" Label="合同施工开工日期"
EmptyText="请选择开始日期" LabelWidth="140px"
ID="txtContractStartDate">
</f:DatePicker>
<f:DatePicker runat="server" Label="完工日期" ID="txtContractEndDate" BlockMD="6" EmptyText="请选择结束日期" LabelWidth="120px">
</f:DatePicker>
</Items>
</f:Panel>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:ContentPanel ID="ContentPanel3" Title="二、施工进度情况" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" AutoScroll="true"
runat="server">
<f:GroupPanel ID="GroupPanel2" Layout="Anchor" Title="a) 本月计划完成情况(主项/专业/施工部位、完成日期、工程量)及其它主要施工活动" runat="server">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="项目情况" BoxFlex="1" AllowColumnLocking="true"
runat="server" EnableCollapse="true" DataKeyNames="Id,Name,ShowId" EnableTree="true" EnableColumnLines="true" ClicksToEdit="1" AllowCellEditing="true"
TreeColumn="Name" DataIDField="Id" DataParentIDField="SupId" ExpandAllTreeNodes="true">
<Columns>
<f:RenderField Width="100px" ColumnID="Code" DataField="Code" FieldType="String"
HeaderText="序号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:BoundField Width="450px" ColumnID="Name" DataField="Name" HeaderTextAlign="Center" ExpandUnusedSpace="true"
HeaderText="工作内容" />
<f:RenderField Width="100px" ColumnID="PlanProjectQuantity" DataField="PlanProjectQuantity" FieldType="Double"
HeaderText="概算工程量" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="PlanStartDate" DataField="PlanStartDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="计划开始时间" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="PlanEndDate" DataField="PlanEndDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="计划完成时间" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="RealStartDate" DataField="RealStartDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="实际开始时间" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="RealEndDate" DataField="RealEndDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="实际完成时间" HeaderTextAlign="Center">
</f:RenderField>
</Columns>
</f:Grid>
<f:TextArea ID="txtMainConstructionActivities" MarginTop="10px" runat="server" LabelWidth="140px" BlockMD="12" MaxLength="3000">
</f:TextArea>
</Items>
</f:GroupPanel>
<f:GroupPanel ID="GroupPanel1" Layout="Anchor" Title="b) 施工进度偏差及原因分析" runat="server">
<Items>
<f:TextArea ID="txtProgressDeviationAndCauseAnalysis" MarginTop="10px" runat="server" LabelWidth="140px" BlockMD="12" MaxLength="3000">
</f:TextArea>
</Items>
</f:GroupPanel>
<f:GroupPanel ID="GroupPanel3" Layout="Anchor" Title="c) 关键路径偏差及原因分析" runat="server">
<Items>
<f:TextArea ID="txtKeyDeviationAndCauseAnalysis" MarginTop="10px" runat="server" LabelWidth="140px" BlockMD="12" MaxLength="3000">
</f:TextArea>
</Items>
</f:GroupPanel>
<f:GroupPanel ID="GroupPanel4" Layout="Anchor" Title="d) 针对性纠偏措施" runat="server">
<Items>
<f:TextArea ID="txtTargetedCorrectiveMeasures" MarginTop="10px" runat="server" LabelWidth="140px" BlockMD="12" MaxLength="3000">
</f:TextArea>
</Items>
</f:GroupPanel>
</f:ContentPanel>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:ContentPanel ID="ContentPanel1" Title="三、施工费用情况" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" AutoScroll="true"
runat="server">
<f:GroupPanel ID="GroupPanel5" Layout="Anchor" Title="3.1 总包工程施工请款情况表(单位:万元)" runat="server">
<Items>
<f:Grid ID="GridMainCost" IsFluid="true" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" runat="server" EnableCollapse="false"
EnableColumnLines="true" AllowCellEditing="true" ClicksToEdit="1">
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblPageIndex" runat="server" Text='<%# GridMainCost.PageIndex * GridMainCost.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="250px" ColumnID="ContractConstructionCost" DataField="ContractConstructionCost"
FieldType="Double" HeaderText="合同施工费" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="txtContractConstructionCost" NoDecimal="false" DecimalPrecision="4" NoNegative="true" runat="server">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="180px" ColumnID="ThisRequestCost" DataField="ThisRequestCost"
FieldType="Double" HeaderText="本月请款" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="txtThisRequestCost" NoDecimal="false" DecimalPrecision="4" NoNegative="true" runat="server" Text='<%# Bind("ThisRequestCost") %>'>
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="180px" ColumnID="TotalRequestCost" DataField="TotalRequestCost"
FieldType="Double" HeaderText="累计请款" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="txtTotalRequestCost" NoDecimal="false" DecimalPrecision="4" NoNegative="true" runat="server" Text='<%# Bind("TotalRequestCost") %>'>
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="180px" ColumnID="ThisCollection" DataField="ThisCollection"
FieldType="Double" HeaderText="本月收款" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="txtThisCollection" NoDecimal="false" DecimalPrecision="4" NoNegative="true" runat="server" Text='<%# Bind("ThisCollection") %>'>
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="180px" ColumnID="TotalCollection" DataField="TotalCollection"
FieldType="Double" HeaderText="累计收款" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="txtTotalCollection" NoDecimal="false" DecimalPrecision="4" NoNegative="true" runat="server" Text='<%# Bind("TotalCollection") %>'>
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="200px" ColumnID="TotalCollectionRate" DataField="TotalCollectionRate"
FieldType="Double" HeaderText="累计收款百分比" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:Label ID="txtTotalCollectionRate" runat="server"></f:Label>
</Editor>
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="afteredit" Handler="onGridAfterEdit" />
</Listeners>
</f:Grid>
</Items>
</f:GroupPanel>
<f:GroupPanel ID="GroupPanel6" Layout="Anchor" Title="3.2 分包工程施工付款情况表(单位:万元)" runat="server">
<Items>
<f:Grid ID="GridSubCost" IsFluid="true" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" runat="server" EnableCollapse="false"
EnableColumnLines="true" AllowCellEditing="true" ClicksToEdit="1" EnableSummary="true" SummaryPosition="Flow">
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="65px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# GridSubCost.PageIndex * GridSubCost.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:TemplateField ColumnID="UnitName" Width="310px" HeaderText="施工单位" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# ConvertUnitName(Eval("UnitId")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="140px" ColumnID="ContractAmount" DataField="ContractAmount"
FieldType="Double" HeaderText="合同金额" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="txtContractAmount" NoDecimal="false" DecimalPrecision="4" NoNegative="true" runat="server">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="140px" ColumnID="ThisNeedPay" DataField="ThisNeedPay"
FieldType="Double" HeaderText="本月应付" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="txtThisNeedPay" NoDecimal="false" DecimalPrecision="4" NoNegative="true" runat="server" Text='<%# Bind("ThisNeedPay") %>'>
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="140px" ColumnID="ThisRealPay" DataField="ThisRealPay"
FieldType="Double" HeaderText="本月实付" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="txtThisRealPay" NoDecimal="false" DecimalPrecision="4" NoNegative="true" runat="server" Text='<%# Bind("ThisRealPay") %>'>
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="140px" ColumnID="TotalNeedPay" DataField="TotalNeedPay"
FieldType="Double" HeaderText="累计应付" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="txtTotalNeedPay" NoDecimal="false" DecimalPrecision="4" NoNegative="true" runat="server" Text='<%# Bind("TotalNeedPay") %>'>
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="140px" ColumnID="TotalRealPay" DataField="TotalRealPay"
FieldType="Double" HeaderText="累计实付" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="txtTotalRealPay" NoDecimal="false" DecimalPrecision="4" NoNegative="true" runat="server" Text='<%# Bind("TotalRealPay") %>'>
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="140px" ColumnID="TotalRealPayRate" DataField="TotalRealPayRate"
FieldType="Double" HeaderText="累计付款百分比" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:Label ID="txtTotalRealPayRate" runat="server"></f:Label>
</Editor>
</f:RenderField>
<f:RenderField Width="10px" ColumnID="UnitId" DataField="UnitId" Hidden="true"
FieldType="String" HeaderText="单位Id" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="afteredit" Handler="onGridAfterEdit2" />
</Listeners>
</f:Grid>
</Items>
</f:GroupPanel>
</f:ContentPanel>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:ContentPanel ID="ContentPanel2" Title="四、下月施工工作要点" ShowBorder="true"
BodyPadding="10px" EnableCollapse="true" ShowHeader="true" AutoScroll="true"
runat="server">
<f:GroupPanel ID="GroupPanel7" Layout="Anchor" Title="下月计划完成情况(主项/专业/施工部位、完成日期、工程量)及其它主要施工活动" runat="server">
<Items>
<f:Grid ID="Grid2" ShowBorder="true" ShowHeader="false" Title="项目情况" BoxFlex="1" AllowColumnLocking="true"
runat="server" EnableCollapse="true" DataKeyNames="Id,Name,ShowId" EnableTree="true" EnableColumnLines="true" ClicksToEdit="1" AllowCellEditing="true"
TreeColumn="Name" DataIDField="Id" DataParentIDField="SupId" ExpandAllTreeNodes="true">
<Columns>
<f:RenderField Width="100px" ColumnID="Code" DataField="Code" FieldType="String"
HeaderText="序号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:BoundField Width="450px" ColumnID="Name" DataField="Name" HeaderTextAlign="Center" ExpandUnusedSpace="true"
HeaderText="工作内容" />
<f:RenderField Width="100px" ColumnID="PlanProjectQuantity" DataField="PlanProjectQuantity" FieldType="Double"
HeaderText="概算工程量" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="PlanStartDate" DataField="PlanStartDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="计划开始时间" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="PlanEndDate" DataField="PlanEndDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="计划完成时间" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="RealStartDate" DataField="RealStartDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="实际开始时间" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="RealEndDate" DataField="RealEndDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="实际完成时间" HeaderTextAlign="Center">
</f:RenderField>
</Columns>
</f:Grid>
<f:TextArea ID="txtNextMonthWork" MarginTop="10px" runat="server" LabelWidth="140px" BlockMD="12" MaxLength="3000">
</f:TextArea>
</Items>
</f:GroupPanel>
</f:ContentPanel>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Panel ID="Panel1" Layout="Block" CssClass="blockpanel myblockform" BlockMD="12"
BlockConfigSpace="10px" BodyPadding="5px" Title="五、需协调解决事项" EnableCollapse="true" runat="server">
<Items>
<f:TextArea ID="txtNeedCoordinateMatter" MarginTop="10px" runat="server" LabelWidth="140px" BlockMD="12" MaxLength="3000">
</f:TextArea>
</Items>
</f:Panel>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Panel ID="Panel2" Layout="Block" CssClass="blockpanel myblockform" BlockMD="12"
BlockConfigSpace="10px" BodyPadding="5px" Title="六、相关照片" EnableCollapse="true" runat="server">
<Items>
<f:Panel ID="Panel3" Width="300px" ShowHeader="false" ShowBorder="false" Layout="Column" CssClass="" runat="server">
<Items>
<f:Button ID="btnAttach" Icon="TableCell" EnablePostBack="true" Text="上传照片" runat="server" OnClick="btnAttach_Click">
</f:Button>
</Items>
</f:Panel>
<f:Grid ID="Grid3" ShowBorder="false" ShowHeader="false" Title="项目实物" EnableCollapse="true" ForceFit="true" ShowGridHeader="false"
runat="server" BoxFlex="1" DataKeyNames="AttachFileId" AllowCellEditing="true" EnableColumnLines="true" ClicksToEdit="2" DataIDField="AttachFileId" AllowSorting="true" SortField="AttachFileId"
SortDirection="ASC" PageSize="10" EnableRowLines="false" EnableAlternateRowColor="false"
EnableTextSelection="True" EnableRowDoubleClickEvent="true">
<Columns>
<f:TemplateField ColumnID="ImageUrl2" Width="200px" HeaderText="项目实物" HeaderTextAlign="Center"
TextAlign="Left">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# ConvertImageUrlByImage(Eval("ToKeyId")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
</Columns>
</f:Grid>
</Items>
</f:Panel>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:HiddenField ID="hdId" runat="server"></f:HiddenField>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ValidateForms="SimpleForm1" OnClick="btnSave_Click">
</f:Button>
<f:Button ID="btnClose" EnablePostBack="false"
runat="server" Icon="SystemClose">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px" OnClose="WindowAtt_Close"
Height="500px">
</f:Window>
</form>
<script type="text/javascript">
function onGridAfterEdit(event, value, params) {
var me = this, columnId = params.columnId, rowId = params.rowId;
if (columnId === 'ContractConstructionCost' || columnId === 'TotalCollection') {
var ContractConstructionCost = me.getCellValue(rowId, 'ContractConstructionCost');
var TotalCollection = me.getCellValue(rowId, 'TotalCollection');
if (TotalCollection.toString() != "" && ContractConstructionCost.toString() != "") {
if (ContractConstructionCost !== "0") {
me.updateCellValue(rowId, 'TotalCollectionRate', (TotalCollection / ContractConstructionCost * 100).toFixed(2));
} else {
me.updateCellValue(rowId, 'TotalCollectionRate', (""));
}
}
}
}
function onGridAfterEdit2(event, value, params) {
var me = this, columnId = params.columnId, rowId = params.rowId;
if (columnId === 'TotalRealPay' || columnId === 'ContractAmount') {
var TotalRealPay = me.getCellValue(rowId, 'TotalRealPay');
var ContractAmount = me.getCellValue(rowId, 'ContractAmount');
if (TotalRealPay.toString() != "" && ContractAmount.toString() != "") {
if (ContractAmount !== "0") {
me.updateCellValue(rowId, 'TotalRealPayRate', (TotalRealPay / ContractAmount * 100).toFixed(2));
} else {
me.updateCellValue(rowId, 'TotalRealPayRate', (""));
}
}
}
updateSummary();
}
function updateSummary() {
// 回发到后台更新
__doPostBack('', 'UPDATE_SUMMARY');
}
</script>
</body>
</html>
@@ -0,0 +1,411 @@
using BLL;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.PZHGL.InformationProject
{
public partial class ConstructionMonthReportEdit : PageBase
{
/// <summary>
/// 检查月报主键
/// </summary>
public string ConstructionMonthReportId
{
get
{
return (string)ViewState["ConstructionMonthReportId"];
}
set
{
ViewState["ConstructionMonthReportId"] = value;
}
}
private static DateTime startTime;
private static DateTime endTime;
protected void Page_Load(object sender, EventArgs e)
{
ConstructionMonthReportId = Request.Params["ConstructionMonthReportId"];
if (!IsPostBack)
{
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
if (!string.IsNullOrEmpty(Request.Params["see"]))
{
btnSave.Visible = false;
}
if (!string.IsNullOrEmpty(Request.Params["month"]))
{
Model.Project_Sys_Set ConstructionMonthReportStartDay = BLL.Project_SysSetService.GetSysSetBySetName("月报开始日期", this.CurrUser.LoginProjectId);
Model.Project_Sys_Set ConstructionMonthReportEndDay = BLL.Project_SysSetService.GetSysSetBySetName("月报结束日期", this.CurrUser.LoginProjectId);
DateTime fromPageMonths = Convert.ToDateTime(Request.Params["month"]).AddMonths(-1);
startTime = Convert.ToDateTime(fromPageMonths.Year.ToString() + "-" + fromPageMonths.Month.ToString() + "-25");
endTime = startTime.AddMonths(1);
if (ConstructionMonthReportStartDay != null)
{
if (ConstructionMonthReportStartDay.SetValue != "")
{
if (ConstructionMonthReportEndDay != null)
{
if (ConstructionMonthReportEndDay.SetValue != "")
{
startTime = Convert.ToDateTime(fromPageMonths.Year.ToString() + "-" + fromPageMonths.Month.ToString() + "-" + ConstructionMonthReportStartDay.SetValue);
endTime = Convert.ToDateTime(fromPageMonths.Year.ToString() + "-" + fromPageMonths.Month.ToString() + "-" + ConstructionMonthReportEndDay.SetValue).AddMonths(1);
}
else
{
startTime = Convert.ToDateTime(fromPageMonths.Year.ToString() + "-" + fromPageMonths.Month.ToString() + "-" + ConstructionMonthReportStartDay.SetValue);
endTime = startTime.AddMonths(1);
}
}
else
{
startTime = Convert.ToDateTime(fromPageMonths.Year.ToString() + "-" + fromPageMonths.Month.ToString() + "-" + ConstructionMonthReportStartDay.SetValue);
endTime = startTime.AddMonths(1);
}
}
else
{
if (ConstructionMonthReportEndDay != null)
{
if (ConstructionMonthReportEndDay.SetValue != "")
{
startTime = Convert.ToDateTime(fromPageMonths.Year.ToString() + "-" + fromPageMonths.Month.ToString() + "-" + ConstructionMonthReportEndDay.SetValue);
endTime = startTime.AddMonths(1);
}
}
}
}
else
{
if (ConstructionMonthReportEndDay != null)
{
if (ConstructionMonthReportEndDay.SetValue != "")
{
startTime = Convert.ToDateTime(fromPageMonths.Year.ToString() + "-" + fromPageMonths.Month.ToString() + "-" + ConstructionMonthReportEndDay.SetValue);
endTime = startTime.AddMonths(1);
}
}
}
}
var project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
Model.ZHGL_ConstructionMonthReport constructionMonthReport = ConstructionMonthReportService.GetConstructionMonthReport(ConstructionMonthReportId);
if (constructionMonthReport != null)
{
this.hdId.Text = ConstructionMonthReportId;
startTime = Convert.ToDateTime(constructionMonthReport.Month.Value.AddMonths(-1).Year.ToString() + "-" + constructionMonthReport.Month.Value.AddMonths(-1).Month.ToString() + "-25");
endTime = startTime.AddMonths(1);
this.txtOwnerName.Text = constructionMonthReport.OwnerName;
this.txtContractScope.Text = constructionMonthReport.ContractScope;
this.txtContractPriceAndPricingModel.Text = constructionMonthReport.ContractPriceAndPricingModel;
if (constructionMonthReport.ContractStartDate != null)
{
this.txtContractStartDate.Text = string.Format("{0:yyyy-MM-dd}", constructionMonthReport.ContractStartDate);
}
if (constructionMonthReport.ContractEndDate != null)
{
this.txtContractEndDate.Text = string.Format("{0:yyyy-MM-dd}", constructionMonthReport.ContractEndDate);
}
this.txtMainConstructionActivities.Text = constructionMonthReport.MainConstructionActivities;
this.txtProgressDeviationAndCauseAnalysis.Text = constructionMonthReport.ProgressDeviationAndCauseAnalysis;
this.txtKeyDeviationAndCauseAnalysis.Text = constructionMonthReport.KeyDeviationAndCauseAnalysis;
this.txtTargetedCorrectiveMeasures.Text = constructionMonthReport.TargetedCorrectiveMeasures;
this.txtNextMonthWork.Text = constructionMonthReport.NextMonthWork;
this.txtNeedCoordinateMatter.Text = constructionMonthReport.NeedCoordinateMatter;
}
else
{
var ownerUnit = BLL.ProjectUnitService.GetProjectUnitListByProjectIdUnitType(this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_4);
if (ownerUnit.Count > 0)
{
this.txtOwnerName.Text = BLL.UnitService.GetUnitNameByUnitId(ownerUnit[0].UnitId);
}
if (project.StartDate != null)
{
this.txtContractStartDate.Text = string.Format("{0:yyyy-MM-dd}", project.StartDate);
}
if (project.EndDate != null)
{
this.txtContractEndDate.Text = string.Format("{0:yyyy-MM-dd}", project.EndDate);
}
}
if (project != null)
{
this.txtProjectName.Text = project.ProjectName;
}
lbMonths.Text = endTime.Year.ToString() + "年" + endTime.Month.ToString() + "月";
DataTable table = BLL.WorkPackageService.GetAllTreeDataTableConstructionMonthReport(this.CurrUser.LoginProjectId, string.Empty, startTime, endTime);
Grid1.DataSource = table;
Grid1.DataBind();
BindMainCost();
BindSubCost();
DateTime nextStartTime = startTime.AddMonths(1);
DateTime nextEndTime = endTime.AddMonths(1);
DataTable table2 = BLL.WorkPackageService.GetAllTreeDataTableConstructionMonthReport(this.CurrUser.LoginProjectId, string.Empty, nextStartTime, nextEndTime);
Grid2.DataSource = table2;
Grid2.DataBind();
BindGrid();
OutputSummaryData();
}
else
{
if (GetRequestEventArgument() == "UPDATE_SUMMARY")
{
// 页面要求重新计算合计行的值
OutputSummaryData();
}
}
}
#region
/// <summary>
/// 计算合计
/// </summary>
private void OutputSummaryData()
{
decimal contractAmount = 0, thisNeedPay = 0, thisRealPay = 0, totalNeedPay = 0, totalRealPay = 0, totalRealPayRate = 0;
JArray mergedData = GridSubCost.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
JObject values = mergedRow.Value<JObject>("values");
contractAmount += Funs.GetNewDecimalOrZero(values.Value<string>("ContractAmount"));
thisNeedPay += Funs.GetNewDecimalOrZero(values.Value<string>("ThisNeedPay"));
thisRealPay += Funs.GetNewDecimalOrZero(values.Value<string>("ThisRealPay"));
totalNeedPay += Funs.GetNewDecimalOrZero(values.Value<string>("TotalNeedPay"));
totalRealPay += Funs.GetNewDecimalOrZero(values.Value<string>("TotalRealPay"));
}
if (contractAmount > 0 && totalRealPay > 0)
{
totalRealPayRate = totalRealPay / contractAmount * 100;
}
JObject summary = new JObject();
summary.Add("tfPageIndex", "合计:");
summary.Add("ContractAmount", contractAmount.ToString("0.####"));
summary.Add("ThisNeedPay", thisNeedPay.ToString("0.####"));
summary.Add("ThisRealPay", thisRealPay.ToString("0.####"));
summary.Add("TotalNeedPay", totalNeedPay.ToString("0.####"));
summary.Add("TotalRealPay", totalRealPay.ToString("0.####"));
summary.Add("TotalRealPayRate", totalRealPayRate.ToString("0.##"));
GridSubCost.SummaryData = summary;
}
#endregion
private void BindMainCost()
{
var list = ConstructionMonthReportMainCostService.getListData(ConstructionMonthReportId);
if (list.Count == 0)
{
List<Model.ZHGL_ConstructionMonthReportMainCost> lists = new List<Model.ZHGL_ConstructionMonthReportMainCost>();
Model.ZHGL_ConstructionMonthReportMainCost mainCost = new Model.ZHGL_ConstructionMonthReportMainCost();
mainCost.ConstructionMonthReportMainCostId = SQLHelper.GetNewID();
lists.Add(mainCost);
GridMainCost.DataSource = lists;
GridMainCost.DataBind();
}
else
{
GridMainCost.DataSource = list;
GridMainCost.DataBind();
}
}
private void BindSubCost()
{
var list = ConstructionMonthReportSubCostService.getListData(ConstructionMonthReportId);
if (list.Count == 0)
{
List<Model.ZHGL_ConstructionMonthReportSubCost> lists = new List<Model.ZHGL_ConstructionMonthReportSubCost>();
List<Model.Base_Unit> units = UnitService.GetUnitByProjectIdUnitTypeList(CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2);
foreach (var unit in units)
{
Model.ZHGL_ConstructionMonthReportSubCost subCost = new Model.ZHGL_ConstructionMonthReportSubCost();
subCost.ConstructionMonthReportSubCostId = SQLHelper.GetNewID();
subCost.UnitId = unit.UnitId;
lists.Add(subCost);
}
GridSubCost.DataSource = lists;
GridSubCost.DataBind();
}
else
{
GridSubCost.DataSource = list;
GridSubCost.DataBind();
}
}
//<summary>
//获取单位名称
//</summary>
//<param name="state"></param>
//<returns></returns>
protected string ConvertUnitName(object UnitId)
{
string unitName = string.Empty;
if (UnitId != null)
{
Model.Base_Unit unit = BLL.UnitService.GetUnitByUnitId(UnitId.ToString());
if (unit != null)
{
unitName = unit.UnitName;
}
}
return unitName;
}
#region
/// <summary>
/// 关闭弹出窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void WindowAtt_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
/// <summary>
/// 数据绑定
/// </summary>
public void BindGrid()
{
string strSql = @"select * from AttachFile where ToKeyId='" + this.hdId.Text + "' and MenuId='" + BLL.Const.ConstructionMonthReportMenuId + "'";
DataTable tb = SQLHelper.GetDataTableRunText(strSql, null);
Grid3.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid3.DataSource = table;
Grid3.DataBind();
}
/// <summary>
/// 获取图片(放于Img中)
/// </summary>
/// <param name="registrationId"></param>
/// <returns></returns>
protected string ConvertImageUrlByImage(object CompanyModelId)
{
string url = string.Empty;
if (CompanyModelId != null)
{
var attachFile = BLL.AttachFileService.GetAttachFileByToKeyId(CompanyModelId.ToString());
if (attachFile != null)
{
url = HttpUtility.HtmlDecode(BLL.UploadAttachmentService.ShowImage("../../", attachFile.AttachUrl));
}
}
return url;
}
#endregion
#region
/// <summary>
/// 附件上传
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAttach_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.hdId.Text)) //新增记录
{
this.hdId.Text = SQLHelper.GetNewID(typeof(Model.ZHGL_ConstructionMonthReport));
}
if (!string.IsNullOrEmpty(Request.Params["see"]))
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/ZHGL/ConstructionMonthReport&menuId={1}", this.hdId.Text, BLL.Const.ConstructionMonthReportMenuId)));
}
else
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/ZHGL/ConstructionMonthReport&menuId={1}", this.hdId.Text, BLL.Const.ConstructionMonthReportMenuId)));
}
}
#endregion
protected void btnSave_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, CurrUser.PersonId, Const.ConstructionMonthReportMenuId, Const.BtnSave))
{
Model.ZHGL_ConstructionMonthReport ConstructionMonthReport = new Model.ZHGL_ConstructionMonthReport();
ConstructionMonthReport.ProjectId = CurrUser.LoginProjectId;
ConstructionMonthReport.OwnerName = txtOwnerName.Text.Trim();
ConstructionMonthReport.ContractScope = txtContractScope.Text.Trim();
ConstructionMonthReport.ContractPriceAndPricingModel = txtContractPriceAndPricingModel.Text.Trim();
ConstructionMonthReport.ContractStartDate = Funs.GetNewDateTime(txtContractStartDate.Text.Trim());
ConstructionMonthReport.ContractEndDate = Funs.GetNewDateTime(txtContractEndDate.Text.Trim());
ConstructionMonthReport.MainConstructionActivities = this.txtMainConstructionActivities.Text.Trim();
ConstructionMonthReport.ProgressDeviationAndCauseAnalysis = this.txtProgressDeviationAndCauseAnalysis.Text.Trim();
ConstructionMonthReport.KeyDeviationAndCauseAnalysis = this.txtKeyDeviationAndCauseAnalysis.Text.Trim();
ConstructionMonthReport.TargetedCorrectiveMeasures = this.txtTargetedCorrectiveMeasures.Text.Trim();
ConstructionMonthReport.NextMonthWork = this.txtNextMonthWork.Text.Trim();
ConstructionMonthReport.NeedCoordinateMatter = this.txtNeedCoordinateMatter.Text.Trim();
if (!string.IsNullOrEmpty(ConstructionMonthReportId))
{
ConstructionMonthReport.ConstructionMonthReportId = ConstructionMonthReportId;
ConstructionMonthReportService.UpdateConstructionMonthReport(ConstructionMonthReport);
}
else
{
if (string.IsNullOrEmpty(this.hdId.Text))
{
ConstructionMonthReport.ConstructionMonthReportId = SQLHelper.GetNewID(typeof(Model.ZHGL_ConstructionMonthReport));
}
else
{
ConstructionMonthReport.ConstructionMonthReportId = this.hdId.Text;
}
ConstructionMonthReport.Month = Convert.ToDateTime(Request.Params["month"]);
ConstructionMonthReport.CompileMan = CurrUser.PersonId;
ConstructionMonthReport.CompileDate = DateTime.Now;
ConstructionMonthReportService.AddConstructionMonthReport(ConstructionMonthReport);
}
BLL.ConstructionMonthReportMainCostService.DeleteConstructionMonthReportMainCostsByConstructionMonthReportId(ConstructionMonthReport.ConstructionMonthReportId);
foreach (JObject mergedRow in GridMainCost.GetMergedData()) //总包工程施工请款情况表
{
Model.ZHGL_ConstructionMonthReportMainCost mainCost = new Model.ZHGL_ConstructionMonthReportMainCost();
int i = mergedRow.Value<int>("index");
JObject values = mergedRow.Value<JObject>("values");
mainCost.ConstructionMonthReportMainCostId = SQLHelper.GetNewID();
mainCost.ConstructionMonthReportId = ConstructionMonthReport.ConstructionMonthReportId;
mainCost.ContractConstructionCost = Funs.GetNewDecimalOrZero(values.Value<string>("ContractConstructionCost"));
mainCost.ThisRequestCost = Funs.GetNewDecimalOrZero(values.Value<string>("ThisRequestCost"));
mainCost.TotalRequestCost = Funs.GetNewDecimalOrZero(values.Value<string>("TotalRequestCost"));
mainCost.ThisCollection = Funs.GetNewDecimalOrZero(values.Value<string>("ThisCollection"));
mainCost.TotalCollection = Funs.GetNewDecimalOrZero(values.Value<string>("TotalCollection"));
mainCost.TotalCollectionRate = Funs.GetNewDecimalOrZero(values.Value<string>("TotalCollectionRate"));
ConstructionMonthReportMainCostService.AddConstructionMonthReportMainCost(mainCost);
}
BLL.ConstructionMonthReportSubCostService.DeleteConstructionMonthReportSubCostsByConstructionMonthReportId(ConstructionMonthReport.ConstructionMonthReportId);
foreach (JObject mergedRow in GridSubCost.GetMergedData()) //分包工程施工付款情况表
{
Model.ZHGL_ConstructionMonthReportSubCost subCost = new Model.ZHGL_ConstructionMonthReportSubCost();
int i = mergedRow.Value<int>("index");
JObject values = mergedRow.Value<JObject>("values");
subCost.ConstructionMonthReportSubCostId = SQLHelper.GetNewID();
subCost.ConstructionMonthReportId = ConstructionMonthReport.ConstructionMonthReportId;
subCost.UnitId = values.Value<string>("UnitId");
subCost.ContractAmount = Funs.GetNewDecimalOrZero(values.Value<string>("ContractAmount"));
subCost.ThisNeedPay = Funs.GetNewDecimalOrZero(values.Value<string>("ThisNeedPay"));
subCost.ThisRealPay = Funs.GetNewDecimalOrZero(values.Value<string>("ThisRealPay"));
subCost.TotalNeedPay = Funs.GetNewDecimalOrZero(values.Value<string>("TotalNeedPay"));
subCost.TotalRealPay = Funs.GetNewDecimalOrZero(values.Value<string>("TotalRealPay"));
subCost.TotalRealPayRate = Funs.GetNewDecimalOrZero(values.Value<string>("TotalRealPayRate"));
ConstructionMonthReportSubCostService.AddConstructionMonthReportSubCost(subCost);
}
ShowNotify("提交成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
else
{
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
}
}
@@ -0,0 +1,528 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.PZHGL.InformationProject {
public partial class ConstructionMonthReportEdit {
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// lbMonths 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox lbMonths;
/// <summary>
/// pan 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel pan;
/// <summary>
/// txtProjectName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label txtProjectName;
/// <summary>
/// txtOwnerName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtOwnerName;
/// <summary>
/// txtContractScope 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtContractScope;
/// <summary>
/// txtContractPriceAndPricingModel 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtContractPriceAndPricingModel;
/// <summary>
/// txtContractStartDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtContractStartDate;
/// <summary>
/// txtContractEndDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtContractEndDate;
/// <summary>
/// ContentPanel3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel3;
/// <summary>
/// GroupPanel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.GroupPanel GroupPanel2;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// txtMainConstructionActivities 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtMainConstructionActivities;
/// <summary>
/// GroupPanel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.GroupPanel GroupPanel1;
/// <summary>
/// txtProgressDeviationAndCauseAnalysis 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtProgressDeviationAndCauseAnalysis;
/// <summary>
/// GroupPanel3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.GroupPanel GroupPanel3;
/// <summary>
/// txtKeyDeviationAndCauseAnalysis 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtKeyDeviationAndCauseAnalysis;
/// <summary>
/// GroupPanel4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.GroupPanel GroupPanel4;
/// <summary>
/// txtTargetedCorrectiveMeasures 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtTargetedCorrectiveMeasures;
/// <summary>
/// ContentPanel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel1;
/// <summary>
/// GroupPanel5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.GroupPanel GroupPanel5;
/// <summary>
/// GridMainCost 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid GridMainCost;
/// <summary>
/// lblPageIndex 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageIndex;
/// <summary>
/// txtContractConstructionCost 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtContractConstructionCost;
/// <summary>
/// txtThisRequestCost 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtThisRequestCost;
/// <summary>
/// txtTotalRequestCost 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtTotalRequestCost;
/// <summary>
/// txtThisCollection 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtThisCollection;
/// <summary>
/// txtTotalCollection 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtTotalCollection;
/// <summary>
/// txtTotalCollectionRate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label txtTotalCollectionRate;
/// <summary>
/// GroupPanel6 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.GroupPanel GroupPanel6;
/// <summary>
/// GridSubCost 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid GridSubCost;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label1;
/// <summary>
/// Label3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label3;
/// <summary>
/// txtContractAmount 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtContractAmount;
/// <summary>
/// txtThisNeedPay 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtThisNeedPay;
/// <summary>
/// txtThisRealPay 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtThisRealPay;
/// <summary>
/// txtTotalNeedPay 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtTotalNeedPay;
/// <summary>
/// txtTotalRealPay 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtTotalRealPay;
/// <summary>
/// txtTotalRealPayRate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label txtTotalRealPayRate;
/// <summary>
/// ContentPanel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel2;
/// <summary>
/// GroupPanel7 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.GroupPanel GroupPanel7;
/// <summary>
/// Grid2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid2;
/// <summary>
/// txtNextMonthWork 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtNextMonthWork;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// txtNeedCoordinateMatter 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextArea txtNeedCoordinateMatter;
/// <summary>
/// Panel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel2;
/// <summary>
/// Panel3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel3;
/// <summary>
/// btnAttach 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAttach;
/// <summary>
/// Grid3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid3;
/// <summary>
/// Label2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label2;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// hdId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdId;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnClose 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnClose;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
}
}