REQ-3581: 断言动态获取签署链接

This commit is contained in:
yanglin 2025-03-04 16:03:03 +08:00
parent f12ba26657
commit 7403203cd8

View File

@ -135,6 +135,8 @@ public class EssService {
BizAssertions.assertNotNull(signPerson, "当前签署人员未加入单位, 无法签署");
EssContract contract = essContractDao.getForUpdateOrThrow(request.getEssContractId());
BizAssertions.assertFalse(contract.isFinalState(), "合同已是最终状态 {}, 无法签署", contract.getState());
Approver approver = contract.getApproverOrThrow(request.getRecipientId());
BizAssertions.assertFalse(approver.isSignPersonPreset(), "非动态签署人不能使用该接口签署");
if (contract.getConstraint() == Constraint.ONE_PERSON_PER_ORG) {
BizAssertions.assertFalse(contract.isOrgSigned(request.getOuId()), "该单位已签署, 无法再次签署");
contract.getOrCreateAssignment().getSignPerOrgs().find(request.getOuId()).ifPresent(org -> {
@ -153,10 +155,7 @@ public class EssService {
if (request.getEndpoint() != SignUrlEndpoint.PC)
return essClient.createSignUrls(superAdmin, contract.getEssContractId(), request.getRecipientId(),
signPerson);
Approver approver = contract.getApproverOrThrow(request.getRecipientId());
if (!approver.isSignPersonPreset())
essClient.createFlowApprovers(superAdmin, contract.getEssContractId(), request.getRecipientId(),
signPerson);
essClient.createFlowApprovers(superAdmin, contract.getEssContractId(), request.getRecipientId(), signPerson);
return essClient.createPcSignUrl(superAdmin, contract.getEssContractId(), signPerson);
}