From f16ec51787ed0cb094b71ff8146c740d944f729d Mon Sep 17 00:00:00 2001 From: zhanghl <253316343@qq.com> Date: 星期四, 15 五月 2025 11:40:54 +0800 Subject: [PATCH] Merge branch 'dev_platePlanv2' into dev --- aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsBomHeaderServiceImpl.java | 41 +++++++++++++++++++++++++++++++++++++---- 1 files changed, 37 insertions(+), 4 deletions(-) diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsBomHeaderServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsBomHeaderServiceImpl.java index 7ec3fdd..7d6eee0 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsBomHeaderServiceImpl.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsBomHeaderServiceImpl.java @@ -1,12 +1,19 @@ package com.aps.core.service.impl; -import java.util.List; +import com.alibaba.fastjson2.JSONArray; import com.aps.common.core.utils.DateUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.aps.core.mapper.ApsBomHeaderMapper; +import com.aps.core.domain.ApsBom; import com.aps.core.domain.ApsBomHeader; +import com.aps.core.mapper.ApsBomHeaderMapper; import com.aps.core.service.IApsBomHeaderService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * BOM Header 鏁版嵁绠$悊Service涓氬姟灞傚鐞� @@ -19,6 +26,9 @@ { @Autowired private ApsBomHeaderMapper apsBomHeaderMapper; + + @Autowired + public RedisTemplate redisTemplate; /** * 鏌ヨBOM Header 鏁版嵁绠$悊 @@ -93,4 +103,27 @@ { return apsBomHeaderMapper.deleteApsBomHeaderById(id); } + + /** + * 璁剧疆BOM鏁版嵁鍒癛edis + * @return + */ + @Override + public boolean setBomDataToRedis(String orgCode) { + try { + List<ApsBom> bomRedisData = apsBomHeaderMapper.selectBomRedisData(orgCode); + Map<String, List<ApsBom>> groupedByMainItemCode = bomRedisData.stream().collect(Collectors.groupingBy(ApsBom::getMainItemCode)); + Map<String, Object> bulkData = new HashMap<>(); + for (Map.Entry<String, List<ApsBom>> entry : groupedByMainItemCode.entrySet()) { + String mainItemCode = entry.getKey(); + JSONArray jsonArray = JSONArray.from(entry.getValue()); + bulkData.put("BOM:BOM_" + orgCode + "_" + mainItemCode, jsonArray); + } + redisTemplate.opsForValue().multiSet(bulkData); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + return true; + } } -- Gitblit v1.9.3