From d799fbde44cc568a3e15d78dc6e582ff244ffa89 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期六, 29 三月 2025 16:05:44 +0800
Subject: [PATCH] 1、卧式理片重置任务调整,避免无任务情况下无法将任务交互表的数据清掉 2、中空领取任务界面新增产品名称,便于识别产品 3、调整部分定时任务间隔时间 4、定时任务分隔开,按照两个/多个界面的websocket由一个分为多个 5、取消钢化功能开发中z

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java                      |    7 +
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragecagetask/service/impl/BigStorageCageHistoryTaskServiceImpl.java |    2 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java                           |    8 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java                    |    1 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java             |    7 +
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/base/entity/BigStorageCageBaseInfo.java                                                       |    6 +
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java                |   11 +
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/mapper/HollowGlassRelationInfoMapper.java                                 |   10 +
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opctask/entity/EdgStorageDeviceTaskHistory.java                                   |   14 ++
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java                                                          |   89 +++++---------
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java                                                        |   27 ----
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opctask/service/impl/EdgStorageDeviceTaskServiceImpl.java                         |   52 ++++----
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java                                         |   14 +
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java                                             |    1 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java                                                 |    6 -
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollowtask/service/impl/HollowBigStorageCageHistoryTaskServiceImpl.java          |    2 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java                              |    7 -
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java                      |   14 +
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java                                                      |   38 ++++--
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java                                                          |   10 
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/entity/dto/FlowCardGlassInfoDTO.java                                      |    4 
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowGlassRelationInfoMapper.xml                                            |   10 +
 22 files changed, 184 insertions(+), 156 deletions(-)

diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/base/entity/BigStorageCageBaseInfo.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/base/entity/BigStorageCageBaseInfo.java
index 47e0fd3..0d3d370 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/base/entity/BigStorageCageBaseInfo.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/base/entity/BigStorageCageBaseInfo.java
@@ -43,6 +43,12 @@
      */
     @ApiModelProperty(value = "楂�")
     private double height;
+
+    /**
+     * 鍘氬害
+     */
+    @ApiModelProperty(value = "鍘氬害")
+    private double thickness;
     /**
      * 鑶滅郴
      */
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
index 7a5431d..4b22d1a 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
@@ -46,12 +46,6 @@
     private Integer glassType;
 
     /**
-     * 鍘氬害
-     */
-    @ApiModelProperty(value = "鍘氬害", position = 8)
-    private double thickness;
-
-    /**
      * 閽㈠寲鏄惁鎺ュ彈妯斁
      */
     @ApiModelProperty(value = "閽㈠寲鏄惁鎺ュ彈妯斁", position = 10)
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java
index 8b0232b..2ed246d 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java
@@ -51,20 +51,10 @@
     @Autowired(required = false)
     MiloService miloService;
 
-
-//    @Resource(name = "cacheGlassStartCallback")
-//    SubscriptionCallback cacheGlassStartCallback;
-//
-//    @Resource(name = "cacheGlassTestCallback")
-//    SubscriptionCallback cacheGlassTestCallback;
-
     @Resource
     EdgStorageDeviceTaskService edgStorageDeviceTaskService;
-    //    @Resource
-//    EdgGlassTaskQueueInfoService edgGlassTaskQueueInfoService;
     @Autowired
     EdgGlassTaskInfoService edgGlassTaskInfoService;
-
     @Resource
     GlassInfoService glassInfoService;
     @Resource
@@ -101,16 +91,6 @@
     private String glassInIdTwo = "";
     private String glassIdOne = "";
     private String glassIdTwo = "";
