From af412772ab7a4c14ba58385bacb273577abdf15e Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期五, 05 九月 2025 14:23:59 +0800
Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/ApiFlexJob

---
 FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs b/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs
index f706f34..086493e 100644
--- a/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs
+++ b/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs
@@ -43,6 +43,8 @@
             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)
@@ -50,7 +52,7 @@
             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;
@@ -110,7 +112,7 @@
             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);
@@ -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);

--
Gitblit v1.9.1