fix 用户查询考勤处理

This commit is contained in:
2025-01-14 14:18:48 +08:00
parent 276bfd482c
commit 7047869236
5 changed files with 118 additions and 2 deletions

View File

@@ -37,9 +37,9 @@ public class DeviceUploadLogsController : ControllerBase
}
[HttpGet("userpage")]
public async Task<Pagination<DeviceUploadLogResponse>> GetUserPageAsync([FromQuery] DeviceUploadLogPageRequest request)
public async Task<Pagination<DeviceUploadLogUserResponse>> GetUserPageAsync(DeviceUploadLogUserPageRequest request)
{
return await _deviceUploadLogService.GetPageAsync(request);
return await _deviceUploadLogService.GetUserPageAsync(request);
}
/// <summary>

View File

@@ -30,3 +30,11 @@ public class DeviceUploadLogPageRequest : PageDto
[EnumDataType(typeof(GainfoUserTypeEnumType))]
public GainfoUserTypeEnumType UserType { get; set; }
}
public class DeviceUploadLogUserPageRequest : PageDto
{
/// <summary>
/// 日期范围查询
/// </summary>
public DateTimePeriod SearchDateTimePeriod { get; set; }
}

View File

@@ -76,3 +76,70 @@ public class DeviceUploadLogResponse
/// </summary>
public bool Status { get; set; }
}
public class DeviceUploadLogUserResponse
{
public long Id { get; set; }
/// <summary>
/// 设备号
/// </summary>
public string DeviceUniqueNo { get; set; }
/// <summary>
/// 设备部署点
/// </summary>
public string DeployPlace { get; set; }
/// <summary>
/// 用户档案号
/// </summary>
public string UserNo { get; set; }
/// <summary>
/// 用户学工号
/// </summary>
public string UserCode { get; set; }
/// <summary>
/// 用户名称
/// </summary>
public string UserName { get; set; }
/// <summary>
/// 上传时间
/// </summary>
public DateTime RaiseDateTime { get; set; }
/// <summary>
/// 记录创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 序列号
/// </summary>
public string SerialNo { get; set; }
[JsonIgnore]
public string OriginUserUniqueNo { get; set; }
/// <summary>
/// 是否同步sap
/// </summary>
public bool Sync { get; set; }
/// <summary>
/// 是否需要上传
/// </summary>
public bool NeedUpload { get; set; }
/// <summary>
/// 是否有效
/// </summary>
public bool Status { get; set; }
}

View File

@@ -21,6 +21,8 @@ public interface IDeviceUploadLogService : IScopeDependency
/// <returns></returns>
Task<Pagination<DeviceUploadLogResponse>> GetPageAsync(DeviceUploadLogPageRequest request);
Task<Pagination<DeviceUploadLogUserResponse>> GetUserPageAsync(DeviceUploadLogUserPageRequest request);
/// <summary>
/// 获取我个人的通行记录
/// </summary>

View File

@@ -217,6 +217,45 @@ public class DeviceUploadLogService : IDeviceUploadLogService
};
}
public async Task<Pagination<DeviceUploadLogUserResponse>> GetUserPageAsync(DeviceUploadLogUserPageRequest request)
{
var r = await _dbContext.Queryable<DeviceUploadLogEntity>()
.LeftJoin<DeviceEntity>((x, device) => x.DeviceUniqueNo == device.UniqueNo)
.LeftJoin<GainfoEntity>((x, device, ga) => x.UserUniqueNo == ga.Code)
.WhereIF(request.SearchDateTimePeriod.HasValue(), x => x.RaiseDateTime >= request.SearchDateTimePeriod.Start
&& x.RaiseDateTime <= request.SearchDateTimePeriod.End)
.Where((x, device) => x.NeedUpload)
.WhereIF(request.Search.IsPresent(), (x, device, ga) =>
x.UserUniqueNo == request.Search
|| x.DeviceUniqueNo == request.Search
)
.OrderBy(x => x.RaiseDateTime, OrderByType.Desc)
.Select((x, device, ga) => new DeviceUploadLogUserResponse
{
Id = x.Id,
OriginUserUniqueNo = x.UserUniqueNo,
DeviceUniqueNo = x.DeviceUniqueNo,
RaiseDateTime = x.RaiseDateTime,
CreateTime = x.CreateTime,
SerialNo = x.SerialNo,
UserNo = ga.No,
UserCode = ga.Code,
UserName = ga.Name,
DeployPlace = device.DeployPlace,
NeedUpload = x.NeedUpload,
Sync = x.Sync,
Status = x.Status,
}).ToPageListAsync(request.PageIndex, request.PageSize);
return new Pagination<DeviceUploadLogUserResponse>
{
PageIndex = request.PageIndex,
PageSize = request.PageSize,
Total = 0,
Data = r
};
}
public async Task<Pagination<DeviceUploadLogResponse>> GetPageAsync(DeviceUploadLogPageRequest request)
{
DeviceUploadLogTypeEnumType? type = request.Type switch