From 411b82c96c78228da79650fa098e20d83d2a708d Mon Sep 17 00:00:00 2001 From: yinhuaiwei Date: Tue, 17 Mar 2026 15:52:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=BA=A2=E5=A4=96=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E7=9A=84=E7=AE=97=E6=B3=95=E8=AF=BB=E6=95=B0=E7=BB=9F=E4=B8=80?= =?UTF-8?q?=E5=8F=AA=E4=BF=9D=E7=95=99=E4=B8=80=E4=BD=8D=E5=B0=8F=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/core/constant/AlgConstants.java | 15 ++++++- .../com/inspect/analysis/domain/AlgValue.java | 18 +++++++++ .../analysis/utils/ResultAnalysisUtils.java | 40 +++++++++---------- 3 files changed, 51 insertions(+), 22 deletions(-) diff --git a/inspect-base/inspect-base-core/src/main/java/com/inspect/base/core/constant/AlgConstants.java b/inspect-base/inspect-base-core/src/main/java/com/inspect/base/core/constant/AlgConstants.java index 9d95181..2a1b29c 100644 --- a/inspect-base/inspect-base-core/src/main/java/com/inspect/base/core/constant/AlgConstants.java +++ b/inspect-base/inspect-base-core/src/main/java/com/inspect/base/core/constant/AlgConstants.java @@ -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 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 ALG_INFRARED_LIST = Arrays.asList( + INFRARED, + INFRARED2, + INFRA_1800, + INFRA_YU3, + INFRA_CAMERA, + INFRA_CAMERA_REVERSE + ); } diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/domain/AlgValue.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/domain/AlgValue.java index a0023a0..2a7eaa4 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/domain/AlgValue.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/domain/AlgValue.java @@ -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; diff --git a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/utils/ResultAnalysisUtils.java b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/utils/ResultAnalysisUtils.java index 45ebe48..b8bf2f3 100644 --- a/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/utils/ResultAnalysisUtils.java +++ b/inspect-main/inspect-main-task/src/main/java/com/inspect/analysis/utils/ResultAnalysisUtils.java @@ -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 = "-"; }