From fed6f56842fea1a7e17dbfec12a30cb332c566b0 Mon Sep 17 00:00:00 2001 From: huangjiayang <5265313@qq.com> Date: 星期四, 08 五月 2025 16:16:11 +0800 Subject: [PATCH] 【UPDATE】1.增加同步BOM数据定时任务功能 2.将BOM数据存储到Redis中 --- aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsBomHeaderServiceImpl.java | 47 +++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 43 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..f1edfa2 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,16 @@ package com.aps.core.service.impl; -import java.util.List; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; 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.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.List; /** * BOM Header 鏁版嵁绠$悊Service涓氬姟灞傚鐞� @@ -19,6 +23,9 @@ { @Autowired private ApsBomHeaderMapper apsBomHeaderMapper; + + @Autowired + public RedisTemplate redisTemplate; /** * 鏌ヨBOM Header 鏁版嵁绠$悊 @@ -93,4 +100,36 @@ { return apsBomHeaderMapper.deleteApsBomHeaderById(id); } + + /** + * 璁剧疆BOM鏁版嵁鍒癛edis + * @return + */ + @Override + public boolean setBomDataToRedis(String orgCode) { + try { + List<JSONObject> bomRedisData = apsBomHeaderMapper.selectBomRedisData(orgCode); + String nowMainItemCode = ""; + JSONArray bomLine = new JSONArray(); + for (int i=0,size=bomRedisData.size();i<size;i++) { + JSONObject jsonObject = bomRedisData.get(i); + if("".equals(nowMainItemCode)){ + nowMainItemCode = jsonObject.getString("mainitemcode"); + } + if(!nowMainItemCode.equals(jsonObject.getString("mainitemcode"))){ + redisTemplate.opsForValue().set("BOM:BOM_"+orgCode+"_"+nowMainItemCode, bomLine); + bomLine = new JSONArray(); + } + bomLine.add(jsonObject); + nowMainItemCode = jsonObject.getString("mainitemcode"); + if(i==size-1){ + redisTemplate.opsForValue().set("BOM:BOM_"+orgCode+"_"+nowMainItemCode, bomLine); + } + } + } catch (Exception e) { + e.printStackTrace(); + return false; + } + return true; + } } -- Gitblit v1.9.3