From a320dcc8a480436f2f6b3ef81fe6b607f080a64a Mon Sep 17 00:00:00 2001
From: admin <15939171744@163.com>
Date: 星期三, 15 五月 2024 19:15:50 +0800
Subject: [PATCH] -

---
 jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 53 insertions(+), 2 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java b/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java
index 8dc6dd6..104b1b7 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java
@@ -115,6 +115,16 @@
                                 String RecordDataDoneAddress = thoroughfare + "." + device + ".RecordDataDone";
                                 //璇绘ā缁勭爜
                                 Object moduleCode = miloService.readFromOpcUa(thoroughfare + "." + device + ".ModuleCode").getValue();
+                                if(device.equals("OP365")){
+                                    Object moduleCodeA = miloService.readFromOpcUa(thoroughfare + "." + device + ".ModuleCodeA").getValue();
+                                    Object moduleCodeB = miloService.readFromOpcUa(thoroughfare + "." + device + ".ModuleCodeB").getValue();
+                                    if(moduleCodeA!=null && moduleCodeB!=null){
+                                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(11).build());
+                                    }else {
+                                        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(12).build());
+                                    }
+                                    return;
+                                }
 
                                 if(moduleCode!=null){
                                     miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(11).build());
@@ -150,7 +160,6 @@
                                     }else {
                                         miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(12).build());
                                     }
-
                                 }
                             }
                         }else {
@@ -231,6 +240,13 @@
             if(nullList.stream().noneMatch(s -> s.equals(device))){
                 if(moduleCodeList.stream().anyMatch(s -> s.equals(device))){
                     read = read + "ModuleCode";
+                    if(device.equals("OP365")){
+                        try {
+                            saveStationInfo365(thoroughfare,device);
+                        }catch (Exception e){
+                            e.printStackTrace();
+                        }
+                    }
                 }else {
                     read = read + "PACKCode";
                 }
@@ -264,7 +280,10 @@
                     //1銆佹洿鏂板伐鍗曚俊鎭�
                     updateOrderInfo(snCode);
                 }
-                daParamCollectionService.pushGeelycvMesFeedback(snCode,device);
+                try{
+                    daParamCollectionService.pushGeelycvMesFeedback(snCode,device);
+                }catch (Exception e){
+                }
                 result = "21";
 
             }
@@ -492,4 +511,36 @@
         return CollUtil.isEmpty(list);
     }
 
+    /**
+     * 淇濆瓨杩囩珯閲囬泦
+     */
+    public void saveStationInfo365(String thoroughfare,String device) throws Exception {
+        String prefix = thoroughfare+"."+device+".";
+        List<DaPassingStationCollection> passingStationCollections = new ArrayList<>();
+        String ModuleCodeA = miloService.readFromOpcUa(prefix + "ModuleCodeA").getValue().toString();
+        String ModuleCodeB = miloService.readFromOpcUa(prefix + "ModuleCodeB").getValue().toString();
+        String StationStatusA = miloService.readFromOpcUa(prefix + "StationStatusA").getValue().toString();
+        String StationStatusB = miloService.readFromOpcUa(prefix + "StationStatusB").getValue().toString();
+        String[] modeles = {ModuleCodeA,ModuleCodeB};
+        String[] StationStatus = {StationStatusA,StationStatusB};
+
+        String startTime = miloService.readFromOpcUa(prefix + "StartTime").getValue().toString();
+        String stopTime = miloService.readFromOpcUa(prefix + "StopTime").getValue().toString();
+        for (int i = 0; i < 2; i++) {
+            DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection();
+            String strt = TimeUtil.stringProcessing(startTime);
+            String end = TimeUtil.stringProcessing(stopTime);
+            daPassingStationCollection.setInboundTime(format.parse(TimeUtil.test(strt)));//鍏ョ珯鏃堕棿
+            daPassingStationCollection.setOutboundTime(format.parse(TimeUtil.test(end)));//鍑虹珯鏃堕棿
+            daPassingStationCollection.setSfcCode(modeles[i]);
+            daPassingStationCollection.setLocationCode(device);
+            daPassingStationCollection.setOutRsSign(StationStatus[i]);//鍑虹珯鏄惁鍚堟牸
+            passingStationCollections.add(daPassingStationCollection);
+        }
+        daPassingStationCollectionService.saveBeachDaPassingStationCollection(passingStationCollections);
+        String RecordDataDoneAddress = thoroughfare + "." + device + ".RecordDataDone";
+        miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(RecordDataDoneAddress).value(21).build());
+        return;
+    }
+
 }

--
Gitblit v1.9.3