From fb89fec1fd258823db5de1e1270cf92de3bb1cc6 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期五, 29 八月 2025 09:24:49 +0800
Subject: [PATCH] feat:开发

---
 FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs   |    4 ++--
 FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs |   19 +++++++++++++++++--
 2 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs b/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs
index 406a0b7..a533d6f 100644
--- a/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs
+++ b/FlexJobApi.FlexJobServer.Application/TaskCheckReceives/Commands/TaskCheckReceiveCommandHandler.cs
@@ -52,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;
@@ -112,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);
diff --git a/FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs
index ecd94d1..5926454 100644
--- a/FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs
+++ b/FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs
@@ -37,7 +37,8 @@
             IRepository<EnterpriseEmployeeContract> repEnterpriseEmployeeContract,
             IRepository<ElectronSignSetting> repElectronSignSetting,
             IRepository<ContractTemplate> repContractTemplate,
-            IRepository<EnterpriseCost> repEnterpriseCost
+            IRepository<EnterpriseCost> repEnterpriseCost,
+            IRepository<TaskInfoUser> repTaskInfoUser
         ) :
         IRequestHandler<ImportEnterpriseEmployeesCommand, ImportEnterpriseEmployeesCommandResult>,
         IRequestHandler<EditEnterpriseEmployeeCommand, Guid>,
@@ -54,6 +55,7 @@
         private readonly IRepository<ElectronSignSetting> repElectronSignSetting = repElectronSignSetting;
         private readonly IRepository<ContractTemplate> repContractTemplate = repContractTemplate;
         private readonly IRepository<EnterpriseCost> repEnterpriseCost = repEnterpriseCost;
+        private readonly IRepository<TaskInfoUser> repTaskInfoUser = repTaskInfoUser;
 
         /// <summary>
         /// 瀵煎叆鐏靛伐淇℃伅
@@ -402,10 +404,23 @@
                 .OrderByDescending(it => it.CreatedTime)
                 .Where(it => it.EnterpriseEmployeeId == entity.Id)
                 .FirstOrDefaultAsync();
-            if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "鍚堝悓");
+            if (contract == null) throw Oops.Oh(EnumErrorCodeType.s404, "鍚堝悓");
             contract.UserSignContractStatus = EnumTaskUserSignContractStatus.Stop;
             contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Stop;
             await repEnterpriseEmployeeContract.UpdateAsync(contract);
+
+            var taskUsers = await repTaskInfoUser.AsQueryable()
+                .Where(it => it.EnterpriseEmployeeId == entity.Id && it.HireStatus == EnumTaskUserHireStatus.Pass)
+                .ToListAsync();
+            if (taskUsers.IsNotNull())
+            {
+                foreach (var taskUser in taskUsers)
+                {
+                    taskUser.HireStatus = EnumTaskUserHireStatus.Wait;
+                }
+                await repTaskInfoUser.UpdateAsync(taskUsers);
+            }
+
             return entity.Id;
         }
     }

--
Gitblit v1.9.1