Files
SGGL_SHJ/DataBase/版本日志/SGGLDB_V2022-09-04(YangHongwei).sql
T
2022-09-05 16:36:31 +08:00

184 lines
11 KiB
Transact-SQL

ALTER VIEW [dbo].[View_APP_GetToDoItems]
AS
/*待办事项信息视图*/
SELECT ProjectId,PersonId,PersonName,MenuName
FROM
(SELECT HazardRegisterId AS DataId,'安全巡检' AS MenuName,PersonId,users.PersonName,register.ProjectId
FROM HSSE_Hazard_HazardRegister AS register
LEFT JOIN Person_Persons AS users ON users.PersonId =register.ResponsibleMan
WHERE PersonId IS NOT NULL AND register.states = '1'
UNION ALL
SELECT HazardRegisterId AS DataId,'安全巡检' AS MenuName,PersonId,users.PersonName,register.ProjectId
FROM HSSE_Hazard_HazardRegister AS register
LEFT JOIN Person_Persons AS users ON users.PersonId = register.CheckManId
WHERE PersonId IS NOT NULL AND register.states = '2'
UNION ALL
SELECT PlanId AS DataId,'培训计划' AS MenuName,PersonId,users.PersonName,p.ProjectId
FROM Training_Plan AS p
LEFT JOIN Person_Persons AS users ON p.DesignerId= users.PersonId
WHERE PersonId IS NOT NULL AND (States = '0' OR States = '1')
UNION ALL
SELECT TestPlanId AS DataId ,'考试计划' AS MenuName,PersonId,users.PersonName,TPlan.ProjectId
FROM Training_TestPlan AS TPlan
LEFT JOIN Person_Persons AS users ON users.PersonId =TPlan.PlanManId
WHERE PersonId IS NOT NULL AND (States = '0' OR States = '1' )
UNION ALL
SELECT FireWorkId AS DataId,'动火作业' AS MenuName,PersonId,users.PersonName,License.ProjectId
FROM License_FireWork AS License
LEFT JOIN Person_Persons AS users ON (users.PersonId =License.NextManId OR License.NextManId LIKE '%'+ users.PersonId+'%')
WHERE PersonId IS NOT NULL AND (States = '0' OR States = '1')
UNION ALL
SELECT HeightWorkId AS DataId,'高处作业' AS MenuName,PersonId,users.PersonName,License.ProjectId
FROM License_HeightWork AS License
LEFT JOIN Person_Persons AS users ON (users.PersonId =License.NextManId OR License.NextManId LIKE '%'+ users.PersonId+'%')
WHERE PersonId IS NOT NULL AND (States = '0' OR States = '1')
UNION ALL
SELECT LimitedSpaceId AS DataId,'受限空间' AS MenuName,PersonId,users.PersonName,License.ProjectId
FROM License_LimitedSpace AS License
LEFT JOIN Person_Persons AS users ON (users.PersonId =License.NextManId OR License.NextManId LIKE '%'+ users.PersonId+'%')
WHERE PersonId IS NOT NULL AND (States = '0' OR States = '1')
UNION ALL
SELECT RadialWorkId AS DataId,'射线作业' AS MenuName,PersonId,users.PersonName,License.ProjectId
FROM License_RadialWork AS License
LEFT JOIN Person_Persons AS users ON (users.PersonId =License.NextManId OR License.NextManId LIKE '%'+ users.PersonId+'%')
WHERE PersonId IS NOT NULL AND (States = '0' OR States = '1')
UNION ALL
SELECT OpenCircuitId AS DataId,'断路(占道)' AS MenuName,PersonId,users.PersonName,License.ProjectId
FROM License_OpenCircuit AS License
LEFT JOIN Person_Persons AS users ON (users.PersonId =License.NextManId OR License.NextManId LIKE '%'+ users.PersonId+'%')
WHERE PersonId IS NOT NULL AND (States = '0' OR States = '1')
UNION ALL
SELECT BreakGroundId AS DataId,'动土作业' AS MenuName,PersonId,users.PersonName,License.ProjectId
FROM License_BreakGround AS License
LEFT JOIN Person_Persons AS users ON (users.PersonId =License.NextManId OR License.NextManId LIKE '%'+ users.PersonId+'%')
WHERE PersonId IS NOT NULL AND (States = '0' OR States = '1')
UNION ALL
SELECT NightWorkId AS DataId,'夜间施工' AS MenuName,PersonId,users.PersonName,License.ProjectId
FROM License_NightWork AS License
LEFT JOIN Person_Persons AS users ON (users.PersonId =License.NextManId OR License.NextManId LIKE '%'+ users.PersonId+'%')
WHERE PersonId IS NOT NULL AND (States = '0' OR States = '1')
UNION ALL
SELECT LiftingWorkId AS DataId,'吊装作业' AS MenuName,PersonId,users.PersonName,License.ProjectId
FROM License_LiftingWork AS License
LEFT JOIN Person_Persons AS users ON (users.PersonId =License.NextManId OR License.NextManId LIKE '%'+ users.PersonId+'%')
WHERE PersonId IS NOT NULL AND (States = '0' OR States = '1')
UNION ALL
SELECT Person.PersonId AS DataId,'现场人员' AS MenuName,Person.PersonId,users.PersonName,Person.ProjectId
FROM SitePerson_Person AS Person
LEFT JOIN Person_Persons AS users ON Person.AuditorId =users.PersonId
WHERE Person.PersonId IS NOT NULL AND Person.States ='0'
UNION ALL
SELECT PersonQualityId AS DataId,'特种作业人员' AS MenuName,users.PersonId,users.PersonName,Person.ProjectId
FROM QualityAudit_PersonQuality AS p
LEFT JOIN SitePerson_Person AS Person ON Person.PersonId =p.PersonId
LEFT JOIN Person_Persons AS users ON users.PersonId =p.AuditorId
WHERE Person.PersonId IS NOT NULL AND p.States ='1'
UNION ALL
SELECT SafePersonQualityId AS DataId,'安管人员' AS MenuName,users.PersonId,users.PersonName,Person.ProjectId
FROM QualityAudit_SafePersonQuality AS p
LEFT JOIN SitePerson_Person AS Person ON Person.PersonId =p.PersonId
LEFT JOIN Person_Persons AS users ON users.PersonId =p.AuditorId
WHERE Person.PersonId IS NOT NULL AND p.States ='1'
UNION ALL
SELECT EquipmentPersonQualityId AS DataId,'特种设备作业人员' AS MenuName,users.PersonId,users.PersonName,Person.ProjectId
FROM QualityAudit_EquipmentPersonQuality AS p
LEFT JOIN SitePerson_Person AS Person ON Person.PersonId =p.PersonId
LEFT JOIN Person_Persons AS users ON users.PersonId =p.AuditorId
WHERE Person.PersonId IS NOT NULL AND p.States ='1'
UNION ALL
SELECT TaskId AS DataId,'培训任务' AS MenuName,users.PersonId,users.PersonName,Task.ProjectId
FROM Training_Task AS Task
LEFT JOIN Person_Persons AS users ON users.PersonId =Task.UserId
WHERE users.PersonId IS NOT NULL AND (Task.States IS NULL OR Task.States != 2)
UNION ALL
SELECT RectifyNoticesId AS DataId,'隐患整改' AS MenuName,users.PersonId,users.PersonName,Rectify.ProjectId
FROM Check_RectifyNotices AS Rectify
LEFT JOIN Person_Persons AS users ON Rectify.CompleteManId = users.PersonId
WHERE PersonId IS NOT NULL AND ISNULL(Rectify.States,0) =0
UNION ALL
(SELECT RectifyNoticesId AS DataId,'隐患整改' AS MenuName,users.PersonId,users.PersonName,Rectify.ProjectId
FROM Check_RectifyNotices AS Rectify
LEFT JOIN Person_Persons AS users ON Rectify.SignPerson= users.PersonId
WHERE PersonId IS NOT NULL AND Rectify.States =1
UNION ALL
SELECT RectifyNoticesId AS DataId,'隐患整改' AS MenuName,users.PersonId,users.PersonName,Rectify.ProjectId
FROM Check_RectifyNotices AS Rectify
LEFT JOIN Person_Persons AS users ON Rectify.DutyPersonId= users.PersonId
WHERE PersonId IS NOT NULL AND Rectify.States =2
UNION ALL
SELECT RectifyNoticesId AS DataId,'隐患整改' AS MenuName,users.PersonId,users.PersonName,Rectify.ProjectId
FROM Check_RectifyNotices AS Rectify
LEFT JOIN Person_Persons AS users ON Rectify.UnitHeadManId =users.PersonId
WHERE PersonId IS NOT NULL AND Rectify.States =3
UNION ALL
SELECT RectifyNoticesId AS DataId,'隐患整改' AS MenuName,users.PersonId,users.PersonName,Rectify.ProjectId
FROM Check_RectifyNotices AS Rectify
LEFT JOIN Person_Persons AS users ON Rectify.CheckPerson =users.PersonId
WHERE PersonId IS NOT NULL AND Rectify.States =4
UNION ALL
SELECT RectifyNoticesId AS DataId,'隐患整改' AS MenuName,users.PersonId,users.PersonName,Rectify.ProjectId
FROM Check_RectifyNotices AS Rectify
LEFT JOIN Person_Persons AS users ON Rectify.ProfessionalEngineerId =users.PersonId
WHERE PersonId IS NOT NULL AND Rectify.States <> 5 AND (ProfessionalEngineerTime1 IS NULL OR ProfessionalEngineerTime2 IS NULL)
UNION ALL
SELECT RectifyNoticesId AS DataId,'隐患整改' AS MenuName,users.PersonId,users.PersonName,Rectify.ProjectId
FROM Check_RectifyNotices AS Rectify
LEFT JOIN Person_Persons AS users ON Rectify.ConstructionManagerId =users.PersonId
WHERE PersonId IS NOT NULL AND Rectify.States <> 5 AND (ConstructionManagerTime1 IS NULL OR ConstructionManagerTime2 IS NULL)
UNION ALL
SELECT RectifyNoticesId AS DataId,'隐患整改' AS MenuName,users.PersonId,users.PersonName,Rectify.ProjectId
FROM Check_RectifyNotices AS Rectify
LEFT JOIN Person_Persons AS users ON Rectify.ProjectManagerId =users.PersonId
WHERE PersonId IS NOT NULL AND Rectify.States <> 5 AND (ProjectManagerTime1 IS NULL OR ProjectManagerTime2 IS NULL))
UNION ALL
(SELECT PauseNoticeId AS DataId,'暂停令' AS MenuName,users.PersonId,users.PersonName,PauseNotice.ProjectId
FROM Check_PauseNotice AS PauseNotice
LEFT JOIN Person_Persons AS users ON PauseNotice.CompileManId = users.PersonId
WHERE PersonId IS NOT NULL AND ISNULL(PauseNotice.PauseStates,0) =0
UNION ALL
SELECT PauseNoticeId AS DataId,'暂停令' AS MenuName,users.PersonId,users.PersonName,PauseNotice.ProjectId
FROM Check_PauseNotice AS PauseNotice
LEFT JOIN Person_Persons AS users ON PauseNotice.SignManId= users.PersonId
WHERE PersonId IS NOT NULL AND PauseNotice.PauseStates =1
UNION ALL
SELECT PauseNoticeId AS DataId,'暂停令' AS MenuName,users.PersonId,users.PersonName,PauseNotice.ProjectId
FROM Check_PauseNotice AS PauseNotice
LEFT JOIN Person_Persons AS users ON PauseNotice.ApproveManId= users.PersonId
WHERE PersonId IS NOT NULL AND PauseNotice.PauseStates =2
UNION ALL
SELECT PauseNoticeId AS DataId,'暂停令' AS MenuName,users.PersonId,users.PersonName,PauseNotice.ProjectId
FROM Check_PauseNotice AS PauseNotice
LEFT JOIN Person_Persons AS users ON PauseNotice.DutyPersonId =users.PersonId
WHERE PersonId IS NOT NULL AND PauseNotice.PauseStates =3
UNION ALL
SELECT PauseNoticeId AS DataId,'暂停令' AS MenuName,users.PersonId,users.PersonName,PauseNotice.ProjectId
FROM Check_PauseNotice AS PauseNotice
LEFT JOIN Person_Persons AS users ON PauseNotice.ProfessionalEngineerId =users.PersonId
WHERE PersonId IS NOT NULL AND PauseNotice.PauseStates <> 4 AND ProfessionalEngineerTime IS NULL
UNION ALL
SELECT PauseNoticeId AS DataId,'暂停令' AS MenuName,users.PersonId,users.PersonName,PauseNotice.ProjectId
FROM Check_PauseNotice AS PauseNotice
LEFT JOIN Person_Persons AS users ON PauseNotice.ConstructionManagerId =users.PersonId
WHERE PersonId IS NOT NULL AND PauseNotice.PauseStates <> 4 AND ConstructionManagerTime IS NULL
UNION ALL
SELECT PauseNoticeId AS DataId,'暂停令' AS MenuName,users.PersonId,users.PersonName,PauseNotice.ProjectId
FROM Check_PauseNotice AS PauseNotice
LEFT JOIN Person_Persons AS users ON PauseNotice.UnitHeadManId =users.PersonId
WHERE PersonId IS NOT NULL AND PauseNotice.PauseStates <> 4 AND UnitHeadManTime IS NULL
UNION ALL
SELECT PauseNoticeId AS DataId,'暂停令' AS MenuName,users.PersonId,users.PersonName,PauseNotice.ProjectId
FROM Check_PauseNotice AS PauseNotice
LEFT JOIN Person_Persons AS users ON PauseNotice.SupervisorManId =users.PersonId
WHERE PersonId IS NOT NULL AND PauseNotice.PauseStates <> 4 AND SupervisorManTime IS NULL
UNION ALL
SELECT PauseNoticeId AS DataId,'暂停令' AS MenuName,users.PersonId,users.PersonName,PauseNotice.ProjectId
FROM Check_PauseNotice AS PauseNotice
LEFT JOIN Person_Persons AS users ON PauseNotice.OwnerId =users.PersonId
WHERE PersonId IS NOT NULL AND PauseNotice.PauseStates <> 4 AND OwnerTime IS NULL)
) AS V
GO