Browse Source

添加慢病的不良反应

kongwz 6 years ago
parent
commit
634d73c773

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

@@ -84,7 +84,7 @@ public class GraphCalculate {
             Map<String, List<String>> disUE = neo4jAPI.getDisUE(webDiagList, diseaseType);
 
             //走平常诊断治疗
-            Map<String, Filnlly> mulDiseaseTreat = neo4jAPI.getMulDiseaseTreat_2(webDiag, diseaseType, diseaseSet, String.join(",", inputList));
+            Map<String, Filnlly> mulDiseaseTreat = neo4jAPI.getMulDiseaseTreat_2(webDiag, diseaseType, diseaseSet,disUE,String.join(",", inputList));
             responseData.setTreat(mulDiseaseTreat);
         }
         //管理评估(慢病才有)

+ 23 - 10
graph/src/main/java/org/diagbot/graph/jdbc/Neo4jAPI.java

@@ -1092,7 +1092,7 @@ public class Neo4jAPI {
      * @param filds   //     * @param sign 标志,2是平常诊断的治疗,0是复诊诊断的治疗,1是急诊
      * @return
      */
-    public Map<String, Filnlly> getMulDiseaseTreat_2(String disease, Integer diseaseType, Set<String> disSet, String filds) {
+    public Map<String, Filnlly> getMulDiseaseTreat_2(String disease, Integer diseaseType, Set<String> disSet,Map<String, List<String>> disUE, String filds) {
         Map<String, Filnlly> diagTreat = new HashMap<>();
         Session session = null;
         NumberFormat nf = NumberFormat.getPercentInstance();
@@ -1119,6 +1119,14 @@ public class Neo4jAPI {
                     fildsList.add("\'" + diseaseList.get(j) + "\'");
                 }
             }
+            //获取每个病的不良反应集合
+            List<String> ueList = disUE.get(diseaseList.get(i));
+            if(ueList !=null && ueList.size()>0){
+                for (String ue:ueList) {
+                    fildsList.add("\'"+ue+"\'");
+                }
+            }
+
             diseFilds.put(diseaseList.get(i), fildsList);
         }
         try {
@@ -1288,14 +1296,19 @@ public class Neo4jAPI {
                         Filnlly filnlly = new Filnlly();
                         //显示不良反应
                         if (diseaseType != null && 1 == diseaseType) {
-                            List<Indicators> indicatorsList1 = new ArrayList<>();
-                            Indicators indicators1 = getAdverse(disSet, "低血糖反应");
-                            logger.info(disSet + "包含  低血糖反应");
-                            Indicators indicators2 = getAdverse(disSet, "胃肠道不良反应");
-                            logger.info(disSet + "包含  胃肠道不良反应");
-                            indicatorsList1.add(indicators1);
-                            indicatorsList1.add(indicators2);
-                            filnlly.setAdverseEvent(indicatorsList1);
+                            List<String> stringList = disUE.get(diseaseName);
+                            logger.info(diseaseName+"下面有"+stringList+"不良反应");
+                            if(stringList !=null && stringList.size()>0){
+                                List<Indicators> indicatorsList1 = new ArrayList<>();
+                                Indicators indicators1 = getAdverse(stringList, "低血糖反应");
+                                logger.info(disSet + "包含  低血糖反应");
+                                Indicators indicators2 = getAdverse(stringList, "胃肠道不良反应");
+                                logger.info(disSet + "包含  胃肠道不良反应");
+                                indicatorsList1.add(indicators1);
+                                indicatorsList1.add(indicators2);
+                                filnlly.setAdverseEvent(indicatorsList1);
+                            }
+
                         }
                         filnlly.setTreatment(drugsList);
                         diagTreat.put(diseaseName, filnlly);
@@ -1597,7 +1610,7 @@ public class Neo4jAPI {
 
     }
 
-    public Indicators getAdverse(Set<String> dis, String name) {
+    public Indicators getAdverse(List<String> dis, String name) {
         List<Detail> detailList1 = new ArrayList<>();
         Indicators indicators1 = new Indicators();
         indicators1.setName(name);