fix 用户查询考勤处理
This commit is contained in:
@@ -37,9 +37,9 @@ public class DeviceUploadLogsController : ControllerBase
|
|||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("userpage")]
|
[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>
|
/// <summary>
|
||||||
|
|||||||
@@ -29,4 +29,12 @@ public class DeviceUploadLogPageRequest : PageDto
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[EnumDataType(typeof(GainfoUserTypeEnumType))]
|
[EnumDataType(typeof(GainfoUserTypeEnumType))]
|
||||||
public GainfoUserTypeEnumType UserType { get; set; }
|
public GainfoUserTypeEnumType UserType { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class DeviceUploadLogUserPageRequest : PageDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 日期范围查询
|
||||||
|
/// </summary>
|
||||||
|
public DateTimePeriod SearchDateTimePeriod { get; set; }
|
||||||
}
|
}
|
||||||
@@ -58,6 +58,73 @@ public class DeviceUploadLogResponse
|
|||||||
public string SerialNo { get; set; }
|
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; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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]
|
[JsonIgnore]
|
||||||
public string OriginUserUniqueNo { get; set; }
|
public string OriginUserUniqueNo { get; set; }
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ public interface IDeviceUploadLogService : IScopeDependency
|
|||||||
/// <param name="request"></param>
|
/// <param name="request"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<Pagination<DeviceUploadLogResponse>> GetPageAsync(DeviceUploadLogPageRequest request);
|
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)
|
public async Task<Pagination<DeviceUploadLogResponse>> GetPageAsync(DeviceUploadLogPageRequest request)
|
||||||
{
|
{
|
||||||
DeviceUploadLogTypeEnumType? type = request.Type switch
|
DeviceUploadLogTypeEnumType? type = request.Type switch
|
||||||
|
|||||||
Reference in New Issue
Block a user