From 295cd47c8b7c0282ec2f2787541046968d3b6c0a Mon Sep 17 00:00:00 2001 From: yhw0507 Date: Mon, 26 Jun 2023 09:35:56 +0800 Subject: [PATCH] =?UTF-8?q?20230626=20=E4=BA=BA=E5=91=98=E7=BB=8F=E5=8E=86?= =?UTF-8?q?=E4=BA=8C=E6=AC=A1=E5=85=A5=E5=9C=BA=E6=97=B6=E9=97=B4=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SitePerson/SitePerson_PersonService.cs | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/SGGL/BLL/HSSE/SitePerson/SitePerson_PersonService.cs b/SGGL/BLL/HSSE/SitePerson/SitePerson_PersonService.cs index b7822e9e..eb3b4973 100644 --- a/SGGL/BLL/HSSE/SitePerson/SitePerson_PersonService.cs +++ b/SGGL/BLL/HSSE/SitePerson/SitePerson_PersonService.cs @@ -781,17 +781,25 @@ namespace BLL } else { - var getPersons = db.Person_Persons.FirstOrDefault(x => x.IdentityCard == newPerson.IdentityCard); - if (getPersons != null && (!getPersons.MultiProject.HasValue || getPersons.MultiProject == false)) + var getDatePItem = db.SitePerson_PersonItem.FirstOrDefault(x => x.ProjectId == person.ProjectId && x.IdentityCard == person.IdentityCard && x.OutTime .HasValue && x.OutTime < person.InTime); + if (getDatePItem != null) { - var getdate = newPerson.InTime.HasValue ? newPerson.InTime.Value.AddDays(-1) : DateTime.Now; - var getPersonItems = db.SitePerson_PersonItem.Where(x => x.PersonId == newPerson.PersonId && x.ProjectId != newPerson.ProjectId && !x.OutTime.HasValue); - foreach(var item in getPersonItems) - { - item.OutTime = getdate; - db.SubmitChanges(); - } + setPersonItemInOut = true; } + else + { + var getPersons = db.Person_Persons.FirstOrDefault(x => x.IdentityCard == newPerson.IdentityCard); + if (getPersons != null && (!getPersons.MultiProject.HasValue || getPersons.MultiProject == false)) + { + var getdate = newPerson.InTime.HasValue ? newPerson.InTime.Value.AddDays(-1) : DateTime.Now; + var getPersonItems = db.SitePerson_PersonItem.Where(x => x.PersonId == newPerson.PersonId && x.ProjectId != newPerson.ProjectId && !x.OutTime.HasValue); + foreach (var item in getPersonItems) + { + item.OutTime = getdate; + db.SubmitChanges(); + } + } + } } } if (setPersonItemInOut)