ALTER VIEW [dbo].[View_SitePerson_Person] AS /*现场人员视图*/ SELECT SitePerson.ProjectId, Project.ProjectCode, Project.ProjectName, SitePerson.SitePersonId, persons.PersonId, SitePerson.CardNo, Persons.PersonName, Persons.Sex, (Case Persons.Sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '' END) AS SexName, Persons.IdentityCard, Persons.Address, SitePerson.UnitId, Persons.DepartId, Persons.Birthday, SitePerson.TeamGroupId, SitePerson.WorkAreaId, SitePerson.WorkPostId, SitePerson.InTime, SitePerson.OutTime, SitePerson.OutResult, Persons.Telephone, Persons.PositionId, Persons.PostTitleId, Persons.PhotoUrl, Unit.UnitCode, Unit.UnitName, TeamGroup.TeamGroupName, Post.WorkPostName, Position.PositionName, Title.PostTitleName, Depart.DepartName, Post.PostType, Post.IsHsse, (SELECT COUNT(*) FROM EduTrain_TrainRecordDetail T LEFT JOIN EduTrain_TrainRecord AS E ON T.TrainingId=E.TrainingId WHERE T.PersonId=SitePerson.PersonId AND E.ProjectId=SitePerson.ProjectId AND T.CheckResult=1) AS TrainCount, (SELECT COUNT(*) FROM Training_TestRecord R WHERE R.TestManId=SitePerson.PersonId AND R.ProjectId=SitePerson.ProjectId and R.TestScores > ISNULL((SELECT TOP 1 PassingScore FROM Sys_TestRule),60)) AS TrainCount1, (SELECT COUNT(*) FROM Training_TestRecord R1 left join Training_TestPlan p1 on p1.TestPlanId=R1.TestPlanId left join Training_Plan p2 on p2.PlanId=p1.PlanId WHERE R1.TestManId=SitePerson.PersonId AND R1.ProjectId=SitePerson.ProjectId and R1.TestScores > ISNULL((SELECT TOP 1 PassingScore FROM Sys_TestRule),60) and p2.TrainTypeId='8920c9cc-fa92-49b2-9493-775a55da27bb' and R1.TestStartTime>=SitePerson.InTime) AS TrainCount2, --当次入场入场教育培训考试合格 SitePerson.AuditorId, Persons.PersonName AS AuditorName, SitePerson.AuditorDate, Persons.IDCardUrl, Persons.IsForeign, case when Persons.IsForeign=1 then '是' else '否' end as IsForeignStr, Persons.IdcardType, BasicData1.dictName as IdcardTypeName, Persons.IdcardStartDate, Persons.IdcardEndDate, Persons.IdcardForever, case when Persons.IdcardForever='Y' then '是' else '否' end as IdcardForeverStr, Persons.PoliticsStatus, BasicData2.dictName as PoliticsStatusName, Persons.IdcardAddress, Persons.Nation, BasicData3.dictName as NationName, Persons.EduLevel, BasicData4.dictName as EduLevelName, Persons.MaritalStatus, BasicData5.dictName as MaritalStatusName, Persons.CountryCode, Country.cname as CountryName, Persons.ProvinceCode, City.cname as ProvinceName, Persons.PersonType, (case when Persons.PersonType='2' then '外聘' when Persons.PersonType='3' then '第三方' else '员工' end) as IsOutsideStr, --WorkArea.UnitWorkCode AS WorkAreaCode, WorkAreaCode= STUFF((SELECT ',' + UnitWorkCode FROM dbo.WBS_UnitWork where PATINDEX('%,' + RTRIM(UnitWorkId) + ',%',',' +SitePerson.WorkAreaId + ',')>0 FOR XML PATH('')), 1, 1,''), --WorkArea.UnitWorkName AS WorkAreaName WorkAreaName= STUFF((SELECT ',' + UnitWorkName FROM dbo.WBS_UnitWork where PATINDEX('%,' + RTRIM(UnitWorkId) + ',%',',' +SitePerson.WorkAreaId + ',')>0 FOR XML PATH('')), 1, 1,''), SitePerson.RealNameAddTime, SitePerson.RealNameUpdateTime, Persons.HeadImage, SitePerson.States, Persons.YunMouState FROM SitePerson_Person AS SitePerson LEFT JOIN Person_Persons AS Persons ON SitePerson.PersonId=Persons.PersonId LEFT JOIN Base_Project AS Project ON Project.ProjectId=SitePerson.ProjectId LEFT JOIN Base_Unit AS Unit ON Unit.UnitId = SitePerson.UnitId LEFT JOIN ProjectData_TeamGroup AS TeamGroup ON TeamGroup.TeamGroupId=SitePerson.TeamGroupId LEFT JOIN Base_WorkPost AS Post ON Post.WorkPostId = SitePerson.WorkPostId LEFT JOIN Base_Position AS Position ON Position.PositionId = Persons.PositionId Left JOIN Base_PostTitle AS Title ON Title.PostTitleId = Persons.PostTitleId Left JOIN Base_Depart AS Depart ON Depart.DepartId = Persons.DepartId Left JOIN RealName_BasicData AS BasicData1 ON BasicData1.dictCode = Persons.IdcardType Left JOIN RealName_BasicData AS BasicData2 ON BasicData2.dictCode = Persons.PoliticsStatus Left JOIN RealName_BasicData AS BasicData3 ON BasicData3.dictCode = Persons.Nation Left JOIN RealName_BasicData AS BasicData4 ON BasicData4.dictCode = Persons.EduLevel Left JOIN RealName_BasicData AS BasicData5 ON BasicData5.dictCode = Persons.MaritalStatus Left JOIN RealName_Country AS Country ON Country.CountryId = Persons.CountryCode Left JOIN RealName_City AS City ON City.provinceCode = Persons.ProvinceCode and City.CountryId = Persons.CountryCode GO