From dc7afd089a74edf6a9e50d0eb3e0607d09e72548 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期五, 08 七月 2022 17:15:29 +0800
Subject: [PATCH] confingUpdete

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

diff --git a/src/samples/sockteStomp.ts b/src/samples/sockteStomp.ts
index 38460f8..0007296 100644
--- a/src/samples/sockteStomp.ts
+++ b/src/samples/sockteStomp.ts
@@ -1,9 +1,13 @@
 import Stomp from 'stompjs'
 import os from 'os'
+import { ipcRenderer } from 'electron'
 var stompClient: Stomp.Client | null=null
 
 import { userInfoStore } from '@/stores/userInfo'
+import { patientInfoStore } from '@/stores/patient'
 import {sockteStore} from '@/stores/sockteInfo'
+import { result } from 'lodash'
+const sound = require("sound-play");
 
 
 
@@ -24,7 +28,7 @@
         const deviceInfo=devices.find(de=>{
             return de.deviceName===resultInfo.deviceNumber
         })
-        console.log('---1-',deviceInfo)
+        console.log(deviceInfo,'更具设备number查找到的设备')
         if(deviceInfo!==undefined){
             switch(deviceInfo.deviceType){
                 case '读卡器':
@@ -34,7 +38,7 @@
                             type:"读卡器",
                             result:resultInfo.result,
                             resultTime:resultInfo.resultTime,
-                            state:0
+                            state:2
                         }
                     )
                     break
@@ -46,18 +50,19 @@
                             type:"体重秤",
                             result:resultInfo.result,
                             resultTime:resultInfo.resultTime,
-                            state:0
+                            state:2
                         }
                     )
                     break
                 case "血压计":
+                    console.log(resultInfo,'血压计')
                     sockteStore().setxyjSockte(
                         {
                             deviceName:resultInfo.deviceNumber,
                             type:"血压计",
                             result:resultInfo.result,
                             resultTime:resultInfo.resultTime,
-                            state:0
+                            state:2
                         }
                     )
                     break
@@ -108,13 +113,29 @@
     }
 
 }
+const writePatient=(resultInfo:any)=>{
+    const info={
+        id:resultInfo.patientInfo===null?0:resultInfo.patientInfo.id,
+        code:resultInfo.patientInfo===null?'':resultInfo.patientInfo.code,
+        name:resultInfo.patientInfo===null?0:resultInfo.patientInfo.patientName,
+        patientAvatarIcon:resultInfo.patientInfo===null?0:resultInfo.patientInfo.patientAvatarIcon,
+        deviceCode:resultInfo.deviceCode===null?"":resultInfo.deviceCode,
+        hemoCode:resultInfo.hemoCode===null?"":resultInfo.hemoCode,
+        pureWeight:resultInfo.pureWeight===null?"":resultInfo.pureWeight
+    }
+    // 写入vuex里
+    patientInfoStore().setpatientInfo(info)
+    console.log('播放声音')
+    // sound.play("https://dhcdn.leon056.com/hemo/autoselfsign/step2.mp3")
+    
+
+}
 
 // 订阅结果事件返回函数
 const  callback = function(message:any) {
     console.log('接收到数据-----',message.body)
     if (message.body!==undefined) {
         const data=JSON.parse(message.body)
-        console.log(data,"体重数据")
         writeResult(data)
     }
     else {
@@ -134,21 +155,34 @@
     if (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)
+        
+    }
 }
 const connectCallback=function(){
     const pcName= os.hostname()
     // 订阅患者信息服务
     if(stompClient!==null){
         stompClient.subscribe(`/queue/patient/info/${pcName}`,PatientCallback)
+        stompClient.subscribe(`/queue/workstation/config/set/${clientCode}/${pcName}`,configCallback)
+        stompClient.send(`/app/workstation/config/set/${clientCode}/${pcName}`,{},JSON.stringify({"clientCode":clientCode,"machineName":pcName}))
+        
     }
     console.log("链接成功",stompClient,pcName)
     // 更新sockte链接状态
     sockteStore().setsockteIsLink(true)
     console.log(sockteStore().isLink)
     console.log(devices)
-    if(devices.length>0){
+    if(devices!==undefined&&devices.length>0){
         devices.forEach(de=>{
             if(stompClient!==null){
                 stompClient.subscribe(`/queue/${clientCode}/${de.deviceName}/result`,callback)
@@ -181,9 +215,26 @@
     stompClient.connect({}, connectCallback,error_callback)
 
 }
+/**
+ * 发送患者卡号返回患者信息
+ * @param codeStr 
+ */
 const sendPationCode=(codeStr:string)=>{
+    const mode={
+        clientCode:clientCode,
+        queryCode:codeStr
+    }
     if(stompClient!==null){
-        stompClient.send(`/app/patient/info/get/${os.hostname()}`,{},codeStr)
+        stompClient.send(`/app/patient/info/get/${os.hostname()}`,{},JSON.stringify(mode))
     }
 }
-export {creatorClient,sendPationCode}
+/**
+ * 
+ * @param mode 发送结果到sockt服务
+ */
+const sendPationSet=(mode:any)=>{
+    if(stompClient!==null){
+        stompClient.send(`/app/patient/info/set`,{},JSON.stringify(mode))
+    }
+}
+export {creatorClient,sendPationCode,sendPationSet}

--
Gitblit v1.8.0