Browse Source

Merge remote-tracking branch 'origin/master'

gaodm 4 years ago
parent
commit
b70ea3fa95

+ 150 - 94
src/main/java/com/diagbot/facade/TestFacade.java

@@ -97,14 +97,14 @@ public class TestFacade {
 
             if (StringUtil.isNotEmpty(bean.getNeoType())) {
                 switch (bean.getNeoType()) {
-                    case "1" : // 性别
+                    case "1": // 性别
                         if ("男性".equals(bean.getNeoName())) {
                             indicationPushVO.setSex(1);
                         } else if ("女性".equals(bean.getNeoName())) {
                             indicationPushVO.setSex(2);
                         }
                         break;
-                    case "2" : // 化验, 示例:血小板计数,<,50,10^9/L
+                    case "2": // 化验, 示例:血小板计数,<,50,10^9/L
                         String lisStr = bean.getNeoName();
                         String[] lisArr = lisStr.split(",");
 
@@ -117,13 +117,13 @@ public class TestFacade {
                         lisList.add(lisBean);
                         indicationPushVO.setLis(lisList);
                         break;
-                    case "3" : // 临床表现
+                    case "3": // 临床表现
                         indicationPushVO.setChief(bean.getNeoName());
                         break;
                     case "4": //辅助检查描述
-                        indicationPushVO.setSymptom("B超:提示"+bean.getNeoName());
+                        indicationPushVO.setSymptom("B超:提示" + bean.getNeoName());
                         break;
-                    case "5" : // 诊断
+                    case "5": // 诊断
                         List<Item> diag = new ArrayList<>();
                         Item diagItem = new Item();
                         diagItem.setName(bean.getNeoName());
@@ -131,37 +131,37 @@ public class TestFacade {
                         diag.add(diagItem);
                         indicationPushVO.setDiag(diag);
                         break;
-                    case "6" : // 服用药品
+                    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;
+                        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;
                 }
@@ -252,7 +252,7 @@ public class TestFacade {
                 continue;
             }
             // 3,4是高危手术
-            if ("0" .equals(bean.getOperationLevel()) || "1" .equals(bean.getOperationLevel()) || "2" .equals(bean.getOperationLevel())) {
+            if ("0".equals(bean.getOperationLevel()) || "1".equals(bean.getOperationLevel()) || "2".equals(bean.getOperationLevel())) {
                 continue;
             }
             IndicationPushVO indicationPushVO = new IndicationPushVO();
@@ -287,14 +287,14 @@ public class TestFacade {
             indicationPushVO.setRuleType("4");
             indicationPushVO.setIdNum(bean.getIdNum());
 
-            if ("药品通用名称" .equals(bean.getOtherTipNodeType())) {
+            if ("药品通用名称".equals(bean.getOtherTipNodeType())) {
                 List<Drug> drug = new ArrayList<>();
                 Drug item = new Drug();
                 item.setUniqueName(bean.getOtherTipNodeName());
                 item.setName(bean.getOtherTipNodeName());
                 drug.add(item);
                 indicationPushVO.setDrug(drug);
-            } else if ("医保疾病名称" .equals(bean.getOtherTipNodeType())) {
+            } else if ("医保疾病名称".equals(bean.getOtherTipNodeType())) {
                 List<Item> diag = new ArrayList<>();
                 Item item = new Item();
                 item.setUniqueName(bean.getOtherTipNodeName());
@@ -333,9 +333,9 @@ public class TestFacade {
             indicationPushVO.setRuleType("4");
             indicationPushVO.setIdNum(bean.getIdNum());
 
-            if ("男性" .equals(bean.getSexStr())) {
+            if ("男性".equals(bean.getSexStr())) {
                 indicationPushVO.setSex(1);
-            } else if ("女性" .equals(bean.getSexStr())) {
+            } else if ("女性".equals(bean.getSexStr())) {
                 indicationPushVO.setSex(2);
             }
             if (StringUtil.isNotBlank(bean.getDisName())) {
@@ -416,7 +416,7 @@ public class TestFacade {
                 operation.add(item);
                 indicationPushVO.setOperation(operation);
             }
-            if ("实验室检查名称" .equals(bean.getItemNodeName())) {
+            if ("实验室检查名称".equals(bean.getItemNodeName())) {
                 List<Lis> lisList = new ArrayList<>();
                 Lis lis = new Lis();
                 lis.setName("套餐");
@@ -479,9 +479,9 @@ public class TestFacade {
             }
             IndicationPushVO indicationPushVO = new IndicationPushVO();
             indicationPushVO.setRuleType("1");
-            if (StringUtil.isNotBlank(bean.getCriticalAge()) && "成人" .equals(bean.getCriticalAge())) {
+            if (StringUtil.isNotBlank(bean.getCriticalAge()) && "成人".equals(bean.getCriticalAge())) {
                 indicationPushVO.setAge(20);
-            } else if (StringUtil.isNotBlank(bean.getCriticalAge()) && "新生儿" .equals(bean.getCriticalAge())) {
+            } else if (StringUtil.isNotBlank(bean.getCriticalAge()) && "新生儿".equals(bean.getCriticalAge())) {
                 indicationPushVO.setAge(1);
             } else {
                 indicationPushVO.setAge(20);
@@ -552,9 +552,9 @@ public class TestFacade {
      * @return
      */
     public double getValue(String[] arr) {
-        if ("<" .equals(arr[1]) || "≤" .equals(arr[1]) || "<" .equals(arr[1]) || "≤" .equals(arr[1])) {
+        if ("<".equals(arr[1]) || "≤".equals(arr[1]) || "<".equals(arr[1]) || "≤".equals(arr[1])) {
             return Double.parseDouble(arr[2]) - 0.1;
-        } else if (">" .equals(arr[1]) || "≥" .equals(arr[1]) || (">").equals(arr[1])) {
+        } else if (">".equals(arr[1]) || "≥".equals(arr[1]) || (">").equals(arr[1])) {
             return Double.parseDouble(arr[2]) + 0.1;
         }
         return 0.0;
@@ -567,9 +567,9 @@ public class TestFacade {
      * @return
      */
     public double getValueNum(String[] arr) {
-        if ("<" .equals(arr[1]) || "≤" .equals(arr[1])) {
+        if ("<".equals(arr[1]) || "≤".equals(arr[1])) {
             return Double.parseDouble(arr[2]) - 1;
-        } else if (">" .equals(arr[1]) || "≥" .equals(arr[1])) {
+        } else if (">".equals(arr[1]) || "≥".equals(arr[1])) {
             return Double.parseDouble(arr[2]) + 1;
         }
         return 0.0;
@@ -582,9 +582,9 @@ public class TestFacade {
      * @return
      */
     public double getValue(String symbol, Double dou) {
-        if ("<" .equals(symbol) || "≤" .equals(symbol)) {
+        if ("<".equals(symbol) || "≤".equals(symbol)) {
             return dou - 0.1;
-        } else if (">" .equals(symbol) || "≥" .equals(symbol)) {
+        } else if (">".equals(symbol) || "≥".equals(symbol)) {
             return dou + 0.1;
         }
         return 0.0;
@@ -627,12 +627,13 @@ public class TestFacade {
                 continue;
             }
             // 只留下等级为2的数据
-            if ("0" .equals(bean.getOperationLevel()) || "1" .equals(bean.getOperationLevel())
-                    || "3" .equals(bean.getOperationLevel()) || "4" .equals(bean.getOperationLevel())) {
+            if ("0".equals(bean.getOperationLevel()) || "1".equals(bean.getOperationLevel())
+                    || "3".equals(bean.getOperationLevel()) || "4".equals(bean.getOperationLevel())) {
                 continue;
             }
-            IndicationPushVO indicationPushVO = new IndicationPushVO();
-            String operationName = bean.getOperationName();
+            String operationNameMsg = bean.getOperationName();
+
+         /*    String operationName = bean.getOperationName();
             List<Item> operation = new ArrayList<>();
             String[] operationStrArray = operationName.split(",");
             for(String str :operationStrArray){
@@ -641,34 +642,68 @@ public class TestFacade {
                 item.setUniqueName(str);
                 operation.add(item);
             }
-/*            indicationPushVO.setOperation(operation);
+            indicationPushVO.setOperation(operation);*/
             //年龄
+            IndicationPushVO indicationPushVOAge = new IndicationPushVO();
             String[] split = bean.getAgeAll().split(",");
-            indicationPushVO.setAge((int) getValueNum(split));
-            indicationPushVO.setMsg("年龄");
-            indicationPushVO.setRuleType("3");
-            indicationPushVO.setIdNum(bean.getIdNum());*/
-
-           /* //体格
-
+            setname(indicationPushVOAge,bean);
+            indicationPushVOAge.setAge((int) getValueNum(split));
+            indicationPushVOAge.setMsg("年龄:"+operationNameMsg);
+            indicationPushVOAge.setRuleType("3");
+            indicationPushVOAge.setIdNum(bean.getIdNum());
+            indicationPushVOList.add(indicationPushVOAge);
+
+           //体格
             String physique = bean.getPhysique();
             String[] physiqueStrArray = physique.split(",");
             for (String str : physiqueStrArray) {
                 IndicationPushVO indphysiquePushVO = new IndicationPushVO();
-                if (str.contains(",")) {
-                    //包含英文逗号
-                    String[] strArray = str.split(",");
-                    String t = strArray[0] + getValue(strArray) + strArray[3];
-                    indphysiquePushVO.setVital(t);
-                    indphysiquePushVO.setMsg("体格"+t);
-                    indicationPushVOList.add(indicationPushVO);
+                setname(indphysiquePushVO,bean);
+                StringBuffer sbVital = new StringBuffer();
+                String[] vitalArr = str.split(",");
+                if (vitalArr.length > 1) {
+                    if ("收缩压".equals(vitalArr[0]) || "舒张压".equals(vitalArr[0])) {
+                        if ("收缩压".equals(vitalArr[0])) {
+                            sbVital.append("血压");
+                            sbVital.append(getValue(vitalArr) + "/100mmHg");
+                            indphysiquePushVO.setIdNum(bean.getIdNum());
+                            indphysiquePushVO.setRuleType("3");
+                            indphysiquePushVO.setMsg("体格:" + sbVital+"=="+operationNameMsg);
+                            indphysiquePushVO.setVital(sbVital.toString());
+                            indicationPushVOList.add(indphysiquePushVO);
+                        } else if ("舒张压".equals(vitalArr[0])) {
+
+                            sbVital.append("血压");
+                            sbVital.append("100/" + getValue(vitalArr) + "mmHg");
+                            indphysiquePushVO.setIdNum(bean.getIdNum());
+                            indphysiquePushVO.setRuleType("3");
+                            indphysiquePushVO.setMsg("体格:" + sbVital+"=="+operationNameMsg);
+                            indphysiquePushVO.setVital(sbVital.toString());
+                            indicationPushVOList.add(indphysiquePushVO);
+                        }
+                    } else {
+                        // 其他数值类型
+                        sbVital.append(vitalArr[0]);
+                        sbVital.append(getValue(vitalArr));
+                        sbVital.append(vitalArr[3]);
+                        indphysiquePushVO.setIdNum(bean.getIdNum());
+                        indphysiquePushVO.setRuleType("3");
+                        indphysiquePushVO.setMsg("体格:" + sbVital+"=="+operationNameMsg);
+                        indphysiquePushVO.setVital(sbVital.toString());
+                        indicationPushVOList.add(indphysiquePushVO);
+                    }
                 } else {
-                    indphysiquePushVO.setVital(str);
-                    indphysiquePushVO.setMsg("体格"+str);
-                    indicationPushVOList.add(indicationPushVO);
+                    sbVital.append(vitalArr[0]);
+                    indphysiquePushVO.setIdNum(bean.getIdNum());
+                    indphysiquePushVO.setRuleType("3");
+                    indphysiquePushVO.setMsg("体格:" + sbVital+"=="+operationNameMsg);
+                    indphysiquePushVO.setVital(sbVital.toString());
+                    indicationPushVOList.add(indphysiquePushVO);
                 }
-            }*/
-            //化验
+
+            }
+
+           //化验
             String lisAll = bean.getLisAll();
             String[] physiquelisAll = lisAll.split(",");
             for (String str : physiquelisAll) {
@@ -678,57 +713,77 @@ public class TestFacade {
                 if (str.contains(",")) {
                     //包含英文逗号
                     String[] strArray = str.split(",");
-                    Lis lisBean = new Lis();
-                    lisBean.setUniqueName(strArray[0]);
-                    lisBean.setName(strArray[0]);
-                    lisBean.setDetailName(strArray[0]);
-                    lisBean.setValue(getValue(strArray));
-                    lisList.add(lisBean);
-                    indicationPushVOlisList.setMsg("化验"+strArray[0]);
-                    indicationPushVOlisList.setLis(lisList);
-                    indicationPushVOList.add(indicationPushVOlisList);
+                    if(strArray.length>2) {
+                        Lis lisBean = new Lis();
+                        lisBean.setUniqueName(strArray[0]);
+                        lisBean.setName(strArray[0]);
+                        lisBean.setDetailName(strArray[0]);
+                        lisBean.setValue(getValue(strArray));
+                        lisList.add(lisBean);
+                        indicationPushVOlisList.setIdNum(bean.getIdNum());
+                        indicationPushVOlisList.setRuleType("3");
+                        indicationPushVOlisList.setMsg("化验" + strArray[0] + "==" + operationNameMsg);
+                        indicationPushVOlisList.setLis(lisList);
+                        indicationPushVOList.add(indicationPushVOlisList);
+                    }else {
+                        Lis lisBean = new Lis();
+                        lisBean.setUniqueName(strArray[0]);
+                        lisBean.setName(strArray[0]);
+                        lisBean.setDetailName(strArray[0]);
+                        lisBean.setOtherValue(strArray[1]);
+                        lisList.add(lisBean);
+                        indicationPushVOlisList.setIdNum(bean.getIdNum());
+                        indicationPushVOlisList.setRuleType("3");
+                        indicationPushVOlisList.setMsg("化验:" + strArray[0] + "==" + operationNameMsg);
+                        indicationPushVOlisList.setLis(lisList);
+                        indicationPushVOList.add(indicationPushVOlisList);
+                    }
                 }
             }
 
-           /* //辅检
+            //辅检
             String pacsAll = bean.getPacsAll();
             String[] physiquepacsAll = pacsAll.split(",");
-            indicationPushVO.setSymptom(pacsAll);
+            //indicationPushVO.setSymptom(pacsAll);
 
             for (String pacsStr : physiquepacsAll) {
                 IndicationPushVO indicationPushVOpacs = new IndicationPushVO();
+                setname(indicationPushVOpacs,bean);
                 List<Pacs> pacs = new ArrayList<>();
                 Pacs pacs1 = new Pacs();
                 pacs1.setUniqueName("腹部CT");
                 pacs1.setName("腹部CT");
                 pacs1.setResult(pacsStr);
                 pacs.add(pacs1);
-                indicationPushVOpacs.setMsg("辅检"+pacsStr);
+                indicationPushVOpacs.setIdNum(bean.getIdNum());
+                indicationPushVOpacs.setRuleType("3");
+                indicationPushVOpacs.setMsg("辅检:"+pacsStr+"=="+operationNameMsg);
                 indicationPushVOpacs.setPacs(pacs);
-                indicationPushVOList.add(indicationPushVO);
+                indicationPushVOpacs.setSymptom(pacsAll);
+                indicationPushVOList.add(indicationPushVOpacs);
             }
-            //诊断"腹部CT"
+
+           //诊断"腹部CT"
             String disease = bean.getDisease();
             String[] physiquedisease = disease.split(",");
 
             for (String diseaseStr : physiquedisease) {
                 IndicationPushVO indicationPushVOpacs = new IndicationPushVO();
+                setname(indicationPushVOpacs,bean);
                 List<Item> diag = new ArrayList<>();
                 Item item = new Item();
                 item.setUniqueName(diseaseStr);
                 item.setName(diseaseStr);
                 diag.add(item);
-                indicationPushVOpacs.setMsg("诊断"+diseaseStr);
+                indicationPushVOpacs.setMsg("诊断"+diseaseStr+"=="+operationNameMsg);
                 indicationPushVOpacs.setDiag(diag);
+                indicationPushVOpacs.setIdNum(bean.getIdNum());
+                indicationPushVOpacs.setRuleType("3");
                 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);
-            indicationPushVOList.add(indicationPushVO);
+            }
+            //List<Item> operationOrder = new ArrayList<>();
+            // setname(indicationPushVO,bean);
+            //  indicationPushVOList.add(indicationPushVO);
         }
 
         Map<String, Object> map = new LinkedHashMap<>();
@@ -738,7 +793,7 @@ public class TestFacade {
             try {
                 IndicationDTO indicationDTO = indicationFacade.indicationFac(indicationPushVO);
                 if (ListUtil.isEmpty(indicationDTO.getHighRiskList())) {
-                    msg.add("第【" + indicationPushVO.getIdNum() + "】行未匹配"+indicationPushVO.getMsg());
+                    msg.add("第【" + indicationPushVO.getIdNum() + "】行未匹配" + indicationPushVO.getMsg());
 
                 }
             } catch (Exception e) {
@@ -802,7 +857,8 @@ public class TestFacade {
         map.put("程序报错", errMsg);
         return map;
     }
-    public  void setname(IndicationPushVO indicationPushVO,TestIndicationVO bean){
+
+    public void setname(IndicationPushVO indicationPushVO, TestIndicationVO bean) {
         List<Item> operationOrder = new ArrayList<>();
         Item item = new Item();
         item.setUniqueName(bean.getOperationName());

+ 3 - 0
src/main/java/com/diagbot/util/NeoUtil.java

@@ -95,6 +95,9 @@ public class NeoUtil {
                         case "范围":
                             nodeNeoDTO.setValType(jobj.getIntValue(key));
                             break;
+                        case "结果":
+                            nodeNeoDTO.setVal(jobj.getString(key));
+                            break;
                     }
                 }
             }

+ 1 - 1
src/main/java/com/diagbot/vo/TestIndicationVO.java

@@ -239,7 +239,7 @@ public class TestIndicationVO implements Serializable {
     private String disease;
     @Excel(name="化验结果")
     private String lisAll;
-    @Excel(name="辅检结果")
+    @Excel(name="辅检结果描述")
     private String pacsAll;
     @Excel(name="年龄T")
     private String ageAll;

+ 0 - 1
src/main/java/com/diagbot/web/CoreController.java

@@ -56,4 +56,3 @@ public class CoreController {
         return RespDTO.onSuc(pushPlanDTO);
     }
 }
-