소스 검색

一般治疗

zhaops 4 년 전
부모
커밋
c6927b468c

+ 1 - 48
src/main/java/com/diagbot/aggregate/AssemblePushAggregate.java

@@ -2,17 +2,12 @@ package com.diagbot.aggregate;
 
 import com.diagbot.dto.PushBaseDTO;
 import com.diagbot.dto.PushDTO;
-import com.diagbot.dto.TreatDTO;
-import com.diagbot.entity.ConceptDetail;
-import com.diagbot.enums.ConceptTypeEnum;
-import com.diagbot.facade.ConceptInfoFacade;
 import com.diagbot.facade.DiseaseConfigFacade;
 import com.diagbot.facade.DrugConfigFacade;
 import com.diagbot.facade.LisConfigFacade;
 import com.diagbot.facade.OperationConfigFacade;
 import com.diagbot.facade.PacsConfigFacade;
 import com.diagbot.util.ListUtil;
-import com.diagbot.util.StringUtil;
 import com.google.common.collect.Lists;
 import io.github.lvyahui8.spring.annotation.DataConsumer;
 import io.github.lvyahui8.spring.annotation.DataProvider;
@@ -22,7 +17,6 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -46,8 +40,6 @@ public class AssemblePushAggregate {
     private DrugConfigFacade drugConfigFacade;
     @Autowired
     private OperationConfigFacade operationConfigFacade;
-    @Autowired
-    private ConceptInfoFacade conceptInfoFacade;
 
     @DataProvider("assemblePushAll")
     public PushDTO assemblePushAll(
@@ -57,8 +49,7 @@ public class AssemblePushAggregate {
             @DataConsumer("retPacs") List<PushBaseDTO> retPacs,
             @DataConsumer("retDiagMap") Map<String, List<PushBaseDTO>> retDiagMap,
             @DataConsumer("retOperation") List<PushBaseDTO> retOperation,
-            @DataConsumer("retDrug") List<PushBaseDTO> retDrug,
-            @DataConsumer("retGeneraTreat") List<TreatDTO> retGeneraTreat) {
+            @DataConsumer("retDrug") List<PushBaseDTO> retDrug) {
         //检验
         if (ListUtil.isNotEmpty(retLis)) {
             data.setLis(retLis);
@@ -79,11 +70,6 @@ public class AssemblePushAggregate {
         if (ListUtil.isNotEmpty(retDrug)) {
             data.setMedicines(retDrug);
         }
-        //一般治疗
-        if (ListUtil.isNotEmpty(retGeneraTreat)) {
-            data.setTreat(retGeneraTreat);
-        }
-
         return data;
     }
 
@@ -210,37 +196,4 @@ public class AssemblePushAggregate {
         }
         return retDrug;
     }
-
-    @DataProvider("retGeneraTreat")
-    public List<TreatDTO> retGeneraTreat(@InvokeParameter("pushDTO") PushDTO pushDTO,
-                                         @InvokeParameter("hospitalId") Long hospitalId) {
-        List<TreatDTO> retGeneraTreat = pushDTO.getTreat();
-        /*TreatDTO record = new TreatDTO();
-        record.setUniqueName("无晶状体眼");
-        retGeneraTreat.add(record);*/
-        if (ListUtil.isNotEmpty(retGeneraTreat)) {
-            List<String> conceptNameList = retGeneraTreat.stream()
-                    .filter(i -> StringUtil.isNotBlank(i.getUniqueName()))
-                    .map(i -> i.getUniqueName())
-                    .collect(Collectors.toList());
-            Map<String, List<ConceptDetail>> conceptDetailMap = conceptInfoFacade.getDetailByConcept(conceptNameList);
-            if (conceptDetailMap == null || conceptDetailMap.size() == 0) {
-                return retGeneraTreat;
-            }
-            for (TreatDTO treatDTO : retGeneraTreat) {
-                if (StringUtil.isNotBlank(treatDTO.getUniqueName())) {
-                    String key = treatDTO.getUniqueName() + "_" + ConceptTypeEnum.getName(1);
-                    if (conceptDetailMap.containsKey(key)) {
-                        List<ConceptDetail> conceptDetailList = conceptDetailMap.get(key);
-                        treatDTO.setGeneraTreat(conceptDetailList
-                                .stream()
-                                .filter(i -> Arrays.asList(i.getContentType().split(",")).contains("4"))
-                                .collect(Collectors.toList())
-                                .get(0).getContent());
-                    }
-                }
-            }
-        }
-        return retGeneraTreat;
-    }
 }

+ 2 - 0
src/main/java/com/diagbot/facade/AssembleFacade.java

@@ -72,4 +72,6 @@ public class AssembleFacade {
         }
         return data;
     }
+
+
 }

