CNCEC_SUBQHSE_WUHUAN/SGGL/BLL/HSSE/SitePerson/SitePerson_CheckingService.cs

131 lines
5.3 KiB
C#
Raw Normal View History

2021-04-30 10:28:37 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace BLL
{
public class SitePerson_CheckingService
{
public static Model.SGGLDB db = Funs.DB;
/// <summary>
/// 根据人员考勤主键获取人员考勤管理信息
/// </summary>
/// <param name="checkingId">人员考勤主键</param>
/// <returns>人员考勤管理信息</returns>
public static Model.SitePerson_Checking GetPersonInfoByCheckingId(string checkingId)
{
return Funs.DB.SitePerson_Checking.FirstOrDefault(x=> x.CheckingId == checkingId);
}
/// <summary>
/// 增加人员考勤管理信息
/// </summary>
/// <param name="personInfo">人员考勤管理实体</param>
public static void AddPersonInfo(Model.SitePerson_Checking personInfo)
{
Model.SGGLDB db = Funs.DB;
Model.SitePerson_Checking newPersonInfo = new Model.SitePerson_Checking
{
CheckingId = personInfo.CheckingId,
PersonId = personInfo.PersonId,
CardNo = personInfo.CardNo,
ProjectId = personInfo.ProjectId,
WorkAreaId = personInfo.WorkAreaId,
WorkAreaName = personInfo.WorkAreaName,
IdentityCard = personInfo.IdentityCard,
IntoOutTime = personInfo.IntoOutTime,
IntoOut = personInfo.IntoOut,
Address = personInfo.Address,
States = BLL.Const.State_2
};
db.SitePerson_Checking.InsertOnSubmit(newPersonInfo);
db.SubmitChanges();
2021-07-20 16:02:27 +08:00
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, "手动");
}
2021-04-30 10:28:37 +08:00
}
/// <summary>
/// 修改人员考勤管理信息
/// </summary>
/// <param name="personInfo">人员考勤管理实体</param>
public static void UpdatePersonInfo(Model.SitePerson_Checking personInfo)
{
Model.SGGLDB db = Funs.DB;
2021-07-20 16:02:27 +08:00
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;
2021-04-30 10:28:37 +08:00
2021-07-20 16:02:27 +08:00
db.SubmitChanges();
}
2021-04-30 10:28:37 +08:00
}
/// <summary>
/// 根据卡号和时间查询人员考勤信息
/// </summary>
/// <param name="cardNo">卡号</param>
/// <returns>人员实体</returns>
public static Model.SitePerson_Checking GetPersonCheckByCardNo(string projectId, string cardNo, DateTime? intoOutTime)
{
return Funs.DB.SitePerson_Checking.FirstOrDefault(e => e.ProjectId == projectId && e.CardNo == cardNo && e.IntoOutTime == intoOutTime);
}
/// <summary>
/// 根据人员考勤主键删除一个人员考勤管理信息
/// </summary>
/// <param name="checkingId">人员考勤主键</param>
public static void DeletePersonInfoByCheckingId(string checkingId)
{
Model.SGGLDB db = Funs.DB;
Model.SitePerson_Checking personInfo = db.SitePerson_Checking.FirstOrDefault(e => e.CheckingId == checkingId);
if (personInfo != null)
{
db.SitePerson_Checking.DeleteOnSubmit(personInfo);
db.SubmitChanges();
}
}
/// <summary>
/// 根据作业区域Id查询所有人员考勤信息数量
/// </summary>
/// <param name="workAreaId">作业区域Id</param>
/// <returns>人员考勤信息数量</returns>
public static int GetCheckingCountByWorkAreaId(string workAreaId)
{
return (from x in Funs.DB.SitePerson_Checking where x.WorkAreaId == workAreaId select x).ToList().Count();
}
/// <summary>
/// 根据人员考勤主键删除一个人员考勤管理信息
/// </summary>
/// <param name="checkingId">人员考勤主键</param>
public static void DeletePersonInOutByCheckingId(string PersonInOutId)
{
Model.SGGLDB db = Funs.DB;
Model.SitePerson_PersonInOut personInOut = db.SitePerson_PersonInOut.FirstOrDefault(e => e.PersonInOutId == PersonInOutId);
if (personInOut != null)
{
db.SitePerson_PersonInOut.DeleteOnSubmit(personInOut);
db.SubmitChanges();
}
}
}
}