ソースを参照

add
输注列表新增输注标识

lifang 2 ヶ月 前
コミット
a21f2a14e6

+ 7 - 9
nb-service-api/web-service-api/src/main/java/com/nb/web/api/feign/result/PatientMonitorResult.java

@@ -2,6 +2,8 @@ package com.nb.web.api.feign.result;
 
 import cn.hutool.core.text.CharSequenceUtil;
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.nb.web.api.enums.*;
 import com.nb.core.enums.SexEnum;
 import com.fasterxml.jackson.annotation.JsonIgnore;
@@ -137,7 +139,6 @@ public class PatientMonitorResult implements Serializable {
     @ApiModelProperty(value = "智能泵参数-自调比例")
     private BigDecimal flowAdjustRate;
 
-
     @ApiModelProperty(value = "泵运行状态")
     private DeviceStatusEnum deviceRunState;
 
@@ -185,19 +186,15 @@ public class PatientMonitorResult implements Serializable {
     private Date evalTime;
 
     @ApiModelProperty(value = "输注即将结束提醒",hidden = true)
-    @JsonIgnore
     private Boolean warnWillFinished;
 
     @ApiModelProperty(value = "镇痛不足提醒",hidden = true)
-    @JsonIgnore
     private Boolean warnAnalgesicPoor;
 
     @ApiModelProperty(value = "电量偏低提醒",hidden = true)
-    @JsonIgnore
     private Boolean warnLowBattery;
 
     @ApiModelProperty(value = "加减档提示",accessMode = ApiModelProperty.AccessMode.READ_ONLY)
-    @JsonIgnore
     private FlowStatusEnum warnFlow;
 
     @ApiModelProperty(value = "管理类型",example = "0、院内管理 1、居家管理")
@@ -209,6 +206,8 @@ public class PatientMonitorResult implements Serializable {
     @ApiModelProperty("最后上传时间")
     private Date lastUploadTime;
 
+    @ApiModelProperty("医院编码")
+    private String hospitalCode;
 
     @ApiModelProperty("运行时电机的压力值")
     private Integer block1;
@@ -219,12 +218,11 @@ public class PatientMonitorResult implements Serializable {
     @ApiModelProperty("阻塞状态")
     private BlockStatusEnum blockStatus;
 
-    @ApiModelProperty("是否异常,0、不异常 1、异常")
+    @ApiModelProperty("是否存在异常标识")
     private Boolean abnormal;
 
-    @ApiModelProperty("异常情况说明")
-    private String abnormalRemark;
-
+    @ApiModelProperty("异常标识备注")
+    private String abnormalReason;
 
     private void judgeWarnWillFinished() {
         if(!Boolean.TRUE.equals(this.warnWillFinished)){

+ 2 - 3
nb-service/app-doctor/src/main/java/com/nb/app/doctor/controller/PatientMonitorController.java

@@ -5,7 +5,6 @@ import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.nb.app.assistant.api.bean.HandleBindResult;
 import com.nb.app.assistant.api.entity.AssistantUserBindEntity;
 import com.nb.app.assistant.api.feign.IAssistantUserBindClient;
@@ -25,6 +24,7 @@ import com.nb.web.api.feign.query.DoctorPatientMonitorQuery;
 import com.nb.web.api.feign.result.DoctorPatientMonitorResult;
 import com.nb.app.doctor.service.dto.PatientMonitorConsultResult;
 import com.nb.auth.utils.SecurityUtil;
+import com.nb.common.lock.annotation.DistributeLock;
 import com.nb.common.websocket.WebSocketSessionLifeCycleManage;
 import com.nb.core.annotation.Log;
 import com.nb.core.exception.CustomException;
@@ -42,11 +42,9 @@ import com.nb.web.service.bus.enums.AnaTypeEnum;
 import com.nb.web.service.bus.enums.ConstantEnum;
 import com.nb.web.service.bus.service.LocalBusDeviceHistoryService;
 import com.nb.web.service.bus.service.LocalBusInfusionHistoryService;
-import com.nb.web.service.bus.service.LocalBusInfusionModifyService;
 import com.nb.web.service.bus.service.LocalBusPatientService;
 import com.nb.web.service.bus.service.constant.AbstractConstantService;
 import com.nb.web.service.bus.service.constant.LocalBusConMixService;
-import com.nb.web.service.bus.service.dto.DeviceHistoryQuery;
 import com.nb.web.service.bus.service.dto.DeviceInfusionHistoryQuery;
 import com.nb.web.service.bus.service.dto.EditModifyQuery;
 import com.nb.web.service.bus.service.dto.ManualUndoConfig;
@@ -154,6 +152,7 @@ public class PatientMonitorController {
 
     @ApiOperation("修改看护位置")
     @PostMapping("/edit/manage")
+    @DistributeLock(value = "#vo.clinicId", waitTime = 0)
     public R<Boolean> isOnline(@RequestBody @Validated ChangeManageVo vo) {
         return R.success(patientClient.setManageType(vo.getClinicId(), vo.getManage()));
     }

+ 15 - 8
nb-service/web-service/src/main/resources/mapper/bus/BusPatientMapper.xml

@@ -86,6 +86,7 @@
         <result column="block2" property="block2"/>
         <result column="block_status" property="blockStatus"/>
         <result column="abnormal" property="abnormal"/>
+        <result column="abnormal_reason" property="abnormalReason"/>
     </resultMap>
 
     <resultMap id="deviceNone" type="com.nb.web.service.bus.service.dto.PatientDeviceNoneResult">
@@ -246,8 +247,9 @@
         c.ward as ward,
         c.bed_no as bed_no,
         c.eval_time as eval_time,
+        c.manage_type as manage_type,
         c.abnormal as abnormal,
-        c.manage_type as manage_type
+        c.abnormal_reason as abnormal_reason
         from
         (select * from bus_patient
         <where>
@@ -349,7 +351,10 @@
                 </foreach>
             </if>
             <if test="query.timeRange != null and query.timeRange.size >0">
-                and monitor_start_time &gt;= #{query.timeRange[0]} and  monitor_start_time &lt;= #{query.timeRange[1]}
+                and monitor_start_time &gt;= #{query.timeRange[0]}
+            </if>
+            <if test="query.timeRange != null and query.timeRange.size >1">
+                and  monitor_start_time &lt;= #{query.timeRange[1]}
             </if>
             <if test="query.tenantId!=null">
                 and tenant_id=#{query.tenantId}
@@ -454,7 +459,8 @@
         c.surgery_name as surgery_name,
         c.ward as ward,
         c.bed_no as bed_no,
-        c.eval_time as eval_time
+        c.eval_time as eval_time,
+        bh.code as hospital_code
         from
         (select * from bus_patient
         <where>
@@ -471,6 +477,7 @@
         bus_infusion_history as i on p.infusion_id=i.id
         left join (select device_id,alias,product_no from bus_device) as d on d.device_id=i.device_id
         left join (select * from bus_clinic where monitor_type=1) c on p.clinic_id=c.id
+        left join bus_hospital as bh on bh.tenant_id=p.tenant_id
         limit 1
     </select>
 
@@ -570,7 +577,7 @@
         c.eval_time AS eval_time,        <!-- 评价时间 -->
         c.manage_type AS manage_type,
         c.abnormal as abnormal,
-        c.monitor_start_time as monitor_start_time
+        c.monitor_start_time as monitor_start_time,
         <!-- 设备与输注信息 -->
         i.device_id AS device_id,
         d.alias AS device_alias,   <!-- 假设来自设备表,若未关联需调整 -->
@@ -674,14 +681,14 @@
 
             <!--无提醒-->
             <if test="query.warn != null and query.warn == false">
-                AND (i.warn_flow is null and i.warn_low_battery = 0 and i.warn_will_finished =0 and i.warn_analgesic_poor=0)
+                AND ((i.warn_flow is null or i.warn_flow = 0) and i.warn_low_battery = 0 and i.warn_will_finished =0 and i.warn_analgesic_poor=0)
             </if>
             <!--有提醒-->
             <if test="query.warn != null and query.warn == true">
-                AND (i.warn_flow = 1 or i.warn_low_battery = 1 or i.warn_will_finished=1 or i.warn_analgesic_poor=1)
+                AND ((i.warn_flow is not  null and i.warn_flow != 0) or i.warn_low_battery = 1 or i.warn_will_finished=1 or i.warn_analgesic_poor=1)
             </if>
 
-            <if test="query.timeRange != null and query.timeRange.size == 1">
+            <if test="query.timeRange != null and query.timeRange.size > 0">
                 AND c.monitor_start_time &gt;= #{query.timeRange[0]}
             </if>
             <!-- 时间区间查询 -->
@@ -694,7 +701,7 @@
             </if>
             <!-- 待评价 -->
             <if test="query.evaluate != null and query.evaluate  == 2">
-                and c.eval_time is not null and  DATE_ADD(c.eval_time,INTERVAL #{query.interval} MINUTE) &gt; NOW()
+                and c.eval_time is not null and  DATE_ADD(c.eval_time,INTERVAL #{query.interval} MINUTE) &lt; NOW()
             </if>
             <!-- 未评价 -->
             <if test="query.evaluate != null and query.evaluate  == 3">