소스 검색

Merge remote-tracking branch 'origin/push-dev' into push-dev-zhouj

louhr 5 년 전
부모
커밋
69b65a7393

+ 26 - 15
bigdata-web/src/main/java/org/diagbot/bigdata/work/BigDataParamsProxy.java

@@ -8,6 +8,9 @@ import org.diagbot.nlp.feature.FeatureType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * @ClassName org.diagbot.bigdata.work.ParamsDataProxy
  * @Description TODO
@@ -30,7 +33,7 @@ public class BigDataParamsProxy {
      * @param searchData
      */
     public AlgorithmClassify[] createAlgorithmClassify(String sysCode, String[] featureTypes, SearchData searchData) {
-        AlgorithmClassify[] classifies = new AlgorithmClassify[featureTypes.length];
+        List<AlgorithmClassify> algorithmClassifies = new ArrayList<>();
         //下了诊断且其他信息全为空 反推标识
         boolean reverse = !StringUtils.isEmpty(searchData.getDiag()) && StringUtils.isEmpty(searchData.getSymptom());
         for (int i = 0; i < featureTypes.length; i++) {
@@ -39,56 +42,64 @@ public class BigDataParamsProxy {
                 switch (FeatureType.parse(featureTypes[i])) {
                     case SYMPTOM:
                         if (reverse) {
-                            classifies[i] = AlgorithmClassify.NEURAL_DIAG_SYMPTOM;
+                            algorithmClassifies.add(AlgorithmClassify.NEURAL_DIAG_SYMPTOM);
                         } else {
-                            classifies[i] = AlgorithmClassify.NEURAL_SYMPTOM;
+                            algorithmClassifies.add(AlgorithmClassify.NEURAL_SYMPTOM);
                         }
                         break;
                     case DIAG:
                         if (reverse) {
-                            classifies[i] = null;
+                            algorithmClassifies.add(null);
                         } else {
-                            classifies[i] = AlgorithmClassify.NEURAL_DIAG;
+                            algorithmClassifies.add(AlgorithmClassify.NEURAL_DIAG);
                         }
                         break;
                     case VITAL:
                         if (reverse) {
-                            classifies[i] = AlgorithmClassify.NEURAL_DIAG_VITAL;
+                            algorithmClassifies.add(AlgorithmClassify.NEURAL_DIAG_VITAL);
+
                         } else {
-                            classifies[i] = AlgorithmClassify.NEURAL_VITAL;
+                            algorithmClassifies.add(AlgorithmClassify.NEURAL_VITAL);
+
                         }
                         break;
                     case LIS:
                         if (reverse) {
-                            classifies[i] = AlgorithmClassify.NEURAL_DIAG_LIS;
+                            algorithmClassifies.add(AlgorithmClassify.NEURAL_DIAG_LIS);
+
                         } else {
-                            classifies[i] = AlgorithmClassify.NEURAL_LIS;
+                            algorithmClassifies.add(AlgorithmClassify.NEURAL_LIS);
                         }
                         break;
                     case PACS:
                         if (reverse) {
-                            classifies[i] = AlgorithmClassify.NEURAL_DIAG_PACS;
+                            algorithmClassifies.add(AlgorithmClassify.NEURAL_DIAG_PACS);
                         } else {
-                            classifies[i] = AlgorithmClassify.NEURAL_PACS;
+                            algorithmClassifies.add(AlgorithmClassify.NEURAL_PACS);
                         }
                         break;
                     case TREAT:
                         if (reverse) {
-                            classifies[i] = AlgorithmClassify.NEURAL_DIAG_TREAT;
+                            algorithmClassifies.add(AlgorithmClassify.NEURAL_DIAG_TREAT);
+
                         } else {
-                            classifies[i] = AlgorithmClassify.NEURAL_TREAT;
+                            algorithmClassifies.add(AlgorithmClassify.NEURAL_TREAT);
+
                         }
                         break;
                     case HISTORY:
                         if (reverse) {
-                            classifies[i] = AlgorithmClassify.NEURAL_DIAG_HISTORY;
+                            algorithmClassifies.add(AlgorithmClassify.NEURAL_DIAG_HISTORY);
+
                         } else {
-                            classifies[i] = AlgorithmClassify.NEURAL_HISTORY;
+                            algorithmClassifies.add(AlgorithmClassify.NEURAL_HISTORY);
                         }
                         break;
                 }
             }
         }
+        AlgorithmClassify[] classifies = new AlgorithmClassify[algorithmClassifies.size()];
+        algorithmClassifies.toArray(classifies);
         return classifies;
     }
 }

+ 1 - 1
common-push/src/main/java/org/diagbot/common/push/cache/CacheFileManager.java

