From 49138a936668c30fbb4063e5d0bb518a400e6c39 Mon Sep 17 00:00:00 2001
From: 懒羊羊 <15939171744@163.com>
Date: 星期五, 26 一月 2024 09:30:45 +0800
Subject: [PATCH] 工位终端

---
 jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java |    7 ++
 jcdm-main/pom.xml                                                         |    6 ++
 jcdm-ui/src/views/main/kb/stationTerminal/index.vue                       |  116 ++++++++++++++++++++++++--------------
 3 files changed, 87 insertions(+), 42 deletions(-)

diff --git a/jcdm-main/pom.xml b/jcdm-main/pom.xml
index 6c58209..4518cee 100644
--- a/jcdm-main/pom.xml
+++ b/jcdm-main/pom.xml
@@ -90,6 +90,12 @@
             <artifactId>stack-server</artifactId>
             <version>0.3.6</version>
         </dependency>
+
+        <!-- 绯荤粺妯″潡-->
+        <dependency>
+            <groupId>com.jcdm</groupId>
+            <artifactId>jcdm-framework</artifactId>
+        </dependency>
     </dependencies>
 
 </project>
\ No newline at end of file
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java b/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java
index b2ce549..2f5a299 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/opcuaconfig/cert/MethodName.java
@@ -1,5 +1,7 @@
 package com.jcdm.main.da.opcuaconfig.cert;
 
+import com.jcdm.framework.websocket.WebSocketServer;
+import com.jcdm.framework.websocket.WebSocketUsers;
 import com.jcdm.main.da.collectionParamConf.domain.DaCollectionParamConf;
 import com.jcdm.main.da.collectionParamConf.service.IDaCollectionParamConfService;
 import com.jcdm.main.da.opcuaconfig.client.ClientHandler;
@@ -13,14 +15,17 @@
 import org.eclipse.milo.opcua.stack.core.types.builtin.DataValue;
 import org.eclipse.milo.opcua.stack.core.types.builtin.NodeId;
 
