合并最新
This commit is contained in:
@@ -0,0 +1,402 @@
|
||||
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 DoorServerController : ApiController
|
||||
{
|
||||
#region 获取部门、人员、出入记录最大ID
|
||||
/// <summary>
|
||||
/// 获取部门、人员、出入记录最大ID
|
||||
/// </summary>
|
||||
/// <param name="projectId"></param>
|
||||
/// <returns></returns>
|
||||
public string getMaxID(string projectId)
|
||||
{
|
||||
int DepartmentID = 0, ID=0;
|
||||
long EmployID = 0, ValidEventID=0;
|
||||
var getD = Funs.DB.T_d_department.Where(x=> x.ProjectId == projectId).Select(x => x.DepartmentID);
|
||||
if (getD.Count()>0)
|
||||
{
|
||||
DepartmentID = getD.Max();
|
||||
}
|
||||
var getE= Funs.DB.T_d_employinfo.Where(x => x.ProjectId == projectId).Select(x => x.EmployID);
|
||||
if (getE.Count() > 0)
|
||||
{
|
||||
EmployID = getE.Max();
|
||||
}
|
||||
var getI = Funs.DB.T_d_facerecord.Where(x => x.ProjectId == projectId).Select(x => x.ID);
|
||||
if (getI.Count() > 0)
|
||||
{
|
||||
ID = getI.Max();
|
||||
}
|
||||
var getV = Funs.DB.T_d_validcardevent.Where(x => x.ProjectId == projectId).Select(x => x.ValidEventID);
|
||||
if (getV.Count() > 0)
|
||||
{
|
||||
ValidEventID = getV.Max();
|
||||
}
|
||||
return ("$" + DepartmentID.ToString()+"$"+ EmployID.ToString()+"$"+ID.ToString() + "$" + ValidEventID.ToString() + "$");
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 保存部门信息
|
||||
/// <summary>
|
||||
/// 保存部门信息
|
||||
/// </summary>
|
||||
/// <param name="department">部门信息</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public Model.ResponeData SaveDepartment([FromBody] Model.t_d_departmentItem department)
|
||||
{
|
||||
var responeData = new Model.ResponeData();
|
||||
try
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
if (department != null)
|
||||
{
|
||||
var getDep = db.T_d_department.FirstOrDefault(x => x.DepartmentID == department.DepartmentID && x.ProjectId ==department.ProjectId);
|
||||
if (getDep == null)
|
||||
{
|
||||
Model.T_d_department newDep = new Model.T_d_department()
|
||||
{
|
||||
NewID = SQLHelper.GetNewID(),
|
||||
ProjectId = department.ProjectId,
|
||||
DepartmentID = department.DepartmentID,
|
||||
DepartmentName = department.DepartmentName,
|
||||
ParentID = department.ParentID,
|
||||
IsDel = department.IsDel,
|
||||
IsDown = department.IsDown,
|
||||
ParentDepartmentName = department.ParentDepartmentName,
|
||||
IsEnable = department.IsEnable,
|
||||
};
|
||||
db.T_d_department.InsertOnSubmit(newDep);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
responeData.code = 2;
|
||||
responeData.message = "信息有误!";
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
responeData.code = 0;
|
||||
responeData.message = ex.Message;
|
||||
}
|
||||
|
||||
return responeData;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 保存人员信息
|
||||
/// <summary>
|
||||
/// 保存人员信息
|
||||
/// </summary>
|
||||
/// <param name="employinfo">人员信息</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public Model.ResponeData SaveEmployinfo([FromBody] Model.t_d_employinfoItem employinfo)
|
||||
{
|
||||
var responeData = new Model.ResponeData();
|
||||
try
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
if (employinfo != null)
|
||||
{
|
||||
var getEm = db.T_d_employinfo.FirstOrDefault(x => x.EmployID == employinfo.EmployID && x.ProjectId ==employinfo.ProjectId);
|
||||
if (getEm == null)
|
||||
{
|
||||
Model.T_d_employinfo newEmploy = new Model.T_d_employinfo()
|
||||
{
|
||||
NewID = SQLHelper.GetNewID(),
|
||||
ProjectId = employinfo.ProjectId,
|
||||
EmployID = employinfo.EmployID,
|
||||
WxEmployID = employinfo.WxEmployID,
|
||||
EmployNO = employinfo.EmployNO,
|
||||
EmployName = employinfo.EmployName,
|
||||
CardNO = employinfo.CardNO,
|
||||
GroupID = employinfo.GroupID,
|
||||
IsAttend = employinfo.IsAttend,
|
||||
IsDoor = employinfo.IsDoor,
|
||||
BeginDateTime = employinfo.BeginDateTime,
|
||||
EndDateTime = employinfo.EndDateTime,
|
||||
InPassWord = employinfo.InPassWord,
|
||||
DepartmentName = employinfo.DepartmentName,
|
||||
Mailbox = employinfo.Mailbox,
|
||||
Mobilephone = employinfo.Mobilephone,
|
||||
WeiXinNO = employinfo.WeiXinNO,
|
||||
PostName = employinfo.PostName,
|
||||
Gender = employinfo.Gender,
|
||||
IsDown = employinfo.IsDown,
|
||||
IsWxDown = employinfo.IsWxDown,
|
||||
IDCardNo = employinfo.IDCardNo,
|
||||
PlayCardNumber = employinfo.PlayCardNumber,
|
||||
PlayCardSum = employinfo.PlayCardSum,
|
||||
UpdataCloud = employinfo.UpdataCloud,
|
||||
Birthday = employinfo.Birthday,
|
||||
Police = employinfo.Police,
|
||||
Nation = employinfo.Nation,
|
||||
Address = employinfo.Address,
|
||||
UpdateState = employinfo.UpdateState,
|
||||
UpdateDateTime = employinfo.UpdateDateTime,
|
||||
IsSubmarineBack = employinfo.IsSubmarineBack,
|
||||
OnSiteState = employinfo.OnSiteState,
|
||||
TimeNumber = employinfo.TimeNumber,
|
||||
CardTimeRecord = employinfo.CardTimeRecord,
|
||||
ReservedFieldsOne = employinfo.ReservedFieldsOne,
|
||||
ReservedFieldsTwo = employinfo.ReservedFieldsTwo,
|
||||
ReservedFieldsThree = employinfo.ReservedFieldsThree,
|
||||
ReservedFieldsFour = employinfo.ReservedFieldsFour,
|
||||
ReservedFieldsFive = employinfo.ReservedFieldsFive,
|
||||
};
|
||||
|
||||
#region 获取部门
|
||||
var getDep = Funs.DB.T_d_department.FirstOrDefault(x => x.ProjectId == newEmploy.ProjectId && x.DepartmentID == newEmploy.GroupID);
|
||||
if (getDep != null)
|
||||
{
|
||||
if (getDep.ParentID == 0)
|
||||
{
|
||||
newEmploy.InstallationId = getDep.DepartmentID;
|
||||
}
|
||||
else
|
||||
{
|
||||
var getDep0 =BLL.DoorServerService.GetSupDep(newEmploy.ProjectId, getDep.ParentID, 0);
|
||||
if (getDep0 != null)
|
||||
{
|
||||
newEmploy.UnitId = newEmploy.GroupID;
|
||||
newEmploy.InstallationId = getDep0.DepartmentID;
|
||||
var getUnit = BLL.DoorServerService.GetSupDep(newEmploy.ProjectId, getDep.DepartmentID, newEmploy.InstallationId ?? 0);
|
||||
if (getUnit != null)
|
||||
{
|
||||
newEmploy.UnitId = getUnit.DepartmentID;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
db.T_d_employinfo.InsertOnSubmit(newEmploy);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
responeData.code = 2;
|
||||
responeData.message = "信息有误!";
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
responeData.code = 0;
|
||||
responeData.message = ex.Message;
|
||||
}
|
||||
|
||||
return responeData;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 保存人脸识别出入记录信息
|
||||
/// <summary>
|
||||
/// 保存出入记录信息
|
||||
/// </summary>
|
||||
/// <param name="facerecord">出入记录信息</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public Model.ResponeData SaveFacerecord([FromBody] Model.t_d_facerecordItem facerecord)
|
||||
{
|
||||
var responeData = new Model.ResponeData();
|
||||
try
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
if (facerecord != null)
|
||||
{
|
||||
var getFacerecord = db.T_d_facerecord.FirstOrDefault(x => x.ID == facerecord.ID && x.ProjectId == facerecord.ProjectId);
|
||||
if (getFacerecord == null)
|
||||
{
|
||||
Model.T_d_facerecord newFacerecord = new Model.T_d_facerecord()
|
||||
{
|
||||
NewID = SQLHelper.GetNewID(),
|
||||
ProjectId = facerecord.ProjectId,
|
||||
ID = facerecord.ID,
|
||||
EmployName = facerecord.EmployName,
|
||||
DepartmentID = facerecord.DepartmentID,
|
||||
DepartName = facerecord.DepartName,
|
||||
AreaID = facerecord.AreaID,
|
||||
AreaName = facerecord.AreaName,
|
||||
EmployNO = facerecord.EmployNO,
|
||||
CardID = facerecord.CardID,
|
||||
RoleID = facerecord.RoleID,
|
||||
DateTimeRecord = facerecord.DateTimeRecord,
|
||||
RecordDes = facerecord.RecordDes,
|
||||
FaceIP = facerecord.FaceIP,
|
||||
InOrOut = facerecord.InOrOut,
|
||||
Des1 = facerecord.Des1,
|
||||
Des2 = facerecord.Des2,
|
||||
Des3 = facerecord.Des3,
|
||||
Des4 = facerecord.Des4,
|
||||
};
|
||||
|
||||
db.T_d_facerecord.InsertOnSubmit(newFacerecord);
|
||||
db.SubmitChanges();
|
||||
if (facerecord.DateTimeRecord.HasValue)
|
||||
{
|
||||
Model.SitePerson_PersonInOut newInOut = new Model.SitePerson_PersonInOut
|
||||
{
|
||||
ProjectId = facerecord.ProjectId,
|
||||
IdentityCard = facerecord.EmployNO,
|
||||
IsIn = facerecord.InOrOut == "进门" ? true : false,
|
||||
ChangeTime = facerecord.DateTimeRecord.Value,
|
||||
InOutWay = Const.InOutWay_1,
|
||||
};
|
||||
|
||||
PersonInOutService.AddPersonInOut(newInOut);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
responeData.code = 2;
|
||||
responeData.message = "信息有误!";
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
responeData.code = 0;
|
||||
responeData.message = ex.Message;
|
||||
}
|
||||
|
||||
return responeData;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 保存刷卡出入记录信息
|
||||
/// <summary>
|
||||
/// 保存出入记录信息
|
||||
/// </summary>
|
||||
/// <param name="validcardevent">出入记录信息</param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public Model.ResponeData SaveValidcardevent([FromBody] Model.t_d_validcardeventItem validcardevent)
|
||||
{
|
||||
var responeData = new Model.ResponeData();
|
||||
try
|
||||
{
|
||||
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
if (validcardevent != null)
|
||||
{
|
||||
var getValidcardevent = db.T_d_facerecord.FirstOrDefault(x => x.ID == validcardevent.ValidEventID && x.ProjectId == validcardevent.ProjectId);
|
||||
if (getValidcardevent == null)
|
||||
{
|
||||
Model.T_d_validcardevent newValidcardevent = new Model.T_d_validcardevent()
|
||||
{
|
||||
NewID = SQLHelper.GetNewID(),
|
||||
ProjectId = validcardevent.ProjectId,
|
||||
ValidEventID = validcardevent.ValidEventID,
|
||||
RecordDateTime = validcardevent.RecordDateTime,
|
||||
CardNO = validcardevent.CardNO,
|
||||
ConsumerID = validcardevent.ConsumerID,
|
||||
InOrOut = validcardevent.InOrOut,
|
||||
ControllerID = validcardevent.ControllerID,
|
||||
ReaderNO = validcardevent.ReaderNO,
|
||||
RecordFlashLoc = validcardevent.RecordFlashLoc,
|
||||
RecordAll = validcardevent.RecordAll,
|
||||
JPGPath = validcardevent.JPGPath,
|
||||
IsDown = validcardevent.IsDown,
|
||||
EquipmentSN = validcardevent.EquipmentSN,
|
||||
ConsumerNO = validcardevent.ConsumerNO,
|
||||
EmployNO = validcardevent.EmployNO,
|
||||
EmployName = validcardevent.EmployName,
|
||||
CardType = validcardevent.CardType,
|
||||
Card = validcardevent.Card,
|
||||
DepartmentID = validcardevent.DepartmentID,
|
||||
DepartmentName = validcardevent.DepartmentName,
|
||||
ControllerSN = validcardevent.ControllerSN,
|
||||
DoorID = validcardevent.DoorID,
|
||||
DoorName = validcardevent.DoorName,
|
||||
ReaderName = validcardevent.ReaderName,
|
||||
AreaID = validcardevent.AreaID,
|
||||
AreaName = validcardevent.AreaName,
|
||||
WorkType = validcardevent.WorkType,
|
||||
Positions = validcardevent.Positions,
|
||||
IDCardNo = validcardevent.IDCardNo,
|
||||
};
|
||||
|
||||
db.T_d_validcardevent.InsertOnSubmit(newValidcardevent);
|
||||
db.SubmitChanges();
|
||||
|
||||
if (validcardevent.RecordDateTime.HasValue)
|
||||
{
|
||||
Model.SitePerson_PersonInOut newInOut = new Model.SitePerson_PersonInOut
|
||||
{
|
||||
ProjectId = validcardevent.ProjectId,
|
||||
IdentityCard = validcardevent.EmployNO,
|
||||
IsIn = validcardevent.InOrOut == 1 ? true : false,
|
||||
ChangeTime = validcardevent.RecordDateTime.Value,
|
||||
InOutWay = Const.InOutWay_1,
|
||||
};
|
||||
|
||||
PersonInOutService.AddPersonInOut(newInOut);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
responeData.code = 2;
|
||||
responeData.message = "信息有误!";
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
responeData.code = 0;
|
||||
responeData.message = ex.Message;
|
||||
}
|
||||
|
||||
return responeData;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 获取门禁人员考勤统计
|
||||
/// <summary>
|
||||
/// 获取人员信息出入场记录
|
||||
/// </summary>
|
||||
/// <param name="projectId"></param>
|
||||
/// <param name="startDate"></param>
|
||||
/// <param name="endDate"></param>
|
||||
/// <returns></returns>
|
||||
public Model.ResponeData getInOutstatistics(string projectId, DateTime startDate, DateTime endDate)
|
||||
{
|
||||
var responeData = new Model.ResponeData();
|
||||
try
|
||||
{
|
||||
string unitId = null;
|
||||
string postId = null;
|
||||
responeData.data = Funs.DB.spInOutManHoursReport(projectId, unitId, postId, startDate, endDate).ToList(); ;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
responeData.code = 0;
|
||||
responeData.message = ex.Message;
|
||||
}
|
||||
return responeData;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user