浏览代码

数据引擎模式代码优化

zhaops 5 年之前
父节点
当前提交
efe02051d8

+ 68 - 109
aipt-service/src/main/java/com/diagbot/facade/TransferFacade.java

@@ -6,6 +6,7 @@ import com.diagbot.dto.LisResult;
 import com.diagbot.dto.PacsResult;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.dto.SysSetInfoDTO;
+import com.diagbot.enums.FeatureTypeEnum;
 import com.diagbot.enums.LisSourceEnum;
 import com.diagbot.enums.SysTypeEnum;
 import com.diagbot.util.BeanUtil;
@@ -37,7 +38,6 @@ public class TransferFacade {
     @Autowired
     private TranServiceClient tranServiceClient;
 
-
     /**
      * 查询对接状态
      *
@@ -76,7 +76,7 @@ public class TransferFacade {
     }
 
     /**
-     * 增加化验公表项
+     * 化验结果增肌公表名
      *
      * @param lisResults
      * @param hosCode
@@ -126,30 +126,9 @@ public class TransferFacade {
         return retLisResults;
     }
 
-    /**
-     * 获取化验公表映射关系
-     *
-     * @param nameList
-     * @param hosCode
-     * @return
-     */
-    public Map<String, Map<String, List<String>>> getLisConfigByMealNameAndHosCode(List<String> nameList, String hosCode) {
-        Map<String, Map<String, List<String>>> lisConfigMap = new LinkedHashMap<>();
-        if (ListUtil.isNotEmpty(nameList) && StringUtil.isNotBlank(hosCode)) {
-            LisConfigVO lisConfigVO = new LisConfigVO();
-            lisConfigVO.setHosCode(hosCode);
-            lisConfigVO.setMealNameList(nameList);
-            RespDTO<Map<String, Map<String, List<String>>>> lisConfigRes
-                    = tranServiceClient.getLisConfigByMealNameAndHosCode(lisConfigVO);
-            if (RespDTOUtil.respIsOK(lisConfigRes)) {
-                lisConfigMap = lisConfigRes.data;
-            }
-        }
-        return lisConfigMap;
-    }
 
     /**
-     * 辅检公表转换
+     * 辅检结果增加公表名(辅检项目名称)
      *
      * @param pacsArr
      * @param hosCode
@@ -185,111 +164,91 @@ public class TransferFacade {
     }
 
     /**
-     * 化验字符串映射转换,仅限套餐
+     * 获取化验公表映射关系
      *
-     * @param lisStr
+     * @param nameList
      * @param hosCode
      * @return
      */
-    public String lisStrConvert(String lisStr, String hosCode) {
-        String retLisStr = "";
-        if (StringUtil.isBlank(lisStr)) {
-            return retLisStr;
-        }
-        String[] lisArr = lisStr.replace(" ", "").split(",|,|;|;");
-        List<String> lisList = Arrays.asList(lisArr);
-        Map<String, Map<String, List<String>>> map = getLisConfigByMealNameAndHosCode(lisList, hosCode);
-        if (map != null) {
-            for (String lis : lisList) {
-                Map<String, List<String>> itemMap = map.get(lis);
-                if (itemMap != null && itemMap.get("") != null) {
-                    retLisStr += String.join(",", itemMap.get("")) + ",";
-                }
+    public Map<String, Map<String, List<String>>> getLisConfigByMealNameAndHosCode(List<String> nameList, String hosCode) {
+        Map<String, Map<String, List<String>>> lisConfigMap = new LinkedHashMap<>();
+        if (ListUtil.isNotEmpty(nameList) && StringUtil.isNotBlank(hosCode)) {
+            LisConfigVO lisConfigVO = new LisConfigVO();
+            lisConfigVO.setHosCode(hosCode);
+            lisConfigVO.setMealNameList(nameList);
+            RespDTO<Map<String, Map<String, List<String>>>> lisConfigRes
+                    = tranServiceClient.getLisConfigByMealNameAndHosCode(lisConfigVO);
+            if (RespDTOUtil.respIsOK(lisConfigRes)) {
+                lisConfigMap = lisConfigRes.data;
             }
         }
-        if (retLisStr.endsWith(",")) {
-            retLisStr = retLisStr.substring(0, retLisStr.length() - 1);
-        }
-        return retLisStr;
+        return lisConfigMap;
     }
 
     /**
-     * 辅检字符串映射转换
+     * 外部项目名称转内部名称-字符串格式
      *
-     * @param pacsStr
-     * @param hosCode
+     * @param originalStr 原始数据
+     * @param hosCode     医院编码
+     * @param type        5-化验(仅限套餐),6-辅检,7-诊断
      * @return
      */
-    public String pacsStrConvert(String pacsStr, String hosCode) {
-        String retPacsStr = "";
-        if (StringUtil.isBlank(pacsStr)) {
-            return retPacsStr;
-        }
-        String[] pacsArr = pacsStr.replace(" ", "").split(",|,|;|;");
-        PacsConfigVO pacsConfigVO = new PacsConfigVO();
-        pacsConfigVO.setHosCode(hosCode);
-        pacsConfigVO.setMealNameList(Arrays.asList(pacsArr));
-        RespDTO<Map<String, List<String>>> pacsRespDTO = tranServiceClient.getPacsConfig(pacsConfigVO);
-        if (RespDTOUtil.respIsOK(pacsRespDTO)) {
-            Map<String, List<String>> pacsMap = pacsRespDTO.data;
-            for (Map.Entry<String, List<String>> entry : pacsMap.entrySet()) {
-                if (ListUtil.isNotEmpty(entry.getValue())) {
-                    retPacsStr += String.join(",", entry.getValue()) + ",";
-                }
-            }
+    public String strConvert(String originalStr, String hosCode, Integer type) {
+        String retStr = "";
+        if (StringUtil.isBlank(originalStr)) {
+            return retStr;
         }
-        if (retPacsStr.endsWith(",")) {
-            retPacsStr = retPacsStr.substring(0, retPacsStr.length() - 1);
-        }
-        return retPacsStr;
-    }
-
-    /**
-     * 诊断名称映射转换
-     *
-     * @param diseaseStr
-     * @param hosCode
-     * @param type       1-外部名称转内部名称,2-内部名称转外部名称
-     * @return
-     */
-    public String convertDisease(String diseaseStr, String hosCode, Integer type) {
-        String[] diseases = diseaseStr.replace(" ", "").split(",|,|;|;");
-        List<String> diseaseList = Arrays.asList(diseases);
-        diseaseList = diseaseList
+        String[] strArr = originalStr
+                .replace(" ", "")
+                .split(",|,|;|;");
+        List<String> strList = Arrays.asList(strArr);
+        strList = strList
                 .stream()
-                .filter(i -> StringUtil.isNotBlank(i))
+                .filter(str -> StringUtil.isNotBlank(str))
                 .distinct()
                 .collect(Collectors.toList());
-        DiseaseIcdVO diseaseIcdVO = new DiseaseIcdVO();
-        diseaseIcdVO.setHosCode(hosCode);
-        if (type.equals(1)) {
-            diseaseIcdVO.setDiseaseNameList(diseaseList);
-        } else if (type.equals(2)) {
-            diseaseIcdVO.setConceptDisNameList(diseaseList);
-        }
-        String convertDiag = "";
-        Map<String, String> disMap = new LinkedHashMap<>();
-        RespDTO<Map<String, String>> disRespDTO = tranServiceClient.getDiseaseIcdMap(diseaseIcdVO);
-        if (RespDTOUtil.respIsOK(disRespDTO)) {
-            disMap = disRespDTO.data;
-            List<String> disNameList = Lists.newLinkedList();
-            if (type.equals(1)) {
-                //外部名称转内部名称
-                disNameList = diseaseIcdVO.getDiseaseNameList();
-            } else if (type.equals(2)) {
-                //内部名称转外部名称
-                disNameList = diseaseIcdVO.getConceptDisNameList();
+        if (type.equals(FeatureTypeEnum.Feature_Type_Lis.getKey())) {
+            Map<String, Map<String, List<String>>> map = getLisConfigByMealNameAndHosCode(strList, hosCode);
+            if (map != null) {
+                for (String lis : strList) {
+                    Map<String, List<String>> itemMap = map.get(lis);
+                    if (itemMap != null && itemMap.get("") != null) {
+                        retStr += String.join(",", itemMap.get("")) + ",";
+                    }
+                }
             }
 
-            for (String diseaseName : disNameList) {
-                if (StringUtil.isNotBlank(disMap.get(diseaseName))) {
-                    convertDiag += disMap.get(diseaseName) + ",";
+        } else if (type.equals(FeatureTypeEnum.Feature_Type_Pacs.getKey())) {
+            PacsConfigVO pacsConfigVO = new PacsConfigVO();
+            pacsConfigVO.setHosCode(hosCode);
+            pacsConfigVO.setMealNameList(strList);
+            RespDTO<Map<String, List<String>>> pacsRespDTO = tranServiceClient.getPacsConfig(pacsConfigVO);
+            if (RespDTOUtil.respIsOK(pacsRespDTO)) {
+                Map<String, List<String>> pacsMap = pacsRespDTO.data;
+                for (Map.Entry<String, List<String>> entry : pacsMap.entrySet()) {
+                    if (ListUtil.isNotEmpty(entry.getValue())) {
+                        retStr += String.join(",", entry.getValue()) + ",";
+                    }
+                }
+            }
+        } else if (type.equals(FeatureTypeEnum.Feature_Type_Disease.getKey())) {
+            DiseaseIcdVO diseaseIcdVO = new DiseaseIcdVO();
+            diseaseIcdVO.setHosCode(hosCode);
+            diseaseIcdVO.setDiseaseNameList(strList);
+            Map<String, String> disMap = new LinkedHashMap<>();
+            RespDTO<Map<String, String>> disRespDTO = tranServiceClient.getDiseaseIcdMap(diseaseIcdVO);
+            if (RespDTOUtil.respIsOK(disRespDTO)) {
+                disMap = disRespDTO.data;
+                for (String diseaseName : strList) {
+                    if (StringUtil.isNotBlank(disMap.get(diseaseName))) {
+                        retStr += disMap.get(diseaseName) + ",";
+                    }
                 }
             }
         }
-        if (convertDiag.endsWith(",")) {
-            convertDiag = convertDiag.substring(0, convertDiag.length() - 1);
+        if (retStr.endsWith(",")) {
+            retStr = retStr.substring(0, retStr.length() - 1);
         }
-        return convertDiag;
+        return retStr;
     }
-}
+}

+ 0 - 1
ltapi-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -8,7 +8,6 @@ import com.diagbot.dto.PushDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.enums.FeatureTypeEnum;
 import com.diagbot.util.RespDTOUtil;
-import com.diagbot.util.StringUtil;
 import com.diagbot.vo.PushVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;