| | |
| | | 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 => |
| | |
| | | else if (logier.Type == EnumUserType.Enterprise) |
| | | { |
| | | q = q.Where(it => it.TaskInfo.EnterpriseId == logier.EnterpriseId); |
| | | } |
| | | if (logier.Type == EnumUserType.Enterprise && logier.ClientType == EnumClientType.Wxmp) |
| | | { |
| | | if (request.CheckReceiveStatus == null) |
| | | { |
| | | throw Oops.Oh(EnumErrorCodeType.s400, "请选择验收状态"); |
| | | } |
| | | if (request.Date == null) |
| | | { |
| | | throw Oops.Oh(EnumErrorCodeType.s400, "请选择日期"); |
| | | } |
| | | q = q.Where(it => |
| | | it.TaskInfo.EnterpriseId == logier.EnterpriseId |
| | | && (request.CheckReceiveStatus == EnumTaskCheckReceiveStatus.WaitSubmit |
| | | ? !it.Submits.Any(s => s.Date.Date == request.Date.Value.Date) |
| | | : it.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)))))); |
| | | } |
| | | var s = q.Select(it => new GetCheckReceiveTaskQueryResultItem |
| | | { |
| | |
| | | result.ObjectData = await repTaskInfoUser.AsQueryable().AsNoTracking() |
| | | .Where(it => it.Id == request.Id) |
| | | .GetDetail<TaskInfoUser, GetCheckReceiveTaskUserSubmitsQueryResultObjectData>(); |
| | | |
| | | await repTaskInfo.Change<UserBankCard>() |
| | | result.ObjectData.EnterpriseEmployeeUser.IsBindBankCard = await repTaskInfo.Change<UserBankCard>().AsQueryable().AsNoTracking() |
| | | .AnyAsync(it => it.UserId == result.ObjectData.EnterpriseEmployeeUser.Id); |
| | | return result; |
| | | } |
| | | |