From 02cda108e3d49036fbfd628458e84ca9c360d257 Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期二, 10 六月 2025 10:56:50 +0800
Subject: [PATCH] 优化细节
---
src/samples/sockteStomp.ts | 138 +++++++++++++++------------------------------
1 files changed, 47 insertions(+), 91 deletions(-)
diff --git a/src/samples/sockteStomp.ts b/src/samples/sockteStomp.ts
index 90db1c3..2320f04 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=''
/**
@@ -35,15 +32,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 +51,7 @@
{
deviceName:resultInfo.deviceNumber,
type:"体重秤",
- result:resultInfo.result,
+ result:Number(resultInfo.result).toString(),
resultTime:resultInfo.resultTime,
state:2
}
@@ -76,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,
@@ -118,9 +86,26 @@
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
+ datetime:da,
+ clothesWeight:resultInfo.clothesWeight===null?0:resultInfo.clothesWeight,
+ isScheduled:resultInfo.isScheduled,
+ isAfterMed:resultInfo.isAfterMed,
+ deviceNo:resultInfo.deviceNo,
+ 设备分区名称:resultInfo.设备分区名称,
+ 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)
@@ -128,7 +113,6 @@
// 订阅结果事件返回函数
const callback = function(message:any) {
- console.log('接收到数据-----',message.body)
if (message.body!==undefined) {
const data=JSON.parse(message.body)
writeResult(data)
@@ -137,15 +121,6 @@
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) {
const data=JSON.parse(message.body)
@@ -154,14 +129,6 @@
}
-}
-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(){
@@ -173,31 +140,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,14 +170,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)
-
}
/**
* 发送患者卡号返回患者信息
@@ -246,4 +202,4 @@
stompClient.send(`/app/patient/info/set`,{},JSON.stringify(mode))
}
}
-export {creatorClient,sendPationCode,sendPationSet}
+export {creatorClient,sendPationCode,sendPationSet,writeResult,writePatient}
--
Gitblit v1.8.0