fix 用户查询考勤处理
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -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; }
|
||||
}
|
||||
@@ -21,6 +21,8 @@ public interface IDeviceUploadLogService : IScopeDependency
|
||||
/// <returns></returns>
|
||||
Task<Pagination<DeviceUploadLogResponse>> GetPageAsync(DeviceUploadLogPageRequest request);
|
||||
|
||||
Task<Pagination<DeviceUploadLogUserResponse>> GetUserPageAsync(DeviceUploadLogUserPageRequest request);
|
||||
|
||||
/// <summary>
|
||||
/// 获取我个人的通行记录
|
||||
/// </summary>
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user