----获取安全人工时 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