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