This commit is contained in:
2022-12-03 09:55:20 +08:00
11 changed files with 160 additions and 85 deletions
@@ -145,16 +145,19 @@ namespace BLL
};
AddPersonItem(newPersonItem);
var getOtherPersons = db.SitePerson_Person.Where(x => x.IdentityCard == sitePerson.IdentityCard && x.ProjectId != sitePerson.ProjectId && x.States == Const.ProjectPersonStates_1);
if (getOtherPersons.Count() > 0)
if (!getPersons.MultiProject.HasValue || getPersons.MultiProject == false)
{
foreach (var item in getOtherPersons)
var getOtherPersons = db.SitePerson_Person.Where(x => x.IdentityCard == sitePerson.IdentityCard && x.ProjectId != sitePerson.ProjectId && x.States == Const.ProjectPersonStates_1);
if (getOtherPersons.Count() > 0)
{
item.OutTime = DateTime.Now;
item.States = Const.ProjectPersonStates_2;
item.OutResult = item.OutResult;
db.SubmitChanges();
foreach (var item in getOtherPersons)
{
item.OutTime = DateTime.Now;
item.States = Const.ProjectPersonStates_2;
item.OutResult = item.OutResult;
db.SubmitChanges();
}
}
}
@@ -184,86 +187,90 @@ namespace BLL
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
///未离场项目 先离场
OutPersonItem(newitem.PersonId, null, DateTime.Now);
var getPerson = Person_PersonsService.GetPerson_PersonsById(newitem.PersonId);
if (getPerson != null)
{
newitem.PersonName = getPerson.PersonName;
newitem.IdentityCard = getPerson.IdentityCard;
}
var getPersonItem = db.SitePerson_PersonItem.FirstOrDefault(x => x.PersonId == getPerson.PersonId
&& x.InTime <= newitem.InTime && (x.OutTime > newitem.InTime || !x.OutTime.HasValue));
if (getPersonItem != null)
{
getPersonItem.OutTime = null;
db.SubmitChanges();
}
else
{
Model.SitePerson_PersonItem newPersonItem = new Model.SitePerson_PersonItem
if (!getPerson.MultiProject.HasValue || getPerson.MultiProject == false)
{
PersonItemId = newitem.PersonItemId,
PersonId = newitem.PersonId,
PersonName = newitem.PersonName,
IdentityCard = newitem.IdentityCard,
InTime = newitem.InTime,
// OutTime = newitem.OutTime,
// OutResult = newitem.OutResult,
};
if (!string.IsNullOrEmpty(newitem.ProjectId))
{
newPersonItem.ProjectId = newitem.ProjectId;
newPersonItem.ProjectName = ProjectService.GetProjectNameByProjectId(newitem.ProjectId);
}
else
{
newPersonItem.ProjectId = null;
newPersonItem.ProjectName = newitem.ProjectName;
}
if (!string.IsNullOrEmpty(newitem.UnitId))
{
newPersonItem.UnitId = newitem.UnitId;
newPersonItem.UnitName = UnitService.GetUnitNameByUnitId(newitem.UnitId);
}
else
{
newPersonItem.UnitId = null;
newPersonItem.UnitName = newitem.UnitName;
}
if (!string.IsNullOrEmpty(newitem.WorkPostId))
{
newPersonItem.WorkPostId = newitem.WorkPostId;
newPersonItem.WorkPostName = WorkPostService.getWorkPostNameById(newitem.WorkPostId);
}
else
{
newPersonItem.WorkPostId = null;
newPersonItem.WorkPostName = newitem.WorkPostName;
}
if (!string.IsNullOrEmpty(newitem.TeamGroupId))
{
newPersonItem.TeamGroupId = newitem.TeamGroupId;
newPersonItem.TeamGroupName = TeamGroupService.GetTeamGroupNameByTeamGroupId(newitem.TeamGroupId);
}
else
{
newPersonItem.TeamGroupId = null;
newPersonItem.TeamGroupName = newitem.TeamGroupName;
}
if (!string.IsNullOrEmpty(newitem.RoleId))
{
newPersonItem.RoleId = newitem.RoleId;
newPersonItem.RoleName = RoleService.getRoleNamesRoleIds(newitem.RoleId);
}
else
{
newPersonItem.RoleId = null;
newPersonItem.RoleName = newitem.RoleName;
///未离场项目 先离场
OutPersonItem(newitem.PersonId, null, DateTime.Now);
}
db.SitePerson_PersonItem.InsertOnSubmit(newPersonItem);
db.SubmitChanges();
var getPersonItem = db.SitePerson_PersonItem.FirstOrDefault(x => x.PersonId == getPerson.PersonId
&& x.InTime <= newitem.InTime && (x.OutTime > newitem.InTime || !x.OutTime.HasValue));
if (getPersonItem != null)
{
getPersonItem.OutTime = null;
db.SubmitChanges();
}
else
{
Model.SitePerson_PersonItem newPersonItem = new Model.SitePerson_PersonItem
{
PersonItemId = newitem.PersonItemId,
PersonId = newitem.PersonId,
PersonName = newitem.PersonName,
IdentityCard = newitem.IdentityCard,
InTime = newitem.InTime,
// OutTime = newitem.OutTime,
// OutResult = newitem.OutResult,
};
if (!string.IsNullOrEmpty(newitem.ProjectId))
{
newPersonItem.ProjectId = newitem.ProjectId;
newPersonItem.ProjectName = ProjectService.GetProjectNameByProjectId(newitem.ProjectId);
}
else
{
newPersonItem.ProjectId = null;
newPersonItem.ProjectName = newitem.ProjectName;
}
if (!string.IsNullOrEmpty(newitem.UnitId))
{
newPersonItem.UnitId = newitem.UnitId;
newPersonItem.UnitName = UnitService.GetUnitNameByUnitId(newitem.UnitId);
}
else
{
newPersonItem.UnitId = null;
newPersonItem.UnitName = newitem.UnitName;
}
if (!string.IsNullOrEmpty(newitem.WorkPostId))
{
newPersonItem.WorkPostId = newitem.WorkPostId;
newPersonItem.WorkPostName = WorkPostService.getWorkPostNameById(newitem.WorkPostId);
}
else
{
newPersonItem.WorkPostId = null;
newPersonItem.WorkPostName = newitem.WorkPostName;
}
if (!string.IsNullOrEmpty(newitem.TeamGroupId))
{
newPersonItem.TeamGroupId = newitem.TeamGroupId;
newPersonItem.TeamGroupName = TeamGroupService.GetTeamGroupNameByTeamGroupId(newitem.TeamGroupId);
}
else
{
newPersonItem.TeamGroupId = null;
newPersonItem.TeamGroupName = newitem.TeamGroupName;
}
if (!string.IsNullOrEmpty(newitem.RoleId))
{
newPersonItem.RoleId = newitem.RoleId;
newPersonItem.RoleName = RoleService.getRoleNamesRoleIds(newitem.RoleId);
}
else
{
newPersonItem.RoleId = null;
newPersonItem.RoleName = newitem.RoleName;
}
db.SitePerson_PersonItem.InsertOnSubmit(newPersonItem);
db.SubmitChanges();
}
}
}
}
+4 -2
View File
@@ -686,8 +686,9 @@ namespace BLL
WorkDate = person.WorkDate,
RetirementDate = person.RetirementDate,
RelativeName = person.RelativeName,
RelativeTel = person.RelativeTel,
};
RelativeTel = person.RelativeTel,
MultiProject = person.MultiProject,
};
if (string.IsNullOrEmpty(person.QRCodeAttachUrl))
{
@@ -779,6 +780,7 @@ namespace BLL
newPerson.RetirementDate = person.RetirementDate;
newPerson.RelativeName = person.RelativeName;
newPerson.RelativeTel = person.RelativeTel;
newPerson.MultiProject = person.MultiProject;
newPerson.IsCardNoOK = IDCardValid.CheckIDCard(person.IdentityCard);
if (string.IsNullOrEmpty(person.QRCodeAttachUrl))