| | |
| | | if (task == null) throw Oops.Oh(EnumErrorCodeType.s404, "任务"); |
| | | if (task.Status != EnumTaskStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "任务暂未安排人员"); |
| | | if (task.ReleaseStatus != EnumTaskReleaseStatus.InProcess) throw Oops.Oh(EnumErrorCodeType.s510, "任务已结束"); |
| | | if (request.Date.Date > now.Date) |
| | | throw Oops.Oh(EnumErrorCodeType.s510, "任务时间未开始"); |
| | | if (task.BeginTime > request.Date.Date) |
| | | throw Oops.Oh(EnumErrorCodeType.s510, "任务未开始"); |
| | | if (request.Date.Date > task.EndTime) |
| | |
| | | var taskUser = await repTaskInfoUser.AsQueryable() |
| | | .FirstOrDefaultAsync(it => it.TaskInfoId == task.Id && it.EnterpriseEmployee.UserId == logier.Id, cancellationToken); |
| | | if (taskUser == null) throw Oops.Oh(EnumErrorCodeType.s404, "报名信息"); |
| | | if (taskUser.HireStatus != EnumTaskUserHireStatus.Pass) throw Oops.Oh(EnumErrorCodeType.s510, "您未录用"); |
| | | //if (taskUser.HireStatus != EnumTaskUserHireStatus.Pass) throw Oops.Oh(EnumErrorCodeType.s510, "您未录用"); |
| | | if (taskUser.ArrangeStatus != EnumTaskUserArrangeStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "暂未安排"); |
| | | task.CheckReceiveStatus = EnumTaskCheckReceiveStatus.WaitCheckReceive; |
| | | task.LastSubmitTime = now; |
| | |
| | | var taskUser = await repTaskInfoUser.AsQueryable() |
| | | .FirstOrDefaultAsync(it => it.Id == submit.TaskInfoUserId, cancellationToken); |
| | | if (taskUser == null) throw Oops.Oh(EnumErrorCodeType.s404, "灵工信息"); |
| | | if (taskUser.HireStatus != EnumTaskUserHireStatus.Pass) throw Oops.Oh(EnumErrorCodeType.s510, "未录用灵工"); |
| | | //if (taskUser.HireStatus != EnumTaskUserHireStatus.Pass) throw Oops.Oh(EnumErrorCodeType.s510, "未录用灵工"); |
| | | if (taskUser.ArrangeStatus != EnumTaskUserArrangeStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "未安排灵工"); |
| | | var task = await repTaskInfo.AsQueryable() |
| | | .FirstOrDefaultAsync(it => it.Id == taskUser.TaskInfoId && it.EnterpriseId == logier.EnterpriseId, cancellationToken); |
| | |
| | | var taskUserCheckReceiveStatuses = await repTaskInfoUser.AsQueryable().AsNoTracking() |
| | | .Where(it => |
| | | it.TaskInfoId == task.Id |
| | | && it.Id != taskUser.Id) |
| | | && it.Id != taskUser.Id |
| | | && it.ArrangeStatus == EnumTaskUserArrangeStatus.Complete) |
| | | .Select(it => it.CheckReceiveStatus) |
| | | .ToListAsync(); |
| | | taskUserCheckReceiveStatuses.Add(EnumTaskCheckReceiveStatus.Completed); |
| | | if (taskUserCheckReceiveStatuses.All(it => it == EnumTaskCheckReceiveStatus.Completed)) |
| | | { |
| | | task.CheckReceiveStatus = EnumTaskCheckReceiveStatus.Completed; |
| | | task.CheckReceiveTime = DateTime.Now; |
| | | task.SettlementOrderStatus = EnumTaskSettlementOrderStatus.Wait; |
| | | } |
| | | |
| | | await repTaskInfoUserSubmit.UpdateAsync(submit); |