Преглед изворни кода

高危药品修改提示语

zhoutg пре 4 година
родитељ
комит
9f21d06091

+ 33 - 1
src/main/java/com/diagbot/facade/HighRiskFacade.java

@@ -3,14 +3,15 @@ package com.diagbot.facade;
 import com.diagbot.biz.push.entity.Item;
 import com.diagbot.dto.HighRiskNeoDTO;
 import com.diagbot.dto.IndicationDTO;
+import com.diagbot.dto.NodeNeoDTO;
 import com.diagbot.dto.WordCrfDTO;
 import com.diagbot.process.HighRiskProcess;
-import com.diagbot.vo.Drug;
 import com.diagbot.vo.HighRiskNeoVO;
 import com.diagbot.vo.IndicationPushVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -38,6 +39,37 @@ public class HighRiskFacade {
         HighRiskNeoVO highRiskNeoVO = fillHighRiskNeo(wordCrfDTO);
         List<HighRiskNeoDTO> highRiskNeoDTOList = neoFacade.getHighRiskNeo(highRiskNeoVO);
         // 规则处理
+        // TODO 测试数据开始
+        HighRiskNeoDTO highRiskNeoDTO = new HighRiskNeoDTO();
+        highRiskNeoDTO.setIsHighrisk(false);
+        highRiskNeoDTO.setName("锁骨下动脉药物洗脱支架置入术");
+        highRiskNeoDTO.setStandname("锁骨下动脉药物洗脱支架置入术");
+        highRiskNeoDTO.setType("手术");
+        List<NodeNeoDTO> factor = highRiskNeoDTO.getFactor();
+        NodeNeoDTO nodeNeo = new NodeNeoDTO();
+        nodeNeo.setTermtype("诊断");
+        nodeNeo.setName("急性胰腺炎");
+        factor.add(nodeNeo);
+        NodeNeoDTO nodeLis = new NodeNeoDTO();
+        nodeLis.setTermtype("化验");
+        nodeLis.setName("白细胞计数");
+        nodeLis.setMax(new BigDecimal(20));
+        nodeLis.setMin(new BigDecimal(10));
+        nodeLis.setValType(0);
+        factor.add(nodeLis);
+        NodeNeoDTO nodeLis1 = new NodeNeoDTO();
+        nodeLis1.setTermtype("化验");
+        nodeLis1.setName("红细胞压积");
+        nodeLis1.setVal("阳性");
+        factor.add(nodeLis1);
+
+        NodeNeoDTO nodePass = new NodeNeoDTO();
+        nodePass.setTermtype("辅检");
+        nodePass.setName("胸部CT");
+        nodePass.setVal("肺叶根治性切除标本");
+        factor.add(nodePass);
+        highRiskNeoDTOList.add(highRiskNeoDTO);
+        // TODO 测试数据结束
         highRiskProcess.process(highRiskNeoDTOList, res,wordCrfDTO);
     }
 

+ 42 - 88
src/main/java/com/diagbot/process/HighRiskProcess.java

@@ -13,8 +13,6 @@ import com.diagbot.util.CoreUtil;
 import com.diagbot.util.MsgUtil;
 import org.springframework.stereotype.Component;
 
