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/ApsPlatePlanServiceImpl.java | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 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 9da6195..15d21c4 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 @@ -16,6 +16,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; +import java.util.Hashtable; import java.util.List; import java.util.Optional; @@ -192,4 +194,21 @@ public List<ApsPlatePlan> selectPlateRedundantOrderList(ApsPlatePlan apsPlatePlan) { return apsPlatePlanMapper.selectPlateRedundantOrderList(apsPlatePlan); } + + @Override + 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); + }else { + List<ApsPlatePlan> plans = apsPlatePlanMapper.selectUnMatchPlateSubPlanList(plant, itemNumber); + if (!plans.isEmpty()) { + subPlans.put(itemNumber, plans); + return selectUnMatchPlateSubPlan(plant, itemNumber, subPlans); + } else { + return null; + } + } + } } -- Gitblit v1.9.3