Jelajahi Sumber

Merge remote-tracking branch 'origin/dev/neo2mysql20210120' into dev/neo2mysql20210120

wangfeng 4 tahun lalu
induk
melakukan
fd315a97d5

+ 4 - 5
src/main/java/com/diagbot/facade/CommonFacade.java

@@ -71,7 +71,6 @@ public class CommonFacade {
 
     //组装好的label
     public WordCrfDTO crf_process(SearchData searchData) {
-
         AIAnalyze aiAnalyze = new AIAnalyze(crfServiceClient);
         WordCrfDTO wordCrfDTO = new WordCrfDTO();
         wordCrfDTO.setHospitalId(searchData.getHospitalId());
@@ -259,8 +258,8 @@ public class CommonFacade {
         VitalLabel vitalLabel = wordCrfDTO.getVitalLabel();
 
         // 【症状回填】
-//        CoreUtil.setPropertyList(chiefLabel.getClinicals(), map.get(StandConvertEnum.symptom.toString()));
-//        CoreUtil.setPropertyList(presentLabel.getClinicals(), map.get(StandConvertEnum.symptom.toString()));
+        CoreUtil.setPropertyList(chiefLabel.getClinicals(), map.get(StandConvertEnum.symptom.toString()));
+        CoreUtil.setPropertyList(presentLabel.getClinicals(), map.get(StandConvertEnum.symptom.toString()));
 
         // 【诊断回填】
         // 1、主诉诊断
@@ -361,7 +360,7 @@ public class CommonFacade {
                 chiefSymptom = chiefLabel.getClinicals().stream().filter(x -> x.getNegative() == null).map(z -> z.getStandName()).collect(Collectors.toList());
                 List<Symptom> cjiefClinicals = chiefLabel.getClinicals().stream().filter(x -> x.getNegative() == null).map(z ->
                 {
-                    String name_sy = z.getBodyPart() == null? z.getStandName() : z.getBodyPart().getName()+z.getStandName();
+                    String name_sy = z.getBodyPart() == null ? z.getStandName() : z.getBodyPart().getName() + z.getStandName();
                     Symptom symptom = new Symptom();
                     symptom.setName(name_sy);
                     return symptom;
@@ -394,7 +393,7 @@ public class CommonFacade {
                 List<Symptom> presentClinicals = presentLabel.getClinicals().stream()
                         .filter(x -> x.getNegative() == null).map(z ->
                         {
-                            String name_sy = z.getBodyPart() == null? z.getStandName() : z.getBodyPart().getName()+z.getStandName();
+                            String name_sy = z.getBodyPart() == null ? z.getStandName() : z.getBodyPart().getName() + z.getStandName();
                             Symptom symptom = new Symptom();
                             symptom.setName(name_sy);
                             return symptom;

+ 6 - 4
src/main/java/com/diagbot/rule/VitalRule.java

@@ -31,9 +31,10 @@ public class VitalRule {
     public void bill(VitalLabel vitalLabel, RuleBaseDTO ruleBaseDTO, List<BillMsg> billMsgList, String conType,
                      RuleSimpleDTO ruleSimpleDTO) {
         Map<String, Object> map = CoreUtil.compareVital(ruleBaseDTO, vitalLabel);
-        if ((Boolean) map.get("flag") == true) {
+        List<String> msgList = CoreUtil.getMapMsgList(map);
+        for (String s : msgList) {
             BillMsg commonBillMsg = MsgUtil.getCommonBillMsg(ruleSimpleDTO.getInputName(),
-                    ruleSimpleDTO.getLibName(), (String) map.get("msg"), conType, ruleSimpleDTO.getLibTypeName());
+                    ruleSimpleDTO.getLibName(), s, conType, ruleSimpleDTO.getLibTypeName());
             billMsgList.add(commonBillMsg);
         }
     }
@@ -48,8 +49,9 @@ public class VitalRule {
      */
     public void highOperation(VitalLabel vitalLabel, RuleBaseDTO ruleBaseDTO, List<BillMsg> highRiskList, RuleSimpleDTO ruleSimpleDTO) {
         Map<String, Object> map = CoreUtil.compareVital(ruleBaseDTO, vitalLabel);
-        if ((Boolean) map.get("flag") == true) {
-            BillMsg billMsg = MsgUtil.getCommonHighRiskMsg((String) map.get("msg"), ruleSimpleDTO.getInputName(), ruleSimpleDTO.getLibTypeName());
+        List<String> msgList = CoreUtil.getMapMsgList(map);
+        for (String s : msgList) {
+            BillMsg billMsg = MsgUtil.getCommonHighRiskMsg(s, ruleSimpleDTO.getInputName(), ruleSimpleDTO.getLibTypeName());
             highRiskList.add(billMsg);
         }
     }

+ 22 - 4
src/main/java/com/diagbot/util/CoreUtil.java

@@ -345,6 +345,8 @@ public class CoreUtil {
      */
     public static Map<String, Object> compareVital(RuleBaseDTO ruleBaseDTO, VitalLabel vitalLabel) {
         Map<String, Object> map = new LinkedHashMap<>();
+        List<String> msgList = new ArrayList<>();
+        map.put("msgList", msgList);
         List<Vital> vitalList = vitalLabel.getVitals(); // 体征数据
         List<Clinical> clinicals = vitalLabel.getClinicals(); // 体征临床表现
         boolean flag = false;
@@ -369,16 +371,14 @@ public class CoreUtil {
                         && StringUtil.isNotBlank(vital.getPd().getValue())) {
                     flag = compareNum(ruleBaseDTO, Double.parseDouble(vital.getPd().getValue()));
                     if (flag) {
-                        map.put("msg", vital.getName() + subZeroAndDot(String.valueOf(vital.getPd().getValue())));
-                        break;
+                        msgList.add(vital.getName() + subZeroAndDot(String.valueOf(vital.getPd().getValue())));
                     }
                 } else if (ListUtil.isNotEmpty(usualList)) { // 血压比较
                     for (Usual usual : usualList) {
                         if (ruleBaseDTO.getBaseLibName().equals(usual.getStandName())) {
                             flag = compareNum(ruleBaseDTO, Double.parseDouble(usual.getValue()));
                             if (flag) {
-                                map.put("msg", vital.getName() + subZeroAndDot(String.valueOf(vital.getPd().getValue())));
-                                break;
+                                msgList.add(vital.getName() + subZeroAndDot(String.valueOf(vital.getPd().getValue())));
                             }
                         }
                     }
@@ -715,6 +715,24 @@ public class CoreUtil {
         return false;
     }
 
+    /**
+     * 获取mapMsgList值
+     *
+     * @param map
+     * @return
+     */
+    public static List<String> getMapMsgList(Map map) {
+        if (map != null && map.get("flag") != null && (Boolean) map.get("flag") == true) {
+            List<String> msgList = (List<String>)map.get("msgList");
+            if (ListUtil.isEmpty(msgList)) {
+                return new ArrayList<>();
+            } else {
+                return msgList;
+            }
+        }
+        return new ArrayList<>();
+    }
+
     /**
      * 添加列表
      *