CNCEC_SUBQHSE_WUHUAN/DataBase/版本日志/SGGLDB_WH_2025-04-01-bwj.sql

371 lines
18 KiB
Transact-SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

--获取当前人工作台待办预警
ALTER PROCEDURE [dbo].[Sp_WorkBench_GetToDoItems]
@userId NVARCHAR(200)=NULL,
@sType char(10)=null
AS
/*获取当前人待办事项*/
BEGIN
SELECT HazardRegisterId AS DataId
,'B6BE5FE0-CB84-47FF-A6C3-5AD9E1CCE079' AS MenuId
,'安全巡检待整改' AS MenuName
,project.ProjectCode
,register.RegisterDef AS Content
,users.UserId
,users.UserName
,register.RegisterDate AS DataTime
,CONVERT(varchar(100),register.RegisterDate, 23) AS DataTimeStr
,'HSSE/HiddenInspection/HiddenRectificationRectify.aspx?HazardRegisterId='+register.HazardRegisterId AS PCUrl
FROM HSSE_Hazard_HazardRegister AS register
left join Project_ProjectUser as projectUser on projectUser.UserId=@userId
LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId
left join Base_Project as project on project.ProjectId =projectUser.ProjectId
WHERE (@sType='1' or @sType='2') and register.ProjectId = projectUser.ProjectId and
((register.states = '1' AND (register.ResponsibleMan =@userId OR register.CCManIds LIKE ('%'+@userId+'%') ))
)
UNION ALL
SELECT HazardRegisterId AS DataId
,'B6BE5FE0-CB84-47FF-A6C3-5AD9E1CCE079' AS MenuId
,'安全巡检待确认' AS MenuName
,project.ProjectCode
,register.RegisterDef AS Content
,users.UserId
,users.UserName
,register.RegisterDate AS DataTime
,CONVERT(varchar(100),register.RegisterDate, 23) AS DataTimeStr
,'HSSE/HiddenInspection/HiddenRectificationConfirm.aspx?HazardRegisterId='+register.HazardRegisterId AS PCUrl
FROM HSSE_Hazard_HazardRegister AS register
left join Project_ProjectUser as projectUser on projectUser.UserId=@userId
LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId
left join Base_Project as project on project.ProjectId =projectUser.ProjectId
WHERE (@sType='1' or @sType='2') and register.ProjectId = projectUser.ProjectId and
register.states = '2' AND register.CheckManId =@userId
UNION ALL
SELECT CheckControlCode AS DataId
,'B3E99BD9-FDC7-4F15-8C3C-A7821AC9E306' AS MenuId
,'质量巡检待处理' AS MenuName
,project.ProjectCode
,checkControl.QuestionDef AS Content
,users.UserId
,users.UserName
,checkControl.CheckDate AS DataTime
,CONVERT(varchar(100),checkControl.CheckDate, 23) AS DataTimeStr
,'CQMS/Check/ChecklistEdit.aspx?CheckControlCode='+checkControl.CheckControlCode AS PCUrl
FROM Check_CheckControl AS checkControl
left join Project_ProjectUser as projectUser on projectUser.UserId=@userId
LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId
left join Base_Project as project on project.ProjectId =projectUser.ProjectId
WHERE (@sType='1' or @sType='2') and checkControl.ProjectId = projectUser.ProjectId and
checkControl.State != '7' AND checkControl.CheckControlCode in (select CheckControlCode from Check_CheckControlApprove approve where approve.ApproveType!='S' and approve.ApproveMan=@userId and approve.ApproveDate is null )
UNION ALL
SELECT GJSXID AS DataId
,'0BEA2126-7A48-40EB-8E21-99148E91A22B' AS MenuId
,'关键事项待处理' AS MenuName
,project.ProjectCode
,GJSX.Detail AS Content
,users.UserId
,users.UserName
,GJSX.CreateDate AS DataTime
,CONVERT(varchar(100),GJSX.CreateDate, 23) AS DataTimeStr
,'PZHGL/GJSX/GJSXListEdit.aspx?ToDo=ToDo&EditType=Edit&ID='+GJSXID AS PCUrl
FROM GJSX
left join Project_ProjectUser as projectUser on projectUser.UserId=@userId
LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId
left join Base_Project as project on project.ProjectId =projectUser.ProjectId
WHERE (@sType='1' or @sType='2') and GJSX.ProjectId = projectUser.ProjectId and
GJSX.State != 0 AND (((select count(*) from GJSX_detail detail where detail.Progress_user=@userId and detail.GJSXID=GJSX.GJSXID)=0
and (select count(*) from GJSX_Process process where process.UserId=@userId and process.GJSXID=GJSX.GJSXID)>0)
or (GJSX.User_Acceptance like '%'+@userId+'%' and (select count(*) from GJSX_detail detail where detail.GJSXID=GJSX.GJSXID)=(select count(*) from GJSX_Process process where process.GJSXID=GJSX.GJSXID))
)
UNION ALL
SELECT ConstructSolutionId AS DataId
,'91C4BFDB-0A51-4992-99CC-EB4EC185593D' AS MenuId
,'施工方案待处理' AS MenuName
,project.ProjectCode
,Solution.SolutionName AS Content
,users.UserId
,users.UserName
,Solution.CompileDate AS DataTime
,CONVERT(varchar(100),Solution.CompileDate, 23) AS DataTimeStr
,'CQMS/Solution/EditConstructSolution.aspx?ConstructSolutionId='+Solution.ConstructSolutionId AS PCUrl
FROM Solution_CQMSConstructSolution AS Solution
left join Project_ProjectUser as projectUser on projectUser.UserId=@userId
LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId
left join Base_Project as project on project.ProjectId =projectUser.ProjectId
WHERE (@sType='1' or @sType='2') and Solution.ProjectId = projectUser.ProjectId and
Solution.State!='3'
AND Solution.ConstructSolutionId in
(select top 1 ConstructSolutionId from (
SELECT Solution_CQMSConstructSolutionApprove.*
FROM Solution_CQMSConstructSolutionApprove,
(SELECT MIN([order]) AS [order],ConstructSolutionId FROM Solution_CQMSConstructSolutionApprove where ApproveType!='S' and ApproveDate is null GROUP BY ConstructSolutionId )b
WHERE Solution_CQMSConstructSolutionApprove.[order] = b.[order] and Solution_CQMSConstructSolutionApprove.ConstructSolutionId = b.ConstructSolutionId
) approve
where approve.ApproveMan=@userId )
UNION ALL
SELECT InspectionId AS DataId
,'4781f467-35bf-4cf2-aaa4-7960a175eb61' AS MenuId
,'共检通知单待处理' AS MenuName
,project.ProjectCode
,InspectionManagement.AcceptanceSite AS Content
,users.UserId
,users.UserName
,InspectionManagement.CompileDate AS DataTime
,CONVERT(varchar(100),InspectionManagement.CompileDate, 23) AS DataTimeStr
,'CQMS/ProcessControl/InspectionNoticeEdit.aspx?View=View&InspectionId='+InspectionManagement.InspectionId AS PCUrl
FROM ProcessControl_InspectionManagement AS InspectionManagement
left join Project_ProjectUser as projectUser on projectUser.UserId=@userId
LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId
left join Base_Project as project on project.ProjectId =projectUser.ProjectId
WHERE (@sType='1' or @sType='2') and InspectionManagement.ProjectId=projectUser.ProjectId and
dateadd(day,3,InspectionManagement.CompileDate)>getdate() and InspectionManagement.AcceptanceCheckMan like '%'+@userId+'%'
UNION ALL
SELECT CheckSpecialId AS DataId
,'1B08048F-93ED-4E84-AE65-DB7917EA2DFB' AS MenuId
,'专项检查' AS MenuName
,project.ProjectCode
,CheckItemSet.CheckItemName AS Content
,users.UserId
,users.UserName
,CheckSpecial.CheckTime AS DataTime
,CONVERT(varchar(100),CheckSpecial.CheckTime, 23) AS DataTimeStr
,'HSSE/Check/CheckSpecialView.aspx?CheckSpecialId='+CheckSpecial.CheckSpecialId AS PCUrl
FROM Check_CheckSpecial AS CheckSpecial
left join Project_ProjectUser as projectUser on projectUser.UserId=@userId
LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId
left join Base_Project as project on project.ProjectId =projectUser.ProjectId
LEFT JOIN Technique_CheckItemSet AS CheckItemSet ON CheckItemSet.CheckItemSetId =CheckSpecial.CheckItemSetId
WHERE (@sType='1' or @sType='2') and
dateadd(day,3,CheckSpecial.CheckTime)>getdate() and CheckSpecial.PartInPersonIds like '%'+@userId+'%'
and CheckSpecial.ProjectId = projectUser.ProjectId
UNION ALL
SELECT CheckColligationId AS DataId
,'C198EBA8-9E23-4654-92E1-09C61105C522' AS MenuId
,'综合检查待处理' AS MenuName
,project.ProjectCode
,case CheckType when '0' then '周检' when '1' then '月检' else '其它' end AS Content
,users.UserId
,users.UserName
,CheckColligation.CheckTime AS DataTime
,CONVERT(varchar(100),CheckColligation.CheckTime, 23) AS DataTimeStr
,'HSSE/Check/CheckColligationEdit.aspx?CheckColligationId='+CheckColligation.CheckColligationId AS PCUrl
FROM Check_CheckColligation AS CheckColligation
left join Project_ProjectUser as projectUser on projectUser.UserId=@userId
LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId
left join Base_Project as project on project.ProjectId =projectUser.ProjectId
LEFT JOIN Sys_FlowOperate AS FlowOperate ON CheckColligation.CheckColligationId=FlowOperate.DataId
LEFT JOIN Sys_User AS OperateUser ON FlowOperate.OperaterId=OperateUser.UserId
WHERE (@sType='1' or @sType='2') and
FlowOperate.IsClosed <> 1 and FlowOperate.OperaterId=@userId
and CheckColligation.ProjectId = projectUser.ProjectId
UNION ALL
SELECT PatrolPlanId AS DataId
,'D256E5C8-DC76-4F4D-BABE-A253418823F4' AS MenuId
,'风险巡检待处理' AS MenuName
,project.ProjectCode
,HazardListItem.HazardItems AS Content
,users.UserId
,users.UserName
,PatrolPlan.LimitCheckDate AS DataTime
,CONVERT(varchar(100),PatrolPlan.LimitCheckDate, 23) AS DataTimeStr
,'HSSE/Hazard/RoutingInspectionEdit.aspx?PatrolPlanId='+PatrolPlan.PatrolPlanId AS PCUrl
FROM Hazard_PatrolPlan AS PatrolPlan
left join Project_ProjectUser as projectUser on projectUser.UserId=@userId
LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId
left join Base_Project as project on project.ProjectId =projectUser.ProjectId
LEFT JOIN Hazard_HazardSelectedItem AS HazardListItem on HazardListItem.HazardSelectedItemId=PatrolPlan.HazardSelectedItemId
WHERE (@sType='1' or @sType='2') and
dateadd(day,-3,PatrolPlan.LimitCheckDate)<getdate() and PatrolPlan.DutyPerson=@userId
and (select COUNT(*) from Hazard_RoutingInspection ri where ri.PatrolPlanId=PatrolPlan.PatrolPlanId)=0
and HazardListItem.ProjectId=projectUser.ProjectId
UNION ALL
SELECT PersonQuality.PersonId AS DataId
,'EBEA762D-1F46-47C5-9EAD-759E13D9B41C' AS MenuId
,'特种作业人员资质还有'+convert(nvarchar(6),DATEDIFF(day,getdate(),PersonQuality.LimitDate))+'天过期' AS MenuName
,project.ProjectCode
,Person.PersonName AS Content
,users.UserId
,users.UserName
,PersonQuality.LimitDate AS DataTime
,CONVERT(varchar(100),PersonQuality.LimitDate, 23) AS DataTimeStr
,'HSSE/QualityAudit/PersonQualityEdit.aspx?PersonId='+PersonQuality.PersonId AS PCUrl
FROM QualityAudit_PersonQuality AS PersonQuality
left join Project_ProjectUser as projectUser on projectUser.UserId=@userId
LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId
left join Base_Project as project on project.ProjectId =projectUser.ProjectId
LEFT JOIN SitePerson_Person AS Person on Person.PersonId=PersonQuality.PersonId
WHERE Person.IsUsed=1 and Person.InTime<getdate() and (Person.OutTime is null or Person.OutTime >getdate() ) and
dateadd(day,-15,PersonQuality.LimitDate)<getdate() and getdate()<PersonQuality.LimitDate
and (@sType='1' or @sType='3')
and Person.ProjectId = project.ProjectId
UNION ALL
SELECT PersonQuality.PersonId AS DataId
,'EBEA762D-1F46-47C5-9EAD-759E13D9B41C' AS MenuId
,'特种作业人员资质已过期'+convert(nvarchar(6),DATEDIFF(day,PersonQuality.LimitDate,getdate()))+'' AS MenuName
,project.ProjectCode
,Person.PersonName AS Content
,users.UserId
,users.UserName
,PersonQuality.LimitDate AS DataTime
,CONVERT(varchar(100),PersonQuality.LimitDate, 23) AS DataTimeStr
,'HSSE/QualityAudit/PersonQualityEdit.aspx?PersonId='+PersonQuality.PersonId AS PCUrl
FROM QualityAudit_PersonQuality AS PersonQuality
left join Project_ProjectUser as projectUser on projectUser.UserId=@userId
LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId
left join Base_Project as project on project.ProjectId =projectUser.ProjectId
LEFT JOIN SitePerson_Person AS Person on Person.PersonId=PersonQuality.PersonId
WHERE Person.IsUsed=1 and Person.InTime<getdate() and (Person.OutTime is null or Person.OutTime >getdate() ) and
PersonQuality.LimitDate<getdate() and (@sType='1' or @sType='2') and
Person.ProjectId =projectUser.ProjectId
UNION ALL
SELECT InspectionPersonId AS DataId
,'8ed133de-5899-4687-878a-20b1f5280f18' AS MenuId
,'人员报验还有'+convert(nvarchar(6),DATEDIFF(day,getdate(),Person.ValidityDate))+'天过期 ' AS MenuName
,project.ProjectCode
,Person.PersonName AS Content
,users.UserId
,users.UserName
,Person.ValidityDate AS DataTime
,CONVERT(varchar(100),Person.CompileDate, 23) AS DataTimeStr
,'CQMS/Comprehensive/InspectionPersonEdit.aspx?projectId='+project.ProjectId+'&InspectionPersonId='+Person.InspectionPersonId AS PCUrl
FROM Comprehensive_InspectionPerson AS Person
left join Project_ProjectUser as projectUser on projectUser.UserId=@userId
LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId
left join Base_Project as project on project.ProjectId =projectUser.ProjectId
WHERE Person.IsOnSite=1 and (@sType='1' or @sType='3') and
dateadd(day,-15,Person.ValidityDate)<getdate() and getdate()<Person.ValidityDate and
Person.ProjectId = projectUser.ProjectId
and project.ProjectState='1'
UNION ALL
SELECT InspectionPersonId AS DataId
,'8ed133de-5899-4687-878a-20b1f5280f18' AS MenuId
,'人员报验已过期'+convert(nvarchar(6),DATEDIFF(day,Person.ValidityDate,getdate()))+' ' AS MenuName
,project.ProjectCode
,Person.PersonName AS Content
,users.UserId
,users.UserName
,Person.ValidityDate AS DataTime
,CONVERT(varchar(100),Person.CompileDate, 23) AS DataTimeStr
,'CQMS/Comprehensive/InspectionPersonEdit.aspx?projectId='+project.ProjectId+'&InspectionPersonId='+Person.InspectionPersonId AS PCUrl
FROM Comprehensive_InspectionPerson AS Person
left join Project_ProjectUser as projectUser on projectUser.UserId=@userId
LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId
left join Base_Project as project on project.ProjectId =projectUser.ProjectId
WHERE Person.IsOnSite=1 and (@sType='1' or @sType='2') and
Person.ValidityDate<getdate() and
Person.ProjectId = projectUser.ProjectId
and project.ProjectState='1'
UNION ALL
SELECT InspectionMachineId AS DataId
,'aa55fad1-6c51-43f5-8c99-3c6aaae79118' AS MenuId
,'机具报验还有'+convert(nvarchar(6),DATEDIFF(day,getdate(),Machine.NextTestDate))+'天过期 ' AS MenuName
,project.ProjectCode
,Machine.InspectionMachineName AS Content
,users.UserId
,users.UserName
,Machine.NextTestDate AS DataTime
,CONVERT(varchar(100),Machine.CompileDate, 23) AS DataTimeStr
,'CQMS/Comprehensive/InspectionMachineEdit.aspx?projectId='+project.ProjectId+'&InspectionMachineId='+Machine.InspectionMachineId AS PCUrl
FROM Comprehensive_InspectionMachine AS Machine
left join Project_ProjectUser as projectUser on projectUser.UserId=@userId
LEFT JOIN Sys_User AS users ON users.UserId = projectUser.UserId
left join Base_Project as project on project.ProjectId =projectUser.ProjectId
WHERE Machine.IsOnSite=1 and (@sType='1' or @sType='3') and
dateadd(day,-15,Machine.NextTestDate)<getdate() and getdate()<Machine.NextTestDate and
Machine.ProjectId = projectUser.ProjectId
and project.ProjectState='1'
UNION ALL
SELECT InspectionMachineId AS DataId
,'aa55fad1-6c51-43f5-8c99-3c6aaae79118' AS MenuId
,'机具报验已过期'+convert(nvarchar(6),DATEDIFF(day,Machine.NextTestDate,getdate()))+'' AS MenuName
,project.ProjectCode
,Machine.InspectionMachineName AS Content
,users.UserId
,users.UserName
,Machine.NextTestDate AS DataTime
,CONVERT(varchar(100),Machine.CompileDate, 23) AS DataTimeStr
,'CQMS/Comprehensive/InspectionMachineEdit.aspx?projectId='+project.ProjectId+'&InspectionMachineId='+Machine.InspectionMachineId AS PCUrl
FROM Comprehensive_InspectionMachine AS Machine
left join Project_ProjectUser as projectUser on projectUser.UserId=@userId
LEFT JOIN Sys_User AS users ON users.UserId =projectUser.UserId
left join Base_Project as project on project.ProjectId = projectUser.ProjectId
WHERE Machine.IsOnSite=1 and Machine.ProjectId=projectUser.ProjectId and
Machine.NextTestDate<getdate() and (@sType='1' or @sType='2')
and project.ProjectState='1'
UNION ALL
SELECT distinct Project.ProjectId AS DataId
,'2AE9D982-A499-497F-8F54-ADDA5856887E' AS MenuId
,'本月工程量完成情况尚未填报' AS MenuName
,project.ProjectCode
,'' AS Content
,users.UserId
,users.UserName
,GETDATE() AS DataTime
,CONVERT(varchar(100),GETDATE(), 23) AS DataTimeStr
,'JDGL/Check/QuantityCompletion.aspx?ToDo=ToDo' AS PCUrl
FROM Base_Project AS Project
LEFT JOIN Project_ProjectUser as pu on pu.UserId=@userId
LEFT JOIN Sys_User AS users ON users.UserId = pu.UserId
WHERE (pu.RoleId like '%22F78A47-F59C-4FE8-9C43-2DD304CB2108%' or pu.RoleId like '%GCB64EF3-AB0A-40BC-824D-CC314598D5DC%') and ((DATENAME(DAY,GETDATE())>=22 and (select COUNT(*) from JDGL_QuantityCompletion WHERE DATENAME(year,GETDATE())=DATENAME(year,EndDate) and DATENAME(MONTH,GETDATE())=DATENAME(MONTH,EndDate))=0)
and (@sType='1' or @sType='2') and Project.ProjectId = pu.ProjectId --or (DATEADD(day,60,(select top 1 EndDate from JDGL_QuantityCompletion WHERE ProjectId=@projectId order by EndDate desc))<GETDATE())
)
UNION ALL
SELECT DISTINCT --MonthPlan.MonthPlanId AS DataId
'' AS DataId
,'94287B92-7E96-4B90-BC6F-DAF30AE3B314' AS MenuId
,'进度管理月度计划尚未完成' AS MenuName
,project.ProjectCode
,'' AS Content
,users.UserId
,users.UserName
,GETDATE() AS DataTime
,CONVERT(varchar(100),GETDATE(), 23) AS DataTimeStr
,'JDGL/Check/MonthPlanEditNew.aspx?Months='+CONVERT(varchar(100),Months, 23) AS PCUrl
FROM JDGL_MonthPlan AS MonthPlan
LEFT JOIN Project_ProjectUser as pu on pu.UserId=@userId
LEFT JOIN Sys_User AS users ON users.UserId =pu.UserId
LEFT JOIN Base_Project as project on project.ProjectId =pu.ProjectId
WHERE MonthPlan.ProjectId=pu.ProjectId
and MonthPlan.DutyPerson like '%'+@userId+'%' and MonthPlan.RealDate is null and DATENAME(DAY,GETDATE())>=22 and
DATENAME(year,GETDATE())=DATENAME(year,MonthPlan.PlanDate) and DATENAME(MONTH,GETDATE())=DATENAME(MONTH,MonthPlan.PlanDate)
and (@sType='1' or @sType='2')
UNION ALL
SELECT DISTINCT --WeekPlan.WeekPlanId AS DataId
'' AS DataId
,'56A54B4B-BBA3-4249-9FFC-3A60DAC79059' AS MenuId
,'进度管理周进度计划尚未完成' AS MenuName
,project.ProjectCode
,'' AS Content
,users.UserId
,users.UserName
,GETDATE() AS DataTime
,CONVERT(varchar(100),GETDATE(), 23) AS DataTimeStr
,'JDGL/Check/WeekPlanEdit.aspx?WeekNo='+WeekPlan.WeekNo AS PCUrl
FROM JDGL_WeekPlan AS WeekPlan
LEFT JOIN Project_ProjectUser as pu on pu.UserId=@userId
LEFT JOIN Sys_User AS users ON users.UserId =pu.UserId
LEFT JOIN Base_Project as project on project.ProjectId =pu.ProjectId
WHERE WeekPlan.ProjectId = pu.ProjectId
and WeekPlan.DutyPerson like '%'+@userId+'%' and WeekPlan.IsOK =0 and DATENAME(DAY,GETDATE())<=DATENAME(DAY,WeekPlan.EndDate)
and DATENAME(year,GETDATE())=DATENAME(year,WeekPlan.EndDate) and DATENAME(MONTH,GETDATE())=DATENAME(MONTH,WeekPlan.EndDate)
and (@sType='1' or @sType='2')
ORDER BY DataTime DESC
END
GO