瀏覽代碼

Merge remote-tracking branch 'origin/master'

zhaops 4 年之前
父節點
當前提交
d4ebf5581d

+ 1 - 1
src/main/java/com/diagbot/entity/node/LISCritical.java

@@ -12,7 +12,7 @@ import org.neo4j.ogm.annotation.Relationship;
 @Getter
 //@EqualsAndHashCode(callSuper = false)
 @NodeEntity(label = "实验室检查危急值")
-public class LISCritical extends BaseNode  {
+public class LisCritical extends BaseNode  {
 
     @Property(name = "高危急值")
     private String maxval;

+ 1 - 1
src/main/java/com/diagbot/entity/node/LisName.java

@@ -52,7 +52,7 @@ public class LisName extends BaseNode  {
 	private Gender gender;
 
 	@Relationship(type="实验室检查名称相关实验室检查危急值", direction = Relationship.OUTGOING)
-	private Set<LISCritical> liscritials = new HashSet<>();
+	private Set<LisCritical> liscritials = new HashSet<>();
 
 	@Relationship(type = "实验室检查名称相关医保疾病名称", direction = Relationship.OUTGOING)
 	private Set<YiBaoDiseaseName> disease = new HashSet<>();

+ 31 - 0
src/main/java/com/diagbot/entity/node/PacsCritical.java

@@ -0,0 +1,31 @@
+package com.diagbot.entity.node;
+
+import com.diagbot.entity.node.base.BaseNode;
+import lombok.Getter;
+import lombok.Setter;
+import org.neo4j.ogm.annotation.NodeEntity;
+import org.neo4j.ogm.annotation.Property;
+import org.neo4j.ogm.annotation.Relationship;
+
+
+@Setter
+@Getter
+//@EqualsAndHashCode(callSuper = false)
+@NodeEntity(label = "辅助检查危急值")
+public class PacsCritical extends BaseNode  {
+
+    @Property(name = "规则")
+    private String val;
+
+    @Property(name = "辅助检查名称")
+    private String pacsname;
+
+    @Property(name = "危急值提醒")
+    private String remind;
+
+    @Property(name = "科室名称")
+    private String dept;
+
+}
+
+

+ 19 - 1
src/main/java/com/diagbot/facade/NeoFacade.java

@@ -63,7 +63,7 @@ public class NeoFacade {
     @Autowired
     MedicineCodeRepository medicineCodeRepository;
     @Autowired
-    MedJiePouClassRepository medJiePouClassRepository;
+    PacsCriticalRepository pacsCriticalRepository;
     @Autowired
     YiBaoDiseaseRepository yiBaoDiseaseRepository;
     @Autowired
@@ -424,6 +424,7 @@ public class NeoFacade {
         List<CriticalNeoDTO> criticalNeoDTOs = new ArrayList<>();
 
         criticalNeoDTOs.addAll(getLisCritical(criticalNeoVO));
+        criticalNeoDTOs.addAll(getPacsCritical(criticalNeoVO));
 
         return criticalNeoDTOs;
     }
@@ -679,6 +680,8 @@ public class NeoFacade {
 
     /**
      * 获取化验危急值
+     *
+     * @param criticalNeoVO
      */
     public List<CriticalNeoDTO> getLisCritical(CriticalNeoVO criticalNeoVO) {
 
@@ -688,6 +691,21 @@ public class NeoFacade {
         return criticalNeoDTOs;
     }
 
+
+    /**
+     * 获取辅检危急值
+     *
+     * @Param criticalNeoVO
+     */
+    public List<CriticalNeoDTO> getPacsCritical(CriticalNeoVO criticalNeoVO) {
+
+        PacsCriticalNode pacsCriticalNode = new PacsCriticalNode();
+        List<CriticalNeoDTO> criticalNeoDTOS = pacsCriticalNode.getPacsList(criticalNeoVO, pacsCriticalRepository);
+
+        return criticalNeoDTOS;
+    }
+
+
     /**
      * 处理高危药品数据
      *

+ 190 - 225
src/main/java/com/diagbot/facade/TestFacade.java

@@ -7,6 +7,8 @@ import com.diagbot.client.StandConvertServiceClient;
 import com.diagbot.dto.IndicationDTO;
 import com.diagbot.dto.StandConvertCrfBatchDTO;
 import com.diagbot.dto.StandConvertCrfDTO;
+import com.diagbot.exception.CommonErrorCode;
+import com.diagbot.exception.CommonException;
 import com.diagbot.util.ExcelUtils;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
@@ -95,97 +97,79 @@ public class TestFacade {
 
             if (StringUtil.isNotEmpty(bean.getNeoType())) {
                 switch (bean.getNeoType()) {
-                    // case "1" : // 性别
-                    //     if ("男性".equals(bean.getNeoName())) {
-                    //         indicationPushVO.setSex(1);
-                    //     } else if ("女性".equals(bean.getNeoName())) {
-                    //         indicationPushVO.setSex(2);
-                    //     }
-                    //     break;
-                    // case "2" : // 化验, 示例:血小板计数,<,50,10^9/L
-                    //     String lisStr = bean.getNeoName();
-                    //     String[] lisArr = lisStr.split(",");
-                    //
-                    //     List<Lis> lisList = new ArrayList<>();
-                    //     Lis lisBean = new Lis();
-                    //     lisBean.setUniqueName(lisArr[0]);
-                    //     lisBean.setName(lisArr[0]);
-                    //     lisBean.setDetailName(lisArr[0]);
-                    //     lisBean.setValue(getValue(lisArr));
-                    //     lisList.add(lisBean);
-                    //     indicationPushVO.setLis(lisList);
-                    //     break;
-                    // case "3" : // 临床表现
-                    //     indicationPushVO.setChief(bean.getNeoName());
-                    //     break;
-                    // case "4": //辅助检查描述
-                    //     indicationPushVO.setSymptom("B超:提示"+bean.getNeoName());
-                    //     break;
-                    // case "5" : // 诊断
-                    //     List<Item> diag = new ArrayList<>();
-                    //     Item diagItem = new Item();
-                    //     diagItem.setName(bean.getNeoName());
-                    //     diagItem.setUniqueName(bean.getNeoName());
-                    //     diag.add(diagItem);
-                    //     indicationPushVO.setDiag(diag);
-                    //     break;
-                    // case "6" : // 服用药品
-                    //     StringBuffer symptom = new StringBuffer("发病来,神志清,精神可,胃纳一般,睡眠可,二便无殊。一直服用");
-                    //     symptom.append(bean.getNeoName()).append("。");
-                    //     indicationPushVO.setSymptom(symptom.toString());
-                    //     break;
-                    // case "12": // 体征
-                    //    StringBuffer sbVital = new StringBuffer();
-                    //    String[] vitalArr = bean.getNeoName().split(",");
-                    //    if (vitalArr.length > 1) {
-                    //        if ("收缩压".equals(vitalArr[0]) || "舒张压".equals(vitalArr[0])) {
-                    //            if ("收缩压".equals(vitalArr[0])) {
-                    //                sbVital.append("血压");
-                    //                sbVital.append(getValue(vitalArr) + "/100mmHg");
-                    //                indicationPushVO.setVital(sbVital.toString());
-                    //            } else if ("舒张压".equals(vitalArr[0])) {
-                    //                sbVital.append("血压");
-                    //                sbVital.append("100/" + getValue(vitalArr) + "mmHg");
-                    //                indicationPushVO.setVital(sbVital.toString());
-                    //            }
-                    //        } else {
-                    //            // 其他数值类型
-                    //            sbVital.append(vitalArr[0]);
-                    //            sbVital.append(getValue(vitalArr));
-                    //            sbVital.append(vitalArr[3]);
-                    //            indicationPushVO.setVital(sbVital.toString());
-                    //        }
-                    //    } else {
-                    //        sbVital.append(vitalArr[0]);
-                    //        indicationPushVO.setVital(sbVital.toString());
-                    //    }
-                    //    break;
-                    // default:
-                    //     continue;
+                    case "1" : // 性别
+                        if ("男性".equals(bean.getNeoName())) {
+                            indicationPushVO.setSex(1);
+                        } else if ("女性".equals(bean.getNeoName())) {
+                            indicationPushVO.setSex(2);
+                        }
+                        break;
+                    case "2" : // 化验, 示例:血小板计数,<,50,10^9/L
+                        String lisStr = bean.getNeoName();
+                        String[] lisArr = lisStr.split(",");
+
+                        List<Lis> lisList = new ArrayList<>();
+                        Lis lisBean = new Lis();
+                        lisBean.setUniqueName(lisArr[0]);
+                        lisBean.setName(lisArr[0]);
+                        lisBean.setDetailName(lisArr[0]);
+                        lisBean.setValue(getValue(lisArr));
+                        lisList.add(lisBean);
+                        indicationPushVO.setLis(lisList);
+                        break;
+                    case "3" : // 临床表现
+                        indicationPushVO.setChief(bean.getNeoName());
+                        break;
+                    case "4": //辅助检查描述
+                        indicationPushVO.setSymptom("B超:提示"+bean.getNeoName());
+                        break;
+                    case "5" : // 诊断
+                        List<Item> diag = new ArrayList<>();
+                        Item diagItem = new Item();
+                        diagItem.setName(bean.getNeoName());
+                        diagItem.setUniqueName(bean.getNeoName());
+                        diag.add(diagItem);
+                        indicationPushVO.setDiag(diag);
+                        break;
+                    case "6" : // 服用药品
+                        StringBuffer symptom = new StringBuffer("发病来,神志清,精神可,胃纳一般,睡眠可,二便无殊。一直服用");
+                        symptom.append(bean.getNeoName()).append("。");
+                        indicationPushVO.setSymptom(symptom.toString());
+                        break;
+                    case "12": // 体征
+                       StringBuffer sbVital = new StringBuffer();
+                       String[] vitalArr = bean.getNeoName().split(",");
+                       if (vitalArr.length > 1) {
+                           if ("收缩压".equals(vitalArr[0]) || "舒张压".equals(vitalArr[0])) {
+                               if ("收缩压".equals(vitalArr[0])) {
+                                   sbVital.append("血压");
+                                   sbVital.append(getValue(vitalArr) + "/100mmHg");
+                                   indicationPushVO.setVital(sbVital.toString());
+                               } else if ("舒张压".equals(vitalArr[0])) {
+                                   sbVital.append("血压");
+                                   sbVital.append("100/" + getValue(vitalArr) + "mmHg");
+                                   indicationPushVO.setVital(sbVital.toString());
+                               }
+                           } else {
+                               // 其他数值类型
+                               sbVital.append(vitalArr[0]);
+                               sbVital.append(getValue(vitalArr));
+                               sbVital.append(vitalArr[3]);
+                               indicationPushVO.setVital(sbVital.toString());
+                           }
+                       } else {
+                           sbVital.append(vitalArr[0]);
+                           indicationPushVO.setVital(sbVital.toString());
+                       }
+                       break;
+                    default:
+                        continue;
                 }
             }
             indicationPushVOList.add(indicationPushVO);
         }
 
-        Map<String, Object> map = new LinkedHashMap<>();
-
-        List<String> msg = new ArrayList<>();
-        List<String> errMsg = new ArrayList<>();
-        for (IndicationPushVO indicationPushVO : indicationPushVOList) {
-            try {
-                IndicationDTO indicationDTO = indicationFacade.indicationFac(indicationPushVO);
-                if (ListUtil.isEmpty(indicationDTO.getBillMsgList())) {
-                    msg.add("第【" + indicationPushVO.getIdNum() + "】行未匹配");
-                }
-            } catch (Exception e) {
-                System.out.println(indicationPushVO.getIdNum() + "行出错了!" + e.getMessage());
-                errMsg.add(indicationPushVO.getIdNum() + "行出错了");
-            }
-        }
-        map.put("总条数", indicationPushVOList.size() + "条");
-        map.put("出错条数", msg.size() + "条");
-        map.put("出错信息", msg);
-        map.put("程序报错", errMsg);
+        Map<String, Object> map = getDebugMap(indicationPushVOList, "2");
         return map;
     }
 
@@ -251,25 +235,7 @@ public class TestFacade {
             indicationPushVOList.add(indicationPushVO);
         }
 
-        Map<String, Object> map = new LinkedHashMap<>();
-
-        List<String> msg = new ArrayList<>();
-        List<String> errMsg = new ArrayList<>();
-        for (IndicationPushVO indicationPushVO : indicationPushVOList) {
-            try {
-                IndicationDTO indicationDTO = indicationFacade.indicationFac(indicationPushVO);
-                if (ListUtil.isEmpty(indicationDTO.getBillMsgList())) {
-                    msg.add("第【" + indicationPushVO.getIdNum() + "】行未匹配");
-                }
-            } catch (Exception e) {
-                System.out.println(indicationPushVO.getIdNum() + "行出错了!" + e.getMessage());
-                errMsg.add(indicationPushVO.getIdNum() + "行出错了");
-            }
-        }
-        map.put("总条数", indicationPushVOList.size() + "条");
-        map.put("出错条数", msg.size() + "条");
-        map.put("出错信息", msg);
-        map.put("程序报错", errMsg);
+        Map<String, Object> map = getDebugMap(indicationPushVOList, "2");
         return map;
     }
 
@@ -301,25 +267,7 @@ public class TestFacade {
             indicationPushVOList.add(indicationPushVO);
         }
 
-        Map<String, Object> map = new LinkedHashMap<>();
-
-        List<String> msg = new ArrayList<>();
-        List<String> errMsg = new ArrayList<>();
-        for (IndicationPushVO indicationPushVO : indicationPushVOList) {
-            try {
-                IndicationDTO indicationDTO = indicationFacade.indicationFac(indicationPushVO);
-                if (ListUtil.isEmpty(indicationDTO.getHighRiskList())) {
-                    msg.add("第【" + indicationPushVO.getIdNum() + "】行未匹配");
-                }
-            } catch (Exception e) {
-                System.out.println(e.getMessage());
-                errMsg.add(indicationPushVO.getIdNum() + "行出错了");
-            }
-        }
-        map.put("总条数", indicationPushVOList.size() + "条");
-        map.put("出错条数", msg.size() + "条");
-        map.put("出错信息", msg);
-        map.put("程序报错", errMsg);
+        Map<String, Object> map = getDebugMap(indicationPushVOList, "3");
         return map;
     }
 
@@ -365,25 +313,7 @@ public class TestFacade {
             indicationPushVOList.add(indicationPushVO);
         }
 
-        Map<String, Object> map = new LinkedHashMap<>();
-
-        List<String> msg = new ArrayList<>();
-        List<String> errMsg = new ArrayList<>();
-        for (IndicationPushVO indicationPushVO : indicationPushVOList) {
-            try {
-                IndicationDTO indicationDTO = indicationFacade.indicationFac(indicationPushVO);
-                if (ListUtil.isEmpty(indicationDTO.getOtherList())) {
-                    msg.add("第【" + indicationPushVO.getIdNum() + "】行未匹配");
-                }
-            } catch (Exception e) {
-                System.out.println(e.getMessage());
-                errMsg.add(indicationPushVO.getIdNum() + "行出错了");
-            }
-        }
-        map.put("总条数", indicationPushVOList.size() + "条");
-        map.put("出错条数", msg.size() + "条");
-        map.put("出错信息", msg);
-        map.put("程序报错", errMsg);
+        Map<String, Object> map = getDebugMap(indicationPushVOList, "4");
         return map;
     }
 
@@ -450,25 +380,7 @@ public class TestFacade {
             indicationPushVOList.add(indicationPushVO);
         }
 
-        Map<String, Object> map = new LinkedHashMap<>();
-
-        List<String> msg = new ArrayList<>();
-        List<String> errMsg = new ArrayList<>();
-        for (IndicationPushVO indicationPushVO : indicationPushVOList) {
-            try {
-                IndicationDTO indicationDTO = indicationFacade.indicationFac(indicationPushVO);
-                if (ListUtil.isEmpty(indicationDTO.getOtherList())) {
-                    msg.add("第【" + indicationPushVO.getIdNum() + "】行未匹配");
-                }
-            } catch (Exception e) {
-                System.out.println(e.getMessage());
-                errMsg.add(indicationPushVO.getIdNum() + "行出错了");
-            }
-        }
-        map.put("总条数", indicationPushVOList.size() + "条");
-        map.put("出错条数", msg.size() + "条");
-        map.put("出错信息", msg);
-        map.put("程序报错", errMsg);
+        Map<String, Object> map = getDebugMap(indicationPushVOList, "4");
         return map;
     }
 
@@ -517,24 +429,7 @@ public class TestFacade {
             }
         }
 
-        Map<String, Object> map = new LinkedHashMap<>();
-        List<String> msg = new ArrayList<>();
-        List<String> errMsg = new ArrayList<>();
-        for (IndicationPushVO indicationPushVO : indicationPushVOList) {
-            try {
-                IndicationDTO indicationDTO = indicationFacade.indicationFac(indicationPushVO);
-                if (ListUtil.isEmpty(indicationDTO.getOtherList())) {
-                    msg.add("第【" + indicationPushVO.getIdNum() + "】行未匹配");
-                }
-            } catch (Exception e) {
-                System.out.println(e.getMessage());
-                errMsg.add(indicationPushVO.getIdNum() + "行出错了");
-            }
-        }
-        map.put("总条数", indicationPushVOList.size() + "条");
-        map.put("出错条数", msg.size() + "条");
-        map.put("出错信息", msg);
-        map.put("程序报错", errMsg);
+        Map<String, Object> map = getDebugMap(indicationPushVOList, "4");
         return map;
     }
 
@@ -566,34 +461,16 @@ public class TestFacade {
             indicationPushVOList.add(indicationPushVO);
         }
 
-        Map<String, Object> map = new LinkedHashMap<>();
-
-        List<String> msg = new ArrayList<>();
-        List<String> errMsg = new ArrayList<>();
-        for (IndicationPushVO indicationPushVO : indicationPushVOList) {
-            try {
-                IndicationDTO indicationDTO = indicationFacade.indicationFac(indicationPushVO);
-                if (ListUtil.isEmpty(indicationDTO.getHighRiskList())) {
-                    msg.add("第【" + indicationPushVO.getIdNum() + "】行未匹配");
-                }
-            } catch (Exception e) {
-                System.out.println(e.getMessage());
-                errMsg.add(indicationPushVO.getIdNum() + "行出错了");
-            }
-        }
-        map.put("总条数", indicationPushVOList.size() + "条");
-        map.put("出错条数", msg.size() + "条");
-        map.put("出错信息", msg);
-        map.put("程序报错", errMsg);
+        Map<String, Object> map = getDebugMap(indicationPushVOList, "3");
         return map;
     }
 
     /**
-     * 危急值数据测试
+     * 危急值数据测试——化验
      *
      * @param file
      */
-    public Map<String, Object> importCriticalExcel(MultipartFile file, TestLineVO testLineVO) {
+    public Map<String, Object> importCriticalLisExcel(MultipartFile file, TestLineVO testLineVO) {
         List<IndicationPushVO> indicationPushVOList = new ArrayList<>();
         List<TestIndicationVO> data = ExcelUtils.importExcelMultiSheets(file, 0, 1, testLineVO.getSheetIndex(), TestIndicationVO.class);
         for (TestIndicationVO bean : data) {
@@ -633,25 +510,38 @@ public class TestFacade {
             indicationPushVOList.add(indicationPushVO);
         }
 
-        Map<String, Object> map = new LinkedHashMap<>();
+        Map<String, Object> map = getDebugMap(indicationPushVOList, "1");
+        return map;
+    }
 
-        List<String> msg = new ArrayList<>();
-        List<String> errMsg = new ArrayList<>();
-        for (IndicationPushVO indicationPushVO : indicationPushVOList) {
-            try {
-                IndicationDTO indicationDTO = indicationFacade.indicationFac(indicationPushVO);
-                if (ListUtil.isEmpty(indicationDTO.getCriticalValList())) {
-                    msg.add("第【" + indicationPushVO.getIdNum() + "】行未匹配");
-                }
-            } catch (Exception e) {
-                System.out.println(e.getMessage());
-                errMsg.add(indicationPushVO.getIdNum() + "行出错了");
+    /**
+     * 危急值数据测试——辅检
+     *
+     * @param file
+     */
+    public Map<String, Object> importCriticalPacsExcel(MultipartFile file, TestLineVO testLineVO) {
+        List<IndicationPushVO> indicationPushVOList = new ArrayList<>();
+        List<TestIndicationVO> data = ExcelUtils.importExcelMultiSheets(file, 0, 1, testLineVO.getSheetIndex(), TestIndicationVO.class);
+        for (TestIndicationVO bean : data) {
+            if (StringUtil.isNotEmpty(testLineVO.getIdNum()) && !testLineVO.getIdNum().equals(bean.getIdNum())) {
+                continue;
             }
+            IndicationPushVO indicationPushVO = new IndicationPushVO();
+            indicationPushVO.setRuleType("1");
+
+            List<Pacs> pacsList = new ArrayList<>();
+            Pacs pacs = new Pacs();
+            pacs.setName("腹部B超");
+            pacs.setUniqueName("腹部B超");
+            pacs.setResult(bean.getRuleText());
+            pacsList.add(pacs);
+            indicationPushVO.setPacs(pacsList);
+            indicationPushVO.setIdNum(bean.getIdNum());
+
+            indicationPushVOList.add(indicationPushVO);
         }
-        map.put("总条数", indicationPushVOList.size() + "条");
-        map.put("出错条数", msg.size() + "条");
-        map.put("出错信息", msg);
-        map.put("程序报错", errMsg);
+
+        Map<String, Object> map = getDebugMap(indicationPushVOList, "1");
         return map;
     }
 
@@ -722,6 +612,13 @@ public class TestFacade {
         return standConvertCrfBatchDTO;
     }
 
+    /**
+     * 复杂高危手术测试API
+     *
+     * @param file
+     * @param testLineVO
+     * @return
+     */
     public Map<String, Object> testHighRiskProcess(MultipartFile file, TestLineVO testLineVO) {
         List<IndicationPushVO> indicationPushVOList = new ArrayList<>();
         List<TestIndicationVO> data = ExcelUtils.importExcelMultiSheets(file, 0, 1, testLineVO.getSheetIndex(), TestIndicationVO.class);
@@ -735,14 +632,25 @@ public class TestFacade {
                 continue;
             }
             IndicationPushVO indicationPushVO = new IndicationPushVO();
+            String operationName = bean.getOperationName();
+            List<Item> operation = new ArrayList<>();
+            String[] operationStrArray = operationName.split(",");
+            for(String str :operationStrArray){
+                Item item = new Item();
+                item.setName(str);
+                item.setUniqueName(str);
+                operation.add(item);
+            }
+/*            indicationPushVO.setOperation(operation);
             //年龄
             String[] split = bean.getAgeAll().split(",");
             indicationPushVO.setAge((int) getValueNum(split));
             indicationPushVO.setMsg("年龄");
             indicationPushVO.setRuleType("3");
-            indicationPushVO.setIdNum(bean.getIdNum());
+            indicationPushVO.setIdNum(bean.getIdNum());*/
+
+           /* //体格
 
-            //体格
             String physique = bean.getPhysique();
             String[] physiqueStrArray = physique.split(",");
             for (String str : physiqueStrArray) {
@@ -759,18 +667,17 @@ public class TestFacade {
                     indphysiquePushVO.setMsg("体格"+str);
                     indicationPushVOList.add(indicationPushVO);
                 }
-            }
+            }*/
             //化验
             String lisAll = bean.getLisAll();
             String[] physiquelisAll = lisAll.split(",");
-
             for (String str : physiquelisAll) {
                 IndicationPushVO indicationPushVOlisList = new IndicationPushVO();
+                setname(indicationPushVOlisList,bean);
                 List<Lis> lisList = new ArrayList<>();
                 if (str.contains(",")) {
                     //包含英文逗号
                     String[] strArray = str.split(",");
-                    String lisStr = bean.getNeoName();
                     Lis lisBean = new Lis();
                     lisBean.setUniqueName(strArray[0]);
                     lisBean.setName(strArray[0]);
@@ -783,7 +690,7 @@ public class TestFacade {
                 }
             }
 
-            //辅检
+           /* //辅检
             String pacsAll = bean.getPacsAll();
             String[] physiquepacsAll = pacsAll.split(",");
             indicationPushVO.setSymptom(pacsAll);
@@ -814,13 +721,13 @@ public class TestFacade {
                 indicationPushVOpacs.setMsg("诊断"+diseaseStr);
                 indicationPushVOpacs.setDiag(diag);
                 indicationPushVOList.add(indicationPushVOpacs);
-            }
+            }*/
             List<Item> operationOrder = new ArrayList<>();
             Item item = new Item();
             item.setUniqueName(bean.getOperationName());
             item.setName(bean.getOperationName());
             operationOrder.add(item);
-            //indicationPushVO.setOperationOrder(operationOrder);
+            indicationPushVO.setOperationOrder(operationOrder);
             indicationPushVOList.add(indicationPushVO);
         }
 
@@ -845,4 +752,62 @@ public class TestFacade {
         map.put("程序报错", errMsg);
         return map;
     }
+
+    /**
+     * 提示方法
+     *
+     * @param indicationPushVOList
+     * @param ruleType
+     * @return
+     */
+    public Map getDebugMap(List<IndicationPushVO> indicationPushVOList, String ruleType) {
+        Map<String, Object> map = new LinkedHashMap<>();
+        List<String> msg = new ArrayList<>();
+        List<String> errMsg = new ArrayList<>();
+        for (IndicationPushVO indicationPushVO : indicationPushVOList) {
+            try {
+                IndicationDTO indicationDTO = indicationFacade.indicationFac(indicationPushVO);
+                switch (ruleType) {
+                    case "1":
+                        if (ListUtil.isEmpty(indicationDTO.getCriticalValList())) {
+                            msg.add("第【" + indicationPushVO.getIdNum() + "】行未匹配");
+                        }
+                        break;
+                    case "2":
+                        if (ListUtil.isEmpty(indicationDTO.getBillMsgList())) {
+                            msg.add("第【" + indicationPushVO.getIdNum() + "】行未匹配");
+                        }
+                        break;
+                    case "3":
+                        if (ListUtil.isEmpty(indicationDTO.getHighRiskList())) {
+                            msg.add("第【" + indicationPushVO.getIdNum() + "】行未匹配");
+                        }
+                        break;
+                    case "4":
+                        if (ListUtil.isEmpty(indicationDTO.getOtherList())) {
+                            msg.add("第【" + indicationPushVO.getIdNum() + "】行未匹配");
+                        }
+                        break;
+                    default:
+                        throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "ruleType格式不对");
+                }
+            } catch (Exception e) {
+                System.out.println(e.getMessage());
+                errMsg.add(indicationPushVO.getIdNum() + "行出错了");
+            }
+        }
+        map.put("总条数", indicationPushVOList.size() + "条");
+        map.put("出错条数", msg.size() + "条");
+        map.put("出错信息", msg);
+        map.put("程序报错", errMsg);
+        return map;
+    }
+    public  void setname(IndicationPushVO indicationPushVO,TestIndicationVO bean){
+        List<Item> operationOrder = new ArrayList<>();
+        Item item = new Item();
+        item.setUniqueName(bean.getOperationName());
+        item.setName(bean.getOperationName());
+        operationOrder.add(item);
+        indicationPushVO.setOperationOrder(operationOrder);
+    }
 }

+ 3 - 3
src/main/java/com/diagbot/repository/LisNameNode.java

@@ -239,11 +239,11 @@ public class LisNameNode {
 						nodename = lis.getName();
 						criticalNeoDTO.setName(nodename);
 						criticalNeoDTO.setStandname(nodename);
-						criticalNeoDTO.setType("化验");
+						criticalNeoDTO.setType(Constants.huayan);
 
-						List<LISCritical> lisCriticals = new ArrayList<>(lis.getLiscritials());
+						List<LisCritical> lisCriticals = new ArrayList<>(lis.getLiscritials());
 
-						for (LISCritical lisCritical : lisCriticals) {
+						for (LisCritical lisCritical : lisCriticals) {
 							agemin = 0;
 							agemax = 0;
 							if (lisCritical.getAge().contains(":")) {

+ 60 - 0
src/main/java/com/diagbot/repository/PacsCriticalNode.java

@@ -0,0 +1,60 @@
+package com.diagbot.repository;
+
+import com.diagbot.biz.push.entity.Item;
+import com.diagbot.biz.push.entity.Lis;
+import com.diagbot.dto.*;
+import com.diagbot.entity.node.*;
+import com.diagbot.model.label.PacsLabel;
+import com.diagbot.util.NeoUtil;
+import com.diagbot.util.StringUtil;
+import com.diagbot.vo.CriticalNeoVO;
+
+import java.math.BigDecimal;
+import java.util.*;
+
+public class PacsCriticalNode {
+
+
+	/**
+	 * 获取辅检危急值
+	 */
+	public List<CriticalNeoDTO> getPacsList(CriticalNeoVO criticalNeoVO, PacsCriticalRepository pacsCriticalRepository) {
+		String result;
+		Integer agemin, agemax;
+
+		List<CriticalNeoDTO> criticallist = new ArrayList<>();
+		CriticalNeoDTO criticalNeoDTO;
+
+		Integer gender = criticalNeoVO.getSex();
+		Integer age = criticalNeoVO.getAge();
+		List<Item> pacsres = criticalNeoVO.getPacsLabel().getRes();
+
+		try {
+			for (Item item : pacsres) {
+
+				String name = item.getUniqueName();
+
+				if (StringUtil.isNotBlank(name)) {
+					List<PacsCritical> pacslist = pacsCriticalRepository.findByResult(name);
+
+					for (PacsCritical pacscri : pacslist) {
+						criticalNeoDTO = new CriticalNeoDTO();
+						result = pacscri.getVal();
+						criticalNeoDTO.setName(result);
+						criticalNeoDTO.setStandname(result);
+						criticalNeoDTO.setType(Constants.fujian);
+
+						criticallist.add(criticalNeoDTO);
+					}
+				}
+			}
+		} catch (Exception ex) {
+			ex.printStackTrace();
+		}
+
+		return criticallist;
+	}
+
+
+}
+

+ 19 - 0
src/main/java/com/diagbot/repository/PacsCriticalRepository.java

@@ -0,0 +1,19 @@
+package com.diagbot.repository;
+
+import com.diagbot.entity.node.PacsCritical;
+import org.springframework.data.neo4j.annotation.Query;
+import org.springframework.data.neo4j.repository.Neo4jRepository;
+import org.springframework.data.repository.query.Param;
+
+import java.util.List;
+
+
+public interface PacsCriticalRepository extends Neo4jRepository<PacsCritical, Long> {
+
+    @Query("MATCH (n:辅助检查危急值) WHERE {result} CONTAINS(n.规则) return n")
+    List<PacsCritical> findByResult(@Param("result") String result);
+
+    List<PacsCritical> findByNameContaining(String name);
+
+}
+

+ 2 - 0
src/main/java/com/diagbot/vo/TestIndicationVO.java

@@ -243,4 +243,6 @@ public class TestIndicationVO implements Serializable {
     private String pacsAll;
     @Excel(name="年龄T")
     private String ageAll;
+    @Excel(name="规则")
+    private String ruleText;
 }

+ 14 - 5
src/main/java/com/diagbot/web/TestController.java

@@ -49,12 +49,20 @@ public class TestController {
         return RespDTO.onSuc(testFacade.testIndicationTransfusion(file, testLineVO));
     }
 
-    @ApiOperation(value = "危急值测试API[zhoutg]",
+    @ApiOperation(value = "危急值测试API——化验[zhoutg]",
             notes = "idNum:指定行测试<br>" +
                     "sheetIndex:sheet的下标,默认为0,表示第一个sheet")
-    @PostMapping("/testCritical")
-    public RespDTO<Map<String, Object>> testCritical(@RequestParam("file") MultipartFile file, TestLineVO testLineVO) {
-        return RespDTO.onSuc(testFacade.importCriticalExcel(file, testLineVO));
+    @PostMapping("/testCriticalLis")
+    public RespDTO<Map<String, Object>> testCriticalLis(@RequestParam("file") MultipartFile file, TestLineVO testLineVO) {
+        return RespDTO.onSuc(testFacade.importCriticalLisExcel(file, testLineVO));
+    }
+
+    @ApiOperation(value = "危急值测试API——辅检[zhoutg]",
+            notes = "idNum:指定行测试<br>" +
+                    "sheetIndex:sheet的下标,默认为0,表示第一个sheet")
+    @PostMapping("/testCriticalPacs")
+    public RespDTO<Map<String, Object>> testCriticalPacs(@RequestParam("file") MultipartFile file, TestLineVO testLineVO) {
+        return RespDTO.onSuc(testFacade.importCriticalPacsExcel(file, testLineVO));
     }
 
     @ApiOperation(value = "高危手术测试API[zhoutg]",
@@ -89,7 +97,6 @@ public class TestController {
         return RespDTO.onSuc(testFacade.testOtherTipPacs(file, testLineVO));
     }
 
-
     @ApiOperation(value = "其他值提醒测试——输血API[zhoutg]",
             notes = "idNum:指定行测试<br>" +
                     "sheetIndex:sheet的下标,默认为0,表示第一个sheet")
@@ -109,6 +116,7 @@ public class TestController {
     public RespDTO<StandConvertCrfBatchDTO> testStandConvertBatch(@RequestBody List<StandConvertCrfVO> standConvertCrfVOList) {
         return RespDTO.onSuc(testFacade.testStandConvertBatch(standConvertCrfVOList));
     }
+
     @ApiOperation(value = "复杂高危手术测试API[zhoutg]",
             notes = "idNum:指定行测试<br>" +
                     "sheetIndex:sheet的下标,默认为0,表示第一个sheet")
@@ -116,5 +124,6 @@ public class TestController {
     public RespDTO<Map<String, Object>> testHighRiskProcess(@RequestParam("file") MultipartFile file, TestLineVO testLineVO) {
         return RespDTO.onSuc(testFacade.testHighRiskProcess(file, testLineVO));
     }
+
 }