SGGL_SHJ/DataBase/版本日志/已更新脚本/SGGLDB_V2022-09-05.sql

230 lines
13 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 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
CREATE TABLE [dbo].[Person_PersonContract](
[PersonContractId] [nvarchar](50) NOT NULL,
[PersonId] [nvarchar](50) NULL,
[UnitId] [nvarchar](50) NULL,
[ProjectId] [nvarchar](50) NULL,
[LeadManId] [nvarchar](50) NULL,
[Telephone] [nvarchar](50) NULL,
[ContractType] [nvarchar](50) NULL,
[StartDate] [datetime] NULL,
[EndDate] [datetime] NULL,
CONSTRAINT [PK_Person_PersonContract] PRIMARY KEY CLUSTERED
(
[PersonContractId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Person_PersonContract', @level2type=N'COLUMN',@level2name=N'PersonContractId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'人员ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Person_PersonContract', @level2type=N'COLUMN',@level2name=N'PersonId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单位ID甲方' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Person_PersonContract', @level2type=N'COLUMN',@level2name=N'UnitId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Person_PersonContract', @level2type=N'COLUMN',@level2name=N'ProjectId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'负责人ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Person_PersonContract', @level2type=N'COLUMN',@level2name=N'LeadManId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'联系电话' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Person_PersonContract', @level2type=N'COLUMN',@level2name=N'Telephone'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合同类型' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Person_PersonContract', @level2type=N'COLUMN',@level2name=N'ContractType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'培训日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Person_PersonContract', @level2type=N'COLUMN',@level2name=N'StartDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'人员合同表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Person_PersonContract'
GO