diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssService.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssService.java index cd638ea3..2ef14730 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssService.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssService.java @@ -134,18 +134,20 @@ public class EssService { BizAssertions.assertNotNull(signPerson, "当前签署人员未加入单位, 无法签署"); EssContract contract = essContractDao.getForUpdateOrThrow(request.getEssContractId()); BizAssertions.assertFalse(contract.isFinalState(), "合同已是最终状态 {}, 无法签署", contract.getState()); - if (contract.getConstraint() == Constraint.ONE_PERSON_PER_ORG) + if (contract.getConstraint() == Constraint.ONE_PERSON_PER_ORG) { BizAssertions.assertFalse(contract.isOrgSigned(request.getOuId()), "该单位已签署, 无法再次签署"); - contract.getOrCreateAssignment().getSignPerOrgs().find(request.getOuId()).ifPresent(org -> { - BizAssertions.assertEquals(org.getRecipientId(), request.getRecipientId(), "单位的签署编号不能变化"); - if (!org.getPersonId().equals(request.getPersonId())) { - EssPerson signSuperAdmin = orgManager.getSuperAdminOrThrow(signPerson.getOuId()); - essClient.forward(signSuperAdmin, contract.getEssContractId(), request.getRecipientId(), signPerson); - } - }); - contract.getOrCreateAssignment().getSignPerOrgs().remove(request.getOuId()); - contract.getOrCreateAssignment().getSignPerOrgs().add(signPerson, request.getRecipientId()); - essContractDao.updateAssigment(contract); + contract.getOrCreateAssignment().getSignPerOrgs().find(request.getOuId()).ifPresent(org -> { + BizAssertions.assertEquals(org.getRecipientId(), request.getRecipientId(), "单位的签署编号不能变化"); + if (!org.getPersonId().equals(request.getPersonId())) { + EssPerson signSuperAdmin = orgManager.getSuperAdminOrThrow(signPerson.getOuId()); + essClient.forward(signSuperAdmin, contract.getEssContractId(), request.getRecipientId(), + signPerson); + } + }); + contract.getOrCreateAssignment().getSignPerOrgs().remove(request.getOuId()); + contract.getOrCreateAssignment().getSignPerOrgs().add(signPerson, request.getRecipientId()); + essContractDao.updateAssigment(contract); + } EssPerson superAdmin = contractManager.getContractSuperAdmin(contract); if (request.getEndpoint() != SignUrlEndpoint.PC) return essClient.createSignUrls(superAdmin, contract.getEssContractId(), request.getRecipientId(),