From c476bd6060cb41f808a9cf99c96b0bd7a6a1a203 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Thu, 10 Jul 2025 12:00:57 +0800 Subject: [PATCH] =?UTF-8?q?demand:=20=20=E7=BB=84=E6=89=B9=E6=AC=A1?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=93=8D=E4=BD=9C=E7=9B=91=E6=8E=A7=EF=BC=8C?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=89=AB=E6=8F=8F=E6=BC=8F=E7=BB=84=E6=89=B9?= =?UTF-8?q?=E6=AC=A1=E6=94=B9=E4=B8=BA=E7=A1=AC=E5=88=A0=E9=99=A4=20commit?= =?UTF-8?q?ter:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../erp/emis/domain/EmisTransPlanRule.java | 6 ++ .../erp/emis/service/EmisBaseService.java | 65 ++++++++++--------- .../impl/EmisTransPlanRuleServiceImpl.java | 3 + .../mapper/EmisTransPlanRuleMapper.xml | 12 ++-- 4 files changed, 51 insertions(+), 35 deletions(-) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTransPlanRule.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTransPlanRule.java index d20303fc0..45a1af487 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTransPlanRule.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisTransPlanRule.java @@ -74,6 +74,12 @@ public class EmisTransPlanRule extends BaseEntity { /** 供应商名称 */ private String supplierName; + /** 起始国家 */ + private String fromCountry; + + /** 目的国家 */ + private String country; + /** 生效时间 */ @JsonFormat(pattern = "yyyy-MM-dd") private Date startDate; 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 7d7f8e130..a196e759a 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 @@ -4147,41 +4147,44 @@ public class EmisBaseService { boolean isChild = productRules.stream() .anyMatch(potential -> potential.getChildren() != null && potential.getChildren().contains(rule)); + if ("53200,25000,57501".contains(rule.getStartSiteCode()) && !"0086".equals(rule.getCountry())) { + return true; + } return !isChild; }) .collect(Collectors.toList()); - List toAdd = new ArrayList<>(); - for (EmisTransPlanRule node : topLevelNodes) { - //南京市场部 - if ("25001".equals(node.getStartSiteCode())) { - List filterRules = allRules.stream().filter(i -> "25000".equals(i.getStartSiteCode())).collect(Collectors.toList()); - EmisTransPlanRule copyRule = new EmisTransPlanRule(); - BeanUtils.copyProperties(node, copyRule); - copyRule.setStartSiteCode("25000"); - copyRule.setStartSiteName("南京分拨中心"); - if(CollectionUtil.isNotEmpty(filterRules)){ - copyRule.setManager(filterRules.get(0).getManager()); - } - toAdd.add(copyRule); - continue; - } - // 柯桥市场部 - if ("57502".equals(node.getStartSiteCode())) { - List filterRules = allRules.stream().filter(i -> "57501".equals(i.getStartSiteCode())).collect(Collectors.toList()); - EmisTransPlanRule copyRule = new EmisTransPlanRule(); - BeanUtils.copyProperties(node, copyRule); - copyRule.setStartSiteCode("57501"); - copyRule.setStartSiteName("柯桥分拨中心"); - if(CollectionUtil.isNotEmpty(filterRules)){ - copyRule.setManager(filterRules.get(0).getManager()); - } - toAdd.add(copyRule); - } - } - if (!toAdd.isEmpty()) { - topLevelNodes.addAll(toAdd); - } +// List toAdd = new ArrayList<>(); +// for (EmisTransPlanRule node : topLevelNodes) { +// //南京市场部 +// if ("25001".equals(node.getStartSiteCode())) { +// List filterRules = allRules.stream().filter(i -> "25000".equals(i.getStartSiteCode())).collect(Collectors.toList()); +// EmisTransPlanRule copyRule = new EmisTransPlanRule(); +// BeanUtils.copyProperties(node, copyRule); +// copyRule.setStartSiteCode("25000"); +// copyRule.setStartSiteName("南京分拨中心"); +// if(CollectionUtil.isNotEmpty(filterRules)){ +// copyRule.setManager(filterRules.get(0).getManager()); +// } +// toAdd.add(copyRule); +// continue; +// } +// // 柯桥市场部 +// if ("57502".equals(node.getStartSiteCode())) { +// List filterRules = allRules.stream().filter(i -> "57501".equals(i.getStartSiteCode())).collect(Collectors.toList()); +// EmisTransPlanRule copyRule = new EmisTransPlanRule(); +// BeanUtils.copyProperties(node, copyRule); +// copyRule.setStartSiteCode("57501"); +// copyRule.setStartSiteName("柯桥分拨中心"); +// if(CollectionUtil.isNotEmpty(filterRules)){ +// copyRule.setManager(filterRules.get(0).getManager()); +// } +// toAdd.add(copyRule); +// } +// } +// if (!toAdd.isEmpty()) { +// topLevelNodes.addAll(toAdd); +// } // 将顶级节点直接添加到结果中(进行深度复制) for (EmisTransPlanRule node : topLevelNodes) { 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 375b965ed..6063b00c2 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 @@ -137,6 +137,9 @@ public class EmisTransPlanRuleServiceImpl extends EmisBaseService implements IEm */ @Override public List selectEmisTransPlanRuleTree(EmisTransPlanRule emisTransPlanRule) { + if(StringUtil.isBlank(emisTransPlanRule.getLineCode())||StringUtil.isBlank(emisTransPlanRule.getProductType())||StringUtil.isBlank(emisTransPlanRule.getStartSiteCode())){ + return Lists.newArrayList(); + } // 查询所有规则 List allRules = emisTransPlanRuleMapper.selectEmisTransPlanRuleTree(emisTransPlanRule); diff --git a/emis-biz/src/main/resources/mapper/EmisTransPlanRuleMapper.xml b/emis-biz/src/main/resources/mapper/EmisTransPlanRuleMapper.xml index 816a663b8..ff594917b 100644 --- a/emis-biz/src/main/resources/mapper/EmisTransPlanRuleMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisTransPlanRuleMapper.xml @@ -20,6 +20,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + @@ -27,7 +29,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" s1.site_name as start_site_name, r.next_site_code, s2.site_name as next_site_name, r.manager, r.supplier_code, r.start_date, r.end_date, r.remark, r.del_flag, r.create_by, r.create_time, r.update_by, r.update_time, r.create_site, r.update_site, - l.line_name,l.trans_manager, + l.line_name,l.trans_manager, l.from_country, l.country, (SELECT GROUP_CONCAT(s.name ORDER BY FIND_IN_SET(s.code, r.supplier_code)) FROM emis_supplier s WHERE FIND_IN_SET(s.code, r.supplier_code) @@ -66,7 +68,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" s1.site_name as start_site_name, r.next_site_code, s2.site_name as next_site_name, r.manager, r.supplier_code, r.start_date, r.end_date, r.remark, r.del_flag, - l.line_name,l.trans_manager, + l.line_name,l.trans_manager, l.from_country, l.country (SELECT GROUP_CONCAT(s.name ORDER BY FIND_IN_SET(s.code, r.supplier_code)) FROM emis_supplier s WHERE FIND_IN_SET(s.code, r.supplier_code) @@ -133,7 +135,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select r.id, r.line_code, r.product_type, r.start_site_code, r.next_site_code, s1.site_name as start_site_name, - s2.site_name as next_site_name, + s2.site_name as next_site_name, l.line_name,l.trans_manager, l.from_country, l.country, r.manager, r.supplier_code, r.start_date, r.end_date, (SELECT GROUP_CONCAT(s.name) FROM emis_supplier s WHERE FIND_IN_SET(s.code, r.supplier_code) @@ -346,6 +349,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from emis_trans_plan_rule r left join emis_site s1 on r.start_site_code = s1.site_code and s1.del_flag='0' left join emis_site s2 on r.next_site_code = s2.site_code and s2.del_flag='0' + left join emis_trans_line l on r.line_code = l.line_code and l.del_flag='0' r.del_flag = '0' and r.line_code = #{lineCode}