Bladeren bron

add 低输注报警、镇痛不足报警、不在服务区报警 保存

A17404李放 3 jaren geleden
bovenliggende
commit
37eba8ebd1

+ 0 - 2
coffee-system/src/main/java/com/coffee/bus/controller/BusPatientController.java

@@ -266,8 +266,6 @@ public class BusPatientController  implements BaseQueryController<BusPatientEnti
         }
         }
         if(haveDevice){
         if(haveDevice){
             BusInfusionHistoryEntity infusion =infusionService.currentInClinic(clinic.getId());
             BusInfusionHistoryEntity infusion =infusionService.currentInClinic(clinic.getId());
-//            BusInfusionHistoryEntity infusion = infusionService.getOne(new QueryWrapper<BusInfusionHistoryEntity>().lambda().eq(BusInfusionHistoryEntity::getClinicId,clinic.getId())
-//                    .orderByDesc(BusInfusionHistoryEntity::getStartTime).last("limit 1"));
             result.setInfusion(infusion);
             result.setInfusion(infusion);
             if(StrUtil.isNotEmpty(infusion.getClinicId())){
             if(StrUtil.isNotEmpty(infusion.getClinicId())){
                 result.setClinic(clinicService.getById(infusion.getClinicId()));
                 result.setClinic(clinicService.getById(infusion.getClinicId()));

+ 36 - 0
coffee-system/src/main/java/com/coffee/bus/entity/BusDeviceAlarmEntity.java

@@ -143,4 +143,40 @@ public class BusDeviceAlarmEntity extends TenantGenericEntity<String,String> {
         }
         }
         return false;
         return false;
     }
     }
+
+
+    public static BusDeviceAlarmEntity noSignalOf(String deviceId,String infusionId,String historyId,String tenantId,Date uploadTIme){
+        BusDeviceAlarmEntity result = of(deviceId,infusionId,historyId,tenantId,uploadTIme);
+        result.setRunState(DeviceStatusEnum.NoSignal);
+        return result;
+    }
+
+    public static BusDeviceAlarmEntity lowInfusion(String deviceId,String infusionId,String historyId,String tenantId,Date uploadTIme){
+        BusDeviceAlarmEntity result = of(deviceId,infusionId,historyId,tenantId,uploadTIme);
+        result.setWarnFlow(FlowStatusEnum.Lowest);
+        return result;
+    }
+
+    public static BusDeviceAlarmEntity insufficient(String deviceId,String infusionId,String historyId,String tenantId,Date uploadTIme){
+        BusDeviceAlarmEntity result = of(deviceId,infusionId,historyId,tenantId,uploadTIme);
+        result.setWarnAnalgesicPoor(true);
+        return result;
+    }
+
+    private static BusDeviceAlarmEntity of(String deviceId,String infusionId,String historyId,String tenantId,Date uploadTIme){
+        BusDeviceAlarmEntity result = new BusDeviceAlarmEntity();
+        result.setRunState(DeviceStatusEnum.Waiting);
+        result.setInfusionId(infusionId);
+        result.setTenantId(tenantId);
+        result.setUploadTime(uploadTIme);
+        result.setHistoryId(historyId);
+        result.setAlarm(false);
+        result.setAlarmState(DeviceAlarmEnum.None);
+        result.setDeviceId(deviceId);
+        result.setWarnLowBattery(false);
+        result.setWarnFlow(FlowStatusEnum.None);
+        result.setWarnAnalgesicPoor(false);
+        result.setWarnWillFinished(false);
+        return result;
+    }
 }
 }

+ 7 - 0
coffee-system/src/main/java/com/coffee/bus/entity/BusDeviceRunningEntity.java

