diff --git a/DataBase/版本日志/SGGLDB_V2025-07-10-001-bwj.sql b/DataBase/版本日志/SGGLDB_V2025-07-10-001-bwj.sql
new file mode 100644
index 00000000..8b7c1f05
--- /dev/null
+++ b/DataBase/版本日志/SGGLDB_V2025-07-10-001-bwj.sql
@@ -0,0 +1,9 @@
+
+insert into Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
+values('244F69AE-EBD0-4DFA-A959-E13CE8D85968','ѹ','HJGL/TestPackage/TestPackageData.aspx',60,'A24B7926-EF69-456E-8A24-936D30384680','Menu_HJGL',0,1,1)
+go
+
+alter table [dbo].[PTP_TestPackage] add PrintState int
+go
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ӡ״̬δӡһ......δӡ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PTP_TestPackage', @level2type=N'COLUMN',@level2name=N'PrintState'
+GO
\ No newline at end of file
diff --git a/SGGL/BLL/BLL.csproj b/SGGL/BLL/BLL.csproj
index 0c75a797..7495a1d5 100644
--- a/SGGL/BLL/BLL.csproj
+++ b/SGGL/BLL/BLL.csproj
@@ -56,6 +56,10 @@
..\packages\EmitMapper.1.0.0\lib\EmitMapper.dll
+
+ False
+ bin\Debug\FastReport.dll
+
False
..\FineUIPro\FineUIPro.dll
diff --git a/SGGL/BLL/Common/FastReport.cs b/SGGL/BLL/Common/FastReport.cs
index e4e7aef1..a044c483 100644
--- a/SGGL/BLL/Common/FastReport.cs
+++ b/SGGL/BLL/Common/FastReport.cs
@@ -1,6 +1,12 @@
-using System.Collections.Generic;
+using System.Web;
+using System.Web.Security;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
using System.Data;
-using System.Web;
+using FastReport;
+
namespace BLL
{
public static class FastReportService
@@ -30,5 +36,58 @@ namespace BLL
}
+ ///
+ /// 合并报表后打印
+ ///
+ /// 报表实体集
+ /// 导出的路径
+ public static void ExportMergeReport(List fastReportItems, string path, string printType)
+ {
+ Report report = new Report();
+ report.PrintSettings.ShowDialog = false; //隐藏弹窗
+ FastReport.EnvironmentSettings settings = new EnvironmentSettings();
+ settings.ReportSettings.ShowProgress = false; //隐藏进度条
+ for (int i = 0; i < fastReportItems.Count; i++)
+ {
+ report.Load(Funs.RootPath + fastReportItems[i].ReportPath); //加载报表
+
+ List dataTables = fastReportItems[i].DataTables;
+ Dictionary ParameterValues = fastReportItems[i].ParameterValues;
+ if (dataTables != null && dataTables.Count > 0)
+ {
+ for (int j = 0; j < dataTables.Count; j++)
+ {
+ report.RegisterData(dataTables[j], dataTables[j].TableName);//绑定数据源
+ }
+ }
+ if (ParameterValues.Count > 0)
+ {
+ foreach (KeyValuePair kvp in ParameterValues)
+ {
+ report.SetParameterValue(kvp.Key, kvp.Value);//绑定参数
+ }
+ }
+ if (i == 0)
+ {
+ report.Prepare();
+ }
+ else
+ {
+ report.Prepare(true);
+ }
+ }
+ if (printType == "1")
+ {
+ FastReport.Export.Pdf.PDFExport exp = new FastReport.Export.Pdf.PDFExport();
+ report.Export(exp, path);
+ }
+ else if (printType == "2")
+ {
+ FastReport.Export.OoXML.Word2007Export exportBase = new FastReport.Export.OoXML.Word2007Export();
+ report.Export(export: exportBase, fileName: path.Replace(oldValue: "pdf", newValue: "docx"));
+ }
+ }
+
+
}
}
diff --git a/SGGL/FineUIPro.Web/File/Fastreport/JGZL/管道压力包文件资料目录.frx b/SGGL/FineUIPro.Web/File/Fastreport/JGZL/管道压力包文件资料目录.frx
new file mode 100644
index 00000000..42f0ebf2
--- /dev/null
+++ b/SGGL/FineUIPro.Web/File/Fastreport/JGZL/管道压力包文件资料目录.frx
@@ -0,0 +1,122 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/File/Fastreport/JGZL/管道压力试验技术要求.frx b/SGGL/FineUIPro.Web/File/Fastreport/JGZL/管道压力试验技术要求.frx
new file mode 100644
index 00000000..dc0a28f4
--- /dev/null
+++ b/SGGL/FineUIPro.Web/File/Fastreport/JGZL/管道压力试验技术要求.frx
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/File/Fastreport/JGZL/管道系统压力试验条件确认记录.frx b/SGGL/FineUIPro.Web/File/Fastreport/JGZL/管道系统压力试验条件确认记录.frx
new file mode 100644
index 00000000..5abb8cb5
--- /dev/null
+++ b/SGGL/FineUIPro.Web/File/Fastreport/JGZL/管道系统压力试验条件确认记录.frx
@@ -0,0 +1,293 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/File/Fastreport/JGZL/管道系统压力试验记录.frx b/SGGL/FineUIPro.Web/File/Fastreport/JGZL/管道系统压力试验记录.frx
new file mode 100644
index 00000000..f29c6508
--- /dev/null
+++ b/SGGL/FineUIPro.Web/File/Fastreport/JGZL/管道系统压力试验记录.frx
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/File/Fastreport/JGZL/管道试压包尾项清单.frx b/SGGL/FineUIPro.Web/File/Fastreport/JGZL/管道试压包尾项清单.frx
new file mode 100644
index 00000000..56cc5f45
--- /dev/null
+++ b/SGGL/FineUIPro.Web/File/Fastreport/JGZL/管道试压包尾项清单.frx
@@ -0,0 +1,175 @@
+
+
+ using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Windows.Forms;
+using System.Drawing;
+using System.Data;
+using FastReport;
+using FastReport.Data;
+using FastReport.Dialog;
+using FastReport.Barcode;
+using FastReport.Table;
+using FastReport.Utils;
+
+namespace FastReport
+{
+ public class ReportScript
+ {
+
+ private void Table2_ManualBuild(object sender, EventArgs e)
+ {
+ DataSourceBase rowData = Report.GetDataSource("Data");
+ // init the data source
+ rowData.Init();
+
+ // print the first table row - it is a header
+
+ // now enumerate the data source and print the table body
+ while (rowData.HasMoreRows)
+ {
+ // print the table body
+ Table2.PrintRow(0);
+ Table2.PrintColumns();
+
+ // go next data source row
+ rowData.Next();
+ }
+ }
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/File/Fastreport/JGZL/管道试压包文件资料.frx b/SGGL/FineUIPro.Web/File/Fastreport/JGZL/管道试压包文件资料.frx
new file mode 100644
index 00000000..9af7e298
--- /dev/null
+++ b/SGGL/FineUIPro.Web/File/Fastreport/JGZL/管道试压包文件资料.frx
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
index 1f8781f0..1e0adbfb 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -307,6 +307,9 @@
+
+
+
@@ -1612,6 +1615,7 @@
+
@@ -10991,6 +10995,13 @@
TestPackageCompleteEdit.aspx
+
+ TestPackageData.aspx
+ ASPXCodeBehind
+
+
+ TestPackageData.aspx
+
TestPackageEdit.aspx
ASPXCodeBehind
diff --git a/SGGL/FineUIPro.Web/HJGL/TestPackage/TestPackageData.aspx b/SGGL/FineUIPro.Web/HJGL/TestPackage/TestPackageData.aspx
new file mode 100644
index 00000000..b3b7b4df
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HJGL/TestPackage/TestPackageData.aspx
@@ -0,0 +1,92 @@
+<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestPackageData.aspx.cs" Inherits="FineUIPro.Web.HJGL.TestPackage.TestPackageData" %>
+
+
+
+
+
+
+ 试压包资料
+
+
+
+
+
+
diff --git a/SGGL/FineUIPro.Web/HJGL/TestPackage/TestPackageData.aspx.cs b/SGGL/FineUIPro.Web/HJGL/TestPackage/TestPackageData.aspx.cs
new file mode 100644
index 00000000..11b62de9
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HJGL/TestPackage/TestPackageData.aspx.cs
@@ -0,0 +1,522 @@
+using BLL;
+using System;
+using System.Collections.Generic;
+using System.Data.SqlClient;
+using System.Data;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+using System.IO;
+using Model;
+
+namespace FineUIPro.Web.HJGL.TestPackage
+{
+ public partial class TestPackageData : PageBase
+ {
+ #region 定义项
+ ///
+ /// 试压包主键
+ ///
+ public string PTP_ID
+ {
+ get
+ {
+ return (string)ViewState["PTP_ID"];
+ }
+ set
+ {
+ ViewState["PTP_ID"] = value;
+ }
+ }
+
+ ///
+ /// 单位工程Id
+ ///
+ public string UnitWorkId
+ {
+ get
+ {
+ return (string)ViewState["UnitWorkId"];
+ }
+ set
+ {
+ ViewState["UnitWorkId"] = value;
+ }
+ }
+ #endregion
+
+ protected void Page_Load(object sender, EventArgs e)
+ {
+ if (!IsPostBack)
+ {
+ this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString();
+ this.InitTreeMenu();//加载树
+ }
+ }
+
+ #region 加载树装置-单位-工作区
+ ///
+ /// 加载树
+ ///
+ private void InitTreeMenu()
+ {
+ this.tvControlItem.Nodes.Clear();
+
+ TreeNode rootNode1 = new TreeNode();
+ rootNode1.NodeID = "1";
+ rootNode1.Text = "建筑工程";
+ rootNode1.CommandName = "建筑工程";
+ rootNode1.Selectable = false;
+ rootNode1.EnableClickEvent = true;
+ this.tvControlItem.Nodes.Add(rootNode1);
+
+ TreeNode rootNode2 = new TreeNode();
+ rootNode2.NodeID = "2";
+ rootNode2.Text = "安装工程";
+ rootNode2.CommandName = "安装工程";
+ rootNode2.Expanded = true;
+ rootNode2.EnableClickEvent = true;
+ this.tvControlItem.Nodes.Add(rootNode2);
+ var pUnits = (from x in Funs.DB.Project_ProjectUnit where x.ProjectId == this.CurrUser.LoginProjectId select x).ToList();
+ // 获取当前用户所在单位
+ var currUnit = pUnits.FirstOrDefault(x => x.UnitId == this.CurrUser.UnitId);
+
+ var unitWorkList = (from x in Funs.DB.WBS_UnitWork
+ where x.ProjectId == this.CurrUser.LoginProjectId
+ && x.SuperUnitWork == null && x.UnitId != null && x.ProjectType != null
+ select x).ToList();
+ //List testPackageLists = (from x in Funs.DB.PTP_TestPackage
+ //where x.ProjectId == this.CurrUser.LoginProjectId
+ //select x).ToList();
+ List unitWork1 = null;
+ List unitWork2 = null;
+
+ //// 当前为施工单位,只能操作本单位的数据
+ //if (currUnit != null && currUnit.UnitType == Const.ProjectUnitType_2)
+ //{
+ // unitWork1 = (from x in unitWorkList
+ // where x.UnitId == this.CurrUser.UnitId && x.ProjectType == "1"
+ // select x).ToList();
+ // unitWork2 = (from x in unitWorkList
+ // where x.UnitId == this.CurrUser.UnitId && x.ProjectType == "2"
+ // select x).ToList();
+ //}
+ //else
+ //{
+ unitWork1 = (from x in unitWorkList where x.ProjectType == "1" select x).ToList();
+ unitWork2 = (from x in unitWorkList where x.ProjectType == "2" select x).ToList();
+ //}
+
+ if (unitWork1.Count() > 0)
+ {
+ foreach (var q in unitWork1)
+ {
+ var unitNamesUnitIds = BLL.UnitService.getUnitNamesUnitIds(q.UnitId);
+ TreeNode tn1 = new TreeNode();
+ tn1.NodeID = q.UnitWorkId;
+ tn1.Text = q.UnitWorkName;
+ tn1.ToolTip = "施工单位:" + unitNamesUnitIds;
+ tn1.CommandName = "单位工程";
+ tn1.EnableClickEvent = true;
+ rootNode1.Nodes.Add(tn1);
+ //var testPackageUnitList = testPackageLists.Where(x => x.UnitWorkId == q.UnitWorkId).ToList();
+ //BindNodes(tn1, testPackageUnitList);
+ }
+ }
+ if (unitWork2.Count() > 0)
+ {
+ foreach (var q in unitWork2)
+ {
+ var unitNamesUnitIds = BLL.UnitService.getUnitNamesUnitIds(q.UnitId);
+ TreeNode tn2 = new TreeNode();
+ tn2.NodeID = q.UnitWorkId;
+ tn2.Text = q.UnitWorkName;
+ tn2.ToolTip = "施工单位:" + unitNamesUnitIds;
+ tn2.CommandName = "单位工程";
+ tn2.EnableClickEvent = true;
+ rootNode2.Nodes.Add(tn2);
+ //var testPackageUnitList = testPackageLists.Where(x => x.UnitWorkId == q.UnitWorkId).ToList();
+ //BindNodes(tn2, testPackageUnitList);
+ }
+ }
+ }
+ #endregion
+
+ #region 点击TreeView
+ ///
+ /// 点击TreeView
+ ///
+ ///
+ ///
+ protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
+ {
+ this.UnitWorkId = tvControlItem.SelectedNodeID;
+ this.BindGrid();
+ }
+ #endregion
+
+ #region 数据绑定
+ ///
+ /// 数据绑定
+ ///
+ private void BindGrid()
+ {
+ string strSql = @" select t.PTP_ID,
+ t.ProjectId,
+ t.UnitId,
+ t.UnitWorkId,
+ t.TestPackageNo,
+ t.TestPackageName
+ from PTP_TestPackage t where t.ProjectId=@projectId and t.UnitWorkId=@unitWorkId";
+ List listStr = new List();
+ listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
+ listStr.Add(new SqlParameter("@unitWorkId", this.UnitWorkId));
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
+ // 2.获取当前分页数据
+ //var table = this.GetPagedDataTable(Grid1, tb1);
+ Grid1.RecordCount = tb.Rows.Count;
+ var table = this.GetPagedDataTable(Grid1, tb);
+ Grid1.DataSource = table;
+ Grid1.DataBind();
+ }
+
+ #endregion
+
+ #region 分页排序
+ #region 页索引改变事件
+ ///
+ /// 页索引改变事件
+ ///
+ ///
+ ///
+ protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
+ {
+ BindGrid();
+ }
+ #endregion
+
+ #region 排序
+ ///
+ /// 排序
+ ///
+ ///
+ ///
+ protected void Grid1_Sort(object sender, GridSortEventArgs e)
+ {
+ BindGrid();
+ }
+ #endregion
+
+ #region 分页选择下拉改变事件
+ ///
+ /// 分页选择下拉改变事件
+ ///
+ ///
+ ///
+ protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
+ BindGrid();
+ }
+ #endregion
+ #endregion
+
+ #region 打印
+ ///
+ /// 打印按钮
+ ///
+ ///
+ ///
+ protected void btnPrint_Click(object sender, EventArgs e)
+ {
+ if (!string.IsNullOrEmpty(this.Grid1.SelectedRowID))
+ {
+ this.PTP_ID = this.Grid1.SelectedRowID;
+ exportWord("1");
+ }
+ else
+ {
+ Alert.ShowInTop("请选择一条试压包", MessageBoxIcon.Warning);
+ return;
+ }
+ }
+
+ protected void exportWord(string type)
+ {
+ if (!string.IsNullOrEmpty(this.PTP_ID))
+ {
+ var updateTestPackage = Funs.DB.PTP_TestPackage.FirstOrDefault(x => x.PTP_ID == this.PTP_ID);
+ if (updateTestPackage != null)
+ {
+ string rootPath = Server.MapPath("~/");
+ BLL.FastReportService.ResetData();
+
+ if (this.drpPrintType.SelectedValue == "1")//pdf格式
+ {
+ ListItem[] list = new ListItem[10];
+ list[0] = new ListItem("0", "File\\Fastreport\\JGZL\\管道试压包文件资料.frx");
+ list[1] = new ListItem("1", "File\\Fastreport\\JGZL\\管道压力试验技术要求.frx");
+ list[2] = new ListItem("2", "File\\Fastreport\\JGZL\\管道压力包文件资料目录.frx");
+ list[3] = new ListItem("3", "File\\Fastreport\\JGZL\\管道系统压力试验条件确认记录.frx");
+ list[4] = new ListItem("4", "File\\Fastreport\\JGZL\\管道试压包尾项清单.frx");
+ //list[5] = new ListItem("5", "File\\Fastreport\\JGZL\\管道系统压力试验记录.frx");
+ //list[6] = new ListItem("6", "File\\Fastreport\\JGZL\\管道材料材质标识检查记录.frx");
+ //list[7] = new ListItem("7", "File\\Fastreport\\JGZL\\管道焊接工作记录.frx");
+ //list[8] = new ListItem("8", "File\\Fastreport\\JGZL\\管道无损检测数量统计表.frx");
+ //list[9] = new ListItem("9", "File\\Fastreport\\JGZL\\无损检测结果汇总表.frx");
+
+ List FastReportItemList = new List();
+ foreach (var item in list)
+ {
+ FastReportItemList.Add(GetFastReportItem(updateTestPackage, item.Text));
+ }
+
+ var Path = Funs.RootPath + "FileUpload/" + this.PTP_ID + ".pdf";
+
+ BLL.FastReportService.ExportMergeReport(FastReportItemList, Path, this.drpPrintType.SelectedValue);
+ FileInfo info = new FileInfo(Path);
+ long fileSize = info.Length;
+
+ System.Web.HttpContext.Current.Response.Clear();
+ System.Web.HttpContext.Current.Response.ContentType = "application/x-zip-compressed";
+ System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode("交工资料.pdf", System.Text.Encoding.UTF8));
+ System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
+ System.Web.HttpContext.Current.Response.TransmitFile(Path, 0, fileSize);
+ System.Web.HttpContext.Current.Response.Flush();
+ System.Web.HttpContext.Current.Response.Close();
+ File.Delete(Path);
+ }
+ else if (this.drpPrintType.SelectedValue == "2")//word格式
+ {
+ ListItem[] list = new ListItem[3];
+ list[0] = new ListItem("0", "File\\Fastreport\\JGZL\\管道试压包文件资料.frx");
+ list[1] = new ListItem("1", "File\\Fastreport\\JGZL\\管道压力试验技术要求.frx");
+ list[2] = new ListItem("2", "File\\Fastreport\\JGZL\\管道压力包文件资料目录.frx");
+
+ List FastReportItemList = new List();
+ foreach (var item in list)
+ {
+ FastReportItemList.Add(GetFastReportItem(updateTestPackage, item.Text));
+ }
+ var PathA = Funs.RootPath + "FileUpload/" + this.PTP_ID + ".docx";
+ BLL.FastReportService.ExportMergeReport(FastReportItemList, PathA, this.drpPrintType.SelectedValue);
+ Aspose.Words.Document doc1 = new Aspose.Words.Document(PathA);
+
+ ListItem[] list2 = new ListItem[1];
+ list2[0] = new ListItem("3", "File\\Fastreport\\JGZL\\管道系统压力试验条件确认记录.frx");
+ List FastReportItemList2 = new List();
+ foreach (var item in list2)
+ {
+ FastReportItemList2.Add(GetFastReportItem(updateTestPackage, item.Text));
+ }
+ var PathB = Funs.RootPath + "FileUpload/" + this.PTP_ID + "2.docx";
+ BLL.FastReportService.ExportMergeReport(FastReportItemList2, PathB, this.drpPrintType.SelectedValue);
+ Aspose.Words.Document doc2 = new Aspose.Words.Document(PathB);
+
+ // 合并 Word DOcx 文档
+ doc1.AppendDocument(doc2, Aspose.Words.ImportFormatMode.KeepSourceFormatting);
+
+
+ ListItem[] list3 = new ListItem[1];
+ list3[0] = new ListItem("4", "File\\Fastreport\\JGZL\\管道试压包尾项清单.frx");
+ List FastReportItemList3 = new List();
+ foreach (var item in list3)
+ {
+ FastReportItemList3.Add(GetFastReportItem(updateTestPackage, item.Text));
+ }
+ var PathC = Funs.RootPath + "FileUpload/" + this.PTP_ID + "3.docx";
+ BLL.FastReportService.ExportMergeReport(FastReportItemList3, PathC, this.drpPrintType.SelectedValue);
+ Aspose.Words.Document doc3 = new Aspose.Words.Document(PathC);
+ // 合并 Word DOcx 文档
+ doc1.AppendDocument(doc3, Aspose.Words.ImportFormatMode.KeepSourceFormatting);
+
+ ListItem[] list4 = new ListItem[2];
+ list4[0] = new ListItem("5", "File\\Fastreport\\JGZL\\管道系统压力试验记录.frx");
+ list4[1] = new ListItem("6", "File\\Fastreport\\JGZL\\管道材料材质标识检查记录.frx");
+ List FastReportItemList4 = new List();
+ foreach (var item in list4)
+ {
+ FastReportItemList4.Add(GetFastReportItem(updateTestPackage, item.Text));
+ }
+ var PathD = Funs.RootPath + "FileUpload/" + this.PTP_ID + "4.docx";
+ BLL.FastReportService.ExportMergeReport(FastReportItemList4, PathD, this.drpPrintType.SelectedValue);
+ Aspose.Words.Document doc4 = new Aspose.Words.Document(PathD);
+ // 合并 Word DOcx 文档
+ doc1.AppendDocument(doc4, Aspose.Words.ImportFormatMode.KeepSourceFormatting);
+
+ ListItem[] list5 = new ListItem[3];
+ list5[0] = new ListItem("7", "File\\Fastreport\\JGZL\\管道焊接工作记录.frx");
+ list5[1] = new ListItem("8", "File\\Fastreport\\JGZL\\管道无损检测数量统计表.frx");
+ list5[2] = new ListItem("9", "File\\Fastreport\\JGZL\\无损检测结果汇总表.frx");
+ List FastReportItemList5 = new List();
+ foreach (var item in list5)
+ {
+ FastReportItemList5.Add(GetFastReportItem(updateTestPackage, item.Text));
+ }
+ var PathE = Funs.RootPath + "FileUpload/" + this.PTP_ID + "5.docx";
+ BLL.FastReportService.ExportMergeReport(FastReportItemList5, PathE, this.drpPrintType.SelectedValue);
+ Aspose.Words.Document doc5 = new Aspose.Words.Document(PathE);
+ // 合并 Word DOcx 文档
+ doc1.AppendDocument(doc5, Aspose.Words.ImportFormatMode.KeepSourceFormatting);
+
+ //将合并的文档保存为 DOCX 文件
+ doc1.Save(Funs.RootPath + "FileUpload/doc.docx");
+
+ var Path = Funs.RootPath + "FileUpload/doc.docx";
+ FileInfo info = new FileInfo(Path);
+ long fileSize = info.Length;
+
+ System.Web.HttpContext.Current.Response.Clear();
+ System.Web.HttpContext.Current.Response.ContentType = "application/x-zip-compressed";
+ System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode("交工资料.docx", System.Text.Encoding.UTF8));
+ System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
+ System.Web.HttpContext.Current.Response.TransmitFile(Path, 0, fileSize);
+ System.Web.HttpContext.Current.Response.Flush();
+ System.Web.HttpContext.Current.Response.Close();
+ File.Delete(Path);
+ File.Delete(PathA);
+ File.Delete(PathB);
+ File.Delete(PathC);
+ File.Delete(PathD);
+ File.Delete(PathE);
+ }
+ }
+ }
+ else
+ {
+ Alert.ShowInTop("请选择要打印的单据!", MessageBoxIcon.Warning);
+ return;
+ }
+ }
+
+
+ protected Model.FastReportItem GetFastReportItem(Model.PTP_TestPackage updateTestPackage, string printType)
+ {
+ string initTemplatePath = "";
+ Model.FastReportItem fastReportItem = new Model.FastReportItem();
+ switch (printType)
+ {
+ case "0"://管道试压包文件资料
+ {
+ Dictionary keyValuePairs = new Dictionary();
+ var projectName = BLL.ProjectService.GetProjectNameByProjectId(this.CurrUser.LoginProjectId);
+ var InstallationName = BLL.UnitWorkService.getUnitWorkByUnitWorkId(updateTestPackage.UnitWorkId).UnitWorkName;
+ keyValuePairs.Add("ProjectName", projectName);
+ keyValuePairs.Add("InstallationName", projectName + InstallationName);
+ keyValuePairs.Add("TestPackageNo", updateTestPackage.TestPackageNo);
+ BLL.FastReportService.AddFastreportParameter(keyValuePairs);
+
+ initTemplatePath = "File\\Fastreport\\JGZL\\管道试压包文件资料.frx";
+ fastReportItem.ReportPath = initTemplatePath;
+ fastReportItem.ParameterValues = keyValuePairs;
+ }
+ break;
+ case "1"://管道压力试验技术要求
+ {
+ Dictionary keyValuePairs = new Dictionary();
+ BLL.FastReportService.AddFastreportParameter(keyValuePairs);
+
+ initTemplatePath = "File\\Fastreport\\JGZL\\管道压力试验技术要求.frx";
+ fastReportItem.ReportPath = initTemplatePath;
+ fastReportItem.ParameterValues = keyValuePairs;
+ }
+ break;
+ case "2"://管道压力包文件资料目录
+ {
+ Dictionary keyValuePairs = new Dictionary();
+ BLL.FastReportService.AddFastreportParameter(keyValuePairs);
+
+ initTemplatePath = "File\\Fastreport\\JGZL\\管道压力包文件资料目录.frx";
+ fastReportItem.ReportPath = initTemplatePath;
+ fastReportItem.ParameterValues = keyValuePairs;
+ }
+ break;
+ case "3"://管道系统压力试验条件确认记录
+ {
+ Dictionary keyValuePairs = new Dictionary();
+ var projectName = BLL.ProjectService.GetProjectNameByProjectId(this.CurrUser.LoginProjectId);
+ var InstallationName = BLL.UnitWorkService.getUnitWorkByUnitWorkId(updateTestPackage.UnitWorkId).UnitWorkName;
+ keyValuePairs.Add("ProjectName", projectName);
+ keyValuePairs.Add("InstallationName", InstallationName);
+ keyValuePairs.Add("TestPackageNo", updateTestPackage.TestPackageNo);
+ keyValuePairs.Add("TestPackageName", updateTestPackage.TestPackageName);
+ BLL.FastReportService.AddFastreportParameter(keyValuePairs);
+
+ initTemplatePath = "File\\Fastreport\\JGZL\\管道系统压力试验条件确认记录.frx";
+ fastReportItem.ReportPath = initTemplatePath;
+ fastReportItem.ParameterValues = keyValuePairs;
+ }
+ break;
+ case "4"://管道试压包尾项清单
+ {
+ string sql = @"select PT_PipeId,PTP_ID,pipelineList.PipelineId,pipeline.PipelineCode from PTP_PipelineList as pipelineList
+ left join HJGL_Pipeline pipeline on pipeline.PipelineId = pipelineList.PipelineId
+ where PTP_ID=@ptp_id";
+ List listStr = new List
+ {
+ new SqlParameter("@ptp_id", this.PTP_ID),
+ };
+ SqlParameter[] parameter = listStr.ToArray();
+ DataTable tb = SQLHelper.GetDataTableRunText(sql, parameter);
+
+ DataTable dt = new DataTable();
+ dt.TableName = "Data";
+ dt.Columns.Add("SortNumber");
+ dt.Columns.Add("PipelineCode");
+
+ for (int i = 0; i < tb.Rows.Count; i++)
+ {
+ var newRows = dt.NewRow();
+ newRows["SortNumber"] = (i + 1).ToString();
+ newRows["PipelineCode"] = tb.Rows[i]["PipelineCode"].ToString();
+
+ dt.Rows.Add(newRows);
+ }
+ BLL.FastReportService.AddFastreportTable(dt);
+
+ Dictionary keyValuePairs = new Dictionary();
+ keyValuePairs.Add("TestPackageNo", updateTestPackage.TestPackageNo);
+ BLL.FastReportService.AddFastreportParameter(keyValuePairs);
+
+ initTemplatePath = "File\\Fastreport\\JGZL\\管道试压包尾项清单.frx";
+
+ List dataTables = new List();
+ dataTables.Add(dt);
+ fastReportItem.ReportPath = initTemplatePath;
+ fastReportItem.ParameterValues = keyValuePairs;
+ fastReportItem.DataTables = dataTables;
+ }
+ break;
+ case "5"://管道系统压力试验记录
+ {
+
+ }
+ break;
+ case "6"://管道材料材质标识检查记录
+ {
+
+ }
+ break;
+ case "7"://管道焊接工作记录
+ {
+
+ }
+ break;
+ case "8"://管道无损检测数量统计表
+ {
+
+ }
+ break;
+ case "9"://无损检测结果汇总表
+ {
+
+ }
+ break;
+ }
+ return fastReportItem;
+ }
+ #endregion
+ }
+}
\ No newline at end of file
diff --git a/SGGL/FineUIPro.Web/HJGL/TestPackage/TestPackageData.aspx.designer.cs b/SGGL/FineUIPro.Web/HJGL/TestPackage/TestPackageData.aspx.designer.cs
new file mode 100644
index 00000000..a8573895
--- /dev/null
+++ b/SGGL/FineUIPro.Web/HJGL/TestPackage/TestPackageData.aspx.designer.cs
@@ -0,0 +1,152 @@
+//------------------------------------------------------------------------------
+// <自动生成>
+// 此代码由工具生成。
+//
+// 对此文件的更改可能导致不正确的行为,如果
+// 重新生成代码,则所做更改将丢失。
+// 自动生成>
+//------------------------------------------------------------------------------
+
+namespace FineUIPro.Web.HJGL.TestPackage
+{
+
+
+ public partial class TestPackageData
+ {
+
+ ///
+ /// form1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::System.Web.UI.HtmlControls.HtmlForm form1;
+
+ ///
+ /// PageManager1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.PageManager PageManager1;
+
+ ///
+ /// Panel1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel1;
+
+ ///
+ /// panelLeftRegion 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel panelLeftRegion;
+
+ ///
+ /// tvControlItem 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Tree tvControlItem;
+
+ ///
+ /// hdPTP_ID 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.HiddenField hdPTP_ID;
+
+ ///
+ /// Panel2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Panel Panel2;
+
+ ///
+ /// Grid1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Grid Grid1;
+
+ ///
+ /// Toolbar2 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Toolbar Toolbar2;
+
+ ///
+ /// ToolbarFill1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarFill ToolbarFill1;
+
+ ///
+ /// drpPrintType 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList drpPrintType;
+
+ ///
+ /// btnPrint 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.Button btnPrint;
+
+ ///
+ /// ToolbarSeparator1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
+
+ ///
+ /// ToolbarText1 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.ToolbarText ToolbarText1;
+
+ ///
+ /// ddlPageSize 控件。
+ ///
+ ///
+ /// 自动生成的字段。
+ /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
+ ///
+ protected global::FineUIPro.DropDownList ddlPageSize;
+ }
+}
diff --git a/SGGL/FineUIPro.Web/common/Menu_HJGL.xml b/SGGL/FineUIPro.Web/common/Menu_HJGL.xml
index e966c088..8e91c0a5 100644
--- a/SGGL/FineUIPro.Web/common/Menu_HJGL.xml
+++ b/SGGL/FineUIPro.Web/common/Menu_HJGL.xml
@@ -14,10 +14,10 @@
-
+
-
+
@@ -26,7 +26,7 @@
-
+
@@ -64,6 +64,7 @@
+
diff --git a/SGGL/Model/FastReportItem.cs b/SGGL/Model/FastReportItem.cs
new file mode 100644
index 00000000..d5d8095a
--- /dev/null
+++ b/SGGL/Model/FastReportItem.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Model
+{
+ ///
+ ///
+ ///
+ public class FastReportItem
+ {
+ ///
+ /// Table数据源集
+ ///
+ public List DataTables { get; set; }
+
+ ///
+ /// 参数键值对
+ ///
+ public Dictionary ParameterValues { get; set; }
+
+ ///
+ /// 模板路径
+ ///
+ public string ReportPath { get; set; }
+ }
+}
diff --git a/SGGL/Model/Model.cs b/SGGL/Model/Model.cs
index dab0ae56..853cb7cc 100644
--- a/SGGL/Model/Model.cs
+++ b/SGGL/Model/Model.cs
@@ -218163,6 +218163,8 @@ namespace Model
private System.Nullable _TestDate;
+ private System.Nullable _PrintState;
+
private EntitySet _PTP_ItemEndCheckList;
private EntitySet _PTP_PipelineList;
@@ -218241,6 +218243,8 @@ namespace Model
partial void OnStateChanged();
partial void OnTestDateChanging(System.Nullable value);
partial void OnTestDateChanged();
+ partial void OnPrintStateChanging(System.Nullable value);
+ partial void OnPrintStateChanged();
#endregion
public PTP_TestPackage()
@@ -218905,6 +218909,26 @@ namespace Model
}
}
+ [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PrintState", DbType="Int")]
+ public System.Nullable PrintState
+ {
+ get
+ {
+ return this._PrintState;
+ }
+ set
+ {
+ if ((this._PrintState != value))
+ {
+ this.OnPrintStateChanging(value);
+ this.SendPropertyChanging();
+ this._PrintState = value;
+ this.SendPropertyChanged("PrintState");
+ this.OnPrintStateChanged();
+ }
+ }
+ }
+
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_PTP_ItemEndCheckList_PTP_TestPackage", Storage="_PTP_ItemEndCheckList", ThisKey="PTP_ID", OtherKey="PTP_ID", DeleteRule="NO ACTION")]
public EntitySet PTP_ItemEndCheckList
{
diff --git a/SGGL/Model/Model.csproj b/SGGL/Model/Model.csproj
index 75f89168..3ae5354e 100644
--- a/SGGL/Model/Model.csproj
+++ b/SGGL/Model/Model.csproj
@@ -230,6 +230,7 @@
+