From b9b44b51b201e2f5a9a1f3665c7fb76b5690f9af Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期一, 23 十二月 2024 16:13:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OPCPlcSlicecage.java |  117 ++++++++++++++++++++++++++--------------------------------
 1 files changed, 53 insertions(+), 64 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OPCPlcSlicecage.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OPCPlcSlicecage.java
index 487d00e..1fcdedf 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OPCPlcSlicecage.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OPCPlcSlicecage.java
@@ -3,6 +3,8 @@
 import cn.hutool.json.JSONObject;
 import cn.smallbun.screw.core.util.CollectionUtils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.kangaroohy.milo.model.ReadWriteEntity;
+import com.kangaroohy.milo.service.MiloService;
 import com.mes.bigstorage.entity.BigStorageCageDetails;
 import com.mes.bigstorage.service.BigStorageCageDetailsService;
 import com.mes.bigstorage.service.BigStorageCageService;
@@ -48,6 +50,9 @@
     @Resource
     private BigStorageCageTaskService bigStorageCageTaskService;
 
+    @Autowired(required = false)
+    MiloService miloService;
+
     @Value("${mes.scan.ip}")
     private String scanIp;
 
@@ -56,28 +61,57 @@
 
     private JSONObject jsonObject = new JSONObject();
 
-    public void queryDataSource1() throws InterruptedException {
+    public void queryDataSource1() throws Exception {
         List<Double> carPostion = new ArrayList<>();
         carPostion.add(0.25);
         carPostion.add(0.5);
         jsonObject.append("carPostion", carPostion);
         //鐣岄潰灞曠ず绗煎瓙淇℃伅
-//        jsonObject.append("bigStorageCageInfos", bigStorageCageService.querybigStorageCageDetail());
+        jsonObject.append("bigStorageCageInfos", bigStorageCageService.querybigStorageCageDetail());
 
-        //杩涚墖浠诲姟鏁版嵁
-        List<BigStorageCageTask> inTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_in_one_task");
-        jsonObject.append("bigStorageCageDetailsFeedTask", inTaskList);
+        try{
+            //杩涚墖浠诲姟鏁版嵁
+            List<BigStorageCageTask> inTaskList = new ArrayList();
+            ReadWriteEntity fromOpcUa = miloService.readFromOpcUa("DLP1A.DLP1A.FROM1");
+            for (int i = 1; i <= 6; i++) {
+                ReadWriteEntity requestWord = miloService.readFromOpcUa("DLP1A.DLP1A.DI" + i);
+                ReadWriteEntity targetSlotWord = miloService.readFromOpcUa("DLP1A.DLP1A.TO" + i);
+                ReadWriteEntity stateWord = miloService.readFromOpcUa("DLP1A.DLP1A.STATE" + i);
+                if (null != requestWord.getValue()) {
+                    BigStorageCageTask task = new BigStorageCageTask();
+                    task.setGlassId(requestWord.getValue() + "");
+                    task.setStartSlot(Integer.parseInt(fromOpcUa.getValue() + ""));
+                    task.setTargetSlot(Integer.parseInt(targetSlotWord.getValue() + ""));
+                    task.setTaskState(Integer.parseInt(stateWord.getValue() + ""));
+                    inTaskList.add(task);
+                    continue;
+                }
+            }
+            jsonObject.append("bigStorageCageDetailsFeedTask", inTaskList);
+
+            //杩涚墖鑱旀満
+            ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP1A.DLP1A.mesControl");
+            jsonObject.append("inkageEntity", inkageEntity.getValue());
+            //杩涚墖璇锋眰
+            ReadWriteEntity requestEntity = miloService.readFromOpcUa("DLP1A.DLP1A.RequestMes");
+            jsonObject.append("requestEntity", requestEntity.getValue());
+            //鍚姩鍛戒护
+            ReadWriteEntity mesReplyEntity = miloService.readFromOpcUa("DLP1A.DLP1A.MesReply");
+            jsonObject.append("mesReplyEntity", mesReplyEntity.getValue());
+            //鍑虹墖鑱旀満
+            ReadWriteEntity outInkageEntity = miloService.readFromOpcUa("DLP1B.DLP1B.mesControl");
+            jsonObject.append("outInkageEntity", outInkageEntity.getValue());
+            //鍑虹墖璇锋眰
+            ReadWriteEntity outRequestEntity = miloService.readFromOpcUa("DLP1B.DLP1B.RequestMes");
+            jsonObject.append("outRequestEntity", outRequestEntity.getValue());
+        }catch(Exception e){
+            //todo:涓嶅仛浠诲姟澶勭悊
+        }
 
         //鍑虹墖浠诲姟鏁版嵁
         List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_one_task");
         jsonObject.append("bigStorageCageDetailsOutTask", outTaskList);
 
-        //鐞嗙墖绗间娇鐢ㄦ儏鍐�
-        List<Map<String, Object>> bigStorageCageUsage = bigStorageCageService.selectBigStorageCageUsage();
-//        jsonObject.append("bigStorageCageUsage", bigStorageCageUsage);
-
-        //鐞嗙墖绗艰〃鏍间俊鎭�
-//        jsonObject.append("bigStorageCageInfo", bigStorageCageService.querybigStorageCageDetailAll());
 
         //閽㈠寲寮�鍏�
         boolean temperingSwitch = false;
@@ -87,6 +121,7 @@
             temperingSwitch = redisUtil.getCacheObject("temperingSwitch");
         }
         jsonObject.append("temperingSwitch", temperingSwitch);
+
         //璋冨害寮�鍏�
         boolean dispatchSwitch = false;
         if (redisUtil.getCacheObject("dispatchSwitch") == null) {
@@ -95,6 +130,12 @@
             dispatchSwitch = redisUtil.getCacheObject("dispatchSwitch");
         }
         jsonObject.append("dispatchSwitch", dispatchSwitch);
+
+        //鐞嗙墖绗间娇鐢ㄦ儏鍐�
+        List<Map<String, Object>> bigStorageCageUsage = bigStorageCageService.selectBigStorageCageUsage();
+        jsonObject.append("bigStorageCageUsage", bigStorageCageUsage);
+
+
         //鎵撳嵃寮�鍏�
         boolean autoPrint = false;
         if (redisUtil.getCacheObject("autoPrint") == null) {
@@ -130,7 +171,7 @@
      * fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
      * fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
      */
-    @Scheduled(fixedDelay = 1000)
+    @Scheduled(fixedDelay = 3000)
     public void plcStorageCageTask() throws InterruptedException {
         jsonObject = new JSONObject();
         try {
@@ -156,58 +197,6 @@
             }
         } catch (Exception e) {
             e.printStackTrace();
-        }
-    }
-
-    //        @Scheduled(fixedDelay = 1000)
-    public void temperingIsRun() {
-        JSONObject jsonObject = new JSONObject();
-        //杩涚墖浠诲姟鏁版嵁
-        List<BigStorageCageDetails> bigStorageCageDetailsFeedTask = bigStorageCageDetailsService.selectFeedTask();
-        jsonObject.append("bigStorageCageDetailsFeedTask", bigStorageCageDetailsFeedTask);
-        //鍑虹墖浠诲姟鏁版嵁
-        List<BigStorageCageDetails> bigStorageCageDetailsOutTask = bigStorageCageDetailsService.selectOutTask();
-        jsonObject.append("bigStorageCageDetailsOutTask", bigStorageCageDetailsOutTask);
-        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("isRun");
-        if (sendwServer != null) {
-            for (WebSocketServer webserver : sendwServer) {
-                if (webserver != null) {
-                    webserver.sendMessage(jsonObject.toString());
-                } else {
-                    log.info("Home is closed");
-                }
-            }
-        }
-    }
-
-    //    @Scheduled(fixedDelay = Long.MAX_VALUE)
-    public void scanCodeTask() {
-        log.info("鎵弿浠诲姟宸插惎鍔�");
-        while (true) {
-            JSONObject jsonObject = new JSONObject();
-            try (Socket socket = new Socket(scanIp, scanPort);
-                 BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {
-                // 鎺ユ敹鏈嶅姟鍣ㄥ搷搴�
-                log.info("绛夊緟鎵爜涓�......");
-                String glassId = in.readLine();
-                log.info("鎵弿鍒扮殑鐜荤拑id锛歿}", glassId);
-                List<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("slicecage");
-                if (CollectionUtils.isNotEmpty(sendwServer)) {
-                    //鎸夌収鐜荤拑id鑾峰彇鐜荤拑淇℃伅杩斿洖缁欏墠绔晫闈紝鍏蜂綋闇�瑕佸摢浜涙暟鎹緟纭
-                    GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>()
-                            .eq(GlassInfo::getGlassId, glassId).last("limit 1"));
-                    if (null == glassInfo) {
-                        log.info("鎸夌収鐜荤拑id锛歿}锛屾棤娉曟壘鍒扮幓鐠冧俊鎭�", glassId);
-                    } else {
-                        for (WebSocketServer webserver : sendwServer) {
-                            jsonObject.append("scanGlass", glassInfo);
-                            webserver.sendMessage(jsonObject.toString());
-                        }
-                    }
-                }
-            } catch (Exception exception) {
-                log.info("璇诲彇寮傚父锛屽師鍥犱负{}", exception.getMessage());
-            }
         }
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0