850 lines
39 KiB
C#
850 lines
39 KiB
C#
using Aspose.Words;
|
|
using Aspose.Words.Tables;
|
|
using BLL;
|
|
using Model;
|
|
using Newtonsoft.Json.Linq;
|
|
using NPOI.SS.Formula.Functions;
|
|
using Org.BouncyCastle.Asn1.IsisMtt;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Data.SqlClient;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.Services;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
|
|
|
|
namespace FineUIPro.Web.JGZL
|
|
{
|
|
public partial class IndustrialPipelineInstallationSummary : PageBase
|
|
{
|
|
#region 定义项
|
|
/// <summary>
|
|
/// 主键
|
|
/// </summary>
|
|
private string SummaryId
|
|
{
|
|
get
|
|
{
|
|
return (string)ViewState["SummaryId"];
|
|
}
|
|
set
|
|
{
|
|
ViewState["SummaryId"] = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 项目Id
|
|
/// </summary>
|
|
private string ProjectId
|
|
{
|
|
get
|
|
{
|
|
return (string)ViewState["ProjectId"];
|
|
}
|
|
set
|
|
{
|
|
ViewState["ProjectId"] = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 外键—CertificateId
|
|
/// </summary>
|
|
public string CertificateId
|
|
{
|
|
get
|
|
{
|
|
return (string)ViewState["CertificateId"];
|
|
}
|
|
set
|
|
{
|
|
ViewState["CertificateId"] = value;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 加载页面
|
|
/// <summary>
|
|
/// 加载页面
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString();
|
|
|
|
this.drpProjectId.DataTextField = "ProjectCode";
|
|
this.drpProjectId.DataValueField = "ProjectId";
|
|
this.drpProjectId.DataSource = BLL.Base_ProjectService.GetOnProjectListByUserId(this.CurrUser.UserId, "1");
|
|
this.drpProjectId.DataBind();
|
|
Funs.FineUIPleaseSelect(this.drpProjectId);
|
|
|
|
this.drpProjectId.SelectedValue = this.CurrUser.LoginProjectId;
|
|
this.InitTreeMenu();//加载树
|
|
this.tvControlItem.SelectedNodeID = this.drpProjectId.SelectedValue;
|
|
|
|
//获取下拉选择项本项目下所有工业管道安装质量证明书信息
|
|
IndustrialPipelineInstallationQualityCertificateService.InitIndustrialPipelineInstallationQualityCertificateDownList(this.drpCertificateCode, this.tvControlItem.SelectedNodeID, false);
|
|
if (!string.IsNullOrEmpty(this.drpCertificateCode.SelectedValue) && this.drpCertificateCode.SelectedValue != BLL.Const._Null)
|
|
{
|
|
this.CertificateId = this.drpCertificateCode.SelectedValue;
|
|
var certificate = BLL.IndustrialPipelineInstallationQualityCertificateService.GetIndustrialPipelineInstallationQualityCertificateById(this.CertificateId);
|
|
if (certificate != null)
|
|
{
|
|
this.txtDeliveryUnit.Text = certificate.DeliveryUnit;
|
|
this.txtDeliveryUnitCode.Text = certificate.DeliveryUnitCode;
|
|
}
|
|
}
|
|
DataIsoInfo();
|
|
BindGrid();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
private void DataIsoInfo()
|
|
{
|
|
var isoInfo = BLL.HJGL_PW_IsoInfoService.GetIsoInfoByProjectId(this.tvControlItem.SelectedNodeID);
|
|
foreach (var item in isoInfo)
|
|
{
|
|
var summary = BLL.IndustrialPipelineInstallationSummaryService.GetIndustrialPipelineInstallationSummaryByPipelineCode(item.ISO_IsoNo);
|
|
if (summary == null)
|
|
{
|
|
Model.JGZL_IndustrialPipelineInstallationSummary newSummary = new JGZL_IndustrialPipelineInstallationSummary();
|
|
newSummary.SummaryId = SQLHelper.GetNewID(typeof(Model.JGZL_IndustrialPipelineInstallationSummary));
|
|
newSummary.ProjectId = this.tvControlItem.SelectedNodeID;
|
|
newSummary.CertificateId = this.drpCertificateCode.SelectedValue;
|
|
newSummary.PipelineCode = item.ISO_IsoNo;
|
|
if (!string.IsNullOrEmpty(item.ISC_ID))
|
|
{
|
|
newSummary.PipelineLevel = BLL.HJGL_PipingClassService.GetPipingClassByPipingClassId(item.ISC_ID).ISC_IsoName;
|
|
}
|
|
newSummary.DesignPressure = item.ISO_DesignPress.ToString();
|
|
newSummary.DesignTemperature = item.ISO_DesignTemperature.ToString();
|
|
if (!string.IsNullOrEmpty(item.SER_ID))
|
|
{
|
|
newSummary.Medium = BLL.HJGL_MediumService.GetServiceBySERID(item.SER_ID).SER_Name;
|
|
}
|
|
if (!string.IsNullOrEmpty(item.STE_ID))
|
|
{
|
|
newSummary.Material = BLL.HJGL_MaterialService.GetSteelBySteID(item.STE_ID).STE_Code;
|
|
}
|
|
var jointInfo = (from x in Funs.DB.HJGL_PW_JointInfo where x.ISO_ID == item.ISO_ID select x).FirstOrDefault();
|
|
if (jointInfo != null)
|
|
{
|
|
newSummary.Specifications = jointInfo.JOT_JointDesc;
|
|
}
|
|
newSummary.Length = item.PipeLineLength.ToString();
|
|
newSummary.WeldsNum = BLL.HJGL_PW_JointInfoService.GetJointCountByIsoId(item.ISO_ID).ToString();
|
|
if (!string.IsNullOrEmpty(item.Joty_B_Rate))
|
|
{
|
|
newSummary.LosslessRatio = HJGL_DetectionService.GetNDTRateByNDTRID(item.Joty_B_Rate).NDTR_Name;//无损检测比例
|
|
}
|
|
//newSummary.VoltageResistantTestMethod = "水压";//耐压试验方法
|
|
newSummary.VoltageResistantTestMedium = "水";//耐压试验介质
|
|
newSummary.LeakageTestMedium = "空气";//泄漏试验介质
|
|
newSummary.CleaningMethod = "压缩空气吹扫";//吹扫、清洗方法
|
|
newSummary.VoltageResistantTestPressure = item.ISO_TestPress.HasValue ? item.ISO_TestPress.Value.ToString(("0.##")) + "MPa" : "";//耐压试验压力
|
|
newSummary.LeakageTestPressure = item.LeakageTest + "MPa";//泄漏试验压力
|
|
newSummary.CorrosionControlMethod = item.ISO_Paint;//腐蚀控制方式
|
|
newSummary.VoltageResistantTestMethod = "水压试验";//耐压试验方法
|
|
BLL.IndustrialPipelineInstallationSummaryService.AddIndustrialPipelineInstallationSummary(newSummary);
|
|
}
|
|
}
|
|
}
|
|
|
|
#region 加载树项目
|
|
/// <summary>
|
|
/// 加载树
|
|
/// </summary>
|
|
private void InitTreeMenu()
|
|
{
|
|
this.tvControlItem.Nodes.Clear();
|
|
TreeNode rootNode = new TreeNode();
|
|
rootNode.Text = "项目";
|
|
rootNode.ToolTip = "项目";
|
|
rootNode.NodeID = "0";
|
|
rootNode.Expanded = true;
|
|
this.tvControlItem.Nodes.Add(rootNode);
|
|
|
|
List<Model.Base_Project> projects = BLL.Base_ProjectService.GetOnProjectListByUserId(this.CurrUser.UserId, "1");
|
|
if (this.drpProjectId.SelectedValue != BLL.Const._Null)
|
|
{
|
|
projects = projects.Where(e => e.ProjectId == this.drpProjectId.SelectedValue).ToList();
|
|
}
|
|
foreach (var item in projects)
|
|
{
|
|
TreeNode rootProjectNode = new TreeNode();//定义根节点
|
|
rootProjectNode.Text = item.ProjectCode;
|
|
rootProjectNode.NodeID = item.ProjectId;
|
|
rootProjectNode.EnableClickEvent = true;
|
|
rootProjectNode.Expanded = true;
|
|
rootProjectNode.ToolTip = item.ProjectName;
|
|
rootProjectNode.CommandName = "项目名称";
|
|
rootNode.Nodes.Add(rootProjectNode);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 点击TreeView
|
|
/// <summary>
|
|
/// 点击TreeView
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
|
|
{
|
|
if (this.tvControlItem.SelectedNodeID != "0")
|
|
{
|
|
DataIsoInfo();
|
|
this.BindGrid();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 数据绑定
|
|
/// <summary>
|
|
/// 数据绑定
|
|
/// </summary>
|
|
private void BindGrid()
|
|
{
|
|
string strSql = @"SELECT *
|
|
FROM JGZL_IndustrialPipelineInstallationSummary
|
|
WHERE 1=1 ";
|
|
List<SqlParameter> listStr = new List<SqlParameter>();
|
|
if (!string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID))
|
|
{
|
|
strSql += " AND ProjectId = @ProjectId";
|
|
listStr.Add(new SqlParameter("@ProjectId", this.tvControlItem.SelectedNodeID));
|
|
}
|
|
if (!string.IsNullOrEmpty(this.txtIsoNoS.Text))
|
|
{
|
|
strSql += " AND PipelineCode like @PipelineCode";
|
|
listStr.Add(new SqlParameter("@PipelineCode", "%" + this.txtIsoNoS.Text + "%"));
|
|
}
|
|
SqlParameter[] parameter = listStr.ToArray();
|
|
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
|
// 2.获取当前分页数据
|
|
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 drpProjectId_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
this.tvControlItem.SelectedNodeID = this.drpProjectId.SelectedValue;
|
|
this.InitTreeMenu();
|
|
DataIsoInfo();
|
|
BindGrid();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查询
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void TextBox_TextChanged(object sender, EventArgs e)
|
|
{
|
|
this.BindGrid();
|
|
}
|
|
#endregion
|
|
|
|
#region 打印
|
|
/// <summary>
|
|
/// 打印
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnPrint_Click(object sender, EventArgs e)
|
|
{
|
|
string projectId = this.tvControlItem.SelectedNodeID;
|
|
|
|
if (projectId != null)
|
|
{
|
|
string initTemplatePath = "";
|
|
string rootPath = Server.MapPath("~/");
|
|
BLL.Common.FastReportService.ResetData();
|
|
|
|
string strSql = @"SELECT * from JGZL_IndustrialPipelineInstallationSummary where ProjectId = @ProjectId ";
|
|
List<SqlParameter> listStr = new List<SqlParameter>();
|
|
listStr.Add(new SqlParameter("@ProjectId", projectId));
|
|
if (!string.IsNullOrEmpty(this.txtIsoNoS.Text))
|
|
{
|
|
strSql += " And PipelineCode like @pipeLineCode";
|
|
listStr.Add(new SqlParameter("@pipeLineCode", "%" + this.txtIsoNoS.Text + "%"));
|
|
}
|
|
SqlParameter[] parameter = listStr.ToArray();
|
|
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
|
if (tb.Rows.Count > 0)
|
|
{
|
|
DataTable dt = new DataTable();
|
|
dt.TableName = "Data";
|
|
dt.Columns.Add("Num");
|
|
dt.Columns.Add("PipelineCode");
|
|
dt.Columns.Add("PipelineLevel");
|
|
dt.Columns.Add("DesignPressure");
|
|
dt.Columns.Add("DesignTemperature");
|
|
dt.Columns.Add("OperatingTemperature");
|
|
dt.Columns.Add("Medium");
|
|
dt.Columns.Add("Material");
|
|
dt.Columns.Add("Specifications");
|
|
dt.Columns.Add("Length");
|
|
dt.Columns.Add("LayingMethod");
|
|
dt.Columns.Add("WeldsNum");
|
|
dt.Columns.Add("LosslessRatio");
|
|
dt.Columns.Add("VoltageResistantTestMedium");
|
|
dt.Columns.Add("VoltageResistantTestPressure");
|
|
dt.Columns.Add("VoltageResistantTestDate");
|
|
dt.Columns.Add("LeakageTestMedium");
|
|
dt.Columns.Add("LeakageTestPressure");
|
|
dt.Columns.Add("LeakageTestDate");
|
|
dt.Columns.Add("CleaningMethod");
|
|
dt.Columns.Add("CorrosionControlMethod");
|
|
dt.Columns.Add("InsulationMethod");
|
|
dt.Columns.Add("PipelineStartPoint");
|
|
dt.Columns.Add("PipelineEndPoint");
|
|
dt.Columns.Add("Remark");
|
|
|
|
DataRow[] rows = tb.DefaultView.ToTable().Select();
|
|
int i = 0;
|
|
foreach (var row in rows)
|
|
{
|
|
var newRow = dt.NewRow();
|
|
newRow["Num"] = (i + 1).ToString();
|
|
newRow["PipelineCode"] = row["PipelineCode"].ToString();
|
|
newRow["PipelineLevel"] = row["PipelineLevel"].ToString();
|
|
newRow["DesignPressure"] = row["DesignPressure"].ToString();
|
|
newRow["DesignTemperature"] = row["DesignTemperature"].ToString();
|
|
newRow["OperatingTemperature"] = row["OperatingTemperature"].ToString();
|
|
newRow["Medium"] = row["Medium"].ToString();
|
|
newRow["Material"] = row["Material"].ToString();
|
|
newRow["Specifications"] = row["Specifications"].ToString();
|
|
newRow["Length"] = row["Length"].ToString();
|
|
newRow["LayingMethod"] = row["LayingMethod"].ToString();
|
|
newRow["WeldsNum"] = row["WeldsNum"].ToString();
|
|
newRow["LosslessRatio"] = row["LosslessRatio"].ToString();
|
|
newRow["VoltageResistantTestMedium"] = row["VoltageResistantTestMedium"].ToString();
|
|
newRow["VoltageResistantTestPressure"] = row["VoltageResistantTestPressure"].ToString();
|
|
string VoltageResistantTestDate = string.Format("{0:yyyy.MM.dd}", row["VoltageResistantTestDate"]);
|
|
newRow["VoltageResistantTestDate"] = VoltageResistantTestDate;
|
|
newRow["LeakageTestMedium"] = row["LeakageTestMedium"].ToString();
|
|
newRow["LeakageTestPressure"] = row["LeakageTestPressure"].ToString();
|
|
string LeakageTestDate = string.Format("{0:yyyy.MM.dd}", row["LeakageTestDate"]);
|
|
newRow["LeakageTestDate"] = LeakageTestDate;
|
|
newRow["CleaningMethod"] = row["CleaningMethod"].ToString();
|
|
newRow["CorrosionControlMethod"] = row["CorrosionControlMethod"].ToString();
|
|
newRow["InsulationMethod"] = row["InsulationMethod"].ToString();
|
|
newRow["PipelineStartPoint"] = row["PipelineStartPoint"].ToString();
|
|
newRow["PipelineEndPoint"] = row["PipelineEndPoint"].ToString();
|
|
newRow["Remark"] = row["Remark"].ToString();
|
|
dt.Rows.Add(newRow);
|
|
i++;
|
|
}
|
|
BLL.Common.FastReportService.AddFastreportTable(dt);
|
|
|
|
string certificateCode = string.Empty;
|
|
string deliveryUnit = string.Empty;
|
|
string deliveryUnitCode = string.Empty;
|
|
string certificateId = rows[0]["CertificateId"].ToString();
|
|
var certificate = BLL.IndustrialPipelineInstallationQualityCertificateService.GetIndustrialPipelineInstallationQualityCertificateById(certificateId);
|
|
if (certificate != null)
|
|
{
|
|
certificateCode = certificate.CertificateCode;
|
|
deliveryUnit = certificate.DeliveryUnit;
|
|
deliveryUnitCode = certificate.DeliveryUnitCode;
|
|
}
|
|
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
|
|
keyValuePairs.Add("CertificateCode", certificateCode);
|
|
keyValuePairs.Add("DeliveryUnit", deliveryUnit);
|
|
keyValuePairs.Add("DeliveryUnitCode", deliveryUnitCode);
|
|
BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs);
|
|
|
|
initTemplatePath = "File\\Fastreport\\JGZL\\压力管道安装汇总表.frx";
|
|
if (File.Exists(rootPath + initTemplatePath))
|
|
{
|
|
PageContext.RegisterStartupScript(WindowPrint.GetShowReference(String.Format("../common/ReportPrint/Fastreport.aspx?ReportPath={0}", rootPath + initTemplatePath)));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Alert.ShowInTop("没有要打印的数据!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Alert.ShowInTop("请选择项目!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 维护
|
|
/// <summary>
|
|
/// 增加
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnAdd_Click(object sender, EventArgs e)
|
|
{
|
|
if (!string.IsNullOrEmpty(this.tvControlItem.SelectedNodeID))
|
|
{
|
|
JArray teamGroupData = Grid1.GetMergedData();
|
|
List<JObject> list = new List<JObject>();
|
|
foreach (JObject teamGroupRow in teamGroupData)
|
|
{
|
|
JObject values = teamGroupRow.Value<JObject>("values");
|
|
list.Add(values);
|
|
}
|
|
|
|
JObject defaultObj = new JObject
|
|
{
|
|
{ "SummaryId", Guid.NewGuid() },
|
|
{ "CertificateId", this.drpCertificateCode.SelectedValue },
|
|
{ "ProjectId", this.tvControlItem.SelectedNodeID },
|
|
{ "PipelineCode", "" },
|
|
{ "PipelineLevel", "" },
|
|
{ "PipelineStartPoint", "" },
|
|
{ "PipelineEndPoint", "" },
|
|
{ "DesignPressure", "" },
|
|
{ "DesignTemperature", "" },
|
|
{ "Medium", "" },
|
|
{ "Material", "" },
|
|
{ "Specifications", "" },
|
|
{ "Length", "" },
|
|
{ "LayingMethod", "" },
|
|
{ "WeldsNum", "" },
|
|
{ "LosslessRatio", "" },
|
|
{ "VoltageResistantTestMedium", "" },
|
|
{ "VoltageResistantTestPressure", "" },
|
|
{ "LeakageTestMedium", "" },
|
|
{ "LeakageTestPressure", "" },
|
|
{ "CleaningMethod", "" },
|
|
{ "CorrosionControlMethod", "" },
|
|
{ "InsulationMethod", "" },
|
|
{ "OperatingTemperature", "" },
|
|
{ "VoltageResistantTestDate", "" },
|
|
{ "LeakageTestDate", "" },
|
|
{ "Remark", "" },
|
|
{
|
|
"Delete3",
|
|
String.Format("<a href=\"javascript:;\" onclick=\"{0}\"><img src=\"{1}\"/></a>",
|
|
GetDeleteScriptGrid1(), IconHelper.GetResolvedIconUrl(Icon.Delete))
|
|
}
|
|
};
|
|
list.Add(defaultObj);
|
|
Grid1.DataSource = list;
|
|
Grid1.DataBind();
|
|
//PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("IndustrialPipelineInstallationSummaryEdit.aspx?projectId={0}", this.tvControlItem.SelectedNodeID, "新增 - ")));
|
|
}
|
|
else
|
|
{
|
|
Alert.ShowInTop("请选择项目!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
}
|
|
|
|
protected void Grid1_PreDataBound(object sender, EventArgs e)
|
|
{
|
|
// 设置LinkButtonField的点击客户端事件
|
|
LinkButtonField deleteField = Grid1.FindColumn("Delete3") as LinkButtonField;
|
|
deleteField.OnClientClick = GetDeleteScriptGrid1();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除提示
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
private string GetDeleteScriptGrid1()
|
|
{
|
|
return Confirm.GetShowReference("删除选中行?", String.Empty, MessageBoxIcon.Question,
|
|
Grid1.GetDeleteSelectedRowsReference(), String.Empty);
|
|
}
|
|
#endregion
|
|
|
|
#region 选择质量证明书编号
|
|
/// <summary>
|
|
/// 选择质量证明书编号
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void drpCertificateCode_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
this.txtDeliveryUnit.Text = string.Empty;
|
|
this.txtDeliveryUnitCode.Text = string.Empty;
|
|
if (!string.IsNullOrWhiteSpace(this.drpCertificateCode.SelectedValue))
|
|
{
|
|
//this.CertificateId = this.drpCertificateCode.SelectedValue;
|
|
|
|
#region 质量证明书
|
|
var certificate = BLL.IndustrialPipelineInstallationQualityCertificateService.GetIndustrialPipelineInstallationQualityCertificateById(this.drpCertificateCode.SelectedValue);
|
|
if (certificate != null)
|
|
{
|
|
this.txtDeliveryUnit.Text = certificate.DeliveryUnit;
|
|
this.txtDeliveryUnitCode.Text = certificate.DeliveryUnitCode;
|
|
}
|
|
#endregion
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 保存
|
|
/// <summary>
|
|
/// 保存按钮
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnSave_Click(object sender, EventArgs e)
|
|
{
|
|
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId,
|
|
Const.JGZL_IndustrialPipelineInstallationSummaryMenuId, Const.BtnSave))
|
|
{
|
|
saveItem();
|
|
ShowNotify("保存成功!", MessageBoxIcon.Success);
|
|
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
|
}
|
|
else
|
|
{
|
|
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
}
|
|
|
|
void saveItem()
|
|
{
|
|
BLL.IndustrialPipelineInstallationSummaryService.DeleteIndustrialPipelineInstallationSummaryByProjectId(this.tvControlItem.SelectedNodeID);
|
|
List<Model.JGZL_IndustrialPipelineInstallationSummary> detailLists = new List<Model.JGZL_IndustrialPipelineInstallationSummary>();
|
|
JArray teamGroupData = Grid1.GetMergedData();
|
|
foreach (JObject teamGroupRow in teamGroupData)
|
|
{
|
|
JObject values = teamGroupRow.Value<JObject>("values");
|
|
int rowIndex = teamGroupRow.Value<int>("index");
|
|
Model.JGZL_IndustrialPipelineInstallationSummary newDetail = new Model.JGZL_IndustrialPipelineInstallationSummary
|
|
{
|
|
SummaryId = values.Value<string>("SummaryId"),
|
|
ProjectId = this.tvControlItem.SelectedNodeID,
|
|
CertificateId = this.drpCertificateCode.SelectedValue,
|
|
PipelineCode = values.Value<string>("PipelineCode"),
|
|
PipelineLevel = values.Value<string>("PipelineLevel"),
|
|
PipelineStartPoint = values.Value<string>("PipelineStartPoint"),
|
|
PipelineEndPoint = values.Value<string>("PipelineEndPoint"),
|
|
DesignPressure = values.Value<string>("DesignPressure"),
|
|
DesignTemperature = values.Value<string>("DesignTemperature"),
|
|
Medium = values.Value<string>("Medium"),
|
|
Material = values.Value<string>("Material"),
|
|
Specifications = values.Value<string>("Specifications"),
|
|
Length = values.Value<string>("Length"),
|
|
LayingMethod = values.Value<string>("LayingMethod"),
|
|
WeldsNum = values.Value<string>("WeldsNum"),
|
|
LosslessRatio = values.Value<string>("LosslessRatio"),
|
|
VoltageResistantTestMethod = values.Value<string>("VoltageResistantTestMethod"),
|
|
VoltageResistantTestMedium = values.Value<string>("VoltageResistantTestMedium"),
|
|
VoltageResistantTestPressure = values.Value<string>("VoltageResistantTestPressure"),
|
|
LeakageTestMedium = values.Value<string>("LeakageTestMedium"),
|
|
LeakageTestPressure = values.Value<string>("LeakageTestPressure"),
|
|
CleaningMethod = values.Value<string>("CleaningMethod"),
|
|
CorrosionControlMethod = values.Value<string>("CorrosionControlMethod"),
|
|
InsulationMethod = values.Value<string>("InsulationMethod"),
|
|
};
|
|
detailLists.Add(newDetail);
|
|
}
|
|
try
|
|
{
|
|
if (detailLists.Count > 0)
|
|
{
|
|
Funs.DB.JGZL_IndustrialPipelineInstallationSummary.InsertAllOnSubmit(detailLists);
|
|
}
|
|
Funs.DB.SubmitChanges();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 导出按钮
|
|
/// 导出按钮
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnOut_Click(object sender, EventArgs e)
|
|
{
|
|
string rootPath = Server.MapPath("~/");
|
|
string initTemplatePath = string.Empty;
|
|
string uploadfilepath = string.Empty;
|
|
string newUrl = string.Empty;
|
|
string filePath = string.Empty;
|
|
|
|
//每页显示的固定数据行数
|
|
int rowsPerPage = 4;
|
|
|
|
string projectId = this.tvControlItem.SelectedNodeID;
|
|
if (!string.IsNullOrEmpty(projectId))
|
|
{
|
|
string strSql = @"SELECT * from JGZL_IndustrialPipelineInstallationSummary where ProjectId = @ProjectId ";
|
|
List<SqlParameter> listStr = new List<SqlParameter>();
|
|
listStr.Add(new SqlParameter("@ProjectId", projectId));
|
|
if (!string.IsNullOrEmpty(this.txtIsoNoS.Text))
|
|
{
|
|
strSql += " And PipelineCode like @pipeLineCode";
|
|
listStr.Add(new SqlParameter("@pipeLineCode", "%" + this.txtIsoNoS.Text + "%"));
|
|
}
|
|
SqlParameter[] parameter = listStr.ToArray();
|
|
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
|
if (tb.Rows.Count > 0)
|
|
{
|
|
initTemplatePath = Const.JGZL_IndustrialPipelineInstallationSummaryUrl;
|
|
uploadfilepath = rootPath + initTemplatePath;
|
|
|
|
newUrl = uploadfilepath.Replace("工业管道安装汇总表导出模板", "工业管道安装汇总表");
|
|
if (File.Exists(newUrl))
|
|
{
|
|
File.Delete(newUrl);
|
|
}
|
|
File.Copy(uploadfilepath, newUrl);
|
|
//更新书签内容
|
|
Document doc = new Aspose.Words.Document(newUrl);
|
|
DocumentBuilder builder = new DocumentBuilder(doc);
|
|
|
|
Aspose.Words.Tables.Table table = (Aspose.Words.Tables.Table)doc.GetChild(NodeType.Table, 0, true);
|
|
|
|
string certificateCode = string.Empty;
|
|
string deliveryUnit = string.Empty;
|
|
string deliveryUnitCode = string.Empty;
|
|
string certificateId = tb.Rows[0]["CertificateId"].ToString();
|
|
var certificate = BLL.IndustrialPipelineInstallationQualityCertificateService.GetIndustrialPipelineInstallationQualityCertificateById(certificateId);
|
|
if (certificate != null)
|
|
{
|
|
certificateCode = certificate.CertificateCode;
|
|
deliveryUnit = certificate.DeliveryUnit;
|
|
deliveryUnitCode = certificate.DeliveryUnitCode;
|
|
}
|
|
|
|
Bookmark bookmark1 = doc.Range.Bookmarks["certificateCode"];
|
|
if (bookmark1 != null)
|
|
{
|
|
bookmark1.Text = certificateCode;
|
|
}
|
|
Bookmark bookmark2 = doc.Range.Bookmarks["deliveryUnit"];
|
|
if (bookmark2 != null)
|
|
{
|
|
bookmark2.Text = deliveryUnit;
|
|
}
|
|
Bookmark bookmark3 = doc.Range.Bookmarks["deliveryUnitCode"];
|
|
if (bookmark3 != null)
|
|
{
|
|
bookmark3.Text = deliveryUnitCode;
|
|
}
|
|
|
|
// 设置表头行重复显示
|
|
table.Rows[0].RowFormat.HeadingFormat = true;
|
|
table.Rows[1].RowFormat.HeadingFormat = true;
|
|
table.Rows[2].RowFormat.HeadingFormat = true;
|
|
|
|
// 先记录页尾行,并从表格中移除
|
|
//Row footerRow = table.Rows[table.Rows.Count - 1];
|
|
//table.Rows.RemoveAt(table.Rows.Count - 1);
|
|
|
|
for (int i = 0; i < tb.Rows.Count; i++)
|
|
{
|
|
//创建行
|
|
Aspose.Words.Tables.Row row = new Aspose.Words.Tables.Row(doc);
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["PipelineCode"].ToString(), doc, 32.3, "", ""));
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["PipelineLevel"].ToString(), doc, 33.7, "", ""));
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["PipelineStartPoint"].ToString(), doc, 31.75, "", ""));
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["PipelineEndPoint"].ToString(), doc, 32, "", ""));
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["DesignPressure"].ToString(), doc, 40, "", ""));
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["DesignTemperature"].ToString(), doc, 36, "", ""));
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["Medium"].ToString(), doc, 30.6, "", ""));
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["Material"].ToString(), doc, 31.47, "", ""));
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["Specifications"].ToString(), doc, 32.3, "", ""));
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["Length"].ToString(), doc, 30, "", ""));
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["LayingMethod"].ToString(), doc, 31.49, "", ""));
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["WeldsNum"].ToString(), doc, 30, "", ""));
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["LosslessRatio"].ToString(), doc, 39, "", ""));
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["VoltageResistantTestMethod"].ToString(), doc, 32.3, "", ""));
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["VoltageResistantTestMedium"].ToString(), doc, 28.6, "", ""));
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["VoltageResistantTestPressure"].ToString(), doc, 38, "", ""));
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["LeakageTestMedium"].ToString(), doc, 37.4, "", ""));
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["LeakageTestPressure"].ToString(), doc, 41.67, "", ""));
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["CleaningMethod"].ToString(), doc, 34.3, "", ""));
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["CorrosionControlMethod"].ToString(), doc, 31.2, "", ""));
|
|
row.Cells.Add(CreateCell(tb.Rows[i]["InsulationMethod"].ToString(), doc, 43.9, "", ""));
|
|
|
|
table.Rows.Insert(i + 3, row);
|
|
}
|
|
// 计算并插入空白行,填满整页
|
|
// 计算总数据行数
|
|
int totalDataRows = tb.Rows.Count;
|
|
// 计算需要补充的空白行数量
|
|
int remainder = totalDataRows % rowsPerPage;
|
|
int needBlankRows = remainder == 0 ? 0 : rowsPerPage - remainder;
|
|
|
|
// 插入空白行(和数据行格式保持一致,仅内容为空)
|
|
for (int i = 0; i < needBlankRows - 1; i++)
|
|
{
|
|
Aspose.Words.Tables.Row blankRow = new Aspose.Words.Tables.Row(doc);
|
|
// 空白行的单元格宽度和数据行保持一致
|
|
blankRow.Cells.Add(CreateCell("", doc, 32.3, "", ""));
|
|
blankRow.Cells.Add(CreateCell("", doc, 33.7, "", ""));
|
|
blankRow.Cells.Add(CreateCell("", doc, 31.75, "", ""));
|
|
blankRow.Cells.Add(CreateCell("", doc, 32, "", ""));
|
|
blankRow.Cells.Add(CreateCell("", doc, 40, "", ""));
|
|
blankRow.Cells.Add(CreateCell("", doc, 36, "", ""));
|
|
blankRow.Cells.Add(CreateCell("", doc, 30.6, "", ""));
|
|
blankRow.Cells.Add(CreateCell("", doc, 31.47, "", ""));
|
|
blankRow.Cells.Add(CreateCell("", doc, 32.3, "", ""));
|
|
blankRow.Cells.Add(CreateCell("", doc, 30, "", ""));
|
|
blankRow.Cells.Add(CreateCell("", doc, 31.49, "", ""));
|
|
blankRow.Cells.Add(CreateCell("", doc, 30, "", ""));
|
|
blankRow.Cells.Add(CreateCell("", doc, 39, "", ""));
|
|
blankRow.Cells.Add(CreateCell("", doc, 32.3, "", ""));
|
|
blankRow.Cells.Add(CreateCell("", doc, 28.6, "", ""));
|
|
blankRow.Cells.Add(CreateCell("", doc, 38, "", ""));
|
|
blankRow.Cells.Add(CreateCell("", doc, 37.4, "", ""));
|
|
blankRow.Cells.Add(CreateCell("", doc, 41.67, "", ""));
|
|
blankRow.Cells.Add(CreateCell("", doc, 34.3, "", ""));
|
|
blankRow.Cells.Add(CreateCell("", doc, 31.2, "", ""));
|
|
blankRow.Cells.Add(CreateCell("", doc, 43.9, "", ""));
|
|
|
|
// 插入到表格最后一行
|
|
table.Rows.Add(blankRow);
|
|
}
|
|
//把页尾行重新加回表格最后
|
|
//table.Rows.Add(footerRow);
|
|
|
|
//自动设置表格样式
|
|
table.AutoFit(AutoFitBehavior.FixedColumnWidths);
|
|
table.Alignment = TableAlignment.Center;
|
|
|
|
doc.Save(newUrl);
|
|
|
|
string fileName = Path.GetFileName(newUrl);
|
|
FileInfo info = new FileInfo(newUrl);
|
|
long fileSize = info.Length;
|
|
Response.Clear();
|
|
Response.ContentType = "application/x-zip-compressed";
|
|
Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
|
|
Response.AddHeader("Content-Length", fileSize.ToString());
|
|
Response.TransmitFile(newUrl, 0, fileSize);
|
|
Response.Flush();
|
|
Response.Close();
|
|
File.Delete(newUrl);
|
|
}
|
|
else
|
|
{
|
|
Alert.ShowInTop("没有要导出的数据!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Alert.ShowInTop("请选择项目!", MessageBoxIcon.Warning);
|
|
return;
|
|
}
|
|
}
|
|
|
|
public static Cell CreateCell(String value, Document doc, double cellWidth, string cellMerge = "", string CenterPage = "", string cellUnitLeft = "")
|
|
{
|
|
Cell cell = new Cell(doc);
|
|
Paragraph p = new Paragraph(doc);
|
|
if (!string.IsNullOrEmpty(cellMerge))
|
|
{
|
|
if (cellMerge == "0")
|
|
{
|
|
cell.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.First;//竖直方向合并的第一个单元格
|
|
}
|
|
else
|
|
{
|
|
cell.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.Previous;//竖直方向合并的第一个单元格
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
cell.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None;
|
|
}
|
|
if (!string.IsNullOrEmpty(CenterPage))
|
|
{
|
|
//序号
|
|
value = " " + value;
|
|
}
|
|
if (!string.IsNullOrEmpty(cellUnitLeft))
|
|
{
|
|
p.ParagraphFormat.Alignment = ParagraphAlignment.Left;//表格中字体居左
|
|
}
|
|
else
|
|
{
|
|
p.ParagraphFormat.Alignment = ParagraphAlignment.Center;//表格中字体居中
|
|
}
|
|
|
|
|
|
p.AppendChild(new Run(doc, value));
|
|
|
|
cell.CellFormat.Width = cellWidth;
|
|
|
|
cell.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;
|
|
|
|
cell.CellFormat.Borders.LineWidth = 0.75;
|
|
|
|
cell.AppendChild(p);
|
|
return cell;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
} |