diff --git a/ess/ess-api/src/main/java/cn/axzo/nanopart/ess/api/domain/contract/Approver.java b/ess/ess-api/src/main/java/cn/axzo/nanopart/ess/api/domain/contract/Approver.java index ae69205a..7a09bad9 100644 --- a/ess/ess-api/src/main/java/cn/axzo/nanopart/ess/api/domain/contract/Approver.java +++ b/ess/ess-api/src/main/java/cn/axzo/nanopart/ess/api/domain/contract/Approver.java @@ -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端等不同的参与者类型 */ diff --git a/ess/ess-api/src/main/java/cn/axzo/nanopart/ess/api/domain/contract/SignOption.java b/ess/ess-api/src/main/java/cn/axzo/nanopart/ess/api/domain/contract/SignOption.java new file mode 100644 index 00000000..0b118168 --- /dev/null +++ b/ess/ess-api/src/main/java/cn/axzo/nanopart/ess/api/domain/contract/SignOption.java @@ -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; + +} \ No newline at end of file diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssClient.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssClient.java index 3f533df4..4b77a46d 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssClient.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/EssClient.java @@ -224,10 +224,9 @@ public class EssClient implements InitializingBean { for (Approver approver : contract.getApprovers()) { FlowApproverInfo approverInfo = new FlowApproverInfo(); approvers.add(approverInfo); + ApproverOption approverOption = new ApproverOption(); if (approver.getSignPerson() == null) { - ApproverOption approverOption = new ApproverOption(); 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());