|
@@ -1,5 +1,6 @@
|
|
|
package org.diagbot.push.controller;
|
|
|
|
|
|
+import io.swagger.models.auth.In;
|
|
|
import org.diagbot.common.work.*;
|
|
|
import org.diagbot.pub.api.Response;
|
|
|
import org.diagbot.pub.utils.PropertiesUtil;
|
|
@@ -52,11 +53,11 @@ public class AlgorithmController extends BaseController {
|
|
|
//大数据推送
|
|
|
HttpApi<Response> api = new HttpApi<Response>();
|
|
|
// 根据hospitalCode从his获取所有疾病库信息
|
|
|
- Response bigDataResponse = api.doPost(propertiesUtil.getProperty("bigdata.http.url"), searchData,
|
|
|
- Response.class);
|
|
|
- LinkedHashMap bigDataLinkedHashMap = (LinkedHashMap) bigDataResponse.getData();
|
|
|
- //转FeatureRate对象
|
|
|
- ResponseData bigDataResponseData = map2ResponseData(bigDataLinkedHashMap);
|
|
|
+// Response bigDataResponse = api.doPost(propertiesUtil.getProperty("bigdata.http.url"), searchData,
|
|
|
+// Response.class);
|
|
|
+// LinkedHashMap bigDataLinkedHashMap = (LinkedHashMap) bigDataResponse.getData();
|
|
|
+// //转FeatureRate对象
|
|
|
+// ResponseData bigDataResponseData = map2ResponseData(bigDataLinkedHashMap);
|
|
|
//知识图谱推送
|
|
|
Response graphResponse = api.doPost(propertiesUtil.getProperty("graph.http.url"), searchData,
|
|
|
Response.class);
|
|
@@ -68,24 +69,24 @@ public class AlgorithmController extends BaseController {
|
|
|
if (graphResponseData.getDis().size() > 0) {
|
|
|
List<FeatureRate> disFeatureRates = new ArrayList<>();
|
|
|
boolean isFind = false;
|
|
|
- for (int i = 0; i < bigDataResponseData.getDis().size(); i++) {
|
|
|
- FeatureRate bigdata_fr = bigDataResponseData.getDis().get(i);
|
|
|
- isFind = false;
|
|
|
- for (FeatureRate graph_fr : graphResponseData.getDis()) {
|
|
|
- if (bigdata_fr.getFeatureName().equals(graph_fr.getFeatureName())) {
|
|
|
- isFind = true;
|
|
|
- }
|
|
|
- }
|
|
|
- if (!isFind) {
|
|
|
- disFeatureRates.add(bigdata_fr);
|
|
|
- }
|
|
|
- }
|
|
|
+// for (int i = 0; i < bigDataResponseData.getDis().size(); i++) {
|
|
|
+// FeatureRate bigdata_fr = bigDataResponseData.getDis().get(i);
|
|
|
+// isFind = false;
|
|
|
+// for (FeatureRate graph_fr : graphResponseData.getDis()) {
|
|
|
+// if (bigdata_fr.getFeatureName().equals(graph_fr.getFeatureName())) {
|
|
|
+// isFind = true;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// if (!isFind) {
|
|
|
+// disFeatureRates.add(bigdata_fr);
|
|
|
+// }
|
|
|
+// }
|
|
|
List<FeatureRate> graphFeatureRates = graphResponseData.getDis();
|
|
|
graphFeatureRates.addAll(disFeatureRates);
|
|
|
//大数据推送疾病数据用知识图谱替换
|
|
|
- bigDataResponseData.setDis(graphFeatureRates);
|
|
|
+// bigDataResponseData.setDis(graphFeatureRates);
|
|
|
}
|
|
|
- response.setData(bigDataResponseData);
|
|
|
+// response.setData(bigDataResponseData);
|
|
|
return response;
|
|
|
}
|
|
|
|
|
@@ -124,45 +125,45 @@ public class AlgorithmController extends BaseController {
|
|
|
private ResponseData addTreat(ResponseData graphResponseData, LinkedHashMap linkedHashMap) {
|
|
|
Map<String,Filnlly> treatResult = new HashMap<String,Filnlly>();
|
|
|
if(linkedHashMap.get("treat")!=null){
|
|
|
- LinkedHashMap<String, LinkedHashMap> data= (LinkedHashMap<String, LinkedHashMap>)linkedHashMap.get("treat");
|
|
|
- LinkedHashMap<String,LinkedHashMap> treat = data.get("treat");
|
|
|
- for (Map.Entry<String,LinkedHashMap>sdf :treat.entrySet()
|
|
|
- ) {
|
|
|
- String diseName = sdf.getKey();//诊断名
|
|
|
- LinkedHashMap<String,ArrayList<LinkedHashMap>> value = sdf.getValue();
|
|
|
- ArrayList<LinkedHashMap> treatmentList = value.get("treatment");
|
|
|
+ LinkedHashMap<String, LinkedHashMap<String,ArrayList<LinkedHashMap>>> data= (LinkedHashMap<String, LinkedHashMap<String,ArrayList<LinkedHashMap>>>)linkedHashMap.get("treat");
|
|
|
+ for (Map.Entry<String, LinkedHashMap<String,ArrayList<LinkedHashMap>>> fd:data.entrySet()) {
|
|
|
+ String diseaseName = fd.getKey();
|
|
|
+ LinkedHashMap<String, ArrayList<LinkedHashMap>> value = fd.getValue();
|
|
|
+ ArrayList<LinkedHashMap> treament = value.get("treatment");
|
|
|
ArrayList<Drugs> drugsList = new ArrayList<Drugs>();
|
|
|
- for (LinkedHashMap d:
|
|
|
- treatmentList) {
|
|
|
- Drugs drugs = new Drugs();//药类封装
|
|
|
- String bigdrugsName = String.valueOf(d.get("bigdrugsName"));
|
|
|
- String subdrugsName = String.valueOf(d.get("subdrugsName"));
|
|
|
- ArrayList<LinkedHashMap<String, String>> medicitionsList = (ArrayList<LinkedHashMap<String, String>>) d.get("medicitionsList");
|
|
|
+ for (LinkedHashMap sd: treament) {
|
|
|
+ //创建药类对象,对药类对象进行封装
|
|
|
+ Drugs drugs = new Drugs();
|
|
|
+
|
|
|
+ String bigdrugsName = String.valueOf(sd.get("bigdrugsName"));
|
|
|
+ String subdrugsName = String.valueOf(sd.get("subdrugsName"));
|
|
|
+ ArrayList<LinkedHashMap<String, Object>> medicitionsList = (ArrayList<LinkedHashMap<String, Object>>) sd.get("medicitionsList");
|
|
|
LinkedList<Medicition> medicitionObjectList=new LinkedList<>();
|
|
|
- for (LinkedHashMap<String, String> medicition:
|
|
|
- medicitionsList) {
|
|
|
+ for (LinkedHashMap<String, Object> ds: medicitionsList) {
|
|
|
+ //创建药对象,进行封装
|
|
|
Medicition medicitionObject = new Medicition();
|
|
|
- String medicitionName = medicition.get("medicitionName");//药名
|
|
|
- String rate = medicition.get("rate");//药的使用率
|
|
|
- Integer isShow =Integer.parseInt(medicition.get("isShow")) ;//是否显示
|
|
|
- Integer forbidden = Integer.parseInt(medicition.get("forbidden"));//是否禁用,慎用
|
|
|
- medicitionObject.setMedicitionName(medicitionName);
|
|
|
- medicitionObject.setRate(rate);
|
|
|
- medicitionObject.setIsShow(isShow);
|
|
|
- medicitionObject.setForbidden(forbidden);
|
|
|
+
|
|
|
+ String medicitionName = String.valueOf(ds.get("medicitionName"));
|
|
|
+ String rate = String.valueOf(ds.get("rate"));
|
|
|
+ Integer isShow = Integer.parseInt(ds.get("isShow").toString());
|
|
|
+ Integer forbidden =Integer.parseInt(ds.get("forbidden").toString());
|
|
|
+ medicitionObject.setMedicitionName(medicitionName);//设置药名
|
|
|
+ medicitionObject.setRate(rate);//设置药的使用率
|
|
|
+ medicitionObject.setIsShow(isShow);//设置这个药是否展示
|
|
|
+ medicitionObject.setForbidden(forbidden);//设置这个药是否为禁忌药
|
|
|
medicitionObjectList.add(medicitionObject);
|
|
|
}
|
|
|
- drugs.setBigdrugsName(bigdrugsName);
|
|
|
- drugs.setSubdrugsName(subdrugsName);
|
|
|
- drugs.setMedicitionsList(medicitionObjectList);
|
|
|
- drugsList.add(drugs);
|
|
|
+ drugs.setBigdrugsName(bigdrugsName);//药的大类
|
|
|
+ drugs.setSubdrugsName(subdrugsName);//药的子类
|
|
|
+ drugs.setMedicitionsList(medicitionObjectList);//这个类所包含的药物列表
|
|
|
+ drugsList.add(drugs);//药类列表
|
|
|
}
|
|
|
Filnlly filnlly = new Filnlly();
|
|
|
filnlly.setTreatment(drugsList);
|
|
|
- treatResult.put(diseName,filnlly);
|
|
|
+ treatResult.put(diseaseName,filnlly);
|
|
|
}
|
|
|
}
|
|
|
graphResponseData.setTreat(treatResult);
|
|
|
- return null;
|
|
|
+ return graphResponseData;
|
|
|
}
|
|
|
}
|