Procházet zdrojové kódy

管理评估分级

kongwz před 5 roky
rodič
revize
a4daf80156

+ 47 - 3
graph/src/main/java/org/diagbot/graph/jdbc/Neo4jAPI.java

@@ -1737,15 +1737,31 @@ public class Neo4jAPI {
 
     public Map<String, JSONObject> procrssMange(Map<String, Map<String, List<String>>> zong, List<String> types,Map<String, List<CrisisDetail>> crisisDetails) {
         Map<String, JSONObject> llo = new HashMap<>();
+        Map<String, List<String>> crisisDetailsManger = processCrisisDetails_manger(crisisDetails);
         Map<String, String> crisisDetailsMap = this.processCrisisDetails(crisisDetails,"11");
         if (types != null && types.size() > 0) {
             for (String type : types) {
                 JSONObject big = new JSONObject();
                 List<JSONObject> result = new ArrayList<>();
+
                 Map<String, List<String>> csc = zong.get(type);
                 for (Map.Entry<String, List<String>> fd : csc.entrySet()) {
                     String key = fd.getKey();
+                    List<String> maList = crisisDetailsManger.get(key);
                     List<String> values = fd.getValue();
+                    int index = -1;
+                    String s ="";
+                    if(maList != null && maList.size()>0){
+                        for (String m:maList) {
+                            if(values.indexOf(m)>=0){
+                                int i = values.indexOf(m);
+                                if(i>index){
+                                    index = i;
+                                }
+                            }
+                        }
+                        s = values.get(index);
+                    }
                     // TODO: 2019/10/31
                     /**
                      * 这部分可以进行校验
@@ -1753,13 +1769,13 @@ public class Neo4jAPI {
                     JSONObject j = new JSONObject();
                     j.put("controltype", 0);
                     j.put("name", key);
+
                     List<JSONObject> hList = new ArrayList<>();
                     if (values.size() > 0) {
-                        for (String value : values
-                                ) {
+                        for (String value : values) {
                             JSONObject ds = new JSONObject();
                             ds.put("detailName", value);
-                            if(crisisDetailsMap.containsKey(key) && value.equals(crisisDetailsMap.get(key))){
+                            if(value.equals(s)){
                                 ds.put("state", 1);
                             }else {
                                 ds.put("state", 0);
@@ -1767,7 +1783,9 @@ public class Neo4jAPI {
                             hList.add(ds);
                         }
                     }
+
                     j.put("details", hList);
+
                     result.add(j);
                 }
 //                ll.put(type,result);
@@ -1777,6 +1795,32 @@ public class Neo4jAPI {
         }
         return llo;
     }
+    public Map<String,List<String>> processCrisisDetails_manger(Map<String, List<CrisisDetail>> crisisDetails){
+        Map<String,List<String>> managerMap = new HashMap<>();
+        if(crisisDetails != null && crisisDetails.size()>0 ) {
+            for (Map.Entry<String, List<CrisisDetail>> crisis : crisisDetails.entrySet()
+                    ) {
+                List<CrisisDetail> value = crisis.getValue();
+                if (value != null && value.size() > 0) {
+                    for (CrisisDetail crisisDetail : value) {
+                        String[] crisisSplits = crisisDetail.getRemindText().split(":");
+                        if(managerMap.containsKey(crisisSplits[0])){
+                            List<String> manList = managerMap.get(crisisSplits[0]);
+                            if(manList.indexOf(crisisSplits[1])<0){
+                                manList.add(crisisSplits[1]);
+                            }
+                            managerMap.put(crisisSplits[0],manList);
+                        }else {
+                            List<String> manList = new ArrayList<>();
+                            manList.add(crisisSplits[1]);
+                            managerMap.put(crisisSplits[0],manList);
+                        }
+                    }
+                }
+            }
+        }
+        return managerMap;
+    }
 
     /**
      * 处理风险因素评估或不良反应

+ 2 - 2
graph/src/main/java/org/diagbot/graph/medicationProcess/PushTreat.java

@@ -68,9 +68,9 @@ public class PushTreat {
         }
         // TODO: 2019/11/21 处理合并症 例如高热
         List<TreatDetail> treatDetailList = this.complicationMedicaton(inputList, driver, allFilds);
-        treatDetailList.addAll(treatmentPlanList);
+        treatmentPlanList.addAll(treatDetailList);
 
-        return treatDetailList;
+        return treatmentPlanList;
     }
 
     private List<TreatDetail> complicationMedicaton(String[] inputList,Driver driver,List<String> allFilds){