Browse Source

add 智能泵加档、减档校验

A17404李放 3 years ago
parent
commit
e13c3ddbe8

+ 6 - 0
nb-system/src/main/java/com/nb/bus/entity/BusDeviceRunningEntity.java

@@ -142,6 +142,12 @@ public class BusDeviceRunningEntity extends CommonDeviceParam<String,String> {
     @JsonIgnoreProperties
     private boolean maybeLowInfusion;
 
+    /**
+     * 智能泵-该次输注过程中是否出现过加档受限,若出现过,则此次输注过程中出现的低输注不会消失
+     */
+    @TableField(exist = false)
+    @JsonIgnoreProperties
+    private boolean flowRestricted;
     /**
      * @author 龙三郎
      * 根据阿里云传回数据的items,设置输注的属性

+ 7 - 3
nb-system/src/main/java/com/nb/bus/entity/BusInfusionHistoryEntity.java

@@ -80,6 +80,12 @@ public class BusInfusionHistoryEntity extends CommonDeviceParam<String,String> {
     @ApiModelProperty(value = "该次输注是否已结束")
     private Boolean finished;
 
+    /**
+     * 智能泵-该次输注过程中是否出现过加档受限,若出现过,则此次输注过程中出现的低输注不会消失
+     */
+    @JsonIgnoreProperties
+    private Boolean flowRestricted;
+
     @TableField(fill = FieldFill.INSERT)
     @TableLogic(value = "0",delval = "1")
     private Integer isDelete;
@@ -91,9 +97,7 @@ public class BusInfusionHistoryEntity extends CommonDeviceParam<String,String> {
         entity.setStartTime(running.getStartTime());
         entity.setPatientId(running.getPatientId());
         entity.setLastUploadTime(running.getUploadTime());
-//        if(DeviceStatusEnum.Shutdown.equals(running.getRunState())){
-//            entity.setFinished(true);
-//        }
+        entity.setFlowRestricted(running.isFlowRestricted());
         //若当前临床信息不存在,则将时间戳置为 1971/01/01 01:01:01
         entity.setClinicStartTime(defaultClinicStartTime());
         return entity;

+ 1 - 0
nb-system/src/main/java/com/nb/bus/hospital/config/HospitalFunctionAnalConfigHandler.java

@@ -190,6 +190,7 @@ public class HospitalFunctionAnalConfigHandler extends AbstractHospitalConfigHan
             infusionHistoryService.update(new UpdateWrapper<BusInfusionHistoryEntity>().lambda()
                     .eq(BusInfusionHistoryEntity::getId,infusionHistory.getId())
                     .eq(BusInfusionHistoryEntity::getWarnAnalgesicPoor,true)
+                    .eq(BusInfusionHistoryEntity::getFlowRestricted,false)
                     .eq(BusInfusionHistoryEntity::getAnalPoorMsgId,noneAnal.getIotMsgId())
                     .set(BusInfusionHistoryEntity::getWarnAnalgesicPoor,false));
             deviceRegistry.getOperator(deviceId).setAlarmOrWarn(null);

+ 0 - 1
nb-system/src/main/java/com/nb/bus/hospital/config/HospitalFunctionExtraConfigHandler.java

@@ -9,7 +9,6 @@ import com.nb.bus.entity.BusInfusionHistoryEntity;
 import com.nb.bus.enums.DeviceStatusEnum;
 import com.nb.bus.enums.DeviceTypeEnum;
 import com.nb.bus.hospital.enums.ConfigHandlerEnums;
-import com.nb.bus.registry.constant.DeviceKeyConstant;
 import com.nb.bus.registry.device.DeviceOperator;
 import com.nb.bus.registry.device.DeviceRegistry;
 import com.nb.bus.service.LocalBusDeviceAlarmService;

+ 3 - 3
nb-system/src/main/java/com/nb/bus/stats/entity/LineResult.java

@@ -32,7 +32,7 @@ public class LineResult<V> {
     @ApiModelProperty("折线图变为散点图")
     private boolean scatter;
     @ApiModelProperty("样本总数")
-    private Integer sampleCount;
+    private int sampleCount;
     @ApiModelProperty("最大值")
     private BigDecimal max;
     @ApiModelProperty("最小值")
@@ -45,11 +45,11 @@ public class LineResult<V> {
     private String description;
 
     public static <T> LineResult<T> of(String id, boolean ratio, boolean bar, String description) {
-        return new LineResult<T>(id,new ArrayList<>(),new ArrayList<>(),ratio,bar,false,null,null,null,null,null,description);
+        return new LineResult<T>(id,new ArrayList<>(),new ArrayList<>(),ratio,bar,false,0,null,null,null,null,description);
     }
 
     public static <T> LineResult<T> of(String id, boolean ratio, boolean bar,boolean scatter, String description) {
-        return new LineResult<T>(id,new ArrayList<>(),new ArrayList<>(),ratio,bar,scatter,null,null,null,null,null,description);
+        return new LineResult<T>(id,new ArrayList<>(),new ArrayList<>(),ratio,bar,scatter,0,null,null,null,null,description);
     }
 
     @Data

+ 10 - 0
nb-system/src/main/java/com/nb/bus/websocket/listener/DeviceInfoListener.java

@@ -104,6 +104,10 @@ public class DeviceInfoListener {
 
             //处理输注参数
             BusInfusionHistoryEntity infusionHistory = handleInfusionHistory(device, deviceOperator, cacheOperation);
+
+            if(Boolean.TRUE.equals(infusionHistory.getFlowRestricted())){
+                log.info("消息【{}】,设备号【{}】,输注id【{}】,在输注过程中发生了【加档受限】,故此输注过程中的【镇痛不足】不会自动消失",device.getMsgId(),device.getDeviceId(),device.getInfusionId());
+            }
             if(log.isDebugEnabled()){
                 log.debug("消息【{}】,设备号【{}】处理输注参数成功,处理后结果为【{}】",device.getMsgId(),device.getDeviceId(),JSONUtil.toJsonStr(device));
             }
@@ -222,6 +226,12 @@ public class DeviceInfoListener {
         if(device.getWarnFlow()!=null&&FlowStatusEnum.None.equals(device.getWarnFlow())){
             device.setWarnFlow(null);
         }
+        if(device.getWarnFlow()!=null&&FlowStatusEnum.Limited.equals(device.getWarnFlow())){
+            //加档受限,进行标识
+            device.setFlowRestricted(true);
+        }else {
+            device.setFlowRestricted(false);
+        }
         //默认格式化住院号=设备上传住院号
         device.setFormatPatientCode(device.getPatientCode());
         device.setMonitorType(true);