diff --git a/DataBase/版本日志/SGGLDB_V2023-06-28.sql b/DataBase/版本日志/SGGLDB_V2023-06-28.sql new file mode 100644 index 00000000..45f89a12 --- /dev/null +++ b/DataBase/版本日志/SGGLDB_V2023-06-28.sql @@ -0,0 +1,94 @@ +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, + 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 +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 \ No newline at end of file diff --git a/DataBase/版本日志/SGGLDB_V2023-06-28修改明细.txt b/DataBase/版本日志/SGGLDB_V2023-06-28修改明细.txt new file mode 100644 index 00000000..156165ab --- /dev/null +++ b/DataBase/版本日志/SGGLDB_V2023-06-28修改明细.txt @@ -0,0 +1,5 @@ +--ADD BY YangHongwei 2023-06-28 +1、优化人员档案列表未培训判断。 +2、删除项目人员方法加判断存在重复身份证号码人员直接删除。 +3、项目劳务人员加部门查询下拉框。 +--END \ No newline at end of file diff --git a/SGGL/BLL/HSSE/SitePerson/SitePerson_PersonService.cs b/SGGL/BLL/HSSE/SitePerson/SitePerson_PersonService.cs index 34672431..869ec46d 100644 --- a/SGGL/BLL/HSSE/SitePerson/SitePerson_PersonService.cs +++ b/SGGL/BLL/HSSE/SitePerson/SitePerson_PersonService.cs @@ -44,7 +44,7 @@ namespace BLL /// /// /// - public static IEnumerable getListData(string projetcId, string unitId, string workPostId, string name, string idCard, string states, string personType, Grid Grid1) + public static IEnumerable getListData(string projetcId, string unitId, string departId, string workPostId, string name, string idCard, string states, string personType, Grid Grid1) { IQueryable getDataList = getDataLists; if (!string.IsNullOrEmpty(projetcId) && projetcId != Const._Null) @@ -55,6 +55,10 @@ namespace BLL { getDataList = getDataList.Where(e => e.UnitId == unitId); } + if (!string.IsNullOrEmpty(departId) && departId != Const._Null) + { + getDataList = getDataList.Where(e => e.DepartId == departId); + } if (!string.IsNullOrEmpty(workPostId) && workPostId != Const._Null) { getDataList = getDataList.Where(e => e.WorkPostId == workPostId); @@ -696,33 +700,42 @@ namespace BLL { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { - Model.SitePerson_Person newPerson = new Model.SitePerson_Person + var getPerson = db.SitePerson_Person.FirstOrDefault(x => x.IdentityCard == person.IdentityCard && x.ProjectId == person.ProjectId); + if (getPerson == null) { - SitePersonId = person.SitePersonId, - PersonId = person.PersonId, - CardNo = person.CardNo, - PersonName = person.PersonName, - UnitId = person.UnitId, - IdentityCard = person.IdentityCard, - ProjectId = person.ProjectId, - TeamGroupId = person.TeamGroupId, - WorkAreaId = person.WorkAreaId, - WorkPostId = person.WorkPostId, - RoleIds = person.RoleIds, - OutTime = person.OutTime, - OutResult = person.OutResult, - AuditorId = person.AuditorId, - AuditorDate = person.AuditorDate, - InTime = person.InTime.HasValue ? person.InTime : DateTime.Now, - Isprint = "0", - States = person.States, - IsSafetyMonitoring=person.IsSafetyMonitoring, - }; + Model.SitePerson_Person newPerson = new Model.SitePerson_Person + { + SitePersonId = person.SitePersonId, + PersonId = person.PersonId, + CardNo = person.CardNo, + PersonName = person.PersonName, + UnitId = person.UnitId, + IdentityCard = person.IdentityCard, + ProjectId = person.ProjectId, + TeamGroupId = person.TeamGroupId, + WorkAreaId = person.WorkAreaId, + WorkPostId = person.WorkPostId, + RoleIds = person.RoleIds, + OutTime = person.OutTime, + OutResult = person.OutResult, + AuditorId = person.AuditorId, + AuditorDate = person.AuditorDate, + InTime = person.InTime.HasValue ? person.InTime : DateTime.Now, + Isprint = "0", + States = person.States, + IsSafetyMonitoring = person.IsSafetyMonitoring, + }; - ////现场人员项目出入场记录 - SitePerson_PersonItemService.SetPersonItemInOut(newPerson, null); - db.SitePerson_Person.InsertOnSubmit(newPerson); - db.SubmitChanges(); + ////现场人员项目出入场记录 + SitePerson_PersonItemService.SetPersonItemInOut(newPerson, null); + db.SitePerson_Person.InsertOnSubmit(newPerson); + db.SubmitChanges(); + } + else + { + person.SitePersonId = getPerson.SitePersonId; + UpdateSitePerson(person, null); + } } } @@ -875,15 +888,22 @@ namespace BLL /// 人员Id public static void DeleteSitePersonById(string sitePersonId) { - var person = Funs.DB.SitePerson_Person.FirstOrDefault(e => e.SitePersonId == sitePersonId); - if (person != null) + using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { - ////现场人员项目出入场记录 - person.States = Const.ProjectPersonStates_2; - SitePerson_PersonItemService.SetPersonItemInOut(person, null); + var person = db.SitePerson_Person.FirstOrDefault(e => e.SitePersonId == sitePersonId); + if (person != null) + { + var getSitePersons = db.SitePerson_Person.Where(x => x.IdentityCard == person.IdentityCard && x.ProjectId == person.ProjectId); + if (getSitePersons.Count() == 1) + { + ////现场人员项目出入场记录 + person.States = Const.ProjectPersonStates_2; + SitePerson_PersonItemService.SetPersonItemInOut(person, null); + } - Funs.DB.SitePerson_Person.DeleteOnSubmit(person); - Funs.DB.SubmitChanges(); + db.SitePerson_Person.DeleteOnSubmit(person); + db.SubmitChanges(); + } } } diff --git a/SGGL/FineUIPro.Web/HSSE/EduTrain/TrainRecord.aspx b/SGGL/FineUIPro.Web/HSSE/EduTrain/TrainRecord.aspx index d3fff928..c6a7ace8 100644 --- a/SGGL/FineUIPro.Web/HSSE/EduTrain/TrainRecord.aspx +++ b/SGGL/FineUIPro.Web/HSSE/EduTrain/TrainRecord.aspx @@ -39,12 +39,12 @@ -