-
-    //    @Scheduled(fixedDelay = Long.MAX_VALUE)
-//    public void startOneOpcTask() throws Exception {
-//        miloService.subscriptionFromOpcUa(Arrays.asList("mes.WL1.edg_storage_device_one_task[1].task_state"), cacheGlassStartCallback);
-//    }
-//
-//    @Scheduled(fixedDelay = Long.MAX_VALUE)
-//    public void startTwoOpcTask() throws Exception {
-//        miloService.subscriptionFromOpcUa(Arrays.asList("mes.WL2.edg_storage_device_two_task[1].task_state"), cacheGlassStartCallback);
-//    }
 
     @Scheduled(fixedDelay = 1000)
     public void startOneOpcTask() {
@@ -707,10 +687,9 @@
             if (2 == taskHistory.getTaskType()) {
                 remainWidth = 0;
             } else {
-                EdgStorageCage storageCage = edgStorageCageService.getOne(new LambdaQueryWrapper<EdgStorageCage>()
-                        .eq(EdgStorageCage::getDeviceId, device).eq(EdgStorageCage::getSlot, slot));
-                EdgStorageCageDetails bigDetails = list.stream().filter(e -> e.getGlassId().equals(taskHistory.getGlassIdIn())).findFirst().orElse(null);
-                remainWidth = storageCage.getRemainWidth() - glassGap - (int) Math.max(bigDetails.getWidth(), bigDetails.getHeight());
+                for (EdgStorageCageDetails item : list) {
+                    remainWidth = remainWidth - glassGap - (int) Math.max(item.getWidth(), item.getHeight());
+                }
                 if (remainWidth <= 0) {
                     remainWidth = 0;
                 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opctask/entity/EdgStorageDeviceTaskHistory.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opctask/entity/EdgStorageDeviceTaskHistory.java
index 5bc1011..a35c5f7 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opctask/entity/EdgStorageDeviceTaskHistory.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opctask/entity/EdgStorageDeviceTaskHistory.java
@@ -4,6 +4,8 @@
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
@@ -15,51 +17,62 @@
  * @author makejava
  * @since 2024-10-27 21:04:33
  */
+@ApiModel(description = "(EdgStorageDeviceTaskHistory)琛ㄥ疄浣撶被")
 @SuppressWarnings("serial")
 @Data
 public class EdgStorageDeviceTaskHistory extends Model<EdgStorageDeviceTaskHistory> {
     /**
      * 宸ョ▼琛╥d
      */
+    @ApiModelProperty(value = "宸ョ▼琛╥d", position = 1)
     @TableId(value = "id", type = IdType.AUTO)
     private Long id;
     /**
      * 杩涚墖鐜荤拑id
      */
+    @ApiModelProperty(value = "杩涚墖鐜荤拑id", position = 2)
     private String glassIdIn;
     /**
      * 鍑虹墖鐜荤拑id
      */
+    @ApiModelProperty(value = "鍑虹墖鐜荤拑id", position = 3)
     private String glassIdOut;
     /**
      * 褰撳墠灞傚彿
      */
+    @ApiModelProperty(value = "褰撳墠灞傚彿", position = 4)
     private Integer currentCell;
     /**
      * 灞傚彿
      */
+    @ApiModelProperty(value = "鐩爣灞傚彿", position = 5)
     private Integer startCell;
     /**
      * 棰勭暀灞傚彿
      */
+    @ApiModelProperty(value = "棰勭暀灞傚彿", position = 6)
     private Integer endCell;
     /**
      * 浠诲姟鐘舵�� 0榛樿绌轰换鍔� 1 杩涚墖 2鍑虹墖 3 鐩撮�� 4鎵ц涓� 5缁撴潫浠诲姟 6鍏朵粬
      */
+    @ApiModelProperty(value = "浠诲姟鐘舵�� 0榛樿绌轰换鍔� 1 杩涚墖 2鍑虹墖 3 鐩撮�� 4鎵ц涓� 5缁撴潫浠诲姟 6鍏朵粬", position = 7)
     private Integer taskState;
     /**
      * 浠诲姟鐘舵�� 0榛樿绌轰换鍔� 1 杩涚墖 2鍑虹墖 3 鐩撮�� 4鎵ц涓� 5缁撴潫浠诲姟 6鍏朵粬
      */
+    @ApiModelProperty(value = "浠诲姟鐘舵�� 0榛樿绌轰换鍔� 1 杩涚墖 2鍑虹墖 3 鐩撮�� 4鎵ц涓� 5缁撴潫浠诲姟 6鍏朵粬", position = 8)
     private Integer taskType;
     /**
      * 鍒涘缓鏃堕棿
      */
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿", position = 9)
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
     /**
      * 鏇存柊鏃堕棿
      */
+    @ApiModelProperty(value = "鏇存柊鏃堕棿", position = 10)
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date updateTime;
@@ -67,6 +80,7 @@
     /**
      * 璁惧淇℃伅
      */
+    @ApiModelProperty(value = "璁惧淇℃伅", position = 11)
     private Integer deviceId;
 
 
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opctask/service/impl/EdgStorageDeviceTaskServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opctask/service/impl/EdgStorageDeviceTaskServiceImpl.java
index d4d3e3f..d41a4cd 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opctask/service/impl/EdgStorageDeviceTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/opctask/service/impl/EdgStorageDeviceTaskServiceImpl.java
@@ -9,7 +9,6 @@
 import com.mes.edgstoragecage.entity.vo.EdgSlotRemainVO;
 import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
 import com.mes.edgstoragecage.service.EdgStorageCageService;
-import com.mes.job.OpcCacheGlassTask;
 import com.mes.opctask.entity.EdgStorageDeviceTask;
 import com.mes.opctask.entity.EdgStorageDeviceTaskHistory;
 import com.mes.opctask.mapper.EdgStorageDeviceTaskMapper;
@@ -66,33 +65,32 @@
                 .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_NEW)
                 .eq(EdgStorageDeviceTaskHistory::getDeviceId, deviceId)
                 .orderByDesc(EdgStorageDeviceTaskHistory::getCreateTime).last("limit 1"));
-        if (taskHistory == null) {
-            return Boolean.FALSE;
-        }
-        Integer cell = taskHistory.getStartCell();
-        Integer taskType = taskHistory.getTaskType();
-        if (Const.GLASS_CACHE_TYPE_IN_ALL.contains(taskType)) {
-            String glassId = taskHistory.getGlassIdIn();
-            edgStorageCageDetailsService.remove(new LambdaQueryWrapper<EdgStorageCageDetails>()
-                    .eq(EdgStorageCageDetails::getDeviceId, deviceId)
-                    .eq(EdgStorageCageDetails::getSlot, cell)
-                    .eq(EdgStorageCageDetails::getGlassId, glassId));
-        } else {
-            String glassId = taskHistory.getGlassIdOut();
-            edgStorageCageDetailsService.update(new LambdaUpdateWrapper<EdgStorageCageDetails>()
-                    .set(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)
-                    .eq(EdgStorageCageDetails::getDeviceId, deviceId)
-                    .eq(EdgStorageCageDetails::getSlot, cell)
-                    .eq(EdgStorageCageDetails::getGlassId, glassId));
-        }
+        if (taskHistory != null) {
+            Integer cell = taskHistory.getStartCell();
+            Integer taskType = taskHistory.getTaskType();
+            if (Const.GLASS_CACHE_TYPE_IN_ALL.contains(taskType)) {
+                String glassId = taskHistory.getGlassIdIn();
+                edgStorageCageDetailsService.remove(new LambdaQueryWrapper<EdgStorageCageDetails>()
+                        .eq(EdgStorageCageDetails::getDeviceId, deviceId)
+                        .eq(EdgStorageCageDetails::getSlot, cell)
+                        .eq(EdgStorageCageDetails::getGlassId, glassId));
+            } else {
+                String glassId = taskHistory.getGlassIdOut();
+                edgStorageCageDetailsService.update(new LambdaUpdateWrapper<EdgStorageCageDetails>()
+                        .set(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)
+                        .eq(EdgStorageCageDetails::getDeviceId, deviceId)
+                        .eq(EdgStorageCageDetails::getSlot, cell)
+                        .eq(EdgStorageCageDetails::getGlassId, glassId));
+            }
 
-        edgStorageDeviceTaskHistoryService.update(new LambdaUpdateWrapper<EdgStorageDeviceTaskHistory>()
-                .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_NEW)
-                .eq(EdgStorageDeviceTaskHistory::getDeviceId, deviceId)
-                .set(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_FAILURE)
-        );
-        //璁$畻姣忎釜鍚勮嚜鐨勫墿浣欏昂瀵镐俊鎭�
-        resetSlotRemainWidth();
+            edgStorageDeviceTaskHistoryService.update(new LambdaUpdateWrapper<EdgStorageDeviceTaskHistory>()
+                    .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_NEW)
+                    .eq(EdgStorageDeviceTaskHistory::getDeviceId, deviceId)
+                    .set(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_FAILURE)
+            );
+            //璁$畻姣忎釜鍚勮嚜鐨勫墿浣欏昂瀵镐俊鎭�
+            resetSlotRemainWidth();
+        }
         //鏈�鍚庢洿鏂颁换鍔★紝淇濊瘉浠诲姟鍓嶇殑鍔ㄤ綔閮藉仛瀹�
         EdgStorageDeviceTask task = new EdgStorageDeviceTask();
         task.setTaskRunning(Const.GLASS_CACHE_TYPE_EMPTY);
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
index ee87a6f..c8661f6 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
@@ -114,6 +114,17 @@
         }
     }
 
