From ce4b5cef19570e243a1a46e6b4d3e66b6c9c7121 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期二, 23 一月 2024 19:04:48 +0800
Subject: [PATCH] 更新细节

---
 src/samples/sockteStomp.ts |  114 ++++++++++++++++-----------------------------------------
 1 files changed, 32 insertions(+), 82 deletions(-)

diff --git a/src/samples/sockteStomp.ts b/src/samples/sockteStomp.ts
index cb57715..5f6a3f9 100644
--- a/src/samples/sockteStomp.ts
+++ b/src/samples/sockteStomp.ts
@@ -1,13 +1,10 @@
 import Stomp from 'stompjs'
 import os from 'os'
-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'
-const sound = require("sound-play");
 
 
 let sockteNum=0
@@ -17,7 +14,7 @@
     deviceName:string
     deviceType:string
 }
-
+let config={}
 let devices:Array<device>=[]
 let clientCode:string=''
 /**
@@ -79,41 +76,9 @@
     }
 
 }
-const writeStatu=(resultInfo:any)=>{
-    if(devices.length>0){
-        const deviceInfo=devices.find(de=>{
-            console.log(de.deviceName,resultInfo.deviceName)
-            return de.deviceName===resultInfo.deviceName
-        })
-        if(deviceInfo!==undefined){
-            switch(deviceInfo.deviceType){
-                case '读卡器':
-                    sockteStore().setdkqSockte(
-                        {
-                            deviceName:resultInfo.deviceName,
-                            type:"读卡器",
-                            result:resultInfo.result,
-                            resultTime:resultInfo.resultTime,
-                            state:0
-                        }
-                    )
-                    break
-                case "体重秤":
-                    sockteStore().setweightState(resultInfo.status)
-                    break
-                case "血压计":
-                    sockteStore().setXtjState(resultInfo.status)
-                    break
-                default:
-                    console.log('有配置类型没有匹配')
-            }
-        }
-    }
-
-}
 const writePatient=(resultInfo:any)=>{
     // 给一个时间变化
-    const da=new Date().toTimeString()  
+    const da=new Date()
     console.log(da)
     const info={
         id:resultInfo.patientInfo===null?0:resultInfo.patientInfo.id,
@@ -121,10 +86,25 @@
         name:resultInfo.patientInfo===null?'':resultInfo.patientInfo.patientName,
         patientAvatarIcon:resultInfo.patientInfo===null?'':resultInfo.patientInfo.patientAvatarIcon,
         deviceCode:resultInfo.deviceCode===null?"":resultInfo.deviceCode,
+        patientGender:resultInfo.patientInfo.patientGender,
         hemoCode:resultInfo.hemoCode===null?"":resultInfo.hemoCode,
         pureWeight:resultInfo.pureWeight===null?"":resultInfo.pureWeight,
         datetime:da,
-        isScheduled:resultInfo.isScheduled
+        clothesWeight:resultInfo.clothesWeight===null?0:resultInfo.clothesWeight,
+        isScheduled:resultInfo.isScheduled,
+        isAfterMed:resultInfo.isAfterMed,
+        deviceNo:resultInfo.deviceNo,
+        preWeight:resultInfo.preWeight,
+        // s上次体重
+        lastTimeAfterWeight:resultInfo.lastTimeAfterWeight,
+        // 上次血压
+        lastTimeAfterBP:resultInfo.lastTimeAfterBP,
+        txq:resultInfo.txq,
+        medMethod:resultInfo.medMethod,
+        glq:resultInfo.glq,
+        preBP:resultInfo.preBP,
+        nextRecordDate:resultInfo.nextRecordDate,
+        actuallyClliang:resultInfo.actuallyClliang
     }
     // 写入vuex里
     patientInfoStore().setpatientInfo(info)
@@ -140,32 +120,14 @@
         alert("接收数据异常");
     }
 };
-const callbackState=function(message:any) {
-    if (message.body) {
-        const data=JSON.parse(message.body)
-        if(data){
-            writeStatu(data)
-        }
-        console.log(data,'设备心跳包数据')
-    }
-}
 const PatientCallback=function(message:any){
     if (message.body) {
-        console.log('00000000000000',message.body)
         const data=JSON.parse(message.body)
         console.log(data,'患者信息读取')
         writePatient(data)
 
     }
     
-}
-const configCallback =function(message:any){
-    if(message.body){
-        const data=JSON.parse(message.body)
-        console.log(data,'配置文件读取')
-        ipcRenderer.send('setConfingData',data)
-        
-    }
 }
 var isErrConnectBackCalled = false;
 const connectCallback=function(){
@@ -177,32 +139,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)
-    // sockte订阅服务关闭完全有post 来代替
-    // 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){
-    //                 console.log()
-    //                 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){
@@ -219,14 +169,14 @@
     },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)
     stompClient.connect({}, connectCallback,error_callback)
-
 }
 /**
  * 发送患者卡号返回患者信息
@@ -251,4 +201,4 @@
         stompClient.send(`/app/patient/info/set`,{},JSON.stringify(mode))
     }
 }
-export {creatorClient,sendPationCode,sendPationSet,writeResult}
+export {creatorClient,sendPationCode,sendPationSet,writeResult,writePatient}

--
Gitblit v1.8.0