Browse Source

fix 智能泵和脉冲泵参数相关

龙三郎 3 years ago
parent
commit
5eb347133c

+ 22 - 0
nb-system/src/main/java/com/coffee/aliyun/utils/PumpParams.java

@@ -36,8 +36,30 @@ public enum PumpParams {
     warnWillFinished("warnWillFinished","输液将结束预报"),
     warnAnalgesicPoor("warnAnalgesicPoor","镇痛不足预报"),
     warnLowBattery("warnLowBattery","电量偏低预报"),
+
+    // 脉冲泵属性
+    pulseLockTime("pulseLockTime","脉冲量锁时"),
+    firstLockTime("firstLockTime","首次锁时"),
+    pulseDose("pulseDose","脉冲量"),
+
+    // 智能泵属性
+    resetParams("resetParams","重设参数标志"),
+    warnFlow("warnFlow","加减档预报"),
+    flowDownTime("flowDownTime","减档时间"),
+    flowUpTime("flowUpTime","加档时间"),
+    flowUpPcaValid("flowUpPcaValid","触发加档pca有效次数"),
+    flowAdjuseRate("flowAdjuseRate","加减档百分比"),
+    minFlow("minFlow","减档下限"),
+    maxFlow("maxFlow","加档上限"),
+
+
+
+
+
     CRC("CRC","CRC");
 
+
+
     @Getter
     private String param;
     @Getter

+ 37 - 0
nb-system/src/main/java/com/coffee/aliyun/utils/WarnFlowUtils.java

@@ -0,0 +1,37 @@
+package com.coffee.aliyun.utils;
+
+import com.coffee.bus.enums.DeviceAlarmEnum;
+import com.coffee.bus.enums.FlowStatusEnum;
+
+/**
+ * @Author 龙三郎
+ * @Date 2022-04-29 11:04:04
+ * @Version 1.0
+ * @Description 根据阿里云发送的加减档预报。阿里云发送的报警是0-5的整数。
+ */
+public class WarnFlowUtils {
+    public static FlowStatusEnum getAlarm(Integer i){
+        if (i == 0){
+            // 正常
+            return FlowStatusEnum.None;
+        }else if (i == 1){
+            // 加档受限
+            return FlowStatusEnum.Limited;
+        }else if (i == 2){
+            // 流速已达上限
+            return FlowStatusEnum.MaxFlow;
+        }else if (i == 3){
+            // 加档
+            return FlowStatusEnum.Up;
+        }else if (i == 4){
+            // 减档
+            return FlowStatusEnum.Down;
+        }else if (i == 5){
+            // 低输注状态
+            return FlowStatusEnum.Lowest;
+        }else {
+
+            return FlowStatusEnum.None;
+        }
+    }
+}

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

@@ -163,6 +163,37 @@ public class BusDeviceRunningEntity extends CommonDeviceParam<String,String> {
         this.setWarnLowBattery(Optional.ofNullable(items.getBoolean(PumpParams.warnLowBattery)).orElse(false));
         // 输液将结束预报
         this.setWarnWillFinished(Optional.ofNullable(items.getBoolean(PumpParams.warnWillFinished)).orElse(false));
+
+        // 设置脉冲泵参数
+        if (this.getType() == DeviceTypeEnum.pulse){
+            // 脉冲锁时
+            this.setPulseLockTime(items.getInteger(PumpParams.pulseLockTime));
+            // 首次锁时
+            this.setPulseFirstLockTime(items.getInteger(PumpParams.firstLockTime));
+            // 脉冲量
+            this.setPulseDose(items.getInteger(PumpParams.pulseDose));
+        }else if (this.getType() == DeviceTypeEnum.intelligent){
+            // 设置智能泵参数
+            // 重设参数标识
+
+            // 减档时间
+            this.setFlowDownCycle(items.getBigDecimal(PumpParams.flowDownTime));
+            // 加档时间
+            this.setFlowUpCycle(items.getBigDecimal(PumpParams.flowUpTime));
+            // 触发加档pca有效次数
+            this.setFlowCount(items.getBigDecimal(PumpParams.flowUpPcaValid));
+            // 加减档百分比
+            this.setFlowAdjustRate(items.getBigDecimal(PumpParams.flowAdjuseRate));
+            // 减档下限
+            this.setFlowDownLimit(items.getBigDecimal(PumpParams.minFlow));
+            // 加档上限
+            this.setFlowUpLimit(items.getBigDecimal(PumpParams.maxFlow));
+
+            // 加减档预报
+            this.setWarnFlow(WarnFlowUtils.getAlarm(items.getInteger(PumpParams.warnFlow)));
+        }
+
+
     }