Sfoglia il codice sorgente

化验公表映射优化

Zhaops 6 anni fa
parent
commit
0b22bc62ec

+ 1 - 1
icss-service/src/main/java/com/diagbot/facade/AssembleFacade.java

@@ -66,7 +66,7 @@ public class AssembleFacade {
         //化验项映射,转公表
         if (ListUtil.isNotEmpty(pushVO.getLis())) {
             List<String> mealNameList = pushVO.getLis().stream().map(lisResult -> lisResult.getName()).collect(Collectors.toList());
-            Map<String, Map<String, String>> lisConfigMap = lisMappingFacade.getLisMapping(mealNameList);
+            Map<String, Map<String, String>> lisConfigMap = lisMappingFacade.getLisMappingByMealName(mealNameList);
             for (LisResult lisResult : pushVO.getLis()) {
                 //source=0 icss页面数据,source=1 外部导入数据,外部导入数据不处理
                 if (!lisResult.getSource().equals(LisSourceEnum.Inner.getKey())) {

+ 7 - 20
icss-service/src/main/java/com/diagbot/facade/LisMappingFacade.java

@@ -27,7 +27,7 @@ public class LisMappingFacade extends LisMappingServiceImpl {
      * @param mealNameList
      * @return
      */
-    public Map<String, Map<String, String>> getLisMapping(List<String> mealNameList) {
+    public Map<String, Map<String, String>> getLisMappingByMealName(List<String> mealNameList) {
         Map<String, Map<String, String>> retMap = new LinkedHashMap<>();
         QueryWrapper<LisMapping> lisMappingQueryWrapper = new QueryWrapper<>();
         lisMappingQueryWrapper.select("meal_name,ifnull(item_name,'') as item_name,unique_name").eq("is_deleted", IsDeleteEnum.N.getKey());//.isNotNull("item_name").ne("item_name", "");
@@ -46,31 +46,18 @@ public class LisMappingFacade extends LisMappingServiceImpl {
         return retMap;
     }
 
-    /**
-     * 根据医院编码获取化验公表映射关系-itemName为空 Map<mealName,uniqueName>
-     *
-     * @return
-     */
-    public Map<String, String> getLisConfig_EmptyItemName(List<String> mealNameList) {
-        QueryWrapper<LisMapping> lisMappingQueryWrapper = new QueryWrapper<>();
-        lisMappingQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).isNull("item_name").or(i -> i.eq("item_name", ""));
-        if (ListUtil.isNotEmpty(mealNameList)) {
-            lisMappingQueryWrapper.in("meal_name", mealNameList);
-        }
-        List<LisMapping> lisMappingList = this.list(lisMappingQueryWrapper);
-        Map<String, String> retMap = EntityUtil.makeMapWithKeyValue(lisMappingList, "mealName", "uniqueName");
-        return retMap;
-    }
-
     /**
      * 化验公表映射关系  Map<uniqueName,List<mealName>>
-     *
+     * @param uniqueNameList
      * @return
      */
-    public Map<String, List<String>> getLisMappingByUniqueName() {
+    public Map<String, List<String>> getLisMappingByUniqueName(List<String> uniqueNameList) {
         Map<String, List<String>> retMap = new LinkedHashMap<>();
         QueryWrapper<LisMapping> lisMappingQueryWrapper = new QueryWrapper<>();
         lisMappingQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
+        if (ListUtil.isNotEmpty(uniqueNameList)) {
+            lisMappingQueryWrapper.in("unique_name", uniqueNameList);
+        }
         List<LisMapping> lisMappingList = this.list(lisMappingQueryWrapper);
         Map<String, List<LisMapping>> lisMappingMap = EntityUtil.makeEntityListMap(lisMappingList, "uniqueName");
         for (Map.Entry<String, List<LisMapping>> entry : lisMappingMap.entrySet()) {
@@ -92,7 +79,7 @@ public class LisMappingFacade extends LisMappingServiceImpl {
 
         List<String> mealNameList= Lists.newLinkedList();
         mealNameList.add(project);
-        Map<String, Map<String, String>> lisMappingMap = getLisMapping(mealNameList);
+        Map<String, Map<String, String>> lisMappingMap = getLisMappingByMealName(mealNameList);
 
         Map<String, Map<String, String>> retMap = new LinkedHashMap<>();
         Map<String, String> projectMap = new LinkedHashMap<>();

+ 2 - 1
icss-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -149,8 +149,9 @@ public class PushFacade {
         if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Lis.getKey()))) {
             List<QuestionPushDTO> labs = data.getLab();
             if (ListUtil.isNotEmpty(labs)) {
+                List<String> uniqueNameList = labs.stream().map(lab -> lab.getName()).collect(Collectors.toList());
                 //公表项转套餐项
-                Map<String, List<String>> lisMapping = lisMappingFacade.getLisMappingByUniqueName();
+                Map<String, List<String>> lisMapping = lisMappingFacade.getLisMappingByUniqueName(uniqueNameList);
                 List<String> nameList = Lists.newLinkedList();
                 Map<String, Long> lisMap = new LinkedHashMap<>();
                 List<QuestionPushDTO> lisDTO = Lists.newLinkedList();