SGGL_SHJ/SGGL/WebAPI/Controllers/PersonController.cs

908 lines
39 KiB
C#
Raw Normal View History

2022-09-05 16:36:31 +08:00
using BLL;
using System;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Web.Http;
namespace WebAPI.Controllers
{
/// <summary>
///
/// </summary>
public class PersonController : ApiController
{
#region personid获取人员信息
/// <summary>
/// 根据personid获取人员信息
/// </summary>
/// <param name="sitePersonId"></param>
/// <returns></returns>
public Model.ResponeData getPersonBySitePersonId(string sitePersonId)
{
var responeData = new Model.ResponeData();
try
{
responeData.data = APIPersonService.getPersonBySitePersonId(sitePersonId);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region projectIdidentityCard获取人员信息
/// <summary>
/// 根据projectId、identityCard获取人员信息
/// </summary>
/// <param name="projectId"></param>
/// <param name="identityCard"></param>
/// <returns></returns>
public Model.ResponeData getPersonByProjectIdIdentityCard(string projectId, string identityCard)
{
var responeData = new Model.ResponeData();
try
{
responeData.data = APIPersonService.getPersonByProjectIdIdentityCard(projectId, identityCard);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region projectIdunitid获取人员信息
/// <summary>
/// 根据projectId、unitid获取人员信息
/// </summary>
/// <param name="projectId"></param>
/// <param name="unitId"></param>
/// <param name="pageIndex"></param>
/// <returns></returns>
public Model.ResponeData getPersonByProjectIdUnitId(string projectId, string unitId, int pageIndex)
{
var responeData = new Model.ResponeData();
try
{
var getDataList = APIPersonService.getPersonByProjectIdUnitId(projectId, unitId);
int pageCount = getDataList.Count;
if (pageCount > 0 && pageIndex > 0)
{
getDataList = getDataList.Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList();
}
responeData.data = new { pageCount, getDataList };
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
/// <summary>
/// 获取在岗、离岗、待审人员列表
/// </summary>
/// <param name="projectId"></param>
/// <param name="unitId"></param>
/// <param name="states"></param>
/// <param name="strUnitId"></param>
/// <param name="strWorkPostId"></param>
/// <param name="strParam"></param>
/// <returns></returns>
public Model.ResponeData getPersonStatesCount(string projectId, string unitId, string states, string strUnitId, string strWorkPostId, string strParam)
{
var responeData = new Model.ResponeData();
try
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getViews = from x in db.SitePerson_Person
where x.ProjectId == projectId && (strUnitId == null || x.UnitId == strUnitId)
&& (strWorkPostId == null || x.WorkPostId == strWorkPostId)
select x;
if (unitId != Const.UnitId_SEDIN && !string.IsNullOrEmpty(unitId))
{
getViews = getViews.Where(x => x.UnitId == unitId);
}
if (!string.IsNullOrEmpty(strParam))
{
getViews = getViews.Where(x => x.PersonName.Contains(strParam) || x.IdentityCard.Contains(strParam));
}
int tatalCount = getViews.Count();
//在审
int count0 = getViews.Where(x => x.States == Const.ProjectPersonStates_0).Count();
//在岗
int count1 = getViews.Where(x => x.States == Const.ProjectPersonStates_1).Count();
//离岗
int count2 = getViews.Where(x => x.States == Const.ProjectPersonStates_2).Count();
//打回
int count3 = getViews.Where(x => x.States == Const.ProjectPersonStates_R).Count();
responeData.data = new { tatalCount, count0, count1, count2, count3 };
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
/// <summary>
/// 获取在岗、离岗、待审人员列表
/// </summary>
/// <param name="projectId"></param>
/// <param name="unitId">当前人单位ID</param>
/// <param name="states">0待审1在岗2离岗</param>
/// <param name="strUnitId">查询单位</param>
/// <param name="strWorkPostId">查询岗位</param>
/// <param name="strParam">查询条件</param>
/// <param name="pageIndex"></param>
/// <returns></returns>
public Model.ResponeData getPersonListByProjectIdStates(string projectId, string unitId, string states, string strUnitId, string strWorkPostId, string strParam, int pageIndex)
{
var responeData = new Model.ResponeData();
try
{
var getDataList = APIPersonService.getPersonListByProjectIdStates(projectId, unitId, states, strUnitId, strWorkPostId, strParam, pageIndex);
int pageCount = APIPersonService.getPersonListCount;
responeData.data = new { pageCount, getDataList };
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region identityCard获取人员培训考试信息
/// <summary>
/// 根据identityCard获取人员培训考试信息
/// </summary>
/// <param name="identityCard"></param>
/// <param name="projectId"></param>
/// <returns></returns>
public Model.ResponeData getPersonTestRecoedByIdentityCard(string identityCard, string projectId = null)
{
var responeData = new Model.ResponeData();
try
{
responeData.data = APIPersonService.getPersonTestRecoedByIdentityCard(identityCard, projectId);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region identityCard获取人员资质信息
/// <summary>
/// 根据identityCard获取人员资质信息
/// </summary>
/// <param name="identityCard"></param>
/// <param name="projectId"></param>
/// <returns></returns>
public Model.ResponeData getPersonQualityByIdentityCard(string identityCard, string projectId = null)
{
var responeData = new Model.ResponeData();
try
{
responeData.data = APIPersonService.getPersonQualityByIdentityCard(identityCard, projectId);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region projectIdunitid获取特岗人员资质各状态数
/// <summary>
/// 根据projectId、unitid获取特岗人员资质各状态数
/// </summary>
/// <param name="projectId">项目ID</param>
/// <param name="unitId">单位ID</param>
/// <returns>人员资质数量</returns>
public Model.ResponeData getPersonQualityCount(string projectId, string unitId)
{
var responeData = new Model.ResponeData();
try
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getDataList = db.View_QualityAudit_PersonQuality.Where(x => x.ProjectId == projectId && x.CertificateId != null);
if (ProjectUnitService.GetProjectUnitTypeByProjectIdUnitId(projectId, unitId))
{
getDataList = getDataList.Where(x => x.UnitId == unitId);
}
//总数
int tatalCount = getDataList.Count();
//过期
int count1 = getDataList.Where(x => x.LimitDate < DateTime.Now).Count();
//即将过期
int count2 = getDataList.Where(x => x.LimitDate >= DateTime.Now && x.LimitDate < DateTime.Now.AddMonths(1)).Count();
responeData.data = new { tatalCount, count1, count2 };
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region projectIdunitid获取特岗人员资质信息
/// <summary>
/// 根据projectId、unitid获取特岗人员资质信息
/// </summary>
/// <param name="projectId">项目ID</param>
/// <param name="unitId">单位ID</param>
/// <param name="type">数据类型0-已过期1-即将过期;2-无证;3-待审核4-已审核;-1打回</param>
/// <param name="pageIndex">页码</param>
/// <returns></returns>
public Model.ResponeData getPersonQualityByProjectIdUnitId(string projectId, string unitId, string type, int pageIndex)
{
var responeData = new Model.ResponeData();
try
{
var getDataList = APIPersonService.getPersonQualityByProjectIdUnitId(projectId, unitId, type);
int pageCount = getDataList.Count();
if (pageCount > 0 && pageIndex > 0)
{
getDataList = getDataList.Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList();
}
responeData.data = new { pageCount, getDataList };
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region QualityAudit_PersonQuality
/// <summary>
/// 保存Meeting
/// </summary>
/// <param name="personQuality">人员资质信息</param>
/// <returns></returns>
[HttpPost]
public Model.ResponeData SavePersonQuality([FromBody] Model.PersonQualityItem personQuality)
{
var responeData = new Model.ResponeData();
try
{
APIPersonService.SavePersonQuality(personQuality);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region \\\\
/// <summary>
/// 根据项目\单位\岗位\培训类型获取项目培训\考试人员信息
/// </summary>
/// <param name="projectId">项目ID</param>
/// <param name="unitIds">培训单位ID</param>
/// <param name="workPostIds">培训岗位ID(可为空)</param>
/// <param name="trainTypeId">培训类型ID(可为空)</param>
/// <param name="pageIndex">分页</param>
/// <returns></returns>
public Model.ResponeData getTrainingPersonListByTrainTypeId(string projectId, string unitIds, string workPostIds, string trainTypeId, int pageIndex)
{
var responeData = new Model.ResponeData();
try
{
var getDataList = APIPersonService.getTrainingPersonListByTrainTypeId(projectId, unitIds, workPostIds, trainTypeId).OrderBy(x => x.UnitName).ThenBy(x => x.ProjectName).ToList();
int pageCount = getDataList.Count;
if (pageCount > 0 && pageIndex > 0)
{
getDataList = getDataList.OrderBy(u => u.UnitName).ThenBy(u => u.PersonName).Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList(); ////200 ->Funs.PageSize
}
responeData.data = new { pageCount, getDataList };
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
/// <summary>
/// 保存项目人员信息
/// </summary>
/// <param name="person">人员信息</param>
/// <returns></returns>
[HttpPost]
public Model.ResponeData SaveSitePerson([FromBody] Model.PersonItem person)
{
var responeData = new Model.ResponeData();
try
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
if (person != null && !string.IsNullOrEmpty(person.IdentityCard))
{
var getPerson = db.SitePerson_Person.FirstOrDefault(x => x.IdentityCard == person.IdentityCard.Trim() && x.ProjectId == person.ProjectId);
if (getPerson != null && getPerson.PersonId != person.PersonId)
{
responeData.code = 2;
responeData.message = "人员身份证号码已存在!";
}
else
{
APIPersonService.SaveSitePerson(person);
}
}
else
{
responeData.code = 2;
responeData.message = "人员信息有误!";
}
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
/// <summary>
/// 更新人员更新附件
/// </summary>
/// <param name="person">人员信息</param>
/// <returns></returns>
[HttpPost]
public Model.ResponeData SaveSitePersonAttachment([FromBody] Model.PersonItem person)
{
var responeData = new Model.ResponeData();
try
{
if (person != null)
{
APIPersonService.SaveSitePersonAttachment(person);
}
else
{
responeData.code = 2;
responeData.message = "人员附件信息有误!";
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
/// <summary>
/// 人员状态调整
/// </summary>
/// <param name="sitePersonId"></param>
/// <param name="states"></param>
/// <returns></returns>
public Model.ResponeData getSitePersonPersonStates(string sitePersonId, string states)
{
var responeData = new Model.ResponeData();
try
{
SitePerson_PersonService.SetSitePerson_PersonStates(sitePersonId, states, DateTime.Now);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
/// <summary>
/// 保存人员信息
/// </summary>
/// <param name="person">人员信息</param>
/// <returns></returns>
[HttpPost]
public Model.ResponeData PostProjectPerson([FromBody] Model.PersonItem person)
{
var responeData = new Model.ResponeData();
try
{
if (person != null)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getProject = ProjectService.GetProjectByProjectId(person.ProjectId);
if (getProject != null)
{
var getUnit = UnitService.getUnitByCollCropCodeUnitName(person.CollCropCode, person.UnitName);
if (getUnit != null)
{
var getProjectPerson = SitePerson_PersonService.GetSitePersonByProjectIdIdentityCard(getProject.ProjectId, person.IdentityCard);
if (getProjectPerson == null)
{
var newPerson = APIPersonService.getSavePerson(person);
var newProjectPerson = APIPersonService.getSaveProjectPerson(person);
var getPersons = Person_PersonsService.GetPerson_PersonsByIdCard(person.IdentityCard);
if (getPersons == null)
{
if (person.headImage != null)
{
var image = Convert.FromBase64String(person.headImage);
newPerson.HeadImage = image;
string rootPath = ConfigurationManager.AppSettings["localRoot"];
string path = "FileUpLoad/PersonBaseInfo/" + DateTime.Now.ToString("yyyy-MM") + "/";
string fileUrl = (rootPath + path).Replace('/', '\\');
string flieName = Funs.GetNewFileName() + "~" + person.PersonName + ".jpg";
if (!Directory.Exists(fileUrl))
{
Directory.CreateDirectory(fileUrl);
}
newPerson.PhotoUrl = path + flieName;
System.IO.File.WriteAllBytes((fileUrl + flieName), image);
//AttachFileService.Base64ToImage(person.headImage, path, person.PersonName);
}
newPerson.IsOffice = false;
newPerson.PersonId = SQLHelper.GetNewID();
Person_PersonsService.AddPerson(newPerson);
}
if (!string.IsNullOrEmpty(person.TeamGroupName) && !string.IsNullOrEmpty(newProjectPerson.UnitId))
{
var getTeamGroup = TeamGroupService.getTeamGroupByTeamGroupName(getProject.ProjectId, newProjectPerson.UnitId, person.TeamGroupName);
if (getTeamGroup != null)
{
newProjectPerson.TeamGroupId = getTeamGroup.TeamGroupId;
}
else
{
Model.ProjectData_TeamGroup newTeamGroup = new Model.ProjectData_TeamGroup
{
TeamGroupId = SQLHelper.GetNewID(),
ProjectId = getProject.ProjectId,
UnitId = newProjectPerson.UnitId,
TeamGroupName = person.TeamGroupName,
Remark = "来源:门禁对接数据",
TeamTypeId = "CANJIAN_TEAM",
EntryTime = System.DateTime.Now,
RealNamePushTime = null,
};
db.ProjectData_TeamGroup.InsertOnSubmit(newTeamGroup);
db.SubmitChanges();
newProjectPerson.TeamGroupId = newTeamGroup.TeamGroupId;
}
}
var getWorkArea = UnitWorkService.GetUnitWorkByUnitWorkName(getProject.ProjectId, person.WorkAreaName);
if (getWorkArea != null)
{
newProjectPerson.WorkAreaId = getWorkArea.UnitWorkId;
}
var getWorkPost = WorkPostService.GetWorkPostByName(person.WorkPostName);
if (getWorkPost != null)
{
newProjectPerson.WorkPostId = getWorkPost.WorkPostId;
}
var getHsseMan = SitePerson_PersonService.getSitePerson_PersonByRoleId(getProject.ProjectId, BLL.Const.HSSEManager);
if (getHsseMan != null)
{
newProjectPerson.AuditorId = getHsseMan.PersonId;
newProjectPerson.AuditorDate = DateTime.Now;
}
newProjectPerson.OutTime = Funs.GetNewDateTime(person.OutTime);
if (newProjectPerson.OutTime.HasValue)
{
newProjectPerson.States = Const.ProjectPersonStates_2;
}
else
{
newProjectPerson.States = Const.ProjectPersonStates_1;
}
newProjectPerson.PersonId = SQLHelper.GetNewID();
SitePerson_PersonService.AddSitePerson(newProjectPerson);
responeData.message = "新增人员成功!";
}
else
{
if (!string.IsNullOrEmpty(person.OutTime))
{
SitePerson_PersonService.SetSitePerson_PersonStates(getProjectPerson.PersonId, Const.ProjectPersonStates_2, Funs.GetNewDateTime(person.OutTime));
responeData.message = "更新出场时间";
}
else
{
responeData.message = "该身份证号码人员已存在!";
}
}
}
else
{
responeData.code = 0;
responeData.message = "单位:" + person.UnitName + "施工平台不存在!";
}
}
else
{
responeData.code = 0;
responeData.message = "项目:" + person.ProjectId + "施工平台不存在!";
}
}
}
else
{
responeData.code = 0;
responeData.message = "数据为空!";
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
/// <summary>
/// 获取人员出入场记录
/// </summary>
/// <param name="projectId"></param>
/// <param name="idCard"></param>
/// <param name="isIn"></param>
/// <param name="changeTime"></param>
/// <returns></returns>
public Model.ResponeData getPersonInOut(string projectId, string idCard, int isIn, DateTime changeTime)
{
var responeData = new Model.ResponeData();
string operationLog = "projectId:" + projectId + ";idCard:" + idCard + ";isIn:" + isIn.ToString() + ";changeTime:" + Funs.GetNewFileName(changeTime);
try
{
Model.SitePerson_PersonInOut newInOut = new Model.SitePerson_PersonInOut
{
ProjectId = projectId,
IdentityCard = idCard,
IsIn = isIn == 1 ? true : false,
ChangeTime = changeTime,
InOutWay = Const.InOutWay_1,
};
PersonInOutService.AddPersonInOut(newInOut);
APICommonService.SaveSysAPILog("Person/getPersonInOut", operationLog, responeData.code.ToString());
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
APICommonService.SaveSysAPILog("Person/getPersonInOut", operationLog + "|" + ex.Message, responeData.code.ToString());
}
return responeData;
}
#endregion
#region
/// <summary>
///
/// </summary>
/// <param name="personInOut"></param>
/// <returns></returns>
[HttpPost]
public Model.ResponeData SavePersonInOut([FromBody] Model.PersonInOutItem personInOut)
{
var responeData = new Model.ResponeData();
try
{
if (!string.IsNullOrEmpty(personInOut.PersonId) || (!string.IsNullOrEmpty(personInOut.IdentityCard) && !string.IsNullOrEmpty(personInOut.ProjectId)))
{
Model.SitePerson_PersonInOut newPersonInOut = new Model.SitePerson_PersonInOut
{
ProjectId = personInOut.ProjectId,
OldID = personInOut.OldID,
PersonId = personInOut.PersonId,
IdentityCard = personInOut.IdentityCard,
IsIn = personInOut.IsIn ?? true,
ChangeTime = Funs.GetNewDateTimeOrNow(personInOut.ChangeTime),
InOutWay = personInOut.InOutWay ?? Const.InOutWay_Other,
};
PersonInOutService.AddPersonInOut(newPersonInOut);
}
else
{
responeData.code = 2;
responeData.message = "信息不全!";
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
ErrLogInfo.WriteLog(ex, "WX接口-保存人员出入记录", "PersonController.SavePersonInOut");
}
return responeData;
}
#endregion
#region
/// <summary>
/// 获取发卡人员
/// </summary>
/// <param name="projectId"></param>
/// <returns></returns>
public Model.ResponeData getPersonDataExchange(string projectId)
{
var responeData = new Model.ResponeData();
try
{
responeData.data = (from x in Funs.DB.SitePerson_Person
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
join persons in Funs.DB.Person_Persons on x.IdentityCard equals persons.IdentityCard
where x.ProjectId == projectId && !x.ExchangeTime.HasValue
&& x.States == Const.ProjectPersonStates_1 && x.CardNo != null && persons.PhotoUrl != null
select new
{
x.PersonId,
x.PersonName,
x.CardNo,
x.IdentityCard,
x.UnitId,
y.UnitCode,
y.UnitName,
Sex = persons.Sex ?? "1",
Funs.DB.Base_WorkPost.First(z => z.WorkPostId == x.WorkPostId).WorkPostName,
Funs.DB.ProjectData_TeamGroup.First(z => z.TeamGroupId == x.TeamGroupId).TeamGroupName,
persons.Telephone,
persons.Address,
TrainRecord = APIPersonService.getStrTrainRecordByPersonId(x.PersonId),
x.ExchangeTime,
x.ExchangeTime2,
persons.PhotoUrl,
}).Take(200);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
/// <summary>
/// 获取离场人员
/// </summary>
/// <param name="projectId"></param>
/// <returns></returns>
public Model.ResponeData getPersonOutDataExchange(string projectId)
{
var responeData = new Model.ResponeData();
try
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
responeData.data = (from x in db.SitePerson_Person
where x.ProjectId == projectId && x.States == Const.ProjectPersonStates_2
&& x.CardNo != null && !x.ExchangeTime2.HasValue && x.ExchangeTime.HasValue
select new
{
x.SitePersonId,
x.PersonId,
x.PersonName,
x.CardNo,
x.IdentityCard,
OutTime = x.OutTime == null ? DateTime.Now.AddYears(10) : x.OutTime,
}).ToList();
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
/// <summary>
/// 更新人员数据交换时间
/// </summary>
/// <param name="sitePersonId">人员ID</param>
/// <param name="type">交换类型</param>
/// <returns></returns>
public Model.ResponeData getUpdatePersonExchangeTime(string sitePersonId, string type)
{
var responeData = new Model.ResponeData();
try
{
APIPersonService.getUpdatePersonExchangeTime(sitePersonId, type);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
/// <summary>
/// 获取人员信息出入场记录
/// </summary>
/// <param name="projectId"></param>
/// <param name="unitId">当前人单位ID</param>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <param name="pageIndex">页码</param>
/// <returns></returns>
public Model.ResponeData getPersonInOutList(string projectId, string unitId, string startTime, string endTime, int pageIndex)
{
var responeData = new Model.ResponeData();
try
{
var getDataList = APIPersonService.getPersonInOutList(projectId, unitId, startTime, endTime);
int pageCount = getDataList.Count();
if (pageCount > 0 && pageIndex > 0)
{
getDataList = getDataList.Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList();
}
responeData.data = new { pageCount, getDataList };
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region -
/// <summary>
/// 获取人员信息出入场记录
/// </summary>
/// <param name="projectId"></param>
/// <param name="unitId"></param>
/// <param name="userUnitId">当前人单位ID</param>
/// <param name="workPostId">岗位</param>
/// <param name="strParam">查询条件</param>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <param name="pageIndex">页码</param>
/// <returns></returns>
public Model.ResponeData getPersonInOutList(string projectId, string userUnitId, string workPostId, string strParam, string startTime, string endTime, int pageIndex, string unitId = null)
{
var responeData = new Model.ResponeData();
try
{
var getDataList = APIPersonService.getPersonInOutList(projectId, userUnitId, unitId, workPostId, strParam, startTime, endTime);
int pageCount = getDataList.Count();
if (pageCount > 0 && pageIndex > 0)
{
getDataList = getDataList.Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList();
}
responeData.data = new { pageCount, getDataList };
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region ID获取个人出入场记录
/// <summary>
/// 根据人员ID获取个人出入场记录
/// </summary>
/// <param name="personId"></param>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <param name="pageIndex">页码</param>
/// <returns></returns>
public Model.ResponeData getPersonInOutListByPersonId(string personId, string startTime, string endTime, int pageIndex)
{
var responeData = new Model.ResponeData();
try
{
var getDataList = APIPersonService.getPersonInOutListByPersonId(personId, startTime, endTime);
int pageCount = getDataList.Count();
if (pageCount > 0 && pageIndex > 0)
{
getDataList = getDataList.Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList();
}
responeData.data = new { pageCount, getDataList };
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
/// <summary>
/// 获取异常人员信息出入场记录
/// </summary>
/// <param name="projectId"></param>
/// <param name="unitId">单位ID</param>
/// <param name="startTime">开始时间</param>
/// <param name="endTime">结束时间</param>
/// <param name="inOut"> 入场异常 0 出场异常 1</param>
/// <param name="pageIndex">页码</param>
/// <returns></returns>
public Model.ResponeData getAbnormalPersonInOutList(string projectId, string unitId, string startTime, string endTime, string inOut, int pageIndex)
{
var responeData = new Model.ResponeData();
try
{
var getDataList = APIPersonService.getAbnormalPersonInOutList(projectId, unitId, startTime, endTime, inOut, pageIndex);
int pageCount = getDataList.Count();
responeData.data = new { pageCount, getDataList };
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
}
}