ソースを参照

测试只保留大数据推送,服务器内存使用情况

louhr 5 年 前
コミット
f7fce6f0b2

+ 85 - 76
push-web/src/main/java/org/diagbot/push/controller/AlgorithmController.java

@@ -149,84 +149,93 @@ public class AlgorithmController extends BaseController {
         CrisisApplication crisisApplication = new CrisisApplication();
         responseData.setCrisisDetails(crisisApplication.crisisContent(searchData));
 
+        ResponseData bigDataResponseData = new ResponseData();
+
         //大数据推送
 //        searchData.setLength(6);    //模型推送最多6个比较合理
-        AlgorithmCore core = new AlgorithmCore();
-        ResponseData bigDataResponseData = core.algorithm(request, searchData, responseData);
-        bigDataResponseData.setVitals(new ArrayList<>());
-        bigDataResponseData.setLabs(new ArrayList<>());
-        bigDataResponseData.setPacs(new ArrayList<>());
-
-//        GraphCalculate graphCalculate = new GraphCalculate();
-//        Map<String, List<CrisisDetail>> crisisDetails = responseData.getCrisisDetails();
-//        ResponseData graphResponseData = graphCalculate.calculate(request, searchData,crisisDetails);
-//        if (graphResponseData.getDis().size() > 0) {
-//            List<FeatureRate> disFeatureRates = new ArrayList<>();
-//            List<FeatureRate> bigdis = bigDataResponseData.getDis();
-//            List<FeatureRate> graphdis = graphResponseData.getDis();
-//            for (FeatureRate bg:graphdis) {
-//                Iterator<FeatureRate> iterator = bigdis.iterator();
-//                while (iterator.hasNext()){
-//                    FeatureRate gd = iterator.next();
-//                    if(gd.getFeatureName().equals(bg.getFeatureName()) &&(bg.getDesc().contains("确诊")|| bg.getDesc().contains("拟诊"))){
-//                        iterator.remove();
-//                    }
-//                }
-//            }
-//            disFeatureRates = bigdis;
-//            List<FeatureRate> graphFeatureRates = graphResponseData.getDis();
-//            graphFeatureRates.addAll(disFeatureRates);
-//            bigDataResponseData.setDis(graphFeatureRates);
-//        }
-//        //归一之前诊断信息
-//        bigDataResponseData.setBeforeCombineDis(bigDataResponseData.getDis());
-//        //推送出的诊断信息作为参数传入知识图谱
-//        List<FeatureRate> pushDiags = new ArrayList<>();
-//        pushDiags.addAll(bigDataResponseData.getDis());
-//        searchData.setPushDiags(pushDiags);
-//        bigDataResponseData.setTreat(graphResponseData.getTreat());
-//
-//        //量表和指标推送
-//        List<MedicalIndication> crisisDetailsList = this.getCrisisDetails(crisisDetails);
-//        List<MedicalIndication> medicalIndications = graphResponseData.getMedicalIndications();
-//        if (medicalIndications == null) {
-//            medicalIndications = new ArrayList<>();
-//        }
-//        medicalIndications.addAll(crisisDetailsList);
-//        if (medicalIndications != null && medicalIndications.size() > 0) {
-//            logger.info("指标推送!!!!!!!!!");
-//            //           bigDataResponseData.getMedicalIndications().addAll(medicalIndications);
-//            bigDataResponseData.setMedicalIndications(medicalIndications);
-//        }
-//
-//        //推送管理评估
-//        bigDataResponseData.setManagementEvaluation(graphResponseData.getManagementEvaluation());
-//
-//        //知识图谱直接替换大数据中的检验检查数据
-//        Map<String, List<FeatureRate>> lisPacs = graphCalculate.getLisPacs(request, searchData);
-//        bigDataResponseData.setLabs(lisPacs.get("lisList"));
-//        bigDataResponseData.setPacs(lisPacs.get("pacsList"));
-//        //体征结果和指标推送
-//        Map<String, String> vitalCache = CacheUtil.getVitalCache();
-//        List<String> featureList = Arrays.asList(searchData.getFeatureTypes());
-//        List<FeatureRate> vitals = lisPacs.get("vitalResultList");
-//        if (featureList.contains(Constants.feature_type_vital_index) && this.getVital(vitalCache, vitals).size() > 0) {
-//            bigDataResponseData.setVitals(this.getVital(vitalCache, vitals));
-//
-//        }
-//        if (featureList.contains(Constants.feature_type_vital) && vitals.size() > 0) {
-//            bigDataResponseData.setVitals(vitals);
-//        }
-//
-//        //把所有的诊断拿出来经过过滤层过滤
-//        ClassifyDiag classifyDiag = new ClassifyDiag();
-//        List<FeatureRate> upfes = classifyDiag.filterDiag(graphResponseData, pushDiags);
-//        List<FeatureRate> classify = classifyDiag.diagClassify(upfes);
-//        List<FeatureRate> featureRates = classifyDiag.sortDiag(classify);
-//        bigDataResponseData.setDis(featureRates);
-//        //返回结果化验、辅检、体征、进行性别年龄过滤
-//        ResultDataProxy resultDataProxy = new ResultDataProxy();
-//        resultDataProxy.resultSexAgeFilter(request, bigDataResponseData, searchData);
+//        AlgorithmCore core = new AlgorithmCore();
+//        ResponseData bigDataResponseData = core.algorithm(request, searchData, responseData);
+//        bigDataResponseData.setVitals(new ArrayList<>());
+//        bigDataResponseData.setLabs(new ArrayList<>());
+//        bigDataResponseData.setPacs(new ArrayList<>());
+
+        List<FeatureRate> frs = new ArrayList<>();
+        FeatureRate fr = new FeatureRate();
+        fr.setFeatureName("上呼吸道感染");
+        fr.setRate("0.1");
+        frs.add(fr);
+        bigDataResponseData.setDis(frs);
+
+        GraphCalculate graphCalculate = new GraphCalculate();
+        Map<String, List<CrisisDetail>> crisisDetails = responseData.getCrisisDetails();
+        ResponseData graphResponseData = graphCalculate.calculate(request, searchData,crisisDetails);
+        if (graphResponseData.getDis().size() > 0) {
+            List<FeatureRate> disFeatureRates = new ArrayList<>();
+            List<FeatureRate> bigdis = bigDataResponseData.getDis();
+            List<FeatureRate> graphdis = graphResponseData.getDis();
+            for (FeatureRate bg:graphdis) {
+                Iterator<FeatureRate> iterator = bigdis.iterator();
+                while (iterator.hasNext()){
+                    FeatureRate gd = iterator.next();
+                    if(gd.getFeatureName().equals(bg.getFeatureName()) &&(bg.getDesc().contains("确诊")|| bg.getDesc().contains("拟诊"))){
+                        iterator.remove();
+                    }
+                }
+            }
+            disFeatureRates = bigdis;
+            List<FeatureRate> graphFeatureRates = graphResponseData.getDis();
+            graphFeatureRates.addAll(disFeatureRates);
+            bigDataResponseData.setDis(graphFeatureRates);
+        }
+        //归一之前诊断信息
+        bigDataResponseData.setBeforeCombineDis(bigDataResponseData.getDis());
+        //推送出的诊断信息作为参数传入知识图谱
+        List<FeatureRate> pushDiags = new ArrayList<>();
+        pushDiags.addAll(bigDataResponseData.getDis());
+        searchData.setPushDiags(pushDiags);
+        bigDataResponseData.setTreat(graphResponseData.getTreat());
+
+        //量表和指标推送
+        List<MedicalIndication> crisisDetailsList = this.getCrisisDetails(crisisDetails);
+        List<MedicalIndication> medicalIndications = graphResponseData.getMedicalIndications();
+        if (medicalIndications == null) {
+            medicalIndications = new ArrayList<>();
+        }
+        medicalIndications.addAll(crisisDetailsList);
+        if (medicalIndications != null && medicalIndications.size() > 0) {
+            logger.info("指标推送!!!!!!!!!");
+            //           bigDataResponseData.getMedicalIndications().addAll(medicalIndications);
+            bigDataResponseData.setMedicalIndications(medicalIndications);
+        }
+
+        //推送管理评估
+        bigDataResponseData.setManagementEvaluation(graphResponseData.getManagementEvaluation());
+
+        //知识图谱直接替换大数据中的检验检查数据
+        Map<String, List<FeatureRate>> lisPacs = graphCalculate.getLisPacs(request, searchData);
+        bigDataResponseData.setLabs(lisPacs.get("lisList"));
+        bigDataResponseData.setPacs(lisPacs.get("pacsList"));
+        //体征结果和指标推送
+        Map<String, String> vitalCache = CacheUtil.getVitalCache();
+        List<String> featureList = Arrays.asList(searchData.getFeatureTypes());
+        List<FeatureRate> vitals = lisPacs.get("vitalResultList");
+        if (featureList.contains(Constants.feature_type_vital_index) && this.getVital(vitalCache, vitals).size() > 0) {
+            bigDataResponseData.setVitals(this.getVital(vitalCache, vitals));
+
+        }
+        if (featureList.contains(Constants.feature_type_vital) && vitals.size() > 0) {
+            bigDataResponseData.setVitals(vitals);
+        }
+
+        //把所有的诊断拿出来经过过滤层过滤
+        ClassifyDiag classifyDiag = new ClassifyDiag();
+        List<FeatureRate> upfes = classifyDiag.filterDiag(graphResponseData, pushDiags);
+        List<FeatureRate> classify = classifyDiag.diagClassify(upfes);
+        List<FeatureRate> featureRates = classifyDiag.sortDiag(classify);
+        bigDataResponseData.setDis(featureRates);
+        //返回结果化验、辅检、体征、进行性别年龄过滤
+        ResultDataProxy resultDataProxy = new ResultDataProxy();
+        resultDataProxy.resultSexAgeFilter(request, bigDataResponseData, searchData);
         response.setData(bigDataResponseData);
         return response;
     }