From dae4a24949c0c8cfad87aff850b667d3cad399c1 Mon Sep 17 00:00:00 2001 From: zhanghl <253316343@qq.com> Date: 星期四, 22 五月 2025 14:56:12 +0800 Subject: [PATCH] 优化: 钣金详细计划、钣金计划大表、钣金工单计划 --- aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateProcessStatServiceImpl.java | 19 ++++++++++++++++--- 1 files changed, 16 insertions(+), 3 deletions(-) diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateProcessStatServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateProcessStatServiceImpl.java index 6544ed3..410a1d6 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateProcessStatServiceImpl.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateProcessStatServiceImpl.java @@ -2,12 +2,15 @@ import java.math.BigDecimal; import java.time.*; +import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; +import cn.hutool.core.util.IdUtil; import com.aps.common.core.utils.uuid.IdUtils; import com.aps.common.security.utils.SecurityUtils; +import com.aps.core.domain.ApsPlate.ApsPlateStandardRequireBomOrderDetail; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.aps.core.mapper.ApsPlateProcessStatMapper; @@ -109,9 +112,11 @@ public void savePlateProcessStat() { String batchNum = IdUtils.fastSimpleUUID(); List<ApsPlateProcessStat> tempList = apsPlateProcessStatMapper.queryTempStat(); + ApsPlateProcessStat apsPlateProcessStat = tempList.stream().filter(x -> x.getWorkOrderNo().equals("MO-250409003498")).findFirst().get(); Map<String, List<ApsPlateProcessStat>> groupByOrderNo = tempList.stream().collect(groupingBy(ApsPlateProcessStat::getWorkOrderNo)); Boolean hasBefore = false; LocalDateTime now = LocalDateTime.now(); + List<ApsPlateProcessStat> totalList=new ArrayList<>(); for (Map.Entry<String, List<ApsPlateProcessStat>> entry : groupByOrderNo.entrySet()) { List<ApsPlateProcessStat> statPerOrder = entry.getValue(); /*num 涓烘牴鎹畬宸ユ椂闂存帓搴忓嚭鐨勫簭鍙凤紝鎸夋鎺掑簭锛屽彲淇濊瘉鏄寜瀹屽伐鏃堕棿鍊掑彊鎺掑垪*/ @@ -176,13 +181,21 @@ } } last = stat; - apsPlateProcessStatMapper.insertApsPlateProcessStat(stat); + totalList.add(stat); + //apsPlateProcessStatMapper.insertApsPlateProcessStat(stat); } hasBefore=false; - } apsPlateProcessStatMapper.removeOtherStat(batchNum); - + if(!totalList.isEmpty()){ + int batchSize = 1000; + totalList.forEach(x->x.setId(String.valueOf(IdUtil.getSnowflakeNextId()))); + for (int i = 0; i < totalList.size(); i += batchSize) { + int end = Math.min(i + batchSize, totalList.size()); + List<ApsPlateProcessStat> batch = totalList.subList(i, end); + apsPlateProcessStatMapper.batchInsertPlateStat(batch); + } + } } -- Gitblit v1.9.3