From 6ea7f096e3f2e09b61974f8d6a259c94fd9e13eb Mon Sep 17 00:00:00 2001
From: sfd <sun.sunshine@163.com>
Date: 星期四, 15 五月 2025 13:44:21 +0800
Subject: [PATCH] Merge branch 'dev' of http://192.168.50.149:8085/r/aps-backend into dev

---
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java |   24 +++++++++++++++++++-----
 1 files changed, 19 insertions(+), 5 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 6fda182..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
@@ -1,15 +1,11 @@
 package com.aps.core.service.impl;
 
 import cn.hutool.core.util.IdUtil;
-import com.alibaba.fastjson2.JSON;
-import com.alibaba.fastjson2.JSONObject;
 import com.aps.common.core.utils.DateUtils;
 import com.aps.common.core.utils.uuid.IdUtils;
 import com.aps.common.security.utils.DictUtils;
-import com.aps.core.domain.ApsMaterialStorageManagement;
 import com.aps.core.domain.ApsPlatePlan;
 import com.aps.core.domain.ApsPlatePlanTemp;
-import com.aps.core.domain.ApsPlateStandardRequire;
 import com.aps.core.mapper.ApsPartPlanTempMapper;
 import com.aps.core.mapper.ApsPlatePlanMapper;
 import com.aps.core.mapper.ApsPlatePlanTempMapper;
@@ -18,9 +14,10 @@
 import org.apache.logging.log4j.util.Strings;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.util.Hashtable;
 import java.util.List;
 import java.util.Optional;
 
@@ -197,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