This commit is contained in:
2021-07-20 16:02:27 +08:00
parent b3d23a52d9
commit 7700a66999
16 changed files with 178 additions and 90 deletions
+68
View File
@@ -0,0 +1,68 @@
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;
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;
}
string name = string.Empty;
var getPerson = db.SitePerson_Person.FirstOrDefault(x => x.IdentityCard == idCard && x.ProjectId ==projectId);
if (getPerson != null)
{
name = getPerson.PersonName;
}
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);
}
}
}
+1
View File
@@ -91,6 +91,7 @@
<Compile Include="API\APIProjectService.cs" />
<Compile Include="API\APIUnitService.cs" />
<Compile Include="API\APIUpLoadFileService.cs" />
<Compile Include="API\APIDoorServerService.cs" />
<Compile Include="API\APIUserService.cs" />
<Compile Include="API\HJGL\APIHotProcessHardService.cs" />
<Compile Include="API\HJGL\APINDETrustService.cs" />
+20 -16
View File
@@ -27,9 +27,9 @@ namespace BLL
private static IQueryable<Model.T_d_facerecord> qq = from x in db.T_d_facerecord
orderby x.DateTimeRecord descending
select x;
private static IQueryable<Model.T_d_validcardevent> qq1= from x in db.T_d_validcardevent
orderby x.RecordDateTime descending
select x;
private static IQueryable<Model.T_d_validcardevent> qq1 = from x in db.T_d_validcardevent
orderby x.RecordDateTime descending
select x;
/// <summary>
/// 获取分页列表
@@ -42,7 +42,7 @@ namespace BLL
if (type == "1")
{
IQueryable<Model.T_d_validcardevent> q1 = qq1.Where(x => x.ProjectId == projectId);
if (!string.IsNullOrEmpty(startDate))
{
q1 = q1.Where(e => e.RecordDateTime >= Funs.GetNewDateTime(startDate));
@@ -55,8 +55,8 @@ namespace BLL
{
q1 = from x in q1
join y in db.SitePerson_Person on x.IDCardNo equals y.IdentityCard
where y.UnitId == unitId
select x;
where y.UnitId == unitId
select x;
}
if (!string.IsNullOrEmpty(name))
{
@@ -75,14 +75,14 @@ namespace BLL
x.ProjectId,
x.EmployName,
x.DepartmentID,
DepartName=x.DepartmentName,
DepartName = x.DepartmentName,
x.AreaID,
x.AreaName,
x.EmployNO,
CardID=x.CardNO,
DateTimeRecord=x.RecordDateTime,
RecordDes=x.RecordAll,
InOrOut=(x.InOrOut ==2? "出门" : "进门"),
CardID = x.CardNO,
DateTimeRecord = x.RecordDateTime,
RecordDes = x.RecordAll,
InOrOut = (x.InOrOut == 2 ? "出门" : "进门"),
};
}
else
@@ -92,9 +92,13 @@ namespace BLL
{
q = q.Where(e => e.RoleID == "微信端");
}
else if (type == "3")
{
q = q.Where(e => e.RoleID == "手动");
}
else
{
q = q.Where(e => e.RoleID != "微信端");
q = q.Where(e => e.RoleID == "白名单");
}
if (!string.IsNullOrEmpty(startDate))
{
@@ -107,9 +111,9 @@ namespace BLL
if (!string.IsNullOrEmpty(unitId))
{
q = from x in q
join y in db.SitePerson_Person on x.EmployNO equals y.IdentityCard
where y.UnitId == unitId
select x;
join y in db.SitePerson_Person on x.EmployNO equals y.IdentityCard
where y.UnitId == unitId
select x;
}
if (!string.IsNullOrEmpty(name))
{
@@ -135,7 +139,7 @@ namespace BLL
x.CardID,
x.DateTimeRecord,
x.RecordDes,
x.InOrOut,
x.InOrOut,
};
}
}
@@ -44,6 +44,12 @@ namespace BLL
db.SitePerson_Checking.InsertOnSubmit(newPersonInfo);
db.SubmitChanges();
if (!string.IsNullOrEmpty(personInfo.ProjectId) && !string.IsNullOrEmpty(personInfo.IdentityCard) && personInfo.IntoOutTime.HasValue)
{
int inOut = personInfo.IntoOut == "1" ? 1 : 0;
APIDoorServerService.SaveDoorInOutRecord(personInfo.ProjectId, personInfo.IdentityCard, inOut, personInfo.IntoOutTime.Value, "手动");
}
}
/// <summary>
@@ -53,18 +59,21 @@ namespace BLL
public static void UpdatePersonInfo(Model.SitePerson_Checking personInfo)
{
Model.SGGLDB db = Funs.DB;
Model.SitePerson_Checking newPersonInfo = db.SitePerson_Checking.First(e => e.CheckingId == personInfo.CheckingId);
newPersonInfo.CardNo = personInfo.CardNo;
newPersonInfo.PersonId = personInfo.PersonId;
newPersonInfo.ProjectId = personInfo.ProjectId;
newPersonInfo.WorkAreaId = personInfo.WorkAreaId;
newPersonInfo.WorkAreaName = personInfo.WorkAreaName;
newPersonInfo.IdentityCard = personInfo.IdentityCard;
newPersonInfo.IntoOutTime = personInfo.IntoOutTime;
newPersonInfo.IntoOut = personInfo.IntoOut;
newPersonInfo.Address = personInfo.Address;
Model.SitePerson_Checking newPersonInfo = db.SitePerson_Checking.FirstOrDefault(e => e.CheckingId == personInfo.CheckingId);
if (newPersonInfo != null)
{
newPersonInfo.CardNo = personInfo.CardNo;
newPersonInfo.PersonId = personInfo.PersonId;
newPersonInfo.ProjectId = personInfo.ProjectId;
newPersonInfo.WorkAreaId = personInfo.WorkAreaId;
newPersonInfo.WorkAreaName = personInfo.WorkAreaName;
newPersonInfo.IdentityCard = personInfo.IdentityCard;
newPersonInfo.IntoOutTime = personInfo.IntoOutTime;
newPersonInfo.IntoOut = personInfo.IntoOut;
newPersonInfo.Address = personInfo.Address;
db.SubmitChanges();
db.SubmitChanges();
}
}
/// <summary>