|
@@ -333,53 +333,57 @@ public class ParamsDataProxy {
|
|
|
//将标准词中体征指标值(数字)与分词结果中体征指标值(数字)比较
|
|
|
private void judgment(SearchData sData, String[] features, Map<String, String> standWordMap) {
|
|
|
if (hasDigit(features[1])) {
|
|
|
- if (">".equals(standWordMap.get("op"))) {
|
|
|
- //单独处理 血压≥140/90mmHg 类似情况
|
|
|
- if (features[1].contains("/")) {
|
|
|
- if (standWordMap.get("value").contains("/")) {
|
|
|
- String[] feature = features[1].split("/");
|
|
|
- Integer featuresSBP = Integer.valueOf(feature[0]); //分词特征收缩压
|
|
|
- Integer featuresDBP = Integer.valueOf(feature[1]); //分词特征舒张压
|
|
|
+ try {
|
|
|
+ if (">".equals(standWordMap.get("op"))) {
|
|
|
+ //单独处理 血压≥140/90mmHg 类似情况
|
|
|
+ if (features[1].contains("/")) {
|
|
|
+ if (standWordMap.get("value").contains("/")) {
|
|
|
+ String[] feature = features[1].split("/");
|
|
|
+ Integer featuresSBP = Integer.valueOf(feature[0]); //分词特征收缩压
|
|
|
+ Integer featuresDBP = Integer.valueOf(feature[1]); //分词特征舒张压
|
|
|
|
|
|
- String[] values = standWordMap.get("value").split("/");
|
|
|
- Integer standWordSBP = Integer.valueOf(values[0]); //标准词收缩压
|
|
|
- Integer standWordDBP = Integer.valueOf(values[1]); //标准词舒张压
|
|
|
- if (featuresSBP > standWordSBP && featuresDBP > standWordDBP) {
|
|
|
+ String[] values = standWordMap.get("value").split("/");
|
|
|
+ Integer standWordSBP = Integer.valueOf(values[0]); //标准词收缩压
|
|
|
+ Integer standWordDBP = Integer.valueOf(values[1]); //标准词舒张压
|
|
|
+ if (featuresSBP > standWordSBP && featuresDBP > standWordDBP) {
|
|
|
+ sData.setSymptom(sData.getSymptom() + "," + standWordMap.get("standword"));
|
|
|
+ System.out.println(sData.getSymptom());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ String num = getNum(standWordMap.get("value"));
|
|
|
+ if (Double.valueOf(getNum(features[1])) > Double.valueOf(num)) {
|
|
|
sData.setSymptom(sData.getSymptom() + "," + standWordMap.get("standword"));
|
|
|
System.out.println(sData.getSymptom());
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- String num = getNum(standWordMap.get("value"));
|
|
|
- if (Double.valueOf(getNum(features[1])) > Double.valueOf(num)) {
|
|
|
- sData.setSymptom(sData.getSymptom() + "," + standWordMap.get("standword"));
|
|
|
- System.out.println(sData.getSymptom());
|
|
|
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- } else if ("<".equals(standWordMap.get("op"))) {
|
|
|
- //单独处理 血压小于90/60mmHg 类似情况
|
|
|
- if (standWordMap.get("value").contains("/")) {
|
|
|
- if (features[1].contains("/")) {
|
|
|
- String[] feature = features[1].split("/");
|
|
|
- Integer featuresSBP = Integer.valueOf(feature[0]); //收缩压
|
|
|
- Integer featuresDBP = Integer.valueOf(feature[1]); //舒张压
|
|
|
+ } else if ("<".equals(standWordMap.get("op"))) {
|
|
|
+ //单独处理 血压小于90/60mmHg 类似情况
|
|
|
+ if (standWordMap.get("value").contains("/")) {
|
|
|
+ if (features[1].contains("/")) {
|
|
|
+ String[] feature = features[1].split("/");
|
|
|
+ Integer featuresSBP = Integer.valueOf(feature[0]); //收缩压
|
|
|
+ Integer featuresDBP = Integer.valueOf(feature[1]); //舒张压
|
|
|
|
|
|
- String[] values = standWordMap.get("value").split("/");
|
|
|
- Integer standWordSBP = Integer.valueOf(values[0]); //收缩压
|
|
|
- Integer standWordDBP = Integer.valueOf(values[1]); //舒张压
|
|
|
- if (featuresSBP < standWordSBP && featuresDBP < standWordDBP) {
|
|
|
+ String[] values = standWordMap.get("value").split("/");
|
|
|
+ Integer standWordSBP = Integer.valueOf(values[0]); //收缩压
|
|
|
+ Integer standWordDBP = Integer.valueOf(values[1]); //舒张压
|
|
|
+ if (featuresSBP < standWordSBP && featuresDBP < standWordDBP) {
|
|
|
+ sData.setSymptom(sData.getSymptom() + "," + standWordMap.get("standword"));
|
|
|
+ System.out.println(sData.getSymptom());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ String num = getNum(standWordMap.get("value"));
|
|
|
+ if (Double.valueOf(getNum(features[1])) < Double.valueOf(num)) {
|
|
|
sData.setSymptom(sData.getSymptom() + "," + standWordMap.get("standword"));
|
|
|
System.out.println(sData.getSymptom());
|
|
|
}
|
|
|
}
|
|
|
- } else {
|
|
|
- String num = getNum(standWordMap.get("value"));
|
|
|
- if (Double.valueOf(getNum(features[1])) < Double.valueOf(num)) {
|
|
|
- sData.setSymptom(sData.getSymptom() + "," + standWordMap.get("standword"));
|
|
|
- System.out.println(sData.getSymptom());
|
|
|
- }
|
|
|
}
|
|
|
+ }catch (NumberFormatException e){
|
|
|
+ e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
}
|