diff --git a/DataBase/版本日志/SGGLDB_V2025-06-18-001_bwj.sql b/DataBase/版本日志/SGGLDB_V2025-06-18-001_bwj.sql
new file mode 100644
index 00000000..98e86ecc
--- /dev/null
+++ b/DataBase/版本日志/SGGLDB_V2025-06-18-001_bwj.sql
@@ -0,0 +1,90 @@
+ALTER VIEW [dbo].[View_Batch_BatchTrust]
+AS
+/********ί********/
+SELECT BatchTrust.TrustBatchId,
+BatchTrust.TrustBatchCode,
+(CASE WHEN BatchTrust.TrustType='1' THEN BatchTrust.TrustBatchCode
+ WHEN BatchTrust.TrustType='2' THEN BatchTrust.TrustBatchCode+'K1'
+ WHEN BatchTrust.TrustType='3' THEN BatchTrust.TrustBatchCode+'R1' END) AS NewTrustBatchCode,
+BatchTrust.TrustDate,
+BatchTrust.NDEUnit,
+BatchTrust.ProjectId,
+project.ProjectCode,
+project.ProjectName,
+BatchTrust.UnitId,
+BatchTrust.UnitWorkId,
+BatchTrust.TrustType,
+BatchTrust.DetectionTypeId,
+BatchTrust.DetectionRateId,
+BatchTrust.IsCheck,
+BatchTrust.IsAudit,
+BatchTrust.TopointBatch,
+BatchTrust.PointBatchId,
+Unit.UnitCode,
+Unit.UnitName,
+UnitWork.UnitWorkCode,
+UnitWork.UnitWorkName,
+DetectionType.DetectionTypeCode,
+detectionRate.DetectionRateValue,
+ndtCheck.TrustBatchId AS CheckTrustBatchId
+FROM dbo.HJGL_Batch_BatchTrust AS BatchTrust
+LEFT JOIN Base_Unit AS Unit ON Unit.UnitId=BatchTrust.UnitId
+LEFT JOIN WBS_UnitWork AS UnitWork ON UnitWork.UnitWorkId=BatchTrust.UnitWorkId
+LEFT JOIN Base_DetectionType AS DetectionType ON DetectionType.DetectionTypeId=BatchTrust.DetectionTypeId
+LEFT JOIN dbo.Base_Project project ON project.ProjectId = BatchTrust.ProjectId
+LEFT JOIN dbo.HJGL_Batch_NDE ndtCheck ON ndtCheck.TrustBatchId = BatchTrust.TrustBatchId
+left join Base_DetectionRate detectionRate on detectionRate.DetectionRateId = BatchTrust.DetectionRateId
+go
+
+
+ALTER VIEW [dbo].[View_Batch_BatchTrustItem]
+AS
+/********ί********/
+SELECT
+ROW_NUMBER() OVER(ORDER BY WeldJointCode) AS Number,
+BatchTrustItem.TrustBatchItemId,
+BatchTrustItem.TrustBatchId,
+BatchTrustItem.PointBatchItemId,
+BatchTrustItem.WeldJointId,
+BatchTrustItem.CreateDate,
+BatchTrustItem.TrustNum,
+BatchTrust.TrustType,
+BatchTrustItem.RepairNum,
+BatchTrust.TrustBatchCode, --ίе
+BatchTrust.ProjectId,
+BatchTrust.UnitWorkId,
+UnitWork.UnitWorkCode, --λ
+pipe.PipelineCode, --ߺ
+pipingClass.PipingClassCode, --ߵȼ
+jot.WeldJointCode+isnull((select top 1 RepairMark from [dbo].[HJGL_RepairRecord] where [WeldJointId]=BatchTrustItem.WeldJointId and RepairRecordId=BatchTrustItem.RepairRecordId),'')+(case when PointBatchItem.PointState='2' then 'K' else '' end) as WeldJointCode, --ں
+mat.MaterialCode, --
+jot.JointArea, --
+welder.WelderCode AS WelderCode, --
+weldType.WeldTypeCode, --
+jot.Dia, --⾶
+jot.Size, --羶
+jot.Thickness, --ں
+method.WeldingMethodCode, --ӷ
+rate.DetectionRateCode,
+null as CheckDefects,
+PointBatchItem.PointDate, --
+grooveType.GrooveTypeCode,--¿ʽ
+BatchTrust.DetectionTypeId
+FROM dbo.HJGL_Batch_BatchTrustItem AS BatchTrustItem
+LEFT JOIN dbo.HJGL_Batch_BatchTrust AS BatchTrust ON BatchTrust.TrustBatchId=BatchTrustItem.TrustBatchId
+LEFT JOIN dbo.HJGL_Batch_PointBatchItem AS PointBatchItem ON PointBatchItem.PointBatchItemId=BatchTrustItem.PointBatchItemId
+LEFT JOIN dbo.HJGL_Batch_PointBatch point ON point.PointBatchId = PointBatchItem.PointBatchId
+LEFT JOIN dbo.Base_DetectionRate rate ON rate.DetectionRateId = point.DetectionRateId
+LEFT JOIN dbo.HJGL_WeldJoint jot ON jot.WeldJointId = BatchTrustItem.WeldJointId
+LEFT JOIN dbo.HJGL_Pipeline pipe ON pipe.PipelineId = jot.PipelineId
+LEFT JOIN Base_PipingClass AS pipingClass ON PipingClass.PipingClassId=pipe.PipingClassId
+LEFT JOIN dbo.WBS_UnitWork UnitWork ON UnitWork.UnitWorkId = BatchTrust.UnitWorkId
+LEFT JOIN dbo.Base_WeldType weldType ON weldType.WeldTypeId = jot.WeldTypeId
+LEFT JOIN dbo.SitePerson_Person welder ON welder.PersonId = jot.BackingWelderId and welder.ProjectId=BatchTrust.ProjectId
+LEFT JOIN dbo.Base_Material mat ON mat.MaterialId = jot.Material1Id
+LEFT JOIN dbo.Base_WeldingMethod method ON method.WeldingMethodId = jot.WeldingMethodId
+left join Base_GrooveType grooveType on grooveType.GrooveTypeId = jot.GrooveTypeId
+
+GO
+
+
diff --git a/SGGL/BLL/Common/Const.cs b/SGGL/BLL/Common/Const.cs
index a7db9083..6ac9f10e 100644
--- a/SGGL/BLL/Common/Const.cs
+++ b/SGGL/BLL/Common/Const.cs
@@ -3509,6 +3509,12 @@ namespace BLL
/// 试压包导入模板
///
public const string TestPackageTemplateUrl = "File\\Excel\\DataIn\\试压包导入模版.xlsx";
+
+ ///
+ /// 管道焊口检测结果通知单导入模板
+ ///
+ public const string NDTBatchTemplateUrl = "File\\Excel\\DataIn\\管道焊口检测结果通知单导入模板.xlsx";
+
#endregion
#region 初始化上传路径
diff --git a/SGGL/BLL/HJGL/BaseInfo/Base_DefectService.cs b/SGGL/BLL/HJGL/BaseInfo/Base_DefectService.cs
index 71b646c5..29e34dde 100644
--- a/SGGL/BLL/HJGL/BaseInfo/Base_DefectService.cs
+++ b/SGGL/BLL/HJGL/BaseInfo/Base_DefectService.cs
@@ -213,5 +213,10 @@ namespace BLL
}
}
#endregion
+
+ public static Model.Base_Defect GetDefectByDefectName(string defectName)
+ {
+ return Funs.DB.Base_Defect.FirstOrDefault(e => e.DefectName == defectName);
+ }
}
}
diff --git a/SGGL/FineUIPro.Web/File/Excel/DataIn/管道焊口检测结果通知单导入模板.xlsx b/SGGL/FineUIPro.Web/File/Excel/DataIn/管道焊口检测结果通知单导入模板.xlsx
new file mode 100644
index 00000000..609cd519
Binary files /dev/null and b/SGGL/FineUIPro.Web/File/Excel/DataIn/管道焊口检测结果通知单导入模板.xlsx differ
diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
index c3f28f23..72398c32 100644
--- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
+++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj
@@ -1531,6 +1531,7 @@
+
@@ -10398,6 +10399,13 @@
NDTBatchEdit.aspx
+
+ NDTBatchImport.aspx
+ ASPXCodeBehind
+
+
+ NDTBatchImport.aspx
+
RepairNotice.aspx
ASPXCodeBehind
diff --git a/SGGL/FineUIPro.Web/HJGL/NDT/NDTBatch.aspx b/SGGL/FineUIPro.Web/HJGL/NDT/NDTBatch.aspx
index e7f6b12f..4672e66c 100644
--- a/SGGL/FineUIPro.Web/HJGL/NDT/NDTBatch.aspx
+++ b/SGGL/FineUIPro.Web/HJGL/NDT/NDTBatch.aspx
@@ -229,6 +229,9 @@
IsModal="true" Width="1280px" Height="800px">