|
@@ -220,6 +220,7 @@ public class PushTreat {
|
|
|
}
|
|
|
private List<TreatDetail> processMedication_he(Map<String,Map<String,Object>> disDrugs,Map<String,Integer> conditionDesign,List<String> allFilds,Driver driver){
|
|
|
List<TreatDetail> treatDetailList = new ArrayList<>();
|
|
|
+ Map<String,Set<String>> dis_Drugs =new HashMap<>();
|
|
|
if(disDrugs != null && disDrugs.size()>0){
|
|
|
for (Map.Entry<String,Map<String,Object>> ds:disDrugs.entrySet()) {
|
|
|
String key = ds.getKey();
|
|
@@ -227,33 +228,44 @@ public class PushTreat {
|
|
|
List<String> cateList = (List<String>) values.get("cate");
|
|
|
List<String> disList = (List<String>)values.get("dis");
|
|
|
List<Object> collList = (List<Object>)values.get("coll");
|
|
|
-
|
|
|
if(cateList.contains("合并症")){
|
|
|
List<Integer> indexList = same(cateList, "合并症");
|
|
|
if(indexList.size()>0){
|
|
|
for (Integer i:indexList) {
|
|
|
- TreatDetail treatDetail = new TreatDetail();
|
|
|
String mainDis = disList.get(i);
|
|
|
List<String> o = (List<String>)collList.get(i);
|
|
|
List<String> yinhao = yinhao(o);
|
|
|
- //根据类找药
|
|
|
- List<Drugs> drugs = searchMedication(yinhao,allFilds,driver);
|
|
|
- List<MeditionDetail> meditionDetails = new ArrayList<>();
|
|
|
- MeditionDetail meditionDetail = new MeditionDetail();
|
|
|
- meditionDetail.setDescription("");
|
|
|
- meditionDetail.setTreatment(drugs);
|
|
|
- meditionDetails.add(meditionDetail);
|
|
|
-
|
|
|
- treatDetail.setTitle(mainDis);
|
|
|
- treatDetail.setMeditionDetails(meditionDetails);
|
|
|
-
|
|
|
- treatDetailList.add(treatDetail);
|
|
|
+ if(dis_Drugs.containsKey(mainDis)){
|
|
|
+ Set<String> strings = dis_Drugs.get(mainDis);
|
|
|
+ strings.addAll(yinhao);
|
|
|
+ dis_Drugs.put(mainDis,strings);
|
|
|
+ }else {
|
|
|
+ Set<String> strings = new HashSet<>();
|
|
|
+ strings.addAll(yinhao);
|
|
|
+ dis_Drugs.put(mainDis,strings);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ if(dis_Drugs != null && dis_Drugs.size()>0){
|
|
|
+ for (Map.Entry<String,Set<String>> dd:dis_Drugs.entrySet()) {
|
|
|
+ TreatDetail treatDetail = new TreatDetail();
|
|
|
+ String mainDis = dd.getKey();
|
|
|
+ Set<String> drugs = dd.getValue();
|
|
|
+ //根据类找药
|
|
|
+ List<Drugs> drugsList = searchMedication(new ArrayList<>(drugs),allFilds,driver);
|
|
|
+ List<MeditionDetail> meditionDetails = new ArrayList<>();
|
|
|
+ MeditionDetail meditionDetail = new MeditionDetail();
|
|
|
+ meditionDetail.setDescription("");
|
|
|
+ meditionDetail.setTreatment(drugsList);
|
|
|
+ meditionDetails.add(meditionDetail);
|
|
|
+ treatDetail.setTitle(mainDis);
|
|
|
+ treatDetail.setMeditionDetails(meditionDetails);
|
|
|
+ treatDetailList.add(treatDetail);
|
|
|
+ }
|
|
|
+ }
|
|
|
return treatDetailList;
|
|
|
}
|
|
|
|