From adfb74a1245076531a8d5d057e638bf2d0402bb2 Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期五, 23 五月 2025 16:05:00 +0800
Subject: [PATCH] [钣金计划大表] 优化为Stream.parallel提高并发
---
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateProcessShopStatServiceImpl.java | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateProcessShopStatServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateProcessShopStatServiceImpl.java
index 82853f5..6a23bcf 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateProcessShopStatServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateProcessShopStatServiceImpl.java
@@ -175,21 +175,21 @@
// 鎵归噺鎻掑叆缁熻鏁版嵁
log.info("閽i噾璁″垝澶ц〃锛氳绠楁瘡涓伐鍗曚腑姣忎釜杞﹂棿鐨勫紑濮嬨�佺粨鏉熸椂闂�");
List<ApsPlateProcessShopStat> statsToInsert = new ArrayList<>();
- for (ApsPlatePlan plan : planList) {
- log.info("閽i噾璁″垝澶ц〃锛氳绠楀伐鍗曪細"+plan.getDocumentNumber());
- for (ApsShop shop : shopList) {
+ log.info("閽i噾璁″垝澶ц〃V1锛氬紑濮嬭绠楁瘡涓伐鍗曡溅闂村伐鏃�");
+ planList.stream().parallel().forEach(plan -> {
+ shopList.stream().parallel().forEach(shop -> {
ApsPlateProcessShopStat stat = createShopStat(plan, shop, shopToProcessNames, statList);
statsToInsert.add(stat);
- }
- }
+ });
+ });
log.info("閽i噾璁″垝澶ц〃锛氭壒閲忎繚瀛樺伐搴忓紑宸ュ拰瀹屽伐鏃堕棿");
List<List<ApsPlateProcessStat>> processStatBatchList = ListUtil.split(statList, 1000);
- processStatBatchList.forEach(batch -> apsPlateProcessStatMapper.batchInsertPlateStat(batch));
+ processStatBatchList.stream().parallel().forEach(batch -> apsPlateProcessStatMapper.batchInsertPlateStat(batch));
log.info("閽i噾璁″垝澶ц〃锛氭壒閲忎繚瀛樺伐鍗�-杞﹂棿鏃堕棿淇℃伅");
List<List<ApsPlateProcessShopStat>> shopStatBatchList = ListUtil.split(statsToInsert, 1000);
- shopStatBatchList.forEach(batch -> apsPlateProcessShopStatMapper.batchInsert(batch));
+ shopStatBatchList.stream().parallel().forEach(batch -> apsPlateProcessShopStatMapper.batchInsert(batch));
}else {
if(shopProcesses.isEmpty()){
log.error("閽i噾璁″垝澶ц〃锛氭湭鎵惧埌鏍囧噯宸ュ簭鏁版嵁锛�");
--
Gitblit v1.9.3