From 410ec25e0253e1b4a1f6ddd5e0e1300be2f5884a Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Thu, 26 Jun 2025 10:40:45 +0800 Subject: [PATCH] =?UTF-8?q?demand:=20=20=E7=BB=84=E6=A0=91=E8=A7=84?= =?UTF-8?q?=E5=88=99=E9=87=8D=E6=9E=84=EF=BC=8C=E8=99=9A=E6=8B=9F=E5=8D=95?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=A6=99=E6=B8=AF-=E7=BC=85=E7=94=B8?= =?UTF-8?q?=E5=BF=AB=E9=80=92=E9=80=BB=E8=BE=91=E3=80=82=20committer:=20he?= =?UTF-8?q?yu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EmisTmsSiteBatchMissServiceImpl.java | 23 +++++++++++++++---- .../mapper/EmisTmsSiteBatchMissMapper.xml | 3 +++ 2 files changed, 21 insertions(+), 5 deletions(-) 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 bb9628c70..e7f22f735 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 @@ -220,6 +220,9 @@ public class EmisTmsSiteBatchMissServiceImpl extends EmisBaseService implements } } + // 关闭线程池 + executorService.shutdown(); + // 全局去重 Map batchStatusMap = allBatchStatus.stream() .collect(Collectors.toMap( @@ -235,14 +238,24 @@ public class EmisTmsSiteBatchMissServiceImpl extends EmisBaseService implements (existing, replacement) -> existing)); List uniqueMissRecords = new ArrayList<>(missMap.values()); - // 批量插入 + // 批量插入 - 每次插入5000条 if (!uniqueBatchStatus.isEmpty()) { - emisWaybillBatchStatusMapper.batchInsertEmisWaybillBatchStatus(uniqueBatchStatus); - totalBatchStatusRecords += uniqueBatchStatus.size(); + int batchSize = 5000; + for (int i = 0; i < uniqueBatchStatus.size(); i += batchSize) { + int end = Math.min(i + batchSize, uniqueBatchStatus.size()); + List batch = uniqueBatchStatus.subList(i, end); + emisWaybillBatchStatusMapper.batchInsertEmisWaybillBatchStatus(batch); + totalBatchStatusRecords += batch.size(); + } } if (!uniqueMissRecords.isEmpty()) { - emisTmsSiteBatchMissMapper.batchInsertEmisTmsSiteBatchMiss(uniqueMissRecords); - totalMissRecords += uniqueMissRecords.size(); + int batchSize = 5000; + for (int i = 0; i < uniqueMissRecords.size(); i += batchSize) { + int end = Math.min(i + batchSize, uniqueMissRecords.size()); + List batch = uniqueMissRecords.subList(i, end); + emisTmsSiteBatchMissMapper.batchInsertEmisTmsSiteBatchMiss(batch); + totalMissRecords += batch.size(); + } } long endTime = System.currentTimeMillis(); diff --git a/emis-biz/src/main/resources/mapper/EmisTmsSiteBatchMissMapper.xml b/emis-biz/src/main/resources/mapper/EmisTmsSiteBatchMissMapper.xml index 4005615bf..92eeca601 100644 --- a/emis-biz/src/main/resources/mapper/EmisTmsSiteBatchMissMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisTmsSiteBatchMissMapper.xml @@ -192,6 +192,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND w.bl_is_question = #{blIsQuestion} + + AND w.send_site_code = #{sendSiteCode} + and w.send_date = ]]> #{params.beginSendDate}