Explorar el Código

化验大小项从词库检索

zhoutg hace 6 años
padre
commit
00abcbf09b

+ 16 - 2
icssman-service/src/main/java/com/diagbot/facade/QuestionFacade.java

@@ -20,6 +20,7 @@ import com.diagbot.entity.wrapper.QuestionMappingWrapper;
 import com.diagbot.entity.wrapper.QuestionWrapper;
 import com.diagbot.enums.InsertOrUpdateEnum;
 import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.enums.QuestionTypeEnum;
 import com.diagbot.enums.TagTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
@@ -426,15 +427,28 @@ public class QuestionFacade extends QuestionInfoServiceImpl {
             bean.setModifier(mapRespDTO.data.get(bean.getModifier()));
         }
 
-        List<String> nameList = res.getRecords().stream().map(row -> row.getTagName()).collect(Collectors.toList());
+        // 如果是化验明细项,获取name字段和术语库对应,其他用tagName
+        List<String> nameList = new ArrayList<>();
         ConceptExistVO conceptExistVO = new ConceptExistVO();
+        for (QuestionPageDTO bean : res.getRecords()) {
+            if (QuestionTypeEnum.Lis.getKey() == bean.getType() && TagTypeEnum.T7.getKey() != bean.getTagType().intValue()) {
+                nameList.add(bean.getName());
+            } else {
+                nameList.add(bean.getTagName());
+            }
+        }
         conceptExistVO.setNameList(nameList);
         try {
             RespDTO<Map<String, List<Integer>>> resMap = knowledgemanServiceClient.getConceptMap(conceptExistVO);
             RespDTOUtil.respNGDeal(resMap, "远程调用根据名称和类型获取概念列表失败");
             Map<String, List<Integer>> map = resMap.data;
             for (QuestionPageDTO bean : res.getRecords()) {
-                List<Integer> list = map.get(bean.getTagName());
+                List<Integer> list = new ArrayList<>();
+                if (QuestionTypeEnum.Lis.getKey() == bean.getType() && TagTypeEnum.T7.getKey() != bean.getTagType().intValue()) {
+                    list = map.get(bean.getName());
+                } else {
+                    list = map.get(bean.getTagName());
+                }
                 if (ListUtil.isNotEmpty(list)) {
                     if (list.contains(bean.getType())) {
                         bean.setExist(true);

+ 2 - 0
icssman-service/src/main/java/com/diagbot/vo/ConceptExistVO.java

@@ -18,4 +18,6 @@ public class ConceptExistVO {
     private List<String> nameList;
     @ApiModelProperty(value = "类型")
     private Integer type;
+    @ApiModelProperty(hidden = true)
+    private Boolean isLisDetail = false;
 }

+ 0 - 1
icssman-service/src/main/java/com/diagbot/vo/QuestionPageVO.java

@@ -19,6 +19,5 @@ public class QuestionPageVO extends Page {
     private String tagName;
     private List<Integer> tagTypeList;
     private List<Integer> controlTypeList;
-    private Integer disType;
     private List<Integer> notTypeList;
 }

+ 13 - 5
knowledgeman-service/src/main/java/com/diagbot/facade/ConceptFacade.java

@@ -957,11 +957,16 @@ public class ConceptFacade extends ConceptServiceImpl {
         }
 
         if (conceptExistVO.getType() != null) {
-            Integer libType = ParamConvertUtil.conceptConvert2Lib(conceptExistVO.getType());
-            if (libType == null) {
-                throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "类型不匹配");
+            // 如果是化验明细项,直接赋值
+            if (conceptExistVO.getIsLisDetail() == true) {
+                conceptExistVO.setLibType(LexiconTypeEnum.LIS_DETAILS.getKey());
+            } else {
+                Integer libType = ParamConvertUtil.conceptConvert2Lib(conceptExistVO.getType());
+                if (libType == null) {
+                    throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "类型不匹配");
+                }
+                conceptExistVO.setLibType(libType);
             }
-            conceptExistVO.setLibType(libType);
         }
 
         //获取结构
@@ -974,7 +979,10 @@ public class ConceptFacade extends ConceptServiceImpl {
             List<Integer> typeList = new ArrayList<>();
             if (ListUtil.isNotEmpty(list)) {
                 for (Concept c : list) {
-                    typeList.add(ParamConvertUtil.libConvert2Concept(c.getLibType().intValue()));
+                    Integer type = ParamConvertUtil.libConvert2Concept(c.getLibType().intValue());
+                    if (type != null) {
+                        typeList.add(type);
+                    }
                 }
                 typeMap.put(key, typeList);
             }

+ 13 - 1
knowledgeman-service/src/main/java/com/diagbot/util/ParamConvertUtil.java

@@ -83,7 +83,19 @@ public class ParamConvertUtil {
             case SYMPTOM:
                 type = ConceptTypeEnum.Symptom.getKey();
                 break;
-            case HISTORY:
+            case HISTORY_OF_PAST_DISEASES:
+            case HISTORY_OF_TRAUMA:
+            case HISTORY_OF_SURGERY:
+            case HISTORY_OF_BLOOD_TRANSFUSION:
+            case INFECTIOUS_DISEASE_HISTORY:
+            case BAD_HABITS:
+            case MARITAL_HISTORY:
+            case HISTORY_OF_MARRIAGE_AND_CHILDBEARING:
+            case BIRTH_HISTORY:
+            case FAMILY_HISTORY:
+            case FOOD_ALLERGY_HISTORY:
+            case HISTORY_OF_DRUG_ALLERGY:
+            case FAMILY_RELATED_INFECTIOUS_DISEASE_HISTORY:
                 type = ConceptTypeEnum.Other.getKey();
                 break;
             case VITAL_INDEX:

+ 2 - 0
knowledgeman-service/src/main/java/com/diagbot/vo/ConceptExistVO.java

@@ -20,4 +20,6 @@ public class ConceptExistVO {
     private Integer type;
     @ApiModelProperty(hidden = true)
     private Integer libType;
+    @ApiModelProperty(hidden = true)
+    private Boolean isLisDetail;
 }