Bläddra i källkod

推理量表入参映射

zhaops 3 år sedan
förälder
incheckning
fcf6137b0d
1 ändrade filer med 37 tillägg och 2 borttagningar
  1. 37 2
      src/main/java/com/diagbot/aggregate/AssembleAggregate.java

+ 37 - 2
src/main/java/com/diagbot/aggregate/AssembleAggregate.java

@@ -3,6 +3,7 @@ package com.diagbot.aggregate;
 import com.diagbot.biz.push.entity.Item;
 import com.diagbot.biz.push.entity.Lis;
 import com.diagbot.biz.push.entity.Pacs;
+import com.diagbot.biz.push.entity.Scale;
 import com.diagbot.enums.ConceptTypeEnum;
 import com.diagbot.enums.StatusEnum;
 import com.diagbot.facade.MappingConfigFacade;
@@ -48,7 +49,8 @@ public class AssembleAggregate {
             @DataConsumer("operationConfigMap") Map<String, Map<String, Map<String, List<String>>>> operationConfigMap,
             @DataConsumer("deptConfigMap") Map<String, Map<String, Map<String, List<String>>>> deptConfigMap,
             @DataConsumer("transfusionConfigMap") Map<String, Map<String, Map<String, List<String>>>> transfusionConfigMap,
-            @DataConsumer("routeConfigMap") Map<String, Map<String, Map<String, List<String>>>> routeConfigMap) {
+            @DataConsumer("routeConfigMap") Map<String, Map<String, Map<String, List<String>>>> routeConfigMap,
+            @DataConsumer("scaleConfigMap") Map<String, Map<String, Map<String, List<String>>>> scaleConfigMap) {
         //检验
         if (MapUtils.isNotEmpty(lisConfigMap)) {
             if (ListUtil.isNotEmpty(searchData.getLis())) {
@@ -144,6 +146,13 @@ public class AssembleAggregate {
                 searchData.setTransfusionOrder(convertItem);
             }
         }
+        //量表
+        if (MapUtils.isNotEmpty(scaleConfigMap)) {
+            if (ListUtil.isNotEmpty(searchData.getScale())) {
+                List<Scale> convertItem = addUniqueName(searchData.getScale(), scaleConfigMap, ConceptTypeEnum.Scale.getKey());
+                searchData.setScale(convertItem);
+            }
+        }
         return searchData;
     }
 
@@ -416,6 +425,32 @@ public class AssembleAggregate {
         return configMap;
     }
 
+    @DataProvider("scaleConfigMap")
+    public Map<String, Map<String, Map<String, List<String>>>> scaleConfigMap(@InvokeParameter("searchData") SearchData searchData) {
+        //量表公表转换
+        List<String> scaleHisNameList = Lists.newArrayList();
+        //scale
+        if (ListUtil.isNotEmpty(searchData.getScale())) {
+            scaleHisNameList.addAll(searchData.getScale()
+                    .stream()
+                    .filter(i -> StringUtil.isNotBlank(i.getName()) || StringUtil.isNotBlank(i.getUniqueName()))
+                    .map(i -> i.getName())
+                    .collect(Collectors.toList()));
+        }
+        scaleHisNameList = scaleHisNameList
+                .stream()
+                .distinct()
+                .collect(Collectors.toList());
+
+        Map<String, Map<String, Map<String, List<String>>>> configMap = new HashMap<>();
+
+        if (ListUtil.isNotEmpty(scaleHisNameList)) {
+            configMap
+                    = mappingConfigFacade.groupByHisNameWithName(scaleHisNameList, ConceptTypeEnum.Scale.getKey(), searchData.getHospitalId(), StatusEnum.Enable.getKey());
+        }
+        return configMap;
+    }
+
     /**
      * 标准名称转换
      *
@@ -582,4 +617,4 @@ public class AssembleAggregate {
         }
         return retList;
     }
-}
+}