REQ-3581: 动态获取签署链接
This commit is contained in:
parent
2045b49e68
commit
5800716140
@ -134,18 +134,20 @@ public class EssService {
|
|||||||
BizAssertions.assertNotNull(signPerson, "当前签署人员未加入单位, 无法签署");
|
BizAssertions.assertNotNull(signPerson, "当前签署人员未加入单位, 无法签署");
|
||||||
EssContract contract = essContractDao.getForUpdateOrThrow(request.getEssContractId());
|
EssContract contract = essContractDao.getForUpdateOrThrow(request.getEssContractId());
|
||||||
BizAssertions.assertFalse(contract.isFinalState(), "合同已是最终状态 {}, 无法签署", contract.getState());
|
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()), "该单位已签署, 无法再次签署");
|
BizAssertions.assertFalse(contract.isOrgSigned(request.getOuId()), "该单位已签署, 无法再次签署");
|
||||||
contract.getOrCreateAssignment().getSignPerOrgs().find(request.getOuId()).ifPresent(org -> {
|
contract.getOrCreateAssignment().getSignPerOrgs().find(request.getOuId()).ifPresent(org -> {
|
||||||
BizAssertions.assertEquals(org.getRecipientId(), request.getRecipientId(), "单位的签署编号不能变化");
|
BizAssertions.assertEquals(org.getRecipientId(), request.getRecipientId(), "单位的签署编号不能变化");
|
||||||
if (!org.getPersonId().equals(request.getPersonId())) {
|
if (!org.getPersonId().equals(request.getPersonId())) {
|
||||||
EssPerson signSuperAdmin = orgManager.getSuperAdminOrThrow(signPerson.getOuId());
|
EssPerson signSuperAdmin = orgManager.getSuperAdminOrThrow(signPerson.getOuId());
|
||||||
essClient.forward(signSuperAdmin, contract.getEssContractId(), request.getRecipientId(), signPerson);
|
essClient.forward(signSuperAdmin, contract.getEssContractId(), request.getRecipientId(),
|
||||||
}
|
signPerson);
|
||||||
});
|
}
|
||||||
contract.getOrCreateAssignment().getSignPerOrgs().remove(request.getOuId());
|
});
|
||||||
contract.getOrCreateAssignment().getSignPerOrgs().add(signPerson, request.getRecipientId());
|
contract.getOrCreateAssignment().getSignPerOrgs().remove(request.getOuId());
|
||||||
essContractDao.updateAssigment(contract);
|
contract.getOrCreateAssignment().getSignPerOrgs().add(signPerson, request.getRecipientId());
|
||||||
|
essContractDao.updateAssigment(contract);
|
||||||
|
}
|
||||||
EssPerson superAdmin = contractManager.getContractSuperAdmin(contract);
|
EssPerson superAdmin = contractManager.getContractSuperAdmin(contract);
|
||||||
if (request.getEndpoint() != SignUrlEndpoint.PC)
|
if (request.getEndpoint() != SignUrlEndpoint.PC)
|
||||||
return essClient.createSignUrls(superAdmin, contract.getEssContractId(), request.getRecipientId(),
|
return essClient.createSignUrls(superAdmin, contract.getEssContractId(), request.getRecipientId(),
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user