From c47956c5da7cc0cd32fec93f607567c8b166aee4 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Thu, 3 Jul 2025 11:24:09 +0800 Subject: [PATCH] =?UTF-8?q?demand:=20=20=E6=9F=A5=E8=AF=A2=E7=BB=84?= =?UTF-8?q?=E6=89=B9=E6=AC=A1=E4=BE=9B=E5=BA=94=E5=95=86=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E5=8F=96=E5=80=BC=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D=20?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=BC=8F=E7=BB=84=E6=89=B9=E6=AC=A1=E6=95=88?= =?UTF-8?q?=E7=8E=87=E4=BC=98=E5=8C=96=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../emis/mapper/EmisTransPlanRuleMapper.java | 12 +---- .../erp/emis/service/EmisBaseService.java | 7 +++ .../impl/EmisTmsSiteBatchMissServiceImpl.java | 26 +--------- .../resources/mapper/EmisSupplierMapper.xml | 4 ++ .../mapper/EmisTmsSiteBatchMapper.xml | 4 +- .../mapper/EmisTransPlanRuleMapper.xml | 50 ++++--------------- 6 files changed, 26 insertions(+), 77 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 5f3e81ede..7c3fb89e4 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 @@ -141,22 +141,14 @@ public interface EmisTransPlanRuleMapper { */ List selectEmisTransPlanRuleByLineCodes(@Param("lineCodes") List lineCodes); - /** - * - * @param emisTransPlanRule - * @return - */ - List selectRulesForAllScan(EmisTransPlanRule emisTransPlanRule); /** - * 分页查询供应商线路规划(多线程用) + * 查询供应商线路规划 * * @param emisTransPlanRule 查询条件 - * @param offset 偏移量 - * @param pageSize 每页数量 * @return 供应商线路规划集合 */ - List selectRulesForAllScanPaged(@Param("emisTransPlanRule") EmisTransPlanRule emisTransPlanRule, @Param("offset") int offset, @Param("pageSize") int pageSize); + List selectRulesForAllScan(EmisTransPlanRule emisTransPlanRule); /** * 查询总数(多线程分页用) 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 cb5e2d2f0..d02e1fe2d 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 @@ -4698,6 +4698,13 @@ public class EmisBaseService { .collect(Collectors.toList()); EmisTransPlanRule rule = rules.get(0); setMissRecords(missRecords, rule, filterRules, waybill); + if(CollectionUtil.isEmpty(missRecords)){ + return true; + } + List list = missRecords.stream().filter(i -> waybill.getBillCode().equals(i.getBillCode())).collect(Collectors.toList()); + if (CollectionUtil.isEmpty(list)) { + return true; + } return false; } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsSiteBatchMissServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsSiteBatchMissServiceImpl.java index 4a52fcc53..6a2bc729e 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsSiteBatchMissServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsSiteBatchMissServiceImpl.java @@ -276,34 +276,10 @@ public class EmisTmsSiteBatchMissServiceImpl extends EmisBaseService implements } public List selectEmisTransPlanRuleTree(String lineCode) { - log.info("Start querying supplier route plan tree (multi-threaded)"); EmisTransPlanRule emisTransPlanRule = new EmisTransPlanRule(); emisTransPlanRule.setLineCode(lineCode); - int pageSize = 100; - int total = emisTransPlanRuleMapper.countForAllScan(emisTransPlanRule); - int pageCount = (total + pageSize - 1) / pageSize; - int processors = Runtime.getRuntime().availableProcessors(); - ExecutorService executor = Executors.newFixedThreadPool(processors); - List>> futures = new ArrayList<>(); - for (int i = 0; i < pageCount; i++) { - int offset = i * pageSize; - futures.add(executor.submit( - () -> emisTransPlanRuleMapper.selectRulesForAllScanPaged(emisTransPlanRule, offset, pageSize))); - } - List allRules = new ArrayList<>(); - for (Future> future : futures) { - try { - List rules = future.get(); - if (rules != null) { - allRules.addAll(rules); - } - } catch (Exception e) { - log.error("Error getting trans plan rule results", e); - } - } - executor.shutdown(); + List allRules = emisTransPlanRuleMapper.selectRulesForAllScan(emisTransPlanRule); List tree = buildTree(allRules, new EmisTransPlanRule()); - log.info("Queried supplier route plan tree, node count={}", tree != null ? tree.size() : 0); return tree; } diff --git a/emis-biz/src/main/resources/mapper/EmisSupplierMapper.xml b/emis-biz/src/main/resources/mapper/EmisSupplierMapper.xml index 19fc28ed4..48408f8b4 100644 --- a/emis-biz/src/main/resources/mapper/EmisSupplierMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisSupplierMapper.xml @@ -285,4 +285,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by id desc + + \ No newline at end of file diff --git a/emis-biz/src/main/resources/mapper/EmisTmsSiteBatchMapper.xml b/emis-biz/src/main/resources/mapper/EmisTmsSiteBatchMapper.xml index 2bf859304..30a136cdb 100644 --- a/emis-biz/src/main/resources/mapper/EmisTmsSiteBatchMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisTmsSiteBatchMapper.xml @@ -10,7 +10,6 @@ - @@ -37,6 +36,7 @@ + @@ -70,7 +70,6 @@ - @@ -97,6 +96,7 @@ + diff --git a/emis-biz/src/main/resources/mapper/EmisTransPlanRuleMapper.xml b/emis-biz/src/main/resources/mapper/EmisTransPlanRuleMapper.xml index 2342aa629..2d1de704c 100644 --- a/emis-biz/src/main/resources/mapper/EmisTransPlanRuleMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisTransPlanRuleMapper.xml @@ -131,36 +131,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by id desc - - - 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, r.manager, r.supplier_code, r.start_date, r.end_date, (SELECT GROUP_CONCAT(s.name) @@ -377,18 +347,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join emis_site s2 on r.next_site_code = s2.site_code and s2.del_flag='0' r.del_flag = '0' - and r.line_code = #{emisTransPlanRule.lineCode} - and ( FIND_IN_SET(#{emisTransPlanRule.productType},r.product_type) ) - and r.start_site_code = #{emisTransPlanRule.startSiteCode} - and r.next_site_code = #{emisTransPlanRule.nextSiteCode} - and r.manager = #{emisTransPlanRule.manager} - and ( FIND_IN_SET(#{emisTransPlanRule.supplierCode},r.supplier_code) ) - and r.start_date = #{emisTransPlanRule.startDate} - and r.end_date = #{emisTransPlanRule.endDate} + 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 r.line_code not in ('014','012','077') order by id desc - limit #{offset}, #{pageSize} +