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