Browse Source

静态知识检索

zhaops 5 years ago
parent
commit
466d1bba3c

+ 31 - 17
src/main/java/com/diagbot/facade/RetrievalFacade.java

@@ -194,6 +194,7 @@ public class RetrievalFacade {
         List<Integer> types = staticKnowledgeIndexVO.getTypes();
         List<ICDDisease> icdDiseaseList = icdDiseaseRepository.findByNameLike("*" + inputStr + "*");
         List<Medicine> medicineList = medicineRepository.findByNameLike("*" + inputStr + "*");
+        List<LISPack> lisPackList = lisPackRepository.findByNameLike("*" + inputStr + "*");
         List<LIS> lisList = lisRepository.findByNameLike("*" + inputStr + "*");
         List<PACS> pacsList = pacsRepository.findByNameLike("*" + inputStr + "*");
         List<Operation> operationList = operationRepository.findByNameLike("*" + inputStr + "*");
@@ -203,7 +204,7 @@ public class RetrievalFacade {
             StaticKnowledgeIndexDTO staticDTO = new StaticKnowledgeIndexDTO();
             staticDTO.setName(icdDisease.getName());
             staticDTO.setType(1);
-            staticDTO.setTypeName("诊断");
+            staticDTO.setTypeName("医保ICD-10疾病");
             disRetList.add(staticDTO);
         }
         //TODO 药品
@@ -212,11 +213,20 @@ public class RetrievalFacade {
             StaticKnowledgeIndexDTO staticDTO = new StaticKnowledgeIndexDTO();
             staticDTO.setName(medicine.getName());
             staticDTO.setType(2);
-            staticDTO.setTypeName("药品");
+            staticDTO.setTypeName("药品通用名");
             drugRetList.add(staticDTO);
         }
-        //TODO 检验
+        //TODO 检验套餐
         List<StaticKnowledgeIndexDTO> lisPackRetList = Lists.newLinkedList();
+        for (LISPack lisPack : lisPackList) {
+            StaticKnowledgeIndexDTO staticDTO = new StaticKnowledgeIndexDTO();
+            staticDTO.setName(lisPack.getName());
+            staticDTO.setType(3);
+            staticDTO.setTypeName("实验室检查套餐");
+            lisPackRetList.add(staticDTO);
+        }
+        //TODO 检验明细关联出检验套餐
+        List<StaticKnowledgeIndexDTO> lisPackRelatecLisRetList = Lists.newLinkedList();
         for (LIS lis : lisList) {
             if (lis.getLisPacks_related_lis().size() > 0) {
                 for (LISPack lisPack : lis.getLisPacks_related_lis()) {
@@ -224,17 +234,18 @@ public class RetrievalFacade {
                     staticDTO.setRetrievalName(lis.getName());
                     staticDTO.setName(lisPack.getName());
                     staticDTO.setType(3);
-                    staticDTO.setTypeName("检验");
-                    lisPackRetList.add(staticDTO);
+                    staticDTO.setTypeName("实验室检查套餐");
+                    lisPackRelatecLisRetList.add(staticDTO);
                 }
             }
         }
+        //TODO 检验明细
         List<StaticKnowledgeIndexDTO> lisRetList = Lists.newLinkedList();
         for (LIS lis : lisList) {
             StaticKnowledgeIndexDTO staticDTO = new StaticKnowledgeIndexDTO();
             staticDTO.setName(lis.getName());
-            staticDTO.setType(3);
-            staticDTO.setTypeName("检验");
+            staticDTO.setType(4);
+            staticDTO.setTypeName("实验室检查");
             lisRetList.add(staticDTO);
         }
         //TODO 检查
@@ -242,37 +253,40 @@ public class RetrievalFacade {
         for (PACS pacs : pacsList) {
             StaticKnowledgeIndexDTO staticDTO = new StaticKnowledgeIndexDTO();
             staticDTO.setName(pacs.getName());
-            staticDTO.setType(4);
-            staticDTO.setTypeName("检查");
+            staticDTO.setType(5);
+            staticDTO.setTypeName("辅助检查");
             pacsRetList.add(staticDTO);
         }
         //TODO 手术和操作
         List<StaticKnowledgeIndexDTO> operationRetList = Lists.newLinkedList();
-        for (Operation item : operationList) {
+        for (Operation operation : operationList) {
             StaticKnowledgeIndexDTO staticDTO = new StaticKnowledgeIndexDTO();
-            staticDTO.setName(item.getName());
-            staticDTO.setType(5);
+            staticDTO.setName(operation.getName());
+            staticDTO.setType(6);
             staticDTO.setTypeName("手术和操作");
             operationRetList.add(staticDTO);
         }
-        //0-全部、1-诊断、2-药品、3-检验、4-检查、5-手术和操作
+        //0-全部、1-诊断、2-药品、3-检验套餐、4-检验明细、5-检查、6-手术和操作
         if (types.contains(1)) {
             retList.addAll(disRetList);
         } else if (types.contains(2)) {
             retList.addAll(drugRetList);
         } else if (types.contains(3)) {
-            //套餐显示在前
+            //检索的套餐
             retList.addAll(lisPackRetList);
-            //明细显示在后
+            //明细关联出的套餐
+            retList.addAll(lisPackRelatecLisRetList);
+            //明细
             retList.addAll(lisRetList);
-        } else if (types.contains(4)) {
-            retList.addAll(pacsRetList);
         } else if (types.contains(5)) {
+            retList.addAll(pacsRetList);
+        } else if (types.contains(6)) {
             retList.addAll(operationRetList);
         } else {
             retList.addAll(disRetList);
             retList.addAll(drugRetList);
             retList.addAll(lisPackRetList);
+            retList.addAll(lisPackRelatecLisRetList);
             retList.addAll(lisRetList);
             retList.addAll(pacsRetList);
             retList.addAll(operationRetList);

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

@@ -42,7 +42,7 @@ public class RetrievalController {
     }
 
     @ApiOperation(value = "医学知识(静态知识)检索[zhaops]",
-            notes = "types: 类型(多选):0-全部、1-诊断、2-药品、3-检验、4-检查、5-手术和操作 <br>" +
+            notes = "types: 类型(多选):0-全部、1-诊断、2-药品、3-检验、5-检查、6-手术和操作 <br>" +
                     "inputStr: 检索内容<br>")
     @PostMapping("/staticKnowledgeIndex")
     public RespDTO<List<StaticKnowledgeIndexDTO>> staticKnowledgeIndex(@Valid @RequestBody StaticKnowledgeIndexVO staticKnowledgeIndexVO) {