From 89180f038e36a2f957c15717aeceb6945251f674 Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期一, 01 九月 2025 09:53:16 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs | 25 +++++++++++++++++++------ 1 files changed, 19 insertions(+), 6 deletions(-) diff --git a/FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs index ecd94d1..6fdbf87 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> /// 瀵煎叆鐏靛伐淇℃伅 @@ -227,7 +229,6 @@ if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "鐏靛伐"); if (entity.UserSignContractStatus == EnumTaskUserSignContractStatus.Wait) throw Oops.Oh(EnumErrorCodeType.s400, "宸查個璇�"); if (entity.UserSignContractStatus == EnumTaskUserSignContractStatus.Pass) throw Oops.Oh(EnumErrorCodeType.s400, "宸茬绾�"); - if (entity.UserSignContractStatus == EnumTaskUserSignContractStatus.Effect) throw Oops.Oh(EnumErrorCodeType.s400, "宸茬敓鏁�"); await mediator.Send(new CheckContractTemplateCommand { Id = request.ContractTemplateId @@ -238,6 +239,7 @@ entity.EnterpriseSignContractStatus = null; entity.EnterpriseSignContractTime = null; entity.ContractCode = $"{DateTime.Now:yyyyMMddHHmmss}{new Random(IDGen.NextID().GetHashCode()).Next(1000, 9999)}"; + entity.ContractUrl = null; var contract = new EnterpriseEmployeeContract { EnterpriseEmployeeId = entity.Id, @@ -273,7 +275,6 @@ if (entity == null) throw Oops.Oh(EnumErrorCodeType.s510, "鏈姤鍚嶈浼佷笟"); if (entity.UserSignContractStatus == null) throw Oops.Oh(EnumErrorCodeType.s510, "浼佷笟鏈彂璧风绾�"); if (entity.UserSignContractStatus == EnumTaskUserSignContractStatus.Pass) throw Oops.Oh(EnumErrorCodeType.s510, "宸茬绾�"); - if (entity.UserSignContractStatus == EnumTaskUserSignContractStatus.Effect) throw Oops.Oh(EnumErrorCodeType.s510, "宸茬敓鏁�"); if (entity.UserSignContractStatus == EnumTaskUserSignContractStatus.Refuse) throw Oops.Oh(EnumErrorCodeType.s510, "宸叉嫆绛�"); if (entity.UserSignContractStatus == EnumTaskUserSignContractStatus.Stop) throw Oops.Oh(EnumErrorCodeType.s510, "宸茬粓姝�"); var contract = await repEnterpriseEmployeeContract.AsQueryable() @@ -344,7 +345,6 @@ if (entity == null) throw Oops.Oh(EnumErrorCodeType.s510, "鐏靛伐涓嶅瓨鍦�"); if (entity.UserSignContractStatus == null) throw Oops.Oh(EnumErrorCodeType.s510, "鏈個璇风绾�"); if (entity.UserSignContractStatus == EnumTaskUserSignContractStatus.Wait) throw Oops.Oh(EnumErrorCodeType.s510, "璇峰厛绛夊緟鐏靛伐绛剧害瀹屾垚"); - if (entity.UserSignContractStatus == EnumTaskUserSignContractStatus.Effect) throw Oops.Oh(EnumErrorCodeType.s510, "宸茬敓鏁�"); if (entity.UserSignContractStatus == EnumTaskUserSignContractStatus.Refuse) throw Oops.Oh(EnumErrorCodeType.s510, "宸叉嫆绛�"); if (entity.UserSignContractStatus == EnumTaskUserSignContractStatus.Stop) throw Oops.Oh(EnumErrorCodeType.s510, "宸茬粓姝�"); var contract = await repEnterpriseEmployeeContract.AsQueryable() @@ -393,7 +393,7 @@ .Where(it => it.EnterpriseId == logier.EnterpriseId && it.Id == request.Id) .FirstOrDefaultAsync(); if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "鐏靛伐"); - if (entity.UserSignContractStatus != EnumTaskUserSignContractStatus.Effect) throw Oops.Oh(EnumErrorCodeType.s400, "鏈敓鏁�"); + if (entity.UserSignContractStatus != EnumTaskUserSignContractStatus.Pass) throw Oops.Oh(EnumErrorCodeType.s400, "鏈绾�"); entity.UserSignContractStatus = EnumTaskUserSignContractStatus.Stop; entity.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Stop; await rep.UpdateAsync(entity); @@ -402,10 +402,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