diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java index 7006ab32e..5cfb029bf 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java @@ -113,7 +113,9 @@ public class EmisWaybillController extends EmisBaseController */ @GetMapping(value = "/getMasterEmisWaybills") public TableDataInfo getMasterEmisWaybills(EmisWaybill emisWaybill){ - startPage(); +// startPage(); + // 设置通用权限查询参数 +// setPrivParams(emisWaybill); emisWaybill.getParams().put("privSiteCode", getLoginUser().getUser().getOwnerSiteCode()); List list = emisWaybillService.selectMasterEmisWaybills(emisWaybill); return getDataTable(list); 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 + +