109 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Transact-SQL
		
	
	
	
--安全的施工方案,url改成质量的施工方案
 | 
						||
update sys_menu set url='CQMS/Solution/ConstructSolution.aspx' 
 | 
						||
where url='HSSE/Solution/ConstructSolution.aspx' and menuname='施工方案' and MenuType='Menu_HSSE'
 | 
						||
 | 
						||
--创建游标将安全施工方案的数据插入质量的施工方案表
 | 
						||
DECLARE @ConstructSolutionId nvarchar(50),
 | 
						||
@ProjectId nvarchar(50),
 | 
						||
@ConstructSolutionName nvarchar(50),--方案名称
 | 
						||
@UnitId nvarchar(50),--施工单位
 | 
						||
@SolutinType nvarchar(50),--方案类别
 | 
						||
@ConstructSolutionCode nvarchar(50),--编号
 | 
						||
@CompileDate datetime,--审批时间
 | 
						||
@CompileMan nvarchar(50),--审批人
 | 
						||
@States nvarchar(20),	--安全状态
 | 
						||
@State nvarchar(20)--质量状态
 | 
						||
 | 
						||
 | 
						||
DECLARE My_Cursor CURSOR --定义游标
 | 
						||
FOR ( SELECT ConstructSolutionId, ProjectId,UnitId,SolutinType,ConstructSolutionCode
 | 
						||
,ConstructSolutionName,CompileDate,CompileMan,States FROM Solution_ConstructSolution ) 
 | 
						||
OPEN My_Cursor;--打开游标 
 | 
						||
FETCH NEXT  FROM My_Cursor INTO @ConstructSolutionId,@ProjectId,@UnitId,@SolutinType,@ConstructSolutionCode,
 | 
						||
@ConstructSolutionName,
 | 
						||
@CompileDate,@CompileMan,@States;--读取第一行数据
 | 
						||
WHILE @@FETCH_STATUS=0
 | 
						||
 --这里对游标的状态进行判断,如果为0,证明游标中有值
 | 
						||
		BEGIN
 | 
						||
		--状态已完成
 | 
						||
		if(@States='2')
 | 
						||
		begin
 | 
						||
			set @State='3'--状态已闭合
 | 
						||
		end
 | 
						||
		else
 | 
						||
		begin
 | 
						||
			set @State='1'--未闭合
 | 
						||
		end
 | 
						||
 | 
						||
		--基础数据插入质量的施工方案主表
 | 
						||
		INSERT INTO Solution_CQMSConstructSolution(ConstructSolutionId,ProjectId,Code
 | 
						||
		,SolutionName,UnitId,SolutionType,CompileDate,CompileMan,State)
 | 
						||
		values(@ConstructSolutionId,@ProjectId,@ConstructSolutionCode,
 | 
						||
		@ConstructSolutionName,@UnitId,@SolutinType,
 | 
						||
		@CompileDate,@CompileMan,@State);
 | 
						||
		--插入附件表
 | 
						||
		insert into AttachFile(AttachFileId,ToKeyId,AttachSource,AttachUrl,menuid,AttachPath,ImageByte)
 | 
						||
		select newid(),ToKeyId,AttachSource,AttachUrl,'91C4BFDB-0A51-4992-99CC-EB4EC185593D',AttachPath,ImageByte from AttachFile
 | 
						||
		where ToKeyId=@ConstructSolutionId 
 | 
						||
		
 | 
						||
 | 
						||
		FETCH NEXT 
 | 
						||
		FROM
 | 
						||
			My_Cursor INTO @ConstructSolutionId,@ProjectId,@UnitId,@SolutinType,@ConstructSolutionCode,
 | 
						||
		@ConstructSolutionName,
 | 
						||
		@CompileDate,@CompileMan,@States;
 | 
						||
		
 | 
						||
	END CLOSE My_Cursor;--关闭游标
 | 
						||
DEALLOCATE My_Cursor;--释放游标
 | 
						||
GO
 | 
						||
 | 
						||
--insert into Technique_CheckItemSet(CheckItemSetId,CheckItemName,SupCheckItem,CheckType,MapCode,IsEndLever,SortIndex)
 | 
						||
--values('43594e1e-66e2-4664-bad7-feb12ea4844a','综合类','0','2','10','0','4')
 | 
						||
--删除专项检查类别 -综合类型 -新型肺炎防控
 | 
						||
delete from Check_CheckSpecial  where CheckItemSetId='43594e1e-66e2-4664-bad7-feb12ea4844a'
 | 
						||
