瀏覽代碼

泵列表增加字段返回提交

wangzl 4 月之前
父節點
當前提交
b899668608

+ 101 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/dto/BizDeviceDTO.java

@@ -1,5 +1,11 @@
 package cn.tr.module.smart.common.dto;
 
+import cn.hutool.core.text.CharSequenceUtil;
+import cn.hutool.core.util.EnumUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import cn.tr.module.smart.common.enums.FlowStatusEnum;
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -46,4 +52,99 @@ public class BizDeviceDTO {
 
     @ApiModelProperty(value = "电量", position = 10)
     private Integer electricQuantity;
+
+    @ApiModelProperty(value = "已输入量",position = 11)
+    private BigDecimal inputDose;
+
+    @ApiModelProperty(value = "泵别名", position = 12)
+    private String alias;
+
+    @ApiModelProperty(value = "泵运行状态", position = 13)
+    private String deviceRunState;
+
+    @ApiModelProperty(value = "报警信息",position = 14)
+    private String deviceAlarm;
+
+    @ApiModelProperty(value = "提醒字段",position = 15)
+    private String warns;
+
+    @ApiModelProperty(value = "输注即将结束提醒",position = 16,hidden = true)
+    @JsonIgnore
+    private Boolean warnWillFinished;
+
+    @ApiModelProperty(value = "镇痛不足提醒",position = 17,hidden = true)
+    @JsonIgnore
+    private Boolean warnAnalgesicPoor;
+
+    @ApiModelProperty(value = "电量偏低提醒",position = 18,hidden = true)
+    @JsonIgnore
+    private Boolean warnLowBattery;
+
+    @ApiModelProperty(value = "加减档提示", position = 19 ,hidden = true)
+    @JsonIgnore
+    private String warnFlow;
+
+    private void judgeWarnWillFinished() {
+        if (!Boolean.TRUE.equals(this.warnWillFinished)) {
+            return;
+        }
+        if (CharSequenceUtil.isEmpty(this.warns)) {
+            this.warns = "输注即将结束;";
+        } else {
+            this.warns = this.warns + "输注即将结束;";
+        }
+    }
+
+    private void judgeWarnAnalgesicPoor() {
+        if (!Boolean.TRUE.equals(this.warnAnalgesicPoor)) {
+            return;
+        }
+        if (CharSequenceUtil.isEmpty(this.warns)) {
+            this.warns = "镇痛不足;";
+        } else {
+            this.warns = this.warns + "镇痛不足;";
+        }
+    }
+
+    private void judgeWarnLowBattery() {
+        if (!Boolean.TRUE.equals(this.warnLowBattery)) {
+            return;
+        }
+        if (CharSequenceUtil.isEmpty(this.warns)) {
+            this.warns = "电量偏低;";
+        } else {
+            this.warns = this.warns + "电量偏低;";
+        }
+    }
+
+    private void judgeWarnFlow() {
+        if (this.warnFlow == null) {
+            return;
+        }
+        FlowStatusEnum flow = EnumUtil.likeValueOf(FlowStatusEnum.class, this.warns);
+        if (ObjectUtil.isNull(flow)) {
+            return;
+        }
+        if (CharSequenceUtil.isEmpty(this.warns)) {
+            this.warns = flow.getText() + ";";
+        } else {
+            this.warns = this.warns + flow.getText() + ";";
+        }
+    }
+
+    public void handleWarn() {
+        judgeWarnAnalgesicPoor();
+        judgeWarnFlow();
+        judgeWarnLowBattery();
+        judgeWarnWillFinished();
+    }
+
+    public String getWarns() {
+        handleWarn();
+        if (StrUtil.isNotEmpty(warns)) {
+            return warns.endsWith(";") ? warns.substring(0, warns.length() - 1) : warns;
+        }
+        return warns;
+
+    }
 }

+ 0 - 1
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/IBizDeviceService.java

@@ -2,7 +2,6 @@ package cn.tr.module.smart.common.service;
 
 import cn.tr.module.smart.common.dto.BizDeviceDTO;
 import cn.tr.module.smart.common.dto.BizDeviceQueryDTO;
-import cn.tr.module.smart.web.vo.BizDeviceAndClinicDetailVO;
 import cn.tr.module.smart.web.vo.BizDeviceDetailVO;
 
 import java.util.List;

+ 16 - 1
tr-modules/tr-module-smartFollowUp/src/main/resources/mapper/smart/BizDeviceMapper.xml

@@ -6,6 +6,7 @@
     <resultMap id="deviceDto" type="cn.tr.module.smart.common.dto.BizDeviceDTO">
         <result property="deviceId" column="device_id"/>
         <result property="deviceType" column="device_type"/>
+        <result property="alias" column="alias"/>
         <result property="patientName" column="patient_name"/>
         <result property="continueDose" column="continue_dose"/>
         <result property="totalDose" column="total_dose"/>
@@ -14,6 +15,12 @@
         <result property="pcaInvalidCount" column="pca_invalid_count"/>
         <result property="pcaValidCount" column="pca_valid_count"/>
         <result property="electricQuantity" column="electric_quantity"/>
+        <result property="deviceRunState" column="device_run_state"/>
+        <result property="deviceAlarm" column="device_alarm"/>
+        <result property="warnWillFinished" column="warn_will_finished"/>
+        <result property="warnAnalgesicPoor" column="warn_analgesic_poor"/>
+        <result property="warnLowBattery" column="warn_low_battery"/>
+        <result property="inputDose" column="input_dose"/>
     </resultMap>
 
     <resultMap id="deviceDetail" type="cn.tr.module.smart.web.vo.BizDeviceAndClinicDetailVO">
@@ -81,6 +88,7 @@
     <select id="selectDeviceList" resultMap="deviceDto">
         SELECT
         bd.device_id,
+        bd.alias,
         bih.device_type,
         bcr.patient_name,
         bih.continue_dose,
@@ -89,7 +97,14 @@
         bih.pca_total_count,
         bih.pca_invalid_count,
         bih.pca_valid_count,
-        bih.electric_quantity
+        bih.electric_quantity,
+        bih.device_run_state,
+        bih.device_alarm,
+        bih.warn_will_finished,
+        bih.warn_analgesic_poor,
+        bih.warn_low_battery,
+        bih.warn_flow,
+        bih.input_dose
         FROM
         biz_device bd
         left JOIN biz_infusion_history bih ON bd.infusion_id = bih.ID