From 0a2215fac7b72abba17f816cec53b94e36debdbd Mon Sep 17 00:00:00 2001 From: sunpengfei <i@angelzzz.com> Date: 星期五, 29 八月 2025 10:33:09 +0800 Subject: [PATCH] feat:开发 --- FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs | 4 ++-- FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs | 30 +++++++++++++++++++++++++++--- FlexJobApi.Core/Enums/Tasks/EnumTaskUserSignContractStatus.cs | 4 ---- FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs | 5 +---- FlexJobApi.UserServer.Application/ElectronSign/Commands/ElectronSignCallbackCommandHandler.cs | 4 ++-- 5 files changed, 32 insertions(+), 15 deletions(-) diff --git a/FlexJobApi.Core/Enums/Tasks/EnumTaskUserSignContractStatus.cs b/FlexJobApi.Core/Enums/Tasks/EnumTaskUserSignContractStatus.cs index b57b177..97df0bd 100644 --- a/FlexJobApi.Core/Enums/Tasks/EnumTaskUserSignContractStatus.cs +++ b/FlexJobApi.Core/Enums/Tasks/EnumTaskUserSignContractStatus.cs @@ -24,10 +24,6 @@ /// </summary> Refuse = 30, /// <summary> - /// 鐢熸晥涓� - /// </summary> - Effect = 40, - /// <summary> /// 宸茬粓姝� /// </summary> Stop = 50 diff --git a/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs b/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs index 534de00..641eb79 100644 --- a/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs +++ b/FlexJobApi.FlexJobServer.Application/TaskUsers/Commands/TaskUserCommandHandler.cs @@ -102,7 +102,7 @@ if (entity.HireStatus == EnumTaskUserHireStatus.Pass) { entity.HireTime = DateTime.Now; - if (entity.EnterpriseEmployee.EnterpriseSignContractStatus == EnumTaskUserSignContractStatus.Effect) + if (entity.EnterpriseEmployee.EnterpriseSignContractStatus == EnumTaskUserSignContractStatus.Pass) { entity.ArrangeStatus = EnumTaskUserArrangeStatus.Wait; } @@ -128,7 +128,7 @@ && it.Id == request.Id) .FirstOrDefaultAsync(cancellationToken); if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "鎶ュ悕淇℃伅"); - if (entity.EnterpriseEmployee.EnterpriseSignContractStatus != EnumTaskUserSignContractStatus.Effect) throw Oops.Oh(EnumErrorCodeType.s510, "鐏靛伐鏈绾�"); + if (entity.EnterpriseEmployee.EnterpriseSignContractStatus != EnumTaskUserSignContractStatus.Pass) throw Oops.Oh(EnumErrorCodeType.s510, "鐏靛伐鏈绾�"); if (entity.ArrangeStatus == EnumTaskUserArrangeStatus.Complete) throw Oops.Oh(EnumErrorCodeType.s510, "鐏靛伐宸插畨鎺�"); entity.ArrangeStatus = request.ArrangeStatus; if (entity.ArrangeStatus == EnumTaskUserArrangeStatus.Complete) diff --git a/FlexJobApi.UserServer.Application/ElectronSign/Commands/ElectronSignCallbackCommandHandler.cs b/FlexJobApi.UserServer.Application/ElectronSign/Commands/ElectronSignCallbackCommandHandler.cs index a690174..0ad74b5 100644 --- a/FlexJobApi.UserServer.Application/ElectronSign/Commands/ElectronSignCallbackCommandHandler.cs +++ b/FlexJobApi.UserServer.Application/ElectronSign/Commands/ElectronSignCallbackCommandHandler.cs @@ -116,12 +116,12 @@ } if (data.Status == Core.Models.ElectronSignServer.ContractTemplates.EnumElectronSignContractStatus.Completed) { - contract.UserSignContractStatus = EnumTaskUserSignContractStatus.Effect; + contract.UserSignContractStatus = EnumTaskUserSignContractStatus.Pass; if (contract.UserSignContractTime == null) { contract.UserSignContractTime = DateTime.Now; } - contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Effect; + contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Pass; if (contract.EnterpriseSignContractTime == null) { contract.EnterpriseSignContractTime = DateTime.Now; diff --git a/FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs index 5926454..1836a63 100644 --- a/FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs +++ b/FlexJobApi.UserServer.Application/EnterpriseEmployees/Commands/EnterpriseEmployeesCommandHandler.cs @@ -229,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 @@ -275,7 +274,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() @@ -346,7 +344,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() @@ -395,7 +392,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); diff --git a/FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs b/FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs index 2a300aa..f028764 100644 --- a/FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs +++ b/FlexJobApi.UserServer.Application/EnterpriseEmployees/Queries/EnterpriseEmployeeQueryHandler.cs @@ -65,7 +65,24 @@ { q = q.Where(it => (it.UserId.HasValue && it.User.IsReal) == request.IsReal.Value); } - if (request.UserSignContractStatus.HasValue) + if (request.UserSignContractStatus.HasValue && logier.ClientType == EnumClientType.Wxmp) + { + switch (request.UserSignContractStatus.Value) + { + case EnumTaskUserSignContractStatus.Wait: + q = q.Where(it => it.UserSignContractStatus == null || it.UserSignContractStatus == request.UserSignContractStatus); + break; + case EnumTaskUserSignContractStatus.Pass: + q = q.Where(it => it.UserSignContractStatus == request.UserSignContractStatus && it.EnterpriseSignContractStatus == EnumTaskUserSignContractStatus.Pass); + break; + case EnumTaskUserSignContractStatus.Stop: + q = q.Where(it => it.UserSignContractStatus == request.UserSignContractStatus); + break; + default: + break; + } + } + else { q = q.Where(it => it.UserSignContractStatus == request.UserSignContractStatus); } @@ -154,13 +171,20 @@ .Where(it => it.UserId == logier.Id); if (request.UserSignContractStatus.HasValue) { - q = q.Where(it => it.UserSignContractStatus == request.UserSignContractStatus.Value); + if (request.UserSignContractStatus == EnumTaskUserSignContractStatus.Pass) + { + q = q.Where(it => it.UserSignContractStatus == EnumTaskUserSignContractStatus.Pass && it.EnterpriseSignContractStatus == EnumTaskUserSignContractStatus.Pass); + } + else + { + q = q.Where(it => it.UserSignContractStatus == request.UserSignContractStatus.Value); + } } else { q = q.Where(it => it.UserSignContractStatus == EnumTaskUserSignContractStatus.Wait - || it.UserSignContractStatus == EnumTaskUserSignContractStatus.Effect + || it.UserSignContractStatus == EnumTaskUserSignContractStatus.Pass && it.EnterpriseSignContractStatus == EnumTaskUserSignContractStatus.Pass || it.UserSignContractStatus == EnumTaskUserSignContractStatus.Stop); } var s = q.Select(it => new GetPersonalUserElectronSignsQueryResultItem -- Gitblit v1.9.1