| | |
| | | { |
| | | throw Oops.Oh(EnumErrorCodeType.s510, "合同已失效"); |
| | | } |
| | | if (entity.ContractTemplate.Access == EnumElectronSignAccess.BestSign) |
| | | if (request.Success) |
| | | { |
| | | if (data.UserType == Core.Models.ElectronSignServer.PersonalUserReals.EnumElectronSignUserType.Personal) |
| | | if (entity.ContractTemplate.Access == EnumElectronSignAccess.BestSign) |
| | | { |
| | | if (data.Status == Core.Models.ElectronSignServer.ContractTemplates.EnumElectronSignContractStatus.Signing) |
| | | if (data.UserType == Core.Models.ElectronSignServer.PersonalUserReals.EnumElectronSignUserType.Personal) |
| | | { |
| | | contract.UserSignContractStatus = EnumTaskUserSignContractStatus.Pass; |
| | | contract.UserSignContractTime = DateTime.Now; |
| | | contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Wait; |
| | | if (data.Status == Core.Models.ElectronSignServer.ContractTemplates.EnumElectronSignContractStatus.Signing) |
| | | { |
| | | contract.UserSignContractStatus = EnumTaskUserSignContractStatus.Pass; |
| | | contract.UserSignContractTime = DateTime.Now; |
| | | contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Wait; |
| | | } |
| | | } |
| | | else if (data.Status == Core.Models.ElectronSignServer.ContractTemplates.EnumElectronSignContractStatus.Cancelled) |
| | | else |
| | | { |
| | | contract.UserSignContractStatus = EnumTaskUserSignContractStatus.Refuse; |
| | | if (data.Status == Core.Models.ElectronSignServer.ContractTemplates.EnumElectronSignContractStatus.Signing) |
| | | { |
| | | contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Pass; |
| | | contract.EnterpriseSignContractTime = DateTime.Now; |
| | | } |
| | | } |
| | | } |
| | | if (data.Status == Core.Models.ElectronSignServer.ContractTemplates.EnumElectronSignContractStatus.Completed) |
| | | { |
| | | contract.UserSignContractStatus = EnumTaskUserSignContractStatus.Pass; |
| | | if (contract.UserSignContractTime == null) |
| | | { |
| | | contract.UserSignContractTime = DateTime.Now; |
| | | } |
| | | contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Pass; |
| | | if (contract.EnterpriseSignContractTime == null) |
| | | { |
| | | contract.EnterpriseSignContractTime = DateTime.Now; |
| | | } |
| | | contract.ContractUrl = AliyunOSSUtils.Upload("Contact", data.ContactUrl, $"{contract.ContractTemplate.Name}.pdf").Url; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (entity.ContractTemplate.Access == EnumElectronSignAccess.BestSign) |
| | | { |
| | | if (data.UserType == Core.Models.ElectronSignServer.PersonalUserReals.EnumElectronSignUserType.Personal) |
| | | { |
| | | contract.UserSignContractErrorMessage = request.Message; |
| | | } |
| | | else |
| | | { |
| | | contract.EnterpriseSignContractErrorMessage = request.Message; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (data.Status == Core.Models.ElectronSignServer.ContractTemplates.EnumElectronSignContractStatus.Signing) |
| | | { |
| | | contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Pass; |
| | | contract.EnterpriseSignContractTime = DateTime.Now; |
| | | } |
| | | else if (data.Status == Core.Models.ElectronSignServer.ContractTemplates.EnumElectronSignContractStatus.Cancelled) |
| | | { |
| | | contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Refuse; |
| | | contract.EnterpriseSignContractErrorMessage = request.Message; |
| | | } |
| | | contract.UserSignContractErrorMessage = request.Message; |
| | | contract.EnterpriseSignContractErrorMessage = request.Message; |
| | | } |
| | | } |
| | | else if (data.Status == Core.Models.ElectronSignServer.ContractTemplates.EnumElectronSignContractStatus.Cancelled) |
| | | { |
| | | contract.UserSignContractStatus = EnumTaskUserSignContractStatus.Refuse; |
| | | contract.UserSignContractErrorMessage = request.Message; |
| | | contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Refuse; |
| | | contract.EnterpriseSignContractErrorMessage = request.Message; |
| | | } |
| | | if (data.Status == Core.Models.ElectronSignServer.ContractTemplates.EnumElectronSignContractStatus.Completed) |
| | | { |
| | | contract.UserSignContractStatus = EnumTaskUserSignContractStatus.Pass; |
| | | if (contract.UserSignContractTime == null) |
| | | { |
| | | contract.UserSignContractTime = DateTime.Now; |
| | | } |
| | | contract.EnterpriseSignContractStatus = EnumTaskUserSignContractStatus.Pass; |
| | | if (contract.EnterpriseSignContractTime == null) |
| | | { |
| | | contract.EnterpriseSignContractTime = DateTime.Now; |
| | | } |
| | | contract.ContractUrl = AliyunOSSUtils.Upload("Contact", data.ContactUrl, $"{contract.ContractTemplate.Name}.pdf").Url; |
| | | } |
| | | await repEnterpriseEmployeeContract.UpdateAsync(contract); |
| | | |
| | |
| | | entity.ContractUrl = contract.ContractUrl; |
| | | await repEnterpriseEmployee.UpdateAsync(entity); |
| | | |
| | | var taskUsers = await repTaskInfoUser.AsQueryable() |
| | | .Where(it => it.EnterpriseEmployeeId == entity.Id && it.HireStatus == EnumTaskUserHireStatus.Pass && it.ArrangeStatus == null) |
| | | .ToListAsync(); |
| | | if (taskUsers.IsNotNull()) |
| | | if (entity.UserSignContractStatus == EnumTaskUserSignContractStatus.Pass && entity.EnterpriseSignContractStatus == EnumTaskUserSignContractStatus.Pass) |
| | | { |
| | | foreach (var taskUser in taskUsers) |
| | | var taskUsers = await repTaskInfoUser.AsQueryable() |
| | | .Where(it => it.EnterpriseEmployeeId == entity.Id && it.HireStatus == EnumTaskUserHireStatus.Pass && it.ArrangeStatus == null) |
| | | .ToListAsync(); |
| | | if (taskUsers.IsNotNull()) |
| | | { |
| | | taskUser.ArrangeStatus = EnumTaskUserArrangeStatus.Wait; |
| | | foreach (var taskUser in taskUsers) |
| | | { |
| | | taskUser.ArrangeStatus = EnumTaskUserArrangeStatus.Wait; |
| | | } |
| | | await repTaskInfoUser.UpdateAsync(taskUsers); |
| | | } |
| | | await repTaskInfoUser.UpdateAsync(taskUsers); |
| | | } |
| | | } |
| | | |