From 2510046e4e09c929cdb0d5adcecde62fd3a20cf4 Mon Sep 17 00:00:00 2001
From: chenyincheng <501753378@qq.com>
Date: 星期六, 07 一月 2023 11:45:19 +0800
Subject: [PATCH] 更新外网订阅

---
 src/samples/sockteStomp.ts |   67 +++++++++++++++------------------
 1 files changed, 30 insertions(+), 37 deletions(-)

diff --git a/src/samples/sockteStomp.ts b/src/samples/sockteStomp.ts
index 90db1c3..55eadf1 100644
--- a/src/samples/sockteStomp.ts
+++ b/src/samples/sockteStomp.ts
@@ -3,7 +3,7 @@
 import { ipcRenderer } from 'electron'
 let stompClient: Stomp.Client | null=null
 
-import { userInfoStore } from '@/stores/userInfo'
+import { confingInfoStore } from '@/stores/StoresConfing'
 import { patientInfoStore } from '@/stores/patient'
 import {sockteStore} from '@/stores/sockteInfo'
 import { result } from 'lodash'
@@ -17,7 +17,7 @@
     deviceName:string
     deviceType:string
 }
-
+let config={}
 let devices:Array<device>=[]
 let clientCode:string=''
 /**
@@ -35,15 +35,18 @@
             switch(deviceInfo.deviceType){
                 case '读卡器':
                     console.log('读卡器收到消息')
-                    sockteStore().setdkqSockte(
-                        {
-                            deviceName:resultInfo.deviceNumber,
-                            type:"读卡器",
-                            result:resultInfo.result,
-                            resultTime:resultInfo.resultTime,
-                            state:2
-                        }
-                    )
+                    const res=JSON.parse(resultInfo.result)
+                    if(res.clientCode!==null){
+                        sockteStore().setdkqSockte(
+                            {
+                                deviceName:resultInfo.deviceNumber,
+                                type:"读卡器",
+                                result:resultInfo.result,
+                                resultTime:resultInfo.resultTime,
+                                state:2
+                            }
+                        )
+                    }
                     break
                 case "体重秤":
                     console.log(resultInfo,'体重秤')
@@ -51,7 +54,7 @@
                         {
                             deviceName:resultInfo.deviceNumber,
                             type:"体重秤",
-                            result:resultInfo.result,
+                            result:Number(resultInfo.result).toString(),
                             resultTime:resultInfo.resultTime,
                             state:2
                         }
@@ -120,7 +123,8 @@
         deviceCode:resultInfo.deviceCode===null?"":resultInfo.deviceCode,
         hemoCode:resultInfo.hemoCode===null?"":resultInfo.hemoCode,
         pureWeight:resultInfo.pureWeight===null?"":resultInfo.pureWeight,
-        datetime:da  
+        datetime:da,
+        isScheduled:resultInfo.isScheduled
     }
     // 写入vuex里
     patientInfoStore().setpatientInfo(info)
@@ -128,7 +132,6 @@
 
 // 订阅结果事件返回函数
 const  callback = function(message:any) {
-    console.log('接收到数据-----',message.body)
     if (message.body!==undefined) {
         const data=JSON.parse(message.body)
         writeResult(data)
@@ -173,31 +176,20 @@
     if(stompClient!==null){
         // 订阅患者信息事件
         stompClient.subscribe(`/queue/patient/info/${pcName}`,PatientCallback)
-        // 订阅配置文件事件
-        stompClient.subscribe(`/queue/workstation/config/set/${clientCode}/${pcName}`,configCallback)
+        // 订阅配置文件事件已经弃用  现在不用更新本地配置文件了 
+        // stompClient.subscribe(`/queue/workstation/config/set/${clientCode}/${pcName}`,configCallback)
+        devices.forEach(el=>{
+            if(stompClient!==null)
+            stompClient.subscribe(`/queue/${clientCode}/${el.deviceName}/result`,callback)
+        })
         // 发送配置文件到服务端
-        stompClient.send(`/app/workstation/config/set/${clientCode}/${pcName}`,{},JSON.stringify({"clientCode":clientCode,"machineName":pcName}))
+        stompClient.send(`/app/workstation/config/set/${clientCode}/${pcName}`,{},
+        JSON.stringify(config))
         
     }
     // 更新sockte链接状态
     sockteStore().setsockteIsLink(true)
     console.log(sockteStore().isLink)
-    if(devices!==undefined &&devices!=null&&devices.length>0){
-        // 更新sockte链接状态
-        sockteStore().setsockteIsLink(true) 
-        console.log(sockteStore().isLink)
-        console.log(devices)
-        if(devices!==undefined&&devices!=null &&devices!=null &&devices.length>0){
-            devices.forEach(de=>{
-                if(stompClient!==null){
-                    stompClient.subscribe(`/queue/${clientCode}/${de.deviceName}/result`,callback)
-                    stompClient.subscribe(`/queue/${clientCode}/${de.deviceName}/keepalive`,callbackState)
-                    stompClient.send(`/app/device/request/${clientCode}/${de.deviceName}`, {}, JSON.stringify({"deviceNumber":de.deviceName}));
-
-                } 
-            })
-        }
-    }
 }
 
 const error_callback=function(error:any){
@@ -214,9 +206,10 @@
     },60000)
 }
 // 创建客户端链接
-const creatorClient=(devices2:any,clientCode2:any)=>{
-    devices=devices2
-    clientCode=clientCode2
+const creatorClient=(configObj:any)=>{
+    config=configObj
+    devices=configObj.deviceList
+    clientCode=configObj.clientCode
     console.log(devices,'设备列表','chong')
     const socket = new WebSocket('ws://hemobs.icoldchain.cn/broadcast')
     stompClient = Stomp.over(socket)
@@ -246,4 +239,4 @@
         stompClient.send(`/app/patient/info/set`,{},JSON.stringify(mode))
     }
 }
-export {creatorClient,sendPationCode,sendPationSet}
+export {creatorClient,sendPationCode,sendPationSet,writeResult}

--
Gitblit v1.8.0