Browse Source

Merge remote-tracking branch 'origin/master'

MarkHuang 4 years ago
parent
commit
cbfefbb9af

+ 3 - 0
src/main/java/com/diagbot/dto/BillNeoMaxDTO.java

@@ -57,4 +57,7 @@ public class BillNeoMaxDTO {
     // 配伍禁忌
     private List<NodeNeoDTO> conflictmeds = new ArrayList<>();
 
+    // 体征
+    private List<NodeNeoDTO> vitals = new ArrayList<>();
+
 }

+ 1 - 1
src/main/java/com/diagbot/facade/TestFacade.java

@@ -130,9 +130,9 @@ public class TestFacade {
                 msg.add("第【" + indicationPushVO.getIdNum() + "】行未匹配");
             }
         }
-        map.put("出错信息", msg);
         map.put("总条数", indicationPushVOList.size() + "条");
         map.put("出错条数", msg.size() + "条");
+        map.put("出错信息", msg);
         return map;
     }
 

+ 1 - 0
src/main/java/com/diagbot/model/ai/process/EntityProcessVital.java

@@ -25,6 +25,7 @@ public class EntityProcessVital extends EntityProcess {
                 switch (EntityEnum.parseOfValue(key)) {
                     case SIGN:
                         vital.setName(entity);
+                        vital.setStandName(entity);
                         break;
                     case NEGATIVE:
                         Negative negative = new Negative();

+ 24 - 8
src/main/java/com/diagbot/process/BillProcess.java

@@ -1,14 +1,30 @@
 package com.diagbot.process;
 
-import com.diagbot.dto.*;
+import com.diagbot.dto.BillMsg;
+import com.diagbot.dto.BillNeoDTO;
+import com.diagbot.dto.BillNeoMaxDTO;
+import com.diagbot.dto.IndicationDTO;
+import com.diagbot.dto.NodeNeoDTO;
+import com.diagbot.dto.WordCrfDTO;
 import com.diagbot.enums.NeoEnum;
 import com.diagbot.facade.NeoFacade;
-import com.diagbot.model.entity.*;
+import com.diagbot.model.entity.Clinical;
+import com.diagbot.model.entity.Diag;
+import com.diagbot.model.entity.GeneralDesc;
+import com.diagbot.model.entity.Medicine;
+import com.diagbot.model.entity.Operation;
+import com.diagbot.model.entity.Vital;
 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.rule.*;
+import com.diagbot.rule.AgeRule;
+import com.diagbot.rule.CommonRule;
+import com.diagbot.rule.DrugRule;
+import com.diagbot.rule.LisRule;
+import com.diagbot.rule.PacsRule;
+import com.diagbot.rule.SexRule;
+import com.diagbot.rule.VitalRule;
 import com.diagbot.util.BeanUtil;
 import com.diagbot.util.ListUtil;
 import org.apache.commons.lang3.StringUtils;
@@ -70,11 +86,11 @@ public class BillProcess {
                 drug3.setName("泰舒达类");
                 billNeoDTO.getPacsBillNeoDTO().getOralmeds().add(drug3);
 
-//                NodeNeoDTO vital = new NodeNeoDTO();
-//                vital.setName("体温");
-//                vital.setMax(new BigDecimal(39.1));
-//                vital.setMin(new BigDecimal(37.1));
-//                billNeoDTO.getVitals().add(vital);
+                // NodeNeoDTO vital = new NodeNeoDTO();
+                // vital.setName("体温");
+                // vital.setMax(new BigDecimal("39.1"));
+                // vital.setMin(new BigDecimal(35.1));
+                // billNeoDTO.getPacsBillNeoDTO().getVitals().add(vital);
 
             }
             // 测试数据结束

+ 11 - 10
src/main/java/com/diagbot/rule/VitalRule.java

@@ -25,26 +25,27 @@ public class VitalRule {
      * @return
      */
     public static void compareVitalWithBill(List<Vital> inputLis, BillNeoMaxDTO billNeoMaxDTO, List<BillMsg> billMsgList, String type) {
-        List<NodeNeoDTO> neoList = billNeoMaxDTO.getLis();
+        List<NodeNeoDTO> neoList = billNeoMaxDTO.getVitals();
         if(ListUtil.isNotEmpty(neoList) && ListUtil.isNotEmpty(inputLis)){
             for (NodeNeoDTO neo : neoList) {
                 for (Vital lis : inputLis) {
                     String val = lis.getName();
+                    val = lis.getStandName();
                     if (StringUtil.isNotBlank(val) && val.equals(neo.getName()) && "体温".equals(val)) {
 //                        String val_name = lis.getDetailName();
                         // 如果有结果数据,就不用比较数值
                         String message = "";
                         boolean flag = false;
-                        if (StringUtil.isNotBlank(lis.getValue())) {
-                            flag = CoreUtil.compareStr(neo, lis.getValue());
+//                        if (StringUtil.isNotBlank(lis.getValue())) {
+//                            flag = CoreUtil.compareStr(neo, lis.getValue());
+//                            if (flag) {
+//                                message = CoreUtil.getStrMsg(neo, val, lis.getValue());
+//                            }
+//                        } else
+                            if (lis.getPd() != null) {
+                            flag = CoreUtil.compareNum(neo, Double.parseDouble(lis.getPd().getValue()));
                             if (flag) {
-                                message = CoreUtil.getStrMsg(neo, val, lis.getValue());
-                            }
-                        } else
-                            if (lis.getValue() != null) {
-                            flag = CoreUtil.compareNum(neo, Double.parseDouble(lis.getValue()));
-                            if (flag) {
-                                message = CoreUtil.getNumMsg(neo, val, Double.parseDouble(lis.getValue()), lis.getPd().getUnit());
+                                message = CoreUtil.getNumMsg(neo, val, Double.parseDouble(lis.getPd().getValue()), lis.getPd().getUnit());
                             }
                         }
                         if (flag) {