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}