From d9d502b669dcbfc8e3aed10014aa99930979cd7a Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期二, 11 三月 2025 09:50:47 +0800
Subject: [PATCH] 1、大理片笼新增复位按钮:清除笼内状态为0的玻璃数据,并将格子尺寸恢复到初始状态。 2、历史任务按钮:按照查询条件查询理片笼信息历史任务 3、fixbug:卧式理片笼没有玻璃时,仅恢复格子的尺寸 4、fixbug:中空出片顺序错乱,当数量小于总层数时,增加是否同一对玻璃的判断,避免少于总层数出片玻璃不是一对情况的发生 5、向前端推送上片的工位信息

---
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java |   34 ++++++++++++++++++++++++++--------
 1 files changed, 26 insertions(+), 8 deletions(-)

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 24d9513..2cf6ed0 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,13 +1,18 @@
 package com.mes.job;
 
 import cn.hutool.json.JSONObject;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 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;
 import com.mes.opctask.entity.LoadGlassDeviceTask;
 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.tools.DateUtil;
 import com.mes.tools.WebSocketServer;
 import com.mes.uppattenusage.entity.UpPattenUsage;
@@ -24,6 +29,7 @@
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @author SNG-010
@@ -44,6 +50,8 @@
     RedisUtil redisUtil;
     @Resource
     private LoadGlassDeviceTaskService loadGlassDeviceTaskService;
+    @Resource
+    private RawGlassStorageDetailsService rawGlassStorageDetailsService;
 
     PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
 
@@ -100,7 +108,7 @@
         }
     }
 
-//    @Scheduled(fixedDelay = 300)
+    //    @Scheduled(fixedDelay = 300)
     public void plcLoadGlassReport() {
         //鑾峰彇鏄惁鏈夋眹鎶�
         String loadStatus = plcParameterObject.getPlcParameter("PlcStatus").getValue();
@@ -134,7 +142,7 @@
             JSONObject jsonObject = new JSONObject();
             //姝e湪杩涜鐨勪换鍔�
             List<UpPattenUsage> upPattenUsages = upPattenUsageService.prioritylist();
-            if(upPattenUsages!=null){
+            if (upPattenUsages != null) {
                 jsonObject.append("prioritylist", upPattenUsages);
             }
             //鏌ヨ1鍙风嚎鐨勪换鍔�
@@ -161,9 +169,18 @@
             jsonObject.append("LoadTwoervice", LoadTwoState.getInkageState());
 
             //宸ヤ綅淇℃伅
-            List<UpWorkstation> upWorkstations = upWorkstationService.list();
-            jsonObject.append("list", upWorkstations);
-
+            MPJLambdaWrapper<RawGlassStorageDetails> wrapper = new MPJLambdaWrapper<>();
+            wrapper.select(RawGlassStorageStation::getSlot)
+                    .select("ifnull(remain_quantity, 0) as remain_quantity")
+                    .rightJoin(RawGlassStorageStation.class, on -> on.eq(RawGlassStorageStation::getSlot, RawGlassStorageDetails::getSlot)
+                            .eq(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_IN))
+                    .in(RawGlassStorageStation::getDeviceId, 5, 6)
+                    .orderByAsc(RawGlassStorageStation::getSlot);
+            List<RawGlassStorageDetails> rawGlassStorageDetailList = rawGlassStorageDetailsService.list(wrapper);
+            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);
 
             ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("loadGlass");
             if (sendwServer != null) {
@@ -200,11 +217,11 @@
         }
     }
 
-//    @Scheduled(fixedDelay = 5000)
+    //    @Scheduled(fixedDelay = 5000)
     public void loadGlassStatus() {
         JSONObject jsonObject = new JSONObject();
         //姝e湪杩涜鐨勪换鍔�
-        String inkageStatus =plcParameterObject.getPlcParameter("InkageStatus").getValue();
+        String inkageStatus = plcParameterObject.getPlcParameter("InkageStatus").getValue();
 //        String inkageStatus ="1";
         jsonObject.append("InkageStatus", inkageStatus);
         ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("loadGlass");
@@ -218,12 +235,13 @@
             }
         }
     }
+
     @Scheduled(fixedDelay = 1000)
     public void loadGlassIsRun() {
         JSONObject jsonObject = new JSONObject();
         //鏄惁寮�濮嬪伐绋�
         Engineering engineering = engineeringService.selectInitiate(1);
-            jsonObject.append("engineering", engineering);
+        jsonObject.append("engineering", engineering);
         //宸ヤ綅淇℃伅
         List<UpWorkstation> upWorkstations = upWorkstationService.list();
         jsonObject.append("list", upWorkstations);

--
Gitblit v1.8.0