| | |
| | | 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 |
| | |
| | | } |
| | | |
| | | } |
| | | 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() |
| | |
| | | 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 |
| | | } |
| | | // 写入vuex里 |
| | | patientInfoStore().setpatientInfo(info) |
| | |
| | | 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) |
| | |
| | | |
| | | } |
| | | |
| | | } |
| | | 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(){ |
| | |
| | | stompClient.subscribe(`/queue/patient/info/${pcName}`,PatientCallback) |
| | | // 订阅配置文件事件已经弃用 现在不用更新本地配置文件了 |
| | | // 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(config)) |
| | |
| | | const socket = new WebSocket('ws://hemobs.icoldchain.cn/broadcast') |
| | | stompClient = Stomp.over(socket) |
| | | stompClient.connect({}, connectCallback,error_callback) |
| | | |
| | | } |
| | | /** |
| | | * 发送患者卡号返回患者信息 |
| | |
| | | stompClient.send(`/app/patient/info/set`,{},JSON.stringify(mode)) |
| | | } |
| | | } |
| | | export {creatorClient,sendPationCode,sendPationSet,writeResult} |
| | | export {creatorClient,sendPationCode,sendPationSet,writeResult,writePatient} |