From 26198b97167467945966b074fe0fe61ec52977dc Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Mon, 30 Jun 2025 18:02:36 +0800 Subject: [PATCH] =?UTF-8?q?demand:=20=20=E6=89=B9=E6=AC=A1=E8=A7=84?= =?UTF-8?q?=E5=88=99=E6=89=B9=E9=87=8F=E4=BF=AE=E6=94=B9=EF=BC=8C=E6=89=AB?= =?UTF-8?q?=E6=8F=8F=E6=BC=8F=E7=BB=84=E6=89=B9=E6=AC=A1=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E7=BA=BF=E8=B7=AF014=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../emis/mapper/EmisTransPlanRuleMapper.java | 9 ++++ .../erp/emis/service/EmisBaseService.java | 11 +---- .../impl/EmisTransPlanRuleServiceImpl.java | 4 +- .../mapper/EmisTransPlanRuleMapper.xml | 42 +++++++++++++++++-- 4 files changed, 52 insertions(+), 14 deletions(-) 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 72961765d..5f3e81ede 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 @@ -174,9 +174,18 @@ public interface EmisTransPlanRuleMapper { List checkTransPlanRule(EmisTransPlanRule emisTransPlanRule); /** + * 查询供应商线路规划列表(不查询名称相关) * * @param emisTransPlanRule * @return */ List selectEmisTransPlanRuleListWithoutName(EmisTransPlanRule emisTransPlanRule); + + /** + * 查询供应商线路规划列表(不查询网点名称、创建人名称等) + * + * @param emisTransPlanRule + * @return + */ + List selectEmisTransPlanRuleTree(EmisTransPlanRule emisTransPlanRule); } \ No newline at end of file diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java index af9a009a4..1b55a27de 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/EmisBaseService.java @@ -4258,14 +4258,7 @@ public class EmisBaseService { // 新增方法:根据ID查找节点 private EmisTransPlanRule findNodeById(Long id) { - // 由于deepCopyNode递归时无法直接访问所有节点,这里可通过全量查询实现,实际生产建议优化 - List allRules = emisTransPlanRuleMapper.selectEmisTransPlanRuleList(new EmisTransPlanRule()); - for (EmisTransPlanRule rule : allRules) { - if (rule.getId() != null && rule.getId().equals(id)) { - return rule; - } - } - return null; + return emisTransPlanRuleMapper.selectEmisTransPlanRuleById(id); } /** @@ -5032,7 +5025,7 @@ public class EmisBaseService { if(StringUtil.isNotBlank(emisWaybillOld.getVirtualRemark())){ throw new EmisBizError(EmisBizErrorType.FAIL, "主单不能改虚拟单"); } - if (emisWaybillSave.getParcelQty() != 1) { + if (("078".equals(emisWaybillSave.getTransLineType()) || "002".equals(emisWaybillSave.getTransLineType())) && emisWaybillSave.getParcelQty() != 1) { throw new EmisBizError(EmisBizErrorType.FAIL, "虚拟单件数只能为1"); } if (emisWaybillSave.getMasterBillCode().equals(emisWaybillSave.getBillCode())) { diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTransPlanRuleServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTransPlanRuleServiceImpl.java index 287ea3e29..35cc3843c 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTransPlanRuleServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTransPlanRuleServiceImpl.java @@ -138,7 +138,7 @@ public class EmisTransPlanRuleServiceImpl extends EmisBaseService implements IEm @Override public List selectEmisTransPlanRuleTree(EmisTransPlanRule emisTransPlanRule) { // 查询所有规则 - List allRules = emisTransPlanRuleMapper.selectEmisTransPlanRuleList(emisTransPlanRule); + List allRules = emisTransPlanRuleMapper.selectEmisTransPlanRuleTree(emisTransPlanRule); if (allRules == null || allRules.isEmpty()) { return new ArrayList<>(); @@ -382,7 +382,7 @@ public class EmisTransPlanRuleServiceImpl extends EmisBaseService implements IEm @Override public List checkTree(EmisTransPlanRule emisTransPlanRule) { - List allRules = emisTransPlanRuleMapper.selectEmisTransPlanRuleList(emisTransPlanRule); + List allRules = emisTransPlanRuleMapper.selectEmisTransPlanRuleTree(emisTransPlanRule); return buildTreeForCheck(allRules); } diff --git a/emis-biz/src/main/resources/mapper/EmisTransPlanRuleMapper.xml b/emis-biz/src/main/resources/mapper/EmisTransPlanRuleMapper.xml index fd3dab05b..5d3a59b5c 100644 --- a/emis-biz/src/main/resources/mapper/EmisTransPlanRuleMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisTransPlanRuleMapper.xml @@ -47,22 +47,58 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" r.del_flag = '0' and r.line_code = #{lineCode} - and ( FIND_IN_SET(#{productType},r.product_type) ) and r.start_site_code = #{startSiteCode} and r.next_site_code = #{nextSiteCode} and r.manager = #{manager} - and ( FIND_IN_SET(#{supplierCode},r.supplier_code) ) and r.start_date = #{startDate} and r.end_date = #{endDate} AND l.trans_manager like concat('%', #{transManager}, '%') + and ( FIND_IN_SET(#{productType},r.product_type) ) + and ( FIND_IN_SET(#{supplierCode},r.supplier_code) ) + + order by id desc + + +