Merge remote-tracking branch 'origin/feat/infer_dev_260107' into feat/infer_dev_260107

# Conflicts:
#	src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultDto.java
#	src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/MapSheetLearnRepositoryImpl.java
This commit is contained in:
2026-01-12 22:30:45 +09:00
4 changed files with 48 additions and 47 deletions

View File

@@ -240,7 +240,6 @@ public class InferenceResultApiController {
return ApiResponseDto.ok(inferenceResultService.getInferenceServerStatusList()); return ApiResponseDto.ok(inferenceResultService.getInferenceServerStatusList());
} }
@Operation(summary = "추론관리 진행현황 상세", description = "어드민 홈 > 추론관리 > 추론관리 > 진행현황 상세") @Operation(summary = "추론관리 진행현황 상세", description = "어드민 홈 > 추론관리 > 추론관리 > 진행현황 상세")
@ApiResponses( @ApiResponses(
value = { value = {
@@ -257,7 +256,7 @@ public class InferenceResultApiController {
@GetMapping("/status/{uuid}") @GetMapping("/status/{uuid}")
public ApiResponseDto<InferenceStatusDetailDto> getInferenceStatus( public ApiResponseDto<InferenceStatusDetailDto> getInferenceStatus(
@io.swagger.v3.oas.annotations.parameters.RequestBody( @io.swagger.v3.oas.annotations.parameters.RequestBody(
description = "모델 삭제 요청 정보", description = "추론진행현왕 요청 정보",
required = true) required = true)
@PathVariable @PathVariable
UUID uuid) { UUID uuid) {

View File

@@ -76,9 +76,7 @@ public class InferenceResultDto {
} }
} }
/** /** 탐지 데이터 옵션 dto */
* 탐지 데이터 옵션 dto
*/
@Getter @Getter
@AllArgsConstructor @AllArgsConstructor
public enum MapSheetScope implements EnumType { public enum MapSheetScope implements EnumType {
@@ -99,9 +97,7 @@ public class InferenceResultDto {
} }
} }
/** /** 분석대상 도엽 enum */
* 분석대상 도엽 enum
*/
@Getter @Getter
@AllArgsConstructor @AllArgsConstructor
public enum DetectOption implements EnumType { public enum DetectOption implements EnumType {
@@ -149,9 +145,7 @@ public class InferenceResultDto {
} }
} }
/** /** 변화탐지 실행 정보 저장 요청 정보 */
* 변화탐지 실행 정보 저장 요청 정보
*/
@Getter @Getter
@Setter @Setter
@NoArgsConstructor @NoArgsConstructor
@@ -190,13 +184,13 @@ public class InferenceResultDto {
@Schema(description = "탐지 데이터 옵션 - 추론제외(EXCL), 이전 년도 도엽 사용(PREV)", example = "EXCL") @Schema(description = "탐지 데이터 옵션 - 추론제외(EXCL), 이전 년도 도엽 사용(PREV)", example = "EXCL")
@NotBlank @NotBlank
@EnumValid( @EnumValid(
enumClass = DetectOption.class, enumClass = DetectOption.class,
message = "탐지 데이터 옵션은 '추론제외', '이전 년도 도엽 사용' 만 사용 가능합니다.") message = "탐지 데이터 옵션은 '추론제외', '이전 년도 도엽 사용' 만 사용 가능합니다.")
private String detectOption; private String detectOption;
@Schema( @Schema(
description = "5k 도협 번호 목록", description = "5k 도협 번호 목록",
example = "[{\"mapSheetNum\":37914034,\"mapSheetName\":\"죽변\"}]") example = "[{\"mapSheetNum\":37914034,\"mapSheetName\":\"죽변\"}]")
@NotNull @NotNull
private List<MapSheetNumDto> mapSheetNum; private List<MapSheetNumDto> mapSheetNum;
} }
@@ -220,28 +214,28 @@ public class InferenceResultDto {
private Integer targetYyyy; private Integer targetYyyy;
private String detectOption; private String detectOption;
private String mapSheetScope; private String mapSheetScope;
@JsonFormatDttm @JsonFormatDttm private ZonedDateTime inferStartDttm;
private ZonedDateTime inferStartDttm; @JsonFormatDttm private ZonedDateTime inferEndDttm;
@JsonFormatDttm private Long detectingCnt = 0L;
private ZonedDateTime inferEndDttm; private Long detectingEndCnt = 0L;
private Long detectingCnt;
private String model1Ver; private String model1Ver;
private String model2Ver; private String model2Ver;
private String model3Ver; private String model3Ver;
public InferenceStatusDetailDto( public InferenceStatusDetailDto(
String title, String title,
Integer compareYyyy, Integer compareYyyy,
Integer targetYyyy, Integer targetYyyy,
String detectOption, String detectOption,
String mapSheetScope, String mapSheetScope,
ZonedDateTime inferStartDttm, ZonedDateTime inferStartDttm,
ZonedDateTime inferEndDttm, ZonedDateTime inferEndDttm,
Long detectingCnt, Long detectingCnt,
String model1Ver, Long detectingEndCnt,
String model2Ver, String model1Ver,
String model3Ver) { String model2Ver,
String model3Ver) {
this.title = title; this.title = title;
this.compareYyyy = compareYyyy; this.compareYyyy = compareYyyy;
this.targetYyyy = targetYyyy; this.targetYyyy = targetYyyy;
@@ -250,33 +244,43 @@ public class InferenceResultDto {
this.inferStartDttm = inferStartDttm; this.inferStartDttm = inferStartDttm;
this.inferEndDttm = inferEndDttm; this.inferEndDttm = inferEndDttm;
this.detectingCnt = detectingCnt; this.detectingCnt = detectingCnt;
this.detectingEndCnt = detectingEndCnt;
this.model1Ver = model1Ver; this.model1Ver = model1Ver;
this.model2Ver = model2Ver; this.model2Ver = model2Ver;
this.model3Ver = model3Ver; this.model3Ver = model3Ver;
if( this.detectingEndCnt == null )this.detectingEndCnt = 0L;
} }
private String usedServerName; private String usedServerName;
private Long detectingEndCnt = 7L;
private String model1VerStatus = "PROCCESING"; private String model1VerStatus = "PROCCESING";
private String model1VerStatusName = "진행중"; private String model1VerStatusName = "진행중";
private String model2VerStatus = "PROCCESING"; private String model2VerStatus = "PROCCESING";
private String model2VerStatusName = "진행중"; private String model2VerStatusName = "진행중";
private String model3VerStatus = "PROCCESING"; private String model3VerStatus = "PROCCESING";
private String model4VerStatusName = "진행중"; private String model3VerStatusName = "진행중";
public String getDetectOptionName() { public String getDetectOptionName() {
if (this.detectOption.equals("EXCL")) { if (this.detectOption.equals("EXCL")) return "추론제외";
return "추론제외";
}
return "이전 년도 도엽 사용"; return "이전 년도 도엽 사용";
} }
public String getMapSheetScopeName() { public String getMapSheetScopeName() {
if (this.detectOption.equals("ALL")) { if (this.mapSheetScope.equals("ALL")) return "전체";
return "전체";
}
return "부분"; return "부분";
} }
public double getDetectingRate() {
if (this.detectingCnt == null || this.detectingCnt == 0L) {
return 0.0;
}
if( this.detectingEndCnt == null )this.detectingEndCnt = 0L;
return (double) (this.detectingEndCnt / this.detectingCnt) * 100.0;
}
} }
@Getter @Getter

View File

@@ -142,11 +142,11 @@ public class MapSheetLearnRepositoryImpl implements MapSheetLearnRepositoryCusto
@Override @Override
public Optional<MapSheetLearnEntity> getInferenceResultByStatus(String status) { public Optional<MapSheetLearnEntity> getInferenceResultByStatus(String status) {
return Optional.ofNullable( return Optional.ofNullable(
queryFactory queryFactory
.selectFrom(mapSheetLearnEntity) .selectFrom(mapSheetLearnEntity)
.where(mapSheetLearnEntity.status.eq(status)) .where(mapSheetLearnEntity.status.eq(status))
.limit(1) .limit(1)
.fetchOne()); .fetchOne());
} }
@Override @Override

View File

@@ -1101,9 +1101,7 @@ public class LabelAllocateRepositoryImpl implements LabelAllocateRepositoryCusto
Expression<Long> completeCnt = Expression<Long> completeCnt =
Expressions.numberTemplate( Expressions.numberTemplate(
Long.class, Long.class, "COUNT(*) FILTER (WHERE {0} = 'DONE')", labelingAssignmentEntity.workState);
"COUNT(*) FILTER (WHERE {0} = 'COMPLETE')",
labelingAssignmentEntity.workState);
Expression<Long> remainCnt = Expression<Long> remainCnt =
Expressions.numberTemplate(Long.class, "({0} - {1} - {2})", totalCnt, skipCnt, completeCnt); Expressions.numberTemplate(Long.class, "({0} - {1} - {2})", totalCnt, skipCnt, completeCnt);