A17404李放 3 лет назад
Родитель
Сommit
3374d6d59f

+ 1 - 1
nb-system/src/main/java/com/nb/bus/hospital/HospitalManager.java

@@ -79,7 +79,7 @@ public class HospitalManager {
         this.autoUndoConfigHandler=new HospitalDeviceAutoUndoConfigHandler(storage,hospitalId);
         this.finishMonitorConfigHandler=new HospitalFinishMonitorConfigHandler(storage,hospitalId);
         this.analConfigHandler=new HospitalFunctionAnalConfigHandler(storage,hospitalId);
-        this.extraConfigHandler=new HospitalFunctionExtraConfigHandler(storage,hospitalId,finishMonitorConfigHandler,autoUndoConfigHandler);
+        this.extraConfigHandler=new HospitalFunctionExtraConfigHandler(storage,hospitalId);
         this.codeHandler=new HospitalPatientCodeHandler(storage,hospitalId);
         this.infusionHistoryService=SpringUtil.getBean(LocalBusInfusionHistoryService.class);
         init(configStorageManager);

+ 1 - 2
nb-system/src/main/java/com/nb/bus/hospital/config/HospitalDeviceAutoUndoConfigHandler.java

@@ -10,13 +10,12 @@ import com.nb.bus.hospital.enums.ConfigHandlerEnums;
 import com.nb.bus.registry.device.DeviceRegistry;
 import com.nb.bus.service.LocalBusInfusionHistoryService;
 import com.nb.bus.service.dto.UndoDeviceConfig;
-import com.nb.bus.utils.WsPublishUtils;
 import com.nb.common.cache.ConfigStorage;
 import com.nb.common.cache.value.Value;
 import com.nb.common.delay_queue.manager.DelayMessageManager;
 import com.nb.common.delay_queue.message.DelayMessage;
 import com.nb.common.delay_queue.message.DelayMessageProperties;
-import com.nb.common.util.RedissonUtil;
+
 import lombok.Builder;
 import lombok.Data;
 

+ 1 - 12
nb-system/src/main/java/com/nb/bus/hospital/config/HospitalFunctionExtraConfigHandler.java

@@ -44,16 +44,10 @@ import java.util.concurrent.TimeUnit;
 @Slf4j
 public class HospitalFunctionExtraConfigHandler  extends  AbstractHospitalConfigHandler<FunctionExtraConfig, BusDeviceRunningEntity>{
 
-    private HospitalFinishMonitorConfigHandler monitorConfigHandler;
-    private HospitalDeviceAutoUndoConfigHandler autoUndoConfigHandler;
     private DelayMessageManager delayMessageManager= SpringUtil.getBean(DelayMessageManager.class);
     private  DeviceRegistry deviceRegistry=SpringUtil.getBean( DeviceRegistry.class);
-    public HospitalFunctionExtraConfigHandler(ConfigStorage configStorage, String hospitalId,
-                                              HospitalFinishMonitorConfigHandler monitorConfigHandler,
-                                              HospitalDeviceAutoUndoConfigHandler autoUndoConfigHandler) {
+    public HospitalFunctionExtraConfigHandler(ConfigStorage configStorage, String hospitalId) {
         super(configStorage, hospitalId);
-        this.monitorConfigHandler=monitorConfigHandler;
-        this.autoUndoConfigHandler=autoUndoConfigHandler;
     }
 
     @Override
@@ -98,8 +92,6 @@ public class HospitalFunctionExtraConfigHandler  extends  AbstractHospitalConfig
                 .patientCode(source.getPatientCode())
                 .tenantId(source.getTenantId())
                 .timestamp(new Date())
-                .autoUndoConfigHandler(autoUndoConfigHandler)
-                .monitorConfigHandler(monitorConfigHandler)
                 .historyId(source.getHistoryId())
                 .infusionId(source.getInfusionId())
                 .uploadTime(source.getUploadTime())
@@ -162,8 +154,5 @@ public class HospitalFunctionExtraConfigHandler  extends  AbstractHospitalConfig
         private String historyId;
         private Date uploadTime;
         private Date timestamp;
-        private HospitalFinishMonitorConfigHandler monitorConfigHandler;
-        private HospitalDeviceAutoUndoConfigHandler autoUndoConfigHandler;
-
     }
 }

+ 6 - 2
nb-system/src/main/java/com/nb/bus/hospital/config/handler/NoSignalHandler.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.nb.bus.entity.BusDeviceAlarmEntity;
 import com.nb.bus.entity.BusInfusionHistoryEntity;
 import com.nb.bus.enums.DeviceStatusEnum;
+import com.nb.bus.hospital.HospitalManagerRegister;
 import com.nb.bus.hospital.config.HospitalFunctionExtraConfigHandler;
 import com.nb.bus.registry.device.DeviceRegistry;
 import com.nb.bus.service.LocalBusDeviceAlarmService;
@@ -14,6 +15,7 @@ import com.nb.common.delay_queue.handler.DelayMessageHandler;
 import com.nb.common.delay_queue.message.DelayMessage;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 import java.util.Date;
@@ -33,6 +35,7 @@ public class NoSignalHandler implements DelayMessageHandler {
     private final LocalBusInfusionHistoryService infusionHistoryService;
     private final LocalBusDeviceAlarmService alarmService;
 
+    private final HospitalManagerRegister hospitalManagerRegister;
     private final WsPublishUtils wsPublishUtils;
     private final DeviceRegistry deviceRegistry;
 
@@ -85,8 +88,9 @@ public class NoSignalHandler implements DelayMessageHandler {
             log.info("消息【{}】处理成功,输注【{}】变为【不在服务区】状态",message.getMsgId(),source.getInfusionId());
             wsPublishUtils.publishPatientMonitor(infusionHistory.getPatientId(), infusionHistory.getTenantId());
             //不在服务区
-            source.getMonitorConfigHandler().judgeNoSignalAutoFinish(infusionHistory.getPatientId(),deviceId,source.getPatientCode(),source.getTenantId(),source.getInfusionId(),source.getUploadTime());
-            source.getAutoUndoConfigHandler().judgeNoSignalAutoUndo(deviceId,infusionHistory.getPatientId(),source.getTenantId(),source.getInfusionId(),source.getUploadTime());
+
+            hospitalManagerRegister.get(source.getTenantId()).getFinishMonitorConfigHandler().judgeNoSignalAutoFinish(infusionHistory.getPatientId(),deviceId,source.getPatientCode(),source.getTenantId(),source.getInfusionId(),source.getUploadTime());
+            hospitalManagerRegister.get(source.getTenantId()).getAutoUndoConfigHandler().judgeNoSignalAutoUndo(deviceId,infusionHistory.getPatientId(),source.getTenantId(),source.getInfusionId(),source.getUploadTime());
         }else {
             log.info("消息【{}】处理失败,输注【{}】变为【不在服务区】状态失败",message.getMsgId(),source.getInfusionId());
         }