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}