|
@@ -1171,7 +1171,8 @@ public class Neo4jAPI {
|
|
|
if (stringList != null && stringList.size() > 0) {
|
|
|
List<Indicators> indicatorsList1 = new ArrayList<>();
|
|
|
for (String de : stringList) {
|
|
|
- Indicators indicators1 = getAdverse(ueSet, de);
|
|
|
+// Indicators indicators1 = getAdverse(ueSet, de);
|
|
|
+ Indicators indicators1 = new Indicators();
|
|
|
logger.info(disSet + "包含 " + de);
|
|
|
indicatorsList1.add(indicators1);
|
|
|
}
|
|
@@ -1192,7 +1193,7 @@ public class Neo4jAPI {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public Map<String, Filnlly> getMulDiseaseTreat_new(String disName, String disease, Integer diseaseType, Set<String> disSet, Map<String, List<String>> disUE, Map<String,String> ueSet, String filds) {
|
|
|
+ public Map<String, Filnlly> getMulDiseaseTreat_new(String disName, String disease, Integer diseaseType, Set<String> disSet, Map<String, List<String>> disUE, Map<String,String> ueSet, String filds, Map<String, List<CrisisDetail>> crisisDetails) {
|
|
|
Map<String, Filnlly> newTret = new HashMap<>();
|
|
|
Session session = null;
|
|
|
Map<String, ArrayList> diseFilds = getdisFilds(disName, disease, disSet, ueSet, filds);
|
|
@@ -1295,7 +1296,7 @@ public class Neo4jAPI {
|
|
|
if (stringList != null && stringList.size() > 0) {
|
|
|
List<Indicators> indicatorsList1 = new ArrayList<>();
|
|
|
for (String de : stringList) {
|
|
|
- Indicators indicators1 = getAdverse(ueSet, de);
|
|
|
+ Indicators indicators1 = getAdverse(ueSet, de,crisisDetails);
|
|
|
logger.info(disSet + "包含 " + de);
|
|
|
indicatorsList1.add(indicators1);
|
|
|
}
|
|
@@ -1586,7 +1587,7 @@ 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, String> crisisDetailsMap = this.processCrisisDetails(crisisDetails);
|
|
|
+ Map<String, String> crisisDetailsMap = this.processCrisisDetails(crisisDetails,"11");
|
|
|
if (types != null && types.size() > 0) {
|
|
|
for (String type : types) {
|
|
|
JSONObject big = new JSONObject();
|
|
@@ -1628,11 +1629,11 @@ public class Neo4jAPI {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 处理风险因素评估
|
|
|
+ * 处理风险因素评估或不良反应
|
|
|
* @param crisisDetails
|
|
|
* @return
|
|
|
*/
|
|
|
- public Map<String,String> processCrisisDetails(Map<String, List<CrisisDetail>> crisisDetails){
|
|
|
+ public Map<String,String> processCrisisDetails(Map<String, List<CrisisDetail>> crisisDetails,String sign){
|
|
|
Map<String,String> crisisMap = new HashMap<>();
|
|
|
if(crisisDetails != null && crisisDetails.size()>0 ){
|
|
|
for (Map.Entry<String, List<CrisisDetail>> crisis:crisisDetails.entrySet()
|
|
@@ -1640,9 +1641,20 @@ public class Neo4jAPI {
|
|
|
List<CrisisDetail> value = crisis.getValue();
|
|
|
if(value!=null && value.size()>0){
|
|
|
for (CrisisDetail crisisDetail:value) {
|
|
|
- if("11".equals(crisisDetail.getTypeId())){
|
|
|
- String[] crisisSplits = crisisDetail.getRemindText().split(":");
|
|
|
+ String[] crisisSplits = crisisDetail.getRemindText().split(":");
|
|
|
+ if(sign.equals(crisisDetail.getTypeId()) && !sign.equals("6")){
|
|
|
crisisMap.put(crisisSplits[0],crisisSplits[1]);
|
|
|
+ }else if(sign.equals(crisisDetail.getTypeId()) && sign.equals("6")){//不良反应
|
|
|
+ if(crisisMap.containsKey(crisisSplits[0])){
|
|
|
+ if("轻度".equals(crisisMap.get(crisisSplits[0])) && ("重度".equals(crisisSplits[1])||"中度".equals(crisisSplits[1]) )){
|
|
|
+ crisisMap.put(crisisSplits[0],crisisSplits[1]);
|
|
|
+ }
|
|
|
+ if("中度".equals(crisisMap.get(crisisSplits[0])) && "重度".equals(crisisSplits[1])){
|
|
|
+ crisisMap.put(crisisSplits[0],crisisSplits[1]);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ crisisMap.put(crisisSplits[0],crisisSplits[1]);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1801,24 +1813,39 @@ public class Neo4jAPI {
|
|
|
|
|
|
}
|
|
|
|
|
|
- public Indicators getAdverse(Map<String,String> dis, String name) {
|
|
|
+ public Indicators getAdverse(Map<String,String> dis, String name,Map<String, List<CrisisDetail>> crisisDetails) {
|
|
|
+ Map<String, String> crisisDetailsMap = this.processCrisisDetails(crisisDetails,"6");
|
|
|
+ if(crisisDetailsMap != null && dis != null){
|
|
|
+ for (Map.Entry<String,String> d:dis.entrySet()
|
|
|
+ ) {
|
|
|
+ if(!crisisDetailsMap.containsKey(d.getKey())){
|
|
|
+ crisisDetailsMap.put(d.getKey(),d.getValue());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
String[] item={"无","可能有","轻度","中度","重度"};
|
|
|
Indicators indicators = new Indicators();
|
|
|
indicators.setName(name);
|
|
|
indicators.setControlType(2);
|
|
|
List<Detail> detailList1 = new ArrayList<>();
|
|
|
for (String it:item) {
|
|
|
+ int value = 0;
|
|
|
Detail detail = new Detail();
|
|
|
detail.setName(it);
|
|
|
- if(dis != null && dis.size()>0){
|
|
|
- if(dis.containsKey(name) && dis.get(name).equals(it)){
|
|
|
- detail.setValue(1);
|
|
|
- }else {
|
|
|
- detail.setValue(0);
|
|
|
- }
|
|
|
- }else {
|
|
|
- detail.setValue(0);
|
|
|
- }
|
|
|
+ if(crisisDetailsMap != null && crisisDetailsMap.size()>0){
|
|
|
+ if(crisisDetailsMap.containsKey(name) ){
|
|
|
+ if(it.equals(crisisDetailsMap.get(name))){
|
|
|
+ value = 1;
|
|
|
+ detail.setValue(value);
|
|
|
+ }else {
|
|
|
+ detail.setValue(value);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ detail.setValue(value);
|
|
|
+
|
|
|
+ } }else {
|
|
|
+ detail.setValue(value);
|
|
|
+ }
|
|
|
detailList1.add(detail);
|
|
|
|
|
|
}
|