Преглед на файлове

Merge branch 'master' of D:\Workspaces\push with conflicts.

hujing преди 6 години
родител
ревизия
fbaa2bec97

+ 2 - 2
algorithm/src/main/resources/algorithm.properties

@@ -1,8 +1,8 @@
 ################################ model basic url ###################################
 
 #basicPath=E:/git/push/algorithm/src/main/models/model_version_replacement/model
-basicPath=/opt/models/dev/models/model_version_replacement/model
-#basicPath=E:/models/model_version_replacement/model
+#basicPath=/opt/models/dev/models/model_version_replacement/model
+basicPath=E:/models/model_version_replacement/model
 
 ############################### current model version ################################
 diagnosisPredict.version=outpatient_556_IOE_1

+ 1 - 1
graph-web/src/main/java/org/diagbot/graphWeb/work/GraphCalculate.java

@@ -260,7 +260,7 @@ public class GraphCalculate {
             indicationJsonObject.put("uint","mg/dL");
             indicationJsonObject.put("details",new ArrayList<>());
             JSONObject sexJson = new JSONObject();
-            sexJson.put("controlType",1);
+            sexJson.put("controlType",3);
             sexJson.put("name","性别");
             sexJson.put("value","");
             sexJson.put("uint","");

+ 67 - 1
graph/src/main/java/org/diagbot/graph/jdbc/Neo4jAPI.java

@@ -1602,6 +1602,7 @@ public class Neo4jAPI {
         return graphWordsList;
     }
 
+
     /**
      * 根据是否需要计算调取相应返回量表的方法
      *
@@ -1718,7 +1719,7 @@ public class Neo4jAPI {
                 titles.add(title);
                 threeLevelItems.put("title", titles);
 
-                if ("NULL".equals(method) && !"NULL".equals(pacsResult)){
+                if ("NULL".equals(method) && !"NULL".equals(pacsResult)) {
                     optionOrIndex = optionOrIndex + "_" + priority;
 
                     Map<String, String> detailInfo = new LinkedHashMap<>();
@@ -1919,4 +1920,69 @@ public class Neo4jAPI {
         return scaleCalc;
     }
 
+    public Map<String, Object> calcMethod() {
+        Map<String, Object> map = new HashMap<>();
+        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;
+    }
+
 }

+ 0 - 24
graph/src/main/java/org/diagbot/graph/jdbc/Test.java

@@ -1,24 +0,0 @@
-package org.diagbot.graph.jdbc;
-
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * @Description:
- * @Author: HUJING
- * @Date: 2019/3/22 11:37
- */
-public class Test {
-    public static void main(String[] args) throws Exception {
-        Neo4jAPI neo4jAPI = new Neo4jAPI(DriverManager.newDrive("localhost", "neo4j", "root"));
-        Map<String, Object> scale = neo4jAPI.getScaleNoCalc("te");
-
-                Set<String> keys = scale.keySet();
-        for (String key:keys) {
-            System.out.println(key + "," + scale.get(key));
-        }
-
-
-    }
-}

+ 4 - 1
push-web/src/main/java/org/diagbot/push/controller/GraphController.java

@@ -11,6 +11,7 @@ import org.diagbot.graphWeb.work.LisPacsCalculate;
 import org.diagbot.graphWeb.work.ScaleCalculate;
 import org.diagbot.pub.api.Response;
 import org.diagbot.pub.web.BaseController;
+import org.neo4j.driver.v1.Driver;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -83,10 +84,12 @@ public class GraphController extends BaseController {
     @RequestMapping(value = "/scale", method = RequestMethod.POST)
     @ResponseBody
     public Map<String, Object> scale(HttpServletRequest request, @RequestBody SearchData searchData) throws Exception {
-        Neo4jAPI neo4jAPI = new Neo4jAPI(DriverManager.newDrive("192.168.2.233","neo4j","root"));
+        Driver driver = DriverManager.newDrive("192.168.2.233", "neo4j", "root");
+        Neo4jAPI neo4jAPI = new Neo4jAPI(driver);
         Set<String> inputs = searchData.getInputs().keySet();
         String[] input = inputs.toArray(new String[inputs.size()]);
         Map<String, Object> scale = neo4jAPI.scaleScoreCalc(input, searchData.getScaleName());
         return scale;
     }
+
 }