REQ-3581: 合同不能拒签

This commit is contained in:
yanglin 2025-02-26 16:16:37 +08:00
parent bfcd95d00a
commit 8b27a9d851
3 changed files with 33 additions and 4 deletions

View File

@ -11,8 +11,6 @@ import lombok.Setter;
import org.hibernate.validator.constraints.Range;
import javax.validation.Valid;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.util.List;
@ -29,6 +27,11 @@ public class Approver implements OrgPerson {
@Valid
private OrgPersonInfo signPerson;
/**
* 签署选项
*/
private SignOption signOption = new SignOption();
/**
* 在指定签署方时可选择企业B端或个人C端等不同的参与者类型
*/

View File

@ -0,0 +1,22 @@
package cn.axzo.nanopart.ess.api.domain.contract;
import lombok.Getter;
import lombok.Setter;
/**
* @author yanglin
*/
@Setter @Getter
public class SignOption {
/**
* 是否可以拒签. false-可以拒签, true-不可以拒签
*/
private boolean noRefuse = true;
/**
* 是否可以转发. false-可以转发 true-不可以转发
*/
private boolean noTransfer = true;
}

View File

@ -224,10 +224,9 @@ public class EssClient implements InitializingBean {
for (Approver approver : contract.getApprovers()) {
FlowApproverInfo approverInfo = new FlowApproverInfo();
approvers.add(approverInfo);
if (approver.getSignPerson() == null) {
ApproverOption approverOption = new ApproverOption();
if (approver.getSignPerson() == null) {
approverOption.setFillType(1L);
approverInfo.setApproverOption(approverOption);
} else {
OrganizationalUnitVO orgProfile = orgProfiles.getOrThrow(approver.getOuId());
PersonProfileDto personProfile = personProfiles.getOrThrow(approver.getPersonId());
@ -237,6 +236,11 @@ public class EssClient implements InitializingBean {
approverInfo.setOrganizationName(orgProfile.getName());
approverInfo.setOrganizationOpenId(OrgOpenId.ofPerson(approver).toOpenId());
}
if (approver.getSignOption() != null) {
approverOption.setNoRefuse(approver.getSignOption().isNoRefuse());
approverOption.setNoTransfer(approver.getSignOption().isNoTransfer());
}
approverInfo.setApproverOption(approverOption);
approverInfo.setApproverType(approver.getApproverType().name());
approverInfo.setNotifyType("NONE");
approverInfo.setPreReadTime(approver.getPreReadTimeSeconds());