+    @ApiOperation("鍙栨秷褰撳墠閽㈠寲")
+    @PostMapping("/cancelTemperingTask")
+    public Result<Boolean> cancelTemperingTask() {
+        boolean result = bigStorageCageDetailsService.cancelTemperingTask();
+        if (result == true) {
+            return Result.build(200, "鎸囧畾閽㈠寲鎴愬姛", result);
+        } else {
+            return Result.build(200, "宸插瓨鍦ㄩ挗鍖栦换鍔★紝璇风瓑寰呴挗鍖栧畬鎴愬啀鎸囧畾閽㈠寲", result);
+        }
+    }
+
     @ApiOperation("閽㈠寲/闈為挗鍖栨煡璇細0 闈為挗鍖�  1锛氶挗鍖�")
     @PostMapping("/selectTemperingGlass")
     public Result<List<TemperingGlassCountDTO>> selectTemperingGlass(int isTempering) {
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java
index 1f49bde..0cf7da5 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java
@@ -61,13 +61,6 @@
     @ApiModelProperty(value = "鐜荤拑绫诲瀷", position = 8)
     private Integer glassType;
 
-
-    /**
-     * 鍘氬害
-     */
-    @ApiModelProperty(value = "鍘氬害", position = 11)
-    private double thickness;
-
     @ApiModelProperty(value = "鏃嬭浆瑙掑害", position = 12)
     private Integer angle;
 
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 06aa8cb..098362d 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
@@ -109,4 +109,11 @@
     List<BigStorageCageDetails> queryRealGlassInfo(BigStorageQueryVO bigStorageQueryVO);
 
     Map<Integer, List<BigStorageVO>> querybigStorageCageDetail();
+
+    /**
+     * 鍙栨秷閽㈠寲浠诲姟
+     *
+     * @return
+     */
+    boolean cancelTemperingTask();
 }
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 ae517cd..353c9d1 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
@@ -452,11 +452,16 @@
 
     @Override
     public Map<Integer, List<BigStorageVO>> querybigStorageCageDetail() {
-        List<BigStorageVO> bigStorageCages= baseMapper.querybigStorageCageDetail();
+        List<BigStorageVO> bigStorageCages = baseMapper.querybigStorageCageDetail();
         return bigStorageCages.stream().collect(Collectors.groupingBy(item -> item.getDeviceId()));
     }
 
     @Override