delete from Technique_CheckItemSet where CheckItemSetId='43594e1e-66e2-4664-bad7-feb12ea4844a'
 | 
						||
go
 | 
						||
delete from Check_CheckSpecial  where CheckItemSetId='4324d0f5-cf7b-4e89-be56-45ba131f5f2f'
 | 
						||
delete from Technique_CheckItemSet where CheckItemSetId='4324d0f5-cf7b-4e89-be56-45ba131f5f2f'
 | 
						||
go
 | 
						||
 | 
						||
--增加专项检查明细项字段-检查项内容、整改期限
 | 
						||
alter table Check_CheckSpecialDetail add CheckItemSetId nvarchar(50)  null;
 | 
						||
alter table Check_CheckSpecialDetail add CheckItemSetContent nvarchar(3000)  null;
 | 
						||
alter table Check_CheckSpecialDetail add Rectification_Date datetime  null;
 | 
						||
go
 | 
						||
 | 
						||
--为视图增加列
 | 
						||
/*LEFT JOIN Sys_Const AS const ON const.ConstValue = detail.HandleStep and const.GroupId='HandleStep'*/
 | 
						||
ALTER VIEW [dbo].[View_CheckSpecialDetail]
 | 
						||
AS
 | 
						||
SELECT  detail.CheckSpecialDetailId, detail.CheckSpecialId, detail.CheckItem, checkItemSet.CheckItemName, detail.Unqualified, 
 | 
						||
                   detail.SortIndex, detail.UnitId, detail.HandleStep, detail.CompleteStatus, 
 | 
						||
                   (CASE WHEN detail.CompleteStatus = 1 THEN '已整改' ELSE '待整改' END) AS CompleteStatusName, detail.LimitedDate, 
 | 
						||
                   detail.CompletedDate, detail.CheckContent, detail.CheckArea, 
 | 
						||
                   workArea.UnitWorkName + (CASE WHEN workArea.ProjectType = '1' THEN '(建筑)' WHEN workArea.ProjectType = '2' THEN '(安装)'
 | 
						||
                    ELSE '' END) AS CheckAreaName, detail.DataId, detail.DataType, unit.UnitName, 
 | 
						||
                   dbo.GetConstTextByIds(detail.HandleStep) AS HandleStepStr, 
 | 
						||
                   (CASE WHEN detail.DataType LIKE '%1%' THEN '下发整改单:' +
 | 
						||
                       (SELECT  RectifyNoticesCode
 | 
						||
                        FROM       Check_RectifyNotices
 | 
						||
                        WHERE    detail.DataId LIKE '%' + RectifyNoticesId + '%') ELSE '' END) 
 | 
						||
                   + (CASE WHEN detail.DataType LIKE '%2%' THEN '下发处罚单:' +
 | 
						||
                       (SELECT  PunishNoticeCode
 | 
						||
                        FROM       Check_PunishNotice
 | 
						||
                        WHERE    detail.DataId LIKE '%' + PunishNoticeId + '%') ELSE '' END) 
 | 
						||
                   + (CASE WHEN detail.DataType = '3' THEN '下发暂停令:' +
 | 
						||
                       (SELECT  PauseNoticeCode
 | 
						||
                        FROM       Check_PauseNotice
 | 
						||
                        WHERE    detail.DataId LIKE '%' + PauseNoticeId + '%') ELSE '' END) AS HandleStepLink, detail.HiddenHazardType, 
 | 
						||
                   (CASE WHEN detail.HiddenHazardType = '3' THEN '重大' WHEN detail.HiddenHazardType = '2' THEN '较大' WHEN detail.HiddenHazardType
 | 
						||
                    = '1' THEN '一般' ELSE '' END) AS HiddenHazardTypeName, detail.CheckItemSetId, detail.CheckItemSetContent, 
 | 
						||
                   detail.Rectification_Date
 | 
						||
FROM      dbo.Check_CheckSpecialDetail AS detail LEFT OUTER JOIN
 | 
						||
                   dbo.Technique_CheckItemSet AS checkItemSet ON checkItemSet.CheckItemSetId = detail.CheckItem LEFT OUTER JOIN
 | 
						||
                   dbo.Base_Unit AS unit ON unit.UnitId = detail.UnitId LEFT OUTER JOIN
 | 
						||
                   dbo.WBS_UnitWork AS workArea ON detail.CheckArea = workArea.UnitWorkId
 | 
						||
 | 
						||
GO
 | 
						||
 |