@@ -83,6 +83,13 @@ public class BusDeviceRunningEntity extends CommonDeviceParam<String,String> {
     @JsonIgnoreProperties
     @JsonIgnoreProperties
     private String infusionModifyId;
     private String infusionModifyId;
 
 
+    /**
+     * 当前运行状态所绑定的历史记录id,只在设备上传解析过程中使用,其他地方无用处
+     */
+    @TableField(exist = false)
+    @JsonIgnoreProperties
+
+    private String historyId;
     @TableField(exist = false)
     @TableField(exist = false)
     @JsonIgnoreProperties
     @JsonIgnoreProperties
     private Date modifyTime;
     private Date modifyTime;

+ 4 - 2
coffee-system/src/main/java/com/coffee/bus/hospital/HospitalManager.java

@@ -58,6 +58,8 @@ public class HospitalManager {
 
 
     private ConfigStorage storage;
     private ConfigStorage storage;
 
 
+    private LocalBusDeviceAlarmService alarmService;
+
     public HospitalManager(String hospitalId,
     public HospitalManager(String hospitalId,
                            LocalBusHospitalService hospitalService,
                            LocalBusHospitalService hospitalService,
                            LocalBusHospitalConfigService hospitalConfigService,
                            LocalBusHospitalConfigService hospitalConfigService,
@@ -79,8 +81,8 @@ public class HospitalManager {
         this.storage=configStorageManager.getStorage(hospitalId);
         this.storage=configStorageManager.getStorage(hospitalId);
         this.autoUndoConfigHandler=new HospitalAutoUndoConfigHandler(storage,hospitalId,redissonUtil,deviceRunningService,infusionHistoryService,deviceRegistry,wsPublishUtils,patientRegistry);
         this.autoUndoConfigHandler=new HospitalAutoUndoConfigHandler(storage,hospitalId,redissonUtil,deviceRunningService,infusionHistoryService,deviceRegistry,wsPublishUtils,patientRegistry);
         this.finishMonitorConfigHandler=new HospitalFinishMonitorConfigHandler(storage,hospitalId,redissonUtil,deviceRunningService,infusionHistoryService,deviceRegistry,wsPublishUtils,patientRegistry);
         this.finishMonitorConfigHandler=new HospitalFinishMonitorConfigHandler(storage,hospitalId,redissonUtil,deviceRunningService,infusionHistoryService,deviceRegistry,wsPublishUtils,patientRegistry);
-        this.analConfigHandler=new HospitalFunctionAnalConfigHandler(storage,hospitalId,redissonUtil,deviceRunningService,infusionHistoryService,deviceRegistry,wsPublishUtils,patientRegistry);
-        this.extraConfigHandler=new HospitalFunctionExtraConfigHandler(storage,hospitalId,redissonUtil,deviceRunningService,infusionHistoryService,deviceRegistry,wsPublishUtils,patientRegistry,finishMonitorConfigHandler,autoUndoConfigHandler);
+        this.analConfigHandler=new HospitalFunctionAnalConfigHandler(storage,hospitalId,redissonUtil,deviceRunningService,infusionHistoryService,deviceRegistry,wsPublishUtils,patientRegistry,alarmService);
+        this.extraConfigHandler=new HospitalFunctionExtraConfigHandler(storage,hospitalId,redissonUtil,deviceRunningService,infusionHistoryService,deviceRegistry,wsPublishUtils,patientRegistry,finishMonitorConfigHandler,autoUndoConfigHandler,alarmService);
         init(configStorageManager);
         init(configStorageManager);
     }
     }
 
 

+ 18 - 3
coffee-system/src/main/java/com/coffee/bus/hospital/config/HospitalFunctionAnalConfigHandler.java

@@ -3,12 +3,14 @@ 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.hospital.config.bean.FunctionAnalConfig;
 import com.coffee.bus.hospital.config.bean.FunctionAnalConfig;
 import com.coffee.bus.entity.BusDeviceRunningEntity;
 import com.coffee.bus.entity.BusDeviceRunningEntity;
 import com.coffee.bus.entity.BusInfusionHistoryEntity;
 import com.coffee.bus.entity.BusInfusionHistoryEntity;
 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;
@@ -35,9 +37,11 @@ import java.util.concurrent.TimeUnit;
 @Slf4j
 @Slf4j
 public class HospitalFunctionAnalConfigHandler extends AbstractHospitalConfigHandler<FunctionAnalConfig,BusDeviceRunningEntity> {
 public class HospitalFunctionAnalConfigHandler extends AbstractHospitalConfigHandler<FunctionAnalConfig,BusDeviceRunningEntity> {
 
 
+    private LocalBusDeviceAlarmService alarmService;
 
 
-    public HospitalFunctionAnalConfigHandler(ConfigStorage configStorage, String hospitalId, RedissonUtil redissonUtil, LocalBusDeviceRunningService deviceRunningService, LocalBusInfusionHistoryService infusionHistoryService, DeviceRegistry deviceRegistry, WsPublishUtils wsPublishUtils, PatientRegistry patientRegistry) {
+    public HospitalFunctionAnalConfigHandler(ConfigStorage configStorage, String hospitalId, RedissonUtil redissonUtil, LocalBusDeviceRunningService deviceRunningService, LocalBusInfusionHistoryService infusionHistoryService, DeviceRegistry deviceRegistry, WsPublishUtils wsPublishUtils, PatientRegistry patientRegistry,LocalBusDeviceAlarmService alarmService) {
         super(configStorage, hospitalId, redissonUtil, deviceRunningService, infusionHistoryService, deviceRegistry, wsPublishUtils, patientRegistry);
         super(configStorage, hospitalId, redissonUtil, deviceRunningService, infusionHistoryService, deviceRegistry, wsPublishUtils, patientRegistry);
+        this.alarmService=alarmService;
     }
     }
 
 
     @Override
     @Override
@@ -47,7 +51,7 @@ public class HospitalFunctionAnalConfigHandler extends AbstractHospitalConfigHan
 
 
     @Override
     @Override
     public String getDescription() {
     public String getDescription() {
-        return "进行镇痛不足判定、不在服务区判定、低输注判定";
+        return "进行镇痛不足判定";
     }
     }
 
 
 
 
@@ -100,7 +104,9 @@ public class HospitalFunctionAnalConfigHandler extends AbstractHospitalConfigHan
                 .threshold(analConfig.getInsufficientCount())
                 .threshold(analConfig.getInsufficientCount())
                 .judgeByValid(analConfig.getValid())
                 .judgeByValid(analConfig.getValid())
                 .tenantId(source.getTenantId())
                 .tenantId(source.getTenantId())
+                .historyId(source.getHistoryId())
                 .timestamp(new Date())
                 .timestamp(new Date())
+                .infusionId(source.getInfusionId())
                 .build();
                 .build();
 
 
         delayedQueue.offer(anal,anal.getTimeout(),anal.getUnit());
         delayedQueue.offer(anal,anal.getTimeout(),anal.getUnit());
@@ -148,7 +154,10 @@ public class HospitalFunctionAnalConfigHandler extends AbstractHospitalConfigHan
                     //发布推送
                     //发布推送
                     wsPublishUtils.publishPatientMonitor(runningInfo.getPatientCode(),runningInfo.getTenantId());
                     wsPublishUtils.publishPatientMonitor(runningInfo.getPatientCode(),runningInfo.getTenantId());
                 }
                 }
-                //设置镇痛不足后,设置镇痛消失延迟时间
+                //记录镇痛不足报警
+                Date uploadTime=new Date(anal.getTimestamp().getTime()+anal.getUnit().toMillis(anal.getTimeout()));
+                BusDeviceAlarmEntity alarm = BusDeviceAlarmEntity.insufficient(anal.getDeviceId(),anal.getInfusionId(),anal.getHistoryId(),anal.getTenantId(),uploadTime);
+                alarmService.save(alarm);
             }
             }
             noneAnalDelayedQueue.clear();
             noneAnalDelayedQueue.clear();
         }else {
         }else {
@@ -159,6 +168,8 @@ public class HospitalFunctionAnalConfigHandler extends AbstractHospitalConfigHan
                     .tenantId(anal.getTenantId())
                     .tenantId(anal.getTenantId())
                     .timeout(config.getDisappearTime())
                     .timeout(config.getDisappearTime())
                     .unit(TimeUnit.MINUTES)
                     .unit(TimeUnit.MINUTES)
+                    .infusionId(anal.getInfusionId())
+                    .historyId(anal.getHistoryId())
                     .timestamp(new Date())
                     .timestamp(new Date())
                     .build();
                     .build();
             noneAnalDelayedQueue.offer(noneAnal,noneAnal.getTimeout(),noneAnal.getUnit());
             noneAnalDelayedQueue.offer(noneAnal,noneAnal.getTimeout(),noneAnal.getUnit());
@@ -202,6 +213,8 @@ public class HospitalFunctionAnalConfigHandler extends AbstractHospitalConfigHan
         private boolean judgeByValid;
         private boolean judgeByValid;
         private String tenantId;
         private String tenantId;
         private Date timestamp;
         private Date timestamp;
+        private String infusionId;
+        private String historyId;
     }
     }
 
 
     @Data
     @Data
