Forráskód Böngészése

添加选中诊断推送药品和手术

kongwz 4 éve
szülő
commit
7af5178929

+ 4 - 0
src/main/java/com/diagbot/dto/TreatDTO.java

@@ -16,4 +16,8 @@ import java.util.List;
 public class TreatDTO extends Item {
     //一般治疗
     private String generaTreat;
+    //药品治疗
+    private List<PushBaseDTO> medicineTreat;
+    //手术治疗
+    private List<PushBaseDTO> operaterTreat;
 }

+ 29 - 0
src/main/java/com/diagbot/facade/NeoFacade.java

@@ -15,6 +15,7 @@ import com.diagbot.entity.relationship.LisRemindYiBaoDiseaseName;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.enums.RedisEnum;
 import com.diagbot.enums.StandConvertEnum;
+import com.diagbot.enums.StaticTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.mapper.GraphDiseaseCorrespondingMapper;
@@ -922,6 +923,34 @@ public class NeoFacade {
         return neoPushDTO;
     }
 
+
+    /**
+     * 根据选中的诊断推送药品和手术
+     * @param disName
+     */
+    public Map<String,List<String>> reverseInfoByDisName(String disName) {
+        Map<String,List<String>> type_contents = new HashMap<>();
+        List<DiseaseInfo> diseaseInfo = nodeRepository.getDiseaseInfo(disName);
+        if (ListUtil.isNotEmpty(diseaseInfo)) {
+            diseaseInfo.forEach(disIf -> {
+                String tp = disIf.getTp();
+                List<String> col = disIf.getCol();
+                switch (tp) {
+                    case "医保疾病名称相关药物治疗":
+                        type_contents.put(StaticTypeEnum.DRUG.getName(),col);
+                        break;
+                    case "医保疾病名称相关医保手术和操作名称":
+                        type_contents.put(StaticTypeEnum.OPT.getName(),col);
+                        break;
+                    default:
+                        break;
+                }
+            });
+
+        }
+        return type_contents;
+    }
+
     /**
      * 处理开单合理性图谱数据
      *

+ 16 - 4
src/main/java/com/diagbot/process/PushProcess.java

@@ -9,10 +9,7 @@ import com.diagbot.dto.icss.FeatureRate;
 import com.diagbot.dto.icss.Response;
 import com.diagbot.dto.icss.ResponseData;
 import com.diagbot.entity.PreResult;
-import com.diagbot.enums.DiseaseTypeEnum;
-import com.diagbot.enums.MedicalAdviceEnum;
-import com.diagbot.enums.RedisEnum;
-import com.diagbot.enums.StandConvertEnum;
+import com.diagbot.enums.*;
 import com.diagbot.facade.CommonFacade;
 import com.diagbot.facade.NeoFacade;
 import com.diagbot.facade.TranLisConfigIcssFacade;
@@ -99,6 +96,21 @@ public class PushProcess {
             String uniqueName = diaeaseName.getUniqueName();
             uniqueName = StringUtils.isNotBlank(uniqueName)?uniqueName:diaeaseName.getName();
             treatDTO.setUniqueName(uniqueName);
+            Map<String,List<String>> reverseInfoByDisName = neoFacade.reverseInfoByDisName(uniqueName);
+            if(reverseInfoByDisName.containsKey(StaticTypeEnum.DRUG.getName())){
+                treatDTO.setMedicineTreat(reverseInfoByDisName.get(StaticTypeEnum.DRUG.getName()).stream().map(x -> {
+                    PushBaseDTO pushBaseDTO = new PushBaseDTO();
+                    pushBaseDTO.setName(x);
+                    return pushBaseDTO;
+                }).collect(Collectors.toList()));
+            }
+            if(reverseInfoByDisName.containsKey(StaticTypeEnum.OPT.getName())){
+                treatDTO.setOperaterTreat(reverseInfoByDisName.get(StaticTypeEnum.OPT.getName()).stream().map(x -> {
+                    PushBaseDTO pushBaseDTO = new PushBaseDTO();
+                    pushBaseDTO.setName(x);
+                    return pushBaseDTO;
+                }).collect(Collectors.toList()));
+            }
             collect.add(treatDTO);
             pushDTO.setTreat(collect);
         }