Browse Source

feat: 红外类型的算法读数统一只保留一位小数

master
yinhuaiwei 1 week ago
parent
commit
411b82c96c
3 changed files with 51 additions and 22 deletions
  1. +14
    -1
      inspect-base/inspect-base-core/src/main/java/com/inspect/base/core/constant/AlgConstants.java
  2. +18
    -0
      inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/domain/AlgValue.java
  3. +19
    -21
      inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/utils/ResultAnalysisUtils.java

+ 14
- 1
inspect-base/inspect-base-core/src/main/java/com/inspect/base/core/constant/AlgConstants.java View File

@ -10,6 +10,7 @@ public class AlgConstants {
public static final String INFRA_YU3 = "infra_yu3";
public static final String INFRA_CAMERA = "infra_camera";
public static final String INFRA_CAMERA_REVERSE = "infra_camera_reverse";
public static final String INFRARED = "infrared";
public static final String INFRARED2 = "infrared2";
public static final String XB = "xb";
@ -18,7 +19,7 @@ public class AlgConstants {
/**
* 需要走大模型的算法
*/
public static final List BIG_MODEL_ALG_LIST = Arrays.asList(
public static final List<String> BIG_MODEL_ALG_LIST = Arrays.asList(
METER,
XB,
INFRA_1800,
@ -32,4 +33,16 @@ public class AlgConstants {
"switch",
GIS_METER_2
);
/**
* 红外类型的算法
*/
public static final List<String> ALG_INFRARED_LIST = Arrays.asList(
INFRARED,
INFRARED2,
INFRA_1800,
INFRA_YU3,
INFRA_CAMERA,
INFRA_CAMERA_REVERSE
);
}

+ 18
- 0
inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/domain/AlgValue.java View File

@ -5,6 +5,8 @@ import com.inspect.base.core.utils.StringUtils;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Objects;
@Setter
@ -55,6 +57,22 @@ public class AlgValue {
return valueOnlyPrecise;
}
/**
* 结果保留一位小数
*/
public String toOneDecimal(String str) {
if (str == null || str.trim().isEmpty()) {
return str;
}
try {
return new BigDecimal(str.trim())
.setScale(1, RoundingMode.DOWN)
.toString();
} catch (NumberFormatException e) {
return str;
}
}
public AlgValue(String max, String min) {
this.max = max;
this.min = min;


+ 19
- 21
inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/utils/ResultAnalysisUtils.java View File

@ -259,28 +259,24 @@ public class ResultAnalysisUtils {
resultAnalysis.setResultType("0");
defaultDesc = messageUtils.get("异常");
}
} else if (algType.equals("infrared") ||
algType.equals("infra_1800") ||
algType.equals("infra_yu3") ||
algType.equals("infra_camera") ||
algType.equals("infra_camera_reverse") ||
} else if (
AlgConstants.ALG_INFRARED_LIST.contains(algType) ||
algType.equals("xb")) {
String device = "";
if (algType.equals("infrared")) {
device = messageUtils.get("红外");
} else if (algType.equals("infra_1800")) {
log.info("红外1800===============");
device = messageUtils.get("红外1800");
} else if (algType.equals("infra_yu3")) {
device = messageUtils.get("无人机红外");
} else if (algType.equals("infra_camera")) {
device = messageUtils.get("摄像头红外");
} else if (algType.equals("infra_camera_reverse")) {
device = messageUtils.get("摄像头红外灰度反算");
} else if (algType.equals("xb")) {
device = messageUtils.get("形变");
}
// String device = "";
// if (algType.equals("infrared")) {
// device = messageUtils.get("红外");
// } else if (algType.equals("infra_1800")) {
// log.info("红外1800===============");
// device = messageUtils.get("红外1800");
// } else if (algType.equals("infra_yu3")) {
// device = messageUtils.get("无人机红外");
// } else if (algType.equals("infra_camera")) {
// device = messageUtils.get("摄像头红外");
// } else if (algType.equals("infra_camera_reverse")) {
// device = messageUtils.get("摄像头红外灰度反算");
// } else if (algType.equals("xb")) {
// device = messageUtils.get("形变");
// }
if (!algValue.isAlarm(value)) {
log.info("infrared no alarm value: {}, algValue: {}", value, algValue);
resultAnalysis.setResStatus("1");
@ -297,6 +293,8 @@ public class ResultAnalysisUtils {
//defaultDesc = device + messageUtils.get("告警");
defaultDesc = messageUtils.get("温度异常告警");
}
// 红外类型的算法读数保留一位小数
resultAnalysis.setResValue(algValue.toOneDecimal(value));
if (messageUtils.get("分析失败").equals(defaultDesc)) {
defaultDesc = "-";
}


Loading…
Cancel
Save