@@ -211,7 +224,9 @@ public class HospitalFunctionAnalConfigHandler extends AbstractHospitalConfigHan
         private Integer timeout;
         private Integer timeout;
         private TimeUnit unit;
         private TimeUnit unit;
         private String tenantId;
         private String tenantId;
+        private String historyId;
         private Date timestamp;
         private Date timestamp;
+        private String infusionId;
     }
     }
 
 
 }
 }

+ 23 - 1
coffee-system/src/main/java/com/coffee/bus/hospital/config/HospitalFunctionExtraConfigHandler.java

@@ -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;
     }
     }
 }
 }

+ 3 - 4
coffee-system/src/main/java/com/coffee/bus/websocket/listener/DeviceInfoListener.java

@@ -114,16 +114,14 @@ public class DeviceInfoListener {
             //处理设备运行数据,     判断是否为注册后第一次开机,判断是否为新的输注信息
             //处理设备运行数据,     判断是否为注册后第一次开机,判断是否为新的输注信息
             boolean first = handleRunningInfo(device, deviceOperator,cacheOperation);
             boolean first = handleRunningInfo(device, deviceOperator,cacheOperation);
 
 
-            //医院相关配置处理
-            handleHospitalConfig(device,cacheOperation);
-
             //处理输注参数
             //处理输注参数
             handleInfusion(device, deviceOperator, cacheOperation);
             handleInfusion(device, deviceOperator, cacheOperation);
             //处理历史运行数据
             //处理历史运行数据
             BusDeviceHistoryEntity history=handleRunningHistory(device);
             BusDeviceHistoryEntity history=handleRunningHistory(device);
             //处理报警、提醒信息
             //处理报警、提醒信息
             handleAlarmOrWarn(history,deviceOperator,cacheOperation);
             handleAlarmOrWarn(history,deviceOperator,cacheOperation);
-            //todo 流速图处理
+            //医院相关配置处理
+            handleHospitalConfig(device,cacheOperation);
             if(first){
             if(first){
                 deviceService.update(new UpdateWrapper<BusDeviceEntity>().lambda().eq(BusDeviceEntity::getDeviceId,deviceId).set(BusDeviceEntity::getType,device.getType()));
                 deviceService.update(new UpdateWrapper<BusDeviceEntity>().lambda().eq(BusDeviceEntity::getDeviceId,deviceId).set(BusDeviceEntity::getType,device.getType()));
                 PatientOperator<PatientCacheInfo> operator = patientRegistry.getOperator(device.getTenantId(), device.getPatientCode());
                 PatientOperator<PatientCacheInfo> operator = patientRegistry.getOperator(device.getTenantId(), device.getPatientCode());
@@ -472,6 +470,7 @@ public class DeviceInfoListener {
         BusDeviceHistoryEntity entity = BusDeviceHistoryEntity.parseRunningInfo(device);
         BusDeviceHistoryEntity entity = BusDeviceHistoryEntity.parseRunningInfo(device);
         entity.setId(String.valueOf(IdWorker.getId()));
         entity.setId(String.valueOf(IdWorker.getId()));
         historyService.save(entity);
         historyService.save(entity);
+        device.setHistoryId(entity.getId());
         return entity;
         return entity;
     }
     }
 
 

+ 1 - 1
coffee-system/src/main/resources/mapper/bus/BusInfusionHistoryMapper.xml

@@ -5,7 +5,7 @@
 
 
     <select id="currentInClinic" resultType="com.coffee.bus.entity.BusInfusionHistoryEntity">
     <select id="currentInClinic" resultType="com.coffee.bus.entity.BusInfusionHistoryEntity">
         select d.alias,i.* from
         select d.alias,i.* from
-            (select * from bus_infusion_history where clinic_id=#{clinicId} ORDER BY start_time limit 1) as i
+            (select * from bus_infusion_history where clinic_id=#{clinicId} ORDER BY start_time desc limit 1) as i
             left join bus_device  as d on d.device_id=i.device_id
             left join bus_device  as d on d.device_id=i.device_id
     </select>
     </select>