Prechádzať zdrojové kódy

修改公式计算、量表计算接口

hujing 6 rokov pred
rodič
commit
ee3e4d0e70

+ 12 - 13
graph-web/src/main/java/org/diagbot/graphWeb/work/ScaleCalculate.java

@@ -35,7 +35,7 @@ public class ScaleCalculate {
                 for (Map<String, Object> row : rowList) {
                     List<Map<String, Object>> detailsList = (List<Map<String, Object>>) row.get("details");
                     for (Map<String, Object> details : detailsList) {
-                        if (Integer.valueOf(details.get("select").toString())  == 1) {
+                        if (Integer.valueOf(details.get("select").toString()) == 1) {
                             Double score = Double.valueOf(details.get("score").toString());
                             groupSum += score;
                             sum += score;
@@ -56,15 +56,14 @@ public class ScaleCalculate {
             groupResults.put("groupCalculate", groupCalculate);
 
             groupLists.add(groupResults);
-
         }
         String text = null;
         Map<String, Object> calculate = (Map<String, Object>) data.get("calculate");
         List<Map<String, Object>> rangeList = (List<Map<String, Object>>) calculate.get("range");
-        for (Map<String, Object> range:rangeList) {
+        for (Map<String, Object> range : rangeList) {
             Double max = Double.valueOf(range.get("max").toString());
             Double min = Double.valueOf(range.get("min").toString());
-            if (sum >= min && sum <= max){
+            if (sum >= min && sum <= max) {
                 text = range.get("text").toString();
                 break;
             }
@@ -138,7 +137,7 @@ public class ScaleCalculate {
                             if ((int) genderDetail.get("state") == 1) {
                                 if ("男".equals(genderDetail.get("detailName"))) {
                                     k = 0.9f;
-                                    denger = (double) genderDetail.get("value");
+                                    denger = Double.valueOf(genderDetail.get("value").toString());
                                     if (scr <= 0.90) {
                                         a = -0.411;
                                     } else {
@@ -175,17 +174,17 @@ public class ScaleCalculate {
                 }
                 JSONObject valueResult = new JSONObject();
                 JSONObject nameResult = new JSONObject();
-                valueResult.put("name","GFR值");
-                valueResult.put("text",new DecimalFormat("#.00").format(eGFR3)+" " + unit);
-                nameResult.put("name","评估结论");
-                nameResult.put("text",text);
-//                scaleCalcResult.put("text", text);
-//                scaleCalcResult.put("unit", unit);
-//                scaleCalcResult.put("value", new DecimalFormat("#.00").format(eGFR3));
+                valueResult.put("name", "GFR值");
+                valueResult.put("text", new DecimalFormat("#.00").format(eGFR3) + " " + unit);
+                nameResult.put("name", "评估结论");
+                nameResult.put("text", text);
+                //                scaleCalcResult.put("text", text);
+                //                scaleCalcResult.put("unit", unit);
+                //                scaleCalcResult.put("value", new DecimalFormat("#.00").format(eGFR3));
                 JSONArray result = new JSONArray();
                 result.add(valueResult);
                 result.add(nameResult);
-                scaleCalcResult.put("result",result);
+                scaleCalcResult.put("result", result);
                 System.out.println("text:" + text + "\tunit:" + unit + "\tvalue:" + eGFR3);
             }
         }

+ 0 - 60
graph/src/main/java/org/diagbot/graph/jdbc/Neo4jAPI.java

@@ -2136,64 +2136,4 @@ public class Neo4jAPI {
         return map;
     }
 
-    public String scaleCalcMethod(String[] scaleItems, String scaleName) {
-        String result = null;
-        Map<String, Object> calcMap = calcMethod();
-        List<Map<String, Object>> calcTypes = (List<Map<String, Object>>) calcMap.get("details");
-        for (Map<String, Object> calcType : calcTypes) {
-            switch ((int) calcType.get("type")) {
-                case 1:
-                    result = scaleScoreCalc(scaleItems, scaleName).get("text").toString();
-                    break;
-                case 2:
-                    Map<String, Object> content = (Map<String, Object>) calcType.get("content");
-                    List<Map<String, Object>> details = (List<Map<String, Object>>) content.get("details");
-                    int age = 0;
-//                    double scr = 0.00;
-                    double scr = 2.2621;
-                    float k = 0.0f;
-                    double a = 0.00;
-                    double denger = 0.00;
-                    for (Map<String, Object> detailsMap : details) {
-                        if ("年龄".equals(detailsMap.get("name").toString())) {
-                            age = (int) detailsMap.get("value");
-                        } else if ("血肌酐".equals(detailsMap.get("name").toString())) {
-                            if ("umol/L".equals(detailsMap.get("uint"))) {
-                                scr = (double) detailsMap.get("value") * 88.41;
-                            } else {
-                                scr = (double) detailsMap.get("value");
-                            }
-                        } else if ("性别".equals(detailsMap.get("name").toString())) {
-                            List<Map<String, Object>> genderDetails = (List<Map<String, Object>>) detailsMap.get("details");
-                            for (Map<String, Object> genderDetail : genderDetails) {
-                                if ("男".equals(genderDetail.get("detailName").toString())) {
-                                    k = 0.9f;
-                                    denger = (double) genderDetail.get("value");
-                                    if (scr <= 0.90) {
-                                        a = -0.411;
-                                    } else {
-                                        a = -1.209;
-                                    }
-                                } else if ("女".equals(genderDetail.get("detailName").toString())) {
-                                    k = 0.7f;
-                                    denger = (double) genderDetail.get("value");
-                                    if (scr <= 0.70) {
-                                        a = -0.329;
-                                    } else {
-                                        a = -1.209;
-                                    }
-                                }
-                            }
-                        }
-                    }
-
-                    age = 20;
-                    double eGFR3 = 141 * Math.pow((scr / k), a) * Math.pow(0.993, age) * denger;
-                    System.out.println(eGFR3);
-            }
-        }
-
-        return result;
-    }
-
 }