|
@@ -2,6 +2,7 @@ package com.coffee.bus.hospital.config;
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
|
|
+import com.coffee.bus.entity.BusDeviceAlarmEntity;
|
|
|
import com.coffee.bus.enums.ConfigEnum;
|
|
import com.coffee.bus.enums.ConfigEnum;
|
|
|
import com.coffee.bus.hospital.config.bean.FunctionExtraConfig;
|
|
import com.coffee.bus.hospital.config.bean.FunctionExtraConfig;
|
|
|
import com.coffee.bus.entity.BusDeviceRunningEntity;
|
|
import com.coffee.bus.entity.BusDeviceRunningEntity;
|
|
@@ -11,6 +12,7 @@ import com.coffee.bus.enums.DeviceTypeEnum;
|
|
|
import com.coffee.bus.hospital.enums.ConfigHandlerEnums;
|
|
import com.coffee.bus.hospital.enums.ConfigHandlerEnums;
|
|
|
import com.coffee.bus.registry.device.DeviceRegistry;
|
|
import com.coffee.bus.registry.device.DeviceRegistry;
|
|
|
import com.coffee.bus.registry.patient.PatientRegistry;
|
|
import com.coffee.bus.registry.patient.PatientRegistry;
|
|
|
|
|
+import com.coffee.bus.service.LocalBusDeviceAlarmService;
|
|
|
import com.coffee.bus.service.LocalBusDeviceRunningService;
|
|
import com.coffee.bus.service.LocalBusDeviceRunningService;
|
|
|
import com.coffee.bus.service.LocalBusInfusionHistoryService;
|
|
import com.coffee.bus.service.LocalBusInfusionHistoryService;
|
|
|
import com.coffee.bus.utils.WsPublishUtils;
|
|
import com.coffee.bus.utils.WsPublishUtils;
|
|
@@ -40,11 +42,13 @@ public class HospitalFunctionExtraConfigHandler extends AbstractHospitalConfig
|
|
|
|
|
|
|
|
private HospitalFinishMonitorConfigHandler monitorConfigHandler;
|
|
private HospitalFinishMonitorConfigHandler monitorConfigHandler;
|
|
|
private HospitalAutoUndoConfigHandler autoUndoConfigHandler;
|
|
private HospitalAutoUndoConfigHandler autoUndoConfigHandler;
|
|
|
|
|
+ private LocalBusDeviceAlarmService alarmService;
|
|
|
public HospitalFunctionExtraConfigHandler(ConfigStorage configStorage, String hospitalId, RedissonUtil redissonUtil, LocalBusDeviceRunningService deviceRunningService, LocalBusInfusionHistoryService infusionHistoryService, DeviceRegistry deviceRegistry, WsPublishUtils wsPublishUtils, PatientRegistry patientRegistry
|
|
public HospitalFunctionExtraConfigHandler(ConfigStorage configStorage, String hospitalId, RedissonUtil redissonUtil, LocalBusDeviceRunningService deviceRunningService, LocalBusInfusionHistoryService infusionHistoryService, DeviceRegistry deviceRegistry, WsPublishUtils wsPublishUtils, PatientRegistry patientRegistry
|
|
|
- , HospitalFinishMonitorConfigHandler monitorConfigHandler,HospitalAutoUndoConfigHandler autoUndoConfigHandler) {
|
|
|
|
|
|
|
+ , HospitalFinishMonitorConfigHandler monitorConfigHandler,HospitalAutoUndoConfigHandler autoUndoConfigHandler,LocalBusDeviceAlarmService alarmService) {
|
|
|
super(configStorage, hospitalId, redissonUtil, deviceRunningService, infusionHistoryService, deviceRegistry, wsPublishUtils, patientRegistry);
|
|
super(configStorage, hospitalId, redissonUtil, deviceRunningService, infusionHistoryService, deviceRegistry, wsPublishUtils, patientRegistry);
|
|
|
this.monitorConfigHandler=monitorConfigHandler;
|
|
this.monitorConfigHandler=monitorConfigHandler;
|
|
|
this.autoUndoConfigHandler=autoUndoConfigHandler;
|
|
this.autoUndoConfigHandler=autoUndoConfigHandler;
|
|
|
|
|
+ this.alarmService=alarmService;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -94,6 +98,8 @@ public class HospitalFunctionExtraConfigHandler extends AbstractHospitalConfig
|
|
|
.patientCode(source.getPatientCode())
|
|
.patientCode(source.getPatientCode())
|
|
|
.tenantId(source.getTenantId())
|
|
.tenantId(source.getTenantId())
|
|
|
.timestamp(new Date())
|
|
.timestamp(new Date())
|
|
|
|
|
+ .historyId(source.getHistoryId())
|
|
|
|
|
+ .infusionId(source.getInfusionId())
|
|
|
.timeout(interval)
|
|
.timeout(interval)
|
|
|
.unit(TimeUnit.MINUTES)
|
|
.unit(TimeUnit.MINUTES)
|
|
|
.build();
|
|
.build();
|
|
@@ -116,6 +122,11 @@ public class HospitalFunctionExtraConfigHandler extends AbstractHospitalConfig
|
|
|
//泵已换绑医院,无需再处理
|
|
//泵已换绑医院,无需再处理
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
+ //不在服务区报警信息保存
|
|
|
|
|
+ Date uploadTime=new Date(source.getTimestamp().getTime()+source.getUnit().toMillis(source.getTimeout()));
|
|
|
|
|
+ BusDeviceAlarmEntity alarm = BusDeviceAlarmEntity.noSignalOf(source.getDeviceId(),source.getInfusionId(),source.getHistoryId(),source.getTenantId(),uploadTime);
|
|
|
|
|
+ alarmService.save(alarm);
|
|
|
|
|
+
|
|
|
deviceRunningService.update(new UpdateWrapper<BusDeviceRunningEntity>().lambda().eq(BusDeviceRunningEntity::getId, runningInfo.getId())
|
|
deviceRunningService.update(new UpdateWrapper<BusDeviceRunningEntity>().lambda().eq(BusDeviceRunningEntity::getId, runningInfo.getId())
|
|
|
.set(BusDeviceRunningEntity::getRunState, DeviceStatusEnum.NoSignal));
|
|
.set(BusDeviceRunningEntity::getRunState, DeviceStatusEnum.NoSignal));
|
|
|
infusionHistoryService.update(new UpdateWrapper<BusInfusionHistoryEntity>().lambda().eq(BusInfusionHistoryEntity::getId, runningInfo.getInfusionId())
|
|
infusionHistoryService.update(new UpdateWrapper<BusInfusionHistoryEntity>().lambda().eq(BusInfusionHistoryEntity::getId, runningInfo.getInfusionId())
|
|
@@ -156,6 +167,8 @@ public class HospitalFunctionExtraConfigHandler extends AbstractHospitalConfig
|
|
|
.timeout(interval)
|
|
.timeout(interval)
|
|
|
.unit(TimeUnit.MINUTES)
|
|
.unit(TimeUnit.MINUTES)
|
|
|
.tenantId(source.getTenantId())
|
|
.tenantId(source.getTenantId())
|
|
|
|
|
+ .historyId(source.getHistoryId())
|
|
|
|
|
+ .infusionId(source.getInfusionId())
|
|
|
.timestamp(new Date())
|
|
.timestamp(new Date())
|
|
|
.build();
|
|
.build();
|
|
|
delayedQueue.offer(lowInfusionEntity,lowInfusionEntity.getTimeout(),lowInfusionEntity.getUnit());
|
|
delayedQueue.offer(lowInfusionEntity,lowInfusionEntity.getTimeout(),lowInfusionEntity.getUnit());
|
|
@@ -191,6 +204,11 @@ public class HospitalFunctionExtraConfigHandler extends AbstractHospitalConfig
|
|
|
.set(BusInfusionHistoryEntity::getWarnLowBattery, true));
|
|
.set(BusInfusionHistoryEntity::getWarnLowBattery, true));
|
|
|
//报警/提醒缓存重置
|
|
//报警/提醒缓存重置
|
|
|
deviceRegistry.getOperator(deviceId).setAlarmOrWarn(null);
|
|
deviceRegistry.getOperator(deviceId).setAlarmOrWarn(null);
|
|
|
|
|
+ //低输注报警
|
|
|
|
|
+ Date uploadTime=new Date(source.getTimestamp().getTime()+source.getUnit().toMillis(source.getTimeout()));
|
|
|
|
|
+ BusDeviceAlarmEntity alarm = BusDeviceAlarmEntity.lowInfusion(source.getDeviceId(),source.getInfusionId(),source.getHistoryId(),source.getTenantId(),uploadTime);
|
|
|
|
|
+ alarmService.save(alarm);
|
|
|
|
|
+
|
|
|
if (Boolean.TRUE.equals(runningInfo.getMaster())) {
|
|
if (Boolean.TRUE.equals(runningInfo.getMaster())) {
|
|
|
//发布推送
|
|
//发布推送
|
|
|
wsPublishUtils.publishPatientMonitor(runningInfo.getPatientCode(), runningInfo.getTenantId());
|
|
wsPublishUtils.publishPatientMonitor(runningInfo.getPatientCode(), runningInfo.getTenantId());
|
|
@@ -205,6 +223,8 @@ public class HospitalFunctionExtraConfigHandler extends AbstractHospitalConfig
|
|
|
private Integer timeout;
|
|
private Integer timeout;
|
|
|
private TimeUnit unit;
|
|
private TimeUnit unit;
|
|
|
private String tenantId;
|
|
private String tenantId;
|
|
|
|
|
+ private String infusionId;
|
|
|
|
|
+ private String historyId;
|
|
|
private Date timestamp;
|
|
private Date timestamp;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -214,7 +234,9 @@ public class HospitalFunctionExtraConfigHandler extends AbstractHospitalConfig
|
|
|
private String deviceId;
|
|
private String deviceId;
|
|
|
private Integer timeout;
|
|
private Integer timeout;
|
|
|
private TimeUnit unit;
|
|
private TimeUnit unit;
|
|
|
|
|
+ private String historyId;
|
|
|
private String tenantId;
|
|
private String tenantId;
|
|
|
|
|
+ private String infusionId;
|
|
|
private Date timestamp;
|
|
private Date timestamp;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|