增加考勤对接需要人员接口和考勤记录接口

This commit is contained in:
2025-12-24 16:27:07 +08:00
parent 26b921cab2
commit 8ccc25e074
6 changed files with 289 additions and 50 deletions
+74 -7
View File
@@ -102,25 +102,38 @@ namespace WebAPI.Controllers
/// <summary>
/// 根据条件获取项目人员信息(支持分页和过滤)
/// </summary>
/// <param name="filter">查询过滤条件</param>
/// <param name="filter">查询过滤条件ProjectName为必填参数)</param>
/// <param name="pagesize">每页条数</param>
/// <param name="pageindex">页码(从1开始)</param>
/// <param name="returnAll">是否返回全部数据</param>
/// <returns></returns>
public Model.ResponeData getPersonByFilter([FromUri] Model.ProjectPersonInput filter, int pagesize = 15, int pageindex = 1, bool returnAll = false)
public Model.ResponeData getPersonByFilter([FromUri] Model.ProjectPersonInput filter, int? pagesize = 15, int? pageindex = 1, bool ? returnAll = false)
{
var responeData = new Model.ResponeData();
try
{
// 验证必填参数 ProjectName
if (filter == null || string.IsNullOrEmpty(filter.ProjectName))
{
responeData.code = 2;
responeData.message = "ProjectName为必填参数!";
return responeData;
}
// 处理可空参数的默认值
int actualPagesize = pagesize ?? 15;
int actualPageindex = pageindex ?? 1;
bool actualReturnAll = returnAll ?? false;
var getDataList = APIPersonService.getPersonByFilter(filter);
int pageCount = getDataList.Count;
if (!returnAll && pageCount > 0 && pageindex > 0 && pagesize > 0)
if (!actualReturnAll && pageCount > 0 && actualPageindex > 0 && actualPagesize > 0)
{
getDataList = getDataList.Skip(pagesize * (pageindex - 1)).Take(pagesize).ToList();
getDataList = getDataList.Skip(actualPagesize * (actualPageindex - 1)).Take(actualPagesize).ToList();
}
responeData.data = new { pageCount, pageindex, pagesize, getDataList };
responeData.data = new { pageCount, pageindex = actualPageindex, pagesize = actualPagesize, getDataList };
}
catch (Exception ex)
{
@@ -999,8 +1012,8 @@ namespace WebAPI.Controllers
#region ID获取个人出入场记录
/// <summary>
/// 根据人员ID获取个人出入场记录
/// </summary>
/// <param name="personId"></param>
/// </summary>
/// <param name="personId"></param>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <param name="pageIndex">页码</param>
@@ -1027,6 +1040,60 @@ namespace WebAPI.Controllers
}
#endregion
#region
/// <summary>
/// 根据条件获取人员出入场记录(支持分页和过滤)
/// </summary>
/// <param name="filter">查询过滤条件(StartTime和EndTime必填)</param>
/// <param name="pagesize">每页条数</param>
/// <param name="pageindex">页码(从1开始)</param>
/// <param name="returnAll">是否返回全部数据</param>
/// <returns></returns>
public Model.ResponeData getPersonInOutListByFilter([FromUri] Model.PersonInOutRecordInput filter, int? pagesize = 15, int? pageindex = 1, bool? returnAll = false)
{
var responeData = new Model.ResponeData();
try
{
// 验证必填参数
if (filter == null || filter.StartTime == default(DateTime) || filter.EndTime == default(DateTime))
{
responeData.code = 2;
responeData.message = "StartTime和EndTime为必填参数!";
return responeData;
}
// 验证时间范围
if (filter.StartTime > filter.EndTime)
{
responeData.code = 2;
responeData.message = "StartTime不能大于EndTime";
return responeData;
}
// 处理可空参数的默认值
int actualPagesize = pagesize ?? 15;
int actualPageindex = pageindex ?? 1;
bool actualReturnAll = returnAll ?? false;
var getDataList = APIPersonService.getPersonInOutListByFilter(filter);
int pageCount = getDataList.Count;
if (!actualReturnAll && pageCount > 0 && actualPageindex > 0 && actualPagesize > 0)
{
getDataList = getDataList.Skip(actualPagesize * (actualPageindex - 1)).Take(actualPagesize).ToList();
}
responeData.data = new { pageCount, pageindex = actualPageindex, pagesize = actualPagesize, getDataList };
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region
/// <summary>
/// 获取异常人员信息出入场记录