From c031247a887691a4f86d6562219e5e54dd89fb86 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 23 十月 2025 23:43:22 +0800
Subject: [PATCH] 1、新笼子逻辑测试修改

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java |   25 +++++++++++++++++++------
 1 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
index 9553251..5cbe4f6 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
@@ -140,16 +140,17 @@
         String fromOpcUa = s7DataDLPOne.getFrom1().toString();
 
         List<String> ids = s7DataDLPOne.getIds();
+        log.info("鑾峰彇鍒拌繘鐗囦换鍔� 鐜荤拑id锛歿}", ids);
         List<String> glassIdList = new ArrayList<>();
         for (int i = 0; i < 6; i++) {
             String requestWord = ids.get(i);
-            if (null != requestWord && !requestWord.isEmpty()) {
+            if (StringUtils.isNotBlank(requestWord)) {
+                log.info("鐜荤拑id{}鍔犲叆杩涚墖浠诲姟", requestWord);
                 BigStorageCageTask task = new BigStorageCageTask();
                 task.setGlassId(requestWord);
                 task.setStartSlot(Integer.parseInt(fromOpcUa));
                 inTaskList.add(task);
                 glassIdList.add(requestWord);
-                break;
             }
         }
         if (CollectionUtil.isEmpty(inTaskList)) {
@@ -225,7 +226,7 @@
             for (Map.Entry<Double, Long> entry : thickCountMap.entrySet()) {
                 int count = bigStorageCageService.count(new LambdaQueryWrapper<BigStorageCage>()
                         .eq(BigStorageCage::getEnableState, Const.SLOT_ON).eq(BigStorageCage::getRemainWidth, slotWidth)
-                        .ge(BigStorageCage::getDeviceId, 4)
+                        .le(BigStorageCage::getDeviceId, 4)
                         .le(BigStorageCage::getMinThickness, entry.getKey())
                         .ge(BigStorageCage::getMaxThickness, entry.getKey()));
                 if (count < entry.getValue()) {
@@ -432,10 +433,15 @@
                 cageDetails.setFilmsId(info.getFilmsId());
                 cageDetails.setId(null);
                 bigStorageCageDetailsService.save(cageDetails);
+                info.setState(Const.GLASS_STATE_OUT);
+                bigStorageCageDetailsService.updateById(info);
             }
             //鍘嗗彶鏁版嵁鍏ュ簱
             bigStorageCageHistoryTaskService.saveBatch(historyTasks);
             extracted(taskList);
+            S7DataDLPTwo s7DataDLPTwo = new S7DataDLPTwo();
+            s7DataDLPTwo.setMesReply(1);
+            s7SerializerDLPTwo.write(s7DataDLPTwo);
             return;
         }
 
@@ -537,11 +543,15 @@
                         .last("limit 1"));
                 List<Integer> slotList = sequenceDTOList.stream().map(BigStorageSequenceDTO::getSlot).collect(Collectors.toList());
                 list = bigStorageCageDetailsService.list(new LambdaQueryWrapper<BigStorageCageDetails>()
-                        .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN).in(BigStorageCageDetails::getSlot, slotList));
+                        .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
+                        .in(BigStorageCageDetails::getSlot, slotList)
+                        .orderByAsc(BigStorageCageDetails::getTemperingFeedSequence)
+                );
                 computeOutGlassInfoByVirtualSlot(list, "big_storage_cage_out_one_task",
                         bigStorageCage.getSlot(), Const.GLASS_STATE_SCHEDULE_ING, Const.BIG_STORAGE_BEFORE_DISPATCH);
                 slotList.add(bigStorageCage.getSlot());
                 updateSlotRemainBySlots(slotList);
+                return;
             }
             //鏈夛細缁熶竴寰�5鍙风瀛愰��
 //            鏃� 4鍙风瀛愪娇鐢ㄦ暟閲忔槸鍚﹁秴杩囬槇鍊� 鏈� 鐢熸垚璋冨害浠诲姟鎸夌収缁勫彿缁勫簭鐢�1寮�濮嬩緷娆″線5鍙风瀛愰�佸皬鐗�
@@ -570,7 +580,10 @@
             BigStorageSlotDTO slotDTO = bigStorageCageDetailsService.queryNeedDispatchSlotBySequence();
             if (null != slotDTO) {
                 list = bigStorageCageDetailsService.list(new LambdaQueryWrapper<BigStorageCageDetails>()
-                        .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN).in(BigStorageCageDetails::getSlot, slotDTO.getStartSlot()));
+                        .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
+                        .in(BigStorageCageDetails::getSlot, slotDTO.getStartSlot())
+                        .orderByAsc(BigStorageCageDetails::getTemperingFeedSequence)
+                );
                 computeOutGlassInfoByVirtualSlot(list, "big_storage_cage_out_one_task",
                         slotDTO.getTargetSlot(), Const.GLASS_STATE_SCHEDULE_ING, Const.BIG_STORAGE_BEFORE_DISPATCH);
                 List<Integer> slotList = new ArrayList<>();
@@ -1010,7 +1023,7 @@
      * @return
      */
     private Boolean extracted(List<BigStorageCageTask> bigStorageCageTaskList) {
-        resetOutTask();
+//        resetOutTask();
         S7DataDLPTwo s7DataDLPTwo = new S7DataDLPTwo();
         for (int i = 0; i < bigStorageCageTaskList.size() && i < 6; i++) {
             String glassId = bigStorageCageTaskList.get(i).getGlassId();

--
Gitblit v1.8.0