+    public boolean cancelTemperingTask() {
+        return false;
+    }
+
+    @Override
     public String temperingSwitch(Boolean flag) {
         redisUtil.setCacheObject("temperingSwitch", flag);
         return "success";
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 edf645e..dea422e 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
@@ -286,6 +286,7 @@
     public List<Map<String, Object>> selectBigStorageCageUsage() {
         QueryWrapper<BigStorageCage> wrapper = new QueryWrapper<>();
         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")
+                .eq("enable_state", Const.SLOT_ON)
                 .groupBy("device_id");
         List<Map<String, Object>> bigStorageCageUsages = baseMapper.selectMaps(wrapper);
 
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragecagetask/service/impl/BigStorageCageHistoryTaskServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragecagetask/service/impl/BigStorageCageHistoryTaskServiceImpl.java
index d031143..992eb0a 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragecagetask/service/impl/BigStorageCageHistoryTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragecagetask/service/impl/BigStorageCageHistoryTaskServiceImpl.java
@@ -39,7 +39,7 @@
                 .in(CollectionUtil.isNotEmpty(request.getTaskStateList()), BigStorageCageHistoryTask::getTaskState, request.getTaskStateList())
                 .in(CollectionUtil.isNotEmpty(request.getTaskTypeList()), BigStorageCageHistoryTask::getTaskType, request.getTaskTypeList())
                 .between(BigStorageCageHistoryTask::getCreateTime, request.getBeginDate(), request.getEndDate())
-                .orderByDesc(BigStorageCageHistoryTask::getCreateTime);
+                .orderByAsc(BigStorageCageHistoryTask::getId);
         return this.page(page, wrapper);
     }
 
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 63861e5..787a1f6 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
@@ -170,7 +170,7 @@
         }
         //鎸夌収鐜荤拑鍘氬害鍒嗙粍锛屽垽鏂墿浣欐牸瀛愭槸鍚﹀彲浠ュ瓨鏀�
         Map<Double, Long> thickCountMap = glassInfoList.stream().collect(Collectors.groupingBy(GlassInfo::getThickness, Collectors.counting()));
-        if(glassInfoList.get(0).getThickness() < slotMaxthickness){
+        if (glassInfoList.get(0).getThickness() < slotMaxthickness) {
             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)
@@ -696,9 +696,15 @@
         //浠诲姟鏁版嵁:鑾峰彇杞﹀瓙瀛樻斁鐜荤拑鏈�澶ф暟閲�,鐜荤拑闂撮殧
         List<T> outGlassList = list;
         if (!THROUGH_SLOT.equals(list.get(0).getSlot())) {
-            List<String> glassIdList = bigStorageGlassRelationInfoService.queryNeedOutGlassId(
-                    list.get(0).getEngineerId(), list.get(0).getTemperingLayoutId(), list.get(0).getTemperingFeedSequence());
-            outGlassList = list.stream().filter(e -> glassIdList.contains(e.getGlassId())).collect(Collectors.toList());
+            //todo:涓存椂瑙e喅鏂规:鍑虹墖鏃惰�冭檻鐜荤拑纰版挒锛屾敼涓轰竴鐗囦竴鍑�
+            // 鐣岄潰鍏抽棴璋冨害寮�鍏� !Const.BIG_STORAGE_BEFORE_DISPATCH.equals(taskType)
+            if (list.get(0).getThickness() >= 8) {
+                outGlassList = list.subList(0, 1);
+            } else {
+                List<String> glassIdList = bigStorageGlassRelationInfoService.queryNeedOutGlassId(
+                        list.get(0).getEngineerId(), list.get(0).getTemperingLayoutId(), list.get(0).getTemperingFeedSequence());
+                outGlassList = list.stream().filter(e -> glassIdList.contains(e.getGlassId())).collect(Collectors.toList());
+            }
         }
         Assert.isFalse(CollectionUtil.isEmpty(outGlassList), "鏈幏鍙栧嚭鐗囨暟鎹紝缁撴潫鍑虹墖浠诲姟");
         log.info("鑾峰彇鍑虹墖浠诲姟鏁版嵁{}鏉★紝鎵ц淇濆瓨", outGlassList.size());
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java
index f32b804..a18183a 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java
@@ -69,22 +69,22 @@
     //2銆�1鍙蜂笂鐗囦綅鏄惁鏈夊師鐗囷紝鍘熺墖灏哄鏄惁鍜屼笂鐗囧緟涓婄墖鐨勫昂瀵镐竴鑷�
     //3銆�1鍙锋棤鍘熺墖锛屼笖娌℃湁鏋跺瓙锛�2鍙蜂笂鐗囦綅灏哄鏄惁鍜屽甫涓婄墖灏哄涓�鑷�
     //4銆佷笉涓�鑷村彲鑳藉嚭鐜扮幓鐠冪牬鎹熷鑷寸殑涓婁竴鏋跺師鐗囨暟閲忎笉澶�
-    @Scheduled(fixedDelay = 300)
+    @Scheduled(fixedDelay = 5000)
     public void opcLoadGlassOne() {
         opcLoadGlassChild(LOAD_GLASS_DEVICE_ONE_TASK, LOAD_GLASS_ONE_DEVICE);
     }
 
-    @Scheduled(fixedDelay = 300)
+    @Scheduled(fixedDelay = 5000)
     public void opcLoadGlassTwo() {
         opcLoadGlassChild(LOAD_GLASS_DEVICE_TWO_TASK, LOAD_GLASS_TWO_DEVICE);
     }
 
-    @Scheduled(fixedDelay = 300)
+    @Scheduled(fixedDelay = 5000)
     public void opcLoadGlassOneFinish() {
         opcLoadGlassFinishChid(LOAD_GLASS_DEVICE_ONE_TASK, LOAD_GLASS_ONE_DEVICE);
     }
 
-    @Scheduled(fixedDelay = 300)
+    @Scheduled(fixedDelay = 5000)
     public void opcLoadGlassTwoFinish() {
         opcLoadGlassFinishChid(LOAD_GLASS_DEVICE_TWO_TASK, LOAD_GLASS_TWO_DEVICE);
     }
@@ -92,7 +92,7 @@
     /**
      * 瀹氭椂浠诲姟鎵爜宸插畬鎴愪笂鐗囩殑宸ョ▼锛屽皢宸ョ▼鐘舵�佹敼涓哄凡瀹屾垚锛屽悓姝p琛ㄧ殑宸ョ▼琛紝鐘舵�佹敼涓�300
      */
-    @Scheduled(fixedDelay = 3000)
+    @Scheduled(fixedDelay = 5000)
     public void updateEngineerState() {
         log.info("淇敼宸插畬鎴愬伐绋嬬姸鎬佷换鍔″紑濮嬫墽琛�");
         List<Engineering> engineerings = engineeringMapper.selectList(new LambdaQueryWrapper<Engineering>().eq(Engineering::getState, Const.ENGINEERING_RUNNING));
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
index 8190839..dbf0966 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
@@ -1,9 +1,8 @@
 package com.mes.job;
 
 import cn.hutool.json.JSONObject;
-import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.mes.common.S7object;
-import com.mes.common.config.Const;
 import com.mes.device.PlcParameterObject;
 import com.mes.engineering.entity.Engineering;
 import com.mes.engineering.service.EngineeringService;
@@ -11,8 +10,6 @@
 import com.mes.opctask.service.LoadGlassDeviceTaskService;
 import com.mes.pp.service.OptimizeProjectService;
 import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
-import com.mes.rawglassdetails.service.RawGlassStorageDetailsService;
-import com.mes.rawglassstation.entity.RawGlassStorageStation;
 import com.mes.rawglassstation.service.RawGlassStorageStationService;
 import com.mes.tools.DateUtil;
 import com.mes.tools.WebSocketServer;
@@ -137,56 +134,48 @@
         }
     }
 
