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 88a844de..cd3a136a 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 @@ -7,6 +7,8 @@ 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.utils.interfaces.JsonFormatDttm; +import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto.DetectOption; +import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto.MapSheetScope; import io.swagger.v3.oas.annotations.media.Schema; import java.time.Duration; import java.time.ZonedDateTime; @@ -428,7 +430,7 @@ public class InferenceDetailDto { @JsonFormatDttm private ZonedDateTime inferStartDttm; @JsonFormatDttm private ZonedDateTime inferEndDttm; - private Duration elapsedDuration; + private String elapsedDuration; public AnalResultInfo( String analTitle, @@ -447,14 +449,23 @@ public class InferenceDetailDto { this.modelVer3 = modelVer3; this.compareYyyy = compareYyyy; this.targetYyyy = targetYyyy; - this.detectOption = detectOption; - this.mapSheetScope = mapSheetScope; + this.detectOption = DetectOption.getDescByCode(detectOption); + this.mapSheetScope = MapSheetScope.getDescByCode(mapSheetScope); this.inferStartDttm = inferStartDttm; this.inferEndDttm = inferEndDttm; - this.elapsedDuration = + Duration elapsed = (inferStartDttm != null && inferEndDttm != null) ? Duration.between(inferStartDttm, inferEndDttm) : null; + + long seconds = elapsed.getSeconds(); + long abs = Math.abs(seconds); + + long h = abs / 3600; + long m = (abs % 3600) / 60; + long s = abs % 60; + + this.elapsedDuration = String.format("%02d:%02d:%02d", h, m, s); } } } 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 6d6970cb..cdfc5f0b 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 @@ -23,6 +23,112 @@ import org.springframework.data.domain.Pageable; public class InferenceResultDto { + /** 탐지 데이터 옵션 dto */ + @Getter + @AllArgsConstructor + public enum MapSheetScope implements EnumType { + ALL("전체"), + PART("부분"), + ; + + private final String desc; + + public static MapSheetScope fromCode(String code) { + return Arrays.stream(values()).filter(v -> v.name().equals(code)).findFirst().orElse(null); + } + + public static String getDescByCode(String code) { + return fromCode(code).getDesc(); + } + + @Override + public String getId() { + return name(); + } + + @Override + public String getText() { + return desc; + } + } + + /** 분석대상 도엽 enum */ + @Getter + @AllArgsConstructor + public enum DetectOption implements EnumType { + EXCL("추론제외"), + PREV("이전 년도 도엽 사용"), + ; + private final String desc; + + public static DetectOption fromCode(String code) { + return Arrays.stream(values()).filter(v -> v.name().equals(code)).findFirst().orElse(null); + } + + public static String getDescByCode(String code) { + return fromCode(code).getDesc(); + } + + @Override + public String getId() { + return name(); + } + + @Override + public String getText() { + return desc; + } + } + + @Getter + @AllArgsConstructor + public enum Status implements EnumType { + READY("대기"), + IN_PROGRESS("진행중"), + END("종료"), + ; + private final String desc; + + public static Status fromCode(String code) { + return Arrays.stream(values()).filter(v -> v.name().equals(code)).findFirst().orElse(null); + } + + public static String getDescByCode(String code) { + return fromCode(code).getDesc(); + } + + @Override + public String getId() { + return name(); + } + + @Override + public String getText() { + return desc; + } + } + + @Getter + @AllArgsConstructor + public enum ServerStatus implements EnumType { + SAFETY("원활"), + CAUTION("주의"), + FAILUR("장애"), + ; + + private final String desc; + + @Override + public String getId() { + return name(); + } + + @Override + public String getText() { + return desc; + } + } + /** 목록조회 dto */ @Getter @Setter @@ -69,75 +175,6 @@ public class InferenceResultDto { } } - /** 탐지 데이터 옵션 dto */ - @Getter - @AllArgsConstructor - public enum MapSheetScope implements EnumType { - ALL("전체"), - PART("부분"), - ; - - private final String desc; - - @Override - public String getId() { - return name(); - } - - @Override - public String getText() { - return desc; - } - } - - /** 분석대상 도엽 enum */ - @Getter - @AllArgsConstructor - public enum DetectOption implements EnumType { - EXCL("추론제외"), - PREV("이전 년도 도엽 사용"), - ; - private final String desc; - - @Override - public String getId() { - return name(); - } - - @Override - public String getText() { - return desc; - } - } - - @Getter - @AllArgsConstructor - public enum Status implements EnumType { - READY("대기"), - IN_PROGRESS("진행중"), - END("종료"), - ; - private final String desc; - - @Override - public String getId() { - return name(); - } - - @Override - public String getText() { - return desc; - } - - public static Status fromCode(String code) { - return Arrays.stream(values()).filter(v -> v.name().equals(code)).findFirst().orElse(null); - } - - public static String getDescByCode(String code) { - return fromCode(code).getDesc(); - } - } - /** 변화탐지 실행 정보 저장 요청 정보 */ @Getter @Setter @@ -220,6 +257,13 @@ public class InferenceResultDto { private String model1Ver; private String model2Ver; private String model3Ver; + private String usedServerName; + private String model1VerStatus = "PROCCESING"; + private String model1VerStatusName = "진행중"; + private String model2VerStatus = "PROCCESING"; + private String model2VerStatusName = "진행중"; + private String model3VerStatus = "PROCCESING"; + private String model3VerStatusName = "진행중"; public InferenceStatusDetailDto( String title, @@ -264,14 +308,6 @@ public class InferenceResultDto { } } - private String usedServerName; - private String model1VerStatus = "PROCCESING"; - private String model1VerStatusName = "진행중"; - private String model2VerStatus = "PROCCESING"; - private String model2VerStatusName = "진행중"; - private String model3VerStatus = "PROCCESING"; - private String model3VerStatusName = "진행중"; - public String getDetectOptionName() { if (this.detectOption.equals("EXCL")) { return "추론제외"; @@ -417,27 +453,6 @@ public class InferenceResultDto { } } - @Getter - @AllArgsConstructor - public enum ServerStatus implements EnumType { - SAFETY("원활"), - CAUTION("주의"), - FAILUR("장애"), - ; - - private final String desc; - - @Override - public String getId() { - return name(); - } - - @Override - public String getText() { - return desc; - } - } - @Getter @Setter @AllArgsConstructor