修改安全实施计划导出及进度功能

This commit is contained in:
2023-07-25 14:08:48 +08:00
parent df904cd642
commit b8dae5be20
14 changed files with 1512 additions and 174 deletions
+8
View File
@@ -1126,6 +1126,7 @@
<Content Include="indexProject.aspx" />
<Content Include="font\iconfont.svg" />
<Content Include="index.aspx" />
<Content Include="JDGL\Check\PlanSet.aspx" />
<Content Include="JDGL\Check\ProgressShow.aspx" />
<Content Include="JDGL\Check\ProgressStatistics.aspx" />
<Content Include="Login.aspx" />
@@ -11502,6 +11503,13 @@
<Compile Include="index.aspx.designer.cs">
<DependentUpon>index.aspx</DependentUpon>
</Compile>
<Compile Include="JDGL\Check\PlanSet.aspx.cs">
<DependentUpon>PlanSet.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="JDGL\Check\PlanSet.aspx.designer.cs">
<DependentUpon>PlanSet.aspx</DependentUpon>
</Compile>
<Compile Include="JDGL\Check\ProgressShow.aspx.cs">
<DependentUpon>ProgressShow.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -410,58 +410,59 @@ namespace FineUIPro.Web.HSSE.ActionPlan
{
projectName = "(" + projectName + ")";
}
else
{
projectName = "(无项目)";
}
projectName = projectName.Replace("/", "_");
newUrl = uploadfilepath.Replace(".doc", projectName + ".doc");
filePath = uploadfilepath.Replace(".doc", projectName + ".pdf");
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
File.Copy(uploadfilepath, newUrl);
///更新书签
Document doc = new Aspose.Words.Document(newUrl);
Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc);
builder.MoveToBookmark("tab");
builder.StartTable();
builder.CellFormat.Borders.LineStyle = LineStyle.Single;
builder.CellFormat.Borders.Color = System.Drawing.Color.Black;
builder.Bold = false;
builder.RowFormat.Height = 20;
builder.Font.Size = 9;
#region
//工程名称和项目部编制人员
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.Font.Bold = true;
builder.Write("工程名称");
//写入第一行
Bookmark bookmarkProjectName = doc.Range.Bookmarks["ProjectName"];
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
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 = 130;
builder.Font.Bold = false;
var project = ProjectService.GetProjectByProjectId(actionPlanList.ProjectId);
var ActionPlan_ActionPlanListApproveList = db.ActionPlan_ActionPlanListApprove.Where(x => x.ActionPlanListId == Id && x.ApproveType == "2").ToList();
if (project != null)
{
if (project.ProjectName.Length > 20 && ActionPlan_ActionPlanListApproveList.Count != 0)
{
builder.Write(project.ProjectName.Substring(0, 20) + "\n" +
project.ProjectName.Substring(20));
}
else
{
builder.Write(project.ProjectName);
}
if (bookmarkProjectName != null)
{
if (project != null)
{
if (project.ProjectName.Length > 20 && ActionPlan_ActionPlanListApproveList.Count != 0)
{
bookmarkProjectName.Text = project.ProjectName.Substring(0, 20) + "\n" +
project.ProjectName.Substring(20);
}
else
{
bookmarkProjectName.Text = project.ProjectName;
}
}
}
builder.EndRow();
Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc);
builder.MoveToBookmark("tab");
builder.StartTable();
builder.CellFormat.Borders.LineStyle = LineStyle.Single;
builder.CellFormat.Borders.Color = System.Drawing.Color.Black;
builder.Bold = false;
builder.RowFormat.Height = 20;
builder.Font.Size = 9;
#region
builder.InsertCell();
builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None;
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
@@ -476,7 +477,7 @@ namespace FineUIPro.Web.HSSE.ActionPlan
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 130;
builder.CellFormat.Width = 300;
builder.Font.Bold = false;
var getCompileMan = Person_PersonsService.GetPerson_PersonsById(actionPlanList.CompileMan);
if (!string.IsNullOrEmpty(getCompileMan.SignatureUrl) && File.Exists(rootPath + getCompileMan.SignatureUrl))
@@ -517,7 +518,7 @@ namespace FineUIPro.Web.HSSE.ActionPlan
//判断是不是最后一个
if (ActionPlan_ActionPlanListApproveList.Count == i + 1)
{
builder.CellFormat.Width = 40;
builder.CellFormat.Width = 150;
builder.Font.Bold = false;
if (!string.IsNullOrEmpty(getApproveMan.SignatureUrl) && File.Exists(rootPath + getApproveMan.SignatureUrl))
{
@@ -534,12 +535,12 @@ namespace FineUIPro.Web.HSSE.ActionPlan
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 90;
builder.CellFormat.Width = 150;
builder.Write("");
}
else
{
builder.CellFormat.Width = 40;
builder.CellFormat.Width = 150;
builder.Font.Bold = false;
if (!string.IsNullOrEmpty(getApproveMan.SignatureUrl) && File.Exists(rootPath + getApproveMan.SignatureUrl))
{
@@ -561,7 +562,7 @@ namespace FineUIPro.Web.HSSE.ActionPlan
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 70;
builder.CellFormat.Width = 100;
builder.Font.Bold = true;
builder.Write("项目部审核人");
@@ -570,7 +571,7 @@ namespace FineUIPro.Web.HSSE.ActionPlan
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 20;
builder.CellFormat.Width = 50;
var getApproveMan2 = Person_PersonsService.GetPerson_PersonsById(ActionPlan_ActionPlanListApproveList[i + 1].ApproveMan);
builder.Font.Bold = false;
if (!string.IsNullOrEmpty(getApproveMan2.SignatureUrl) && File.Exists(rootPath + getApproveMan2.SignatureUrl))
@@ -608,7 +609,7 @@ namespace FineUIPro.Web.HSSE.ActionPlan
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 230;
builder.CellFormat.Width = 400;
builder.Font.Bold = true;
builder.Write("主要评审部门");
builder.EndRow();
@@ -618,7 +619,7 @@ namespace FineUIPro.Web.HSSE.ActionPlan
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.CellFormat.Width = 150;
builder.Font.Bold = true;
builder.Write("评审部门");
@@ -627,7 +628,7 @@ namespace FineUIPro.Web.HSSE.ActionPlan
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.CellFormat.Width = 100;
builder.Font.Bold = true;
builder.Write("评审意见");
@@ -636,7 +637,7 @@ namespace FineUIPro.Web.HSSE.ActionPlan
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 70;
builder.CellFormat.Width = 150;
builder.Font.Bold = true;
builder.Write("评审部门负责人/日期");
builder.EndRow();
@@ -649,7 +650,7 @@ namespace FineUIPro.Web.HSSE.ActionPlan
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.CellFormat.Width = 150;
builder.Font.Bold = false;
builder.Write("施工管理部");
//评审意见
@@ -658,7 +659,7 @@ namespace FineUIPro.Web.HSSE.ActionPlan
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.CellFormat.Width = 100;
builder.Font.Bold = false;
if (!string.IsNullOrEmpty(item.ApproveIdea))
{
@@ -676,7 +677,7 @@ namespace FineUIPro.Web.HSSE.ActionPlan
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 70;
builder.CellFormat.Width = 150;
builder.Font.Bold = false;
if (item.ApproveDate != null)
{
@@ -706,7 +707,7 @@ namespace FineUIPro.Web.HSSE.ActionPlan
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.CellFormat.Width = 150;
var departModel = db.Base_Depart.FirstOrDefault(x => x.DepartId == item.DepartId);
builder.Font.Bold = false;
if (departModel != null)
@@ -719,7 +720,7 @@ namespace FineUIPro.Web.HSSE.ActionPlan
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.CellFormat.Width = 100;
builder.Font.Bold = false;
if (!string.IsNullOrEmpty(item.ApproveIdea))
{
@@ -737,7 +738,7 @@ namespace FineUIPro.Web.HSSE.ActionPlan
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 70;
builder.CellFormat.Width = 150;
builder.Font.Bold = false;
if (item.ApproveDate != null)
{
@@ -777,13 +778,13 @@ namespace FineUIPro.Web.HSSE.ActionPlan
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Bottom;//底部对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//水平居中对齐
builder.CellFormat.Width = 130;
builder.CellFormat.Width = 300;
builder.Font.Bold = true;
builder.RowFormat.Height = 40;
builder.Write("公司安全总监/部门负责人:");
builder.Write(" 年");
builder.Write(" 年");
builder.Write(" 月");
builder.Write(" 日");
builder.Write(" 日");
builder.EndRow();
builder.InsertCell();
@@ -793,20 +794,20 @@ namespace FineUIPro.Web.HSSE.ActionPlan
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 100;
builder.Font.Bold = true;
builder.Write("审");
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.Bottom;//底部对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//水平居中对齐
builder.CellFormat.Width = 130;
builder.CellFormat.Width = 300;
builder.Font.Bold = true;
builder.RowFormat.Height = 40;
builder.Write("公司主管生产/安全领导:");
builder.Write(" 年");
builder.Write(" 年");
builder.Write(" 月");
builder.Write(" 日");
builder.Write(" 日");
builder.EndRow();
builder.Font.Bold = false;
@@ -816,17 +817,24 @@ namespace FineUIPro.Web.HSSE.ActionPlan
}
doc.Save(newUrl);
string fileName = Path.GetFileName(newUrl);
FileInfo info = new FileInfo(newUrl);
//生成PDF文件
string pdfUrl = newUrl.Replace(".doc", ".pdf");
Document doc1 = new Aspose.Words.Document(newUrl);
//验证参数
if (doc1 == null) { throw new Exception("Word文件无效"); }
doc1.Save(pdfUrl, Aspose.Words.SaveFormat.Pdf);//还可以改成其它格式
string fileName = Path.GetFileName(filePath);
FileInfo info = new FileInfo(pdfUrl);
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.TransmitFile(pdfUrl, 0, fileSize);
Response.Flush();
Response.Close();
File.Delete(newUrl);
File.Delete(pdfUrl);
}
catch (Exception ex)
{
+130
View File
@@ -0,0 +1,130 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="PlanSet.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.PlanSet" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>进度计划设置</title>
<style type="text/css">
.f-grid-row.noEdit {
pointer-events: none;
}
.f-grid-colheader-text {
white-space: normal;
word-break: break-all;
}
</style>
</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" ShowHeader="false" Title="项目情况" BoxFlex="1" AllowColumnLocking="true" ForceFit="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">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
<Items>
<f:TextBox runat="server" ID="hdId" Hidden="true"></f:TextBox>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="保存"
OnClick="btnSave_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<%--<f:RowNumberField HeaderText="序号"/>--%>
<f:BoundField Width="350px" ColumnID="Name" DataField="Name" HeaderTextAlign="Center"
HeaderText="工作内容" />
<f:TemplateField Width="90px" HeaderText="里程碑点" HeaderTextAlign="Center" ID="IsMileStone" TextAlign="Center">
<ItemTemplate>
<asp:CheckBox ID="cbIsMileStone" runat="server"></asp:CheckBox>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="100px" ColumnID="Weights" DataField="Weights" FieldType="Double"
HeaderText="权重(%)" HeaderTextAlign="Center" TextAlign="Left">
<Editor>
<f:NumberBox ID="nbWeights" NoDecimal="false" NoNegative="true" MinValue="0"
runat="server">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Unit" DataField="Unit" FieldType="String"
HeaderText="单位" HeaderTextAlign="Center" TextAlign="Left">
<Editor>
<f:TextBox runat="server" ID="txtUnit" MaxLength="50"></f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="PlanProjectQuantity" DataField="PlanProjectQuantity" FieldType="Double"
HeaderText="概算工程量" HeaderTextAlign="Center" TextAlign="Left">
<Editor>
<f:NumberBox ID="nbPlanProjectQuantity" NoDecimal="false" NoNegative="true" MinValue="0"
runat="server">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="RealProjectQuantity" DataField="RealProjectQuantity" FieldType="Double"
HeaderText="实际工程量" HeaderTextAlign="Center" TextAlign="Left">
<Editor>
<f:NumberBox ID="nbRealProjectQuantity" NoDecimal="false" NoNegative="true" MinValue="0"
runat="server">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="PlanStartDate" DataField="PlanStartDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="计划开始时间" HeaderTextAlign="Center">
<Editor>
<f:DatePicker ID="txtPlanStartDate" Required="true" runat="server">
</f:DatePicker>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="PlanEndDate" DataField="PlanEndDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="计划完成时间" HeaderTextAlign="Center">
<Editor>
<f:DatePicker ID="txtPlanEndDate" Required="true" runat="server">
</f:DatePicker>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="RealStartDate" DataField="RealStartDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="实际开始时间" HeaderTextAlign="Center">
<Editor>
<f:DatePicker ID="txtRealStartDate" Required="true" runat="server">
</f:DatePicker>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="RealEndDate" DataField="RealEndDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="实际完成时间" HeaderTextAlign="Center">
<Editor>
<f:DatePicker ID="txtRealEndDate" Required="true" runat="server">
</f:DatePicker>
</Editor>
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="afteredit" Handler="onGridAfterEdit" />
</Listeners>
</f:Grid>
</Items>
</f:Panel>
</form>
<script type="text/javascript">
var hdIdClientID = '<%= hdId.ClientID %>';
function onGridAfterEdit(event, value, params) {
var me = this, columnId = params.columnId, rowId = params.rowId;
var str = F(hdIdClientID).ooIl1;
if (str == undefined) {
str = rowId;
}
else {
str = str + "," + rowId;
}
F(hdIdClientID).setValue(str);
}
</script>
</body>
</html>
@@ -0,0 +1,387 @@
using BLL;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.JDGL.Check
{
public partial class PlanSet : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();
}
}
#endregion
private void BindGrid()
{
DataTable table = BLL.WorkPackageService.GetAllTreeDataTable(this.CurrUser.LoginProjectId);
Grid1.DataSource = table;
Grid1.DataBind();
for (int i = 0; i < this.Grid1.Rows.Count; i++)
{
if (string.IsNullOrEmpty(this.Grid1.Rows[i].DataKeys[2].ToString()))
{
System.Web.UI.WebControls.CheckBox cbIsMileStone = (System.Web.UI.WebControls.CheckBox)(this.Grid1.Rows[i].FindControl("cbIsMileStone"));
cbIsMileStone.Visible = false;
foreach (GridColumn column in Grid1.Columns)
{
if (column.ColumnIndex != 0)
{
this.Grid1.Rows[i].CellCssClasses[column.ColumnIndex] = "f-grid-cell-uneditable";
}
}
}
else
{
System.Web.UI.WebControls.CheckBox cbIsMileStone = (System.Web.UI.WebControls.CheckBox)(this.Grid1.Rows[i].FindControl("cbIsMileStone"));
Model.WBS_WorkPackage workPackage = BLL.WorkPackageService.GetWorkPackageByWorkPackageId(this.Grid1.Rows[i].DataKeys[2].ToString());
if (workPackage != null && workPackage.IsMileStone == true)
{
cbIsMileStone.Checked = true;
}
}
}
}
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, BLL.Const.PlanSetMenuId, BLL.Const.BtnSave))
{
Save();
BindGrid();
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHideReference());
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
private void Save()
{
Model.SGGLDB db = Funs.DB;
var workPackages = from x in db.WBS_WorkPackage
where x.ProjectId == this.CurrUser.LoginProjectId
select x;
var unitWorks = from x in db.WBS_UnitWork
where x.ProjectId == this.CurrUser.LoginProjectId
select x;
string[] ids = this.hdId.Text.Split(',');
if (ids.Length > 0)
{
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
if (this.Grid1.Rows[i].DataKeys[2] != null)
{
Model.WBS_WorkPackage workPackage = workPackages.FirstOrDefault(x => x.WorkPackageId == this.Grid1.Rows[i].DataKeys[2].ToString());
if (workPackage != null)
{
string weights = values.Value<string>("Weights");
string unit = values.Value<string>("Unit");
string planProjectQuantity = values.Value<string>("PlanProjectQuantity");
string realProjectQuantity = values.Value<string>("RealProjectQuantity");
string planStartDate = values.Value<string>("PlanStartDate");
string planEndDate = values.Value<string>("PlanEndDate");
string realStartDate = values.Value<string>("RealStartDate");
string realEndDate = values.Value<string>("RealEndDate");
System.Web.UI.WebControls.CheckBox cbIsMileStone = (System.Web.UI.WebControls.CheckBox)(this.Grid1.Rows[i].FindControl("cbIsMileStone"));
workPackage.Weights = Funs.GetNewDecimal(weights);
workPackage.Unit = unit;
workPackage.PlanProjectQuantity = Funs.GetNewDecimal(planProjectQuantity);
workPackage.RealProjectQuantity = Funs.GetNewDecimal(realProjectQuantity);
workPackage.PlanStartDate = Funs.GetNewDateTime(planStartDate);
workPackage.PlanEndDate = Funs.GetNewDateTime(planEndDate);
workPackage.RealStartDate = Funs.GetNewDateTime(realStartDate);
workPackage.RealEndDate = Funs.GetNewDateTime(realEndDate);
workPackage.IsMileStone = cbIsMileStone.Checked;
BLL.WorkPackageService.UpdateWorkPackage(workPackage);
if (workPackage.PlanStartDate != null || workPackage.PlanEndDate != null || workPackage.RealStartDate != null || workPackage.RealEndDate != null)
{
UpdateWorkPackages(db, workPackage, workPackage.PlanStartDate, workPackage.PlanEndDate, workPackage.RealStartDate, workPackage.RealEndDate);
var unitWork = unitWorks.FirstOrDefault(x => x.UnitWorkId == workPackage.UnitWorkId);
if (workPackage.PlanStartDate != null)
{
if (unitWork.PlanStartDate == null)
{
unitWork.PlanStartDate = workPackage.PlanStartDate;
}
else
{
if (unitWork.PlanStartDate > workPackage.PlanStartDate)
{
unitWork.PlanStartDate = workPackage.PlanStartDate;
}
}
}
if (workPackage.PlanEndDate != null)
{
if (unitWork.PlanEndDate == null)
{
unitWork.PlanEndDate = workPackage.PlanEndDate;
}
else
{
if (unitWork.PlanEndDate < workPackage.PlanEndDate)
{
unitWork.PlanEndDate = workPackage.PlanEndDate;
}
}
}
if (workPackage.RealStartDate != null)
{
if (unitWork.RealStartDate == null)
{
unitWork.RealStartDate = workPackage.RealStartDate;
}
else
{
if (unitWork.RealStartDate > workPackage.RealStartDate)
{
unitWork.RealStartDate = workPackage.RealStartDate;
}
}
}
if (workPackage.RealEndDate != null)
{
if (unitWork.RealEndDate == null)
{
unitWork.RealEndDate = workPackage.RealEndDate;
}
else
{
if (unitWork.RealEndDate < workPackage.RealEndDate)
{
unitWork.RealEndDate = workPackage.RealEndDate;
}
}
}
}
db.SubmitChanges();
}
}
}
}
}
#region
/// <summary>
/// 更新月工作包、工作项
/// </summary>
/// <param name="years"></param>
/// <param name="months"></param>
/// <param name="planValue"></param>
/// <param name="parentId"></param>
private void UpdateWorkPackages(Model.SGGLDB db, Model.WBS_WorkPackage workPackage, DateTime? planStartDate, DateTime? planEndDate, DateTime? realStartDate, DateTime? realEndDate)
{
if (workPackage != null)
{
Model.WBS_WorkPackage parentWorkPackage = BLL.WorkPackageService.GetWorkPackageByWorkPackageId(workPackage.SuperWorkPackageId);
if (parentWorkPackage != null)
{
if (planStartDate != null)
{
if (parentWorkPackage.PlanStartDate == null)
{
parentWorkPackage.PlanStartDate = planStartDate;
}
else
{
if (parentWorkPackage.PlanStartDate > planStartDate)
{
parentWorkPackage.PlanStartDate = planStartDate;
}
}
}
if (planEndDate != null)
{
if (parentWorkPackage.PlanEndDate == null)
{
parentWorkPackage.PlanEndDate = planEndDate;
}
else
{
if (parentWorkPackage.PlanEndDate < planEndDate)
{
parentWorkPackage.PlanEndDate = planEndDate;
}
}
}
if (realStartDate != null)
{
if (parentWorkPackage.RealStartDate == null)
{
parentWorkPackage.RealStartDate = realStartDate;
}
else
{
if (parentWorkPackage.RealStartDate > realStartDate)
{
parentWorkPackage.RealStartDate = realStartDate;
}
}
}
if (realEndDate != null)
{
if (parentWorkPackage.RealEndDate == null)
{
parentWorkPackage.RealEndDate = realEndDate;
}
else
{
if (parentWorkPackage.RealEndDate < realEndDate)
{
parentWorkPackage.RealEndDate = realEndDate;
}
}
}
UpdateWorkPackages(db, parentWorkPackage, planStartDate, planEndDate, realStartDate, realEndDate);
}
}
}
/// <summary>
/// 更新周工作包、工作项
/// </summary>
/// <param name="years"></param>
/// <param name="months"></param>
/// <param name="planValue"></param>
/// <param name="parentId"></param>
private void UpdateWeekWbsSetDetail(string wbsSetId, DateTime months, DateTime startDate, DateTime endDate, decimal changeThisPlanValue, decimal changeThisRealCost, decimal changeThisPlanCost)
{
//Model.Wbs_WbsSet wbsSet = BLL.WbsSetService.GetWbsSetByWbsSetId(wbsSetId);
//if (wbsSet != null)
//{
// Model.WBS_CostControlParentDetail parentDetail = BLL.CostControlParentDetailService.GetCostControlParentDetailByParentIdAndMonthsWeek(wbsSetId, months, startDate);
// if (parentDetail != null)
// {
// parentDetail.ThisPlanValue += changeThisPlanValue;
// parentDetail.ThisRealCost += changeThisRealCost;
// parentDetail.ThisPlanCost += changeThisPlanCost;
// BLL.CostControlParentDetailService.UpdateCostControlParentDetail(parentDetail);
// }
// else
// {
// parentDetail = new Model.WBS_CostControlParentDetail();
// parentDetail.CostControlParentDetailId = SQLHelper.GetNewID();
// parentDetail.ParentId = wbsSetId;
// parentDetail.Months = months;
// parentDetail.StartDate = startDate;
// parentDetail.EndDate = endDate;
// parentDetail.ThisPlanValue = changeThisPlanValue;
// parentDetail.ThisRealCost = changeThisRealCost;
// parentDetail.ThisPlanCost = changeThisPlanCost;
// BLL.CostControlParentDetailService.AddCostControlParentDetail(parentDetail);
// }
// if (wbsSet.SuperWbsSetId != null) //还存在上级节点,需要继续循环
// {
// UpdateWeekWbsSetDetail(wbsSet.SuperWbsSetId, months, startDate, endDate, changeThisPlanValue, changeThisRealCost, changeThisPlanCost);
// }
//}
}
#endregion
#region
/// <summary>
/// 更新月装置
/// </summary>
/// <param name="years"></param>
/// <param name="months"></param>
/// <param name="planValue"></param>
/// <param name="parentId"></param>
private void UpdateInstallationDetail(Model.SGGLDB db, string installationId, DateTime months, decimal changeThisPlanValue, decimal changeThisRealCost, decimal changeThisPlanCost)
{
//Model.Project_Installation installation = BLL.Project_InstallationService.GetInstallationByInstallationId(installationId);
//if (installation != null)
//{
// Model.WBS_CostControlParentDetail parentDetail = BLL.CostControlParentDetailService.GetCostControlParentDetailByParentIdAndMonths(installationId, months);
// if (parentDetail != null)
// {
// parentDetail.ThisPlanValue += changeThisPlanValue;
// parentDetail.ThisRealCost += changeThisRealCost;
// parentDetail.ThisPlanCost += changeThisPlanCost;
// //BLL.CostControlParentDetailService.UpdateCostControlParentDetail(parentDetail);
// }
// else
// {
// parentDetail = new Model.WBS_CostControlParentDetail();
// parentDetail.CostControlParentDetailId = SQLHelper.GetNewID();
// parentDetail.ParentId = installationId;
// parentDetail.Months = months;
// parentDetail.ThisPlanValue = changeThisPlanValue;
// parentDetail.ThisRealCost = changeThisRealCost;
// parentDetail.ThisPlanCost = changeThisPlanCost;
// //BLL.CostControlParentDetailService.AddCostControlParentDetail(parentDetail);
// db.WBS_CostControlParentDetail.InsertOnSubmit(parentDetail);
// }
// if (installation.SuperInstallationId != null) //还存在上级节点,需要继续循环
// {
// UpdateInstallationDetail(db, installation.SuperInstallationId, months, changeThisPlanValue, changeThisRealCost, changeThisPlanCost);
// }
//}
}
/// <summary>
/// 更新周装置
/// </summary>
/// <param name="years"></param>
/// <param name="months"></param>
/// <param name="planValue"></param>
/// <param name="parentId"></param>
private void UpdateWeekInstallationDetail(string installationId, DateTime months, DateTime startDate, DateTime endDate, decimal changeThisPlanValue, decimal changeThisRealCost, decimal changeThisPlanCost)
{
//Model.Project_Installation installation = BLL.Project_InstallationService.GetInstallationByInstallationId(installationId);
//if (installation != null)
//{
// Model.WBS_CostControlParentDetail parentDetail = BLL.CostControlParentDetailService.GetCostControlParentDetailByParentIdAndMonths(installationId, months);
// if (parentDetail != null)
// {
// parentDetail.ThisPlanValue += changeThisPlanValue;
// parentDetail.ThisRealCost += changeThisRealCost;
// parentDetail.ThisPlanCost += changeThisPlanCost;
// BLL.CostControlParentDetailService.UpdateCostControlParentDetail(parentDetail);
// }
// else
// {
// parentDetail = new Model.WBS_CostControlParentDetail();
// parentDetail.CostControlParentDetailId = SQLHelper.GetNewID();
// parentDetail.ParentId = installationId;
// parentDetail.Months = months;
// parentDetail.StartDate = startDate;
// parentDetail.EndDate = endDate;
// parentDetail.ThisPlanValue = changeThisPlanValue;
// parentDetail.ThisRealCost = changeThisRealCost;
// parentDetail.ThisPlanCost = changeThisPlanCost;
// BLL.CostControlParentDetailService.AddCostControlParentDetail(parentDetail);
// }
// if (installation.SuperInstallationId != null) //还存在上级节点,需要继续循环
// {
// UpdateWeekInstallationDetail(installation.SuperInstallationId, months, startDate, endDate, changeThisPlanValue, changeThisRealCost, changeThisPlanCost);
// }
//}
}
#endregion
#endregion
}
}
+168
View File
@@ -0,0 +1,168 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.JDGL.Check {
public partial class PlanSet {
/// <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>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// hdId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox hdId;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// IsMileStone 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TemplateField IsMileStone;
/// <summary>
/// cbIsMileStone 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox cbIsMileStone;
/// <summary>
/// nbWeights 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox nbWeights;
/// <summary>
/// txtUnit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtUnit;
/// <summary>
/// nbPlanProjectQuantity 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox nbPlanProjectQuantity;
/// <summary>
/// nbRealProjectQuantity 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox nbRealProjectQuantity;
/// <summary>
/// txtPlanStartDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtPlanStartDate;
/// <summary>
/// txtPlanEndDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtPlanEndDate;
/// <summary>
/// txtRealStartDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtRealStartDate;
/// <summary>
/// txtRealEndDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtRealEndDate;
}
}
@@ -143,4 +143,4 @@
}
</script>
</body>
</html>
</html>
@@ -398,56 +398,53 @@ namespace FineUIPro.Web.ZHGL.Plan
}
projectName = projectName.Replace("/", "_");
newUrl = uploadfilepath.Replace(".doc", projectName + ".doc");
filePath = uploadfilepath.Replace(".doc", projectName + ".pdf");
if (File.Exists(newUrl))
{
File.Delete(newUrl);
}
File.Copy(uploadfilepath, newUrl);
///更新书签
Document doc = new Aspose.Words.Document(newUrl);
Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc);
builder.MoveToBookmark("tab");
builder.StartTable();
builder.CellFormat.Borders.LineStyle = LineStyle.Single;
builder.CellFormat.Borders.Color = System.Drawing.Color.Black;
builder.Bold = false;
builder.RowFormat.Height = 20;
builder.Font.Size = 9;
#region
//工程名称和项目部编制人员
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.Font.Bold = true;
builder.Write("工程名称");
//写入第一行
Bookmark bookmarkProjectName = doc.Range.Bookmarks["ProjectName"];
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
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 = 130;
builder.Font.Bold = false;
var project = ProjectService.GetProjectByProjectId(actionPlanList.ProjectId);
var ActionPlan_ActionPlanListApproveList = db.ActionPlan_ActionPlanListApprove.Where(x => x.ActionPlanListId == Id && x.ApproveType == "2").ToList();
if (project != null)
{
if (project.ProjectName.Length > 20 && ActionPlan_ActionPlanListApproveList.Count != 0)
{
builder.Write(project.ProjectName.Substring(0, 20) + "\n" +
project.ProjectName.Substring(20));
}
else
{
builder.Write(project.ProjectName);
}
if (bookmarkProjectName != null)
{
if (project != null)
{
if (project.ProjectName.Length > 20 && ActionPlan_ActionPlanListApproveList.Count != 0)
{
bookmarkProjectName.Text = project.ProjectName.Substring(0, 20) + "\n" +
project.ProjectName.Substring(20);
}
else
{
bookmarkProjectName.Text = project.ProjectName;
}
}
}
builder.EndRow();
Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc);
builder.MoveToBookmark("tab");
builder.StartTable();
builder.CellFormat.Borders.LineStyle = LineStyle.Single;
builder.CellFormat.Borders.Color = System.Drawing.Color.Black;
builder.Bold = false;
builder.RowFormat.Height = 20;
builder.Font.Size = 9;
#region
builder.InsertCell();
builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None;
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
@@ -462,7 +459,7 @@ namespace FineUIPro.Web.ZHGL.Plan
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 130;
builder.CellFormat.Width = 300;
builder.Font.Bold = false;
var getCompileMan = Person_PersonsService.GetPerson_PersonsById(actionPlanList.CompileMan);
if (!string.IsNullOrEmpty(getCompileMan.SignatureUrl) && File.Exists(rootPath + getCompileMan.SignatureUrl))
@@ -503,7 +500,7 @@ namespace FineUIPro.Web.ZHGL.Plan
//判断是不是最后一个
if (ActionPlan_ActionPlanListApproveList.Count == i + 1)
{
builder.CellFormat.Width = 40;
builder.CellFormat.Width = 150;
builder.Font.Bold = false;
if (!string.IsNullOrEmpty(getApproveMan.SignatureUrl) && File.Exists(rootPath + getApproveMan.SignatureUrl))
{
@@ -520,12 +517,12 @@ namespace FineUIPro.Web.ZHGL.Plan
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 90;
builder.CellFormat.Width = 150;
builder.Write("");
}
else
{
builder.CellFormat.Width = 40;
builder.CellFormat.Width = 150;
builder.Font.Bold = false;
if (!string.IsNullOrEmpty(getApproveMan.SignatureUrl) && File.Exists(rootPath + getApproveMan.SignatureUrl))
{
@@ -547,7 +544,7 @@ namespace FineUIPro.Web.ZHGL.Plan
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 70;
builder.CellFormat.Width = 100;
builder.Font.Bold = true;
builder.Write("项目部审核人");
@@ -556,7 +553,7 @@ namespace FineUIPro.Web.ZHGL.Plan
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 20;
builder.CellFormat.Width = 50;
var getApproveMan2 = Person_PersonsService.GetPerson_PersonsById(ActionPlan_ActionPlanListApproveList[i + 1].ApproveMan);
builder.Font.Bold = false;
if (!string.IsNullOrEmpty(getApproveMan2.SignatureUrl) && File.Exists(rootPath + getApproveMan2.SignatureUrl))
@@ -594,7 +591,7 @@ namespace FineUIPro.Web.ZHGL.Plan
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 230;
builder.CellFormat.Width = 400;
builder.Font.Bold = true;
builder.Write("主要评审部门");
builder.EndRow();
@@ -604,7 +601,7 @@ namespace FineUIPro.Web.ZHGL.Plan
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.CellFormat.Width = 150;
builder.Font.Bold = true;
builder.Write("评审部门");
@@ -613,7 +610,7 @@ namespace FineUIPro.Web.ZHGL.Plan
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.CellFormat.Width = 100;
builder.Font.Bold = true;
builder.Write("评审意见");
@@ -622,7 +619,7 @@ namespace FineUIPro.Web.ZHGL.Plan
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 70;
builder.CellFormat.Width = 150;
builder.Font.Bold = true;
builder.Write("评审部门负责人/日期");
builder.EndRow();
@@ -635,7 +632,7 @@ namespace FineUIPro.Web.ZHGL.Plan
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.CellFormat.Width = 150;
builder.Font.Bold = false;
builder.Write("施工管理部");
//评审意见
@@ -644,7 +641,7 @@ namespace FineUIPro.Web.ZHGL.Plan
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.CellFormat.Width = 100;
builder.Font.Bold = false;
if (!string.IsNullOrEmpty(item.ApproveIdea))
{
@@ -662,7 +659,7 @@ namespace FineUIPro.Web.ZHGL.Plan
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 70;
builder.CellFormat.Width = 150;
builder.Font.Bold = false;
if (item.ApproveDate != null)
{
@@ -692,7 +689,7 @@ namespace FineUIPro.Web.ZHGL.Plan
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.CellFormat.Width = 150;
var departModel = db.Base_Depart.FirstOrDefault(x => x.DepartId == item.DepartId);
builder.Font.Bold = false;
if (departModel != null)
@@ -705,7 +702,7 @@ namespace FineUIPro.Web.ZHGL.Plan
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.CellFormat.Width = 100;
builder.Font.Bold = false;
if (!string.IsNullOrEmpty(item.ApproveIdea))
{
@@ -723,7 +720,7 @@ namespace FineUIPro.Web.ZHGL.Plan
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 70;
builder.CellFormat.Width = 150;
builder.Font.Bold = false;
if (item.ApproveDate != null)
{
@@ -763,13 +760,13 @@ namespace FineUIPro.Web.ZHGL.Plan
builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Bottom;//底部对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//水平居中对齐
builder.CellFormat.Width = 130;
builder.CellFormat.Width = 300;
builder.Font.Bold = true;
builder.RowFormat.Height = 40;
builder.Write("公司安全总监/部门负责人:");
builder.Write(" 年");
builder.Write(" 年");
builder.Write(" 月");
builder.Write(" 日");
builder.Write(" 日");
builder.EndRow();
builder.InsertCell();
@@ -779,20 +776,20 @@ namespace FineUIPro.Web.ZHGL.Plan
builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
builder.CellFormat.Width = 100;
builder.Font.Bold = true;
builder.Write("审");
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.Bottom;//底部对齐
builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//水平居中对齐
builder.CellFormat.Width = 130;
builder.CellFormat.Width = 300;
builder.Font.Bold = true;
builder.RowFormat.Height = 40;
builder.Write("公司主管生产/安全领导:");
builder.Write(" 年");
builder.Write(" 年");
builder.Write(" 月");
builder.Write(" 日");
builder.Write(" 日");
builder.EndRow();
builder.Font.Bold = false;
@@ -802,17 +799,24 @@ namespace FineUIPro.Web.ZHGL.Plan
}
doc.Save(newUrl);
string fileName = Path.GetFileName(newUrl);
FileInfo info = new FileInfo(newUrl);
//生成PDF文件
string pdfUrl = newUrl.Replace(".doc", ".pdf");
Document doc1 = new Aspose.Words.Document(newUrl);
//验证参数
if (doc1 == null) { throw new Exception("Word文件无效"); }
doc1.Save(pdfUrl, Aspose.Words.SaveFormat.Pdf);//还可以改成其它格式
string fileName = Path.GetFileName(filePath);
FileInfo info = new FileInfo(pdfUrl);
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.TransmitFile(pdfUrl, 0, fileSize);
Response.Flush();
Response.Close();
File.Delete(newUrl);
File.Delete(pdfUrl);
}
catch (Exception ex)
{