Browse Source

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	src/main/java/com/diagbot/rule/LisRule.java
zhoutg 4 years ago
parent
commit
b9d881e48c

+ 3 - 2
src/main/java/com/diagbot/client/CRFServiceClient.java

@@ -1,6 +1,7 @@
 package com.diagbot.client;
 
 
+import com.diagbot.client.hystrix.CRFServiceHystrix;
 import com.diagbot.vo.CRFVo;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -12,10 +13,10 @@ import org.springframework.web.bind.annotation.RequestBody;
  * @author: Mark Huang
  * @time: 2019/12/13 9:52
  */
-@FeignClient(value = "CRF-service", url="${CRF.url}")
+@FeignClient(value = "CRF-service", url="${CRF.url}", fallback = CRFServiceHystrix.class)
 public interface CRFServiceClient {
 
-    @PostMapping(value = "")
+    @PostMapping(value = "/api/mr_info_ex/entity_predict")
     String getAnnotation(@RequestBody CRFVo crfVo);
 }
 

+ 11 - 4
src/main/java/com/diagbot/client/hystrix/CRFServiceHystrix.java

@@ -1,10 +1,17 @@
 package com.diagbot.client.hystrix;
 
-
+import com.diagbot.client.CRFServiceClient;
+import com.diagbot.vo.CRFVo;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
-
+import org.springframework.web.bind.annotation.RequestBody;
 
 @Component
