From 7cd52b112a2e7da06aa8cfebf19a337be858762f Mon Sep 17 00:00:00 2001
From: hongjli <3117313295@qq.com>
Date: 星期五, 16 五月 2025 11:32:39 +0800
Subject: [PATCH] 查询气体管路产能规划列表补充“OrgCode”字段值

---
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java
index 3792967..51e6618 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java
@@ -1,6 +1,7 @@
 package com.aps.core.service.impl;
 
 import cn.hutool.core.util.IdUtil;
+import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
 import com.aps.common.core.utils.DateUtils;
 import com.aps.common.core.utils.uuid.IdUtils;
@@ -204,10 +205,10 @@
     public ApsPlatePlan selectUnMatchPlateSubPlan(String plant, String itemNumber, Hashtable<String, List<ApsPlatePlan>> subPlans) {
        if(subPlans.containsKey(itemNumber)) {
            List<ApsPlatePlan> subPlanList = subPlans.get(itemNumber);
-           Optional<ApsPlatePlan> firstPlant = subPlanList.stream().filter(x -> x.getUnmatchedQuantity().compareTo(BigDecimal.ZERO) > 0).findFirst();
-           return firstPlant.orElse(null);
+           Optional<ApsPlatePlan> planOptional = subPlanList.stream().filter(x -> x.getUnmatchedQuantity().compareTo(BigDecimal.ZERO) > 0).findFirst();
+           return planOptional.orElse(null);
        }else {
-           List<ApsPlatePlan> plans = apsPlatePlanMapper.selectUnMatchPlateSubPlanList(plant, itemNumber);
+           List<ApsPlatePlan> plans = getSubPlansFromRedis(itemNumber);
            if (!plans.isEmpty()) {
                subPlans.put(itemNumber, plans);
                return selectUnMatchPlateSubPlan(plant, itemNumber, subPlans);
@@ -240,4 +241,14 @@
             return false;
         }
     }
+
+    public List<ApsPlatePlan> getSubPlansFromRedis(String itemNumber) {
+        List<ApsPlatePlan> subPlans=new ArrayList<>();
+        JSONArray jsonArray =(JSONArray) redisTemplate.opsForValue().get("PLATE_SUB_PLAN:" + itemNumber);
+        if (jsonArray != null && !jsonArray.isEmpty()) {
+            subPlans = jsonArray.stream().map(obj -> JSONObject.parseObject(String.valueOf(obj), ApsPlatePlan.class)).toList();
+            subPlans.forEach(subPlan -> subPlan.setVersion(0));
+        }
+        return subPlans;
+    }
 }

--
Gitblit v1.9.3