|
@@ -1,5 +1,6 @@
|
|
|
package com.coffee.bus.hospital.config;
|
|
package com.coffee.bus.hospital.config;
|
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.date.DateUnit;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import com.coffee.bus.entity.BusDeviceAlarmEntity;
|
|
import com.coffee.bus.entity.BusDeviceAlarmEntity;
|
|
|
import com.coffee.bus.hospital.config.bean.FunctionExtraConfig;
|
|
import com.coffee.bus.hospital.config.bean.FunctionExtraConfig;
|
|
@@ -22,6 +23,7 @@ import lombok.Data;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.redisson.api.RDelayedQueue;
|
|
import org.redisson.api.RDelayedQueue;
|
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
|
|
|
+import java.util.Objects;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -128,23 +130,22 @@ public class HospitalFunctionExtraConfigHandler extends AbstractHospitalConfig
|
|
|
BusInfusionHistoryEntity infusionHistory = infusionHistoryService.getById(source.getInfusionId());
|
|
BusInfusionHistoryEntity infusionHistory = infusionHistoryService.getById(source.getInfusionId());
|
|
|
if (Boolean.TRUE.equals(infusionHistory.getFinished())) {
|
|
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;
|
|
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);
|
|
alarmService.save(alarm);
|
|
|
|
|
|
|
|
boolean update = infusionHistoryService.update(new UpdateWrapper<BusInfusionHistoryEntity>().lambda()
|
|
boolean update = infusionHistoryService.update(new UpdateWrapper<BusInfusionHistoryEntity>().lambda()
|
|
|
.eq(BusInfusionHistoryEntity::getId, infusionHistory.getId())
|
|
.eq(BusInfusionHistoryEntity::getId, infusionHistory.getId())
|
|
|
- .eq(BusInfusionHistoryEntity::getLastUploadTime, uploadTime)
|
|
|
|
|
|
|
+ .eq(BusInfusionHistoryEntity::getLastUploadTime, source.getUploadTime())
|
|
|
.set(BusInfusionHistoryEntity::getRunState, DeviceStatusEnum.NoSignal));
|
|
.set(BusInfusionHistoryEntity::getRunState, DeviceStatusEnum.NoSignal));
|
|
|
//报警/提醒缓存重置
|
|
//报警/提醒缓存重置
|
|
|
if(update){
|
|
if(update){
|