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