| | |
| | | /// <returns></returns> |
| | | public async Task<GetCheckReceiveTasksQueryResult> Handle(GetCheckReceiveTasksQuery request, CancellationToken cancellationToken) |
| | | { |
| | | var now = DateTime.Now; |
| | | var logier = JwtUtils.GetCurrentLogier(); |
| | | var q = repTaskInfo.AsQueryable().AsNoTracking() |
| | | .OrderBy(it => it.CreatedTime) |
| | | .AsQueryable(); |
| | | .Where(it => it.BeginTime <= now.Date && now.Date <= it.EndTime); |
| | | |
| | | if (logier.Type == EnumUserType.Personal) |
| | | { |
| | | q = q.Where(it => it.TaskInfoUsers.Any(tu => |
| | | tu.EnterpriseEmployee.UserId == logier.Id |
| | | q = q.Where(it => it.TaskInfoUsers.Any(tu => |
| | | tu.EnterpriseEmployee.UserId == logier.Id |
| | | && tu.ArrangeStatus == EnumTaskUserArrangeStatus.Complete)); |
| | | } |
| | | else if (logier.Type == EnumUserType.Enterprise) |
| | | { |
| | | q = q.Where(it => |
| | | q = q.Where(it => |
| | | it.EnterpriseId == logier.EnterpriseId |
| | | && it.Status == EnumTaskStatus.Complete); |
| | | } |
| | |
| | | } |
| | | q = q.Where(it => |
| | | (logier.Type == EnumUserType.Enterprise ? it.EnterpriseId == logier.EnterpriseId : true) |
| | | && it.BeginTime.Date <= request.Date.Value && request.Date.Value <= it.EndTime.Date |
| | | && it.TaskInfoUsers.Any(tu => |
| | | (logier.Type == EnumUserType.Personal ? tu.EnterpriseEmployee.UserId == logier.Id : true) |
| | | && (request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitSubmit |
| | |
| | | var s = q.Select(it => new GetCheckReceiveTaskUserSubmitsQueryResultItem |
| | | { |
| | | Id = it.Id, |
| | | Date = it.Date, |
| | | CreatedTime = it.CreatedTime, |
| | | Files = it.Files.Select(f => f.File).ToList(), |
| | | CheckReceiveStatus = it.CheckReceiveStatus, |