From 6acde3b011f5f1b843c6f097baf64fbd9b574b23 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期一, 24 六月 2024 21:38:00 +0800
Subject: [PATCH] 下片任务进片逻辑已完成,待测试优化

---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java |   48 +++++++++++++++++++++++++++---------------------
 1 files changed, 27 insertions(+), 21 deletions(-)

diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
index 3643a74..4e6fe11 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
@@ -1,17 +1,13 @@
 package com.mes.downstorage.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.yulichang.toolkit.JoinWrappers;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
-
-//import com.mes.device.PlcParameterObject;
-import com.google.common.base.Functions;
 import com.mes.common.config.Const;
 import com.mes.downglassinfo.entity.DownGlassTask;
 import com.mes.downglassinfo.service.DownGlassTaskService;
 import com.mes.downstorage.entity.DownStorageCage;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.downstorage.entity.DownStorageCageDetails;
 import com.mes.downstorage.mapper.DownStorageCageDetailsMapper;
 import com.mes.downstorage.mapper.DownStorageCageMapper;
@@ -19,9 +15,7 @@
 import com.mes.downstorage.service.DownStorageCageService;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.service.GlassInfoService;
-import com.mes.pp.entity.OptimizeDetail;
 import lombok.extern.slf4j.Slf4j;
-import net.sf.jsqlparser.statement.select.SelectItem;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -77,22 +71,40 @@
     }
 
 
-
-
     //鎵惧埌绌烘牸瀛�
     @Override
     public List<DownStorageCageDetails> selectCacheEmpty() {
-        return baseMapper.selectJoinList(DownStorageCageDetails.class,
+        return this.selectJoinList(DownStorageCageDetails.class,
                 JoinWrappers.lambda(DownStorageCage.class)
                         .selectAll(DownStorageCage.class)
-                        .select(DownStorageCageDetails::getWidth, DownStorageCageDetails::getHeight, DownStorageCageDetails::getGlassId)
                         .leftJoin(DownStorageCageDetails.class, on -> on
                                 .eq(DownStorageCageDetails::getDeviceId, DownStorageCage::getDeviceId)
                                 .eq(DownStorageCageDetails::getSlot, DownStorageCage::getSlot)
-                                .eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN)
-                        )
+                                .eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN))
                         .isNull(DownStorageCageDetails::getSlot)
         );
+    }
+
+    //鎵惧埌绌烘牸瀛�
+    @Override
+    public DownStorageCage selectCacheEmpty(int currentSlot, boolean flag) {
+        List<DownStorageCage> emptyList = this.selectJoinList(DownStorageCage.class,
+                JoinWrappers.lambda(DownStorageCage.class)
+                        .selectAll(DownStorageCage.class)
+                        .leftJoin(DownStorageCageDetails.class, on -> on
+                                .eq(DownStorageCageDetails::getDeviceId, DownStorageCage::getDeviceId)
+                                .eq(DownStorageCageDetails::getSlot, DownStorageCage::getSlot)
+                                .eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN))
+                        .isNull(DownStorageCageDetails::getSlot)
+                        .last("order by abs(t.slot - " + currentSlot + ")  asc limit 2")
+        );
+        if (flag && CollectionUtil.isNotEmpty(emptyList)) {
+            return emptyList.get(0);
+        }
+        if (CollectionUtil.isEmpty(emptyList) || emptyList.size() == 1) {
+            return null;
+        }
+        return emptyList.get(0);
     }
 
     @Override
@@ -104,7 +116,7 @@
                         .leftJoin(DownStorageCageDetails.class, on -> on
                                 .eq(DownStorageCageDetails::getDeviceId, DownStorageCage::getDeviceId)
                                 .eq(DownStorageCageDetails::getSlot, DownStorageCage::getSlot)
-                        .eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN))
+                                .eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN))
                         .isNull(DownStorageCageDetails::getSlot)
                         .eq(DownStorageCage::getEnableState, 1)
                         .groupBy(DownStorageCageDetails::getFlowCardId) // 鏍规嵁 flowCardId 鍒嗙粍
@@ -113,12 +125,6 @@
 
         );
     }
-
-
-
-
-
-
 
 
     @Override

--
Gitblit v1.8.0