sunpengfei
6 天以前 eb358f8a46f4264a7ba88a5624edf3ae5b4ad983
FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs
@@ -40,18 +40,20 @@
            var logier = JwtUtils.GetCurrentLogier();
            var task = await repTaskInfo.AsQueryable()
                .FirstOrDefaultAsync(it => it.Id == request.TaskInfoId, cancellationToken);
            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 (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, "该任务未开始");
                throw Oops.Oh(EnumErrorCodeType.s510, "任务未开始");
            if (request.Date.Date > task.EndTime)
                throw Oops.Oh(EnumErrorCodeType.s510, "该任务已结束");
                throw Oops.Oh(EnumErrorCodeType.s510, "任务已结束");
            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.ArrangeStatus != EnumTaskUserArrangeStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "暂未安排该任务");
            if (taskUser == null) throw Oops.Oh(EnumErrorCodeType.s404, "报名信息");
            //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;
            taskUser.CheckReceiveStatus = EnumTaskCheckReceiveStatus.WaitCheckReceive;
@@ -106,16 +108,16 @@
            var submit = await repTaskInfoUserSubmit.AsQueryable()
                .Include(it => it.Files)
                .FirstOrDefaultAsync(it => it.Id == request.Id);
            if (submit == null) throw Oops.Oh(EnumErrorCodeType.s404, "该提交信息");
            if (submit == null) throw Oops.Oh(EnumErrorCodeType.s404, "提交信息");
            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.ArrangeStatus != EnumTaskUserArrangeStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "未安排该灵工");
            if (taskUser == null) throw Oops.Oh(EnumErrorCodeType.s404, "灵工信息");
            //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);
            if (task == null) throw Oops.Oh(EnumErrorCodeType.s404, "该任务");
            if (task.Status != EnumTaskStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "该任务暂未安排人员");
            if (task == null) throw Oops.Oh(EnumErrorCodeType.s404, "任务");
            if (task.Status != EnumTaskStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "任务暂未安排人员");
            if (request.CheckReceiveStatus != EnumTaskUserSubmitCheckReceiveStatus.Success
                && request.CheckReceiveStatus != EnumTaskUserSubmitCheckReceiveStatus.Fail)
                throw Oops.Oh(EnumErrorCodeType.s400, "请选择正确的验收状态");
@@ -146,13 +148,16 @@
            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);