From 3f94fedcc24f3dd289061e3d32959c5cab00f5ec Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期五, 14 六月 2024 15:03:39 +0800
Subject: [PATCH] 大理片笼出逻辑功能实现,已完成版图到齐逻辑
---
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml | 39 ++++++++++++++++---
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java | 2
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java | 4 +-
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java | 32 +++++++++++++++-
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/dto/TemperingLayoutDTO.java | 5 ++
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java | 9 +++-
6 files changed, 77 insertions(+), 14 deletions(-)
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/dto/TemperingLayoutDTO.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/dto/TemperingLayoutDTO.java
index 7e11c34..279c335 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/dto/TemperingLayoutDTO.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/dto/TemperingLayoutDTO.java
@@ -12,6 +12,11 @@
/**
* 閽㈠寲鐗堝浘id
*/
+ private String engineerId;
+
+ /**
+ * 閽㈠寲鐗堝浘id
+ */
private Integer temperingLayoutId;
/**
* 褰撳墠鐗堝浘鏁伴噺
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java
index 93a5953..1a59438 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java
@@ -4,8 +4,6 @@
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.entity.dto.TemperingLayoutDTO;
-import java.util.List;
-
/**
* <p>
@@ -17,6 +15,11 @@
*/
public interface BigStorageCageDetailsMapper extends MPJBaseMapper<BigStorageCageDetails> {
- List<TemperingLayoutDTO> listAllTemperingCount();
+ /**
+ * 鑾峰彇閽㈠寲鐗堝浘宸茬粡鍒伴綈鐨勫伐绋嬪彿鍙婄増鍥緄d
+ *
+ * @return
+ */
+ TemperingLayoutDTO temperingIsAll();
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
index dc64d64..9c5ad4f 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
@@ -41,5 +41,5 @@
*/
BigStorageDTO queryTargetSlotByTempering(GlassInfo glassInfo);
- List<TemperingLayoutDTO> listAllTemperingCount();
+ TemperingLayoutDTO temperingIsAll();
}
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 bda4125..f909c54 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
@@ -256,7 +256,7 @@
}
@Override
- public List<TemperingLayoutDTO> listAllTemperingCount() {
- return baseMapper.listAllTemperingCount();
+ public TemperingLayoutDTO temperingIsAll() {
+ return baseMapper.temperingIsAll();
}
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
index 3e13554..281f395 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -288,11 +288,39 @@
//todo:鑾峰彇鐘舵�佸瓧 閽㈠寲浼樺厛 or 浜哄伐涓嬬墖浼樺厛
if (true) {
//todo:閽㈠寲浼樺厛锛氳幏鍙栫悊鐗囩 鐜荤拑灏忕墖 鐮存崯琛� 鏁伴噺 鍒ゆ柇绗煎唴鐗堝浘鏄惁鍒伴綈
- //todo: 鍒伴綈锛屽皢鐜荤拑灏忕墖鏁版嵁瀛樺叆閽㈠寲灏忕墖琛紝閫昏緫鐢熸垚鍑虹墖浠诲姟 缁撴潫
+ TemperingLayoutDTO temperingLayoutDTO = bigStorageCageDetailsService.temperingIsAll();
+ if (null != temperingLayoutDTO) {
+ //鐜荤拑鍒伴綈
+ //todo: 鍒伴綈锛屽皢鐜荤拑灏忕墖鏁版嵁瀛樺叆閽㈠寲灏忕墖琛紝閫昏緫鐢熸垚鍑虹墖浠诲姟 缁撴潫
+ List<BigStorageCageDetails> bigStorageCageDetails = bigStorageCageDetailsService.list(new LambdaQueryWrapper<BigStorageCageDetails>()
+ .eq(BigStorageCageDetails::getTemperingLayoutId, temperingLayoutDTO.getTemperingLayoutId())
+ .eq(BigStorageCageDetails::getEngineerId, temperingLayoutDTO.getEngineerId()));
+ List<TemperingGlassInfo> temperingGlassInfos = bigStorageCageDetails.stream().map(e -> {
+ TemperingGlassInfo info = new TemperingGlassInfo();
+ BeanUtils.copyProperties(e, info);
+ return info;
+ }).collect(Collectors.toList());
+ temperingGlassInfoService.saveBatch(temperingGlassInfos);
+
+ //鎵撹溅鍓╀綑灏哄
+ AtomicReference<Integer> remainWidth = new AtomicReference<>(Const.BIG_STORAGE_WIDTH);
+ temperingGlassInfoList.stream().forEach(e -> {
+ if (bigStorageCageOutTaskList.size() > 5 || e.getWidth() > remainWidth.get()) {
+ return;
+ }
+ remainWidth.set(remainWidth.get() - e.getWidth().intValue() - Const.BIG_STORAGE_GAP);
+ bigStorageCageOutTaskList.add(new BigStorageCageOutTask(e.getGlassId(), e.getState(), Const.A09_OUT_TARGET_POSITION,
+ 0, 0, 1));
+ });
+ bigStorageCageOutTaskService.saveBatch(bigStorageCageOutTaskList);
+ return;
+ }
//todo: 鏈埌榻� 鎵ц鍐呴儴璋冨害浠诲姟 缁撴潫
+
}
//todo:绗煎唴鏄惁鏈変汉宸ヤ笅鐗囩幓鐠� 鏈夌洿鎺ュ嚭 鏃� 缁撴潫
- List<TemperingLayoutDTO> list = bigStorageCageDetailsService.listAllTemperingCount();
+
+
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
index 9d6527c..1f64557 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -3,15 +3,42 @@
<mapper namespace="com.mes.bigstorage.mapper.BigStorageCageDetailsMapper">
<resultMap id="temperingLayoutDTO" type="com.mes.bigstorage.entity.dto.TemperingLayoutDTO">
+ <result column="engineer_id" property="engineerId"/>
<result column="tempering_layout_id" property="temperingLayoutId"/>
<result column="count" property="count"/>
</resultMap>
- <select id="listAllTemperingCount" resultMap="temperingLayoutDTO">
- select tempering_layout_id,
- count(tempering_layout_id) as count
- from big_storage_cage_details
- where state = 100
- group by tempering_layout_id
+ <!-- <select id="listAllTemperingCount" resultMap="temperingLayoutDTO">-->
+ <!-- select tempering_layout_id,-->
+ <!-- count(tempering_layout_id) as count-->
+ <!-- from big_storage_cage_details-->
+ <!-- where state = 100-->
+ <!-- group by tempering_layout_id-->
+ <!-- </select>-->
+ <select id="temperingIsAll" resultMap="temperingLayoutDTO">
+ SELECT T.ENGINEER_ID,
+ T.TEMPERING_LAYOUT_ID,
+ COUNT(T.TEMPERING_FEED_SEQUENCE) AS COUNT
+ FROM
+ GLASS_INFO T
+ LEFT JOIN DAMAGE T1
+ ON T.ENGINEER_ID = T1.ENGINEER_ID
+ AND T.GLASS_ID = T1.GLASS_ID
+ LEFT JOIN BIG_STORAGE_CAGE_DETAILS T2 ON T.ENGINEER_ID = T2.ENGINEER_ID
+ AND T.GLASS_ID = T2.GLASS_ID
+ WHERE
+ T1.GLASS_ID IS NULL
+ AND T2.GLASS_ID IS NULL
+ AND ( T.ENGINEER_ID
+ , T.TEMPERING_LAYOUT_ID ) IN ( SELECT DISTINCT ENGINEER_ID
+ , TEMPERING_LAYOUT_ID FROM BIG_STORAGE_CAGE_DETAILS WHERE STATE = 100 )
+ GROUP BY
+ T.ENGINEER_ID,
+ T.TEMPERING_LAYOUT_ID
+ HAVING
+ COUNT = 0
+ ORDER BY
+ T.TEMPERING_LAYOUT_ID
+ LIMIT 1
</select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0