2025-07-10 16:47:41 +08:00
|
|
|
|
using BLL;
|
|
|
|
|
|
using System;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using System.Data;
|
2025-10-10 14:33:21 +08:00
|
|
|
|
using System.Data.SqlClient;
|
|
|
|
|
|
using System.IO;
|
2025-07-10 16:47:41 +08:00
|
|
|
|
using System.Linq;
|
|
|
|
|
|
using System.Web.UI.WebControls;
|
|
|
|
|
|
|
|
|
|
|
|
namespace FineUIPro.Web.HJGL.TestPackage
|
|
|
|
|
|
{
|
|
|
|
|
|
public partial class TestPackageData : PageBase
|
|
|
|
|
|
{
|
|
|
|
|
|
#region 定义项
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 试压包主键
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string PTP_ID
|
|
|
|
|
|
{
|
|
|
|
|
|
get
|
|
|
|
|
|
{
|
|
|
|
|
|
return (string)ViewState["PTP_ID"];
|
|
|
|
|
|
}
|
|
|
|
|
|
set
|
|
|
|
|
|
{
|
|
|
|
|
|
ViewState["PTP_ID"] = value;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 单位工程Id
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
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();//加载树
|
2025-08-05 23:34:06 +08:00
|
|
|
|
BindGrid();
|
2025-07-10 16:47:41 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#region 加载树装置-单位-工作区
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 加载树
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
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<Model.PTP_TestPackage> testPackageLists = (from x in Funs.DB.PTP_TestPackage
|
|
|
|
|
|
//where x.ProjectId == this.CurrUser.LoginProjectId
|
|
|
|
|
|
//select x).ToList();
|
|
|
|
|
|
List<Model.WBS_UnitWork> unitWork1 = null;
|
|
|
|
|
|
List<Model.WBS_UnitWork> 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
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 点击TreeView
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
|
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
this.UnitWorkId = tvControlItem.SelectedNodeID;
|
|
|
|
|
|
this.BindGrid();
|
|
|
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
#region 数据绑定
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 数据绑定
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
private void BindGrid()
|
|
|
|
|
|
{
|
|
|
|
|
|
string strSql = @" select t.PTP_ID,
|
|
|
|
|
|
t.ProjectId,
|
|
|
|
|
|
t.UnitId,
|
|
|
|
|
|
t.UnitWorkId,
|
|
|
|
|
|
t.TestPackageNo,
|
2025-07-15 17:25:56 +08:00
|
|
|
|
t.TestPackageName,
|
2025-08-18 10:15:28 +08:00
|
|
|
|
t.FinishDef,
|
2025-07-15 17:25:56 +08:00
|
|
|
|
(case when t.PrintState>0 then '第'+convert(varchar(10),t.PrintState)+'次打印' else '未打印' end) as PrintState,
|
|
|
|
|
|
t.TableDate
|
2025-08-05 23:34:06 +08:00
|
|
|
|
from PTP_TestPackage t where t.ProjectId=@projectId";
|
2025-07-10 16:47:41 +08:00
|
|
|
|
List<SqlParameter> listStr = new List<SqlParameter>();
|
|
|
|
|
|
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
|
2025-08-05 23:34:06 +08:00
|
|
|
|
if (!string.IsNullOrEmpty(this.UnitWorkId))
|
|
|
|
|
|
{
|
|
|
|
|
|
strSql += " and t.UnitWorkId =@unitWorkId";
|
|
|
|
|
|
listStr.Add(new SqlParameter("@unitWorkId", this.UnitWorkId));
|
|
|
|
|
|
}
|
|
|
|
|
|
if (!string.IsNullOrEmpty(this.txtTestPackageNo.Text.Trim()))
|
|
|
|
|
|
{
|
|
|
|
|
|
strSql += " and t.TestPackageNo like @testPackageNo";
|
|
|
|
|
|
listStr.Add(new SqlParameter("@testPackageNo", "%" + this.txtTestPackageNo.Text.Trim() + "%"));
|
|
|
|
|
|
}
|
2025-07-10 16:47:41 +08:00
|
|
|
|
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 页索引改变事件
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 页索引改变事件
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
|
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
BindGrid();
|
|
|
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
#region 排序
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 排序
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
|
protected void Grid1_Sort(object sender, GridSortEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
BindGrid();
|
|
|
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
#region 分页选择下拉改变事件
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 分页选择下拉改变事件
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
|
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
|
|
|
|
|
|
BindGrid();
|
|
|
|
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
#region 打印
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 打印按钮
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
|
protected void btnPrint_Click(object sender, EventArgs e)
|
|
|
|
|
|
{
|
2025-08-18 10:15:28 +08:00
|
|
|
|
var selectedRows = this.Grid1.SelectedRowIDArray;
|
2025-10-10 14:33:21 +08:00
|
|
|
|
if (selectedRows.Length == 0)
|
2025-07-10 16:47:41 +08:00
|
|
|
|
{
|
|
|
|
|
|
Alert.ShowInTop("请选择一条试压包", MessageBoxIcon.Warning);
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
2025-08-28 15:41:32 +08:00
|
|
|
|
Dictionary<string, string> printFiles = new Dictionary<string, string>();
|
2025-08-18 10:15:28 +08:00
|
|
|
|
foreach (var ptp_id in selectedRows)
|
|
|
|
|
|
{
|
2025-08-28 15:41:32 +08:00
|
|
|
|
var item = exportWord(ptp_id);
|
2025-09-01 10:11:37 +08:00
|
|
|
|
TestPackagePrintService.AddPrintCountByPTP_ID(ptp_id);//增加明细打印次数
|
2025-10-10 14:33:21 +08:00
|
|
|
|
printFiles.Add(item.FirstOrDefault().Key, item.FirstOrDefault().Value);
|
2025-08-28 15:41:32 +08:00
|
|
|
|
}
|
2025-10-10 14:33:21 +08:00
|
|
|
|
if (printFiles.Count > 1)
|
2025-08-28 15:41:32 +08:00
|
|
|
|
{
|
2025-10-10 14:33:21 +08:00
|
|
|
|
string zipName = "";
|
2025-08-28 15:41:32 +08:00
|
|
|
|
string rootPath = Funs.RootPath;
|
|
|
|
|
|
string startPath = rootPath + "FileUpload\\试压包资料" + DateTime.Now.GetHashCode();
|
|
|
|
|
|
if (!Directory.Exists(startPath))
|
|
|
|
|
|
{
|
|
|
|
|
|
Directory.CreateDirectory(startPath);
|
|
|
|
|
|
}
|
|
|
|
|
|
string zipPath = rootPath + "FileUpload\\试压包资料" + DateTime.Now.GetHashCode() + ".zip";
|
|
|
|
|
|
foreach (var item in printFiles)
|
|
|
|
|
|
{
|
|
|
|
|
|
var sourceFile = item.Key;
|
|
|
|
|
|
var destFile = startPath + "\\" + item.Value;
|
2025-10-10 14:33:21 +08:00
|
|
|
|
zipName += item.Value.Replace(".pdf", "") + ",";
|
2025-08-28 15:41:32 +08:00
|
|
|
|
if (File.Exists(sourceFile))
|
|
|
|
|
|
{
|
|
|
|
|
|
File.Copy(sourceFile, destFile, true);
|
|
|
|
|
|
File.Delete(sourceFile);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-10-10 14:33:21 +08:00
|
|
|
|
zipName = zipName.TrimEnd(',');
|
2025-08-28 15:41:32 +08:00
|
|
|
|
System.IO.Compression.ZipFile.CreateFromDirectory(startPath, zipPath);
|
|
|
|
|
|
FileInfo info = new FileInfo(zipPath);
|
|
|
|
|
|
long fileSize = info.Length;
|
|
|
|
|
|
System.Web.HttpContext.Current.Response.Clear();
|
|
|
|
|
|
System.Web.HttpContext.Current.Response.ContentType = "application/x-zip-compressed";
|
2025-10-10 14:33:21 +08:00
|
|
|
|
System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(zipName + ".zip", System.Text.Encoding.UTF8));
|
2025-08-28 15:41:32 +08:00
|
|
|
|
System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
|
|
|
|
|
|
System.Web.HttpContext.Current.Response.TransmitFile(zipPath, 0, fileSize);
|
|
|
|
|
|
System.Web.HttpContext.Current.Response.Flush();
|
|
|
|
|
|
System.Web.HttpContext.Current.Response.Close();
|
|
|
|
|
|
Funs.DeleteDir(startPath);
|
|
|
|
|
|
File.Delete(zipPath);
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
FileInfo info = new FileInfo(printFiles.FirstOrDefault().Key);
|
|
|
|
|
|
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(printFiles.FirstOrDefault().Value, System.Text.Encoding.UTF8));
|
|
|
|
|
|
System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
|
|
|
|
|
|
System.Web.HttpContext.Current.Response.TransmitFile(printFiles.FirstOrDefault().Key, 0, fileSize);
|
|
|
|
|
|
System.Web.HttpContext.Current.Response.Flush();
|
|
|
|
|
|
System.Web.HttpContext.Current.Response.Close();
|
2025-10-10 14:33:21 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-07-10 16:47:41 +08:00
|
|
|
|
}
|
2025-09-01 10:11:37 +08:00
|
|
|
|
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (e.CommandName == "typePrint")
|
|
|
|
|
|
{
|
|
|
|
|
|
object[] keys = Grid1.DataKeys[e.RowIndex];
|
|
|
|
|
|
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("TestPackageDatePrint.aspx?PTP_ID={0}", keys[0], "编辑 - ")));
|
2025-07-10 16:47:41 +08:00
|
|
|
|
|
2025-09-01 10:11:37 +08:00
|
|
|
|
}
|
2025-10-10 14:33:21 +08:00
|
|
|
|
}
|
|
|
|
|
|
protected Dictionary<string, string> exportWord(string ptp_id)
|
2025-07-10 16:47:41 +08:00
|
|
|
|
{
|
2025-09-24 17:31:28 +08:00
|
|
|
|
var keyValuePairs = new Dictionary<string, string>();
|
2025-08-18 10:15:28 +08:00
|
|
|
|
if (string.IsNullOrEmpty(ptp_id))
|
|
|
|
|
|
{
|
|
|
|
|
|
Alert.ShowInTop("请选择要打印的单据!", MessageBoxIcon.Warning);
|
2025-08-28 15:41:32 +08:00
|
|
|
|
return null;
|
2025-08-18 10:15:28 +08:00
|
|
|
|
}
|
|
|
|
|
|
//修改试压包打印状态
|
|
|
|
|
|
var updateTestPackage = Funs.DB.PTP_TestPackage.FirstOrDefault(x => x.PTP_ID == ptp_id);
|
|
|
|
|
|
string exportName = updateTestPackage?.TestPackageNo; //导出文件名称
|
|
|
|
|
|
if (updateTestPackage != null)
|
2025-07-10 16:47:41 +08:00
|
|
|
|
{
|
2025-08-18 10:15:28 +08:00
|
|
|
|
if (updateTestPackage.PrintState.HasValue && updateTestPackage.PrintState > 0)
|
2025-07-10 16:47:41 +08:00
|
|
|
|
{
|
2025-08-18 10:15:28 +08:00
|
|
|
|
updateTestPackage.PrintState = updateTestPackage.PrintState + 1;
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
updateTestPackage.PrintState = 1;
|
|
|
|
|
|
}
|
|
|
|
|
|
BLL.TestPackageEditService.UpdateTestPackagePrintState(updateTestPackage);
|
2025-07-15 17:25:56 +08:00
|
|
|
|
|
2025-08-18 10:15:28 +08:00
|
|
|
|
string rootPath = Server.MapPath("~/");
|
|
|
|
|
|
BLL.FastReportService.ResetData();
|
2025-07-10 16:47:41 +08:00
|
|
|
|
|
2025-08-18 10:15:28 +08:00
|
|
|
|
if (this.drpPrintType.SelectedValue == "1")//pdf格式
|
|
|
|
|
|
{
|
2025-10-10 14:33:21 +08:00
|
|
|
|
exportName += ".pdf";
|
2025-08-18 10:15:28 +08:00
|
|
|
|
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<Model.FastReportItem> FastReportItemList = new List<Model.FastReportItem>();
|
|
|
|
|
|
foreach (var item in list)
|
2025-07-10 16:47:41 +08:00
|
|
|
|
{
|
2025-09-24 17:31:28 +08:00
|
|
|
|
FastReportItemList.Add(TestPackagePrintService.GetFastReportItem(updateTestPackage, item.Text, ptp_id, this.CurrUser.LoginProjectId));
|
2025-08-18 10:15:28 +08:00
|
|
|
|
}
|
2025-07-10 16:47:41 +08:00
|
|
|
|
|
2025-08-28 15:41:32 +08:00
|
|
|
|
string Path = Funs.RootPath + "FileUpload/" + ptp_id + ".pdf";
|
2025-07-10 16:47:41 +08:00
|
|
|
|
|
2025-08-18 10:15:28 +08:00
|
|
|
|
BLL.FastReportService.ExportMergeReport(FastReportItemList, Path, this.drpPrintType.SelectedValue);
|
2025-08-28 15:41:32 +08:00
|
|
|
|
keyValuePairs.Add(Path, exportName);
|
2025-10-10 14:33:21 +08:00
|
|
|
|
/* FileInfo info = new FileInfo(Path);
|
|
|
|
|
|
long fileSize = info.Length;
|
|
|
|
|
|
System.Web.HttpContext.Current.Response.Clear();
|
|
|
|
|
|
System.Web.HttpContext.Current.Response.ClearHeaders();
|
|
|
|
|
|
System.Web.HttpContext.Current.Response.ContentType = "application/x-zip-compressed";
|
|
|
|
|
|
System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(exportName + ".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);*/
|
2025-08-18 10:15:28 +08:00
|
|
|
|
}
|
|
|
|
|
|
else if (this.drpPrintType.SelectedValue == "2")//word格式
|
|
|
|
|
|
{
|
2025-10-10 14:33:21 +08:00
|
|
|
|
exportName += ".docx";
|
2025-08-18 10:15:28 +08:00
|
|
|
|
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<Model.FastReportItem> FastReportItemList = new List<Model.FastReportItem>();
|
|
|
|
|
|
foreach (var item in list)
|
|
|
|
|
|
{
|
2025-09-24 17:31:28 +08:00
|
|
|
|
FastReportItemList.Add(TestPackagePrintService.GetFastReportItem(updateTestPackage, item.Text, ptp_id, this.CurrUser.LoginProjectId));
|
2025-07-10 16:47:41 +08:00
|
|
|
|
}
|
2025-08-18 10:15:28 +08:00
|
|
|
|
var PathA = Funs.RootPath + "FileUpload/" + 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<Model.FastReportItem> FastReportItemList2 = new List<Model.FastReportItem>();
|
|
|
|
|
|
foreach (var item in list2)
|
2025-07-10 16:47:41 +08:00
|
|
|
|
{
|
2025-09-24 17:31:28 +08:00
|
|
|
|
FastReportItemList2.Add(TestPackagePrintService.GetFastReportItem(updateTestPackage, item.Text, ptp_id, this.CurrUser.LoginProjectId));
|
2025-08-18 10:15:28 +08:00
|
|
|
|
}
|
|
|
|
|
|
var PathB = Funs.RootPath + "FileUpload/" + ptp_id + "2.docx";
|
|
|
|
|
|
BLL.FastReportService.ExportMergeReport(FastReportItemList2, PathB, this.drpPrintType.SelectedValue);
|
|
|
|
|
|
Aspose.Words.Document doc2 = new Aspose.Words.Document(PathB);
|
2025-07-10 16:47:41 +08:00
|
|
|
|
|
2025-08-18 10:15:28 +08:00
|
|
|
|
// 合并 Word DOcx 文档
|
|
|
|
|
|
doc1.AppendDocument(doc2, Aspose.Words.ImportFormatMode.KeepSourceFormatting);
|
2025-07-10 16:47:41 +08:00
|
|
|
|
|
|
|
|
|
|
|
2025-08-18 10:15:28 +08:00
|
|
|
|
ListItem[] list3 = new ListItem[1];
|
|
|
|
|
|
list3[0] = new ListItem("4", "File\\Fastreport\\JGZL\\管道试压包尾项清单.frx");
|
|
|
|
|
|
List<Model.FastReportItem> FastReportItemList3 = new List<Model.FastReportItem>();
|
|
|
|
|
|
foreach (var item in list3)
|
|
|
|
|
|
{
|
2025-09-24 17:31:28 +08:00
|
|
|
|
FastReportItemList3.Add(TestPackagePrintService.GetFastReportItem(updateTestPackage, item.Text, ptp_id, this.CurrUser.LoginProjectId));
|
2025-08-18 10:15:28 +08:00
|
|
|
|
}
|
|
|
|
|
|
var PathC = Funs.RootPath + "FileUpload/" + 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<Model.FastReportItem> FastReportItemList4 = new List<Model.FastReportItem>();
|
|
|
|
|
|
foreach (var item in list4)
|
|
|
|
|
|
{
|
2025-09-24 17:31:28 +08:00
|
|
|
|
FastReportItemList4.Add(TestPackagePrintService.GetFastReportItem(updateTestPackage, item.Text, ptp_id, this.CurrUser.LoginProjectId));
|
2025-08-18 10:15:28 +08:00
|
|
|
|
}
|
|
|
|
|
|
var PathD = Funs.RootPath + "FileUpload/" + 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<Model.FastReportItem> FastReportItemList5 = new List<Model.FastReportItem>();
|
|
|
|
|
|
foreach (var item in list5)
|
|
|
|
|
|
{
|
2025-09-24 17:31:28 +08:00
|
|
|
|
FastReportItemList5.Add(TestPackagePrintService.GetFastReportItem(updateTestPackage, item.Text, ptp_id, this.CurrUser.LoginProjectId));
|
2025-07-10 16:47:41 +08:00
|
|
|
|
}
|
2025-08-18 10:15:28 +08:00
|
|
|
|
var PathE = Funs.RootPath + "FileUpload/" + 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 文件
|
2025-10-10 14:33:21 +08:00
|
|
|
|
var Path = Funs.RootPath + "FileUpload/" + ptp_id + "Result.docx";
|
2025-08-28 15:41:32 +08:00
|
|
|
|
doc1.Save(Path);
|
|
|
|
|
|
|
2025-10-10 14:33:21 +08:00
|
|
|
|
keyValuePairs.Add(Path, exportName);
|
2025-08-18 10:15:28 +08:00
|
|
|
|
|
2025-10-10 14:33:21 +08:00
|
|
|
|
/* FileInfo info = new FileInfo(Path);
|
|
|
|
|
|
long fileSize = info.Length;
|
2025-08-18 10:15:28 +08:00
|
|
|
|
|
2025-10-10 14:33:21 +08:00
|
|
|
|
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(exportName + ".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();*/
|
2025-08-28 15:41:32 +08:00
|
|
|
|
//File.Delete(Path);
|
2025-08-18 10:15:28 +08:00
|
|
|
|
File.Delete(PathA);
|
|
|
|
|
|
File.Delete(PathB);
|
|
|
|
|
|
File.Delete(PathC);
|
|
|
|
|
|
File.Delete(PathD);
|
|
|
|
|
|
File.Delete(PathE);
|
2025-07-10 16:47:41 +08:00
|
|
|
|
}
|
2025-08-28 15:41:32 +08:00
|
|
|
|
|
2025-07-10 16:47:41 +08:00
|
|
|
|
}
|
2025-08-28 15:41:32 +08:00
|
|
|
|
return keyValuePairs;
|
2025-08-18 10:15:28 +08:00
|
|
|
|
|
2025-10-10 14:33:21 +08:00
|
|
|
|
}
|
2025-07-10 16:47:41 +08:00
|
|
|
|
|
|
|
|
|
|
#endregion
|
2025-07-15 17:25:56 +08:00
|
|
|
|
|
|
|
|
|
|
#region 格式化字符串
|
|
|
|
|
|
protected string getMaterialCodeByPipelineId(string pipelineId)
|
|
|
|
|
|
{
|
|
|
|
|
|
string materialCode = string.Empty;
|
|
|
|
|
|
if (!string.IsNullOrEmpty(pipelineId))
|
|
|
|
|
|
{
|
|
|
|
|
|
var weldjoint = (from x in Funs.DB.HJGL_WeldJoint
|
|
|
|
|
|
join y in Funs.DB.Base_Material on x.Material1Id equals y.MaterialId
|
|
|
|
|
|
join z in Funs.DB.Base_Material on x.Material2Id equals z.MaterialId
|
|
|
|
|
|
where x.PipelineId == pipelineId
|
|
|
|
|
|
select new { MaterialCode1 = y.MaterialCode, MaterialCode2 = z.MaterialCode }).FirstOrDefault();
|
|
|
|
|
|
if (weldjoint != null)
|
|
|
|
|
|
{
|
2025-10-10 14:33:21 +08:00
|
|
|
|
if (!string.IsNullOrEmpty(weldjoint.MaterialCode1) && !string.IsNullOrEmpty(weldjoint.MaterialCode2))
|
2025-07-15 17:25:56 +08:00
|
|
|
|
{
|
|
|
|
|
|
materialCode = weldjoint.MaterialCode1 + "/" + weldjoint.MaterialCode2;
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
if (!string.IsNullOrEmpty(weldjoint.MaterialCode1))
|
|
|
|
|
|
{
|
|
|
|
|
|
materialCode = weldjoint.MaterialCode1;
|
|
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
|
|
|
|
|
materialCode = weldjoint.MaterialCode2;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-10-10 14:33:21 +08:00
|
|
|
|
|
2025-07-15 17:25:56 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return materialCode;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected string getSpecificationByPipelineId(string pipelineId)
|
|
|
|
|
|
{
|
|
|
|
|
|
string spcificaation = string.Empty;
|
|
|
|
|
|
if (!string.IsNullOrEmpty(pipelineId))
|
|
|
|
|
|
{
|
|
|
|
|
|
var weldjoint = (from x in Funs.DB.HJGL_WeldJoint where x.PipelineId == pipelineId select x).FirstOrDefault();
|
|
|
|
|
|
if (weldjoint != null)
|
|
|
|
|
|
{
|
|
|
|
|
|
spcificaation = weldjoint.Specification;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return spcificaation;
|
|
|
|
|
|
}
|
|
|
|
|
|
#endregion
|
2025-08-05 23:34:06 +08:00
|
|
|
|
|
|
|
|
|
|
#region 搜索
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 查询
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="sender"></param>
|
|
|
|
|
|
/// <param name="e"></param>
|
|
|
|
|
|
protected void txtTestPackageNo_TextChanged(object sender, EventArgs e)
|
|
|
|
|
|
{
|
|
|
|
|
|
BindGrid();
|
|
|
|
|
|
}
|
|
|
|
|
|
#endregion
|
2025-07-10 16:47:41 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|