Prechádzať zdrojové kódy

危急值结构定义

zhoutg 4 rokov pred
rodič
commit
da52c6a70f

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

@@ -22,7 +22,4 @@ public class CriticalNeoDTO {
     // 类型,例如:“化验”,“体征”
     private String type;
 
-    // 化验套餐名称
-    private String mealName;
-
 }

+ 21 - 1
src/main/java/com/diagbot/facade/CriticalFacade.java

@@ -2,12 +2,14 @@ package com.diagbot.facade;
 
 import com.diagbot.dto.CriticalNeoDTO;
 import com.diagbot.dto.IndicationDTO;
+import com.diagbot.dto.NodeNeoDTO;
 import com.diagbot.dto.WordCrfDTO;
 import com.diagbot.process.CriticalProcess;
 import com.diagbot.vo.IndicationPushVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -31,8 +33,26 @@ public class CriticalFacade {
      */
     public void criticalFac(IndicationPushVO indicationPushVO, WordCrfDTO wordCrfDTO, IndicationDTO res) {
         // 危急值图谱接口调用
-        // TODO
+        // TODO 测试数据开始
         List<CriticalNeoDTO> criticalNeoDTOList = new ArrayList<>();
+        CriticalNeoDTO criticalNeoDTO = new CriticalNeoDTO();
+        criticalNeoDTO.setName("血小板计数");
+        criticalNeoDTO.setStandname("血小板计数");
+        criticalNeoDTO.setType("化验");
+        NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
+        nodeNeoDTO.setMax(new BigDecimal("100"));
+        criticalNeoDTO.setCritical(nodeNeoDTO);
+        criticalNeoDTOList.add(criticalNeoDTO);
+
+        CriticalNeoDTO criticalNeoDTO1 = new CriticalNeoDTO();
+        criticalNeoDTO1.setName("红细胞压积");
+        criticalNeoDTO1.setStandname("红细胞压积");
+        criticalNeoDTO1.setType("化验");
+        NodeNeoDTO nodeNeoDTO1 = new NodeNeoDTO();
+        nodeNeoDTO1.setVal("阳性");
+        criticalNeoDTO1.setCritical(nodeNeoDTO1);
+        criticalNeoDTOList.add(criticalNeoDTO1);
+        // TODO 测试数据结束
 
         // 规则处理
         criticalProcess.process(criticalNeoDTOList, wordCrfDTO, res);

+ 9 - 3
src/main/java/com/diagbot/process/CriticalProcess.java

@@ -1,6 +1,7 @@
 package com.diagbot.process;
 
 import com.diagbot.biz.push.entity.Lis;
+import com.diagbot.dto.BillMsg;
 import com.diagbot.dto.CriticalNeoDTO;
 import com.diagbot.dto.IndicationDTO;
 import com.diagbot.dto.NodeNeoDTO;
@@ -26,15 +27,20 @@ public class CriticalProcess {
      * @param res
      */
     public void process(List<CriticalNeoDTO> criticalNeoDTOList, WordCrfDTO wordCrfDTO, IndicationDTO res) {
+        List<BillMsg> criticalList = res.getCriticalValList();
         for (CriticalNeoDTO critical : criticalNeoDTOList) {
             NodeNeoDTO nodeNeoDTO = critical.getCritical();
             // 化验
             if (TypeEnum.lis.getName().equals(critical.getType())) {
                 List<Lis> lisList = wordCrfDTO.getLis();
                 for (Lis bean : lisList) {
-                    Map<String, Object> map = CoreUtil.compareLis(nodeNeoDTO, bean);
-                    if ((Boolean) map.get("flag") == true) {
-                        // CoreUtil.getCommonBillMsg()
+                    if (critical.getStandname().equals(bean.getUniqueName())) {
+                        Map<String, Object> map = CoreUtil.compareLis(nodeNeoDTO, bean);
+                        if ((Boolean) map.get("flag") == true) {
+                            BillMsg criticalMsg = CoreUtil.getCommonCriticalMsg(critical.getName(), critical.getStandname(),
+                                    (String)map.get("msg"), TypeEnum.lis.getName());
+                            criticalList.add(criticalMsg);
+                        }
                     }
                 }
             }

+ 5 - 8
src/main/java/com/diagbot/util/CoreUtil.java

@@ -217,22 +217,18 @@ public class CoreUtil {
     /**
      * 危急值通用提示信息
      *
-     * @param orderName 原开单项
-     * @param orderStandName 标准开单项
      * @param compareName 匹配名称
      * @param compareStandName 匹配标准名称
      * @param type 类型
      * @return
      */
-    public static BillMsg getCommonCriticalMsg(String orderName, String orderStandName, String compareName,
-                                           String compareStandName, String type) {
+    public static BillMsg getCommonCriticalMsg(String compareName,
+                                           String compareStandName, String message, String type) {
         BillMsg billMsg = new BillMsg();
-        String msg = String.format("该患者" + compareName + ",不宜开%s", orderName);
+        String msg = String.format("该患者%s,请留意", message);
         billMsg.setMsg(msg);
         billMsg.setCompareName(compareName);
         billMsg.setCompareStandName(compareStandName);
-        billMsg.setOrderName(orderName);
-        billMsg.setOrderStandName(orderStandName);
         billMsg.setType(type);
         return billMsg;
     }
@@ -520,7 +516,8 @@ public class CoreUtil {
     }
 
     public static void main(String[] args) {
-
+        String msg = String.format("该患者%s%s%s,请留意", "套餐","明细项","值");
+        System.out.println(msg);
 
     }
 }