+ 43 - 2
src/main/java/com/diagbot/facade/PushFacade.java

@@ -13,6 +13,7 @@ import com.diagbot.enums.ConceptTypeEnum;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.RespDTOUtil;
+import com.diagbot.util.StringUtil;
 import com.diagbot.vo.IndicationPushVO;
 import com.diagbot.vo.PushPlanVO;
 import com.diagbot.vo.PushVO;
@@ -22,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -141,6 +143,10 @@ public class PushFacade {
                 && pushVO.getGetStaticKnowledge().equals(1)) {
             data = getStaticKnoledge(data);
         }
+        //TODO 一般治疗
+        if (data != null) {
+            data.setTreat(retGeneraTreat(data, pushVO.getHospitalId()));
+        }
         return data;
     }
 
@@ -178,7 +184,7 @@ public class PushFacade {
         RespDTOUtil.respNGDeal(resp, "远程调用推理接口失败");
         IndicationDTO indicationDTO = resp.data;
         //加入高危假数据
-        if (ListUtil.isEmpty(indicationDTO.getHighRiskList())){
+        if (ListUtil.isEmpty(indicationDTO.getHighRiskList())) {
             List<BillMsg> highRiskList = Lists.newArrayList();
             BillMsg item3 = new BillMsg();
             item3.setMsg("盐酸肾上腺素注射液为高风险药品,请留意(假数据)");
@@ -190,7 +196,7 @@ public class PushFacade {
             indicationDTO.setHighRiskList(highRiskList);
         }
         //加入其他提醒假数据
-        if (ListUtil.isEmpty(indicationDTO.getOtherList())){
+        if (ListUtil.isEmpty(indicationDTO.getOtherList())) {
             List<BillMsg> otherList = new ArrayList<>();
             BillMsg other = new BillMsg();
             other.setMsg("该患者血小板计数<10×10^9/L,建议输注血小板。(假数据)");
@@ -299,4 +305,39 @@ public class PushFacade {
         }
         return pushDTO;
     }
+
+    /**
+     * 查找一般治疗
+     *
+     * @param pushDTO
+     * @param hospitalId
+     * @return
+     */
+    public List<TreatDTO> retGeneraTreat(PushDTO pushDTO, Long hospitalId) {
+        List<TreatDTO> retGeneraTreat = pushDTO.getTreat();
+        if (ListUtil.isNotEmpty(retGeneraTreat)) {
+            List<String> conceptNameList = retGeneraTreat.stream()
+                    .filter(i -> StringUtil.isNotBlank(i.getUniqueName()))
+                    .map(i -> i.getUniqueName())
+                    .collect(Collectors.toList());
+            Map<String, List<ConceptDetail>> conceptDetailMap = conceptInfoFacade.getDetailByConcept(conceptNameList);
+            if (conceptDetailMap == null || conceptDetailMap.size() == 0) {
+                return retGeneraTreat;
+            }
+            for (TreatDTO treatDTO : retGeneraTreat) {
+                if (StringUtil.isNotBlank(treatDTO.getUniqueName())) {
+                    String key = treatDTO.getUniqueName() + "_" + ConceptTypeEnum.getName(1);
+                    if (conceptDetailMap.containsKey(key)) {
+                        List<ConceptDetail> conceptDetailList = conceptDetailMap.get(key);
+                        treatDTO.setGeneraTreat(conceptDetailList
+                                .stream()
+                                .filter(i -> Arrays.asList(i.getContentType().split(",")).contains("4"))
+                                .collect(Collectors.toList())
+                                .get(0).getContent());
+                    }
+                }
+            }
+        }
+        return retGeneraTreat;
+    }
 }