@@ -24,7 +24,7 @@ public class CacheFileManager {
 
     private String user = "root";
     private String password = "lantone";
-    private String url = "jdbc:mysql://192.168.2.121:3306/med?useUnicode=true&characterEncoding=UTF-8";
+    private String url = "jdbc:mysql://192.168.2.122:3306/med?useUnicode=true&characterEncoding=UTF-8";
 
     private String path = "";
 

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

@@ -123,9 +123,12 @@ public class GraphCalculate {
             for (PreResult lis:lisArr) {
                 String detailName = lis.getUniqueName();
                 logger.info("公表名为  :"+detailName);
-                Double value = Double.valueOf(lis.getValue());
-                lis_Result.put(detailName,value);
-                lisSet.add(detailName);
+                String lisValue = lis.getValue();
+                if(StringUtils.isNotEmpty(lisValue)){
+                    Double value = Double.valueOf(lisValue);
+                    lis_Result.put(detailName,value);
+                    lisSet.add(detailName);
+                }
             }
         }
         logger.info("页面导入的所有化验项为 :" +lisSet);
@@ -159,7 +162,7 @@ public class GraphCalculate {
             Set<String> newindSet = new HashSet<>();
             Set<String> newindSet1 = new HashSet<>();
             //查找指标
-            Set<String> indSet = neo4jAPI.getInd((String[]) inputList.toArray(new String[inputList.size()]));
+            Set<String> indSet = neo4jAPI.getInd((String[]) inputList.toArray(new String[inputList.size()]),sex,age);
             if(indSet != null && indSet.size()>0){
                 for (String ind:indSet) {
                     if("肾功能不全".equals(ind)){

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

@@ -1091,7 +1091,7 @@ public class Neo4jAPI {
     /**
      * 指标推送
      */
-    public Set<String> getInd(String[] keys) {
+    public Set<String> getInd(String[] keys,String sex,int age) {
         //查找指标推送
         Set<String> indSet = new HashSet<>();
         List<String> newList = new ArrayList<>();
@@ -1130,7 +1130,7 @@ public class Neo4jAPI {
                     startList.add(condition);
                 }
             }
-            query = propertiesUtil.getProperty("searchIndication").replace("fildList", startList.toString());
+            query = propertiesUtil.getProperty("searchIndication").replace("fildList", startList.toString()).replace("age",String.valueOf(age)).replace("Sex",sex);
             logger.info("查找可以推送的指标\n"+query);
             result = session.run(query);
             while (result.hasNext()) {

+ 4 - 3
graph/src/main/resources/bolt.properties

@@ -5,7 +5,7 @@ pass_235 = diagbot@20180822
 
 # neo4j bolt credentials
 #\u7EBF\u4E0A\u4F7F\u7528
-bolt.uri=bolt://192.168.2.233
+bolt.uri=bolt://192.168.2.123
 bolt.user=neo4j
 bolt.passwd=root
 
@@ -87,10 +87,11 @@ searchDifferentialDiagnose=match(d:Disease)-[r:\u9274\u522B\u8BCA\u65AD]->(h) wh
 searchEmergency=match(d:Disease) where d.name in disList return d.name as emDis,d.emergency as em
 
 #\u67E5\u627E\u6307\u6807\u7684\u8BED\u53E5
-    searchIndication=match (n:Condition)-[r:\u786E\u8BCA|:\u62DF\u8BCA]->(m:Indicators)\n \
+searchIndication=match (n:Condition)-[r:\u786E\u8BCA|:\u62DF\u8BCA]->(m:Indicators)\n \
 where n.name in fildList\n \
 with distinct m,r\n \
-return m.name as name
+match(i:Indicators) WHERE i.name=m.name and age>i.minAge and age<i.maxAge and i.sex in [Sex,3]\n \
+return i.name as name
 
 #\u67E5\u627E\u4E0D\u826F\u53CD\u5E94\u7684\u8BED\u53E5
 searchUe=match (n:Condition)-[r:\u786E\u8BCA|:\u62DF\u8BCA]->(m:UntowardEffect)\n \

+ 2 - 2
graphdb/src/main/resources/application.yml

@@ -6,14 +6,14 @@ spring:
     active: local
   data:
     neo4j:
-      uri: bolt://192.168.2.233:7687
+      uri: bolt://192.168.2.123:7687
       username: neo4j
       password: root
 
 # 驱动配置信息
   datasource:
     driver-class-name: org.neo4j.jdbc.Driver
-    url: jdbc:neo4j:http://192.168.2.233:7474
+    url: jdbc:neo4j:http://192.168.2.123:7474
     username: neo4j
     password: root
     #定义初始连接数

+ 3 - 2
nlp/src/main/java/org/diagbot/nlp/feature/FeatureType.java

@@ -15,7 +15,8 @@ public enum FeatureType {
     TREAT(Constants.feature_type_treat),
     HISTORY(Constants.feature_type_history),
     VITAL_INDEX(Constants.feature_type_vital_index),
-    TIME(Constants.feature_type_time);
+    TIME(Constants.feature_type_time),
+    NONE(Constants.feature_type_default);
 
     FeatureType(String value) {
         this.value = value;
@@ -54,6 +55,6 @@ public enum FeatureType {
             case Constants.feature_type_time:
                 return FeatureType.TIME;
         }
-        return FeatureType.SYMPTOM;
+        return FeatureType.NONE;
     }
 }

+ 1 - 0
nlp/src/main/java/org/diagbot/nlp/util/Constants.java

@@ -18,6 +18,7 @@ public class Constants {
     public final static String feature_type_feature = "9"; //症状描述中的特征信息 如部位、性质等
     public final static String feature_type_time = "10";    //提取时间
     public final static String feature_type_vital_index = "42"; //体征指标
+    public final static String feature_type_default = "-1"; //默认返回类型
 
     public static NegativeEnum[] symptom_type = new NegativeEnum[]{NegativeEnum.SYMPTOM, NegativeEnum.SYMPTOM_INDEX, NegativeEnum.SYMPTOM_PERFORMANCE};
     public static NegativeEnum[] unit_time_type = new NegativeEnum[]{NegativeEnum.EVENT_TIME, NegativeEnum.UNIT};