This commit is contained in:
		
							parent
							
								
									cb13fe481d
								
							
						
					
					
						commit
						e680580417
					
				
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -51,10 +51,6 @@
 | 
			
		|||
              "$type": "Bookmark",
 | 
			
		||||
              "Name": "ST:3:0:{f2bd8fb8-fc94-3dae-a733-fd993c73cc87}"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "$type": "Bookmark",
 | 
			
		||||
              "Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
              "$type": "Bookmark",
 | 
			
		||||
              "Name": "ST:129:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -222,6 +222,10 @@ namespace BLL
 | 
			
		|||
        /// 试压包导入模版文件原始的虚拟路径
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public const string HJGL_TestTemplateUrl = "File\\Excel\\试压包导入模版.xlsx";
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// PMI委托导入模版
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public const string HJGL_PMITemplateUrl = "File\\Excel\\PMI委托导入模版.xlsx";
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// PDMS导入模版文件原始的虚拟路径
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2391,6 +2391,15 @@ namespace Resources {
 | 
			
		|||
            }
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        ///   查找类似 导入 的本地化字符串。
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        internal static string Import {
 | 
			
		||||
            get {
 | 
			
		||||
                return ResourceManager.GetString("Import", resourceCulture);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        ///   查找类似 寸径 的本地化字符串。
 | 
			
		||||
        /// </summary>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2769,4 +2769,8 @@
 | 
			
		|||
    <value>Home Page</value>
 | 
			
		||||
    <comment>首页</comment>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="Import" xml:space="preserve">
 | 
			
		||||
    <value>Import</value>
 | 
			
		||||
    <comment>导入</comment>
 | 
			
		||||
  </data>
 | 
			
		||||
</root>
 | 
			
		||||
| 
						 | 
				
			
			@ -2139,4 +2139,7 @@
 | 
			
		|||
  <data name="RepairExpansionTrackingList" xml:space="preserve">
 | 
			
		||||
    <value>返修扩探追踪清单</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="Import" xml:space="preserve">
 | 
			
		||||
    <value>导入</value>
 | 
			
		||||
  </data>
 | 
			
		||||
</root>
 | 
			
		||||
| 
						 | 
				
			
			@ -2106,4 +2106,7 @@
 | 
			
		|||
  <data name="HomePage" xml:space="preserve">
 | 
			
		||||
    <value>首页</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="Import" xml:space="preserve">
 | 
			
		||||
    <value>导入</value>
 | 
			
		||||
  </data>
 | 
			
		||||
</root>
 | 
			
		||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -1279,6 +1279,7 @@
 | 
			
		|||
    <Content Include="WeldingProcess\CheckManage\SeeFilm.aspx" />
 | 
			
		||||
    <Content Include="WeldingProcess\DataIn\DataIn.aspx" />
 | 
			
		||||
    <Content Include="WeldingProcess\DataIn\DataInEdit.aspx" />
 | 
			
		||||
    <Content Include="WeldingProcess\PMI\ImportError.aspx" />
 | 
			
		||||
    <Content Include="WeldingProcess\PMI\PMIDelegation.aspx" />
 | 
			
		||||
    <Content Include="WeldingProcess\PMI\PMIDelegationEdit.aspx" />
 | 
			
		||||
    <Content Include="WeldingProcess\PMI\PMIDelegationReport.aspx" />
 | 
			
		||||
| 
						 | 
				
			
			@ -5483,6 +5484,13 @@
 | 
			
		|||
    <Compile Include="WeldingProcess\DataIn\DataInEdit.aspx.designer.cs">
 | 
			
		||||
      <DependentUpon>DataInEdit.aspx</DependentUpon>
 | 
			
		||||
    </Compile>
 | 
			
		||||
    <Compile Include="WeldingProcess\PMI\ImportError.aspx.cs">
 | 
			
		||||
      <DependentUpon>ImportError.aspx</DependentUpon>
 | 
			
		||||
      <SubType>ASPXCodeBehind</SubType>
 | 
			
		||||
    </Compile>
 | 
			
		||||
    <Compile Include="WeldingProcess\PMI\ImportError.aspx.designer.cs">
 | 
			
		||||
      <DependentUpon>ImportError.aspx</DependentUpon>
 | 
			
		||||
    </Compile>
 | 
			
		||||
    <Compile Include="WeldingProcess\PMI\PMIDelegation.aspx.cs">
 | 
			
		||||
      <DependentUpon>PMIDelegation.aspx</DependentUpon>
 | 
			
		||||
      <SubType>ASPXCodeBehind</SubType>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -297,6 +297,10 @@
 | 
			
		|||
        {
 | 
			
		||||
            var wpsList = from x in Funs.DB.WPQ_WPQList where x.ProjectId == ((Model.Sys_User)Session["CurrUser"]).LoginProjectId select x;
 | 
			
		||||
            var welderList = from x in Funs.DB.Welder_ProjectWelder where x.ProjectId == ((Model.Sys_User)Session["CurrUser"]).LoginProjectId select x;
 | 
			
		||||
            if (wpsList==null)
 | 
			
		||||
            {
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            foreach (var wps in 
 | 
			
		||||
                wpsList)
 | 
			
		||||
            {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,7 +33,7 @@ namespace FineUIPro.Web.WeldingProcess.CheckManage
 | 
			
		|||
            if (!string.IsNullOrEmpty(repairRecordId))
 | 
			
		||||
            {
 | 
			
		||||
                this.txtPipeCode.Text = jot.PipelineCode;
 | 
			
		||||
                txtWeldJointCode.Text = jot.WeldJointCode;
 | 
			
		||||
                txtWeldJointCode.Text = jot.WeldJointCode+repairRecord.RepairMark;
 | 
			
		||||
                txtWelder.Text = jot.BackingWelderCode;
 | 
			
		||||
                txtRepairLocation.Text = repairRecord.RepairLocation;
 | 
			
		||||
                txtJudgeGrade.Text = ndeItem.JudgeGrade;
 | 
			
		||||
| 
						 | 
				
			
			@ -657,11 +657,11 @@ namespace FineUIPro.Web.WeldingProcess.CheckManage
 | 
			
		|||
                //}
 | 
			
		||||
                db.Repair_RepairRecord.DeleteOnSubmit(repair);
 | 
			
		||||
                db.SubmitChanges();
 | 
			
		||||
                if (joint.WeldJointCode.Contains("P") || joint.WeldJointCode.Contains("S") || joint.WeldJointCode.Contains("R"))
 | 
			
		||||
                {
 | 
			
		||||
                    Pipeline_WeldJointService.DeleteWeldJointById(joint.WeldJointId);
 | 
			
		||||
                //if (joint.WeldJointCode.Contains("P") || joint.WeldJointCode.Contains("S") || joint.WeldJointCode.Contains("R"))
 | 
			
		||||
                //{
 | 
			
		||||
                //    Pipeline_WeldJointService.DeleteWeldJointById(joint.WeldJointId);
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
                //}
 | 
			
		||||
                this.InitTreeMenu();//加载树
 | 
			
		||||
                Alert.ShowInTop("删除成功!", MessageBoxIcon.Success);
 | 
			
		||||
            }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -212,61 +212,61 @@ namespace FineUIPro.Web.WeldingProcess.CheckManage
 | 
			
		|||
                   
 | 
			
		||||
 | 
			
		||||
                    // 回写焊口号
 | 
			
		||||
                    var weldJoint = BLL.Pipeline_WeldJointService.GetWeldJointByWeldJointId(q.WeldJointId);
 | 
			
		||||
                    //joint.WeldJointCode = newJointCode;
 | 
			
		||||
                    //joint.OldWeldJointCode = q.WeldJointCode;
 | 
			
		||||
                    //Funs.DB.SubmitChanges();
 | 
			
		||||
                    Model.Pipeline_WeldJoint newWeldJoint = new Model.Pipeline_WeldJoint
 | 
			
		||||
                    {
 | 
			
		||||
                        WeldJointId = SQLHelper.GetNewID(typeof(Model.Pipeline_WeldJoint)),
 | 
			
		||||
                        ProjectId = weldJoint.ProjectId,
 | 
			
		||||
                        PipelineId = weldJoint.PipelineId,
 | 
			
		||||
                        WeldJointCode = newJointCode,
 | 
			
		||||
                        WeldTypeId = weldJoint.WeldTypeId,
 | 
			
		||||
                        Material1Id = weldJoint.Material1Id,
 | 
			
		||||
                        Material2Id = weldJoint.Material2Id,
 | 
			
		||||
                        Thickness = weldJoint.Thickness,
 | 
			
		||||
                        Dia = weldJoint.Dia,
 | 
			
		||||
                        Size = weldJoint.Size,
 | 
			
		||||
                        JointAttribute = weldJoint.JointAttribute,
 | 
			
		||||
                        JointArea = weldJoint.JointArea,
 | 
			
		||||
                        WeldingMethodId = weldJoint.WeldingMethodId,
 | 
			
		||||
                        IsHotProess = weldJoint.IsHotProess,
 | 
			
		||||
                        WeldingLocationId = weldJoint.WeldingLocationId,
 | 
			
		||||
                        WeldMatId = weldJoint.WeldMatId,
 | 
			
		||||
                        WeldSilkId = weldJoint.WeldSilkId,
 | 
			
		||||
                        GrooveTypeId = weldJoint.GrooveTypeId,
 | 
			
		||||
                        PipeSegment = weldJoint.PipeSegment,
 | 
			
		||||
                        PipeAssembly1Id = weldJoint.PipeAssembly1Id,
 | 
			
		||||
                        PipeAssembly2Id = weldJoint.PipeAssembly2Id,
 | 
			
		||||
                        PipeAssemblyCount = weldJoint.PipeAssemblyCount,
 | 
			
		||||
                        HeartNo1 = weldJoint.HeartNo1,
 | 
			
		||||
                        HeartNo2 = weldJoint.HeartNo2,
 | 
			
		||||
                        LastTemp = weldJoint.LastTemp,
 | 
			
		||||
                        CellTemp = weldJoint.CellTemp,
 | 
			
		||||
                        PrepareTemp = weldJoint.PrepareTemp,
 | 
			
		||||
                        Electricity = weldJoint.Electricity,
 | 
			
		||||
                        Voltage = weldJoint.Voltage,
 | 
			
		||||
                        TestPackageNo = weldJoint.TestPackageNo,
 | 
			
		||||
                        WeldingDailyCode = weldJoint.WeldingDailyCode,
 | 
			
		||||
                        BackingWelderId = weldJoint.BackingWelderId,
 | 
			
		||||
                        CoverWelderId = weldJoint.CoverWelderId,
 | 
			
		||||
                        WeldingDailyId = weldJoint.WeldingDailyId,
 | 
			
		||||
                        PipingClassId = weldJoint.PipingClassId,
 | 
			
		||||
                        Specification = weldJoint.Specification,
 | 
			
		||||
                        DoneDin = weldJoint.DoneDin,
 | 
			
		||||
                        SystemNumber = weldJoint.SystemNumber,
 | 
			
		||||
                        Remark = weldJoint.Remark,
 | 
			
		||||
                        IsGoldJoint = weldJoint.IsGoldJoint,
 | 
			
		||||
                        IsPMI = weldJoint.IsPMI,
 | 
			
		||||
                        WPQId = weldJoint.WPQId,
 | 
			
		||||
                        DetectionType = weldJoint.DetectionType,
 | 
			
		||||
                        PageNum = weldJoint.PageNum,
 | 
			
		||||
                        ANSISCH = weldJoint.ANSISCH,
 | 
			
		||||
                        OldWeldJointCode = weldJoint.OldWeldJointCode,
 | 
			
		||||
                    /*var joint = BLL.Pipeline_WeldJointService.GetWeldJointByWeldJointId(q.WeldJointId);
 | 
			
		||||
                    joint.WeldJointCode = newJointCode;
 | 
			
		||||
                    joint.OldWeldJointCode = q.WeldJointCode;
 | 
			
		||||
                    Funs.DB.SubmitChanges();*/
 | 
			
		||||
                    // Model.Pipeline_WeldJoint newWeldJoint = new Model.Pipeline_WeldJoint
 | 
			
		||||
                    // {
 | 
			
		||||
                    //     WeldJointId = SQLHelper.GetNewID(typeof(Model.Pipeline_WeldJoint)),
 | 
			
		||||
                    //     ProjectId = weldJoint.ProjectId,
 | 
			
		||||
                    //     PipelineId = weldJoint.PipelineId,
 | 
			
		||||
                    //     WeldJointCode = newJointCode,
 | 
			
		||||
                    //     WeldTypeId = weldJoint.WeldTypeId,
 | 
			
		||||
                    //     Material1Id = weldJoint.Material1Id,
 | 
			
		||||
                    //     Material2Id = weldJoint.Material2Id,
 | 
			
		||||
                    //     Thickness = weldJoint.Thickness,
 | 
			
		||||
                    //     Dia = weldJoint.Dia,
 | 
			
		||||
                    //     Size = weldJoint.Size,
 | 
			
		||||
                    //     JointAttribute = weldJoint.JointAttribute,
 | 
			
		||||
                    //     JointArea = weldJoint.JointArea,
 | 
			
		||||
                    //     WeldingMethodId = weldJoint.WeldingMethodId,
 | 
			
		||||
                    //     IsHotProess = weldJoint.IsHotProess,
 | 
			
		||||
                    //     WeldingLocationId = weldJoint.WeldingLocationId,
 | 
			
		||||
                    //     WeldMatId = weldJoint.WeldMatId,
 | 
			
		||||
                    //     WeldSilkId = weldJoint.WeldSilkId,
 | 
			
		||||
                    //     GrooveTypeId = weldJoint.GrooveTypeId,
 | 
			
		||||
                    //     PipeSegment = weldJoint.PipeSegment,
 | 
			
		||||
                    //     PipeAssembly1Id = weldJoint.PipeAssembly1Id,
 | 
			
		||||
                    //     PipeAssembly2Id = weldJoint.PipeAssembly2Id,
 | 
			
		||||
                    //     PipeAssemblyCount = weldJoint.PipeAssemblyCount,
 | 
			
		||||
                    //     HeartNo1 = weldJoint.HeartNo1,
 | 
			
		||||
                    //     HeartNo2 = weldJoint.HeartNo2,
 | 
			
		||||
                    //     LastTemp = weldJoint.LastTemp,
 | 
			
		||||
                    //     CellTemp = weldJoint.CellTemp,
 | 
			
		||||
                    //     PrepareTemp = weldJoint.PrepareTemp,
 | 
			
		||||
                    //     Electricity = weldJoint.Electricity,
 | 
			
		||||
                    //     Voltage = weldJoint.Voltage,
 | 
			
		||||
                    //     TestPackageNo = weldJoint.TestPackageNo,
 | 
			
		||||
                    //     WeldingDailyCode = weldJoint.WeldingDailyCode,
 | 
			
		||||
                    //     BackingWelderId = weldJoint.BackingWelderId,
 | 
			
		||||
                    //     CoverWelderId = weldJoint.CoverWelderId,
 | 
			
		||||
                    //     WeldingDailyId = weldJoint.WeldingDailyId,
 | 
			
		||||
                    //     PipingClassId = weldJoint.PipingClassId,
 | 
			
		||||
                    //     Specification = weldJoint.Specification,
 | 
			
		||||
                    //     DoneDin = weldJoint.DoneDin,
 | 
			
		||||
                    //     SystemNumber = weldJoint.SystemNumber,
 | 
			
		||||
                    //     Remark = weldJoint.Remark,
 | 
			
		||||
                    //     IsGoldJoint = weldJoint.IsGoldJoint,
 | 
			
		||||
                    //     IsPMI = weldJoint.IsPMI,
 | 
			
		||||
                    //     WPQId = weldJoint.WPQId,
 | 
			
		||||
                    //     DetectionType = weldJoint.DetectionType,
 | 
			
		||||
                    //     PageNum = weldJoint.PageNum,
 | 
			
		||||
                    //     ANSISCH = weldJoint.ANSISCH,
 | 
			
		||||
                    //     OldWeldJointCode = weldJoint.OldWeldJointCode,
 | 
			
		||||
 | 
			
		||||
                    }; 
 | 
			
		||||
                   string WeldJointId=  BLL.Pipeline_WeldJointService.AddWeldJointRef(newWeldJoint);
 | 
			
		||||
                    // }; 
 | 
			
		||||
                    //string WeldJointId=  BLL.Pipeline_WeldJointService.AddWeldJointRef(newWeldJoint);
 | 
			
		||||
 | 
			
		||||
                    newItem.ProjectId = q.ProjectId;
 | 
			
		||||
                    newItem.UnitId = q.UnitId;
 | 
			
		||||
| 
						 | 
				
			
			@ -274,7 +274,7 @@ namespace FineUIPro.Web.WeldingProcess.CheckManage
 | 
			
		|||
                    newItem.WorkAreaId = q.WorkAreaId;
 | 
			
		||||
                    newItem.NoticeDate = DateTime.Now;
 | 
			
		||||
                    newItem.NDEItemID = ndeItemId;
 | 
			
		||||
                    newItem.WeldJointId = WeldJointId;
 | 
			
		||||
                    newItem.WeldJointId = q.WeldJointId;
 | 
			
		||||
                    newItem.DetectionTypeId = q.DetectionTypeId;
 | 
			
		||||
                    newItem.WelderId = q.BackingWelderId;
 | 
			
		||||
                    newItem.RepairLocation = q.RepairLocation;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,36 @@
 | 
			
		|||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ImportError.aspx.cs" Inherits="FineUIPro.Web.WeldingProcess.PMI.ImportError" %>
 | 
			
		||||
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
 | 
			
		||||
<html xmlns="http://www.w3.org/1999/xhtml">
 | 
			
		||||
<head runat="server">
 | 
			
		||||
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 | 
			
		||||
    <title>PMI导入错误日志</title>
 | 
			
		||||
</head>
 | 
			
		||||
<body>
 | 
			
		||||
    <form id="form1" runat="server">
 | 
			
		||||
        <f:PageManager ID="PageManager1" AutoSizePanelID="Grid1" runat="server" />
 | 
			
		||||
        <f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="试压包导入错误日志" runat="server" EnableCollapse="false"
 | 
			
		||||
            DataKeyNames="ID" EnableCheckBoxSelect="true" EnableMultiSelect="true" PageSize="100" AllowPaging="true">
 | 
			
		||||
            <Columns>
 | 
			
		||||
                <f:RowNumberField />
 | 
			
		||||
                <f:RenderField ColumnID="batchNo" Width="160px" DataField="BatchNo" HeaderText="批次号" />
 | 
			
		||||
                <f:RenderField ColumnID="TestPackageNo" MinWidth="80" DataField="TestPackageNo" HeaderText="委托编号" />
 | 
			
		||||
                <f:RenderField ColumnID="UnitCode" MinWidth="80" DataField="UnitCode" HeaderText="单位代码" />
 | 
			
		||||
                <f:RenderField ColumnID="InstallCode" MinWidth="80" DataField="InstallCode" HeaderText="装置编号" />
 | 
			
		||||
                <f:RenderField ColumnID="AreaCode" MinWidth="80" DataField="AreaCode" HeaderText="区域" />
 | 
			
		||||
                <f:RenderField ColumnID="PiplineCode" MinWidth="160" DataField="PiplineCode" HeaderText="管线号" /> 
 | 
			
		||||
                <f:RenderField ColumnID="JointCode" MinWidth="200" DataField="JointCode" HeaderText="焊口编号" />
 | 
			
		||||
 | 
			
		||||
                <f:TemplateField MinWidth="200" HeaderText="错误原因">
 | 
			
		||||
                    <ItemTemplate>
 | 
			
		||||
                        <asp:Label ID="lablRemark" runat="server" Text='<%#Eval("Remark") %>' ForeColor="Red"></asp:Label>
 | 
			
		||||
                    </ItemTemplate>
 | 
			
		||||
                </f:TemplateField>
 | 
			
		||||
                <f:RenderField ColumnID="CreatedTime" MinWidth="150" DataField="CreatedTime" HeaderText="导入时间" />
 | 
			
		||||
            </Columns>
 | 
			
		||||
 | 
			
		||||
        </f:Grid>
 | 
			
		||||
    </form>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,29 @@
 | 
			
		|||
using BLL;
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Web;
 | 
			
		||||
using System.Web.UI;
 | 
			
		||||
using System.Web.UI.WebControls;
 | 
			
		||||
 | 
			
		||||
namespace FineUIPro.Web.WeldingProcess.PMI
 | 
			
		||||
{
 | 
			
		||||
    public partial class ImportError : PageBase
 | 
			
		||||
    {
 | 
			
		||||
        string batchNo = string.Empty;
 | 
			
		||||
        protected void Page_Load(object sender, EventArgs e)
 | 
			
		||||
        {
 | 
			
		||||
            this.batchNo = Request.Params["batchNo"];
 | 
			
		||||
            if (!IsPostBack)
 | 
			
		||||
            {
 | 
			
		||||
                BindGrid();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        void BindGrid()
 | 
			
		||||
        {
 | 
			
		||||
            var list = Funs.DB.PMI_ImportErrorLog.Where(t => t.BatchNo == batchNo).OrderBy(t => t.RowId).ToList();
 | 
			
		||||
            this.Grid1.DataSource = list;
 | 
			
		||||
            this.Grid1.DataBind();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,53 @@
 | 
			
		|||
//------------------------------------------------------------------------------
 | 
			
		||||
// <自动生成>
 | 
			
		||||
//     此代码由工具生成。
 | 
			
		||||
//
 | 
			
		||||
//     对此文件的更改可能导致不正确的行为,如果
 | 
			
		||||
//     重新生成代码,则所做更改将丢失。
 | 
			
		||||
// </自动生成>
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
namespace FineUIPro.Web.WeldingProcess.PMI
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    public partial class ImportError
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// form1 控件。
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <remarks>
 | 
			
		||||
        /// 自动生成的字段。
 | 
			
		||||
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
 | 
			
		||||
        /// </remarks>
 | 
			
		||||
        protected global::System.Web.UI.HtmlControls.HtmlForm form1;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// PageManager1 控件。
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <remarks>
 | 
			
		||||
        /// 自动生成的字段。
 | 
			
		||||
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
 | 
			
		||||
        /// </remarks>
 | 
			
		||||
        protected global::FineUIPro.PageManager PageManager1;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Grid1 控件。
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <remarks>
 | 
			
		||||
        /// 自动生成的字段。
 | 
			
		||||
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
 | 
			
		||||
        /// </remarks>
 | 
			
		||||
        protected global::FineUIPro.Grid Grid1;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// lablRemark 控件。
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <remarks>
 | 
			
		||||
        /// 自动生成的字段。
 | 
			
		||||
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
 | 
			
		||||
        /// </remarks>
 | 
			
		||||
        protected global::System.Web.UI.WebControls.Label lablRemark;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -38,8 +38,17 @@
 | 
			
		|||
                <Toolbars>
 | 
			
		||||
                    <f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Right">
 | 
			
		||||
                        <Items>
 | 
			
		||||
                            <f:HiddenField ID="hidFileName" runat="server"></f:HiddenField>
 | 
			
		||||
                            <f:HiddenField runat="server" ID="hdPMIDelegationId">
 | 
			
		||||
                            </f:HiddenField>
 | 
			
		||||
                            <f:FileUpload runat="server" ID="fileUpload" EmptyText="请选择要导入的Excel文件"
 | 
			
		||||
                                LabelWidth="50px" LabelAlign="Right" Width="300px">
 | 
			
		||||
                            </f:FileUpload>
 | 
			
		||||
                            <f:Button ID="btnImport" Icon="ApplicationEdit" runat="server" Text="<%$ Resources:Lan,Import %>" ToolTip="<%$ Resources:Lan,Import %>"
 | 
			
		||||
                                AjaxLoadingType="Mask" ShowAjaxLoadingMaskText="true" AjaxLoadingMaskText="正在校验并导入数据,请稍后!" OnClick="btnImport_Click">
 | 
			
		||||
                            </f:Button>
 | 
			
		||||
                            <f:Button ID="btnDownLoad" runat="server" Icon="ApplicationGo" Text="模板下载" ToolTip="模板下载" OnClick="btnDownLoad_Click">
 | 
			
		||||
                            </f:Button>
 | 
			
		||||
                            <f:ToolbarFill ID="ToolbarFill1" runat="server">
 | 
			
		||||
                            </f:ToolbarFill>
 | 
			
		||||
                            <f:Button ID="btnNew" Text="<%$ Resources:Lan,Add %>" ToolTip="<%$ Resources:Lan,Add %>"
 | 
			
		||||
| 
						 | 
				
			
			@ -180,7 +189,10 @@
 | 
			
		|||
        EnableMaximize="true" Target="Parent" EnableResize="true" runat="server" OnClose="Window2_Close"
 | 
			
		||||
        IsModal="true" Width="1090px" Height="660px">
 | 
			
		||||
    </f:Window>
 | 
			
		||||
    
 | 
			
		||||
         <f:Window ID="Window4"  Hidden="true" EnableIFrame="true" EnableMaximize="true"
 | 
			
		||||
    Target="Self" EnableResize="true" runat="server"  IsModal="true" Width="1024px"
 | 
			
		||||
    Height="620px">
 | 
			
		||||
</f:Window>   
 | 
			
		||||
    </form>
 | 
			
		||||
    <script type="text/javascript">
 | 
			
		||||
       
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,6 +11,7 @@ using NPOI.HSSF.Util;
 | 
			
		|||
using NPOI.SS.UserModel;
 | 
			
		||||
using NPOI.SS.Util;
 | 
			
		||||
using NPOI.XSSF.UserModel;
 | 
			
		||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
 | 
			
		||||
 | 
			
		||||
namespace FineUIPro.Web.WeldingProcess.PMI
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -31,6 +32,16 @@ namespace FineUIPro.Web.WeldingProcess.PMI
 | 
			
		|||
                ViewState["PMIDelegationId"] = value;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 上传预设的虚拟路径
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        private string initPath = Const.ExcelUrl;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 错误集合
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public static string errorInfos = string.Empty;
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        #region 加载页面
 | 
			
		||||
| 
						 | 
				
			
			@ -814,6 +825,399 @@ namespace FineUIPro.Web.WeldingProcess.PMI
 | 
			
		|||
            Response.End();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #region 模板下载
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 模板下载
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="sender"></param>
 | 
			
		||||
        /// <param name="e"></param>
 | 
			
		||||
        protected void btnDownLoad_Click(object sender, EventArgs e)
 | 
			
		||||
        {
 | 
			
		||||
            string rootPath = Server.MapPath("~/");
 | 
			
		||||
            string uploadfilepath = rootPath + Const.HJGL_PMITemplateUrl;
 | 
			
		||||
            string filePath = Const.HJGL_PMITemplateUrl;
 | 
			
		||||
            string fileName = Path.GetFileName(filePath);
 | 
			
		||||
            FileInfo info = new FileInfo(uploadfilepath);
 | 
			
		||||
            long fileSize = info.Length;
 | 
			
		||||
            Response.ClearContent();
 | 
			
		||||
            Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
 | 
			
		||||
            Response.ContentType = "excel/plain";
 | 
			
		||||
            Response.ContentEncoding = System.Text.Encoding.UTF8;
 | 
			
		||||
            Response.AddHeader("Content-Length", fileSize.ToString().Trim());
 | 
			
		||||
            Response.TransmitFile(uploadfilepath, 0, fileSize);
 | 
			
		||||
            Response.End();
 | 
			
		||||
            //PageContext.RegisterStartupScript(Confirm.GetShowReference("确定要下载焊工信息导入模板?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel")));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        #endregion
 | 
			
		||||
 | 
			
		||||
        protected void btnImport_Click(object sender, EventArgs e)
 | 
			
		||||
        {
 | 
			
		||||
            string message = string.Empty;
 | 
			
		||||
            errorInfos = string.Empty;
 | 
			
		||||
            try
 | 
			
		||||
            {
 | 
			
		||||
                if (this.fileUpload.HasFile == false)
 | 
			
		||||
                {
 | 
			
		||||
                    ShowNotify("请选择Excel文件!", MessageBoxIcon.Warning);
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
                string IsXls = Path.GetExtension(this.fileUpload.FileName).ToString().Trim().ToLower();
 | 
			
		||||
                if (IsXls != ".xls" && IsXls != ".xlsx")
 | 
			
		||||
                {
 | 
			
		||||
                    ShowNotify("只能选择Excel文件!", MessageBoxIcon.Warning);
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                string rootPath = Server.MapPath("~/");
 | 
			
		||||
                string initFullPath = rootPath + initPath;
 | 
			
		||||
                if (!Directory.Exists(initFullPath))
 | 
			
		||||
                {
 | 
			
		||||
                    Directory.CreateDirectory(initFullPath);
 | 
			
		||||
                }
 | 
			
		||||
                //指定上传文件名称
 | 
			
		||||
                this.hidFileName.Text = BLL.Funs.GetNewFileName() + IsXls;
 | 
			
		||||
                //上传文件路径
 | 
			
		||||
                string filePath = initFullPath + this.hidFileName.Text;
 | 
			
		||||
                //文件上传服务器
 | 
			
		||||
                this.fileUpload.PostedFile.SaveAs(filePath);
 | 
			
		||||
                //文件上传服务器后的名称
 | 
			
		||||
                string fileName = rootPath + initPath + this.hidFileName.Text;
 | 
			
		||||
                //读取Excel
 | 
			
		||||
                DataSet ds = NPOIHelper.ExcelToDataSet(fileName, out errorInfos, true);
 | 
			
		||||
                //验证Excel读取是否有误
 | 
			
		||||
                if (!string.IsNullOrEmpty(errorInfos))
 | 
			
		||||
                {
 | 
			
		||||
                    ShowNotify(errorInfos, MessageBoxIcon.Warning);
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if (ds.Tables.Count > 0)
 | 
			
		||||
                {
 | 
			
		||||
                    //定义错误集合实体类
 | 
			
		||||
                    var data = ValidateFieldsExcelData(ds.Tables[0]);
 | 
			
		||||
                    Funs.DB.PMI_ImportErrorLog.InsertAllOnSubmit(data.Item2);
 | 
			
		||||
                    Funs.DB.SubmitChanges();
 | 
			
		||||
                    //验证错误集合
 | 
			
		||||
                    if (data.Item1)
 | 
			
		||||
                    {
 | 
			
		||||
                        string batchNo = data.Item2.Select(t => t.BatchNo).Distinct().First();
 | 
			
		||||
                        PageContext.RegisterStartupScript(Window4.GetShowReference(String.Format("ImportError.aspx?batchNo={0}", batchNo), "PMI导入错误日志"));
 | 
			
		||||
                        return;
 | 
			
		||||
                    }
 | 
			
		||||
                    //导入数据
 | 
			
		||||
                    List<PMI_Delegation> listPMIData = new List<PMI_Delegation>();
 | 
			
		||||
                    List<Model.PMI_DelegationDetails> listDetailData = new List<PMI_DelegationDetails>();
 | 
			
		||||
                    foreach (var item in data.Item2)
 | 
			
		||||
                    {
 | 
			
		||||
                        if (!listPMIData.Any(t => t.DelegationNo == item.DelegationNo))
 | 
			
		||||
                        {
 | 
			
		||||
                            List<PMI_DelegationDetails> ptpItemListData = new List<PMI_DelegationDetails>();
 | 
			
		||||
 | 
			
		||||
                            Model.PMI_Delegation model = new PMI_Delegation();
 | 
			
		||||
                            model.Id = SQLHelper.GetNewID(typeof(PMI_Delegation));
 | 
			
		||||
                            model.DelegationNo = item.DelegationNo;
 | 
			
		||||
                            model.UnitId = item.UnitId;
 | 
			
		||||
                            model.ProjectId = item.ProjectId;
 | 
			
		||||
                            model.InstallationId = item.InstallId;
 | 
			
		||||
                            model.DetectionStandard = "GB 50184-2011";
 | 
			
		||||
                            model.DelegationDate = DateTime.Now;
 | 
			
		||||
                            model.Tabler = this.CurrUser.UserId;
 | 
			
		||||
                            listPMIData.Add(model);
 | 
			
		||||
                            var itemData = data.Item2.Where(t => t.DelegationNo == item.DelegationNo).ToList();
 | 
			
		||||
                            foreach (var item2 in itemData)
 | 
			
		||||
                            {
 | 
			
		||||
                                var model2 = new PMI_DelegationDetails();
 | 
			
		||||
                                model2.PMIId = model.Id;
 | 
			
		||||
                                model2.JointId = item2.WeldJointId;
 | 
			
		||||
                                model2.WorkAreaId = item2.WorkAreaId; 
 | 
			
		||||
                                model2.Id = SQLHelper.GetNewID(typeof(PMI_DelegationDetails)); 
 | 
			
		||||
                                listDetailData.Add(model2);
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                    Funs.DB.PMI_Delegation.InsertAllOnSubmit(listPMIData);
 | 
			
		||||
                    Funs.DB.PMI_DelegationDetails.InsertAllOnSubmit(listDetailData);
 | 
			
		||||
                    //绑定表格
 | 
			
		||||
                    Funs.DB.SubmitChanges();
 | 
			
		||||
 | 
			
		||||
                    this.BindGrid();
 | 
			
		||||
 | 
			
		||||
                    ShowNotify("导入成功!", MessageBoxIcon.Success);
 | 
			
		||||
                    PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(this.PMIDelegationId) + ActiveWindow.GetHidePostBackReference());
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    ShowAlert("没有数据!", MessageBoxIcon.Warning);
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
            catch (Exception ex)
 | 
			
		||||
            {
 | 
			
		||||
                ShowAlert("'" + ex.Message + "'", MessageBoxIcon.Warning);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 验证Excle中的数据列是否符合要求
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        private (bool, List<PMI_ImportErrorLog>) ValidateFieldsExcelData(DataTable dt)
 | 
			
		||||
        {
 | 
			
		||||
            var listData = new List<PMI_ImportErrorLog>();
 | 
			
		||||
            bool flag = false;
 | 
			
		||||
            int k = 0;
 | 
			
		||||
            string batchNo = DateTime.Now.ToString("yyyyMMddHHmmss");
 | 
			
		||||
            foreach (DataRow dr in dt.Rows)
 | 
			
		||||
            {
 | 
			
		||||
                var model = new PMI_ImportErrorLog();
 | 
			
		||||
                k++;
 | 
			
		||||
                string delegationNo = dr[0].ToString();        //委托单号
 | 
			
		||||
                string untiCode = dr[1].ToString();         //单位编号
 | 
			
		||||
                string installCode = dr[2].ToString();      //装置编号
 | 
			
		||||
                string areaCode = dr[3].ToString();         //区域编号
 | 
			
		||||
                string pipelineCode = dr[4].ToString();     //管线编号 
 | 
			
		||||
                string jointCode = dr[5].ToString();        //焊口列表逗号
 | 
			
		||||
                model.Id = SQLHelper.GetNewID(typeof(PMI_ImportErrorLog));
 | 
			
		||||
                model.DelegationNo = delegationNo;
 | 
			
		||||
                model.UnitCode = untiCode;
 | 
			
		||||
                model.InstallCode = installCode;
 | 
			
		||||
                model.AreaCode = areaCode;
 | 
			
		||||
                model.PiplineCode = pipelineCode;
 | 
			
		||||
                model.JointCode = jointCode;
 | 
			
		||||
                model.CreatedTime = DateTime.Now;
 | 
			
		||||
                model.RowId = k;
 | 
			
		||||
                model.UnitId = string.Empty;
 | 
			
		||||
                model.InstallId = string.Empty;
 | 
			
		||||
                model.WorkAreaId = string.Empty;
 | 
			
		||||
                model.ProjectId = this.CurrUser.LoginProjectId;
 | 
			
		||||
                model.PipelineId = string.Empty;
 | 
			
		||||
                model.BatchNo = batchNo;
 | 
			
		||||
 | 
			
		||||
                string errorMsg = string.Empty;
 | 
			
		||||
                //验证是否为空
 | 
			
		||||
                if (string.IsNullOrEmpty(delegationNo))
 | 
			
		||||
                {
 | 
			
		||||
                    errorMsg += "试压包编号未填写 |";
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
                if (string.IsNullOrEmpty(untiCode))
 | 
			
		||||
                {
 | 
			
		||||
                    errorMsg += "试单位编号未填写 | ";
 | 
			
		||||
                }
 | 
			
		||||
                if (string.IsNullOrEmpty(installCode))
 | 
			
		||||
                {
 | 
			
		||||
                    errorMsg += "装置编号未填写 | ";
 | 
			
		||||
                }
 | 
			
		||||
                if (string.IsNullOrEmpty(areaCode))
 | 
			
		||||
                {
 | 
			
		||||
                    errorMsg += "区域编号未填写 | ";
 | 
			
		||||
                }
 | 
			
		||||
                if (string.IsNullOrEmpty(pipelineCode))
 | 
			
		||||
                {
 | 
			
		||||
                    errorMsg += "管线号未填写 | ";
 | 
			
		||||
                }
 | 
			
		||||
                if (string.IsNullOrEmpty(jointCode))
 | 
			
		||||
                {
 | 
			
		||||
                    errorMsg += "是否全部焊口未填写 | ";
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                //检查单位编号是否存在
 | 
			
		||||
                var unitInfo = Funs.DB.Base_Unit.FirstOrDefault(t => t.UnitCode == model.UnitCode);
 | 
			
		||||
                if (unitInfo == null)
 | 
			
		||||
                {
 | 
			
		||||
                    errorMsg += "未知的单位编号 | ";
 | 
			
		||||
                }
 | 
			
		||||
                var installInfo = Funs.DB.Project_Installation.FirstOrDefault(t => t.InstallationCode == model.InstallCode);
 | 
			
		||||
                if (installInfo == null)
 | 
			
		||||
                {
 | 
			
		||||
                    errorMsg += "未知的装置编号 | ";
 | 
			
		||||
                }
 | 
			
		||||
                var areaInfo = Funs.DB.Project_WorkArea.FirstOrDefault(t => t.WorkAreaCode == model.AreaCode);
 | 
			
		||||
                if (areaInfo == null)
 | 
			
		||||
                {
 | 
			
		||||
                    errorMsg += "未知的区域编号 | ";
 | 
			
		||||
                }
 | 
			
		||||
                var isAnypipeline = Funs.DB.Pipeline_Pipeline.Any(t => t.PipelineCode == model.PiplineCode);
 | 
			
		||||
                if (!isAnypipeline)
 | 
			
		||||
                {
 | 
			
		||||
                    errorMsg += "未知的管线号 | ";
 | 
			
		||||
                } 
 | 
			
		||||
                var isDelegationNo = Funs.DB.PMI_Delegation.Any(t => t.DelegationNo == model.DelegationNo);
 | 
			
		||||
                if (isDelegationNo)
 | 
			
		||||
                {
 | 
			
		||||
                    errorMsg += "该委托编号已存在 | ";
 | 
			
		||||
                }
 | 
			
		||||
                if (unitInfo != null && installInfo != null && areaInfo != null)
 | 
			
		||||
                {
 | 
			
		||||
 | 
			
		||||
                    model.UnitId = unitInfo.UnitId;
 | 
			
		||||
                    model.WorkAreaId = areaInfo.WorkAreaId;
 | 
			
		||||
                    model.InstallId = installInfo.InstallationId;
 | 
			
		||||
                    var newPipelineInfo = Funs.DB.Pipeline_Pipeline.FirstOrDefault(t => t.UnitId == unitInfo.UnitId &&
 | 
			
		||||
                    t.InstallationId == installInfo.InstallationId && t.WorkAreaId == areaInfo.WorkAreaId &&
 | 
			
		||||
                    t.PipelineCode == model.PiplineCode);
 | 
			
		||||
 | 
			
		||||
                    if (newPipelineInfo == null)
 | 
			
		||||
                    {
 | 
			
		||||
                        errorMsg += "当前区域下不存在此管线号 | ";
 | 
			
		||||
                        model.PipelineId = string.Empty;
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        model.PipelineId = newPipelineInfo.PipelineId;
 | 
			
		||||
                        string pipelineError = CheckPipeline(this.CurrUser.LoginProjectId, unitInfo.UnitId, installInfo.InstallationId, newPipelineInfo.PipelineId);
 | 
			
		||||
                        if (!string.IsNullOrEmpty(pipelineError))
 | 
			
		||||
                        {
 | 
			
		||||
                            errorMsg += pipelineError;
 | 
			
		||||
                        }
 | 
			
		||||
                        else
 | 
			
		||||
                        {
 | 
			
		||||
                            var newWeldJointInfo = Funs.DB.Pipeline_WeldJoint.FirstOrDefault(t => t.PipelineId == newPipelineInfo.PipelineId && t.WeldJointCode == jointCode);
 | 
			
		||||
                            if (newWeldJointInfo == null)
 | 
			
		||||
                            {
 | 
			
		||||
                                errorMsg += "当前管线下不存在此焊口 | ";
 | 
			
		||||
                                model.WeldJointId = string.Empty;
 | 
			
		||||
                            }
 | 
			
		||||
                            else
 | 
			
		||||
                            {
 | 
			
		||||
                                model.WeldJointId = newWeldJointInfo.WeldJointId;
 | 
			
		||||
                                string weldJointError = CheckWeldJoint(newPipelineInfo.PipelineId, model.WeldJointId);
 | 
			
		||||
                                if (!string.IsNullOrEmpty(weldJointError))
 | 
			
		||||
                                {
 | 
			
		||||
                                    errorMsg += weldJointError;
 | 
			
		||||
                                    model.WeldJointId=string.Empty;
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
                            
 | 
			
		||||
                        } 
 | 
			
		||||
                         
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                model.Remark = errorMsg;
 | 
			
		||||
                if (!string.IsNullOrEmpty(model.Remark))
 | 
			
		||||
                    flag = true;
 | 
			
		||||
 | 
			
		||||
                listData.Add(model);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return (flag, listData);
 | 
			
		||||
        }
 | 
			
		||||
        public string CheckPipeline(string ProjectId, string UnitId, string installId, string PipelineId)
 | 
			
		||||
        { 
 | 
			
		||||
            string result = "";
 | 
			
		||||
 | 
			
		||||
            //查询出来未达到PMI检测比例的数据
 | 
			
		||||
            var pmiNocheckList = Funs.DB.View_PMIDetections
 | 
			
		||||
                .Where(t => t.ProjectId == ProjectId
 | 
			
		||||
                && t.InstallationId == installId
 | 
			
		||||
                && t.UnitId == UnitId
 | 
			
		||||
                && (t.RateBys <= 2 && t.PMIBySNum <= 2) || (t.RateByf <= 2 && t.PMIByFNum <= 2))
 | 
			
		||||
                .AsQueryable();
 | 
			
		||||
 | 
			
		||||
            //排除已经委托过的
 | 
			
		||||
            var listData = (from a in Funs.DB.PMI_Delegation.AsQueryable()
 | 
			
		||||
                            join
 | 
			
		||||
                          b in Funs.DB.PMI_DelegationDetails.AsQueryable() on
 | 
			
		||||
                          a.Id equals b.PMIId
 | 
			
		||||
                            select b.JointId
 | 
			
		||||
                          ).Distinct().ToList();
 | 
			
		||||
 | 
			
		||||
            //查询带有PMI处理且已经焊接过的管线数据
 | 
			
		||||
            var iso = from a in Funs.DB.View_Pipeline_WeldJoint
 | 
			
		||||
                      where a.IsPMI == true && a.ProjectId == ProjectId && a.UnitId == UnitId
 | 
			
		||||
                      && a.InstallationId == installId && (a.WeldingDailyId != "" && a.WeldingDailyId != null)
 | 
			
		||||
                      select new { a.PipelineId, a.PipelineCode, a.WorkAreaId, a.WeldJointCode, a.WeldJointId }
 | 
			
		||||
                      ;
 | 
			
		||||
 | 
			
		||||
            iso = from a in iso
 | 
			
		||||
                  join b in pmiNocheckList on a.PipelineId equals b.PipelineId
 | 
			
		||||
                  select new
 | 
			
		||||
                  {
 | 
			
		||||
                      a.PipelineId,
 | 
			
		||||
                      a.PipelineCode,
 | 
			
		||||
                      a.WorkAreaId,
 | 
			
		||||
                      a.WeldJointCode,
 | 
			
		||||
                      a.WeldJointId
 | 
			
		||||
                  };
 | 
			
		||||
 | 
			
		||||
            if (listData.Count > 0)
 | 
			
		||||
            {
 | 
			
		||||
                iso = iso.Where(a => !listData.Contains(a.WeldJointId));
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            iso = iso.Where(a => a.PipelineId.Contains(PipelineId));
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            var isoList = iso.Select(x => x.PipelineId).Distinct().ToList();
 | 
			
		||||
            if (isoList.Count ==0)
 | 
			
		||||
            {
 | 
			
		||||
                result = "该管线无法进行PMI委托 | ";
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return result;
 | 
			
		||||
        
 | 
			
		||||
        }
 | 
			
		||||
        public string CheckWeldJoint(string PipelineId,string WeldJointId)
 | 
			
		||||
        {
 | 
			
		||||
            string result = "";
 | 
			
		||||
            //未达标的活动S口
 | 
			
		||||
            var pmiViewJointBy_S = (from a in Funs.DB.View_PMIDetections
 | 
			
		||||
                                    join b in Funs.DB.Pipeline_WeldJoint
 | 
			
		||||
                                    on a.PipelineId equals b.PipelineId
 | 
			
		||||
                                    where    b.JointAttribute == "活动S"
 | 
			
		||||
                                && a.PipelineId == PipelineId
 | 
			
		||||
 | 
			
		||||
                               && (b.WeldingDailyId != null && b.WeldingDailyId != "")
 | 
			
		||||
                                && (a.RateBys > 2 || a.PMIBySNum > 2)
 | 
			
		||||
                                    select b.WeldJointId)
 | 
			
		||||
                                    .ToList();
 | 
			
		||||
            //未达标的固定F口
 | 
			
		||||
            var pmiViewJointBy_F = (from a in Funs.DB.View_PMIDetections
 | 
			
		||||
                                    join b in Funs.DB.Pipeline_WeldJoint
 | 
			
		||||
                                    on a.PipelineId equals b.PipelineId
 | 
			
		||||
                                    where   b.JointAttribute == "固定F"
 | 
			
		||||
                                && a.PipelineId == PipelineId
 | 
			
		||||
                                && (b.WeldingDailyId != null && b.WeldingDailyId != "")
 | 
			
		||||
                                && (a.RateByf > 2 && a.PMIByFNum > 2)
 | 
			
		||||
                                    select b.WeldJointId)
 | 
			
		||||
                                    .ToList();
 | 
			
		||||
 | 
			
		||||
            //排除已经选择过的焊口
 | 
			
		||||
            var listData = (from a in Funs.DB.PMI_Delegation.AsQueryable()
 | 
			
		||||
                            join
 | 
			
		||||
                         b in Funs.DB.PMI_DelegationDetails.AsQueryable() on
 | 
			
		||||
                         a.Id equals b.PMIId
 | 
			
		||||
                            select b.JointId
 | 
			
		||||
                         ).Distinct().ToList();
 | 
			
		||||
 | 
			
		||||
           
 | 
			
		||||
            var query = Funs.DB.View_Pipeline_WeldJoint.Where(t => t.IsPMI == true
 | 
			
		||||
            && (t.WeldingDailyId != null && t.WeldingDailyId != "")
 | 
			
		||||
            && t.PipelineId == PipelineId);
 | 
			
		||||
 | 
			
		||||
            if (listData.Count > 0)
 | 
			
		||||
            {
 | 
			
		||||
                query = query.Where(t => !listData.Contains(t.WeldJointId));
 | 
			
		||||
            }
 | 
			
		||||
            
 | 
			
		||||
            if (pmiViewJointBy_S.Count > 0)
 | 
			
		||||
            {
 | 
			
		||||
                query = query.Where(t => t.JointAttribute != "活动S");
 | 
			
		||||
            }
 | 
			
		||||
            if (pmiViewJointBy_F.Count > 0)
 | 
			
		||||
            {
 | 
			
		||||
                query = query.Where(t => t.JointAttribute != "固定F");
 | 
			
		||||
            }
 | 
			
		||||
            query = query.Where(t => t.WeldJointId == WeldJointId);
 | 
			
		||||
             if (query.Count() == 0)
 | 
			
		||||
            {
 | 
			
		||||
                result = "该焊口无法进行PMI委托 | ";
 | 
			
		||||
            }
 | 
			
		||||
            return result;
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
        #region 私有方法
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -95,6 +95,15 @@ namespace FineUIPro.Web.WeldingProcess.PMI
 | 
			
		|||
        /// </remarks>
 | 
			
		||||
        protected global::FineUIPro.Toolbar Toolbar2;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// hidFileName 控件。
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <remarks>
 | 
			
		||||
        /// 自动生成的字段。
 | 
			
		||||
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
 | 
			
		||||
        /// </remarks>
 | 
			
		||||
        protected global::FineUIPro.HiddenField hidFileName;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// hdPMIDelegationId 控件。
 | 
			
		||||
        /// </summary>
 | 
			
		||||
| 
						 | 
				
			
			@ -104,6 +113,33 @@ namespace FineUIPro.Web.WeldingProcess.PMI
 | 
			
		|||
        /// </remarks>
 | 
			
		||||
        protected global::FineUIPro.HiddenField hdPMIDelegationId;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// fileUpload 控件。
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <remarks>
 | 
			
		||||
        /// 自动生成的字段。
 | 
			
		||||
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
 | 
			
		||||
        /// </remarks>
 | 
			
		||||
        protected global::FineUIPro.FileUpload fileUpload;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// btnImport 控件。
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <remarks>
 | 
			
		||||
        /// 自动生成的字段。
 | 
			
		||||
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
 | 
			
		||||
        /// </remarks>
 | 
			
		||||
        protected global::FineUIPro.Button btnImport;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// btnDownLoad 控件。
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <remarks>
 | 
			
		||||
        /// 自动生成的字段。
 | 
			
		||||
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
 | 
			
		||||
        /// </remarks>
 | 
			
		||||
        protected global::FineUIPro.Button btnDownLoad;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// ToolbarFill1 控件。
 | 
			
		||||
        /// </summary>
 | 
			
		||||
| 
						 | 
				
			
			@ -301,5 +337,14 @@ namespace FineUIPro.Web.WeldingProcess.PMI
 | 
			
		|||
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
 | 
			
		||||
        /// </remarks>
 | 
			
		||||
        protected global::FineUIPro.Window Window2;
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Window4 控件。
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <remarks>
 | 
			
		||||
        /// 自动生成的字段。
 | 
			
		||||
        /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
 | 
			
		||||
        /// </remarks>
 | 
			
		||||
        protected global::FineUIPro.Window Window4;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3847,34 +3847,94 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
 | 
			
		|||
            var getInfo =BLL.Sys_UserService.GetSingtrueImageUrl(info?.Auditer);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            string sql = @" SELECT 
 | 
			
		||||
                    WeldSilkId,
 | 
			
		||||
                    a.PipelineCode,
 | 
			
		||||
                    e.WorkAreaCode,
 | 
			
		||||
                    a.WeldJointCode,
 | 
			
		||||
                    a.Specification,
 | 
			
		||||
                    a.Material1Code,
 | 
			
		||||
                    a.WeldingMethodCode,
 | 
			
		||||
                    a.WeldingDate,
 | 
			
		||||
                    a.WeldSilkCode,
 | 
			
		||||
                    a.WeldSilkName,
 | 
			
		||||
                    a.WeldMatCode,
 | 
			
		||||
                    a.BackingWelderCode,
 | 
			
		||||
                    a.CoverWelderCode,
 | 
			
		||||
                    a.ProjectName,
 | 
			
		||||
                    (select top 1 EnProjectName from Base_Project where ProjectId=b.ProjectId ) as EnProjectName,
 | 
			
		||||
                    (select top 1 WorkAreaName from Project_WorkArea where  WorkAreaId=c.WorkAreaId) as WorkAreaName,
 | 
			
		||||
                    (select top 1 EnWorkAreaName from Project_WorkArea where  WorkAreaId=c.WorkAreaId) as EnWorkAreaName,
 | 
			
		||||
                    a.IsHotProess,(case a.IsHotProess when 1 then '是' else '否' end) as IsHotProessName,PrepareTemp,
 | 
			
		||||
                    WeldingLocationCode,a.WeldTypeCode,
 | 
			
		||||
                    (SELECT TOP 1 n.NDEReportNo FROM dbo.Batch_NDEItem n WHERE n.TrustBatchItemId=
 | 
			
		||||
                    (SELECT TOP 1 bt.TrustBatchItemId FROM dbo.Batch_BatchTrustItem bt WHERE bt.WeldJointId=a.WeldJointId)) AS NDEReportNo
 | 
			
		||||
                    FROM PTP_TestPackage as b inner join 
 | 
			
		||||
                    PTP_PipelineList as c on b.PTP_ID=c.PTP_ID
 | 
			
		||||
                    inner join  View_Pipeline_WeldJoint as a  on c.PipelineId=a.PipelineId
 | 
			
		||||
                    inner join  Project_WorkArea as e on e.WorkAreaId=c.WorkAreaId 
 | 
			
		||||
                    WHERE Is_hjName='是' and b.PTP_ID=@PTPID and a.projectId=@projectId
 | 
			
		||||
                    ";
 | 
			
		||||
            string sql = @" WITH cte  as (SELECT WeldSilkId,
 | 
			
		||||
                       a.PipelineCode,
 | 
			
		||||
                       e.WorkAreaCode,
 | 
			
		||||
                       a.WeldJointCode,
 | 
			
		||||
                       a.Specification,
 | 
			
		||||
                       a.Material1Code,
 | 
			
		||||
                       a.DetectionType,
 | 
			
		||||
                       a.WeldingMethodCode,
 | 
			
		||||
                       a.WeldingDate,
 | 
			
		||||
                       a.WeldSilkCode,
 | 
			
		||||
                       a.WeldSilkName,
 | 
			
		||||
                       a.WeldMatCode,
 | 
			
		||||
                       a.BackingWelderCode,
 | 
			
		||||
                       a.CoverWelderCode,
 | 
			
		||||
                       a.ProjectName,
 | 
			
		||||
                       (select top 1 EnProjectName from Base_Project where ProjectId = b.ProjectId)        as EnProjectName,
 | 
			
		||||
                       (select top 1 WorkAreaName
 | 
			
		||||
                        from Project_WorkArea
 | 
			
		||||
                        where WorkAreaId = c.WorkAreaId)                                                   as WorkAreaName,
 | 
			
		||||
                       (select top 1 EnWorkAreaName
 | 
			
		||||
                        from Project_WorkArea
 | 
			
		||||
                        where WorkAreaId = c.WorkAreaId)                                                   as EnWorkAreaName,
 | 
			
		||||
                       a.IsHotProess,
 | 
			
		||||
                       (case a.IsHotProess when 1 then '是' else '否' end)                                 as IsHotProessName,
 | 
			
		||||
                       PrepareTemp,
 | 
			
		||||
                       WeldingLocationCode,
 | 
			
		||||
                       a.WeldTypeCode,
 | 
			
		||||
                       (SELECT TOP 1 n.NDEReportNo
 | 
			
		||||
                      FROM dbo.Batch_NDEItem n
 | 
			
		||||
                      WHERE n.TrustBatchItemId =
 | 
			
		||||
                            ((select top 1 TrustBatchItemId
 | 
			
		||||
                              from Batch_BatchTrustItem
 | 
			
		||||
                                       left join Batch_PointBatchItem on Batch_BatchTrustItem.PointBatchItemId =
 | 
			
		||||
                                                                         Batch_PointBatchItem.PointBatchItemId
 | 
			
		||||
                              where Batch_BatchTrustItem.WeldJointId = a.WeldJointId
 | 
			
		||||
                                and PointState = 1)))                                             AS NDEReportNo
 | 
			
		||||
                FROM PTP_TestPackage as b
 | 
			
		||||
                         inner join
 | 
			
		||||
                     PTP_PipelineList as c on b.PTP_ID = c.PTP_ID
 | 
			
		||||
                         inner join View_Pipeline_WeldJoint as a on c.PipelineId = a.PipelineId
 | 
			
		||||
                         inner join Project_WorkArea as e on e.WorkAreaId = c.WorkAreaId
 | 
			
		||||
                WHERE Is_hjName = '是'
 | 
			
		||||
                  and b.PTP_ID = @PTPID
 | 
			
		||||
                  and a.projectId = @projectId
 | 
			
		||||
                union all
 | 
			
		||||
                SELECT WeldSilkId,
 | 
			
		||||
                       a.PipelineCode,
 | 
			
		||||
                       e.WorkAreaCode,
 | 
			
		||||
                       (a.WeldJointCode + isnull(repair.RepairMark, ''))                                   as WeldJointCode,
 | 
			
		||||
                       a.Specification,
 | 
			
		||||
                       a.Material1Code,
 | 
			
		||||
                       a.DetectionType,
 | 
			
		||||
                       a.WeldingMethodCode,
 | 
			
		||||
                       a.WeldingDate,
 | 
			
		||||
                       a.WeldSilkCode,
 | 
			
		||||
                       a.WeldSilkName,
 | 
			
		||||
                       a.WeldMatCode,
 | 
			
		||||
                       a.BackingWelderCode,
 | 
			
		||||
                       a.CoverWelderCode,
 | 
			
		||||
                       a.ProjectName,
 | 
			
		||||
                       (select top 1 EnProjectName
 | 
			
		||||
                        from Base_Project
 | 
			
		||||
                        where ProjectId = b.ProjectId)                                                     as EnProjectName,
 | 
			
		||||
                       (select top 1 WorkAreaName
 | 
			
		||||
                        from Project_WorkArea
 | 
			
		||||
                        where WorkAreaId = c.WorkAreaId)                                                   as WorkAreaName,
 | 
			
		||||
                       (select top 1 EnWorkAreaName
 | 
			
		||||
                        from Project_WorkArea
 | 
			
		||||
                        where WorkAreaId = c.WorkAreaId)                                                   as EnWorkAreaName,
 | 
			
		||||
                       a.IsHotProess,
 | 
			
		||||
                       (case a.IsHotProess when 1 then '是' else '否' end)                                 as IsHotProessName,
 | 
			
		||||
                       PrepareTemp,
 | 
			
		||||
                       WeldingLocationCode,
 | 
			
		||||
                       a.WeldTypeCode,
 | 
			
		||||
                       (SELECT TOP 1 n.NDEReportNo
 | 
			
		||||
                      FROM dbo.Batch_NDEItem n
 | 
			
		||||
                      WHERE n.TrustBatchItemId = repair.TrustBatchItemId) AS NDEReportNo
 | 
			
		||||
 | 
			
		||||
                FROM PTP_TestPackage as b
 | 
			
		||||
                         inner join PTP_PipelineList as c on b.PTP_ID = c.PTP_ID
 | 
			
		||||
                         inner join View_Pipeline_WeldJoint as a on c.PipelineId = a.PipelineId
 | 
			
		||||
                         inner join Project_WorkArea as e on e.WorkAreaId = c.WorkAreaId
 | 
			
		||||
                         inner join View_Batch_PointBatchItem repair on repair.WeldJointId = a.WeldJointId
 | 
			
		||||
                WHERE Is_hjName = '是'
 | 
			
		||||
                  and b.PTP_ID = @PTPID
 | 
			
		||||
                  and a.projectId = @projectId
 | 
			
		||||
                  and repair.PState = 3)
 | 
			
		||||
                select * from cte order by PipelineCode,DetectionType,WeldJointCode ";
 | 
			
		||||
 | 
			
		||||
            SqlParameter[] parms = {
 | 
			
		||||
                new SqlParameter("@PTPID", this.tvControlItem.SelectedNodeID),
 | 
			
		||||
| 
						 | 
				
			
			@ -3935,12 +3995,13 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
 | 
			
		|||
                ws.AddMergedRegion(region);
 | 
			
		||||
                ws.GetRow(rowIndex).GetCell(11).SetCellValue($"工程名称:{info?.projectName}");
 | 
			
		||||
                ws.GetRow(rowIndex).GetCell(11).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 9.5, true, false);
 | 
			
		||||
 | 
			
		||||
                ws.GetRow(rowIndex).Height = 23 * 20;
 | 
			
		||||
                //行1
 | 
			
		||||
                region = new CellRangeAddress(rowIndex + 1, rowIndex + 1, 11, 14);
 | 
			
		||||
                ws.AddMergedRegion(region);
 | 
			
		||||
                ws.GetRow(rowIndex + 1).GetCell(11).SetCellValue($"Project Name:{info?.enProjectName}");
 | 
			
		||||
                ws.GetRow(rowIndex + 1).GetCell(11).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 9.5, true, false);
 | 
			
		||||
                ws.GetRow(rowIndex + 1).Height = 23 * 20;
 | 
			
		||||
 | 
			
		||||
                //ws.GetRow(rowIndex + 1).Height = 25 * 20;
 | 
			
		||||
                //ws.GetRow(rowIndex + 2).Height = 25 * 20;
 | 
			
		||||
| 
						 | 
				
			
			@ -4076,8 +4137,11 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
 | 
			
		|||
                        ws.GetRow(dataIndex).GetCell(4).SetCellValue(string.Join("/", welderStr));
 | 
			
		||||
                        //规格mm
 | 
			
		||||
                        ws.GetRow(dataIndex).GetCell(5).SetCellValue(dr["Specification"].ToString());
 | 
			
		||||
                        ws.GetRow(dataIndex).GetCell(5).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 8, true, false);
 | 
			
		||||
                        //材质
 | 
			
		||||
                        ws.GetRow(dataIndex).GetCell(6).SetCellValue(dr["Material1Code"].ToString());
 | 
			
		||||
                        ws.GetRow(dataIndex).GetCell(6).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 8, true, false);
 | 
			
		||||
 | 
			
		||||
                        //焊接位置
 | 
			
		||||
                        ws.GetRow(dataIndex).GetCell(7).SetCellValue(dr["WeldingLocationCode"].ToString());
 | 
			
		||||
                        //焊接方法
 | 
			
		||||
| 
						 | 
				
			
			@ -4102,6 +4166,8 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
 | 
			
		|||
                        ws.GetRow(dataIndex).GetCell(13).SetCellValue(dr["WeldingDate"].ToString());
 | 
			
		||||
                        //无损检查报告
 | 
			
		||||
                        ws.GetRow(dataIndex).GetCell(14).SetCellValue(dr["NDEReportNo"].ToString());
 | 
			
		||||
                        ws.GetRow(dataIndex).GetCell(14).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Center, 8, true, false);
 | 
			
		||||
 | 
			
		||||
                    }
 | 
			
		||||
                    j++;
 | 
			
		||||
                    ws.GetRow(dataIndex).Height = 20 * 20;
 | 
			
		||||
| 
						 | 
				
			
			@ -4210,128 +4276,6 @@ namespace FineUIPro.Web.WeldingProcess.TestPackageManage
 | 
			
		|||
            int pageIndex =1;
 | 
			
		||||
            foreach (var pipelineId in PipelineIdList)
 | 
			
		||||
            {
 | 
			
		||||
 | 
			
		||||
                //            string sql = @"
 | 
			
		||||
                //            WITH CTE_WeldJoints AS (SELECT PipelineId, WeldJointCode, JointAttribute, WelderCode, DetectionType,WeldJointId
 | 
			
		||||
                //                        FROM View_Pipeline_WeldJoint
 | 
			
		||||
                //                        WHERE DetectionType LIKE '%32617d42-24cb-4390-b115-d53c9c9e2c81%')
 | 
			
		||||
                //select *
 | 
			
		||||
                //from (select d.PipelineCode,
 | 
			
		||||
                //             (select MaterialCode from Base_Material as m where d.MainMaterialId = m.MaterialId) as MaterialCode,
 | 
			
		||||
                //             d.Specification,
 | 
			
		||||
                //             (select count(1)
 | 
			
		||||
                //              from CTE_WeldJoints as joint
 | 
			
		||||
                //              where joint.PipelineId = a.PipelineId)                                             as jointCount,  --当前管线的焊口总数
 | 
			
		||||
                //             (case
 | 
			
		||||
                //                  when a.isAll = 1 then
 | 
			
		||||
                //                      (select count(1)
 | 
			
		||||
                //                       from CTE_WeldJoints as joint
 | 
			
		||||
                //                       where joint.PipelineId = a.PipelineId
 | 
			
		||||
                //                         and joint.JointAttribute = '固定F')
 | 
			
		||||
                //                  else
 | 
			
		||||
                //                      (select count(1)
 | 
			
		||||
                //                       from CTE_WeldJoints as joint
 | 
			
		||||
                //                       where joint.PipelineId = a.PipelineId
 | 
			
		||||
                //                         and joint.JointAttribute = '固定'
 | 
			
		||||
                //                         and CHARINDEX(',' + joint.WeldJointCode + ',', ',' + a.WeldJonintCode + '') > 0)
 | 
			
		||||
                //                 end)                                                                            as FjointCount, --当前管线的焊口的固定口总数
 | 
			
		||||
                //             c.WelderCode,                                                                                       --焊工号
 | 
			
		||||
                //             (case
 | 
			
		||||
                //                  when a.isAll = 1 then
 | 
			
		||||
                //                      (select count(1)
 | 
			
		||||
                //                       from CTE_WeldJoints as vjoint
 | 
			
		||||
                //                       where vjoint.PipelineId = a.PipelineId
 | 
			
		||||
                //                         and vjoint.WelderCode = c.WelderCode)
 | 
			
		||||
                //                  else
 | 
			
		||||
                //                      (select count(1)
 | 
			
		||||
                //                       from CTE_WeldJoints as vjoint
 | 
			
		||||
                //                       where vjoint.PipelineId = a.PipelineId
 | 
			
		||||
                //                         and CHARINDEX(',' + vjoint.WeldJointCode + ',', ',' + a.WeldJonintCode + '') > 0
 | 
			
		||||
                //                         and vjoint.WelderCode = c.WelderCode)
 | 
			
		||||
                //                 end)                                                                            as WelderNum,
 | 
			
		||||
                //             (case
 | 
			
		||||
                //                  when a.isAll = 1 then
 | 
			
		||||
                //                      (select count(1)
 | 
			
		||||
                //                       from Batch_NDEItem as nde
 | 
			
		||||
                //                                inner join Batch_BatchTrustItem as trust
 | 
			
		||||
                //                                           ON trust.TrustBatchItemId = nde.TrustBatchItemId
 | 
			
		||||
                //                                inner join CTE_WeldJoints as joint
 | 
			
		||||
                //                                           ON joint.WeldJointId = trust.WeldJointId
 | 
			
		||||
                //                       where joint.PipelineId = a.PipelineId
 | 
			
		||||
                //                         and joint.WelderCode = c.WelderCode)
 | 
			
		||||
                //                  else
 | 
			
		||||
                //                      (select count(1)
 | 
			
		||||
                //                       from Batch_NDEItem as nde
 | 
			
		||||
                //                                inner join Batch_BatchTrustItem as trust
 | 
			
		||||
                //                                           ON trust.TrustBatchItemId = nde.TrustBatchItemId
 | 
			
		||||
                //                                inner join CTE_WeldJoints as joint
 | 
			
		||||
                //                                           ON joint.WeldJointId = trust.WeldJointId
 | 
			
		||||
                //                       where joint.PipelineId = a.PipelineId
 | 
			
		||||
                //                         and CHARINDEX(',' + joint.WeldJointCode + ',', ',' + a.WeldJonintCode + '') > 0
 | 
			
		||||
                //                         and joint.WelderCode = c.WelderCode)
 | 
			
		||||
                //                 end
 | 
			
		||||
                //                 )                                                                               as NdeNum,      --检测口数量
 | 
			
		||||
                //             (case
 | 
			
		||||
                //                  when a.isAll = 1 then
 | 
			
		||||
                //                      (select count(1)
 | 
			
		||||
                //                       from Batch_NDEItem as nde
 | 
			
		||||
                //                                inner join Batch_BatchTrustItem as trust
 | 
			
		||||
                //                                           ON trust.TrustBatchItemId = nde.TrustBatchItemId
 | 
			
		||||
                //                                inner join CTE_WeldJoints as joint
 | 
			
		||||
                //                                           ON joint.WeldJointId = trust.WeldJointId
 | 
			
		||||
                //                       where joint.PipelineId = a.PipelineId
 | 
			
		||||
                //                         and joint.JointAttribute = '固定F'
 | 
			
		||||
                //                         and joint.WelderCode = c.WelderCode)
 | 
			
		||||
                //                  else
 | 
			
		||||
                //                      (select count(1)
 | 
			
		||||
                //                       from Batch_NDEItem as nde
 | 
			
		||||
                //                                inner join Batch_BatchTrustItem as trust
 | 
			
		||||
                //                                           ON trust.TrustBatchItemId = nde.TrustBatchItemId
 | 
			
		||||
                //                                inner join CTE_WeldJoints as joint
 | 
			
		||||
                //                                           ON joint.WeldJointId = trust.WeldJointId
 | 
			
		||||
                //                       where joint.PipelineId = a.PipelineId
 | 
			
		||||
                //                         and CHARINDEX(',' + joint.WeldJointCode + ',', ',' + a.WeldJonintCode + '') > 0
 | 
			
		||||
                //                         and joint.JointAttribute = '固定F'
 | 
			
		||||
                //                         and joint.WelderCode = c.WelderCode)
 | 
			
		||||
                //                 end
 | 
			
		||||
                //                 )                                                                               as FNdeNum,     --检测固定口数量
 | 
			
		||||
                //             (
 | 
			
		||||
                //                 case
 | 
			
		||||
                //                     when a.isAll = 1 then
 | 
			
		||||
                //                         (stuff((select ',' + nde.NDEReportNo
 | 
			
		||||
                //                                 from Batch_NDEItem as nde
 | 
			
		||||
                //                                          inner join Batch_BatchTrustItem as trust
 | 
			
		||||
                //                                                     ON trust.TrustBatchItemId = nde.TrustBatchItemId
 | 
			
		||||
                //                                          inner join CTE_WeldJoints as joint
 | 
			
		||||
                //                                                     ON joint.WeldJointId = trust.WeldJointId
 | 
			
		||||
                //                                 where joint.PipelineId = a.PipelineId
 | 
			
		||||
                //                                   and joint.WelderCode = c.WelderCode
 | 
			
		||||
                //                                 FOR xml path ('')), 1, 1, ''))
 | 
			
		||||
                //                     else
 | 
			
		||||
                //                         (stuff((select ',' + nde.NDEReportNo
 | 
			
		||||
                //                                 from Batch_NDEItem as nde
 | 
			
		||||
                //                                          inner join Batch_BatchTrustItem as trust
 | 
			
		||||
                //                                                     ON trust.TrustBatchItemId = nde.TrustBatchItemId
 | 
			
		||||
                //                                          inner join CTE_WeldJoints as joint
 | 
			
		||||
                //                                                     ON joint.WeldJointId = trust.WeldJointId
 | 
			
		||||
                //                                 where joint.PipelineId = a.PipelineId
 | 
			
		||||
                //                                   and CHARINDEX(',' + joint.WeldJointCode + ',', ',' + a.WeldJonintCode + '') > 0
 | 
			
		||||
                //                                   and joint.WelderCode = c.WelderCode
 | 
			
		||||
                //                                 FOR xml path ( '' )), 1, 1, ''))
 | 
			
		||||
                //                     end)                                                                        as NdeReportNo
 | 
			
		||||
                //      from PTP_PipelineList as a
 | 
			
		||||
                //               inner join
 | 
			
		||||
                //           PTP_TestPackage as b on a.PTP_ID = b.PTP_ID
 | 
			
		||||
                //               inner join View_Pipeline_WeldJoint as c
 | 
			
		||||
                //                          on c.PipelineId = a.PipelineId
 | 
			
		||||
                //               inner join Pipeline_Pipeline as d
 | 
			
		||||
                //                          on c.PipelineId = d.PipelineId
 | 
			
		||||
                //      where b.PTP_ID = @PTPID
 | 
			
		||||
                //        and b.ProjectId = @projectId and a.PipelineId=@PipelineId
 | 
			
		||||
                //        AND c.WelderCode IS NOT NULL) as t where  t.WelderNum >0
 | 
			
		||||
                //group by t.PipelineCode, t.MaterialCode, t.Specification, t.jointCount, t.FjointCount, t.WelderCode, t.WelderNum,
 | 
			
		||||
                //         t.NdeNum, t.FNdeNum, t.NdeReportNo
 | 
			
		||||
                //ORDER BY t.PipelineCode, t.MaterialCode, t.Specification, t.jointCount, t.FjointCount, t.WelderCode ";
 | 
			
		||||
                string sql = @"
 | 
			
		||||
WITH CTE_WeldJoints AS (
 | 
			
		||||
    SELECT PipelineId, WeldJointCode, JointAttribute, WelderCode, DetectionType, WeldJointId
 | 
			
		||||
| 
						 | 
				
			
			@ -4401,12 +4345,12 @@ ORDER BY d.PipelineCode, m.MaterialCode, d.Specification, c.WelderCode";
 | 
			
		|||
                var DetectionRateCode = (from x in Funs.DB.View_Pipeline_Pipeline
 | 
			
		||||
                                         where x.PipelineId == pipelineId
 | 
			
		||||
                                         select x.DetectionRateCode).FirstOrDefault();
 | 
			
		||||
                //如果tb的行数不是8的倍数,添加空白行至行数为8的倍数
 | 
			
		||||
                //如果tb的行数不是6的倍数,添加空白行至行数为8的倍数
 | 
			
		||||
                // 计算需要添加的空白行数
 | 
			
		||||
                int remainder = tb.Rows.Count % 8;
 | 
			
		||||
                int remainder = tb.Rows.Count % 6;
 | 
			
		||||
                if (remainder != 0)
 | 
			
		||||
                {
 | 
			
		||||
                    int rowsToAdd = 8 - remainder; // 计算需要添加的行数
 | 
			
		||||
                    int rowsToAdd = 6 - remainder; // 计算需要添加的行数
 | 
			
		||||
                    for (int i = 0; i < rowsToAdd; i++)
 | 
			
		||||
                    {
 | 
			
		||||
                        tb.Rows.Add(tb.NewRow()); // 添加空白行
 | 
			
		||||
| 
						 | 
				
			
			@ -4414,8 +4358,8 @@ ORDER BY d.PipelineCode, m.MaterialCode, d.Specification, c.WelderCode";
 | 
			
		|||
                }
 | 
			
		||||
                var tbNum = tb.Rows.Count;
 | 
			
		||||
                var pageNum =
 | 
			
		||||
                tbNum < 8 ? 1
 | 
			
		||||
                : Math.Ceiling((float)(tbNum - 8) / 8) + 1;
 | 
			
		||||
                tbNum < 6 ? 1
 | 
			
		||||
                : Math.Ceiling((float)(tbNum - 6) / 6) + 1;
 | 
			
		||||
                for (int i = 1; i <= pageNum; i++)
 | 
			
		||||
            {
 | 
			
		||||
                #region 头部
 | 
			
		||||
| 
						 | 
				
			
			@ -4508,16 +4452,16 @@ ORDER BY d.PipelineCode, m.MaterialCode, d.Specification, c.WelderCode";
 | 
			
		|||
                if (i == 1)
 | 
			
		||||
                {
 | 
			
		||||
                    dStart = 0;
 | 
			
		||||
                    dEnd = 8;
 | 
			
		||||
                    dEnd =6;
 | 
			
		||||
                }
 | 
			
		||||
                else
 | 
			
		||||
                {
 | 
			
		||||
                    dStart = i == 2 ? 8 : ((i - 2) * 8) + 8;
 | 
			
		||||
                    dEnd = ((i - 1) * 8) + 8;
 | 
			
		||||
                    dStart = i == 2 ? 6 : ((i - 2) * 6) + 6;
 | 
			
		||||
                    dEnd = ((i - 1) * 6) + 6;
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
                //这里创建行数据 17-16
 | 
			
		||||
                ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 7, rowIndex + 16, style, 0, 20, true);
 | 
			
		||||
                ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 7, rowIndex + 14, style, 0, 20, true);
 | 
			
		||||
 | 
			
		||||
                #region 设置表头部分
 | 
			
		||||
                //设置表头部分
 | 
			
		||||
| 
						 | 
				
			
			@ -4572,11 +4516,11 @@ ORDER BY d.PipelineCode, m.MaterialCode, d.Specification, c.WelderCode";
 | 
			
		|||
 | 
			
		||||
                #endregion
 | 
			
		||||
 | 
			
		||||
                for (int k = rowIndex + 7; k < rowIndex + 16; k++)
 | 
			
		||||
                for (int k = rowIndex + 7; k < rowIndex + 14; k++)
 | 
			
		||||
                {
 | 
			
		||||
                    ws.GetRow(k).Height = 18 * 30;
 | 
			
		||||
                    //小计行
 | 
			
		||||
                    if (k == rowIndex + 15)
 | 
			
		||||
                    if (k == rowIndex + 13)
 | 
			
		||||
                    {
 | 
			
		||||
                        ws.AddMergedRegion(new CellRangeAddress(k, k, 0, 1));
 | 
			
		||||
                        ws.AddMergedRegion(new CellRangeAddress(k, k, 3, 4));
 | 
			
		||||
| 
						 | 
				
			
			@ -4601,12 +4545,13 @@ ORDER BY d.PipelineCode, m.MaterialCode, d.Specification, c.WelderCode";
 | 
			
		|||
                int threeNum = 1;
 | 
			
		||||
                int fourNum = 1;
 | 
			
		||||
                int fiveNum = 1;
 | 
			
		||||
                for (int k = 0; k < 8; k++)
 | 
			
		||||
                for (int k = 0; k < 6; k++)
 | 
			
		||||
                {
 | 
			
		||||
                    int dataIndex = dataTit + j;
 | 
			
		||||
                    if (pageTb.Rows.Count > k)
 | 
			
		||||
                    {
 | 
			
		||||
                        DataRow dr = pageTb.Rows[k];
 | 
			
		||||
                            ws.GetRow(dataIndex).Height= 24 * 20;
 | 
			
		||||
                        ws.GetRow(dataIndex).GetCell(0).SetCellValue(dr["PipelineCode"].ToString());
 | 
			
		||||
                        var PipelineCodeNum = pagelist.Count(x => x.PipelineCode == dr["PipelineCode"].ToString());
 | 
			
		||||
                        if (PipelineCodeNum > 1)
 | 
			
		||||
| 
						 | 
				
			
			@ -4710,10 +4655,23 @@ ORDER BY d.PipelineCode, m.MaterialCode, d.Specification, c.WelderCode";
 | 
			
		|||
                                    ws.GetRow(dataIndex).GetCell(17).SetCellValue($"{rate * 100}%");
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
                            string NdeReportNo = string.IsNullOrEmpty(dr["NdeReportNo"].ToString()) ? "" : dr["NdeReportNo"].ToString();
 | 
			
		||||
                            string[] NdeReportNoArr = NdeReportNo.Split(',');
 | 
			
		||||
                            if (NdeReportNoArr.Length > 1)
 | 
			
		||||
                            {
 | 
			
		||||
                                for (int m = 1; m < NdeReportNoArr.Length; m++)
 | 
			
		||||
                                {
 | 
			
		||||
                                    NdeReportNoArr[m]= NdeReportNoArr[m].Substring(NdeReportNoArr[m].Length-4).ToString();
 | 
			
		||||
                                }
 | 
			
		||||
                                NdeReportNo= string.Join(",", NdeReportNoArr);
 | 
			
		||||
                            }
 | 
			
		||||
 | 
			
		||||
                        
 | 
			
		||||
                        ws.GetRow(dataIndex).GetCell(20).SetCellValue(dr["NdeReportNo"].ToString());
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                        ws.GetRow(dataIndex).GetCell(20).SetCellValue(NdeReportNo);
 | 
			
		||||
                        ws.GetRow(dataIndex).GetCell(20).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, HorizontalAlignment.Justify, 9, true, false);
 | 
			
		||||
 | 
			
		||||
                        }
 | 
			
		||||
                        else
 | 
			
		||||
                    {
 | 
			
		||||
                        ws.AddMergedRegion(new CellRangeAddress(dataIndex, dataIndex, 0, 1));
 | 
			
		||||
                        ws.AddMergedRegion(new CellRangeAddress(dataIndex, dataIndex, 3, 4));
 | 
			
		||||
| 
						 | 
				
			
			@ -4723,126 +4681,137 @@ ORDER BY d.PipelineCode, m.MaterialCode, d.Specification, c.WelderCode";
 | 
			
		|||
                    j++;
 | 
			
		||||
                }
 | 
			
		||||
                                      
 | 
			
		||||
                ws.GetRow(rowIndex + 15).GetCell(0).SetCellValue("小计\r\nTotal");
 | 
			
		||||
                ws.GetRow(rowIndex + 15).GetCell(5).SetCellValue(pagelist.FirstOrDefault().jointCount.ToString() );//
 | 
			
		||||
                ws.GetRow(rowIndex + 15).GetCell(7).SetCellValue(pagelist.FirstOrDefault().FjointCount.ToString());//
 | 
			
		||||
                ws.GetRow(rowIndex + 15).GetCell(11).SetCellValue(pagelist.Sum(x=>Convert.ToInt32(x.WelderNum)).ToString());//
 | 
			
		||||
                ws.GetRow(rowIndex + 15).GetCell(13).SetCellValue(pagelist.Sum(x=>Convert.ToInt32(x.NdeNum)).ToString());//
 | 
			
		||||
                ws.GetRow(rowIndex + 15).GetCell(15).SetCellValue(pagelist.Sum(x => Convert.ToInt32(x.FNdeNum)).ToString());//
 | 
			
		||||
                ws.GetRow(rowIndex + 13).GetCell(0).SetCellValue("小计\r\nTotal");
 | 
			
		||||
                ws.GetRow(rowIndex + 13).GetCell(5).SetCellValue(pagelist.FirstOrDefault()?.jointCount?.ToString() );//
 | 
			
		||||
                ws.GetRow(rowIndex + 13).GetCell(7).SetCellValue(pagelist.FirstOrDefault()?.FjointCount?.ToString());//
 | 
			
		||||
                ws.GetRow(rowIndex + 13).GetCell(11).SetCellValue(pagelist.Sum(x=>Convert.ToInt32(x.WelderNum)).ToString());//
 | 
			
		||||
                ws.GetRow(rowIndex + 13).GetCell(13).SetCellValue(pagelist.Sum(x=>Convert.ToInt32(x.NdeNum)).ToString());//
 | 
			
		||||
                ws.GetRow(rowIndex + 13).GetCell(15).SetCellValue(pagelist.Sum(x => Convert.ToInt32(x.FNdeNum)).ToString());//
 | 
			
		||||
                    var NdeNumSum = pagelist.Sum(x => Convert.ToInt32(x.NdeNum));
 | 
			
		||||
                    var WelderNumSum = pagelist.Sum(x => Convert.ToInt32(x.WelderNum));
 | 
			
		||||
                     if (WelderNumSum == 0)
 | 
			
		||||
                    {
 | 
			
		||||
                        ws.GetRow(rowIndex + 13).GetCell(17).SetCellValue("0%");
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        decimal rate = Math.Round((decimal.Parse(NdeNumSum.ToString()) / decimal.Parse(WelderNumSum.ToString())), 2);
 | 
			
		||||
                        ws.GetRow(rowIndex + 13).GetCell(17).SetCellValue($"{rate * 100}%");
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                ws.GetRow(rowIndex + 15).Height = 25 * 20;
 | 
			
		||||
                    ws.GetRow(rowIndex + 13).Height = 25 * 20;
 | 
			
		||||
 | 
			
		||||
                #endregion
 | 
			
		||||
 | 
			
		||||
                #region 尾部
 | 
			
		||||
 | 
			
		||||
                ws.GetRow(rowIndex + 16).GetCell(0).SetCellValue("备注\r\nRemark");
 | 
			
		||||
                ws.GetRow(rowIndex + 16).GetCell(1).SetCellValue("焊口位置与检测焊口见管道单线图与无损检测报告。\r\nPlease refer to Pipeline Iso-drawing and NDE Report for joints position and examined joints.");
 | 
			
		||||
                ws.GetRow(rowIndex + 16).GetCell(1).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Left, 10.5, true, false);
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 1, 20));
 | 
			
		||||
                ws.GetRow(rowIndex + 16).Height = 25 * 20;
 | 
			
		||||
                ws.GetRow(rowIndex + 14).GetCell(0).SetCellValue("备注\r\nRemark");
 | 
			
		||||
                ws.GetRow(rowIndex + 14).GetCell(1).SetCellValue("焊口位置与检测焊口见管道单线图与无损检测报告。\r\nPlease refer to Pipeline Iso-drawing and NDE Report for joints position and examined joints.");
 | 
			
		||||
                ws.GetRow(rowIndex + 14).GetCell(1).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Left, 10.5, true, false);
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 14, rowIndex + 14, 1, 20));
 | 
			
		||||
                ws.GetRow(rowIndex + 14).Height = 25 * 20;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                style = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Left, 10.5, true, false);
 | 
			
		||||
                var style1 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 10.5, true, false);
 | 
			
		||||
                var style2 = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.None, BorderStyle.None, BorderStyle.None, BorderStyle.None, VerticalAlignment.Bottom, NPOI.SS.UserModel.HorizontalAlignment.Left, 10.5, true, false);
 | 
			
		||||
 | 
			
		||||
                ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 17, rowIndex + 23, style, 0, 20, true);
 | 
			
		||||
                ws = ExcelCreateRow(ws, hssfworkbook, rowIndex + 15, rowIndex + 21, style, 0, 20, true);
 | 
			
		||||
 | 
			
		||||
                ws.GetRow(rowIndex + 17).GetCell(20).CellStyle = style1;
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 0, 3));
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 4, 9));
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 10, 16));
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 17, rowIndex + 17, 17, 20));
 | 
			
		||||
                ws.GetRow(rowIndex + 15).GetCell(20).CellStyle = style1;
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 0, 3));
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 4, 9));
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 10, 16));
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 15, rowIndex + 15, 17, 20));
 | 
			
		||||
 | 
			
		||||
                if (!string.IsNullOrEmpty(getInfo.Item1) && !string.IsNullOrEmpty(getInfo.Item2))
 | 
			
		||||
                {
 | 
			
		||||
                    switch (getInfo.Item2)
 | 
			
		||||
                    {
 | 
			
		||||
                        case "建设方":
 | 
			
		||||
                            InsertImage(hssfworkbook, ws, rowIndex + 20, 0, rowIndex + 20, 3, Server.MapPath(getInfo.Item1), 1, 1,1);
 | 
			
		||||
                            InsertImage(hssfworkbook, ws, rowIndex + 18, 0, rowIndex + 18, 3, Server.MapPath(getInfo.Item1), 1, 1,1);
 | 
			
		||||
                            break;
 | 
			
		||||
                        case "总承包商":
 | 
			
		||||
                            InsertImage(hssfworkbook, ws, rowIndex + 20, 4, rowIndex + 20, 9, Server.MapPath(getInfo.Item1), 1, 1,1);
 | 
			
		||||
                            InsertImage(hssfworkbook, ws, rowIndex + 18, 4, rowIndex + 18, 9, Server.MapPath(getInfo.Item1), 1, 1,1);
 | 
			
		||||
                            break;
 | 
			
		||||
                        case "监理":
 | 
			
		||||
                            InsertImage(hssfworkbook, ws, rowIndex + 20, 0, rowIndex + 20, 3, Server.MapPath(getInfo.Item1), 1, 1,1);
 | 
			
		||||
                            InsertImage(hssfworkbook, ws, rowIndex + 18, 0, rowIndex + 18, 3, Server.MapPath(getInfo.Item1), 1, 1,1);
 | 
			
		||||
                            break;
 | 
			
		||||
                        case "检测":
 | 
			
		||||
                            InsertImage(hssfworkbook, ws, rowIndex + 19, 10, rowIndex + 19, 16, Server.MapPath(getInfo.Item1), 1, 1,1);
 | 
			
		||||
                            InsertImage(hssfworkbook, ws, rowIndex + 17, 10, rowIndex + 17, 16, Server.MapPath(getInfo.Item1), 1, 1,1);
 | 
			
		||||
                            break;
 | 
			
		||||
                        case "施工":
 | 
			
		||||
                            InsertImage(hssfworkbook, ws, rowIndex + 20, 17, rowIndex + 20, 20, Server.MapPath(getInfo.Item1), 1, 1,1);
 | 
			
		||||
                            InsertImage(hssfworkbook, ws, rowIndex + 18, 17, rowIndex + 18, 20, Server.MapPath(getInfo.Item1), 1, 1,1);
 | 
			
		||||
                            break;
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                ws.GetRow(rowIndex + 17).GetCell(0).SetCellValue("建设/监理单位\r\nOwner/Supervision Contractor");
 | 
			
		||||
                ws.GetRow(rowIndex + 17).GetCell(4).SetCellValue("总承包单位\r\nGeneral Contractor");
 | 
			
		||||
                ws.GetRow(rowIndex + 17).GetCell(10).SetCellValue("检 测 单 位\r\nExamination Contractor");
 | 
			
		||||
                ws.GetRow(rowIndex + 17).GetCell(17).SetCellValue("施 工 单 位\r\nConstruction Company");
 | 
			
		||||
                ws.GetRow(rowIndex + 17).GetCell(0).CellStyle = ws.GetRow(rowIndex + 17).GetCell(4).CellStyle = ws.GetRow(rowIndex + 17).GetCell(10).CellStyle = ws.GetRow(rowIndex + 17).GetCell(17).CellStyle = style1;
 | 
			
		||||
                ws.GetRow(rowIndex + 17).Height = 28 * 20;
 | 
			
		||||
                ws.GetRow(rowIndex + 15).GetCell(0).SetCellValue("建设/监理单位\r\nOwner/Supervision Contractor");
 | 
			
		||||
                ws.GetRow(rowIndex + 15).GetCell(4).SetCellValue("总承包单位\r\nGeneral Contractor");
 | 
			
		||||
                ws.GetRow(rowIndex + 15).GetCell(10).SetCellValue("检 测 单 位\r\nExamination Contractor");
 | 
			
		||||
                ws.GetRow(rowIndex + 15).GetCell(17).SetCellValue("施 工 单 位\r\nConstruction Company");
 | 
			
		||||
                ws.GetRow(rowIndex + 15).GetCell(0).CellStyle = ws.GetRow(rowIndex + 15).GetCell(4).CellStyle = ws.GetRow(rowIndex + 15).GetCell(10).CellStyle = ws.GetRow(rowIndex + 15).GetCell(17).CellStyle = style1;
 | 
			
		||||
                ws.GetRow(rowIndex + 15).Height = 28 * 20;
 | 
			
		||||
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 0, 3));
 | 
			
		||||
                ws.GetRow(rowIndex + 18).GetCell(0).SetCellValue("专业工程师\r\nDiscipline Engineer:");
 | 
			
		||||
                ws.GetRow(rowIndex + 18).Height = 25 * 20;
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 0, 3));
 | 
			
		||||
                ws.GetRow(rowIndex + 16).GetCell(0).SetCellValue("专业工程师\r\nDiscipline Engineer:");
 | 
			
		||||
                ws.GetRow(rowIndex + 16).Height = 25 * 20;
 | 
			
		||||
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 4, 9));
 | 
			
		||||
                ws.GetRow(rowIndex + 18).GetCell(4).SetCellValue("专业工程师\r\nDiscipline Engineer:");
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 4, 9));
 | 
			
		||||
                ws.GetRow(rowIndex + 16).GetCell(4).SetCellValue("专业工程师\r\nDiscipline Engineer:");
 | 
			
		||||
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 10, 16));
 | 
			
		||||
                ws.GetRow(rowIndex + 18).GetCell(10).SetCellValue("专业工程师\r\nDiscipline Engineer:");
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 10, 16));
 | 
			
		||||
                ws.GetRow(rowIndex + 16).GetCell(10).SetCellValue("专业工程师\r\nDiscipline Engineer:");
 | 
			
		||||
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 16, rowIndex + 16, 17, 20));
 | 
			
		||||
                ws.GetRow(rowIndex + 16).GetCell(17).SetCellValue("专业工程师\r\nDiscipline Engineer:");
 | 
			
		||||
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 18, rowIndex + 18, 17, 20));
 | 
			
		||||
                ws.GetRow(rowIndex + 18).GetCell(17).SetCellValue("专业工程师\r\nDiscipline Engineer:");
 | 
			
		||||
 | 
			
		||||
                ws.GetRow(rowIndex + 18).GetCell(17).SetCellValue("质量检查员:\r\nQuality Inspector:");
 | 
			
		||||
                ws.GetRow(rowIndex + 18).Height = 25 * 20;
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 20, rowIndex + 20, 17, 20));
 | 
			
		||||
                ws.GetRow(rowIndex + 20).GetCell(17).SetCellValue("质量检查员:\r\nQuality Inspector:");
 | 
			
		||||
                ws.GetRow(rowIndex + 20).GetCell(17).SetCellValue("制表:\r\nPrepared:");
 | 
			
		||||
                ws.GetRow(rowIndex + 20).Height = 25 * 20;
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 22, rowIndex + 22, 17, 20));
 | 
			
		||||
                ws.GetRow(rowIndex + 22).GetCell(17).SetCellValue("制表:\r\nPrepared:");
 | 
			
		||||
                ws.GetRow(rowIndex + 22).Height = 25 * 20;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 0, 3));
 | 
			
		||||
                ws.GetRow(rowIndex + 23).GetCell(0).SetCellValue("日期Date:   年   月   日");
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 21, rowIndex + 21, 0, 3));
 | 
			
		||||
                ws.GetRow(rowIndex + 21).GetCell(0).SetCellValue("日期Date:   年   月   日");
 | 
			
		||||
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 4, 9));
 | 
			
		||||
                ws.GetRow(rowIndex + 23).GetCell(4).SetCellValue("日期Date:   年   月   日");
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 21, rowIndex + 21, 4, 9));
 | 
			
		||||
                ws.GetRow(rowIndex + 21).GetCell(4).SetCellValue("日期Date:   年   月   日");
 | 
			
		||||
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 10, 16));
 | 
			
		||||
                ws.GetRow(rowIndex + 23).GetCell(10).SetCellValue("日期Date:   年   月   日");
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 21, rowIndex + 21, 10, 16));
 | 
			
		||||
                ws.GetRow(rowIndex + 21).GetCell(10).SetCellValue("日期Date:   年   月   日");
 | 
			
		||||
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 23, rowIndex + 23, 17, 20));
 | 
			
		||||
                ws.GetRow(rowIndex + 23).GetCell(17).SetCellValue("日期Date:   年   月   日");
 | 
			
		||||
                ws.GetRow(rowIndex + 23).Height = 25 * 20;
 | 
			
		||||
                ws.AddMergedRegion(new CellRangeAddress(rowIndex + 21, rowIndex + 21, 17, 20));
 | 
			
		||||
                ws.GetRow(rowIndex + 21).GetCell(17).SetCellValue("日期Date:   年   月   日");
 | 
			
		||||
                ws.GetRow(rowIndex + 21).Height = 25 * 20;
 | 
			
		||||
 | 
			
		||||
                ws.GetRow(rowIndex + 23).GetCell(0).CellStyle = ws.GetRow(rowIndex + 23).GetCell(4).CellStyle = ws.GetRow(rowIndex + 23).GetCell(10).CellStyle = ws.GetRow(rowIndex + 23).GetCell(17).CellStyle = style2;
 | 
			
		||||
                ws.GetRow(rowIndex + 21).GetCell(0).CellStyle = ws.GetRow(rowIndex + 21).GetCell(4).CellStyle = ws.GetRow(rowIndex + 21).GetCell(10).CellStyle = ws.GetRow(rowIndex + 21).GetCell(17).CellStyle = style2;
 | 
			
		||||
 | 
			
		||||
                ws.GetRow(rowIndex + 17).Height = 14 * 20;
 | 
			
		||||
                ws.GetRow(rowIndex + 18).Height = 14 * 20;
 | 
			
		||||
                ws.GetRow(rowIndex + 19).Height = 14 * 20;
 | 
			
		||||
                ws.GetRow(rowIndex + 20).Height = 14 * 20;
 | 
			
		||||
                ws.GetRow(rowIndex + 21).Height = 14 * 20;
 | 
			
		||||
                ws.GetRow(rowIndex + 22).Height = 25 * 20;
 | 
			
		||||
                RegionUtil.SetBorderLeft(1, new CellRangeAddress(rowIndex + 18, rowIndex + 23, 0, 0), ws);
 | 
			
		||||
                RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 17, rowIndex + 17, 0, 20), ws);
 | 
			
		||||
                RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 22, 3, 3), ws);
 | 
			
		||||
                RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 22, 9, 9), ws);
 | 
			
		||||
                RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 22, 16, 16), ws);
 | 
			
		||||
                RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 18, rowIndex + 22, 20, 20), ws);
 | 
			
		||||
                RegionUtil.SetBorderTop(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 0, 20), ws);
 | 
			
		||||
                RegionUtil.SetBorderLeft(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 0, 0), ws);
 | 
			
		||||
                RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 20, 20), ws);
 | 
			
		||||
                RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 0, 20), ws);
 | 
			
		||||
                ws.GetRow(rowIndex + 20).Height = 25 * 20;
 | 
			
		||||
                RegionUtil.SetBorderLeft(1, new CellRangeAddress(rowIndex + 16, rowIndex + 21, 0, 0), ws);
 | 
			
		||||
                RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 15, rowIndex + 15, 0, 20), ws);
 | 
			
		||||
                RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 16, rowIndex + 20, 3, 3), ws);
 | 
			
		||||
                RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 16, rowIndex + 20, 9, 9), ws);
 | 
			
		||||
                RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 16, rowIndex + 20, 16, 16), ws);
 | 
			
		||||
                RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 16, rowIndex + 20, 20, 20), ws);
 | 
			
		||||
                RegionUtil.SetBorderTop(1, new CellRangeAddress(rowIndex + 21, rowIndex + 21, 0, 20), ws);
 | 
			
		||||
                RegionUtil.SetBorderLeft(1, new CellRangeAddress(rowIndex + 21, rowIndex + 21, 0, 0), ws);
 | 
			
		||||
                RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 21, rowIndex + 21, 20, 20), ws);
 | 
			
		||||
                RegionUtil.SetBorderBottom(1, new CellRangeAddress(rowIndex + 21, rowIndex + 21, 0, 20), ws);
 | 
			
		||||
 | 
			
		||||
                RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 3, 3), ws);
 | 
			
		||||
                RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 9, 9), ws);
 | 
			
		||||
                RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 23, rowIndex + 23, 16, 16), ws);
 | 
			
		||||
                RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 21, rowIndex + 21, 3, 3), ws);
 | 
			
		||||
                RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 21, rowIndex + 21, 9, 9), ws);
 | 
			
		||||
                RegionUtil.SetBorderRight(1, new CellRangeAddress(rowIndex + 21, rowIndex + 21, 16, 16), ws);
 | 
			
		||||
 | 
			
		||||
                #endregion
 | 
			
		||||
 | 
			
		||||
                rowIndex = rowIndex + 24;
 | 
			
		||||
                rowIndex = rowIndex + 22;
 | 
			
		||||
                pageIndex++;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -5645,6 +5614,9 @@ ORDER BY d.PipelineCode, m.MaterialCode, d.Specification, c.WelderCode";
 | 
			
		|||
                                }
 | 
			
		||||
                                    
 | 
			
		||||
                                ws.GetRow(rowIndex + i).GetCell(20).SetCellValue(dr["NdeReportNo"].ToString());
 | 
			
		||||
                                
 | 
			
		||||
                                ws.GetRow(rowIndex + i).GetCell(20).CellStyle = CommonPrint.SetExcelStyle(hssfworkbook, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, BorderStyle.Thin, VerticalAlignment.Center, NPOI.SS.UserModel.HorizontalAlignment.Center, 6, true, false, "Arial Unicode MS");
 | 
			
		||||
 | 
			
		||||
                                ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 9, 10));
 | 
			
		||||
                                ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 11, 12));
 | 
			
		||||
                                ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 13, 14));
 | 
			
		||||
