From 43d838bbe517a7b8ec68685755037ec78d0e6edc Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期四, 11 七月 2024 14:21:35 +0800
Subject: [PATCH] 下篇逻辑调整:1、fixbug:进片玻璃存在可替换玻璃未进行替换 2、添加方式注释说明
---
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java | 21 +++++++++-
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml | 24 +++++------
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/dto/DownGlassInfoDTO.java | 7 +++
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java | 65 +++++++++++++++++---------------
4 files changed, 70 insertions(+), 47 deletions(-)
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
index fac40d1..1a6ba68 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
@@ -10,11 +10,28 @@
@Repository
public interface DownGlassInfoMapper extends BaseMapper<DownGlassInfo> {
-
-
+ /**
+ * 鎸夋祦绋嬪崱鏌ヨ钀芥灦鏁伴噺鏈�澶氱殑娴佺▼鍗″強灞傛暟
+ *
+ * @param flowCardId
+ * @return
+ */
DownGlassInfoDTO queryDownGlassMaxLayer(@Param(value = "flowCardId") String flowCardId);
+ /**
+ * 鏌ヨ娴佺▼鍗℃寚瀹氬眰鏁伴渶瑕佽惤鏋剁殑娆″簭
+ *
+ * @param flowCardId
+ * @param layer
+ * @return
+ */
Integer queryMaxSequence(@Param(value = "flowCardId") String flowCardId, @Param(value = "layer") int layer);
+ /**
+ * 鑾峰彇钀芥灦鐜荤拑淇℃伅锛屽寘鎷凡缁戝畾娴佺▼鍗°�佸眰鏁版湭钀芥灦鐨勭幓鐠冧俊鎭�
+ *
+ * @param isDownload 鏄惁鑾峰彇鏈惤鏋剁幓鐠冧俊鎭� True 宸茶惤鏋� false 鏈惤鏋�
+ * @return
+ */
List<DownGlassInfoDTO> queryWorkStationIsIn(@Param(value = "isDownload") Boolean isDownload);
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/dto/DownGlassInfoDTO.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/dto/DownGlassInfoDTO.java
index dc3fe51..7d9a7c0 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/dto/DownGlassInfoDTO.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/dto/DownGlassInfoDTO.java
@@ -21,11 +21,16 @@
*/
private Integer layer;
/**
- * 钀芥灦鏁伴噺
+ * 宸插嚭鐗囨暟閲�
*/
private Integer count;
/**
+ * 钀芥灦鏁伴噺
+ */
+ private Integer racksNumber;
+
+ /**
* 娴佺▼鍗℃湭杩涚墖鐨勭幓鐠冧俊鎭�
*/
private List<GlassInfo> glassInfoList;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
index 1e79b15..686084b 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
@@ -30,10 +30,7 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -179,27 +176,28 @@
endLoop:
for (DownGlassInfoDTO e : downGlassInfoDTOList) {
List<GlassInfo> glassInfoList = e.getGlassInfoList();
- for (GlassInfo item : glassInfoList) {
- if (item.getWidth() == glassInfo.getWidth() && item.getHeight() == glassInfo.getHeight()
- && item.getThickness() == glassInfo.getThickness() && item.getFilmsid().equals(glassInfo.getFilmsid())) {
- //鐜荤拑鏄惁涓哄灞�
- checkFlag = multilayerCheck(item, Boolean.FALSE);
- if (checkFlag) {
- //鐜荤拑鏇挎崲 浠呮浛鎹㈡祦绋嬪崱id鍙婂眰鏁�
- String tempFlowCardId = item.getFlowCardId();
- Integer tempLayer = item.getLayer();
- String flowCardId = glassInfo.getFlowCardId();
- Integer layer = glassInfo.getLayer();
- log.info("鏇挎崲娴佺▼鍗′俊鎭�,褰撳墠鐜荤拑淇℃伅:{}鐨勬祦绋嬪崱鍙穥}鍙婂眰鏁皗},鏇挎崲鍚庣幓鐠冧俊鎭�:{}鐨勬祦绋嬪崱鍙穥}鍙婂眰鏁皗}",
- item, glassInfo, flowCardId, layer, tempFlowCardId, tempLayer);
- glassInfo.setFlowCardId(tempFlowCardId);
- glassInfo.setLayer(tempLayer);
- glassInfoService.updateById(glassInfo);
- item.setFlowCardId(flowCardId);
- item.setLayer(layer);
- glassInfoService.updateById(item);
- break endLoop;
- }
+ Optional<GlassInfo> glassInfoTempOptional = glassInfoList.stream().filter(item -> item.getWidth() == glassInfo.getWidth() && item.getHeight() == glassInfo.getHeight()
+ && item.getThickness() == glassInfo.getThickness() && item.getFilmsid().equals(glassInfo.getFilmsid()))
+ .findFirst();
+ if (glassInfoTempOptional.isPresent()) {
+ GlassInfo item = glassInfoTempOptional.get();
+ //鐜荤拑鏄惁涓哄灞�
+ checkFlag = multilayerCheck(item, Boolean.FALSE);
+ if (checkFlag) {
+ //鐜荤拑鏇挎崲 浠呮浛鎹㈡祦绋嬪崱id鍙婂眰鏁�
+ String tempFlowCardId = item.getFlowCardId();
+ Integer tempLayer = item.getLayer();
+ String flowCardId = glassInfo.getFlowCardId();
+ Integer layer = glassInfo.getLayer();
+ log.info("鏇挎崲娴佺▼鍗′俊鎭�,褰撳墠鐜荤拑淇℃伅:{}鐨勬祦绋嬪崱鍙穥}鍙婂眰鏁皗},鏇挎崲鍚庣幓鐠冧俊鎭�:{}鐨勬祦绋嬪崱鍙穥}鍙婂眰鏁皗}",
+ item, glassInfo, flowCardId, layer, tempFlowCardId, tempLayer);
+ glassInfo.setFlowCardId(tempFlowCardId);
+ glassInfo.setLayer(tempLayer);
+ glassInfoService.updateById(glassInfo);
+ item.setFlowCardId(flowCardId);
+ item.setLayer(layer);
+ glassInfoService.updateById(item);
+ break endLoop;
}
}
}
@@ -212,11 +210,13 @@
downStorageCageDetails.setState(Const.GLASS_STATE_IN);
downStorageCageDetails.setSlot(nearestEmpty.getSlot());
downStorageCageDetailsService.save(downStorageCageDetails);
-// 鐢熸垚杩涚墖浠诲姟
+
+ // 鐢熸垚杩涚墖浠诲姟
initDownGlassTask(glassInfo, 0, nearestEmpty.getSlot(), Const.GLASS_CACHE_TYPE_IN);
}
- public Boolean outTo(String glassStatus06, String out08Glassstate, String glassStatus11, String glassStatus13, String glassId, String currentSlot) {
+ public Boolean outTo(String glassStatus06, String out08Glassstate, String glassStatus11, String
+ glassStatus13, String glassId, String currentSlot) {
if ("2".equals(glassStatus06) && "2".equals(glassStatus11) && "2".equals(glassStatus13)) {
log.info("G06銆丟11銆丟13鍒嗗埆涓簕},{}銆亄}闈炶嚜鍔ㄧ姸鎬侊紝鏃犳硶鍑虹墖", glassStatus06, glassStatus11, glassStatus13);
return Boolean.FALSE;
@@ -284,7 +284,8 @@
}
}
- private Boolean generateTaskByShelf(String glassStatus06, String glassStatus11, Boolean flag08, String glassStatus13, List<DownStorageCageDetails> tempList, DownStorageCageDetails cageDetails, String glassId) {
+ private Boolean generateTaskByShelf(String glassStatus06, String glassStatus11, Boolean flag08, String
+ glassStatus13, List<DownStorageCageDetails> tempList, DownStorageCageDetails cageDetails, String glassId) {
//鑾峰彇2涓満姊拌噦鑼冨洿鍐呯殑鏋跺瓙缁戝畾鐨勬祦绋嬪崱淇℃伅
List<Integer> workList = new ArrayList();
@@ -437,7 +438,8 @@
}
}
- public Boolean generateDownGlassOutTask(String glassId, Integer taskType, Boolean isBind, DownStorageCageDetails cageDetails) {
+ public Boolean generateDownGlassOutTask(String glassId, Integer taskType, Boolean
+ isBind, DownStorageCageDetails cageDetails) {
//鎸夌幓鐠僫d鑾峰彇鐜荤拑淇℃伅
DownStorageCageDetails downStorageCageDetails = null;
if (glassId.equals(cageDetails.getGlassId())) {
@@ -445,7 +447,7 @@
taskType = 3;
} else {
downStorageCageDetails = downStorageCageDetailsService.getOne(new LambdaQueryWrapper<DownStorageCageDetails>()
- .eq(DownStorageCageDetails::getGlassId, glassId));
+ .eq(DownStorageCageDetails::getGlassId, glassId).eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN));
}
Integer endCell = null;
@@ -512,7 +514,8 @@
startCell, endCell, taskType);
}
- private Boolean sendMessageToPlc(int width, int height, int thickness, int startCell, int endCell, int taskType) {
+ private Boolean sendMessageToPlc(int width, int height, int thickness, int startCell, int endCell,
+ int taskType) {
S7control s7control = S7object.getinstance().plccontrol;
PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
s7control.writeWord(plcMesObject.getPlcParameter("Glass_width").getAddress(), width);
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml
index 76a9216..1930840 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/mapper/DownGlassInfoMapper.xml
@@ -10,7 +10,7 @@
<resultMap id="downGlassInfo" type="com.mes.downworkstation.entity.dto.DownGlassInfoDTO">
<result column="flow_card_id" property="flowCardId"/>
<result column="layer" property="layer"/>
- <result column="count" property="count"/>
+ <result column="racks_number" property="racksNumber"/>
<collection property="glassInfoList" ofType="com.mes.glassinfo.entity.GlassInfo">
<id column="id" property="id"/>
<result column="flow_card_id" property="flowCardId"/>
@@ -45,31 +45,29 @@
</select>
<select id="queryWorkStationIsIn" resultMap="downGlassInfo">
- SELECT T.*
+ SELECT
+ T.FLOW_CARD_ID,
+ T.LAYER,
+ T.RACKS_NUMBER
<if test="!isDownload">
,T1.*
</if>
- FROM (
- SELECT T.FLOW_CARD_ID,
- T.LAYER,
- COUNT(T.LAYER) AS COUNT
FROM
DOWN_WORKSTATION T
- LEFT JOIN DOWN_GLASS_INFO T1 ON T.FLOW_CARD_ID = T1.FLOW_CARD_ID
- GROUP BY T.FLOW_CARD_ID,LAYER
- HAVING T.FLOW_CARD_ID IS NOT NULL
- ) T
INNER JOIN GLASS_INFO T1 ON T.FLOW_CARD_ID = T1.FLOW_CARD_ID
AND T.LAYER = T1.LAYER
LEFT JOIN DOWN_GLASS_INFO T2 ON T1.GLASS_ID = T2.GLASS_ID
<where>
- <if test="isDownload">
+ <if test="!isDownload">
AND T2.GLASS_ID IS NULL
</if>
- <if test="!isDownload">
+ <if test="isDownload">
AND T2.GLASS_ID IS not NULL
</if>
</where>
- order by t.count desc
+ ORDER BY
+ T.RACKS_NUMBER DESC,
+ T1.TEMPERING_LAYOUT_ID,
+ T1.TEMPERING_FEED_SEQUENCE DESC
</select>
</mapper>
\ No newline at end of file
--
Gitblit v1.8.0