From 6ebe3c3c7ca87633d155fb3cbcc8c015344f4a0e Mon Sep 17 00:00:00 2001 From: yanglin Date: Tue, 4 Mar 2025 15:21:52 +0800 Subject: [PATCH] =?UTF-8?q?REQ-3581:=20=E5=8A=A8=E6=80=81=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E7=AD=BE=E7=BD=B2=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ess/api/domain/CreateContractInfo.java | 29 +++++++--------- .../server/ess/support/ContractSupport.java | 33 +++++-------------- 2 files changed, 21 insertions(+), 41 deletions(-) diff --git a/ess/ess-api/src/main/java/cn/axzo/nanopart/ess/api/domain/CreateContractInfo.java b/ess/ess-api/src/main/java/cn/axzo/nanopart/ess/api/domain/CreateContractInfo.java index f24467ec..7dcb5265 100644 --- a/ess/ess-api/src/main/java/cn/axzo/nanopart/ess/api/domain/CreateContractInfo.java +++ b/ess/ess-api/src/main/java/cn/axzo/nanopart/ess/api/domain/CreateContractInfo.java @@ -1,22 +1,23 @@ package cn.axzo.nanopart.ess.api.domain; -import cn.axzo.nanopart.ess.api.domain.contract.Approver; -import cn.axzo.nanopart.ess.api.enums.Constraint; -import com.fasterxml.jackson.annotation.JsonIgnore; -import lombok.Getter; -import lombok.Setter; -import org.hibernate.validator.constraints.Range; +import static java.util.stream.Collectors.toSet; -import javax.validation.Valid; -import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; import java.util.Collections; import java.util.List; import java.util.Set; -import static java.util.stream.Collectors.toSet; +import javax.validation.Valid; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; + +import org.hibernate.validator.constraints.Range; + +import com.fasterxml.jackson.annotation.JsonIgnore; + +import cn.axzo.nanopart.ess.api.domain.contract.Approver; +import lombok.Getter; +import lombok.Setter; /** * @author yanglin @@ -38,12 +39,6 @@ public abstract class CreateContractInfo { @NotEmpty(message = "approvers不能为空") private List approvers; - /** - * 合同签署方的签署约束种类 - */ - @NotNull(message = "approverConstraint不能为空") - private Constraint constraint = Constraint.ONE_PERSON_PER_ORG; - /** * 签署方签署控件(印章/签名等)的生成方式. * 0: 在合同流程发起时,由发起人指定签署方的签署控件的位置和数量 diff --git a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/support/ContractSupport.java b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/support/ContractSupport.java index 4a994bc7..82a7c20b 100644 --- a/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/support/ContractSupport.java +++ b/ess/ess-server/src/main/java/cn/axzo/nanopart/ess/server/ess/support/ContractSupport.java @@ -1,9 +1,17 @@ package cn.axzo.nanopart.ess.server.ess.support; +import static java.util.stream.Collectors.toList; + +import java.util.Collections; +import java.util.List; + +import org.springframework.stereotype.Component; + +import com.alibaba.fastjson.JSON; + import cn.axzo.nanopart.ess.api.domain.CreateContractInfo; import cn.axzo.nanopart.ess.api.domain.contract.Approver; -import cn.axzo.nanopart.ess.api.enums.Constraint; import cn.axzo.nanopart.ess.api.enums.EssContractState; import cn.axzo.nanopart.ess.api.request.CreateContractByFileRequest; import cn.axzo.nanopart.ess.api.response.CreateContractByFileResponse; @@ -12,16 +20,8 @@ import cn.axzo.nanopart.ess.server.dao.EssOrgDao; import cn.axzo.nanopart.ess.server.entity.EssContract; import cn.axzo.nanopart.ess.server.entity.EssOrg; import cn.axzo.nanopart.ess.server.utils.BizAssertions; -import com.alibaba.fastjson.JSON; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; - -import java.util.Collections; -import java.util.HashSet; -import java.util.List; - -import static java.util.stream.Collectors.toList; /** * @author yanglin @@ -35,23 +35,9 @@ public class ContractSupport { private final EssContractDao essContractDao; public void validateCreateContract(CreateContractInfo contract) { - checkCreateContractConstraint(contract); ensureOrgAuthorized(contract); } - private void checkCreateContractConstraint(CreateContractInfo contract) { - if (contract.getConstraint() == Constraint.ONE_PERSON_PER_ORG) { - HashSet ouIds = new HashSet<>(); - for (Approver approver : contract.getApprovers()) { - if (approver.getSignPerson() == null) - continue; - BizAssertions.assertFalse(ouIds.contains(approver.getOuId()), "同一单位不能有多个审批人, constraint={}", - Constraint.ONE_PERSON_PER_ORG); - ouIds.add(approver.getOuId()); - } - } - } - private void ensureOrgAuthorized(CreateContractInfo contract) { BizAssertions.assertNotNull(contract, "合同信息不能为空"); List orgs = essOrgDao.getByOuIds(contract.getApproverOuIds()); @@ -74,7 +60,6 @@ public class ContractSupport { contract.setEssFieldIds(Collections.emptyList()); contract.setState(EssContractState.INIT); contract.setApprovers(request.getByFile().getApprovers()); - contract.getOrCreateAssignment().setConstraint(request.getContract().getConstraint()); contract.setApproveDetails(Collections.emptyList()); contract.setRecordExt(new EssContract.RecordExt()); essContractDao.save(contract);