| 
						 | 
				
			
			@ -5677,11 +5649,22 @@ ORDER BY d.PipelineCode, m.MaterialCode, d.Specification, c.WelderCode";
 | 
			
		|||
                         ws.AddMergedRegion(new CellRangeAddress(rowIndex + i, rowIndex + i, 17, 19));*/
 | 
			
		||||
                    }
 | 
			
		||||
                    ws.GetRow(rowIndex + 13).GetCell(0).SetCellValue("小计\nTotal");
 | 
			
		||||
                    ws.GetRow(rowIndex + 13).GetCell(5).SetCellValue(pagelist.FirstOrDefault().jointCount.ToString());//
 | 
			
		||||
                    ws.GetRow(rowIndex + 13).GetCell(7).SetCellValue(pagelist.FirstOrDefault().FjointCount.ToString());//
 | 
			
		||||
                    ws.GetRow(rowIndex + 13).GetCell(5).SetCellValue(pagelist.FirstOrDefault()?.jointCount.ToString());//
 | 
			
		||||
                    ws.GetRow(rowIndex + 13).GetCell(7).SetCellValue(pagelist.FirstOrDefault()?.FjointCount.ToString());//
 | 
			
		||||
                    ws.GetRow(rowIndex + 13).GetCell(11).SetCellValue(pagelist.Sum(x => Convert.ToInt32(x.WelderNum)).ToString());//
 | 
			
		||||
                    ws.GetRow(rowIndex + 13).GetCell(13).SetCellValue(pagelist.Sum(x => Convert.ToInt32(x.NdeNum)).ToString());//
 | 
			
		||||
                    ws.GetRow(rowIndex + 13).GetCell(15).SetCellValue(pagelist.Sum(x => Convert.ToInt32(x.FNdeNum)).ToString());//
 | 
			
		||||
                    var NdeNumSum = pagelist.Sum(x => Convert.ToInt32(x.NdeNum));
 | 
			
		||||
                    var WelderNumSum = pagelist.Sum(x => Convert.ToInt32(x.WelderNum));
 | 
			
		||||
                    if (WelderNumSum == 0)
 | 
			
		||||
                    {
 | 
			
		||||
                        ws.GetRow(rowIndex + 13).GetCell(17).SetCellValue("0%");
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        decimal rate = Math.Round((decimal.Parse(NdeNumSum.ToString()) / decimal.Parse(WelderNumSum.ToString())), 2);
 | 
			
		||||
                        ws.GetRow(rowIndex + 13).GetCell(17).SetCellValue($"{rate * 100}%");
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    ws.AddMergedRegion(new CellRangeAddress(rowIndex + 13, rowIndex + 13, 0, 1));
 | 
			
		||||
                    ws.AddMergedRegion(new CellRangeAddress(rowIndex + 13, rowIndex + 13, 3, 4));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -48,7 +48,7 @@
 | 
			
		|||
                            <f:FileUpload runat="server" ID="fileUpload" EmptyText="请选择要导入的Excel文件"
 | 
			
		||||
                                LabelWidth="50px" LabelAlign="Right" Width="300px">
 | 
			
		||||
                            </f:FileUpload>
 | 
			
		||||
                            <f:Button ID="btnImport" Icon="ApplicationEdit" runat="server" Text="导入" ToolTip="试压包导入"
 | 
			
		||||
                            <f:Button ID="btnImport" Icon="ApplicationEdit" runat="server" Text="<%$ Resources:Lan,Import %>" ToolTip="试压包导入"
 | 
			
		||||
                                AjaxLoadingType="Mask" ShowAjaxLoadingMaskText="true" AjaxLoadingMaskText="正在校验并导入数据,请稍后!" OnClick="btnImport_Click">
 | 
			
		||||
                            </f:Button>
 | 
			
		||||
                            <f:Button ID="btnDownLoad" runat="server" Icon="ApplicationGo" Text="模板下载" ToolTip="模板下载" OnClick="btnDownLoad_Click">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -326,7 +326,7 @@ namespace FineUIPro.Web.WeldingProcess.TrustManage
 | 
			
		|||
        {
 | 
			
		||||
            if (this.tvControlItem.SelectedNode != null)
 | 
			
		||||
            {
 | 
			
		||||
                string strSql = @"SELECT batchItem.TrustBatchItemId, pipe.PipelineCode,jot.Specification,jot.WeldJointCode,
 | 
			
		||||
                string strSql = @"SELECT batchItem.TrustBatchItemId, pipe.PipelineCode,jot.Specification,(jot.WeldJointCode +  COALESCE(RepairRecord.RepairMark, '') ) as WeldJointCode,
 | 
			
		||||
                                        (CASE WHEN CoverWelder.WelderCode IS NOT NULL AND BackingWelder.WelderCode IS NOT NULL
 | 
			
		||||
			                                 THEN backingWelder.WelderCode + '/' + coverWelder.WelderCode
 | 
			
		||||
			                                 ELSE (ISNULL(coverWelder.WelderCode,'') + ISNULL(backingWelder.WelderCode,'')) END) AS WelderCode,
 | 
			
		||||
| 
						 | 
				
			
			@ -343,6 +343,7 @@ namespace FineUIPro.Web.WeldingProcess.TrustManage
 | 
			
		|||
								   LEFT JOIN Base_Material AS mat1 ON mat1.MaterialId = jot.Material1Id
 | 
			
		||||
                                   LEFT JOIN Base_Material AS mat2 ON mat2.MaterialId = jot.Material2Id
 | 
			
		||||
                                   LEFT JOIN Batch_PointBatchItem AS PointBatchItem ON PointBatchItem.PointBatchItemId=batchItem.PointBatchItemId 
 | 
			
		||||
                                   Left join Repair_RepairRecord  RepairRecord on PointBatchItem.RepairRecordId =RepairRecord.RepairRecordId
 | 
			
		||||
                                   WHERE batchItem.TrustBatchId=@TrustBatchId ";
 | 
			
		||||
                List<SqlParameter> listStr = new List<SqlParameter>
 | 
			
		||||
                {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -250,7 +250,7 @@ namespace FineUIPro.Web.WeldingProcess.WeldingReport
 | 
			
		|||
            XSSFSheet reportModel = (XSSFSheet)hssfworkbook.GetSheet("Sheet1");
 | 
			
		||||
 | 
			
		||||
            XSSFFont cs_content_Font1 = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
 | 
			
		||||
            cs_content_Font1.FontName = "sans-serif";//字体
 | 
			
		||||
            cs_content_Font1.FontName = "Arial";//字体
 | 
			
		||||
            cs_content_Font1.FontHeightInPoints = 9; //字体大小
 | 
			
		||||
 | 
			
		||||
            ICellStyle style = hssfworkbook.CreateCellStyle();
 | 
			
		||||
| 
						 | 
				
			
			@ -260,6 +260,7 @@ namespace FineUIPro.Web.WeldingProcess.WeldingReport
 | 
			
		|||
            style.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
 | 
			
		||||
            style.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
 | 
			
		||||
            style.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
 | 
			
		||||
            style.VerticalAlignment=NPOI.SS.UserModel.VerticalAlignment.Center;
 | 
			
		||||
 | 
			
		||||
            XSSFFont cs_content_Font = (XSSFFont)hssfworkbook.CreateFont(); //创建字体
 | 
			
		||||
            cs_content_Font.FontName = "sans-serif";//字体
 | 
			
		||||
| 
						 | 
				
			
			@ -269,6 +270,12 @@ namespace FineUIPro.Web.WeldingProcess.WeldingReport
 | 
			
		|||
            IDataFormat dataformat = hssfworkbook.CreateDataFormat();
 | 
			
		||||
            ICellStyle styleDate = hssfworkbook.CreateCellStyle();
 | 
			
		||||
            styleDate.SetFont(cs_content_Font1);
 | 
			
		||||
            styleDate.BorderDiagonalLineStyle = NPOI.SS.UserModel.BorderStyle.Thin;
 | 
			
		||||
            styleDate.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
 | 
			
		||||
            styleDate.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
 | 
			
		||||
            styleDate.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
 | 
			
		||||
            styleDate.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
 | 
			
		||||
            styleDate.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;
 | 
			
		||||
            styleDate.DataFormat = dataformat.GetFormat("yyyy-mm-dd");
 | 
			
		||||
 | 
			
		||||
            // 排序
 | 
			
		||||
| 
						 | 
				
			
			@ -296,7 +303,7 @@ namespace FineUIPro.Web.WeldingProcess.WeldingReport
 | 
			
		|||
                    if (reportModel.GetRow(rowIndex).GetCell(0) == null) reportModel.GetRow(rowIndex).CreateCell(0);
 | 
			
		||||
                    reportModel.GetRow(rowIndex).GetCell(0).SetCellValue((row["Index"].ToString()).ToString());
 | 
			
		||||
                    reportModel.GetRow(rowIndex).GetCell(0).CellStyle = style; //将字体绑定到样式 
 | 
			
		||||
 | 
			
		||||
                    reportModel.GetRow(rowIndex).Height= 30 * 20;
 | 
			
		||||
                    // 区域
 | 
			
		||||
                    if (reportModel.GetRow(rowIndex).GetCell(1) == null)
 | 
			
		||||
                        reportModel.GetRow(rowIndex).CreateCell(1);
 | 
			
		||||
| 
						 | 
				
			
			@ -426,9 +433,22 @@ namespace FineUIPro.Web.WeldingProcess.WeldingReport
 | 
			
		|||
                    // WeldingDate
 | 
			
		||||
                    if (reportModel.GetRow(rowIndex).GetCell(22) == null)
 | 
			
		||||
                        reportModel.GetRow(rowIndex).CreateCell(22);
 | 
			
		||||
                    reportModel.GetRow(rowIndex).GetCell(22).SetCellValue(row["WeldingDate"].ToString());
 | 
			
		||||
 | 
			
		||||
                    string weldingDateStr = row["WeldingDate"].ToString();
 | 
			
		||||
                    DateTime weldingDate;
 | 
			
		||||
 | 
			
		||||
                    if (DateTime.TryParse(weldingDateStr, out weldingDate))
 | 
			
		||||
                    {
 | 
			
		||||
                        reportModel.GetRow(rowIndex).GetCell(22).SetCellValue(weldingDate.ToString("yyyy-MM-dd"));
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        reportModel.GetRow(rowIndex).GetCell(22).SetCellValue(""); // 或者设置为其他默认值
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                    reportModel.GetRow(rowIndex).GetCell(22).CellStyle = style;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                    // DetectionTypeCode
 | 
			
		||||
                    if (reportModel.GetRow(rowIndex).GetCell(23) == null)
 | 
			
		||||
                        reportModel.GetRow(rowIndex).CreateCell(23);
 | 
			
		||||
| 
						 | 
				
			
			@ -462,7 +482,7 @@ namespace FineUIPro.Web.WeldingProcess.WeldingReport
 | 
			
		|||
                    // IsHotProess
 | 
			
		||||
                    if (reportModel.GetRow(rowIndex).GetCell(28) == null)
 | 
			
		||||
                        reportModel.GetRow(rowIndex).CreateCell(28);
 | 
			
		||||
                    reportModel.GetRow(rowIndex).GetCell(28).SetCellValue(row["IsHotProess"].ToString());
 | 
			
		||||
                    reportModel.GetRow(rowIndex).GetCell(28).SetCellValue(row["HotReportCode"].ToString());
 | 
			
		||||
                    reportModel.GetRow(rowIndex).GetCell(28).CellStyle = style;
 | 
			
		||||
 | 
			
		||||
                    // HotReportCode
 | 
			
		||||
| 
						 | 
				
			
			@ -489,13 +509,10 @@ namespace FineUIPro.Web.WeldingProcess.WeldingReport
 | 
			
		|||
                    reportModel.GetRow(rowIndex).GetCell(32).SetCellValue(row["WeldFlux"].ToString());
 | 
			
		||||
                    reportModel.GetRow(rowIndex).GetCell(32).CellStyle = style;
 | 
			
		||||
 | 
			
		||||
                    // Remark
 | 
			
		||||
                    if (reportModel.GetRow(rowIndex).GetCell(33) == null)
 | 
			
		||||
                        reportModel.GetRow(rowIndex).CreateCell(33);
 | 
			
		||||
                    reportModel.GetRow(rowIndex).GetCell(33).SetCellValue(row["Remark"].ToString());
 | 
			
		||||
                    reportModel.GetRow(rowIndex).GetCell(33).CellStyle = style;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                    #endregion
 | 
			
		||||
 | 
			
		||||
                    if ((int)(90 * (rowIndex) / totalNum) > percent)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										1178
									
								
								HJGL/Model/Model.cs
								
								
								
								
							
							
						
						
									
										1178
									
								
								HJGL/Model/Model.cs
								
								
								
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue