فهرست منبع

add mq自动添加常量

18339543638 3 سال پیش
والد
کامیت
668793fa95

+ 25 - 0
nb-service-api/web-service-api/src/main/java/com/nb/web/api/feign/IConDoctorClient.java

@@ -0,0 +1,25 @@
+package com.nb.web.api.feign;
+
+import com.nb.web.api.entity.BusClinicEntity;
+
+import java.util.Collection;
+import java.util.Set;
+
+/**
+ * @author lifang
+ * @version 1.0.0
+ * @ClassName IConMixClient.java
+ * @Description TODO
+ * @createTime 2022年09月17日 15:08:00
+ */
+public interface IConDoctorClient {
+    /**
+     * 描述: 插入医生常量
+     * @author lifang
+     * @date 2022/9/17 15:08
+     * @param sources
+     * @param tenantId
+     * @return void
+     */
+    void insertUniqueDoctor(Collection<BusClinicEntity> sources, String tenantId);
+}

+ 25 - 0
nb-service-api/web-service-api/src/main/java/com/nb/web/api/feign/IConMixClient.java

@@ -0,0 +1,25 @@
+package com.nb.web.api.feign;
+
+import com.nb.web.api.entity.BusClinicEntity;
+
+import java.util.Collection;
+import java.util.Set;
+
+/**
+ * @author lifang
+ * @version 1.0.0
+ * @ClassName IConMixClient.java
+ * @Description TODO
+ * @createTime 2022年09月17日 15:08:00
+ */
+public interface IConMixClient {
+    /**
+     * 描述: 插入混合常量
+     * @author lifang
+     * @date 2022/9/17 15:09
+     * @param sources
+     * @param tenantId
+     * @return void
+     */
+    void insertUniqueCon(Collection<BusClinicEntity> sources, String tenantId);
+}

+ 7 - 17
nb-service/iot-service/src/main/java/com/nb/mq/listener/RabbitMqListener.java

@@ -27,8 +27,10 @@ import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
+import java.util.Collections;
 import java.util.Date;
 import java.util.Optional;
+import java.util.Set;
 
 /**
  * @author lifang
@@ -47,6 +49,8 @@ public class RabbitMqListener {
     private final IDeviceClient deviceClient;
     private final IIotMsgHandler iotMsgHandler;
     private final IHospitalLogClient hospitalLogService;
+    private final IConMixClient conMixClient;
+    private final IConDoctorClient conDoctorClient;
 
     /**
      * 描述: 监听病人队列
@@ -71,22 +75,6 @@ public class RabbitMqListener {
             BusClinicEntity clinic= source.toClinic(patientId);
             PatientMonitorDetailResult patientDetail = patientClient.lookPatientDetail(patientId);
             BusClinicEntity existClinic = patientDetail.getClinic();
-//            if(Boolean.TRUE.equals(clinic.getFinished())){
-//                if(ObjectUtil.isNull(existClinic)||
-//                        ObjectUtil.isNull(existClinic.getUndoConfig())||
-//                        ObjectUtil.notEqual(clinic.getUndoConfig(),
-//                                existClinic.getUndoConfig())){
-//                    //避免重复撤泵,进行撤泵处理
-//                    clinicClient.finish(existClinic.getId(),existClinic.getTenantId(),clinic.getUndoConfig());
-//                    if (patientDetail.getInfusion()!=null) {
-//                        //刷新分包标识
-//                        deviceClient.refreshClassification(patientDetail.getInfusion().getDeviceId());
-//                    }
-//                }else {
-//                    clinic.setFinished(null);
-//                    clinicClient.update(existClinic.getId(),clinic);
-//                }
-//            }else {
                 //当上一个临床状态为已结束时,对比临床信息是否发生改变,生成新的临床信息
                 boolean sameClinic=false;
                 if(StrUtil.isNotEmpty(existClinic.getId())){
@@ -96,9 +84,11 @@ public class RabbitMqListener {
                 if(!sameClinic){
                     //为了避免网络延迟,开始时间往前推1个小时
                     clinic.setStartTime(DateUtil.offsetHour(new Date(),0));
-
+                    Set<BusClinicEntity> sources = Collections.singleton(clinic);
                     clinic=clinicClient.insertFromHis(clinic);
                     clinicClient.setCurrentClinicByHis(clinic,Boolean.TRUE.equals(existClinic.getFinished()));
+                    conMixClient.insertUniqueCon(sources,clinic.getTenantId());
+                    conDoctorClient.insertUniqueDoctor(sources,clinic.getTenantId());
                 }else {
                     clinic.setStartTime(existClinic.getStartTime());
                     clinicClient.update(existClinic.getId(),clinic);

+ 6 - 6
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/constant/LocalBusConDoctorService.java

@@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.nb.web.api.entity.BusClinicEntity;
+import com.nb.web.api.feign.IConDoctorClient;
 import com.nb.web.service.bus.entity.BusConDoctor;
 import com.nb.web.service.bus.enums.ConstantEnum;
 import com.nb.web.service.bus.mapper.BusConDoctorMapper;
@@ -13,10 +14,7 @@ import com.nb.core.exception.CustomException;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @author lifang
@@ -26,7 +24,7 @@ import java.util.Map;
  * @createTime 2022年03月19日 09:27:00
  */
 @Service
-public class LocalBusConDoctorService extends AbstractConstantService<BusConDoctorMapper, BusConDoctor,String> {
+public class LocalBusConDoctorService extends AbstractConstantService<BusConDoctorMapper, BusConDoctor,String> implements IConDoctorClient {
     @Override
     public void validateBeforeSave(BusConDoctor entity) {
         if(!Boolean.TRUE.equals(entity.getAnesthetists())
@@ -64,7 +62,8 @@ public class LocalBusConDoctorService extends AbstractConstantService<BusConDoct
      * @return void
      */
     @Transactional(rollbackFor = Exception.class)
-    public void insertUniqueDoctor(List<BusClinicEntity> clinics, String hospitalId) {
+    @Override
+    public void insertUniqueDoctor(Collection<BusClinicEntity> clinics, String hospitalId) {
         if(CollUtil.isEmpty(clinics)){
             return;
         }
@@ -98,4 +97,5 @@ public class LocalBusConDoctorService extends AbstractConstantService<BusConDoct
         }
         this.saveBatch(insertMap.values());
     }
+
 }

+ 4 - 2
nb-service/web-service/src/main/java/com/nb/web/service/bus/service/constant/LocalBusConMixService.java

@@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.nb.web.api.entity.BusClinicEntity;
+import com.nb.web.api.feign.IConMixClient;
 import com.nb.web.service.bus.entity.BusConMixEntity;
 import com.nb.web.service.bus.enums.ConstantEnum;
 import com.nb.web.service.bus.enums.ConstantMixEnum;
@@ -25,7 +26,7 @@ import java.util.*;
  */
 @Service
 @Slf4j
-public class LocalBusConMixService extends AbstractConstantService<BusConMixMapper, BusConMixEntity,String> {
+public class LocalBusConMixService extends AbstractConstantService<BusConMixMapper, BusConMixEntity,String> implements IConMixClient {
 
     @Override
     public void validateBeforeSave(BusConMixEntity entity) {
@@ -65,7 +66,8 @@ public class LocalBusConMixService extends AbstractConstantService<BusConMixMapp
      * @param tenantId
      * @return void
      */
-    public void insertUniqueCon(List<BusClinicEntity> clinics, String tenantId){
+    @Override
+    public void insertUniqueCon(Collection<BusClinicEntity> clinics, String tenantId){
         if(CollUtil.isEmpty(clinics)){
             return;
         }