瀏覽代碼

Merge remote-tracking branch 'origin/master' into cdss5.0

kongwz 4 年之前
父節點
當前提交
d4ba664fc5

+ 2 - 3
src/main/java/com/diagbot/facade/TestwordInfoFacade.java

@@ -169,8 +169,8 @@ public class TestwordInfoFacade extends TestwordInfoServiceImpl {
                             searchData.setVital(text);
                             wordCrfDTO = commonFacade.crf_process(searchData);
                             // 查体
-                            CoreUtil.addSet(vitalList, CoreUtil.getName(wordCrfDTO.getVitalLabel().getVitals()));
-                            CoreUtil.addSet(vitalList, CoreUtil.getName(wordCrfDTO.getVitalLabel().getClinicals()));
+                            CoreUtil.addSet(vitalList, CoreUtil.getNameAppendBodyVital(wordCrfDTO.getVitalLabel().getVitals()));
+                            CoreUtil.addSet(vitalList, CoreUtil.getNameAppendBodySymptom(wordCrfDTO.getVitalLabel().getClinicals()));
                             break;
                         case "辅助检查":
                             searchData.setSymptom(text);
@@ -257,7 +257,6 @@ public class TestwordInfoFacade extends TestwordInfoServiceImpl {
         return res;
     }
 
-
     public RetrievalDTO getStandWord(Integer type, Integer size) {
         RetrievalVO retrievalVO = new RetrievalVO();
         retrievalVO.setType(type);

+ 61 - 1
src/main/java/com/diagbot/util/CoreUtil.java

@@ -3,8 +3,10 @@ package com.diagbot.util;
 import com.diagbot.biz.push.entity.Item;
 import com.diagbot.biz.push.entity.Lis;
 import com.diagbot.dto.NodeNeoDTO;
+import com.diagbot.model.entity.BodyPart;
 import com.diagbot.model.entity.Clinical;
 import com.diagbot.model.entity.Negative;
+import com.diagbot.model.entity.PD;
 import com.diagbot.model.entity.Usual;
 import com.diagbot.model.entity.Vital;
 import com.diagbot.model.label.VitalLabel;
@@ -895,7 +897,7 @@ public class CoreUtil {
     }
 
     /**
-     * 筛选对象列表中“uniqueName”字段为空的数据,返回targetProperty字段列表
+     * 筛选对象列表中“name”字段为空的数据
      *
      * @param list
      * @param <T>
@@ -911,6 +913,64 @@ public class CoreUtil {
                 .collect(Collectors.toList());
     }
 
+    /**
+     * 筛选对象列表中“name”字段不为空的数据,再拼接:bodyPart + name
+     *
+     * @param list
+     * @param <T>
+     * @return
+     */
+    public static <T> List<String> getNameAppendBodySymptom(List<T> list) {
+        List<String> res = new ArrayList<>();
+        if (ListUtil.isEmpty(list)) {
+            return res;
+        }
+        for (T t : list) {
+            // 症状需要提取名称
+            String name = (String) getFieldValue(t, "name");
+            if (StringUtil.isNotBlank(name)) {
+                res.add(name);
+            }
+            BodyPart bodyPart = (BodyPart)getFieldValue(t, "bodyPart");
+            if (bodyPart != null && StringUtil.isNotBlank(bodyPart.getName())) {
+                res.add(bodyPart.getName() + name);
+            }
+        }
+        return res;
+    }
+
+    /**
+     * 筛选对象列表中“name”字段不为空的数据,再拼接:bodyPart + name
+     *
+     * @param list
+     * @param <T>
+     * @return
+     */
+    public static <T> List<String> getNameAppendBodyVital(List<T> list) {
+        List<String> res = new ArrayList<>();
+        if (ListUtil.isEmpty(list)) {
+            return res;
+        }
+        for (T t : list) {
+            // 刨去体温,脉搏,数值类型的体征数据
+            PD pd = (PD)getFieldValue(t, "pd");
+            if (pd == null || (pd != null && StringUtil.isNotBlank(pd.getUnit()))) {
+                continue;
+            }
+            String name = (String) getFieldValue(t, "name");
+            // 查体拼接结果
+            if (StringUtil.isNotBlank(pd.getName())) {
+                // 查体结果
+                res.add(name + pd.getName());
+                // 查体部位 + 查体结果
+                BodyPart bodyPart = (BodyPart)getFieldValue(t, "bodyPart");
+                if (bodyPart != null && StringUtil.isNotBlank(bodyPart.getName())) {
+                    res.add(bodyPart.getName() + name + pd.getName());
+                }
+            }
+        }
+        return res;
+    }
 
     /**
      * 筛选对象列表中“uniqueName”字段为空的数据,返回“name”字段列表

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

@@ -35,7 +35,6 @@ public class TestwordInfoController {
     @ApiOperation(value = "提词API[zhoutg]",
             notes = "提词API")
     @PostMapping("/getword")
-    @Transactional
     public RespDTO<Map<String, String>> getword(@RequestBody TestwordInfoVO testwordInfoVO) {
         return RespDTO.onSuc(testwordInfoFacade.getWord(testwordInfoVO));
     }
@@ -51,6 +50,7 @@ public class TestwordInfoController {
     @ApiOperation(value = "症状生成API[zhoutg]",
             notes = "症状生成API")
     @PostMapping("/getSymptom")
+    @Transactional
     public RespDTO<String> getSymptom(SymptomFeatureVO symptomFeatureVO) {
         testwordInfoFacade.getSymptom(symptomFeatureVO);
         return RespDTO.onSuc("执行完毕");