Ver código fonte

技改接口

lifang 3 meses atrás
pai
commit
227bc36aa1

+ 10 - 2
nb-common/ws-common/src/main/java/com/nb/common/websocket/TopicMessage.java

@@ -13,15 +13,23 @@ public class TopicMessage implements Serializable {
     private Object message;
     private String param;
     private String key;
+    private Long timestamp;
 
 
     public static TopicMessage of(Object message,String param){
-        return of(message,param,null);
+        return of(message,param,null,System.currentTimeMillis());
     }
 
+    public static TopicMessage of(Object message,String param,Long timestamp){
+        return of(message,param,null,timestamp);
+    }
 
     public static TopicMessage of(Object message,String param,String key){
-        return new TopicMessage(message,param,key);
+        return new TopicMessage(message,param,key,System.currentTimeMillis());
+    }
+
+    public static TopicMessage of(Object message,String param,String key,Long timestamp){
+        return new TopicMessage(message,param,key,timestamp);
     }
 
 }

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

@@ -219,6 +219,13 @@ public class PatientMonitorResult implements Serializable {
     @ApiModelProperty("阻塞状态")
     private BlockStatusEnum blockStatus;
 
+    @ApiModelProperty("是否异常,0、不异常 1、异常")
+    private Boolean abnormal;
+
+    @ApiModelProperty("异常情况说明")
+    private String abnormalRemark;
+
+
     private void judgeWarnWillFinished() {
         if(!Boolean.TRUE.equals(this.warnWillFinished)){
            return;

+ 14 - 1
nb-service/web-service/src/main/java/com/nb/web/service/bus/controller/BusPatientController.java

@@ -10,6 +10,7 @@ import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.mapper.Mapper;
+import com.nb.web.api.dto.BusPatientAbnormalMarkDTO;
 import com.nb.web.api.entity.BusClinicEntity;
 import com.nb.web.api.entity.BusDeviceEntity;
 import com.nb.web.api.entity.BusDeviceManualEntity;
@@ -70,13 +71,25 @@ public class BusPatientController  implements BaseQueryController<BusPatientEnti
     @PostMapping("/no_page")
     @Log(title = "输注监控列表查询")
     @SaCheckPermission("device:patient:query")
-    @ApiOperation(value = "输注监控列表",notes = "病人监控管理列表,权限【device:patient:query】")
+    @ApiOperation(value = "输注监控列表(平板技改Web端)",notes = "病人监控管理列表,权限【device:patient:query】")
     public R<List<PatientMonitorResult>> selectPage(@RequestAttribute("tenantId")@ApiParam(hidden = true) String tenantId,@RequestBody PatientMonitorQuery query){
         query.setTenantId(tenantId);
         log.info("输注监控列表,【{}】",JSONUtil.toJsonStr(query));
         return R.success(patientService.selectAll(query));
     }
 
+    /**
+     * @description: 网络泵技改项目
+     * ①在主界面 添加/删除 患者的异常标识
+     * @author lifang
+     * @date 2025-04-17
+     */
+    @PostMapping("/editAbnormalMark")
+    @ApiOperation(value = "修改异常标识(平板技改Web端)")
+    public R<Boolean> editAbnormalMark(@RequestBody@Validated BusPatientAbnormalMarkDTO source) {
+        return R.success(patientService.editAbnormalMark(source));
+    }
+
 
     @Log(title = "查询该次临床过程中所用的所有输注信息")
     @PostMapping("/look/{clinicId}/infusion")

+ 12 - 6
nb-service/web-service/src/main/java/com/nb/web/service/bus/utils/WsPublishUtils.java

@@ -52,6 +52,7 @@ public class WsPublishUtils implements Serializable{
     public void publishPatientMonitor(String patientId,String tenantId){
         Assert.hasText(tenantId,"医院id不能为空");
         log.info("推送病号数据【{}】", JSONUtil.toJsonStr(patientId));
+        long timeMillis = System.currentTimeMillis();
         PatientMonitorResult message = patientService.lookMonitorByPatientId(patientId, tenantId);
         if (log.isDebugEnabled()) {
             log.debug("推送病号当前状态,【{}】",JSONUtil.toJsonStr(message));
@@ -59,7 +60,7 @@ public class WsPublishUtils implements Serializable{
         if(message!=null){
             message.handleWarn();
             this.publish(WebSocketConstant.getPatientMonitor(null, patientId, tenantId).getTopic(),
-                    TopicMessage.of(message,patientId)
+                    TopicMessage.of(message,patientId,timeMillis)
             );
         }
     }
@@ -95,9 +96,10 @@ public class WsPublishUtils implements Serializable{
 //    @Async
     public void publishPatientUpdate(String tenantId){
         Assert.hasText(tenantId,"医院id不能为空");
+        long timeMillis = System.currentTimeMillis();
         JSONObject message = new JSONObject().putOpt("result", 1);
         this.publish(WebSocketConstant.getPatientUpdate(tenantId).getTopic(),
-                TopicMessage.of(message,tenantId));
+                TopicMessage.of(message,tenantId,timeMillis));
     }
     /**
      * 描述: 推送医院临床设备重复数量统计
@@ -109,9 +111,10 @@ public class WsPublishUtils implements Serializable{
 //    @Async
     public void publishDeviceRepeat(String tenantId){
         Assert.hasText(tenantId,"医院id不能为空");
+        long timeMillis = System.currentTimeMillis();
         JSONObject message = new JSONObject().putOpt("count", CollectionUtil.size(patientMapper.selectRepeatDevice(tenantId)));
         this.publish(WebSocketConstant.getDeviceRepeat(tenantId).getTopic(),
-                TopicMessage.of(message,tenantId)
+                TopicMessage.of(message,tenantId,timeMillis)
         );
     }
 
@@ -125,9 +128,10 @@ public class WsPublishUtils implements Serializable{
 //    @Async
     public void publishDeviceNone(String tenantId){
         Assert.hasText(tenantId,"医院id不能为空");
+        long timeMillis = System.currentTimeMillis();
         JSONObject message = new JSONObject().putOpt("count",CollectionUtil.size(patientMapper.selectNoneDevice(tenantId)));
         this.publish(WebSocketConstant.getDeviceNone(tenantId).getTopic(),
-                TopicMessage.of(message,tenantId)
+                TopicMessage.of(message,tenantId,timeMillis)
         );
     }
 
@@ -142,10 +146,11 @@ public class WsPublishUtils implements Serializable{
 //    @Async
     public void publishMonitorTotalCount(String tenantId){
         Assert.hasText(tenantId,"医院id不能为空");
+        long timeMillis = System.currentTimeMillis();
         JSONObject message = new JSONObject().putOpt("count",
                 patientService.monitorTotalCount(tenantId));
         this.publish(WebSocketConstant.getMonitorTotalCount(tenantId).getTopic(),
-                TopicMessage.of(message,tenantId)
+                TopicMessage.of(message,tenantId,timeMillis)
         );
     }
 
@@ -158,9 +163,10 @@ public class WsPublishUtils implements Serializable{
      */
     public void publishFinishedClinicId(Collection<String> clinicIds,String tenantId){
         Assert.hasText(tenantId,"医院id不能为空");
+        long timeMillis = System.currentTimeMillis();
         JSONObject message = new JSONObject().putOpt("clinicIds",clinicIds);
         this.publish(WebSocketConstant.getFinishedClinicId(tenantId).getTopic(),
-                TopicMessage.of(message,tenantId)
+                TopicMessage.of(message,tenantId,timeMillis)
         );
     }
 

+ 2 - 0
nb-service/web-service/src/main/resources/mapper/bus/BusPatientMapper.xml

@@ -85,6 +85,7 @@
         <result column="block1" property="block1"/>
         <result column="block2" property="block2"/>
         <result column="block_status" property="blockStatus"/>
+        <result column="abnormal" property="abnormal"/>
     </resultMap>
 
     <resultMap id="deviceNone" type="com.nb.web.service.bus.service.dto.PatientDeviceNoneResult">
@@ -245,6 +246,7 @@
         c.ward as ward,
         c.bed_no as bed_no,
         c.eval_time as eval_time,
+        c.abnormal as abnormal,
         c.manage_type as manage_type
         from
         (select * from bus_patient