-import java.math.BigDecimal;
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -34,98 +32,54 @@ public class HighRiskProcess {
      */
     public void process(List<HighRiskNeoDTO> highRiskNeoDTOList, IndicationDTO res, WordCrfDTO wordCrfDTO) {
         for (HighRiskNeoDTO highRiskNeoDTO : highRiskNeoDTOList) {
-            BillMsg billMsg = new BillMsg();
-            String type = highRiskNeoDTO.getType();
-            if (TypeEnum.operation.getName().equals(type)) {
-                billMsg.setMsg(highRiskNeoDTO.getName() + "为高风险手术,请留意");
-            } else if (TypeEnum.drug.getName().equals(type)) {
-                billMsg.setMsg(highRiskNeoDTO.getName() + "为" + highRiskNeoDTO.getHighLevel() + "药品,请留意");
-            }
-
-            billMsg.setOrderName(highRiskNeoDTO.getName());
-            billMsg.setOrderStandName(highRiskNeoDTO.getStandname());
-            billMsg.setType(type);
-            res.getHighRiskList().add(billMsg);
             System.out.println(highRiskNeoDTO);
-        }
-        // TODO 测试数据开始
-        HighRiskNeoDTO highRiskNeoDTO = new HighRiskNeoDTO();
-        highRiskNeoDTO.setName("锁骨下动脉药物洗脱支架置入术");
-        highRiskNeoDTO.setStandname("锁骨下动脉药物洗脱支架置入术");
-        highRiskNeoDTO.setType("手术");
-        List<NodeNeoDTO> factor = highRiskNeoDTO.getFactor();
-        NodeNeoDTO nodeNeo = new NodeNeoDTO();
-        nodeNeo.setTermtype("诊断");
-        nodeNeo.setName("急性胰腺炎");
-        factor.add(nodeNeo);
-        NodeNeoDTO nodeLis = new NodeNeoDTO();
-        nodeLis.setTermtype("化验");
-        nodeLis.setName("白细胞计数");
-        nodeLis.setMax(new BigDecimal(20));
-        nodeLis.setMin(new BigDecimal(10));
-        nodeLis.setValType(0);
-        factor.add(nodeLis);
-        NodeNeoDTO nodeLis1 = new NodeNeoDTO();
-        nodeLis1.setTermtype("化验");
-        nodeLis1.setName("红细胞压积");
-        nodeLis1.setVal("阳性");
-        factor.add(nodeLis1);
-
-        NodeNeoDTO nodePass = new NodeNeoDTO();
-        nodePass.setTermtype("辅检");
-        nodePass.setName("胸部CT");
-        nodePass.setVal("肺叶根治性切除标本");
-        factor.add(nodePass);
-        highRiskNeoDTOList.add(highRiskNeoDTO);
-        // TODO 测试数据结束
-        proceSurgery(highRiskNeoDTOList, res, wordCrfDTO);
-    }
-
-    public void proceSurgery(List<HighRiskNeoDTO> highRiskNeoDTOList, IndicationDTO res, WordCrfDTO wordCrfDTO) {
-        for (HighRiskNeoDTO highRiskNeoDTO : highRiskNeoDTOList) {
             String type = highRiskNeoDTO.getType();
-            List<Item> diag = wordCrfDTO.getDiag();
-            List<Lis> lisList = wordCrfDTO.getLis();
-            PacsLabel pacsLabel = wordCrfDTO.getPacsLabel();
-            //diagLabel 诊断
-            if (TypeEnum.operation.getName().equals(type)) {
-                List<NodeNeoDTO> factor = highRiskNeoDTO.getFactor();
-                for (NodeNeoDTO nodeNeoDTO : factor) {
-                    if (TypeEnum.disease.getName().equals(nodeNeoDTO.getTermtype())) {
-                        String name = nodeNeoDTO.getName();
-                        for (Item item : diag) {
-                            if (item.getUniqueName().equals(name)) {
-                                BillMsg billMsg = MsgUtil.getComplexOperationMsg("高风险手术", item.getName(), nodeNeoDTO.getTermtype());
-                                res.getHighRiskList().add(billMsg);
-                            }
-                        }
-                    } else if (TypeEnum.lis.getName().equals(nodeNeoDTO.getTermtype())) {
-                        for (Lis lis : lisList) {
-                            if (lis.getUniqueName().equals(nodeNeoDTO.getName())) {
-                                Map<String, Object> map = CoreUtil.compareLis(nodeNeoDTO, lis);
-                                if ((Boolean) map.get("flag") == true) {
-                                    BillMsg billMsg = MsgUtil.getComplexOperationMsg("高风险手术", (String)map.get("msg"), nodeNeoDTO.getTermtype());
+            if (highRiskNeoDTO.getIsHighrisk()) {
+                BillMsg billMsg = new BillMsg();
+                if (TypeEnum.operation.getName().equals(type)) {
+                    billMsg.setMsg(highRiskNeoDTO.getName() + "为高风险手术,请留意");
+                } else if (TypeEnum.drug.getName().equals(type)) {
+                    billMsg.setMsg(highRiskNeoDTO.getName() + "为" + highRiskNeoDTO.getHighLevel() + "药品,请留意");
+                }
+
+                billMsg.setOrderName(highRiskNeoDTO.getName());
+                billMsg.setOrderStandName(highRiskNeoDTO.getStandname());
+                billMsg.setType(type);
+                res.getHighRiskList().add(billMsg);
+            } else {
+                List<Item> diag = wordCrfDTO.getDiag();
+                List<Lis> lisList = wordCrfDTO.getLis();
+                PacsLabel pacsLabel = wordCrfDTO.getPacsLabel();
+                // 复杂情况高危手术
+                if (TypeEnum.operation.getName().equals(type)) {
+                    List<NodeNeoDTO> factor = highRiskNeoDTO.getFactor();
+                    for (NodeNeoDTO nodeNeoDTO : factor) {
+                        if (TypeEnum.disease.getName().equals(nodeNeoDTO.getTermtype())) {
+                            String name = nodeNeoDTO.getName();
+                            for (Item item : diag) {
+                                if (item.getUniqueName().equals(name)) {
+                                    BillMsg billMsg = MsgUtil.getComplexOperationMsg("高风险手术", item.getName(), nodeNeoDTO.getTermtype());
                                     res.getHighRiskList().add(billMsg);
                                 }
                             }
-                        }
-                    } else if (TypeEnum.pacs.getName().equals(nodeNeoDTO.getTermtype())) {
-                        //辅助检查描述
-                        List<Item> pacsDescList = new ArrayList<>();
-                        pacsLabel.getRes().stream().forEach(
-                                x -> {
-                                    Item item = new Item();
-                                    item.setName(x.getName());
-                                    item.setUniqueName(x.getUniqueName());
-                                    pacsDescList.add(item);
+                        } else if (TypeEnum.lis.getName().equals(nodeNeoDTO.getTermtype())) {
+                            for (Lis lis : lisList) {
+                                if (lis.getUniqueName().equals(nodeNeoDTO.getName())) {
+                                    Map<String, Object> map = CoreUtil.compareLis(nodeNeoDTO, lis);
+                                    if ((Boolean) map.get("flag") == true) {
+                                        BillMsg billMsg = MsgUtil.getComplexOperationMsg("高风险手术", (String)map.get("msg"), nodeNeoDTO.getTermtype());
+                                        res.getHighRiskList().add(billMsg);
+                                    }
+                                }
+                            }
+                        } else if (TypeEnum.pacs.getName().equals(nodeNeoDTO.getTermtype())) {
+                            List<Item> pacsDescList = pacsLabel.getRes();
+                            //辅检匹配结果
+                            for (Item item : pacsDescList) {
+                                if (item.getUniqueName().equals(nodeNeoDTO.getVal())) {
+                                    BillMsg billMsg = MsgUtil.getComplexOperationMsg("高风险手术", item.getName(), nodeNeoDTO.getTermtype());
+                                    res.getHighRiskList().add(billMsg);
                                 }
-                        );
-
-                        //辅检匹配结果
-                        for (Item item : pacsDescList) {
-                            if (item.getUniqueName().equals(nodeNeoDTO.getVal())) {
-                                BillMsg billMsg = MsgUtil.getComplexOperationMsg("高风险手术", item.getName(), nodeNeoDTO.getTermtype());
-                                res.getHighRiskList().add(billMsg);
                             }
                         }
                     }