From 3050db3dbea1d48ed07b79290ac42df76f0361d2 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期一, 09 十二月 2024 08:45:41 +0800
Subject: [PATCH] 修改调度逻辑为按预排的格子进行调度

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
index ffc8f94..3340ea3 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -268,6 +268,13 @@
 
     @Override
     public BigStorageDTO queryTargetSlotByTempering(GlassInfo glassInfo) {
+        List<GlassInfo> glassInfoList = glassInfoService.list(
+                new LambdaQueryWrapper<GlassInfo>()
+                        .eq(GlassInfo::getEngineerId, glassInfo.getEngineerId())
+                        .eq(GlassInfo::getTemperingLayoutId, glassInfo.getTemperingLayoutId())
+                        .eq(GlassInfo::getSlot, glassInfo.getSlot())
+        );
+        List<String> glassIds = glassInfoList.stream().map(String::valueOf).collect(Collectors.toList());
         BigStorageDTO bigStorageDTO = null;
         MPJLambdaWrapper<BigStorageCage> wrapper = new MPJLambdaWrapper<>(BigStorageCage.class)
                 .selectAll(BigStorageCage.class)
@@ -277,6 +284,7 @@
                 .eq(BigStorageCageDetails::getEngineerId, glassInfo.getEngineerId())
                 .eq(BigStorageCageDetails::getTemperingLayoutId, glassInfo.getTemperingLayoutId())
                 .gt(BigStorageCage::getRemainWidth, Math.max(glassInfo.getWidth(), glassInfo.getHeight()))
+                .in(BigStorageCageDetails::getGlassId, glassIds)
                 .last("limit 1");
         if (glassInfo.getTemperingLayoutId() == 0) {
             wrapper.eq(BigStorageCageDetails::getFlowCardId, glassInfo.getFlowCardId())

--
Gitblit v1.8.0