From b0858cfb5addf0adfbb618c671334878e0d17780 Mon Sep 17 00:00:00 2001 From: zhanghl <253316343@qq.com> Date: 星期三, 14 五月 2025 17:22:47 +0800 Subject: [PATCH] 钣金工单计划:从redis读取库存,在本地计算版本,批量更新库存数据 --- aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialStorageManagementServiceImpl.java | 29 +++++++++++------------------ 1 files changed, 11 insertions(+), 18 deletions(-) diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialStorageManagementServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialStorageManagementServiceImpl.java index 79015ad..33ffb72 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialStorageManagementServiceImpl.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsMaterialStorageManagementServiceImpl.java @@ -129,30 +129,23 @@ * @return ApsMaterialStorageManagement 杩斿洖鑾峰彇鍒扮殑搴撳瓨淇℃伅瀵硅薄锛屽鏋滄病鏈夋壘鍒帮紝鍒欒繑鍥瀗ull */ @Override - public ApsMaterialStorageManagement getRdsStorage(String plant, String itemCode){ - ApsMaterialStorageManagement ams=null; + public Optional<ApsMaterialStorageManagement> getRdsStorage(String plant, String itemCode){ // 灏濊瘯浠嶳edis涓幏鍙栧簱瀛樹俊鎭� - JSONObject materialStorage = (JSONObject)redisTemplate.opsForValue().get("MaterialStorage:Material_"+plant+"_"+itemCode); + String key = "MaterialStorage:Material_" + plant + "_" + itemCode; + JSONObject materialStorage = (JSONObject)redisTemplate.opsForValue().get(key); if(materialStorage!=null){ // 濡傛灉Redis涓湁缂撳瓨锛屽皢鍏惰浆鎹负ApsMaterialStorageManagement瀵硅薄骞惰繑鍥� - ams = materialStorage.toJavaObject(ApsMaterialStorageManagement.class); - return ams; + ApsMaterialStorageManagement ams= materialStorage.toJavaObject(ApsMaterialStorageManagement.class); + Optional<ApsMaterialStorageManagement> optional = Optional.ofNullable(ams); + return optional ; }else { - // 濡傛灉Redis涓病鏈夌紦瀛橈紝鍒涘缓鏌ヨ鍙傛暟瀵硅薄 - ApsMaterialStorageManagement storageParam = new ApsMaterialStorageManagement(); - storageParam.setItemNumber(itemCode); - storageParam.setApplicableFactories(plant); // 浠庢暟鎹簱涓煡璇㈠簱瀛樹俊鎭� - Optional<ApsMaterialStorageManagement> first = apsMaterialStorageManagementMapper.selectApsMaterialStorageManagementList(storageParam).stream() - .findFirst(); - if (first.isPresent()){ - // 濡傛灉鏌ヨ鍒板簱瀛樹俊鎭紝灏嗗叾缂撳瓨鍒癛edis涓� - ams = first.get(); - redisTemplate.opsForValue().set("MaterialStorage:Material_"+plant+"_"+itemCode,JSONObject.parseObject(JSON.toJSONString(ams))); - } + Optional<ApsMaterialStorageManagement> first = getItemStorage( plant, itemCode); + first.ifPresent(apsMaterialStorageManagement -> + redisTemplate.opsForValue().set(key, JSONObject.parseObject(JSON.toJSONString(apsMaterialStorageManagement))) + ); + return first; } - // 杩斿洖搴撳瓨淇℃伅瀵硅薄 - return ams; } /** -- Gitblit v1.9.3