Explorar o código

1、批量术语校验

zhaops %!s(int64=4) %!d(string=hai) anos
pai
achega
7ba6661a5f

+ 1 - 0
src/main/java/com/diagbot/dto/IndexBatchDTO.java

@@ -15,4 +15,5 @@ public class IndexBatchDTO {
     private String name;
     private String code;
     private String synonyms;
+    private Integer type;
 }

+ 84 - 43
src/main/java/com/diagbot/facade/KlConceptFacade.java

@@ -60,14 +60,27 @@ public class KlConceptFacade extends KlConceptServiceImpl {
      * @return
      */
     public List<IndexBatchDTO> getConceptNames(ConceptVO conceptVO) {
-        if (ListUtil.isEmpty(conceptVO.getNames())) {
+        if (ListUtil.isEmpty(conceptVO.getNames()) && ListUtil.isEmpty(conceptVO.getIds())) {
             return new ArrayList<>();
         }
         List<IndexBatchDTO> retList = Lists.newLinkedList();
         //type: 类型:1-化验大项、2-化验小项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、10-量表、11-护理、12-中医诊断、13-中医证候
-        Integer type = convertType(conceptVO.getType());
+        Integer type = convertType(conceptVO.getType(), false);
 
-        if (conceptVO.getSource().equals(MatchSourceEnum.StandWord.getKey())) {
+        if (conceptVO.getSource().equals(-1)) {
+            //根据id检索
+            List<KlConcept> concepts = this.list(new QueryWrapper<KlConcept>()
+                    .eq("is_deleted", IsDeleteEnum.N.getKey())
+                    .eq("status", StatusEnum.Enable.getKey())
+                    .in("id", conceptVO.getIds()));
+            for (KlConcept concept : concepts) {
+                IndexBatchDTO dto = new IndexBatchDTO();
+                dto.setId(concept.getId());
+                dto.setName(concept.getLibName());
+                dto.setType(convertType(concept.getLibType(), true));
+                retList.add(dto);
+            }
+        } else if (conceptVO.getSource().equals(MatchSourceEnum.StandWord.getKey())) {
             QueryWrapper<KlConcept> queryWrapper = new QueryWrapper<>();
             queryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
                     .eq("status", StatusEnum.Enable.getKey())
@@ -271,48 +284,76 @@ public class KlConceptFacade extends KlConceptServiceImpl {
     }
 
 
-    public Integer convertType(Integer type) {
+    public Integer convertType(Integer type, Boolean reverse) {
         Integer retType = null;
         //type: 类型:1-化验大项、2-化验小项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、10-量表、11-护理、12-中医诊断、13-中医证候
-        switch (type) {
-            case 1:
-                retType = LexiconEnum.LisName.getKey();
-                break;
-            case 2:
-                retType = LexiconEnum.LisSubName.getKey();
-                break;
-            case 3:
-                retType = LexiconEnum.PacsName.getKey();
-                break;
-            case 4:
-                retType = LexiconEnum.Disease.getKey();
-                break;
-            case 5:
-                retType = LexiconEnum.Medicine.getKey();
-                break;
-            case 6:
-                retType = LexiconEnum.Operation.getKey();
-                break;
-            case 7:
-                retType = LexiconEnum.Dept.getKey();
-                break;
-            case 8:
-                retType = LexiconEnum.Transfusion.getKey();
-                break;
-            case 10:
-                retType = LexiconEnum.Scale.getKey();
-                break;
-            case 11:
-                retType = LexiconEnum.Nurse.getKey();
-                break;
-            case 12:
-                retType = LexiconEnum.Tcmdisease.getKey();
-                break;
-            case 13:
-                retType = LexiconEnum.Tcmsyndrome.getKey();
-                break;
-            default:
-                break;
+        if (reverse) {
+            if (type.equals(LexiconEnum.LisName.getKey())
+                    || type.equals(LexiconEnum.LisSubName.getKey())) {
+                retType = ConceptTypeEnum.LisPack.getKey();
+            } else if (type.equals(LexiconEnum.PacsName.getKey())
+                    || type.equals(LexiconEnum.PacsSubName.getKey())) {
+                retType = ConceptTypeEnum.Pacs.getKey();
+            } else if (type.equals(LexiconEnum.Disease.getKey())) {
+                retType = ConceptTypeEnum.Disease.getKey();
+            } else if (type.equals(LexiconEnum.Medicine.getKey())) {
+                retType = ConceptTypeEnum.Drug.getKey();
+            } else if (type.equals(LexiconEnum.Operation.getKey())) {
+                retType = ConceptTypeEnum.Operation.getKey();
+            } else if (type.equals(LexiconEnum.Dept.getKey())) {
+                retType = ConceptTypeEnum.Dept.getKey();
+            } else if (type.equals(LexiconEnum.Transfusion.getKey())) {
+                retType = ConceptTypeEnum.Transfusion.getKey();
+            } else if (type.equals(LexiconEnum.Scale.getKey())) {
+                retType = ConceptTypeEnum.Scale.getKey();
+            } else if (type.equals(LexiconEnum.Nurse.getKey())) {
+                retType = ConceptTypeEnum.Nurse.getKey();
+            } else if (type.equals(LexiconEnum.Tcmdisease.getKey())) {
+                retType = ConceptTypeEnum.Tcmdisease.getKey();
+            } else if (type.equals(LexiconEnum.Tcmsyndrome.getKey())) {
+                retType = ConceptTypeEnum.Tcmsyndrome.getKey();
+            }
+        } else {
+            switch (type) {
+                case 1:
+                    retType = LexiconEnum.LisName.getKey();
+                    break;
+                case 2:
+                    retType = LexiconEnum.LisSubName.getKey();
+                    break;
+                case 3:
+                    retType = LexiconEnum.PacsName.getKey();
+                    break;
+                case 4:
+                    retType = LexiconEnum.Disease.getKey();
+                    break;
+                case 5:
+                    retType = LexiconEnum.Medicine.getKey();
+                    break;
+                case 6:
+                    retType = LexiconEnum.Operation.getKey();
+                    break;
+                case 7:
+                    retType = LexiconEnum.Dept.getKey();
+                    break;
+                case 8:
+                    retType = LexiconEnum.Transfusion.getKey();
+                    break;
+                case 10:
+                    retType = LexiconEnum.Scale.getKey();
+                    break;
+                case 11:
+                    retType = LexiconEnum.Nurse.getKey();
+                    break;
+                case 12:
+                    retType = LexiconEnum.Tcmdisease.getKey();
+                    break;
+                case 13:
+                    retType = LexiconEnum.Tcmsyndrome.getKey();
+                    break;
+                default:
+                    break;
+            }
         }
         return retType;
     }

+ 1 - 0
src/main/java/com/diagbot/vo/ConceptVO.java

@@ -14,6 +14,7 @@ import java.util.List;
 @Getter
 @Setter
 public class ConceptVO {
+    private List<Long> ids;
     private List<String> names;
     @NotNull(message = "请输入术语类型")
     private Integer type;

+ 2 - 1
src/main/java/com/diagbot/web/RetrievalController.java

@@ -61,8 +61,9 @@ public class RetrievalController {
 
     @ApiOperation(value = "术语批量查询[zhaops]",
             notes = "type: 类型:1-化验大项、2-化验小项、3-辅检、4-诊断、5-药品、6-手术和操作、7-科室、8-输血、10-量表、11-护理、12-中医诊断、13-中医证候<br>" +
+                    "ids: 术语id列表<br>" +
                     "names: 术语列表<br>" +
-                    "source: 数据来源:1-标准词、2-同义词、3-编码、4-历史数据、5-相似词、99-数据迁移<br>")
+                    "source: 数据来源:-1-id匹配、1-标准词、2-同义词、3-编码、4-历史数据、5-相似词、99-数据迁移<br>")
     @PostMapping("/getConceptNames")
     public RespDTO<List<IndexBatchDTO>> getConceptNames(@Valid @RequestBody ConceptVO conceptVO) {
         List<IndexBatchDTO> data = klConceptFacade.getConceptNames(conceptVO);