using EmitMapper; using System; using System.Collections.Generic; using System.Linq; namespace BLL { public static class APIDoorServerService { /// /// 保存 出入记录 /// /// 项目ID /// 身份证号码 /// 1进0出 /// 进出时间 /// 进出方式 public static void SaveDoorInOutRecord(string projectId, string idCard, int isIn, DateTime changeTime, string Intype) { Model.SitePerson_Person getPerson = new Model.SitePerson_Person(); int maxId = 0; string name = string.Empty; using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { getPerson = db.SitePerson_Person.FirstOrDefault(x => x.IdentityCard == idCard && x.ProjectId == projectId); if (getPerson != null) { name = getPerson.PersonName; } else { getPerson = db.SitePerson_Person.Where(x => x.IdentityCard == idCard).OrderByDescending(x => x.InTime).FirstOrDefault(); if (getPerson != null) { name = getPerson.PersonName; projectId = getPerson.ProjectId; } } var getmax = db.T_d_facerecord.Where(x => x.ProjectId == projectId && x.RoleID == Intype).Select(x => x.ID); if (getmax.Count() > 0) { maxId = getmax.Max() + 1; } Model.T_d_facerecord newFacerecord = new Model.T_d_facerecord() { NewID = SQLHelper.GetNewID(), ProjectId = projectId, ID = maxId + 1, EmployName = name, EmployNO = idCard, RoleID = Intype, DateTimeRecord = changeTime, RecordDes = Intype, InOrOut = (isIn == 1 ? "进门" : "出门"), }; db.T_d_facerecord.InsertOnSubmit(newFacerecord); db.SubmitChanges(); } if (getPerson != null) { ///// 根据出入记录 写入考勤记录 Model.t_d_facerecordItem facerecord = new Model.t_d_facerecordItem { ID = maxId + 1, EmployName = name, IDCardNo = idCard, EmployNO = idCard, ProjectId = projectId, RoleID = Intype, DateTimeRecord = changeTime, RecordDes = Intype, InOrOut = (isIn == 1 ? "进门" : "出门"), }; DoorServerService.InsertEmployInOutRecord(facerecord, getPerson); APIPersonService.getPersonInOut(getPerson, isIn, changeTime); } } } }