Bläddra i källkod

update 病号结束判定

A17404李放 3 år sedan
förälder
incheckning
f1ed33ea64

+ 11 - 10
nb-system/src/main/java/com/coffee/bus/hospital/config/HospitalFunctionExtraConfigHandler.java

@@ -1,5 +1,6 @@
 package com.coffee.bus.hospital.config;
 
+import cn.hutool.core.date.DateUnit;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.coffee.bus.entity.BusDeviceAlarmEntity;
 import com.coffee.bus.hospital.config.bean.FunctionExtraConfig;
@@ -22,6 +23,7 @@ import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.redisson.api.RDelayedQueue;
 import java.util.Date;
+import java.util.Objects;
 import java.util.concurrent.TimeUnit;
 
 /**
@@ -128,23 +130,22 @@ public class HospitalFunctionExtraConfigHandler  extends  AbstractHospitalConfig
         BusInfusionHistoryEntity infusionHistory = infusionHistoryService.getById(source.getInfusionId());
         if (Boolean.TRUE.equals(infusionHistory.getFinished())) {
             //输注已结束
-            log.debug("不在服务区消息【{}】由于输注已结束,不在继续处理该消息,消息【{}】",source.getId(),source);
-            return;
-        }
-        if(!infusionHistory.getLastUploadTime().equals(source.getUploadTime())){
-            //有数据更新,取消不在服务区判定
-            log.debug("不在服务区消息【{}】由于有新数据产生,不在继续处理该消息,消息【{}】",source.getId(),source);
+            if(log.isDebugEnabled()){
+                log.debug("不在服务区消息【{}】由于输注已结束,不在继续处理该消息,消息【{}】",source.getId(),source);
+            }
             return;
         }
         //不在服务区报警信息保存
-        Date uploadTime=new Date(source.getTimestamp().getTime()+source.getUnit().toMillis(source.getTimeout()));
-        BusDeviceAlarmEntity alarm = BusDeviceAlarmEntity.noSignalOf(source.getDeviceId(),source.getInfusionId(),source.getHistoryId(),source.getTenantId(),uploadTime);
-        log.debug("消息【{}】处理,保存不在服务区报警",source);
+        Date alarmTime=new Date(source.getTimestamp().getTime()+source.getUnit().toMillis(source.getTimeout()));
+        BusDeviceAlarmEntity alarm = BusDeviceAlarmEntity.noSignalOf(source.getDeviceId(),source.getInfusionId(),source.getHistoryId(),source.getTenantId(),alarmTime);
+        if(log.isDebugEnabled()){
+            log.debug("消息【{}】处理,保存不在服务区报警",source);
+        }
         alarmService.save(alarm);
 
         boolean update = infusionHistoryService.update(new UpdateWrapper<BusInfusionHistoryEntity>().lambda()
                 .eq(BusInfusionHistoryEntity::getId, infusionHistory.getId())
-                .eq(BusInfusionHistoryEntity::getLastUploadTime, uploadTime)
+                .eq(BusInfusionHistoryEntity::getLastUploadTime, source.getUploadTime())
                 .set(BusInfusionHistoryEntity::getRunState, DeviceStatusEnum.NoSignal));
         //报警/提醒缓存重置
         if(update){