| | |
| | | { |
| | | q = q.Where(it => it.EnterpriseId == logier.EnterpriseId); |
| | | } |
| | | if (request.Keywords.IsNotNull()) |
| | | { |
| | | q = q.Where(it => |
| | | it.TaskInfoUsers.Any(tu => |
| | | tu.EnterpriseEmployee.User.Name.Contains(request.Keywords) |
| | | || tu.EnterpriseEmployee.User.PhoneNumber.Contains(request.Keywords) |
| | | || tu.EnterpriseEmployee.User.Identity.Contains(request.Keywords))); |
| | | } |
| | | if (logier.ClientType == EnumClientType.Wxmp) |
| | | { |
| | | if (request.CheckReceiveStatus == null) |
| | |
| | | throw Oops.Oh(EnumErrorCodeType.s400, "请选择日期"); |
| | | } |
| | | q = q.Where(it => |
| | | it.TaskInfoUsers.Any(tu => |
| | | tu.EnterpriseEmployee.UserId == logier.Id |
| | | (logier.Type == EnumUserType.Enterprise ? it.EnterpriseId == logier.EnterpriseId : true) |
| | | && it.TaskInfoUsers.Any(tu => |
| | | (logier.Type == EnumUserType.Personal ? tu.EnterpriseEmployee.UserId == logier.Id : true) |
| | | && (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 |
| | | : (request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitCheckReceive |
| | | ? s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive |
| | | : (s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Success |
| | | || s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Fail)))))); |
| | | || s.CheckReceiveStatus == EnumTaskUserSubmitCheckReceiveStatus.Fail))))))); |
| | | } |
| | | else |
| | | { |
| | |
| | | } |
| | | var s = q.Select(it => new GetCheckReceiveTaskQueryResultItem |
| | | { |
| | | Id = it.TaskInfoId, |
| | | Id = it.Id, |
| | | TaskInfoCode = it.TaskInfo.Code, |
| | | TaskInfoName = it.TaskInfo.Name, |
| | | Avatar = it.EnterpriseEmployee.User.Avatar, |
| | |
| | | result.ObjectData = await repTaskInfoUser.AsQueryable().AsNoTracking() |
| | | .Where(it => it.Id == request.Id) |
| | | .GetDetail<TaskInfoUser, GetCheckReceiveTaskUserSubmitsQueryResultObjectData>(); |
| | | result.ObjectData.EnterpriseEmployeeUser.IsBindBankCard = await repTaskInfo.Change<UserBankCard>().AsQueryable().AsNoTracking() |
| | | .AnyAsync(it => it.UserId == result.ObjectData.EnterpriseEmployeeUser.Id); |
| | | return result; |
| | | } |
| | | |
| | |
| | | /// <returns></returns> |
| | | public Task<GetCheckReceiveTaskUserSubmitQueryResult> Handle(GetCheckReceiveTaskUserSubmitQuery request, CancellationToken cancellationToken) |
| | | { |
| | | return repTaskInfoUserSubmit.AsQueryable().AsNoTracking() |
| | | .Where(it => it.Id == request.Id) |
| | | .GetDetail<TaskInfoUserSubmit, GetCheckReceiveTaskUserSubmitQueryResult>(); |
| | | var q = repTaskInfoUserSubmit.AsQueryable().AsNoTracking(); |
| | | if (request.SubmitId.HasValue) |
| | | { |
| | | q = q.Where(it => it.Id == request.SubmitId.Value); |
| | | } |
| | | else if (request.Date.HasValue && request.TaskInfoId.HasValue) |
| | | { |
| | | q = q.Where(it => it.Date.Date == request.Date.Value.Date && it.TaskInfoUser.TaskInfoId == request.TaskInfoId.Value); |
| | | } |
| | | else if (request.Date.HasValue && request.TaskInfoUserId.HasValue) |
| | | { |
| | | q = q.Where(it => it.Date.Date == request.Date.Value.Date && it.TaskInfoUserId == request.TaskInfoUserId.Value); |
| | | } |
| | | return q.GetDetail<TaskInfoUserSubmit, GetCheckReceiveTaskUserSubmitQueryResult>(); |
| | | } |
| | | } |
| | | } |