CNCEC_SUBQHSE_WUHUAN/SGGL/BLL/API/APIDoorServerService.cs

79 lines
3.0 KiB
C#

using EmitMapper;
using System;
using System.Collections.Generic;
using System.Linq;
namespace BLL
{
public static class APIDoorServerService
{
/// <summary>
/// 保存 出入记录
/// </summary>
/// <param name="projectId">项目ID</param>
/// <param name="idCard">身份证号码</param>
/// <param name="isIn">1进0出</param>
/// <param name="changeTime">进出时间</param>
/// <param name="changeTime">进出方式</param>
public static void SaveDoorInOutRecord(string projectId, string idCard, int isIn, DateTime changeTime, string Intype)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
int maxId = 0;
string name = string.Empty;
var getPersonByIdCard = db.SitePerson_Person.Where(x => x.IdentityCard == idCard).OrderByDescending(x=>x.InTime).FirstOrDefault();
if (getPersonByIdCard != null)
{
name = getPersonByIdCard.PersonName;
projectId = getPersonByIdCard.ProjectId;
}
else
{
var getPerson = db.SitePerson_Person.FirstOrDefault(x => x.IdentityCard == idCard && x.ProjectId == projectId);
if (getPerson != null)
{
name = getPerson.PersonName;
}
}
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();
///// 根据出入记录 写入考勤记录
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);
}
APIPersonService.getPersonInOut(projectId, idCard, isIn, changeTime);
}
}
}