File was renamed from FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Queries/TaskUserSubmitQueryHandler.cs |
| | |
| | | namespace FlexJobApi.FlexJobServer.Application |
| | | { |
| | | /// <summary> |
| | | /// 任务人员查询处理器 |
| | | /// 任务验收查询处理器 |
| | | /// </summary> |
| | | public class TaskUserSubmitQueryHandler( |
| | | public class TaskCheckReceiveQueryHandler( |
| | | IRepository<TaskInfo> repTaskInfo, |
| | | IRepository<TaskInfoUser> repTaskInfoUser) : |
| | | IRepository<TaskInfoUser> repTaskInfoUser, |
| | | IRepository<TaskInfoUserSubmit> repTaskInfoUserSubmit) : |
| | | IRequestHandler<GetCheckReceiveTasksQuery, GetCheckReceiveTasksQueryResult>, |
| | | IRequestHandler<GetCheckReceiveTaskQuery, GetCheckReceiveTaskQueryResult> |
| | | IRequestHandler<GetCheckReceiveTaskQuery, GetCheckReceiveTaskQueryResult>, |
| | | IRequestHandler<GetCheckReceiveTaskUserSubmitsQuery, GetCheckReceiveTaskUserSubmitsQueryResult>, |
| | | IRequestHandler<GetCheckReceiveTaskUserSubmitQuery, GetCheckReceiveTaskUserSubmitQueryResult> |
| | | { |
| | | private readonly IRepository<TaskInfo> repTaskInfo = repTaskInfo; |
| | | private readonly IRepository<TaskInfoUser> repTaskInfoUser = repTaskInfoUser; |
| | | private readonly IRepository<TaskInfoUserSubmit> repTaskInfoUserSubmit = repTaskInfoUserSubmit; |
| | | |
| | | /// <summary> |
| | | /// 查询验收任务分页列表 |
| | |
| | | q = q.Where(it => |
| | | it.TaskInfoUsers.Any(tu => |
| | | tu.EnterpriseEmployee.UserId == logier.Id |
| | | && tu.Submits.Any(s => |
| | | && (request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitSubmit |
| | | ? !tu.Submits.Any(s => s.Date.Date == request.Date.Value.Date) |
| | | : tu.Submits.Any(s => |
| | | s.Date.Date == request.Date.Value.Date |
| | | && (request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitSubmit |
| | | ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit |
| | | : request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitCheckReceive |
| | | ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive |
| | | : (s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Success |
| | | || s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Fail))))); |
| | | || s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Fail)))))); |
| | | } |
| | | else |
| | | { |
| | |
| | | LastSubmitTime = it.LastSubmitTime, |
| | | }); |
| | | var result = await request.PageModel.GetPagedListAsync<GetCheckReceiveTaskQueryResult, GetCheckReceiveTaskQueryResultItem>(s, cancellationToken); |
| | | result.ObjectData = await repTaskInfo.AsQueryable().AsNoTracking() |
| | | .Where(it => it.Id == request.TaskInfoId) |
| | | .GetDetail<TaskInfo, GetCheckReceiveTaskQueryResultObjectData>(); |
| | | return result; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 查询验收详情 |
| | | /// </summary> |
| | | /// <param name="request"></param> |
| | | /// <param name="cancellationToken"></param> |
| | | /// <returns></returns> |
| | | public async Task<GetCheckReceiveTaskUserSubmitsQueryResult> Handle(GetCheckReceiveTaskUserSubmitsQuery request, CancellationToken cancellationToken) |
| | | { |
| | | var logier = JwtUtils.GetCurrentLogier(); |
| | | var q = repTaskInfoUserSubmit.AsQueryable().AsNoTracking() |
| | | .OrderByDescending(it => it.CreatedTime) |
| | | .Where(it => it.TaskInfoUserId == request.Id); |
| | | var s = q.Select(it => new GetCheckReceiveTaskUserSubmitsQueryResultItem |
| | | { |
| | | Id = it.Id, |
| | | CreatedTime = it.CreatedTime, |
| | | Files = it.Files.Select(f => f.File).ToList(), |
| | | CheckReceiveStatus = it.CheckReceiveStatus, |
| | | CheckReceiveTime = it.CheckReceiveTime, |
| | | }); |
| | | var result = await request.PageModel.GetPagedListAsync<GetCheckReceiveTaskUserSubmitsQueryResult, GetCheckReceiveTaskUserSubmitsQueryResultItem>(s, cancellationToken); |
| | | result.ObjectData = await repTaskInfoUser.AsQueryable().AsNoTracking() |
| | | .Where(it => it.Id == request.Id) |
| | | .GetDetail<TaskInfoUser, GetCheckReceiveTaskUserSubmitsQueryResultObjectData>(); |
| | | return result; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 查询验收提交详情 |
| | | /// </summary> |
| | | /// <param name="request"></param> |
| | | /// <param name="cancellationToken"></param> |
| | | /// <returns></returns> |
| | | public Task<GetCheckReceiveTaskUserSubmitQueryResult> Handle(GetCheckReceiveTaskUserSubmitQuery request, CancellationToken cancellationToken) |
| | | { |
| | | return repTaskInfoUserSubmit.AsQueryable().AsNoTracking() |
| | | .Where(it => it.Id == request.Id) |
| | | .GetDetail<TaskInfoUserSubmit, GetCheckReceiveTaskUserSubmitQueryResult>(); |
| | | } |
| | | } |
| | | } |