From 3c257eb3bda403d984b50c7f16781c1919b2e74c Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 19 十二月 2024 08:23:55 +0800
Subject: [PATCH] 大理片获取可进笼子时过滤满笼的笼子,添加预计调度时间功能
---
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java | 38 ++++++++++++++++++++++++++++----------
1 files changed, 28 insertions(+), 10 deletions(-)
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
index 7ce8d3f..b9d05d0 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
@@ -18,6 +18,7 @@
import com.mes.temperingglass.service.TemperingGlassInfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -48,6 +49,12 @@
@Resource
private GlassInfoService glassInfoService;
+
+ @Value("${mes.glassGap}")
+ private Integer glassGap;
+
+ @Value("${mes.slotWidth}")
+ private Integer slotWidth;
//杩涚墖閫昏緫
@Override
@@ -217,15 +224,13 @@
LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailsWrapper = new LambdaQueryWrapper();
bigStorageCageDetailsWrapper
.eq(BigStorageCageDetails::getSlot, slot)
- .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
- .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_ARTIFICIAL);
+ .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL);
List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsMapper.selectList(bigStorageCageDetailsWrapper);
for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList
) {
- double widths = bigStorageCageDetails.getWidth();
- double gap = bigStorageCageDetails.getGap();
- width -= widths + gap;
+ double widths = Math.max(bigStorageCageDetails.getWidth(), bigStorageCageDetails.getHeight());
+ width = width - widths - glassGap;
}
//淇敼鏍煎瓙鍓╀綑瀹藉害
BigStorageCage bigStorageCage = new BigStorageCage();
@@ -241,18 +246,22 @@
MPJLambdaWrapper<BigStorageCage> wrapper = new MPJLambdaWrapper<>();
wrapper.selectAll(BigStorageCage.class).selectCollection(BigStorageCageDetails.class, BigStorageCage::getBigStorageCageDetails)
.leftJoin(BigStorageCageDetails.class, on -> on.eq(BigStorageCageDetails::getSlot, BigStorageCage::getSlot)
- .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL));
+ .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL, Const.GLASS_STATE_OUT_ING))
+ .orderByAsc(BigStorageCage::getDeviceId)
+ .orderByAsc(BigStorageCage::getSlot)
+ .orderByAsc(BigStorageCageDetails::getTemperingFeedSequence);
return bigStorageCageMapper.selectJoinList(BigStorageCage.class, wrapper);
}
//鏌ヨ澶х悊鐗囦俊鎭紝鍓嶇灞曠ず鐢�
@Override
public Map<Integer, List<BigStorageCage>> querybigStorageCageDetail() {
-
MPJLambdaWrapper<BigStorageCage> wrapper = new MPJLambdaWrapper<>();
wrapper.selectAll(BigStorageCage.class).selectCollection(BigStorageCageDetails.class, BigStorageCage::getBigStorageCageDetails)
.leftJoin(BigStorageCageDetails.class, on -> on.eq(BigStorageCageDetails::getSlot, BigStorageCage::getSlot)
- .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL));
+ .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL, Const.GLASS_STATE_OUT_ING)
+ .orderByAsc(BigStorageCage::getSlot)
+ .orderByAsc(BigStorageCageDetails::getTemperingFeedSequence));
List<BigStorageCage> bigStorageCages = bigStorageCageMapper.selectJoinList(BigStorageCage.class, wrapper);
Map<Integer, List<BigStorageCage>> listMap = bigStorageCages.stream().collect(Collectors.groupingBy(item -> item.getDeviceId()));
return listMap;
@@ -262,8 +271,7 @@
@Override
public List<Map<String, Object>> selectBigStorageCageUsage() {
QueryWrapper<BigStorageCage> wrapper = new QueryWrapper<>();
- wrapper.select("device_id,ROUND(1 - SUM(CASE WHEN remain_width = 5000 THEN 1 ELSE 0 END) / COUNT(device_id), 2) AS percentage,COUNT(device_id) - SUM(CASE WHEN remain_width = 5000 THEN 1 ELSE 0 END) AS count")
-
+ wrapper.select("device_id,ROUND(1 - SUM(CASE WHEN remain_width = " + slotWidth + " THEN 1 ELSE 0 END) / COUNT(device_id), 2)*100 AS percentage,SUM(CASE WHEN remain_width = " + slotWidth + " THEN 1 ELSE 0 END) AS count")
.groupBy("device_id");
List<Map<String, Object>> bigStorageCageUsages = baseMapper.selectMaps(wrapper);
@@ -279,4 +287,14 @@
bigStorageCageWrapper.eq(BigStorageCage::getSlot, slot);
baseMapper.update(bigStorageCage, bigStorageCageWrapper);
}
+
+ @Override
+ public List<Integer> queryFreeDeviceByUsed(double thickness) {
+ return baseMapper.queryFreeDeviceByUsed(thickness);
+ }
+
+// @Override
+// public List<Integer> queryFreeDeviceByNotUsed(double thickness) {
+// return baseMapper.queryFreeDeviceByNotUsed(thickness);
+// }
}
--
Gitblit v1.8.0