lifang 3 тижнів тому
батько
коміт
a8089b902a

+ 10 - 0
nb-service/web-service/src/main/java/com/nb/web/service/bus/listener/BusEvaluationMessageListener.java

@@ -8,7 +8,9 @@ import com.nb.core.entity.MqttMessage;
 import com.nb.core.enums.MqttTopicEnum;
 import com.nb.core.handler.AbstractMqttMessageHandler;
 import com.nb.web.api.entity.BusEvaluationEntity;
+import com.nb.web.api.entity.BusInfusionHistoryEntity;
 import com.nb.web.service.bus.entity.BusPatientEntity;
+import com.nb.web.service.bus.mapper.BusInfusionHistoryMapper;
 import com.nb.web.service.bus.mapper.BusPatientMapper;
 import com.nb.web.service.bus.service.LocalBusEvaluationService;
 import lombok.extern.slf4j.Slf4j;
@@ -31,6 +33,9 @@ public class BusEvaluationMessageListener extends AbstractMqttMessageHandler {
 
     @Autowired
     private BusPatientMapper patientMapper;
+
+    @Autowired
+    private BusInfusionHistoryMapper infusionHistoryMapper;
     /**
      * 定义支持的主题模式
      * @return 支持的主题模式
@@ -67,6 +72,11 @@ public class BusEvaluationMessageListener extends AbstractMqttMessageHandler {
             evaluation.setInfusionId(patient.getInfusionId());
             evaluation.setClinicId(patient.getClinicId());
             evaluation.setTenantId(patient.getTenantId());
+            BusInfusionHistoryEntity infusionHistory = infusionHistoryMapper.selectById(patient.getInfusionId());
+            if(ObjectUtil.isNotNull(infusionHistory)){
+                evaluation.setDeviceId(infusionHistory.getDeviceId());
+            }
+            evaluation.setId(null);
             // 保存到数据库
             evaluationService.save(evaluation);
             log.info("评价信息处理完成,ID: {}", evaluation.getId());

+ 8 - 4
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/LocalBusEvaluationService.java

@@ -158,10 +158,14 @@ public class LocalBusEvaluationService extends BaseService<BusEvaluationMapper,
             }
             entity.setInfusionId(patient.getInfusionId());
         }
-        String hospitalCode = hospitalClient.selectHospitalCode(SecurityUtil.getTenantId());
-        if (StrUtil.isNotEmpty(hospitalCode)) {
-            //发布消息
-            mqttClientUtil.asyncPublish(hospitalCode, MqttTopicEnum.BUS_EVALUATION,entity);
+        try {
+            String hospitalCode = hospitalClient.selectHospitalCode(SecurityUtil.getTenantId());
+            if (StrUtil.isNotEmpty(hospitalCode)) {
+                //发布消息
+                mqttClientUtil.asyncPublish(hospitalCode, MqttTopicEnum.BUS_EVALUATION,entity);
+            }
+        }catch (Exception e){
+
         }
     }
 

+ 11 - 2
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/LocalBusHospitalService.java

@@ -49,6 +49,7 @@ import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.annotation.PostConstruct;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Optional;
 import java.util.concurrent.CompletableFuture;
@@ -69,6 +70,7 @@ public class LocalBusHospitalService extends BaseService<BusHospitalMapper, BusH
 
     private ConfigStorage nameCache;
 
+    private HashMap<String,String> codeMap=new HashMap<>();
     @Autowired
     @Lazy
     private LocalBusConMixService conMixService;
@@ -256,7 +258,7 @@ public class LocalBusHospitalService extends BaseService<BusHospitalMapper, BusH
             this.baseMapper.updateById(entity);
         });
         configService.saveDefaultConfig();
-        list.parallelStream().forEach(hospital-> hospitalManagerRegister.refresh(hospital.getId(),true,true,true,true));
+//        list.parallelStream().forEach(hospital-> hospitalManagerRegister.refresh(hospital.getId(),true,true,true,true));
     }
 
 
@@ -343,6 +345,13 @@ public class LocalBusHospitalService extends BaseService<BusHospitalMapper, BusH
 
     @Override
     public String selectHospitalCode(String id) {
-        return getName(id);
+        return codeMap.computeIfAbsent(id,k->{
+            BusHospitalEntity busHospitalEntity = hospitalMapper.selectById(id);
+            if(busHospitalEntity==null){
+                return "";
+            }else {
+                return busHospitalEntity.getCode();
+            }
+        });
     }
 }

+ 8 - 4
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/LocalBusInfusionHistoryService.java

@@ -255,10 +255,14 @@ public class LocalBusInfusionHistoryService extends BaseService<BusInfusionHisto
                     .set(BusPatientEntity::getAlarm,PatientAlarmEnum.NONE));
             clinicService.finish(manualUndoConfig.getClinicId(),manualUndoConfig.getTenantId());
         }
-        mqttClientUtil.asyncPublish(
-                hospitalClient.selectHospitalCode(manualUndoConfig.getTenantId()),
-                MqttTopicEnum.BUS_UNDO,
-                MqttUndoDTO.of(manualUndoConfig,finishClinic));
+        try {
+            mqttClientUtil.asyncPublish(
+                    hospitalClient.selectHospitalCode(manualUndoConfig.getTenantId()),
+                    MqttTopicEnum.BUS_UNDO,
+                    MqttUndoDTO.of(manualUndoConfig,finishClinic));
+        }catch (Exception e){
+
+        }
     }
 
     /**