kongwz 5 лет назад
Родитель
Сommit
1542f3b614

+ 40 - 5
push-web/src/main/java/org/diagbot/push/controller/AlgorithmController.java

@@ -1,13 +1,12 @@
 package org.diagbot.push.controller;
 
+import com.alibaba.fastjson.JSONObject;
 import org.apache.commons.lang3.StringUtils;
 import org.diagbot.bigdata.work.AlgorithmCore;
 import org.diagbot.bigdata.work.PretreatmentFilter;
-import org.diagbot.common.javabean.Drugs;
-import org.diagbot.common.javabean.Filnlly;
-import org.diagbot.common.javabean.MedicalIndication;
-import org.diagbot.common.javabean.Medicition;
+import org.diagbot.common.javabean.*;
 import org.diagbot.common.push.filter.ClassifyDiag;
+import org.diagbot.common.work.CrisisDetail;
 import org.diagbot.common.work.FeatureRate;
 import org.diagbot.common.work.ResponseData;
 import org.diagbot.common.work.SearchData;
@@ -161,11 +160,16 @@ public class AlgorithmController extends BaseController {
         searchData.setPushDiags(pushDiags);
         bigDataResponseData.setTreat(graphResponseData.getTreat());
         //量表和指标推送
+        List<CrisisDetail> crisisDetails = responseData.getCrisisDetails();
+        List<MedicalIndication> crisisDetailsList = this.getCrisisDetails(crisisDetails);
         List<MedicalIndication> medicalIndications = graphResponseData.getMedicalIndications();
+        medicalIndications.addAll(crisisDetailsList);
         if (medicalIndications != null && medicalIndications.size() > 0) {
             logger.info("指标推送!!!!!!!!!");
-           bigDataResponseData.getMedicalIndications().addAll(medicalIndications);
+//           bigDataResponseData.getMedicalIndications().addAll(medicalIndications);
+            bigDataResponseData.setMedicalIndications(medicalIndications);
         }
+
         //推送管理评估
         bigDataResponseData.setManagementEvaluation(graphResponseData.getManagementEvaluation());
         //知识图谱直接替换大数据中的检验检查数据
@@ -197,6 +201,37 @@ public class AlgorithmController extends BaseController {
         return response;
     }
 
+    /**
+     * 包装输出的危急值
+     * @param crisisDetails
+     * @return
+     */
+    public List<MedicalIndication> getCrisisDetails(List<CrisisDetail> crisisDetails){
+        List<MedicalIndication> crisisDetailList = new ArrayList<>();
+        if(crisisDetails.size()>0){
+            for (CrisisDetail crisisDetail:crisisDetails) {
+                String originText = crisisDetail.getOriginText();//文本输入的数据
+                String remindText = crisisDetail.getRemindText();//危机警示指标
+                String standardText = crisisDetail.getStandardText();//评判标准
+                if(StringUtils.isNotEmpty(remindText)){
+                    MedicalIndication medicalIndication = new MedicalIndication();
+                    List<MedicalIndicationDetail> crisisMid = new ArrayList<>();
+                    MedicalIndicationDetail medicalIndicationDetail = new MedicalIndicationDetail();
+                    JSONObject jsonObject = new JSONObject();
+                    jsonObject.put("controlType",2);
+                    jsonObject.put("name",standardText);
+                    medicalIndicationDetail.setType(4);
+                    medicalIndicationDetail.setContent(jsonObject);
+                    crisisMid.add(medicalIndicationDetail);
+                    medicalIndication.setName(remindText);
+                    medicalIndication.setDetails(crisisMid);
+                    crisisDetailList.add(medicalIndication);
+                }
+            }
+        }
+        return crisisDetailList;
+    }
+
     public List<FeatureRate> getVital(Map<String, String> vitalCache,List<FeatureRate> vitals){
         Set<String> vitalSet = new LinkedHashSet<>();
         List<FeatureRate> vitalList = new ArrayList<>();