CNCEC_SUBQHSE_WUHUAN/SGGL/WebAPI/Controllers/DoorProject/uploadController.cs

110 lines
4.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using BLL;
using WebAPI.Filter;
namespace WebAPI.Controllers
{
/// <summary>
///
/// </summary>
public class uploadController : ApiController
{
#region
/// <summary>
/// 保存出入记录信息
/// </summary>
/// <param name="records">出入记录信息</param>
/// <returns></returns>
[HttpPost]
public Model.ResponeData attendance([FromBody] Model.attendanceItems records)
{
var responeData = new Model.ResponeData();
try
{
if (records != null && records.records.Count() > 0)
{
List<Model.attendanceItem> attendanceItems = records.records;
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
string projectId = "310e790e-5ede-4345-98a4-8bd0866e69ef"; ////潮州华瀛
int maxId = 0;
var getmax = db.T_d_facerecord.Where(x => x.ProjectId == projectId && x.RoleID == "白名单").Select(x => x.ID);
if (getmax.Count() > 0)
{
maxId = getmax.Max() + 1;
}
foreach (var item in attendanceItems)
{
string name = string.Empty;
string cardNo = string.Empty;
var getPerson = db.SitePerson_Person.FirstOrDefault(x => x.IdentityCard == item.idCardNumber);
if (getPerson != null)
{
name = getPerson.PersonName;
cardNo = getPerson.CardNo;
}
Model.T_d_facerecord newFacerecord = new Model.T_d_facerecord()
{
NewID = SQLHelper.GetNewID(),
ProjectId = projectId,
ID = maxId + 1,
EmployName = name,
EmployNO = item.idCardNumber,
RoleID = "白名单",
DateTimeRecord = Funs.GetNewDateTime(item.attendanceTime),
RecordDes = "白名单:允许通行",
InOrOut = (item.attendanceType == 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 = item.idCardNumber,
EmployNO = item.idCardNumber,
ProjectId = projectId,
RoleID = "白名单",
DateTimeRecord = Funs.GetNewDateTime(item.attendanceTime),
RecordDes = "白名单:允许通行",
InOrOut = (item.attendanceType == 1 ? "进门" : "出门"),
};
DoorServerService.InsertEmployInOutRecord(facerecord);
if (facerecord.DateTimeRecord.HasValue)
{
int isIn = 0;
if (facerecord.InOrOut == "进门")
{
isIn = 1;
}
APIPersonService.getPersonInOut(facerecord.ProjectId, facerecord.EmployNO, isIn, facerecord.DateTimeRecord.Value);
}
}
responeData.code = 0;
}
}
else
{
responeData.message ="数据为空!";
}
}
catch (Exception ex)
{
responeData.code = -1;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
}
}