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