FlexJobApi.Core/Enums/Tasks/EnumTaskUserSignContractStatus.cs
@@ -24,10 +24,6 @@ /// </summary> Refuse = 30, /// <summary> /// 生效中 /// </summary> Effect = 40, /// <summary> /// 已终止 /// </summary> Stop = 50 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) 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; 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); 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) { 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