﻿INSERT INTO dbo.Sys_Menu(MenuId, MenuName, MenuEnName, Url, SortIndex, SuperMenu,MenuModule,IsUse)
VALUES('CE3B4B0E-C751-4BA6-A7AF-A46D434AD6DD','焊接日报导出','Weld Daily Export','WeldingProcess/WeldingReport/WeldDailyExport.aspx',25,'F3B157B7-9BEE-4150-80CB-087828F1C51D','3',1)
GO
INSERT INTO Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,ButtonEnName,SortIndex) VALUES('FDE5C016-1A90-4121-A976-A8D265F9578D','CE3B4B0E-C751-4BA6-A7AF-A46D434AD6DD','查看','See',5)
GO


ALTER TABLE dbo.Welder_WelderQualify ADD ExamProject NVARCHAR(50) NULL
GO
ALTER TABLE dbo.Welder_WelderQualify ADD IsPass BIT  NULL
GO
ALTER TABLE dbo.Welder_WelderQualify ADD Remark NVARCHAR(300) NULL
GO

ALTER TABLE dbo.Batch_BatchTrust ADD QuaCertFile NVARCHAR(50) NULL
ALTER TABLE dbo.Batch_BatchTrust ADD AcceptStandard NVARCHAR(50) NULL
GO


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.NDEUuit,
BatchTrust.ProjectId, 
project.ProjectCode,
BatchTrust.UnitId, 
BatchTrust.InstallationId, 
BatchTrust.PipelineId,
pipe.PipelineCode,
BatchTrust.DetectionTypeId,
BatchTrust.IsCheck,
BatchTrust.TopointBatch,
BatchTrust.QuaCertFile,
BatchTrust.AcceptStandard,
Unit.UnitCode,
Unit.UnitName,
Installation.InstallationName,
Installation.InstallationCode,
DetectionType.DetectionTypeCode,
ndtCheck.TrustBatchId AS CheckTrustBatchId
FROM Batch_BatchTrust AS BatchTrust
LEFT JOIN Base_Unit AS Unit ON Unit.UnitId=BatchTrust.UnitId
LEFT JOIN Project_Installation AS Installation ON Installation.InstallationId=BatchTrust.InstallationId
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.Batch_NDE ndtCheck ON ndtCheck.TrustBatchId = BatchTrust.TrustBatchId
LEFT JOIN dbo.Pipeline_Pipeline pipe ON pipe.PipelineId = BatchTrust.PipelineId

WHERE (SELECT COUNT(TrustBatchItemId) FROM Batch_BatchTrustItem WHERE IsCancelTrust IS NULL AND TrustBatchId=BatchTrust.TrustBatchId)>0


GO




ALTER PROC [dbo].[sp_rpt_JointComprehensive]
            @projectId NVARCHAR(50),
			@workAreaId NVARCHAR(50), 
 			@pipelineIds NVARCHAR(MAX) = NULL
 			
AS 
/**********焊口综合信息**********/
SELECT 
    weldJoint.WeldJointId,
	weldJoint.ProjectId,
	WorkArea.WorkAreaId,
	WorkArea.WorkAreaCode,
	weldJoint.SystemNumber,
	weldJoint.TestPackageNo,
	pipeline.SingleNumber,
	pipeline.PipelineCode,
	weldJoint.PipeSegment,--所属管段
	(CASE WHEN weldJoint.JointAttribute='固定F' AND RIGHT(weldJoint.WeldJointCode,1)<>'G' THEN weldJoint.WeldJointCode+'G' ELSE weldJoint.WeldJointCode END) AS WeldJointCode,
	weldType.WeldTypeCode,
	weldJoint.JointAttribute,
	weldJoint.Dia,
	weldJoint.Thickness,--壁厚
	weldJoint.HeartNo1,
	weldJoint.HeartNo2,
	com1.ComponentsName AS PipeAssembly1,
	com2.ComponentsName AS PipeAssembly2,
	material.MaterialCode,
	cw.WelderCode AS CoverWelderCode,
	fw.WelderCode AS BackingWelderCode,
	WeldMethod.WeldingMethodName,	
	medium.MediumName,
	weldingDaily.WeldingDate,
	weldingDaily.WeldingDailyCode,
	trust.TrustBatchCode,
	--TrustBatchCode.DetectionRateCode,
	--TrustBatchCode.AcceptLevel,
	(CASE WHEN weldJoint.IsHotProess=1 THEN '是' ELSE '否' END) AS IsHotProess,
	 null as TrustBatchCode,
	 null as DetectionRateCode,
	null as AcceptLevel,
	nde.NDEDate AS CHT_CHECKDATE,
	ndeItem.NDEReportNo,
	CAST(ISNULL(weldJoint.Size,0) AS DECIMAL(19,2)) AS JOT_Size,
	WeldMaterialMat.ConsumablesCode  AS WMT_MatCode,
	WeldMaterialMat.ConsumablesName AS WMT_Matname,
	WeldMaterialSilk.ConsumablesCode AS hsCode,
	WeldMaterialSilk.ConsumablesName AS hsname,
	weldJoint.Specification,
	wps.WPQCode,ndttype.DetectionTypeCode,NULL AS HotReportCode,
	
	(CASE WHEN (PointBatchItem.PointState='1' OR PointBatchItem.PointState='2') then '是' ELSE  '否' END) AS if_dk
