xinjiang/DataBase/版本日志/SGGLDB_V2024-09-09-001-gaof...

191 lines
7.5 KiB
Transact-SQL

----获取安全人工时
Create view View_IOC_Home_SafeWorkTime
as
SELECT Project.ProjectId,--项目id
Project.ProjectName,--项目名称
Project.ProjectCode,--项目编码
SUM(ISNULL(mmsb.TotalManhoursTotal, 0)) AS SafeWorkTime --安全工时
FROM Manager_ManhoursSortB mmsb
JOIN
Manager_MonthReportB mmb ON mmsb.MonthReportId = mmb.MonthReportId
JOIN
Base_Project Project ON mmb.ProjectId = Project.ProjectId
WHERE mmb.MonthReportId IN (SELECT TOP 1 MonthReportId
FROM Manager_MonthReportB
WHERE ProjectId = Project.ProjectId
ORDER BY Months DESC)
GROUP BY Project.ProjectId, Project.ProjectName, Project.ProjectCode
go
-----获取安全隐患整改单
Create view View_IOC_Home_SafeRectifyNotices
as
SELECT Project.ProjectId,--项目id
Project.ProjectName,--项目名称
Project.ProjectCode ,--项目编码
R.RectifyNoticesId,--安全隐患整改单主键id
R.RectifyNoticesCode,--安全隐患整改单编码
Unit.UnitName,--单位名称
R.CheckManNames,--检查人姓名
WorkAreaName= STUFF((SELECT ',' + UnitWorkName
FROM dbo.WBS_UnitWork
where PATINDEX('%,' + RTRIM(UnitWorkId) + ',%', ',' + R.WorkAreaId + ',') > 0
FOR XML PATH('')), 1, 1, ''),--单位工程名称
R.CheckedDate,--检查日期
DutyPerson.UserName AS DutyPersonName,--责任人
R.DutyPersonTime,--接收人接收日期
R.CompleteDate,--日期
(CASE
WHEN States = 5 THEN '已完成'
ELSE '未完成' END) AS StatesName
FROM Check_RectifyNotices AS R
LEFT JOIN Base_Project AS Project ON Project.ProjectId = R.ProjectId
LEFT JOIN Base_Unit AS Unit ON Unit.UnitId = R.UnitId
LEFT JOIN Sys_User AS CompileMan ON CompileMan.UserId = R.CompleteManId
LEFT JOIN Sys_User AS DutyPerson ON DutyPerson.UserId = R.DutyPersonId
WHERE States IS NOT NULL
or States != '0'
go
----工程概况
Create view View_IOC_Home_ProjectOverview
as
select ProjectId,--项目id
ProjectName,--项目名称
ProjectCode,--项目编号
ShortName,--项目简称
ProjectAddress,--项目地址
OwnUnit = STUFF((SELECT ',' + UnitName
FROM dbo.Project_ProjectUnit
left join Base_Unit on Project_ProjectUnit.UnitId = Base_Unit.UnitId
where Project_ProjectUnit.ProjectId = Project.ProjectId
and UnitType = '4'
FOR XML PATH('')), 1, 1, ''),--建设单位
JLUnit = STUFF((SELECT ',' + UnitName
FROM dbo.Project_ProjectUnit
left join Base_Unit on Project_ProjectUnit.UnitId = Base_Unit.UnitId
where Project_ProjectUnit.ProjectId = Project.ProjectId
and UnitType = '3'
FOR XML PATH('')), 1, 1, ''),--监理单位
SGUnit = STUFF((SELECT ',' + UnitName
FROM dbo.Project_ProjectUnit
left join Base_Unit on Project_ProjectUnit.UnitId = Base_Unit.UnitId
where Project_ProjectUnit.ProjectId = Project.ProjectId
and UnitType = '2'
FOR XML PATH('')), 1, 1, ''),--施工单位
ContractDays= DATEDIFF(day, Project.StartDate, Project.EndDate),--合同总工期
ContractEndDate=Project.EndDate,--合同到期时间
RemainingDays=DATEDIFF(day, Project.EndDate, getdate())--距离竣工剩余时间
from Base_Project Project
go
-----质量统计
Create view View_IOC_Home_CQMSStatistics
as
select Project.ProjectId,--项目id
Project.ProjectName,--项目名称
Project.ProjectCode,--项目编码
QuestionDef,--问题描述
RectifyOpinion,----整改要求
HandleWay,--处理方式
LimitDate,--整改时间
(CASE
WHEN ck.State = '6' THEN '已完成'
ELSE '未完成' END) AS States --状态
from Check_JointCheckDetail ckdetail
left join Check_JointCheck ck on ckdetail.JointCheckId = ck.JointCheckId
left join Base_Project project on ck.ProjectId = project.ProjectId
union all
select Project.ProjectId,--项目id
Project.ProjectName,--项目名称
Project.ProjectCode,--项目编码
QuestionDef,--问题描述
RectifyOpinion,----整改要求
HandleWay,--处理方式
LimitDate,--整改时间
(CASE
WHEN ckControl.State = '7' THEN '已完成'
ELSE '未完成' END) AS States --状态
from Check_CheckControl ckControl
left join Base_Project project on ckControl.ProjectId = project.ProjectId
go
-----劳务数据
Create view View_IOC_Home_LabourData
as
SELECT DISTINCT Project.ProjectId,--项目id
Project.ProjectName,--项目名称
Project.ProjectCode,--项目编码
IdentityCard=record.IDCardNo, --身份证号码
workpost.WorkPostName,--岗位名称
(case
when workpost.PostType = '1' then '管理人员'
else '作业人员' end) as PostType--岗位类型
FROM T_d_EmployInOutRecord record
left join Base_Project project on record.ProjectId = project.ProjectId
left join SitePerson_Person person on person.IdentityCard = record.IDCardNo
left join Base_WorkPost workpost on person.WorkPostId = workpost.WorkPostId
WHERE record.RecordDate = CAST(GETDATE() AS DATE)
go
-----待办事项
--存储过程
---预警信息
Create view View_IOC_Home_Warning
as
SELECT Project.ProjectId,--项目id
Project.ProjectName,--项目名称
Project.ProjectCode,--项目编码
y.PersonName,--人员姓名
y.IdentityCard,--人员身份证号号码
x.CertificateNo,--证书编号
CertificateName,--证书名称
x.SendDate,--发证时间
x.LimitDate--证书到期时间
FROM QualityAudit_PersonQuality x
JOIN SitePerson_Person y ON x.PersonId = y.PersonId
left join Base_Project project on y.ProjectId = project.ProjectId
WHERE x.LimitDate <= GETDATE()
go
---环境检测数据
Create view View_IOC_Home_Environmental
as
select Project.ProjectId,--项目id
Project.ProjectName,--项目名称
Project.ProjectCode,--项目编码
pm10,--PM10
pm25,--PM2.5
noise,--噪声
tem,--温度
hum,--湿度
ws,--风速
CompileDate
from Environmental_EnvironmentalMonitoring x
left join Base_Project project on x.ProjectId = project.ProjectId
go
--进度数据
Create view View_IOC_Home_Schedule
as
select Project.ProjectId,--项目id
Project.ProjectName,--项目名称
Project.ProjectCode,--项目编码
x.ScheduleId,--进度主键
x.ScheduleName,--进度名称
x.ScheduleDate,--日期
x.SortId--排序
from Sys_Schedule x
left join Base_Project project on x.ProjectId = project.ProjectId
go
--风险管控
Create view View_IOC_Home_Hazard
as
SELECT Project.ProjectId,--项目id
Project.ProjectName,--项目名称
Project.ProjectCode,--项目编码
x.HazardSelectedItemId,--风险管控主键id
x.HazardItems,--危险因素明细
x.DefectsType,--危险源类别
y.RiskLevel,--危险级别
y.RiskLevelName--危险级别名称
FROM Hazard_HazardSelectedItem x
JOIN Base_RiskLevel y ON x.HazardLevel = y.RiskLevelId
left join Base_Project project on x.ProjectId = project.ProjectId
go