+import javax.websocket.Session;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 import static com.jcdm.main.da.opcuaconfig.client.ClientHandler.readValues;
 
 @Slf4j
 public class MethodName {
+    Map<String, Session> map = WebSocketUsers.getUsers();
     private IDaCollectionParamConfService collectionParamConfService = BeanUtils.getBean(IDaCollectionParamConfService.class);
     private IDaParamCollectionService daParamCollectionService = BeanUtils.getBean(IDaParamCollectionService.class);
     private IDaPassingStationCollectionService daPassingStationCollectionService = BeanUtils.getBean(IDaPassingStationCollectionService.class);
@@ -47,6 +52,7 @@
                 PassingStationCollection.setInboundTime(new Date());
                 daPassingStationCollectionService.insertDaPassingStationCollection(PassingStationCollection);
                 log.info("鑺傜偣:{},鍝嶅簲缁撴灉:{}", node1.getIdentifier(),out1);
+                WebSocketUsers.sendMessageToUserByText(map.get(parts[1]), "IN");
                 break;
             case "2":   //璇锋眰璁板綍宸ヤ綅鏁版嵁
                 List<DaCollectionParamConf> b;
@@ -83,6 +89,7 @@
                 //鏇存柊PLC鑺傜偣鐘舵��
                 NodeEntity node2= NodeEntity.builder().index(2).identifier(parts[0]+"."+parts[1]+".RecordDataDone").value("21").type("short").build();
                 Boolean out2=clientHandler.write(node2);
+                WebSocketUsers.sendMessageToUserByText(map.get(parts[1]), "OUT");
                 log.info("鑺傜偣:{},鍝嶅簲缁撴灉:{}", node2.getIdentifier(),out2);
                 break;
             default:
diff --git a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
index 7e60eb6..d0d7943 100644
--- a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
+++ b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
@@ -81,6 +81,17 @@
              <span style="display: none">{{cakeLamp.release}}</span>
              <span>&nbsp;鍏佽鏀捐</span>
            </el-col>
+
+         </el-row>
+         <el-row style="margin-top: 20px">
+           <el-col :span="12">
+             <el-input v-model="serialPortContent" style="width: 150px;" placeholder="璇疯緭鍏ュ唴瀹�"></el-input>
+
+           </el-col>
+           <el-col :span="12">
+             <el-button @click="serialPortMethod" type="primary">涓插彛鑾峰彇鏁版嵁</el-button>
+
+           </el-col>
          </el-row>
        </el-card>
 
@@ -139,6 +150,7 @@
   name: "stationTerminal",
   data() {
     return {
+      serialPortContent: '',
       // 鏌ヨ鍙傛暟
       formulaChildParams: {
         pageNum: 1,
@@ -183,7 +195,7 @@
       },
       content: '',
       activeName: 'first',
-      url: "ws://192.168.10.196:8080/websocket/message/",
+      url: "ws://192.168.10.184:8080/websocket/message/",
       message: "",
       text_content: "",
       ws: null,
@@ -204,11 +216,13 @@
 
   },
   methods: {
+    serialPortMethod(){
+
+    },
     /** 鏌ヨ閰嶆柟閰嶇疆瀛愪俊鎭垪琛� */
     getListFormulaChild() {
       this.formulaChildParams.productCode = this.workpieceInformation.productCode
       listFormulaChild(this.formulaChildParams).then(response => {
-        console.log(this.formulaChildList)
         this.formulaChildList = response.rows;
       });
     },
@@ -224,12 +238,14 @@
       this.headContent.sfcCode = this.content
       this.queryParams.sfcCode = this.content
       this.getList()
-      this.getListFormulaChild()
+      // this.getListFormulaChild()
       this.cakeLamp.scanFinish = 1
+      this.cakeLamp.startWork = 1
+
     },
     /** 鏌ヨ鎶ュ伐璁板綍 琛ㄥ垪琛� */
-    getList() {
-      listWorkReport(this.queryParams).then(response => {
+    async getList() {
+      await listWorkReport(this.queryParams).then(response => {
         let rowsData = response.rows[0];
         this.workpieceInformation.workOrderCode = rowsData.workOrderCode;
         this.workpieceInformation.productCode = rowsData.productCode;
@@ -239,46 +255,50 @@
           this.workpieceInformation.beat++;
         }, 1000);
       });
+      this.getListFormulaChild()
+
     },
     allowRelease(){
       clearInterval(this.timer);
       this.$message('淇濆瓨鑺傛媿涓�'+this.workpieceInformation.beat+'绉�');
     },
     /** 鏌ヨ宸ヤ綅缁堢閰嶇疆鍒楄〃 */
-    async getStationConfList() {
-      await getIpv4().then(response => {
-        this.StationConfQueryParams.ipAddress = response.msg
-        console.log('鏌ヨ鍒版湰宸ヤ綅IP涓�'+this.StationConfQueryParams.ipAddress)
-      });
-      listStationConf(this.StationConfQueryParams).then(response => {
-        let rows = response.rows[0]
-        if(response.rows.length===0){
-          this.$message('璇ュ伐浣嶆病鏈夐厤缃甀P锛岃鑱旂郴绠$悊鍛橀厤缃甀P');
-          return
-        }
-        this.headContent.processesName = rows.processesName
-        this.headContent.processesCode = rows.processesCode
-        console.log('璁剧疆宸ヤ綅缂栫爜'+this.headContent.processesCode)
-
-      });
-    },
-    connectWebsocket() {
-      console.log('websocket杩炴帴宸ヤ綅涓�'+this.headContent.processesCode)
-      const wsuri = this.url + this.headContent.processesCode;
-      this.ws = new WebSocket(wsuri);
-      const self = this;
-      this.ws.onopen = function (event) {
-        // self.text_content = self.text_content + "宸茬粡鎵撳紑杩炴帴!" + "\n";
-        this.$message('websocket杩炴帴鎴愬姛锛�');
-      };
-      this.ws.onmessage = function (event) {
-        self.text_content = event.data + "\n";
-        console.log(event.data)
-        if(event.data === "1"){
-          self.cakeLamp.InPlace = "1"
-        }
-      };
-    },
+    // async getStationConfList() {
+    //   await getIpv4().then(response => {
+    //     this.StationConfQueryParams.ipAddress = response.msg
+    //     console.log('鏌ヨ鍒版湰宸ヤ綅IP涓�'+this.StationConfQueryParams.ipAddress)
+    //   });
+    //   listStationConf(this.StationConfQueryParams).then(response => {
+    //     let rows = response.rows[0]
+    //     if(response.rows.length===0){
+    //       this.$message('璇ュ伐浣嶆病鏈夐厤缃甀P锛岃鑱旂郴绠$悊鍛橀厤缃甀P');
+    //       return
+    //     }
+    //     this.headContent.processesName = rows.processesName
+    //     this.headContent.processesCode = rows.processesCode
+    //     console.log('璁剧疆宸ヤ綅缂栫爜'+this.headContent.processesCode)
+    //
+    //   });
+    // },
+    // connectWebsocket() {
+    //   console.log('websocket杩炴帴宸ヤ綅涓�'+this.headContent.processesCode)
+    //   const wsuri = this.url + this.headContent.processesCode;
+    //   this.ws = new WebSocket(wsuri);
+    //   const self = this;
+    //   this.ws.onopen = function (event) {
+    //     // self.text_content = self.text_content + "宸茬粡鎵撳紑杩炴帴!" + "\n";
+    //     this.$message('websocket杩炴帴鎴愬姛锛�');
+    //   };
+    //   this.ws.onmessage = function (event) {
+    //     self.text_content = event.data + "\n";
+    //     console.log(event.data)
+    //     if(event.data === "IN"){
+    //       self.cakeLamp.InPlace = "1"
+    //     }else if(event.data === "OUT"){
+    //       self.cakeLamp.outRsSign = "1"
+    //     }
+    //   };
+    // },
     exit() {
       if (this.ws) {
         this.ws.close();
@@ -313,16 +333,28 @@
       this.ws = new WebSocket(wsuri);
       const self = this;
       this.ws.onopen = function (event) {
-        // self.text_content = self.text_content + "宸茬粡鎵撳紑杩炴帴!" + "\n";
         this.$message('websocket杩炴帴鎴愬姛锛�');
       };
       this.ws.onmessage = function (event) {
         self.text_content = event.data + "\n";
         console.log(event.data)
-        if(event.data === "1"){
-          self.cakeLamp.InPlace = "1"
+        if(event.data === "IN"){
+          self.cakeLamp.InPlace = 1
+        }else if(event.data === "OUT"){
+          self.cakeLamp.release = 1
+          setTimeout(() => {
+            this.resetting()
+          }, 2000); // 寤舵椂2绉掕Е鍙�
         }
       };
+    },
+    resetting() {
+      this.cakeLamp = {
+        InPlace: 0,
+        release: 0,
+        startWork: 0,
+        scanFinish: 0,
+      }
     }
   }
 }

--
Gitblit v1.9.3