FROM Pipeline_WeldJoint AS weldJoint
	LEFT JOIN Pipeline_Pipeline AS pipeline ON pipeline.PipelineId = weldJoint.PipelineId	
	LEFT JOIN Project_WorkArea AS WorkArea ON WorkArea.WorkAreaId = pipeline.WorkAreaId
	LEFT JOIN Base_Material AS material ON material.MaterialId = weldJoint.Material1Id
	LEFT JOIN Base_WeldingMethod AS WeldMethod ON WeldMethod.WeldingMethodId = weldJoint.WeldingMethodId	
	LEFT JOIN dbo.Base_WeldType weldType ON weldType.WeldTypeId = weldJoint.WeldTypeId
	LEFT JOIN Base_Medium AS medium ON medium.MediumId = pipeline.MediumId
	LEFT JOIN Base_Components com1 ON com1.ComponentsId=weldJoint.PipeAssembly1Id
	LEFT JOIN Base_Components com2 ON com2.ComponentsId=weldJoint.PipeAssembly2Id
	LEFT JOIN Pipeline_WeldingDaily AS weldingDaily ON weldingDaily.WeldingDailyId = weldJoint.WeldingDailyId
	LEFT JOIN dbo.WPQ_WPQList wps ON wps.WPQId = weldJoint.WPQId
	left join Welder_Welder AS fw on weldJoint.BackingWelderId = fw.WelderId
	left join Welder_Welder AS cw on weldJoint.CoverWelderId = cw.WelderId
	LEFT JOIN Base_Consumables AS WeldMaterialMat ON WeldMaterialMat.ConsumablesId =weldJoint.WeldMatId
	LEFT JOIN Base_Consumables AS WeldMaterialSilk ON WeldMaterialSilk.ConsumablesId =weldJoint.WeldSilkId
	LEFT JOIN Batch_PointBatchItem AS PointBatchItem ON PointBatchItem.WeldJointId =weldJoint.WeldJointId
	LEFT JOIN dbo.Batch_PointBatch point ON point.PointBatchId = PointBatchItem.PointBatchId
	LEFT JOIN dbo.Base_DetectionType ndttype ON ndttype.DetectionTypeId = point.DetectionTypeId	
	LEFT JOIN dbo.Batch_BatchTrustItem trustItem ON trustItem.PointBatchItemId = PointBatchItem.PointBatchItemId
	LEFT JOIN dbo.Batch_BatchTrust trust ON trust.TrustBatchId = trustItem.TrustBatchId
	LEFT JOIN dbo.Batch_NDEItem ndeItem ON ndeItem.TrustBatchItemId = trustItem.TrustBatchItemId
	LEFT JOIN dbo.Batch_NDE nde ON nde.NDEID = ndeItem.NDEID

	--LEFT JOIN (SELECT PointBatchItem.WeldJointId,PointBatchItem.AcceptLevel, TrustBatchCode,rate.DetectionRateCode FROM Batch_BatchTrustItem AS TrustBatchItem
	--		LEFT JOIN Batch_BatchTrust AS TrustBatch ON TrustBatchItem.TrustBatchId = TrustBatch.TrustBatchId
	--		LEFT JOIN Batch_PointBatchItem AS PointBatchItem ON TrustBatchItem.PointBatchItemId =PointBatchItem.PointBatchItemId
	--		LEFT JOIN Batch_PointBatch AS point ON point.PointBatchId =PointBatchItem.PointBatchId
	--		LEFT JOIN Base_DetectionRate rate  ON rate.DetectionRateId =point.DetectionRateId) 
	--		AS TrustBatchCode ON TrustBatchCode.WeldJointId = weldJoint.WeldJointId
	--LEFT JOIN  (SELECT PointBatchItem.WeldJointId,NDEDate 
	--			FROM Batch_NDEItem AS NDEItem
	--			LEFT JOIN Batch_BatchTrustItem AS TrustBatchItem ON NDEItem.TrustBatchItemId = TrustBatchItem.TrustBatchItemId
	--			LEFT JOIN Batch_PointBatchItem AS PointBatchItem ON PointBatchItem.PointBatchItemId = TrustBatchItem.PointBatchItemId
	--		    LEFT JOIN Batch_NDE AS Checks ON NDEItem.NDEID = Checks.NDEID)
	--			 AS CheckDate ON CheckDate.WeldJointId = weldJoint.WeldJointId
 WHERE weldJoint.ProjectId=@projectId
  AND(pipeline.WorkAreaId=@workAreaId OR @workAreaId IS NULL)
  AND (CHARINDEX(weldJoint.PipelineId,@pipelineIds)>0 or @pipelineIds IS NULl)
 --AND(pipeline.PipelineCode=@pipelineCode OR @pipelineCode IS NULl)



