Browse Source

Merge remote-tracking branch 'origin/master'

MarkHuang 4 years ago
parent
commit
e1d378f420

+ 2 - 1
src/main/java/com/diagbot/process/BillProcess.java

@@ -20,6 +20,7 @@ import com.diagbot.model.label.PresentLabel;
 import com.diagbot.rule.AgeRule;
 import com.diagbot.rule.CommonRule;
 import com.diagbot.rule.DrugRule;
+import com.diagbot.rule.GroupRule;
 import com.diagbot.rule.LisRule;
 import com.diagbot.rule.PacsRule;
 import com.diagbot.rule.SexRule;
@@ -183,7 +184,7 @@ public class BillProcess {
             DrugRule.compareDrugWithBill(bill.getOralmeds(), takeMedicine(presentLabel), bill, billMsgList, drugMap, NeoEnum.oralmeds.getName());
 
             // 禁用人群
-            // GroupRule.compareGroupWithBill(wordCrfDTO, bill, billMsgList, NeoEnum.group.getName());
+            GroupRule.compareGroupWithBill(wordCrfDTO, bill, billMsgList, NeoEnum.group.getName());
         }
 
         // 24小时重复开单项

+ 18 - 3
src/main/java/com/diagbot/rule/GroupRule.java

@@ -1,9 +1,11 @@
 package com.diagbot.rule;
 
+import com.diagbot.biz.push.entity.Item;
 import com.diagbot.dto.BillMsg;
 import com.diagbot.dto.BillNeoMaxDTO;
 import com.diagbot.dto.NodeNeoDTO;
 import com.diagbot.dto.WordCrfDTO;
+import com.diagbot.util.CoreUtil;
 
 import java.util.List;
 
@@ -15,14 +17,27 @@ import java.util.List;
 public class GroupRule {
 
     /**
-     * 年龄比较
+     * 禁忌人群
      *
      * @param wordCrfDTO
      * @param billNeoMaxDTO
      * @return
      */
     public static void compareGroupWithBill(WordCrfDTO wordCrfDTO, BillNeoMaxDTO billNeoMaxDTO, List<BillMsg> billMsgList, String type) {
-        NodeNeoDTO ageNeoDTO = billNeoMaxDTO.getAgeNeoDTO();
-        // TODO 妊娠禁忌
+        List<NodeNeoDTO> group = billNeoMaxDTO.getGroup();
+        for (NodeNeoDTO node : group) {
+            // 妊娠目前从诊断里判断,包含“妊娠”
+            if ("妊娠".equals(node.getName())) {
+                List<Item> diag = wordCrfDTO.getDiag();
+                for (Item item : diag) {
+                    if (item.getUniqueName().contains("妊娠")) {
+                        BillMsg commonBillMsg = CoreUtil.getCommonBillMsg(
+                                billNeoMaxDTO.getOrderName(), billNeoMaxDTO.getOrderStandName(),
+                                item.getUniqueName(), type);
+                        billMsgList.add(commonBillMsg);
+                    }
+                }
+            }
+        }
     }
 }