-    @Scheduled(fixedDelay = 1000)
-    public void loadGlassHome() {
+    @Scheduled(fixedDelay = 10000)
+    public void loadOneGlass() {
+        loadGlassChild("loadGlassRequestOne", 5, LOAD_GLASS_DEVICE_ONE_TASK, "loadGlassOne");
+    }
+
+    @Scheduled(fixedDelay = 10)
+    public void loadTwoGlass() {
+        loadGlassChild("loadGlassRequestTwo", 6, LOAD_GLASS_DEVICE_TWO_TASK, "loadGlassTwo");
+    }
+
+
+    private void loadGlassChild(String redisRequest, int stationCell, String tableName, String webSocketName) {
         try {
             JSONObject jsonObject = new JSONObject();
-            //姝e湪杩涜鐨勪换鍔�
-            List<UpPattenUsage> upPattenUsages = upPattenUsageService.prioritylist();
-            if (upPattenUsages != null) {
-                jsonObject.append("prioritylist", upPattenUsages);
+            //褰撳墠绾胯矾姝e湪鎵ц鐨勫伐绋�
+            Engineering engineering = engineeringService.getOne(new LambdaQueryWrapper<Engineering>().eq(Engineering::getStationCell, stationCell)
+                    .eq(Engineering::getState, 1).last("limit 1"));
+            if (null != engineering) {
+                jsonObject.append("engineering", engineering);
             }
-            //鏌ヨ1鍙风嚎鐨勪换鍔�
-            Engineering request = redisUtil.getCacheObject("loadGlassRequest");
+            //鑾峰彇褰撳墠绾胯矾姝e湪鎵ц鐨勫伐绋嬪師鐗囦俊鎭�
+            Engineering request = redisUtil.getCacheObject(redisRequest);
             if (request == null) {
                 request = new Engineering();
-                request.setStationCell(5);
+                request.setStationCell(stationCell);
             }
-            List<UpPattenUsage> upPattenUsages1 = upPattenUsageService.selectLoadTask(request);
-            jsonObject.append("loadTask1", upPattenUsages1);
-            //鏌ヨ2鍙风嚎鐨勪换鍔�
-            Engineering request2 = redisUtil.getCacheObject("loadGlassRequest2");
-            if (request2 == null) {
-                request2 = new Engineering();
-                request2.setStationCell(6);
-            }
-            List<UpPattenUsage> upPattenUsages2 = upPattenUsageService.selectLoadTask(request2);
-            jsonObject.append("loadTask2", upPattenUsages2);
-//        鏌ヨ宸ヤ綅浠诲姟
-            //鑱旀満鐘舵��
-            LoadGlassDeviceTask LoadOneState = loadGlassDeviceTaskService.queryTaskMessage(LOAD_GLASS_DEVICE_ONE_TASK);
-            LoadGlassDeviceTask LoadTwoState = loadGlassDeviceTaskService.queryTaskMessage(LOAD_GLASS_DEVICE_TWO_TASK);
-            jsonObject.append("LoadOneState", LoadOneState.getInkageState());
-            jsonObject.append("LoadTwoervice", LoadTwoState.getInkageState());
+            List<UpPattenUsage> upPattenUsages = upPattenUsageService.selectLoadTask(request);
+            jsonObject.append("upPattenUsages", upPattenUsages);
 
+            //鑱旀満鐘舵��
+            LoadGlassDeviceTask LoadTask = loadGlassDeviceTaskService.queryTaskMessage(tableName);
+            jsonObject.append("inkageState", LoadTask.getInkageState());
             //宸ヤ綅淇℃伅
             List<RawGlassStorageDetails> rawGlassStorageDetailList = rawGlassStorageStationService.listRawGlassDetails();
-            List<RawGlassStorageDetails> stationOneList = rawGlassStorageDetailList.stream().filter(item -> item.getDeviceId() == 5).collect(Collectors.toList());
-            List<RawGlassStorageDetails> stationTwoList = rawGlassStorageDetailList.stream().filter(item -> item.getDeviceId() == 6).collect(Collectors.toList());
-            jsonObject.append("stationOne", stationOneList);
-            jsonObject.append("stationTwo", stationTwoList);
-            //鏄惁寮�濮嬪伐绋�
-            Engineering engineering = engineeringService.selectInitiate(1);
-            jsonObject.append("engineering", engineering);
-            //宸ヤ綅淇℃伅
-            List<UpWorkstation> upWorkstations = upWorkstationService.list();
-            jsonObject.append("list", upWorkstations);
-            ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("loadGlass");
+            List<RawGlassStorageDetails> stationList = rawGlassStorageDetailList.stream().filter(item -> item.getDeviceId() == stationCell).collect(Collectors.toList());
+            jsonObject.append("stationList", stationList);
+
+            ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get(webSocketName);
             if (sendwServer != null) {
                 for (WebSocketServer webserver : sendwServer) {
                     if (webserver != null) {
                         webserver.sendMessage(jsonObject.toString());
-//                    }
                     } else {
                         log.info("loadGlass is closed");
                     }
@@ -195,10 +184,9 @@
         } catch (Exception e) {
             e.printStackTrace();
         }
-
     }
 
-    @Scheduled(fixedDelay = 1000)
+    @Scheduled(fixedDelay = 216000000)
     public void send() {
         ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("mainMes");
         if (sendwServer != null) {
@@ -236,21 +224,6 @@
         }
     }
 
-//    @Scheduled(fixedDelay = 1000)
-//    public void loadGlassIsRun() {
-//        JSONObject jsonObject = new JSONObject();
-//
-//        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("loadGlassIsRun");
-//        if (sendwServer != null) {
-//            for (WebSocketServer webserver : sendwServer) {
-//                if (webserver != null) {
-//                    webserver.sendMessage(jsonObject.toString());
-//                } else {
-//                    log.info("loadGlassIsRun is closed");
-//                }
-//            }
-//        }
-//    }
 
     public void overTask(String loadStatus, int state) {
 
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
index 4410f73..2c9f493 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
@@ -200,9 +200,9 @@
     public String setRawGlassTaskRequest(Engineering request) {
         // 璋冪敤 RedisUtil 淇濆瓨 loadGlass
         if (request == null) {
-            redisUtil.deleteObject("loadGlassRequest");
+            redisUtil.deleteObject("loadGlassRequestOne");
         } else {
-            redisUtil.setCacheObject("loadGlassRequest", request);
+            redisUtil.setCacheObject("loadGlassRequestOne", request);
         }
         return "success";
     }
@@ -211,9 +211,9 @@
     public String setRawGlassTaskRequest2(Engineering request) {
         // 璋冪敤 RedisUtil 淇濆瓨 loadGlass
         if (request == null) {
-            redisUtil.deleteObject("loadGlassRequest2");
+            redisUtil.deleteObject("loadGlassRequestTwo");
         } else {
-            redisUtil.setCacheObject("loadGlassRequest2", request);
+            redisUtil.setCacheObject("loadGlassRequestTwo", request);
         }
         return "success";
     }
diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/entity/dto/FlowCardGlassInfoDTO.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/entity/dto/FlowCardGlassInfoDTO.java
index 06f6a89..4c50e7d 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/entity/dto/FlowCardGlassInfoDTO.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/entity/dto/FlowCardGlassInfoDTO.java
@@ -19,6 +19,10 @@
      */
     private String flowCardId;
     /**
+     * 浜у搧鍚嶇О
+     */
+    private String productName;
+    /**
      * 鑶滅郴
      */
     private String filmsId;
diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/mapper/HollowGlassRelationInfoMapper.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/mapper/HollowGlassRelationInfoMapper.java
index b605a85..0367c10 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/mapper/HollowGlassRelationInfoMapper.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/mapper/HollowGlassRelationInfoMapper.java
@@ -26,6 +26,14 @@
 
     int queryLayerByFlowCardId(@Param("flowCardId") String flowCardId);
 
-    void clearDirtyFlowCardData(@Param("flowCardId")String flowCardId, @Param("layer")int layer);
+    void clearDirtyFlowCardData(@Param("flowCardId") String flowCardId, @Param("layer") int layer);
+
+    /**
+     * 鎸夌収娴佺▼鍗¤幏鍙栦骇鍝佸悕绉�
+     *
+     * @param flowCardId
+     * @return
+     */
+    String queryProductNameByFlowCardId(@Param("flowCardId") String flowCardId);
 }
 
diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java
index 283a128..c174581 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java
@@ -302,7 +302,13 @@
         List<FlowCardGlassInfoDTO> dtos = new ArrayList<>();
         listMap.forEach((e, v) -> {
             HollowBigStorageCageDetails cageDetails = v.get(0);
-            dtos.addAll(hollowBigStorageCageDetailsService.hollowIsAll(e, cageDetails.getTotalLayer(), Boolean.FALSE));
+            //鎸夌収娴佺▼鍗¤幏鍙栧搴旂殑浜у搧鍚嶇О
+            String productName = baseMapper.queryProductNameByFlowCardId(cageDetails.getFlowCardId());
+            List<FlowCardGlassInfoDTO> flowCardInfoList = hollowBigStorageCageDetailsService.hollowIsAll(e, cageDetails.getTotalLayer(), Boolean.FALSE);
+            for (FlowCardGlassInfoDTO item : flowCardInfoList) {
+                item.setProductName(productName);
+                dtos.add(item);
+            }
         });
         Map<String, FlowCardGlassInfoDTO> result = dtos.stream()
                 .collect(Collectors.toMap(
@@ -318,11 +324,11 @@
                         },
                         (dto1, dto2) -> {
                             dto1.setRealCount(dto1.getRealCount() + dto2.getRealCount()); // 绱姞 realCount
-                            dto1.setLayer(Math.max(dto1.getLayer(),dto2.getLayer())); // 绱姞 鏈�澶у眰鏁�
+                            dto1.setLayer(Math.max(dto1.getLayer(), dto2.getLayer())); // 绱姞 鏈�澶у眰鏁�
                             return dto1; // 杩斿洖鍚堝苟鍚庣殑瀵硅薄
                         }
                 ));
-        return dtos.stream().collect(Collectors.groupingBy(FlowCardGlassInfoDTO::getFlowCardId));
+        return dtos.stream().collect(Collectors.groupingBy(e -> e.getFlowCardId() + ":" + e.getProductName()));
     }
 
     @Override
@@ -359,7 +365,7 @@
                         },
                         (dto1, dto2) -> {
                             dto1.setRealCount(dto1.getRealCount() + dto2.getRealCount()); // 绱姞 realCount
-                            dto1.setLayer(Math.max(dto1.getLayer(),dto2.getLayer())); // 绱姞 鏈�澶у眰鏁�
+                            dto1.setLayer(Math.max(dto1.getLayer(), dto2.getLayer())); // 绱姞 鏈�澶у眰鏁�
                             dto1.setSlotCount(dto1.getSlotCount() + dto2.getSlotCount());
                             return dto1; // 杩斿洖鍚堝苟鍚庣殑瀵硅薄
                         }
diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollowtask/service/impl/HollowBigStorageCageHistoryTaskServiceImpl.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollowtask/service/impl/HollowBigStorageCageHistoryTaskServiceImpl.java
index 39b6143..a43904e 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollowtask/service/impl/HollowBigStorageCageHistoryTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollowtask/service/impl/HollowBigStorageCageHistoryTaskServiceImpl.java
@@ -38,7 +38,7 @@
                 .in(CollectionUtil.isNotEmpty(request.getTaskStateList()), HollowBigStorageCageHistoryTask::getTaskState, request.getTaskStateList())
                 .in(CollectionUtil.isNotEmpty(request.getTaskTypeList()), HollowBigStorageCageHistoryTask::getTaskType, request.getTaskTypeList())
                 .between(HollowBigStorageCageHistoryTask::getCreateTime, request.getBeginDate(), request.getEndDate())
-                .orderByDesc(HollowBigStorageCageHistoryTask::getCreateTime);
+                .orderByAsc(HollowBigStorageCageHistoryTask::getId);
         return this.page(page, wrapper);
     }
 
diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
index f469e7c..b467f80 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
@@ -762,6 +762,7 @@
                         .ge(HollowBigStorageCage::getMaxThickness, list.get(0).getThickness())
                         .eq(HollowBigStorageCage::getRemainWidth, slotWidth)
                         .orderByAsc(HollowBigStorageCage::getMaxThickness).last("limit 1"));
+                Assert.isFalse(storageCage == null, "浠诲姟璋冨害娌℃湁澶氫綑鏍煎瓙锛岀粨鏉熻皟搴︿换鍔�");
                 targetSlot = storageCage.getSlot();
                 hollowBigStorageCageService.update(new LambdaUpdateWrapper<HollowBigStorageCage>()
                         .set(HollowBigStorageCage::getRemainWidth, 0).eq(HollowBigStorageCage::getSlot, targetSlot));
diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
index 0b867e9..3b8520f 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
@@ -60,31 +60,40 @@
     @Resource
     RedisUtil redisUtil;
 
-    @Scheduled(fixedDelay = 1000)
-    public void hollowGlassTask() {
+    @Scheduled(fixedDelay = 5000)
+    public void hollowGlassTaskOne() {
+        hollowGlassTaskChild(930, "CMJ1.CMJ1.isFree", "HollowGlassOne");
+    }
+
+    @Scheduled(fixedDelay = 5000)
+    public void hollowGlassTaskTwo() {
+        hollowGlassTaskChild(931, "ZKQ2.ZKQ2.isFree", "HollowGlassTwo");
+    }
+
+    @Scheduled(fixedDelay = 5000)
+    public void hollowGlassTaskThree() {
+        //todo:鏆傛棤涓夌嚎鐨勭┖闂茬姸鎬佷俊鍙凤紝涓存椂鏍囩绌洪棽鐘舵��
+        hollowGlassTaskChild(932, "ZKQ3.ZKQ3.isFree", "HollowGlassThree");
+    }
+
+    public void hollowGlassTaskChild(int cell, String isFreeTag, String websocketName) {
         List<HollowGlassOutRelationInfo> taskList = hollowGlassOutRelationInfoService.list(new LambdaQueryWrapper<HollowGlassOutRelationInfo>()
-                .in(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START));
+                .in(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START).eq(HollowGlassOutRelationInfo::getCell, cell));
         JSONObject jsonObject = new JSONObject();
         if (CollectionUtil.isNotEmpty(taskList)) {
             List<Long> taskIdList = taskList.stream().map(HollowGlassOutRelationInfo::getId).collect(Collectors.toList());
             List<HollowGlassQueueInfo> list = hollowGlassQueueInfoService.list(new LambdaQueryWrapper<HollowGlassQueueInfo>().in(HollowGlassQueueInfo::getRelationId, taskIdList));
-            Map<Integer, List<HollowGlassQueueInfo>> listMap = list.stream().collect(Collectors.groupingBy(HollowGlassQueueInfo::getCell));
-            jsonObject.append("930", listMap.get(930));
-            jsonObject.append("931", listMap.get(931));
-            jsonObject.append("932", listMap.get(932));
+            jsonObject.append("queueInfo", list);
         }
         try {
             //930绌洪棽淇″彿
-            ReadWriteEntity freeOneRequestEntity = miloService.readFromOpcUa("CMJ1.CMJ1.isFree");
-            jsonObject.append("freeOneRequestEntity", freeOneRequestEntity.getValue());
-            //931绌洪棽淇″彿
-            ReadWriteEntity freeTwoRequestEntity = miloService.readFromOpcUa("ZKQ2.ZKQ2.isFree");
-            jsonObject.append("freeTwoRequestEntity", freeTwoRequestEntity.getValue());
+            ReadWriteEntity freeOneRequestEntity = miloService.readFromOpcUa(isFreeTag);
+            jsonObject.append("freeRequest", freeOneRequestEntity.getValue());
         } catch (Exception e) {
             log.error("opc瀛樺湪寮傚父", e);
         }
 
-        List<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("HollowGlass");
+        List<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get(websocketName);
         if (CollectionUtil.isNotEmpty(sendwServer)) {
             for (WebSocketServer socketServer : sendwServer) {
                 if (socketServer != null && socketServer.session.isOpen()) {
@@ -181,6 +190,9 @@
             //931绌洪棽淇″彿
             ReadWriteEntity freeTwoRequestEntity = miloService.readFromOpcUa("ZKQ2.ZKQ2.isFree");
             jsonObject.append("freeTwoRequestEntity", freeTwoRequestEntity.getValue());
+            //932绌洪棽淇″彿
+            ReadWriteEntity freeThreeRequestEntity = miloService.readFromOpcUa("ZKQ3.ZKQ3.isFree");
+            jsonObject.append("freeThreeRequestEntity", freeThreeRequestEntity.getValue());
         } catch (Exception e) {
             //todo:涓嶅仛浠诲姟澶勭悊
         }
diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowGlassRelationInfoMapper.xml b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowGlassRelationInfoMapper.xml
index 0d655b2..981209f 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowGlassRelationInfoMapper.xml
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/resources/mapper/HollowGlassRelationInfoMapper.xml
@@ -129,6 +129,16 @@
         from hollow_glass_relation_info
         where flow_card_id = #{flowCardId}
     </select>
+    <select id="queryProductNameByFlowCardId" resultType="java.lang.String">
+        select product_name
+        from sd.order_detail
+        where (order_id, order_number) = (
+            select min(order_id) as order_id, min(order_number) as order_number
+            from pp.flow_card
+            where process_id = #{flowCardId}
+        )
+        limit 1
+    </select>
 
     <update id="clearDirtyFlowCardData">
         update hollow_glass_relation_info

--
Gitblit v1.8.0