From df7a67ed41622e20b016924cbff25ac05b562650 Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Tue, 12 May 2026 10:49:39 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B6=94=EB=A1=A0=20=EB=AA=A9=EB=A1=9D,class-c?= =?UTF-8?q?ount,=20geom-list=20=EC=97=90=20=ED=95=9C=EA=B8=80=EB=A1=9C=20?= =?UTF-8?q?=EB=82=98=EC=98=A4=EB=8A=94=20=EC=BD=94=EB=93=9C=20=EC=98=81?= =?UTF-8?q?=EB=AC=B8=EB=B2=84=EC=A0=84=20=EB=A1=9C=EC=A7=81=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inference/dto/InferenceDetailDto.java | 20 +++++-- .../inference/dto/InferenceResultDto.java | 53 +++++++++++++++++-- 2 files changed, 67 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceDetailDto.java b/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceDetailDto.java index bb24fa82..6ce0a9c3 100644 --- a/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceDetailDto.java +++ b/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceDetailDto.java @@ -8,6 +8,7 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.kamco.cd.kamcoback.common.enums.DetectionClassification; import com.kamco.cd.kamcoback.common.enums.ImageryFitStatus; +import com.kamco.cd.kamcoback.common.utils.HeaderUtil; import com.kamco.cd.kamcoback.common.utils.interfaces.JsonFormatDttm; import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto.DetectOption; import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto.MapSheetScope; @@ -156,9 +157,14 @@ public class InferenceDetailDto { String classAfterName; Long classAfterCnt; + boolean english = HeaderUtil.isEnglishRequest(); + public Dashboard(String classAfterCd, Long classAfterCnt) { this.classAfterCd = classAfterCd; - this.classAfterName = DetectionClassification.fromString(classAfterCd).getDesc(); + this.classAfterName = + english + ? DetectionClassification.fromString(classAfterCd).getId() + : DetectionClassification.fromString(classAfterCd).getDesc(); this.classAfterCnt = classAfterCnt; } } @@ -315,6 +321,8 @@ public class InferenceDetailDto { String pnu; String fitState; + boolean english = HeaderUtil.isEnglishRequest(); + public Geom( Long geoUid, UUID uuid, @@ -338,10 +346,16 @@ public class InferenceDetailDto { this.targetYyyy = targetYyyy; this.cdProb = cdProb; this.classBeforeCd = classBeforeCd; - this.classBeforeName = DetectionClassification.fromString(classBeforeCd).getDesc(); + this.classBeforeName = + english + ? DetectionClassification.fromString(classBeforeCd).getId() + : DetectionClassification.fromString(classBeforeCd).getDesc(); this.classBeforeProb = classBeforeProb; this.classAfterCd = classAfterCd; - this.classAfterName = DetectionClassification.fromString(classAfterCd).getDesc(); + this.classAfterName = + english + ? DetectionClassification.fromString(classAfterCd).getId() + : DetectionClassification.fromString(classAfterCd).getDesc(); this.classAfterProb = classAfterProb; this.mapSheetNum = mapSheetNum; this.mapSheetName = mapSheetName; diff --git a/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultDto.java b/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultDto.java index 4223f458..4ba8ab29 100644 --- a/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultDto.java +++ b/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultDto.java @@ -2,6 +2,7 @@ package com.kamco.cd.kamcoback.inference.dto; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; +import com.kamco.cd.kamcoback.common.utils.HeaderUtil; import com.kamco.cd.kamcoback.common.utils.enums.EnumType; import com.kamco.cd.kamcoback.common.utils.interfaces.EnumValid; import com.kamco.cd.kamcoback.common.utils.interfaces.JsonFormatDttm; @@ -14,6 +15,8 @@ import java.time.ZonedDateTime; import java.util.Arrays; import java.util.List; import java.util.UUID; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; @@ -106,7 +109,12 @@ public class InferenceResultDto { } public static String getDescByCode(String code) { - return fromCode(code).getDesc(); + boolean english = HeaderUtil.isEnglishRequest(); + if (english) { + return fromCode(code).getTextEn(); + } else { + return fromCode(code).getDesc(); + } } @Override @@ -121,7 +129,7 @@ public class InferenceResultDto { @Override public String getTextEn() { - return desc; + return name(); } } @@ -231,7 +239,46 @@ public class InferenceResultDto { long m = (s % 3600) / 60; long sec = s % 60; - return String.format("%d시간 %d분 %d초", h, m, sec); + boolean english = HeaderUtil.isEnglishRequest(); + if (english) { + return String.format("%dh %dm %ds", h, m, sec); + } else { + return String.format("%d시간 %d분 %d초", h, m, sec); + } + } + + @JsonProperty("mapSheetCnt") + public String getMapSheetCnt() { + boolean english = HeaderUtil.isEnglishRequest(); + String text = this.mapSheetCnt; + + if (!english) { + return text; + } + + // "창원 외 34건" + Pattern otherPattern = Pattern.compile("^(.+) 외 (\\d+)건$"); + Matcher otherMatcher = otherPattern.matcher(text); + + if (otherMatcher.find()) { + String name = otherMatcher.group(1); + int count = Integer.parseInt(otherMatcher.group(2)); + + return name + " and " + count + (count == 1 ? " other" : " others"); + } + + // "창원 1건" + Pattern itemPattern = Pattern.compile("^(.+) (\\d+)건$"); + Matcher itemMatcher = itemPattern.matcher(text); + + if (itemMatcher.find()) { + String name = itemMatcher.group(1); + int count = Integer.parseInt(itemMatcher.group(2)); + + return name + " (" + count + (count == 1 ? " item" : " items") + ")"; + } + + return text; } }