Browse Source

添加diseaseName,优化治疗方案功能

kongwz 5 years ago
parent
commit
ecb51b2d5f

+ 9 - 0
common-push/src/main/java/org/diagbot/common/push/bean/SearchData.java

@@ -31,6 +31,7 @@ public class SearchData {
     protected String lis = "";
     protected String lis = "";
     protected String pacs = "";
     protected String pacs = "";
     protected String diag = "";
     protected String diag = "";
+    private String diseaseName;
     protected String past = "";
     protected String past = "";
     protected String other = "";
     protected String other = "";
     //当前开单lis项目
     //当前开单lis项目
@@ -311,4 +312,12 @@ public class SearchData {
     public void setRules(Map<String, List<Rule>> rules) {
     public void setRules(Map<String, List<Rule>> rules) {
         this.rules = rules;
         this.rules = rules;
     }
     }
+
+    public String getDiseaseName() {
+        return diseaseName;
+    }
+
+    public void setDiseaseName(String diseaseName) {
+        this.diseaseName = diseaseName;
+    }
 }
 }

+ 3 - 2
graph-web/src/main/java/org/diagbot/graphWeb/work/GraphCalculate.java

@@ -45,6 +45,7 @@ public class GraphCalculate {
         List<String> inputList = new ArrayList<>();
         List<String> inputList = new ArrayList<>();
         int age = searchData.getAge();
         int age = searchData.getAge();
         String sex = searchData.getSex();
         String sex = searchData.getSex();
+        String diseaseName = searchData.getDiseaseName();
         logger.info("前端传来的年龄为 :"+age+" 前端传来的性别为 :"+sex);
         logger.info("前端传来的年龄为 :"+age+" 前端传来的性别为 :"+sex);
         Map<String, Map<String, String>> sexAgeCache = CacheUtil.getSexAgeCache();
         Map<String, Map<String, String>> sexAgeCache = CacheUtil.getSexAgeCache();
         Map<String, Map<String, String>> inputs = searchData.getGraphInputs();
         Map<String, Map<String, String>> inputs = searchData.getGraphInputs();
@@ -131,11 +132,11 @@ public class GraphCalculate {
         //走治疗
         //走治疗
         if (webDiag !=null && webDiag.trim() != null && webDiag.trim() != "" && featureTypeList.contains("6")) {
         if (webDiag !=null && webDiag.trim() != null && webDiag.trim() != "" && featureTypeList.contains("6")) {
             // 查找页面诊断里是否有不良反应
             // 查找页面诊断里是否有不良反应
-            Map<String, List<String>> disUE = neo4jAPI.getDisUE(webDiagList, diseaseType);
+            Map<String, List<String>> disUE = neo4jAPI.getDisUE(diseaseName, diseaseType);
             //根据页面输入内容推出的不良反应集合
             //根据页面输入内容推出的不良反应集合
             Set<String> ue = neo4jAPI.getUe((String[]) inputList.toArray(new String[inputList.size()]));
             Set<String> ue = neo4jAPI.getUe((String[]) inputList.toArray(new String[inputList.size()]));
             //走平常诊断治疗
             //走平常诊断治疗
-            Map<String, Filnlly> mulDiseaseTreat = neo4jAPI.getMulDiseaseTreat_2(webDiag, diseaseType, diseaseSet,disUE,ue,String.join(",", inputList));
+            Map<String, Filnlly> mulDiseaseTreat = neo4jAPI.getMulDiseaseTreat_2(diseaseName,webDiag, diseaseType, diseaseSet,disUE,ue,String.join(",", inputList));
             responseData.setTreat(mulDiseaseTreat);
             responseData.setTreat(mulDiseaseTreat);
         }
         }
         //管理评估(慢病才有)
         //管理评估(慢病才有)

+ 9 - 8
graph/src/main/java/org/diagbot/graph/jdbc/Neo4jAPI.java

@@ -1349,14 +1349,15 @@ public class Neo4jAPI {
     /**
     /**
      * 获取每个慢病对应的不良反应
      * 获取每个慢病对应的不良反应
      *
      *
-     * @param webDiagArray
+     * @param
      * @param diseaseType
      * @param diseaseType
      * @return
      * @return
      */
      */
-    public Map<String, List<String>> getDisUE(String[] webDiagArray, Integer diseaseType) {
+    public Map<String, List<String>> getDisUE(String disName, Integer diseaseType) {
         Session session = null;
         Session session = null;
         Map<String, List<String>> disUE = new HashMap<>();
         Map<String, List<String>> disUE = new HashMap<>();
         List<String> webDiagList = new ArrayList<>();
         List<String> webDiagList = new ArrayList<>();
+        String[] webDiagArray = disName.split(",");
         if (diseaseType != null && 1 == diseaseType) {
         if (diseaseType != null && 1 == diseaseType) {
             for (String dis : webDiagArray) {
             for (String dis : webDiagArray) {
                 if (!"".equals(dis)) {
                 if (!"".equals(dis)) {
@@ -1398,7 +1399,7 @@ public class Neo4jAPI {
      * @param filds   //     * @param sign 标志,2是平常诊断的治疗,0是复诊诊断的治疗,1是急诊
      * @param filds   //     * @param sign 标志,2是平常诊断的治疗,0是复诊诊断的治疗,1是急诊
      * @return
      * @return
      */
      */
-    public Map<String, Filnlly> getMulDiseaseTreat_2(String disease, Integer diseaseType, Set<String> disSet, Map<String, List<String>> disUE, Set<String> ueSet, String filds) {
+    public Map<String, Filnlly> getMulDiseaseTreat_2(String disName,String disease, Integer diseaseType, Set<String> disSet, Map<String, List<String>> disUE, Set<String> ueSet, String filds) {
         Map<String, Filnlly> diagTreat = new HashMap<>();
         Map<String, Filnlly> diagTreat = new HashMap<>();
         Session session = null;
         Session session = null;
         NumberFormat nf = NumberFormat.getPercentInstance();
         NumberFormat nf = NumberFormat.getPercentInstance();
@@ -1411,7 +1412,7 @@ public class Neo4jAPI {
             diseaseList.add(diseaseArray[i]);
             diseaseList.add(diseaseArray[i]);
         }
         }
         Map<String, ArrayList> diseFilds = new HashMap<>();
         Map<String, ArrayList> diseFilds = new HashMap<>();
-        for (int i = 0; i < diseaseList.size(); i++) {
+//        for (int i = 0; i < diseaseList.size(); i++) {
             String[] fildsArray = filds.split(",");
             String[] fildsArray = filds.split(",");
             ArrayList<String> fildsList = new ArrayList<>();//其他条件数组
             ArrayList<String> fildsList = new ArrayList<>();//其他条件数组
             for (String fild : fildsArray) {
             for (String fild : fildsArray) {
@@ -1426,14 +1427,14 @@ public class Neo4jAPI {
             for (String h : ueSet) {
             for (String h : ueSet) {
                 fildsList.add("\'" + h + "\'");
                 fildsList.add("\'" + h + "\'");
             }
             }
-            for (int j = 0; j < diseaseList.size(); j++) {
+           /* for (int j = 0; j < diseaseList.size(); j++) {
                 if (i != j) {
                 if (i != j) {
                     fildsList.add("\'" + diseaseList.get(j) + "\'");
                     fildsList.add("\'" + diseaseList.get(j) + "\'");
                 }
                 }
-            }
+            }*/
 
 
-            diseFilds.put(diseaseList.get(i), fildsList);
-        }
+            diseFilds.put(disName, fildsList);
+//        }
         try {
         try {
             session = driver.session(AccessMode.WRITE);
             session = driver.session(AccessMode.WRITE);
             Integer integer = session.writeTransaction(new TransactionWork<Integer>() {
             Integer integer = session.writeTransaction(new TransactionWork<Integer>() {