diff --git a/DataBase/版本日志/SGGLDB_V2026-04-15-gf.sql b/DataBase/版本日志/SGGLDB_V2026-04-15-gf.sql new file mode 100644 index 00000000..5176b63d --- /dev/null +++ b/DataBase/版本日志/SGGLDB_V2026-04-15-gf.sql @@ -0,0 +1,104 @@ + +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 + + diff --git a/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx.cs b/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx.cs index f111e53a..50156447 100644 --- a/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx.cs +++ b/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonList.aspx.cs @@ -244,7 +244,7 @@ Where ProjectId=@ProjectId "; } if (this.ckTrain.Checked) { - strSql += " AND (TrainCount =0 AND TrainCount1 =0)"; + strSql += " AND ((TrainCount =0 AND TrainCount1 =0) || TrainCount2=0)"; } if (this.ckIsUsed.Checked) { diff --git a/SGGL/Model/Model.cs b/SGGL/Model/Model.cs index cf54f5d6..48fe55f9 100644 --- a/SGGL/Model/Model.cs +++ b/SGGL/Model/Model.cs @@ -319096,6 +319096,8 @@ namespace Model private System.Nullable _TrainCount1; + private System.Nullable _TrainCount2; + private string _AuditorId; private string _AuditorName; @@ -319728,6 +319730,22 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TrainCount2", DbType="Int")] + public System.Nullable TrainCount2 + { + get + { + return this._TrainCount2; + } + set + { + if ((this._TrainCount2 != value)) + { + this._TrainCount2 = value; + } + } + } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AuditorId", DbType="NVarChar(50)")] public string AuditorId {