From 0664fb05dd543082af070321090d4c9157dd83aa Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Wed, 25 Jun 2025 13:08:25 +0800 Subject: [PATCH 1/2] =?UTF-8?q?demand:=20=20=E7=BB=84=E6=89=B9=E6=AC=A1?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E3=80=81=E6=89=B9=E9=87=8F=E5=BD=95=E5=85=A5?= =?UTF-8?q?=E3=80=81=E4=BF=AE=E6=94=B9=E6=A0=A1=E9=AA=8C=E8=A7=84=E5=88=99?= =?UTF-8?q?=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../emis/mapper/EmisTransPlanRuleMapper.java | 7 +++++++ .../impl/EmisTmsSiteBatchServiceImpl.java | 18 ++++++++++++++++++ .../mapper/EmisTransPlanRuleMapper.xml | 17 +++++++++++++++++ 3 files changed, 42 insertions(+) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTransPlanRuleMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTransPlanRuleMapper.java index 004cd7f9c..2194c4b64 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTransPlanRuleMapper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisTransPlanRuleMapper.java @@ -166,4 +166,11 @@ public interface EmisTransPlanRuleMapper { * @return 总数 */ int countForAllScan(EmisTransPlanRule emisTransPlanRule); + + /** + * + * @param emisTransPlanRule + * @return + */ + List checkTransPlanRule(EmisTransPlanRule emisTransPlanRule); } \ No newline at end of file diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsSiteBatchServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsSiteBatchServiceImpl.java index ceb714dc5..042bfeab9 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsSiteBatchServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsSiteBatchServiceImpl.java @@ -23,6 +23,7 @@ import com.xdadan.erp.emis.domain.enumtype.EmisBizErrorType; import com.xdadan.erp.emis.domain.exception.EmisBizError; import com.xdadan.erp.emis.mapper.EmisTmsSiteBatchDtlMapper; import com.xdadan.erp.emis.mapper.EmisTmsSiteBatchLoadingMapper; +import com.xdadan.erp.emis.mapper.EmisTransPlanRuleMapper; import com.xdadan.erp.emis.service.EmisBaseService; import jodd.util.StringUtil; import lombok.extern.slf4j.Slf4j; @@ -57,6 +58,9 @@ public class EmisTmsSiteBatchServiceImpl extends EmisBaseService implements IEmi @Autowired RedissonService redissonService; + @Autowired + private EmisTransPlanRuleMapper emisTransPlanRuleMapper; + /** * 查询一级网点TMS组批次 * @@ -133,9 +137,23 @@ public class EmisTmsSiteBatchServiceImpl extends EmisBaseService implements IEmi if (Objects.nonNull(emisWaybill) && StringUtil.isNotBlank(emisWaybill.getVirtualRemark())) { throw new EmisBizError(EmisBizErrorType.FAIL, billCode + "已绑定虚拟单,无法录入批次"); } + checkTransPlanRule(oldSiteBatch, emisWaybill); checkUnique(oldSiteBatch, billCode); } + private void checkTransPlanRule(EmisTmsSiteBatch oldSiteBatch, EmisWaybill emisWaybill) throws EmisBizError { + EmisTransPlanRule emisTransPlanRule = new EmisTransPlanRule(); + emisTransPlanRule.setStartSiteCode(oldSiteBatch.getStartSiteCode()); + emisTransPlanRule.setNextSiteCode(oldSiteBatch.getNextSiteCode()); + emisTransPlanRule.setSupplierCode(oldSiteBatch.getSupplierCode()); + emisTransPlanRule.setLineCode(emisWaybill.getTransLineType()); + emisTransPlanRule.setProductType(emisWaybill.getProductType()); + List list = emisTransPlanRuleMapper.checkTransPlanRule(emisTransPlanRule); + if (CollectionUtil.isEmpty(list)) { + throw new EmisBizError(EmisBizErrorType.FAIL, "组批次起始网点、下一网点、供应商与规则不匹配"); + } + } + private void checkUnique(EmisTmsSiteBatch oldSiteBatch, String billCode) throws EmisBizError { EmisTmsSiteBatch emisTmsSiteBatch = new EmisTmsSiteBatch(); emisTmsSiteBatch.setStartSiteCode(oldSiteBatch.getStartSiteCode()); diff --git a/emis-biz/src/main/resources/mapper/EmisTransPlanRuleMapper.xml b/emis-biz/src/main/resources/mapper/EmisTransPlanRuleMapper.xml index 334bf7eaa..9aa78faa0 100644 --- a/emis-biz/src/main/resources/mapper/EmisTransPlanRuleMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisTransPlanRuleMapper.xml @@ -61,6 +61,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by id desc + +