-public class CRFServiceHystrix {
-
+@Slf4j
+public class CRFServiceHystrix implements CRFServiceClient {
+    @Override
+    public String getAnnotation(@RequestBody CRFVo crfVo) {
+        log.error("【hystrix】调用{}异常", "CRF-getAnnotation");
+        return null;
+    }
 }

+ 43 - 0
src/main/java/com/diagbot/facade/CommonFacade.java

@@ -1,22 +1,28 @@
 package com.diagbot.facade;
 
+import com.diagbot.biz.push.entity.Lis;
+import com.diagbot.biz.push.entity.Pacs;
 import com.diagbot.client.CRFServiceClient;
 import com.diagbot.dto.WordCrfDTO;
 import com.diagbot.enums.StandConvertEnum;
 import com.diagbot.model.ai.AIAnalyze;
+import com.diagbot.model.entity.Medicine;
 import com.diagbot.model.label.ChiefLabel;
 import com.diagbot.model.label.DiagLabel;
 import com.diagbot.model.label.PastLabel;
 import com.diagbot.model.label.PresentLabel;
 import com.diagbot.util.CoreUtil;
+import com.diagbot.util.ListUtil;
 import com.diagbot.vo.SearchData;
 import com.diagbot.vo.StandConvert;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 通过业务facade
@@ -64,6 +70,28 @@ public class CommonFacade {
         diagList.addAll(CoreUtil.getPropertyList(diagLabel.getDiags()));
         diagList.addAll(CoreUtil.getPropertyList(pastLabel.getDiags()));
 
+        //所有化验(结构化数据)
+        List<Lis> lis = wordCrfDTO.getLis();
+        if(ListUtil.isNotEmpty(lis)){
+            List<String> lis_unique = lis.stream().filter(x -> StringUtils.isBlank(x.getUniqueName()))
+                    .map(x ->x.getName()+x.getDetailName()).collect(Collectors.toList());
+            standConvert.setLisList(lis_unique);
+        }
+
+        //所有辅助检查(结构化数据)
+        List<Pacs> pacs = wordCrfDTO.getPacs();
+        if(ListUtil.isNotEmpty(pacs)){
+            List<String> pacss_unique = pacs.stream().filter(x -> StringUtils.isBlank(x.getUniqueName()))
+                    .map(x ->x.getName()).collect(Collectors.toList());
+            standConvert.setLisList(pacss_unique);
+        }
+
+        //所有药品
+        List<String> drugList = new ArrayList<>();
+        //1、现病史中的药品
+        drugList.addAll(CoreUtil.getPropertyList(presentLabel.getMedicines()));
+        standConvert.setDrugList(drugList);
+
         standConvert.setClinicalList(clinicalList);
         standConvert.setDiaglList(diagList);
         return standConvert;
@@ -72,7 +100,22 @@ public class CommonFacade {
     //把图谱返回的标准词set到label中
     public void dataTypeSet(WordCrfDTO wordCrfDTO, Map<Integer, Map<String, String>> map){
         ChiefLabel chiefLabel = wordCrfDTO.getChiefLabel();
+        PresentLabel presentLabel = wordCrfDTO.getPresentLabel();
+        DiagLabel diagLabel = wordCrfDTO.getDiagLabel();
+        List<Lis> lis = wordCrfDTO.getLis();
+        List<Pacs> pacs = wordCrfDTO.getPacs();
+
+        //症状回填
         CoreUtil.setPropertyList(chiefLabel.getClinicals(),map.get(StandConvertEnum.clinical.getKey()));
+        CoreUtil.setPropertyList(presentLabel.getClinicals(),map.get(StandConvertEnum.clinical.getKey()));
+        //诊断回填
+        CoreUtil.setPropertyList(diagLabel.getDiags(),map.get(StandConvertEnum.disease.getKey()));
+        //药品回填
+        CoreUtil.setPropertyList(presentLabel.getClinicals(),map.get(StandConvertEnum.drug.getKey()));
+        // TODO: 2020/8/5 化验回填
+//        CoreUtil.setPropertyList(lis,map.get(StandConvertEnum.lis.getKey()));
+        // TODO: 2020/8/5 辅助检查回填
+//        CoreUtil.setPropertyList(pacs,map.get(StandConvertEnum.pacs.getKey()));
     }
 
 }

+ 15 - 9
src/main/java/com/diagbot/model/label/VitalLabel.java

@@ -1,10 +1,16 @@
-package com.diagbot.model.label;
-
-/**
- * @ClassName : VatilLabel
- * @Description : 体格检查(一般检查)
- * @Author : 楼辉荣
- * @Date: 2020-03-03 18:49
- */
-public class VitalLabel extends GeneralLabel{
+package com.diagbot.model.label;
+
+import com.diagbot.model.entity.Vital;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @ClassName : VatilLabel
+ * @Description : 体格检查(一般检查)
+ * @Author : 楼辉荣
+ * @Date: 2020-03-03 18:49
+ */
+public class VitalLabel extends GeneralLabel{
+    private List<Vital> vitals = new ArrayList<>();
 }

+ 2 - 0
src/main/java/com/diagbot/web/KgController.java

@@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
 
 /**
  * @Description: 朗通知识图谱控制层
@@ -23,6 +24,7 @@ import org.springframework.web.bind.annotation.RestController;
 @Api(value = "朗通知识图谱API", tags = { "朗通知识图谱API" })
 @SuppressWarnings("unchecked")
 @Slf4j
+@ApiIgnore
 public class KgController {
 
     @Autowired

+ 1 - 1
src/main/resources/application-dev.yml

@@ -127,4 +127,4 @@ swagger:
   enable: true
 
 CRF:
-  url: http://192.168.2.234:3456/api/mr_info_ex/entity_predict
+  url: http://192.168.2.234:3456

+ 1 - 1
src/main/resources/application-local.yml

@@ -127,4 +127,4 @@ swagger:
   enable: true
 
 CRF:
-  url: http://192.168.2.234:3456/api/mr_info_ex/entity_predict
+  url: http://192.168.2.234:3456

+ 1 - 1
src/main/resources/application-pre.yml

@@ -128,4 +128,4 @@ swagger:
   enable: true
 
 CRF:
-  url: http://192.168.2.234:3456/api/mr_info_ex/entity_predict
+  url: http://192.168.2.234:3456

+ 1 - 1
src/main/resources/application-pro.yml

@@ -129,4 +129,4 @@ swagger:
   enable: true
 
 CRF:
-  url: http://192.168.2.234:3456/api/mr_info_ex/entity_predict
+  url: http://192.168.2.234:3456

+ 1 - 1
src/main/resources/application-test.yml

@@ -128,4 +128,4 @@ swagger:
   enable: true
 
 CRF:
-  url: http://192.168.2.234:3456/api/mr_info_ex/entity_predict
+  url: http://192.168.2.234:3456