update Sys_Menu set SortIndex='9' where MenuId='32F5CC8C-E0F4-456C-AB88-77E36269FA50' update HJGL_Pipeline set PCMedium=null alter table HJGL_Pipeline drop constraint FK_HJGL_Pipeline_Base_TestMedium GO ALTER VIEW [dbo].[View_HJGL_Pipeline] AS /*************管线视图*****************/ SELECT pipeline.PipelineId, pipeline.ProjectId, pipeline.UnitId, pipeline.UnitWorkId, pipeline.PipelineCode, pipeline.SingleNumber, pipeline.PipingClassId, pipeline.MediumId, pipingClass.PipingClassCode, pipeline.DetectionRateId, rate.DetectionRateCode, pipeline.DetectionType, pipeline.TestPressure, pipeline.TestMedium, pipeline.PressurePipingClassId, pc.PressurePipingClassCode, pipeline.PipeLenth, pipeline.DesignPress, pipeline.DesignTemperature, pipeline.Remark, pipeline.LeakPressure, pipeline.LeakMedium, pipeline.VacuumPressure, pipeline.PCMedium , lea.MediumName as LeakMediumName, pur.PurgeMethodName as PCMediumName, CAST((SELECT SUM(ISNULL(Size,0)) FROM dbo.HJGL_WeldJoint WHERE PipelineId=pipeline.PipelineId) AS DECIMAL(8,3)) AS TotalDin, (SELECT COUNT(WeldJointId) FROM dbo.HJGL_WeldJoint WHERE PipelineId=pipeline.PipelineId) AS JointCount, unit.UnitName, workArea.UnitWorkCode, medium.MediumCode, testMedium.MediumCode AS TestMediumCode FROM dbo.HJGL_Pipeline AS pipeline LEFT JOIN Base_PipingClass AS pipingClass ON pipingClass.PipingClassId=pipeline.PipingClassId LEFT JOIN dbo.Base_Unit AS unit ON unit.UnitId=pipeline.UnitId LEFT JOIN WBS_UnitWork AS workArea ON workArea.UnitWorkId=pipeline.UnitWorkId LEFT JOIN Base_Medium AS medium ON medium.MediumId=pipeline.MediumId LEFT JOIN dbo.Base_TestMedium AS testMedium ON testMedium.TestMediumId=pipeline.TestMedium LEFT JOIN dbo.Base_DetectionRate rate ON rate.DetectionRateId = pipeline.DetectionRateId LEFT JOIN dbo.Base_PressurePipingClass pc ON pc.PressurePipingClassId = pipeline.PressurePipingClassId LEFT JOIN dbo.Base_TestMedium AS lea ON lea.TestMediumId=pipeline.LeakMedium LEFT JOIN dbo.Base_PurgeMethod AS pur ON pur.PurgeMethodId=pipeline.PCMedium GO alter table [dbo].[PTP_TestPackage] add TestDate datetime NULL EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'试验日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PTP_TestPackage', @level2type=N'COLUMN',@level2name=N'TestDate' GO alter table [dbo].[HJGL_HotProess_Trust] add ReportNo nvarchar(50) NULL EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'报告编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'HJGL_HotProess_Trust', @level2type=N'COLUMN',@level2name=N'ReportNo' GO DELETE FROM dbo.Sys_Const WHERE ConstValue ='111' AND ConstText='管道无损检测结果汇总表(续)' GO DELETE FROM dbo.Sys_Const WHERE ConstValue ='112' AND ConstText='管道系统压力试验条件确认记录' GO UPDATE dbo.Sys_Const SET ConstText='管道系统压力试验条件确认记录' WHERE ConstValue='110' AND GroupId='Report' GO ALTER TABLE dbo.HJGL_WeldTask DROP COLUMN WelderCodeStr ALTER TABLE dbo.HJGL_WeldTask ADD CanWelderCode NVARCHAR(200) NULL ALTER TABLE dbo.HJGL_WeldTask ADD CanWelderId NVARCHAR(3000) NULL GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'任务日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'HJGL_WeldTask', @level2type=N'COLUMN',@level2name=N'TaskDate' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'可焊焊工号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'HJGL_WeldTask', @level2type=N'COLUMN',@level2name=N'CanWelderCode' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'可焊焊工ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'HJGL_WeldTask', @level2type=N'COLUMN',@level2name=N'CanWelderId' GO CREATE function [dbo].[Fun_GetParseInt](@str varchar(50)) returns varchar(1000) as begin declare @s varchar(30) begin --判断后两位是不是含有字母 if (PATINDEX('%[A-Za-z]%', RIGHT(@str,2))>0 ) begin set @str=left(@str,len(@str) -1) --含有字母就去掉后面一位 end else begin set @str=@str end end set @s=@str while patindex('%[^0-9]%',@s)>0 select @s=stuff(@s,patindex('%[^0-9]%',@s),1,'') return @s END GO CREATE PROCEDURE [dbo].[HJGL_spJointWorkRecordNew] ( @IsoId varchar(50), @Flag CHAR(1) ) AS /*管道焊接工作记录查询(新) 存储过程 */ IF(@Flag='1') BEGIN SELECT v.* FROM (SELECT ROW_NUMBER() OVER(ORDER BY convert(int,dbo.Fun_GetParseInt(jot.WeldJointCode))) AS Number, (CASE WHEN jot.CoverWelderId!=jot.BackingWelderId THEN FloorWelder.WelderCode+'/'+CellWelder.WelderCode ELSE FloorWelder.WelderCode END) AS WED_Code,--焊工号 isoInfo.PipelineCode AS ISO_IsoNo ,jot.WeldJointCode AS JOT_JointNo ,convert(int,dbo.Fun_GetParseInt(jot.WeldJointCode)) AS ConvertJointNo ,jot.Specification AS JOT_JointDesc ,(CASE WHEN jot.Material1Id!=jot.Material2Id AND jot.Material1Id IS NOT NULL AND jot.Material2Id IS NOT NULL THEN mat1.MaterialCode + '/' + mat2.MaterialCode WHEN mat1.MaterialCode IS NOT NULL THEN mat1.MaterialCode ELSE ISNULL(mat2.MaterialCode,'') END) AS STE_Code --材质 ,isoInfo.PipelineCode AS ISO_IsoNumber ,jot.JointAttribute as weldLocal ,weldMethod.WeldingMethodCode AS WME_Name, (CASE WHEN jot.WeldingRod IS NOT NULL AND jot.WeldingWire IS NOT NULL THEN rod.ConsumablesCode + '/' + wire.ConsumablesCode WHEN jot.WeldingRod IS NOT NULL AND jot.WeldingWire IS NULL THEN rod.ConsumablesCode WHEN jot.WeldingWire IS NOT NULL AND jot.WeldingRod IS NULL THEN wire.ConsumablesCode ELSE '' END) AS WMT_MatName ,jot.PreTemperature as JOT_PrepareTemp ,CONVERT(varchar(100), daily.WeldingDate, 23) as WeldDate from dbo.HJGL_WeldJoint jot LEFT JOIN dbo.SitePerson_Person AS CellWelder ON CellWelder.PersonId=jot.CoverWelderId LEFT JOIN dbo.SitePerson_Person AS FloorWelder ON FloorWelder.PersonId=jot.BackingWelderId left join dbo.HJGL_Pipeline isoInfo on isoInfo.PipelineId=jot.PipelineId left join dbo.Base_Material mat1 on mat1.MaterialId=jot.Material1Id LEFT JOIN dbo.Base_Material mat2 ON mat2.MaterialId = jot.Material2Id left join dbo.Base_WeldingMethod weldMethod on weldMethod.WeldingMethodId = jot.WeldingMethodId LEFT JOIN Base_Consumables AS wire ON wire.ConsumablesId=jot.WeldingWire LEFT JOIN Base_Consumables AS rod ON rod.ConsumablesId=jot.WeldingRod LEFT JOIN dbo.HJGL_WeldingDaily AS daily ON daily.WeldingDailyId=jot.WeldingDailyId where (jot.WeldingDailyId is not null and jot.WeldingDailyId !='') and jot.PipelineId=@IsoId) v WHERE v.Number<=11 END else IF(@Flag='2') BEGIN SELECT v.* FROM (SELECT ROW_NUMBER() OVER(ORDER BY convert(int,dbo.Fun_GetParseInt(jot.WeldJointCode))) AS Number, (CASE WHEN jot.CoverWelderId!=jot.BackingWelderId THEN FloorWelder.WelderCode+'/'+CellWelder.WelderCode ELSE FloorWelder.WelderCode END) AS WED_Code,--焊工号 isoInfo.PipelineCode AS ISO_IsoNo ,jot.WeldJointCode AS JOT_JointNo ,convert(int,dbo.Fun_GetParseInt(jot.WeldJointCode)) AS ConvertJointNo ,jot.Specification AS JOT_JointDesc ,(CASE WHEN jot.Material1Id!=jot.Material2Id AND jot.Material1Id IS NOT NULL AND jot.Material2Id IS NOT NULL THEN mat1.MaterialCode + '/' + mat2.MaterialCode WHEN mat1.MaterialCode IS NOT NULL THEN mat1.MaterialCode ELSE ISNULL(mat2.MaterialCode,'') END) AS STE_Code --材质 ,isoInfo.PipelineCode AS ISO_IsoNumber ,jot.JointAttribute as weldLocal ,weldMethod.WeldingMethodCode AS WME_Name, (CASE WHEN jot.WeldingRod IS NOT NULL AND jot.WeldingWire IS NOT NULL THEN rod.ConsumablesCode + '/' + wire.ConsumablesCode WHEN jot.WeldingRod IS NOT NULL AND jot.WeldingWire IS NULL THEN rod.ConsumablesCode WHEN jot.WeldingWire IS NOT NULL AND jot.WeldingRod IS NULL THEN wire.ConsumablesCode ELSE '' END) AS WMT_MatName ,jot.PreTemperature as JOT_PrepareTemp ,CONVERT(varchar(100), daily.WeldingDate, 23) as WeldDate from dbo.HJGL_WeldJoint jot LEFT JOIN dbo.SitePerson_Person AS CellWelder ON CellWelder.PersonId=jot.CoverWelderId LEFT JOIN dbo.SitePerson_Person AS FloorWelder ON FloorWelder.PersonId=jot.BackingWelderId left join dbo.HJGL_Pipeline isoInfo on isoInfo.PipelineId=jot.PipelineId left join dbo.Base_Material mat1 on mat1.MaterialId=jot.Material1Id LEFT JOIN dbo.Base_Material mat2 ON mat2.MaterialId = jot.Material2Id left join dbo.Base_WeldingMethod weldMethod on weldMethod.WeldingMethodId = jot.WeldingMethodId LEFT JOIN Base_Consumables AS wire ON wire.ConsumablesId=jot.WeldingWire LEFT JOIN Base_Consumables AS rod ON rod.ConsumablesId=jot.WeldingRod LEFT JOIN dbo.HJGL_WeldingDaily AS daily ON daily.WeldingDailyId=jot.WeldingDailyId where (jot.WeldingDailyId is not null and jot.WeldingDailyId !='') and jot.PipelineId=@IsoId) v WHERE v.Number>11 END ELSE BEGIN SELECT v.* FROM (SELECT ROW_NUMBER() OVER(ORDER BY convert(int,dbo.Fun_GetParseInt(jot.WeldJointCode))) AS Number, (CASE WHEN jot.CoverWelderId!=jot.BackingWelderId THEN FloorWelder.WelderCode+'/'+CellWelder.WelderCode ELSE FloorWelder.WelderCode END) AS WED_Code,--焊工号 isoInfo.PipelineCode AS ISO_IsoNo ,jot.WeldJointCode AS JOT_JointNo ,convert(int,dbo.Fun_GetParseInt(jot.WeldJointCode)) AS ConvertJointNo ,jot.Specification AS JOT_JointDesc ,(CASE WHEN jot.Material1Id!=jot.Material2Id AND jot.Material1Id IS NOT NULL AND jot.Material2Id IS NOT NULL THEN mat1.MaterialCode + '/' + mat2.MaterialCode WHEN mat1.MaterialCode IS NOT NULL THEN mat1.MaterialCode ELSE ISNULL(mat2.MaterialCode,'') END) AS STE_Code --材质 ,isoInfo.PipelineCode AS ISO_IsoNumber ,jot.JointAttribute as weldLocal ,weldMethod.WeldingMethodCode AS WME_Name, (CASE WHEN jot.WeldingRod IS NOT NULL AND jot.WeldingWire IS NOT NULL THEN rod.ConsumablesCode + '/' + wire.ConsumablesCode WHEN jot.WeldingRod IS NOT NULL AND jot.WeldingWire IS NULL THEN rod.ConsumablesCode WHEN jot.WeldingWire IS NOT NULL AND jot.WeldingRod IS NULL THEN wire.ConsumablesCode ELSE '' END) AS WMT_MatName ,jot.PreTemperature as JOT_PrepareTemp ,CONVERT(varchar(100), daily.WeldingDate, 23) as WeldDate from dbo.HJGL_WeldJoint jot LEFT JOIN dbo.SitePerson_Person AS CellWelder ON CellWelder.PersonId=jot.CoverWelderId LEFT JOIN dbo.SitePerson_Person AS FloorWelder ON FloorWelder.PersonId=jot.BackingWelderId left join dbo.HJGL_Pipeline isoInfo on isoInfo.PipelineId=jot.PipelineId left join dbo.Base_Material mat1 on mat1.MaterialId=jot.Material1Id LEFT JOIN dbo.Base_Material mat2 ON mat2.MaterialId = jot.Material2Id left join dbo.Base_WeldingMethod weldMethod on weldMethod.WeldingMethodId = jot.WeldingMethodId LEFT JOIN Base_Consumables AS wire ON wire.ConsumablesId=jot.WeldingWire LEFT JOIN Base_Consumables AS rod ON rod.ConsumablesId=jot.WeldingRod LEFT JOIN dbo.HJGL_WeldingDaily AS daily ON daily.WeldingDailyId=jot.WeldingDailyId where (jot.WeldingDailyId is not null and jot.WeldingDailyId !='') and jot.PipelineId=@IsoId) v END GO CREATE VIEW [dbo].[View_HJGL_WeldingTask] AS SELECT T.WeldTaskId,T.WeldJointId,T.CoverWelderId,T.BackingWelderId, cov.WelderCode AS CoverWelderCode,back.WelderCode AS BackingWelderCode,T.JointAttribute, T.WeldingMode,T.ProjectId,T.UnitWorkId,T.UnitId,T.TaskDate,T.Tabler,T.TableDate, jot.WeldJointCode,jot.Dia,jot.Thickness,jot.Size,jot.WeldingLocationId, CASE WHEN jot.WeldingDailyId IS NULL THEN '否' ELSE '是' END AS IsWelding, P.PipelineCode,B.WeldTypeCode,M.WeldingMethodCode,L.WeldingLocationCode, t.CanWelderCode,t.CanWelderId ,rod.ConsumablesCode AS WeldingRodCode, wire.ConsumablesCode AS WeldingWireCode from HJGL_WeldTask T left join HJGL_WeldJoint jot on T.WeldJointId=jot.WeldJointId LEFT JOIN dbo.SitePerson_Person cov ON cov.PersonId=t.CoverWelderId LEFT JOIN dbo.SitePerson_Person back ON back.PersonId=t.BackingWelderId LEFT join HJGL_Pipeline P on jot.PipelineId=P.PipelineId left join Base_WeldType B on jot.WeldTypeId=B.WeldTypeId LEFT join Base_WeldingMethod M on jot.WeldingMethodId=M.WeldingMethodId left join Base_WeldingLocation L on jot.WeldingLocationId=L.WeldingLocationId LEFT JOIN Base_Consumables AS wire ON wire.ConsumablesId=jot.WeldingWire LEFT JOIN Base_Consumables AS rod ON rod.ConsumablesId=jot.WeldingRod GO ALTER VIEW [dbo].[View_HJGL_NoWeldJointFind] AS --未焊焊口查找 SELECT jot.WeldJointId,jot.WeldJointCode,jot.PipelineId,jot.WeldingDailyId,WeldType.WeldTypeCode, method.WeldingMethodCode,jot.Dia,jot.Thickness, rod.ConsumablesCode AS WeldingRodCode ,wire.ConsumablesCode AS WeldingWireCode, mat1.MaterialCode AS Material1Code ,mat2.MaterialCode AS Material2Code FROM dbo.HJGL_WeldJoint jot LEFT JOIN dbo.HJGL_PreWeldingDaily pre ON pre.WeldJointId = jot.WeldJointId LEFT JOIN Base_WeldType AS WeldType ON WeldType.WeldTypeId=jot.WeldTypeId LEFT JOIN Base_WeldingMethod AS method ON method.WeldingMethodId=jot.WeldingMethodId LEFT JOIN Base_Material AS mat1 ON mat1.MaterialId = jot.Material1Id LEFT JOIN Base_Material AS mat2 ON mat2.MaterialId = jot.Material2Id LEFT JOIN Base_Consumables AS wire ON wire.ConsumablesId=jot.WeldingWire LEFT JOIN Base_Consumables AS rod ON rod.ConsumablesId=jot.WeldingRod WHERE pre.PreWeldingDailyId IS NULL GO ALTER VIEW [dbo].[View_HJGL_WeldingTask] AS SELECT T.WeldTaskId,T.WeldJointId,T.CoverWelderId,T.BackingWelderId, cov.WelderCode AS CoverWelderCode,back.WelderCode AS BackingWelderCode,T.JointAttribute, T.WeldingMode,T.ProjectId,T.UnitWorkId,T.UnitId,T.TaskDate,T.Tabler,T.TableDate, jot.WeldJointCode,jot.Dia,jot.Thickness,jot.Size,jot.WeldingLocationId, CASE WHEN jot.WeldingDailyId IS NULL THEN '否' ELSE '是' END AS IsWelding, P.PipelineCode,B.WeldTypeCode,M.WeldingMethodCode,L.WeldingLocationCode, t.CanWelderCode,t.CanWelderId ,rod.ConsumablesCode AS WeldingRodCode, wire.ConsumablesCode AS WeldingWireCode,jot.WeldingDailyId from HJGL_WeldTask T left join HJGL_WeldJoint jot on T.WeldJointId=jot.WeldJointId LEFT JOIN dbo.SitePerson_Person cov ON cov.PersonId=t.CoverWelderId LEFT JOIN dbo.SitePerson_Person back ON back.PersonId=t.BackingWelderId LEFT join HJGL_Pipeline P on jot.PipelineId=P.PipelineId left join Base_WeldType B on jot.WeldTypeId=B.WeldTypeId LEFT join Base_WeldingMethod M on jot.WeldingMethodId=M.WeldingMethodId left join Base_WeldingLocation L on jot.WeldingLocationId=L.WeldingLocationId LEFT JOIN Base_Consumables AS wire ON wire.ConsumablesId=jot.WeldingWire LEFT JOIN Base_Consumables AS rod ON rod.ConsumablesId=jot.WeldingRod GO CREATE PROCEDURE [dbo].[HJGL_PTP_PipelineList] ( @PTP_ID NVARCHAR(50) ) AS SELECT ptpPipe.DesignPress, ptpPipe.DesignTemperature, ptpPipe.AmbientTemperature, ptpPipe.TestMediumTemperature, ptpPipe.TestPressure, ptpPipe.HoldingTime,IsoInfo.PipelineCode,testMedium.MediumName FROM dbo.PTP_PipelineList AS ptpPipe LEFT JOIN dbo.HJGL_Pipeline AS IsoInfo ON ptpPipe.PipelineId = IsoInfo.PipelineId LEFT JOIN dbo.Base_TestMedium AS testMedium ON testMedium.TestMediumId = IsoInfo.TestMedium WHERE ptpPipe.PTP_ID=@PTP_ID GO CREATE PROCEDURE [dbo].[Sp_HJGL_LV_LeakVacuum] ( @LeakVacuumId NVARCHAR(50) ) AS SELECT IsoInfo.PipelineCode, IsoInfo.DesignPress, IsoInfo.DesignTemperature, lv.AmbientTemperature, lv.TestMediumTemperature, lv.LeakPressure, lea.MediumName as LeaMediumName, vac.MediumName as VacuumMediumName, lv.VacuumPressure FROM dbo.HJGL_LV_Pipeline AS lv LEFT JOIN dbo.HJGL_Pipeline AS IsoInfo ON IsoInfo.PipelineId = lv.PipelineId LEFT JOIN dbo.Base_TestMedium AS lea ON lea.TestMediumId = lv.LeakMedium LEFT JOIN dbo.Base_TestMedium AS vac ON vac.TestMediumId = lv.VacuumMedium WHERE lv.LeakVacuumId=@LeakVacuumId GO CREATE PROCEDURE [dbo].[Sp_HJGL_PC_Pipeline] ( @PurgingCleaningId NVARCHAR(50) ) AS SELECT IsoInfo.PipelineCode,--管线号 pur.MediumName AS PurgingMediumName,--吹扫介质 cle.MediumName as CleaningMediumName,--清洗介质 ser.MediumName,--操作介质 mat.MaterialCode --材质 FROM dbo.HJGL_PC_Pipeline AS pc LEFT JOIN dbo.HJGL_Pipeline AS IsoInfo ON IsoInfo.PipelineId = pc.PipelineId LEFT JOIN WBS_UnitWork AS UnitWork ON IsoInfo.UnitWorkId=UnitWork.UnitWorkId LEFT JOIN dbo.Base_Medium AS ser ON ser.MediumId = pc.MediumId LEFT JOIN dbo.Base_Material AS mat ON mat.MaterialId = pc.MaterialId LEFT JOIN dbo.Base_TestMedium AS pur ON pur.TestMediumId = pc.PurgingMedium LEFT JOIN dbo.Base_TestMedium AS cle ON cle.TestMediumId = pc.CleaningMedium WHERE pc.PurgingCleaningId=@PurgingCleaningId GO