추론결과 > 기본정보 작업 진행중
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package com.kamco.cd.kamcoback.inference;
|
package com.kamco.cd.kamcoback.inference;
|
||||||
|
|
||||||
import com.kamco.cd.kamcoback.config.api.ApiResponseDto;
|
import com.kamco.cd.kamcoback.config.api.ApiResponseDto;
|
||||||
|
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto;
|
||||||
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto;
|
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto;
|
||||||
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto.InferenceServerStatusDto;
|
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto.InferenceServerStatusDto;
|
||||||
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto.InferenceStatusDetailDto;
|
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto.InferenceStatusDetailDto;
|
||||||
@@ -285,4 +286,25 @@ public class InferenceResultApiController {
|
|||||||
|
|
||||||
return ApiResponseDto.ok(inferenceResultService.getInferenceStatus(uuid));
|
return ApiResponseDto.ok(inferenceResultService.getInferenceStatus(uuid));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Operation(summary = "추론결과 기본정보", description = "추론결과 기본정보")
|
||||||
|
@ApiResponses(
|
||||||
|
value = {
|
||||||
|
@ApiResponse(
|
||||||
|
responseCode = "200",
|
||||||
|
description = "검색 성공",
|
||||||
|
content =
|
||||||
|
@Content(
|
||||||
|
mediaType = "application/json",
|
||||||
|
schema = @Schema(implementation = InferenceDetailDto.AnalResSummary.class))),
|
||||||
|
@ApiResponse(responseCode = "400", description = "잘못된 검색 조건", content = @Content),
|
||||||
|
@ApiResponse(responseCode = "500", description = "서버 오류", content = @Content)
|
||||||
|
})
|
||||||
|
@GetMapping("/infer-result-info")
|
||||||
|
public ApiResponseDto<InferenceDetailDto.AnalResultInfo> getInferenceResultInfo(
|
||||||
|
@Parameter(description = "회차 uuid", example = "932fbd72-2e8e-4a49-b189-09046787f9d1")
|
||||||
|
@RequestParam
|
||||||
|
String uuid) {
|
||||||
|
return ApiResponseDto.ok(inferenceResultService.getInferenceResultInfo(uuid));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
|||||||
import com.kamco.cd.kamcoback.common.enums.DetectionClassification;
|
import com.kamco.cd.kamcoback.common.enums.DetectionClassification;
|
||||||
import com.kamco.cd.kamcoback.common.utils.interfaces.JsonFormatDttm;
|
import com.kamco.cd.kamcoback.common.utils.interfaces.JsonFormatDttm;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import java.time.Duration;
|
||||||
import java.time.ZonedDateTime;
|
import java.time.ZonedDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
@@ -29,20 +30,22 @@ public class InferenceDetailDto {
|
|||||||
private String dataName;
|
private String dataName;
|
||||||
private Long mapSheepNum;
|
private Long mapSheepNum;
|
||||||
private Long detectingCnt;
|
private Long detectingCnt;
|
||||||
@JsonFormatDttm private ZonedDateTime analStrtDttm;
|
@JsonFormatDttm
|
||||||
@JsonFormatDttm private ZonedDateTime analEndDttm;
|
private ZonedDateTime analStrtDttm;
|
||||||
|
@JsonFormatDttm
|
||||||
|
private ZonedDateTime analEndDttm;
|
||||||
private Long analSec;
|
private Long analSec;
|
||||||
private String analState;
|
private String analState;
|
||||||
|
|
||||||
public Basic(
|
public Basic(
|
||||||
Long id,
|
Long id,
|
||||||
String dataName,
|
String dataName,
|
||||||
Long mapSheepNum,
|
Long mapSheepNum,
|
||||||
Long detectingCnt,
|
Long detectingCnt,
|
||||||
ZonedDateTime analStrtDttm,
|
ZonedDateTime analStrtDttm,
|
||||||
ZonedDateTime analEndDttm,
|
ZonedDateTime analEndDttm,
|
||||||
Long analSec,
|
Long analSec,
|
||||||
String analState) {
|
String analState) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.dataName = dataName;
|
this.dataName = dataName;
|
||||||
this.mapSheepNum = mapSheepNum;
|
this.mapSheepNum = mapSheepNum;
|
||||||
@@ -61,8 +64,10 @@ public class InferenceDetailDto {
|
|||||||
private Long id;
|
private Long id;
|
||||||
private String analTitle;
|
private String analTitle;
|
||||||
private Long detectingCnt;
|
private Long detectingCnt;
|
||||||
@JsonFormatDttm private ZonedDateTime analStrtDttm;
|
@JsonFormatDttm
|
||||||
@JsonFormatDttm private ZonedDateTime analEndDttm;
|
private ZonedDateTime analStrtDttm;
|
||||||
|
@JsonFormatDttm
|
||||||
|
private ZonedDateTime analEndDttm;
|
||||||
private Long analSec;
|
private Long analSec;
|
||||||
private Long analPredSec;
|
private Long analPredSec;
|
||||||
private String analState;
|
private String analState;
|
||||||
@@ -70,16 +75,16 @@ public class InferenceDetailDto {
|
|||||||
private String gukyuinUsed;
|
private String gukyuinUsed;
|
||||||
|
|
||||||
public AnalResList(
|
public AnalResList(
|
||||||
Long id,
|
Long id,
|
||||||
String analTitle,
|
String analTitle,
|
||||||
Long detectingCnt,
|
Long detectingCnt,
|
||||||
ZonedDateTime analStrtDttm,
|
ZonedDateTime analStrtDttm,
|
||||||
ZonedDateTime analEndDttm,
|
ZonedDateTime analEndDttm,
|
||||||
Long analSec,
|
Long analSec,
|
||||||
Long analPredSec,
|
Long analPredSec,
|
||||||
String analState,
|
String analState,
|
||||||
String analStateNm,
|
String analStateNm,
|
||||||
String gukyuinUsed) {
|
String gukyuinUsed) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.analTitle = analTitle;
|
this.analTitle = analTitle;
|
||||||
this.detectingCnt = detectingCnt;
|
this.detectingCnt = detectingCnt;
|
||||||
@@ -102,8 +107,10 @@ public class InferenceDetailDto {
|
|||||||
private String modelInfo;
|
private String modelInfo;
|
||||||
private Integer targetYyyy;
|
private Integer targetYyyy;
|
||||||
private Integer compareYyyy;
|
private Integer compareYyyy;
|
||||||
@JsonFormatDttm private ZonedDateTime analStrtDttm;
|
@JsonFormatDttm
|
||||||
@JsonFormatDttm private ZonedDateTime analEndDttm;
|
private ZonedDateTime analStrtDttm;
|
||||||
|
@JsonFormatDttm
|
||||||
|
private ZonedDateTime analEndDttm;
|
||||||
private Long analSec;
|
private Long analSec;
|
||||||
private Long analPredSec;
|
private Long analPredSec;
|
||||||
private String resultUrl;
|
private String resultUrl;
|
||||||
@@ -113,20 +120,20 @@ public class InferenceDetailDto {
|
|||||||
private String analStateNm;
|
private String analStateNm;
|
||||||
|
|
||||||
public AnalResSummary(
|
public AnalResSummary(
|
||||||
Long id,
|
Long id,
|
||||||
String analTitle,
|
String analTitle,
|
||||||
String modelInfo,
|
String modelInfo,
|
||||||
Integer targetYyyy,
|
Integer targetYyyy,
|
||||||
Integer compareYyyy,
|
Integer compareYyyy,
|
||||||
ZonedDateTime analStrtDttm,
|
ZonedDateTime analStrtDttm,
|
||||||
ZonedDateTime analEndDttm,
|
ZonedDateTime analEndDttm,
|
||||||
Long analSec,
|
Long analSec,
|
||||||
Long analPredSec,
|
Long analPredSec,
|
||||||
String resultUrl,
|
String resultUrl,
|
||||||
Long detectingCnt,
|
Long detectingCnt,
|
||||||
Double accuracy,
|
Double accuracy,
|
||||||
String analState,
|
String analState,
|
||||||
String analStateNm) {
|
String analStateNm) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.analTitle = analTitle;
|
this.analTitle = analTitle;
|
||||||
this.modelInfo = modelInfo;
|
this.modelInfo = modelInfo;
|
||||||
@@ -183,16 +190,17 @@ public class InferenceDetailDto {
|
|||||||
private Clazzes target;
|
private Clazzes target;
|
||||||
private MapSheet mapSheet;
|
private MapSheet mapSheet;
|
||||||
private Coordinate center;
|
private Coordinate center;
|
||||||
@JsonFormatDttm private ZonedDateTime updatedDttm;
|
@JsonFormatDttm
|
||||||
|
private ZonedDateTime updatedDttm;
|
||||||
|
|
||||||
public DetailListEntity(
|
public DetailListEntity(
|
||||||
UUID uuid,
|
UUID uuid,
|
||||||
Double detectionScore,
|
Double detectionScore,
|
||||||
Clazzes compare,
|
Clazzes compare,
|
||||||
Clazzes target,
|
Clazzes target,
|
||||||
MapSheet mapSheet,
|
MapSheet mapSheet,
|
||||||
Coordinate center,
|
Coordinate center,
|
||||||
ZonedDateTime updatedDttm) {
|
ZonedDateTime updatedDttm) {
|
||||||
this.code = new Uid(uuid);
|
this.code = new Uid(uuid);
|
||||||
this.detectionScore = detectionScore;
|
this.detectionScore = detectionScore;
|
||||||
this.compare = compare;
|
this.compare = compare;
|
||||||
@@ -233,7 +241,8 @@ public class InferenceDetailDto {
|
|||||||
|
|
||||||
private String code;
|
private String code;
|
||||||
private String name;
|
private String name;
|
||||||
@JsonIgnore private Double score;
|
@JsonIgnore
|
||||||
|
private Double score;
|
||||||
|
|
||||||
public Clazz(String code, Double score) {
|
public Clazz(String code, Double score) {
|
||||||
this.code = code;
|
this.code = code;
|
||||||
@@ -300,21 +309,23 @@ public class InferenceDetailDto {
|
|||||||
String classAfterName;
|
String classAfterName;
|
||||||
Double classAfterProb;
|
Double classAfterProb;
|
||||||
Long mapSheetNum;
|
Long mapSheetNum;
|
||||||
@JsonIgnore String gemoStr;
|
@JsonIgnore
|
||||||
@JsonIgnore String geomCenterStr;
|
String gemoStr;
|
||||||
|
@JsonIgnore
|
||||||
|
String geomCenterStr;
|
||||||
JsonNode gemo;
|
JsonNode gemo;
|
||||||
JsonNode geomCenter;
|
JsonNode geomCenter;
|
||||||
|
|
||||||
public Geom(
|
public Geom(
|
||||||
Integer compareYyyy,
|
Integer compareYyyy,
|
||||||
Integer targetYyyy,
|
Integer targetYyyy,
|
||||||
String classBeforeCd,
|
String classBeforeCd,
|
||||||
Double classBeforeProb,
|
Double classBeforeProb,
|
||||||
String classAfterCd,
|
String classAfterCd,
|
||||||
Double classAfterProb,
|
Double classAfterProb,
|
||||||
Long mapSheetNum,
|
Long mapSheetNum,
|
||||||
String gemoStr,
|
String gemoStr,
|
||||||
String geomCenterStr) {
|
String geomCenterStr) {
|
||||||
this.compareYyyy = compareYyyy;
|
this.compareYyyy = compareYyyy;
|
||||||
this.targetYyyy = targetYyyy;
|
this.targetYyyy = targetYyyy;
|
||||||
this.classBeforeCd = classBeforeCd;
|
this.classBeforeCd = classBeforeCd;
|
||||||
@@ -385,7 +396,7 @@ public class InferenceDetailDto {
|
|||||||
String[] sortParams = sort.split(",");
|
String[] sortParams = sort.split(",");
|
||||||
String property = sortParams[0];
|
String property = sortParams[0];
|
||||||
Sort.Direction direction =
|
Sort.Direction direction =
|
||||||
sortParams.length > 1 ? Sort.Direction.fromString(sortParams[1]) : Sort.Direction.ASC;
|
sortParams.length > 1 ? Sort.Direction.fromString(sortParams[1]) : Sort.Direction.ASC;
|
||||||
return PageRequest.of(page, size, Sort.by(direction, property));
|
return PageRequest.of(page, size, Sort.by(direction, property));
|
||||||
}
|
}
|
||||||
return PageRequest.of(page, size);
|
return PageRequest.of(page, size);
|
||||||
@@ -409,4 +420,52 @@ public class InferenceDetailDto {
|
|||||||
private UUID m2ModelUuid;
|
private UUID m2ModelUuid;
|
||||||
private UUID m3ModelUuid;
|
private UUID m3ModelUuid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Schema(name = "AnalResultInfo", description = "추론결과 기본정보")
|
||||||
|
@Getter
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public static class AnalResultInfo {
|
||||||
|
|
||||||
|
private String analTitle;
|
||||||
|
private String modelVer1;
|
||||||
|
private String modelVer2;
|
||||||
|
private String modelVer3;
|
||||||
|
private Integer compareYyyy;
|
||||||
|
private Integer targetYyyy;
|
||||||
|
private String detectOption;
|
||||||
|
private String mapSheetScope;
|
||||||
|
@JsonFormatDttm
|
||||||
|
private ZonedDateTime inferStartDttm;
|
||||||
|
@JsonFormatDttm
|
||||||
|
private ZonedDateTime inferEndDttm;
|
||||||
|
|
||||||
|
private Duration elapsedDuration;
|
||||||
|
|
||||||
|
public AnalResultInfo(String analTitle,
|
||||||
|
String modelVer1,
|
||||||
|
String modelVer2,
|
||||||
|
String modelVer3,
|
||||||
|
Integer compareYyyy,
|
||||||
|
Integer targetYyyy,
|
||||||
|
String detectOption,
|
||||||
|
String mapSheetScope,
|
||||||
|
ZonedDateTime inferStartDttm,
|
||||||
|
ZonedDateTime inferEndDttm
|
||||||
|
) {
|
||||||
|
this.analTitle = analTitle;
|
||||||
|
this.modelVer1 = modelVer1;
|
||||||
|
this.modelVer2 = modelVer2;
|
||||||
|
this.modelVer3 = modelVer3;
|
||||||
|
this.compareYyyy = compareYyyy;
|
||||||
|
this.targetYyyy = targetYyyy;
|
||||||
|
this.detectOption = detectOption;
|
||||||
|
this.mapSheetScope = mapSheetScope;
|
||||||
|
this.inferStartDttm = inferStartDttm;
|
||||||
|
this.inferEndDttm = inferEndDttm;
|
||||||
|
this.elapsedDuration = (inferStartDttm != null && inferEndDttm != null)
|
||||||
|
? Duration.between(inferStartDttm, inferEndDttm)
|
||||||
|
: null;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import com.kamco.cd.kamcoback.common.exception.CustomApiException;
|
|||||||
import com.kamco.cd.kamcoback.config.resttemplate.ExternalHttpClient;
|
import com.kamco.cd.kamcoback.config.resttemplate.ExternalHttpClient;
|
||||||
import com.kamco.cd.kamcoback.config.resttemplate.ExternalHttpClient.ExternalCallResult;
|
import com.kamco.cd.kamcoback.config.resttemplate.ExternalHttpClient.ExternalCallResult;
|
||||||
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto;
|
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto;
|
||||||
|
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto.AnalResultInfo;
|
||||||
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto.Dashboard;
|
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto.Dashboard;
|
||||||
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto.Detail;
|
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto.Detail;
|
||||||
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto.MapSheet;
|
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto.MapSheet;
|
||||||
@@ -480,4 +481,8 @@ public class InferenceResultService {
|
|||||||
|
|
||||||
return dto;
|
return dto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public AnalResultInfo getInferenceResultInfo(String uuid) {
|
||||||
|
return inferenceResultCoreService.getInferenceResultInfo(uuid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.kamco.cd.kamcoback.postgres.core;
|
|||||||
import com.kamco.cd.kamcoback.common.exception.CustomApiException;
|
import com.kamco.cd.kamcoback.common.exception.CustomApiException;
|
||||||
import com.kamco.cd.kamcoback.common.utils.UserUtil;
|
import com.kamco.cd.kamcoback.common.utils.UserUtil;
|
||||||
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto;
|
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto;
|
||||||
|
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto.AnalResultInfo;
|
||||||
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto.Dashboard;
|
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto.Dashboard;
|
||||||
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto.InferenceBatchSheet;
|
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto.InferenceBatchSheet;
|
||||||
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto.MapSheet;
|
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto.MapSheet;
|
||||||
@@ -370,4 +371,8 @@ public class InferenceResultCoreService {
|
|||||||
public Integer getLearnStage(Integer compareYear, Integer targetYear) {
|
public Integer getLearnStage(Integer compareYear, Integer targetYear) {
|
||||||
return mapSheetLearnRepository.getLearnStage(compareYear, targetYear);
|
return mapSheetLearnRepository.getLearnStage(compareYear, targetYear);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public AnalResultInfo getInferenceResultInfo(String uuid) {
|
||||||
|
return mapSheetLearnRepository.getInferenceResultInfo(uuid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.kamco.cd.kamcoback.postgres.repository.Inference;
|
package com.kamco.cd.kamcoback.postgres.repository.Inference;
|
||||||
|
|
||||||
|
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto.AnalResultInfo;
|
||||||
import com.kamco.cd.kamcoback.inference.dto.InferenceProgressDto;
|
import com.kamco.cd.kamcoback.inference.dto.InferenceProgressDto;
|
||||||
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto;
|
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto;
|
||||||
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto.InferenceServerStatusDto;
|
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto.InferenceServerStatusDto;
|
||||||
@@ -27,4 +28,6 @@ public interface MapSheetLearnRepositoryCustom {
|
|||||||
UUID getProcessing();
|
UUID getProcessing();
|
||||||
|
|
||||||
Integer getLearnStage(Integer compareYear, Integer targetYear);
|
Integer getLearnStage(Integer compareYear, Integer targetYear);
|
||||||
|
|
||||||
|
AnalResultInfo getInferenceResultInfo(String uuid);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetLearnEntity.mapShe
|
|||||||
import static com.kamco.cd.kamcoback.postgres.entity.QSystemMetricEntity.systemMetricEntity;
|
import static com.kamco.cd.kamcoback.postgres.entity.QSystemMetricEntity.systemMetricEntity;
|
||||||
|
|
||||||
import com.kamco.cd.kamcoback.common.utils.DateRange;
|
import com.kamco.cd.kamcoback.common.utils.DateRange;
|
||||||
|
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto.AnalResultInfo;
|
||||||
import com.kamco.cd.kamcoback.inference.dto.InferenceProgressDto;
|
import com.kamco.cd.kamcoback.inference.dto.InferenceProgressDto;
|
||||||
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto;
|
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto;
|
||||||
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto.InferenceServerStatusDto;
|
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto.InferenceServerStatusDto;
|
||||||
@@ -40,7 +41,7 @@ public class MapSheetLearnRepositoryImpl implements MapSheetLearnRepositoryCusto
|
|||||||
BooleanBuilder builder = new BooleanBuilder();
|
BooleanBuilder builder = new BooleanBuilder();
|
||||||
|
|
||||||
NumberExpression<Integer> statusOrder =
|
NumberExpression<Integer> statusOrder =
|
||||||
new CaseBuilder().when(mapSheetLearnEntity.status.eq("Y")).then(0).otherwise(1);
|
new CaseBuilder().when(mapSheetLearnEntity.status.eq("Y")).then(0).otherwise(1);
|
||||||
|
|
||||||
// 국유인 반영 여부
|
// 국유인 반영 여부
|
||||||
if (StringUtils.isNotBlank(req.getApplyYn())) {
|
if (StringUtils.isNotBlank(req.getApplyYn())) {
|
||||||
@@ -54,10 +55,10 @@ public class MapSheetLearnRepositoryImpl implements MapSheetLearnRepositoryCusto
|
|||||||
// 국유인 반영일
|
// 국유인 반영일
|
||||||
if (req.getStrtDttm() != null && req.getEndDttm() != null) {
|
if (req.getStrtDttm() != null && req.getEndDttm() != null) {
|
||||||
builder.and(
|
builder.and(
|
||||||
mapSheetLearnEntity
|
mapSheetLearnEntity
|
||||||
.applyDttm
|
.applyDttm
|
||||||
.goe(DateRange.start(req.getStrtDttm()))
|
.goe(DateRange.start(req.getStrtDttm()))
|
||||||
.and(mapSheetLearnEntity.applyDttm.lt(DateRange.end(req.getEndDttm()))));
|
.and(mapSheetLearnEntity.applyDttm.lt(DateRange.end(req.getEndDttm()))));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 제목
|
// 제목
|
||||||
@@ -66,21 +67,21 @@ public class MapSheetLearnRepositoryImpl implements MapSheetLearnRepositoryCusto
|
|||||||
}
|
}
|
||||||
|
|
||||||
List<MapSheetLearnEntity> content =
|
List<MapSheetLearnEntity> content =
|
||||||
queryFactory
|
queryFactory
|
||||||
.select(mapSheetLearnEntity)
|
.select(mapSheetLearnEntity)
|
||||||
.from(mapSheetLearnEntity)
|
.from(mapSheetLearnEntity)
|
||||||
.where(builder)
|
.where(builder)
|
||||||
.offset(pageable.getOffset())
|
.offset(pageable.getOffset())
|
||||||
.limit(pageable.getPageSize())
|
.limit(pageable.getPageSize())
|
||||||
.orderBy(mapSheetLearnEntity.id.desc())
|
.orderBy(mapSheetLearnEntity.id.desc())
|
||||||
.fetch();
|
.fetch();
|
||||||
|
|
||||||
Long total =
|
Long total =
|
||||||
queryFactory
|
queryFactory
|
||||||
.select(mapSheetLearnEntity.count())
|
.select(mapSheetLearnEntity.count())
|
||||||
.from(mapSheetLearnEntity)
|
.from(mapSheetLearnEntity)
|
||||||
.where(builder)
|
.where(builder)
|
||||||
.fetchOne();
|
.fetchOne();
|
||||||
|
|
||||||
return new PageImpl<>(content, pageable, total == null ? 0L : total);
|
return new PageImpl<>(content, pageable, total == null ? 0L : total);
|
||||||
}
|
}
|
||||||
@@ -88,10 +89,10 @@ public class MapSheetLearnRepositoryImpl implements MapSheetLearnRepositoryCusto
|
|||||||
@Override
|
@Override
|
||||||
public Optional<MapSheetLearnEntity> getInferenceResultByUuid(UUID uuid) {
|
public Optional<MapSheetLearnEntity> getInferenceResultByUuid(UUID uuid) {
|
||||||
return Optional.ofNullable(
|
return Optional.ofNullable(
|
||||||
queryFactory
|
queryFactory
|
||||||
.selectFrom(mapSheetLearnEntity)
|
.selectFrom(mapSheetLearnEntity)
|
||||||
.where(mapSheetLearnEntity.uuid.eq(uuid))
|
.where(mapSheetLearnEntity.uuid.eq(uuid))
|
||||||
.fetchOne());
|
.fetchOne());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -100,41 +101,41 @@ public class MapSheetLearnRepositoryImpl implements MapSheetLearnRepositoryCusto
|
|||||||
BooleanBuilder builder = new BooleanBuilder();
|
BooleanBuilder builder = new BooleanBuilder();
|
||||||
|
|
||||||
List<Integer> latestIds =
|
List<Integer> latestIds =
|
||||||
queryFactory
|
queryFactory
|
||||||
.select(systemMetricEntity.id1.max())
|
.select(systemMetricEntity.id1.max())
|
||||||
.from(systemMetricEntity)
|
.from(systemMetricEntity)
|
||||||
.groupBy(systemMetricEntity.serverName)
|
.groupBy(systemMetricEntity.serverName)
|
||||||
.fetch();
|
.fetch();
|
||||||
|
|
||||||
List<Integer> latestGpuIds =
|
List<Integer> latestGpuIds =
|
||||||
queryFactory
|
queryFactory
|
||||||
.select(gpuMetricEntity.id1.max())
|
.select(gpuMetricEntity.id1.max())
|
||||||
.from(gpuMetricEntity)
|
.from(gpuMetricEntity)
|
||||||
.groupBy(gpuMetricEntity.serverName)
|
.groupBy(gpuMetricEntity.serverName)
|
||||||
.fetch();
|
.fetch();
|
||||||
|
|
||||||
List<InferenceServerStatusDto> foundContent =
|
List<InferenceServerStatusDto> foundContent =
|
||||||
queryFactory
|
queryFactory
|
||||||
.select(
|
.select(
|
||||||
Projections.constructor(
|
Projections.constructor(
|
||||||
InferenceServerStatusDto.class,
|
InferenceServerStatusDto.class,
|
||||||
systemMetricEntity.serverName,
|
systemMetricEntity.serverName,
|
||||||
systemMetricEntity.cpuUser,
|
systemMetricEntity.cpuUser,
|
||||||
systemMetricEntity.cpuSystem,
|
systemMetricEntity.cpuSystem,
|
||||||
systemMetricEntity.memused,
|
systemMetricEntity.memused,
|
||||||
systemMetricEntity.kbmemused,
|
systemMetricEntity.kbmemused,
|
||||||
gpuMetricEntity.gpuUtil))
|
gpuMetricEntity.gpuUtil))
|
||||||
.from(systemMetricEntity)
|
.from(systemMetricEntity)
|
||||||
.leftJoin(gpuMetricEntity)
|
.leftJoin(gpuMetricEntity)
|
||||||
.on(
|
.on(
|
||||||
gpuMetricEntity
|
gpuMetricEntity
|
||||||
.id1
|
.id1
|
||||||
.in(latestGpuIds)
|
.in(latestGpuIds)
|
||||||
.and(gpuMetricEntity.serverName.eq(systemMetricEntity.serverName)))
|
.and(gpuMetricEntity.serverName.eq(systemMetricEntity.serverName)))
|
||||||
.where(systemMetricEntity.id1.in(latestIds)) // In 절 사용
|
.where(systemMetricEntity.id1.in(latestIds)) // In 절 사용
|
||||||
.orderBy(systemMetricEntity.serverName.asc())
|
.orderBy(systemMetricEntity.serverName.asc())
|
||||||
.limit(4)
|
.limit(4)
|
||||||
.fetch();
|
.fetch();
|
||||||
|
|
||||||
return foundContent;
|
return foundContent;
|
||||||
}
|
}
|
||||||
@@ -142,11 +143,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
|
||||||
@@ -159,37 +160,37 @@ public class MapSheetLearnRepositoryImpl implements MapSheetLearnRepositoryCusto
|
|||||||
QModelMngEntity m3Model = new QModelMngEntity("m3Model");
|
QModelMngEntity m3Model = new QModelMngEntity("m3Model");
|
||||||
|
|
||||||
InferenceStatusDetailDto foundContent =
|
InferenceStatusDetailDto foundContent =
|
||||||
queryFactory
|
queryFactory
|
||||||
.select(
|
.select(
|
||||||
Projections.constructor(
|
Projections.constructor(
|
||||||
InferenceStatusDetailDto.class,
|
InferenceStatusDetailDto.class,
|
||||||
mapSheetLearnEntity.title,
|
mapSheetLearnEntity.title,
|
||||||
mapSheetLearnEntity.compareYyyy,
|
mapSheetLearnEntity.compareYyyy,
|
||||||
mapSheetLearnEntity.targetYyyy,
|
mapSheetLearnEntity.targetYyyy,
|
||||||
mapSheetLearnEntity.detectOption,
|
mapSheetLearnEntity.detectOption,
|
||||||
mapSheetLearnEntity.mapSheetScope,
|
mapSheetLearnEntity.mapSheetScope,
|
||||||
mapSheetLearnEntity.inferStartDttm,
|
mapSheetLearnEntity.inferStartDttm,
|
||||||
mapSheetLearnEntity.inferEndDttm,
|
mapSheetLearnEntity.inferEndDttm,
|
||||||
mapSheetLearnEntity.detectingCnt,
|
mapSheetLearnEntity.detectingCnt,
|
||||||
mapSheetLearnEntity.detectEndCnt,
|
mapSheetLearnEntity.detectEndCnt,
|
||||||
mapSheetLearnEntity.m1ModelStartDttm,
|
mapSheetLearnEntity.m1ModelStartDttm,
|
||||||
mapSheetLearnEntity.m1ModelEndDttm,
|
mapSheetLearnEntity.m1ModelEndDttm,
|
||||||
mapSheetLearnEntity.m2ModelStartDttm,
|
mapSheetLearnEntity.m2ModelStartDttm,
|
||||||
mapSheetLearnEntity.m2ModelEndDttm,
|
mapSheetLearnEntity.m2ModelEndDttm,
|
||||||
mapSheetLearnEntity.m3ModelStartDttm,
|
mapSheetLearnEntity.m3ModelStartDttm,
|
||||||
mapSheetLearnEntity.m3ModelEndDttm,
|
mapSheetLearnEntity.m3ModelEndDttm,
|
||||||
m1Model.modelVer.as("model1Ver"),
|
m1Model.modelVer.as("model1Ver"),
|
||||||
m2Model.modelVer.as("model2Ver"),
|
m2Model.modelVer.as("model2Ver"),
|
||||||
m3Model.modelVer.as("model3Ver")))
|
m3Model.modelVer.as("model3Ver")))
|
||||||
.from(mapSheetLearnEntity)
|
.from(mapSheetLearnEntity)
|
||||||
.leftJoin(m1Model)
|
.leftJoin(m1Model)
|
||||||
.on(m1Model.uuid.eq(mapSheetLearnEntity.m1ModelUuid))
|
.on(m1Model.uuid.eq(mapSheetLearnEntity.m1ModelUuid))
|
||||||
.leftJoin(m2Model)
|
.leftJoin(m2Model)
|
||||||
.on(m2Model.uuid.eq(mapSheetLearnEntity.m2ModelUuid))
|
.on(m2Model.uuid.eq(mapSheetLearnEntity.m2ModelUuid))
|
||||||
.leftJoin(m3Model)
|
.leftJoin(m3Model)
|
||||||
.on(m3Model.uuid.eq(mapSheetLearnEntity.m3ModelUuid))
|
.on(m3Model.uuid.eq(mapSheetLearnEntity.m3ModelUuid))
|
||||||
.where(mapSheetLearnEntity.uuid.eq(uuid))
|
.where(mapSheetLearnEntity.uuid.eq(uuid))
|
||||||
.fetchOne();
|
.fetchOne();
|
||||||
|
|
||||||
return foundContent;
|
return foundContent;
|
||||||
}
|
}
|
||||||
@@ -200,30 +201,30 @@ public class MapSheetLearnRepositoryImpl implements MapSheetLearnRepositoryCusto
|
|||||||
QModelMngEntity model = new QModelMngEntity("model");
|
QModelMngEntity model = new QModelMngEntity("model");
|
||||||
|
|
||||||
InferenceProgressDto dto =
|
InferenceProgressDto dto =
|
||||||
queryFactory
|
queryFactory
|
||||||
.select(
|
.select(
|
||||||
Projections.constructor(
|
Projections.constructor(
|
||||||
InferenceProgressDto.class,
|
InferenceProgressDto.class,
|
||||||
Projections.constructor(
|
Projections.constructor(
|
||||||
InferenceProgressDto.pred_requests_areas.class,
|
InferenceProgressDto.pred_requests_areas.class,
|
||||||
mapSheetLearnEntity.compareYyyy,
|
mapSheetLearnEntity.compareYyyy,
|
||||||
mapSheetLearnEntity.targetYyyy,
|
mapSheetLearnEntity.targetYyyy,
|
||||||
mapSheetLearnEntity.modelComparePath,
|
mapSheetLearnEntity.modelComparePath,
|
||||||
mapSheetLearnEntity.modelTargetPath),
|
mapSheetLearnEntity.modelTargetPath),
|
||||||
model.modelVer.as("modelVer"),
|
model.modelVer.as("modelVer"),
|
||||||
model.cdModelPath.as("cdModelPath"),
|
model.cdModelPath.as("cdModelPath"),
|
||||||
model.cdModelFileName.as("cdModelFileName"),
|
model.cdModelFileName.as("cdModelFileName"),
|
||||||
model.cdModelConfigPath.as("cdModelConfigPath"),
|
model.cdModelConfigPath.as("cdModelConfigPath"),
|
||||||
model.cdModelConfigFileName.as("cdModelConfigFileName"),
|
model.cdModelConfigFileName.as("cdModelConfigFileName"),
|
||||||
model.clsModelPath,
|
model.clsModelPath,
|
||||||
model.clsModelFileName,
|
model.clsModelFileName,
|
||||||
model.clsModelVersion,
|
model.clsModelVersion,
|
||||||
model.priority))
|
model.priority))
|
||||||
.from(mapSheetLearnEntity)
|
.from(mapSheetLearnEntity)
|
||||||
.join(model)
|
.join(model)
|
||||||
.on(model.uuid.eq(modelUuid))
|
.on(model.uuid.eq(modelUuid))
|
||||||
.where(mapSheetLearnEntity.id.eq(id))
|
.where(mapSheetLearnEntity.id.eq(id))
|
||||||
.fetchOne();
|
.fetchOne();
|
||||||
return dto;
|
return dto;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -234,10 +235,10 @@ public class MapSheetLearnRepositoryImpl implements MapSheetLearnRepositoryCusto
|
|||||||
*/
|
*/
|
||||||
public UUID getProcessing() {
|
public UUID getProcessing() {
|
||||||
return queryFactory
|
return queryFactory
|
||||||
.select(mapSheetLearnEntity.uuid)
|
.select(mapSheetLearnEntity.uuid)
|
||||||
.from(mapSheetLearnEntity)
|
.from(mapSheetLearnEntity)
|
||||||
.where(mapSheetLearnEntity.status.eq("IN_PROGRESS"))
|
.where(mapSheetLearnEntity.status.eq("IN_PROGRESS"))
|
||||||
.fetchOne();
|
.fetchOne();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -247,18 +248,50 @@ public class MapSheetLearnRepositoryImpl implements MapSheetLearnRepositoryCusto
|
|||||||
entity.setTargetYyyy(targetYear);
|
entity.setTargetYyyy(targetYear);
|
||||||
|
|
||||||
Integer stage =
|
Integer stage =
|
||||||
queryFactory
|
queryFactory
|
||||||
.select(mapSheetLearnEntity.stage)
|
.select(mapSheetLearnEntity.stage)
|
||||||
.from(mapSheetLearnEntity)
|
.from(mapSheetLearnEntity)
|
||||||
.where(
|
.where(
|
||||||
mapSheetLearnEntity
|
mapSheetLearnEntity
|
||||||
.compareYyyy
|
.compareYyyy
|
||||||
.eq(compareYear)
|
.eq(compareYear)
|
||||||
.and(mapSheetLearnEntity.targetYyyy.eq(targetYear)))
|
.and(mapSheetLearnEntity.targetYyyy.eq(targetYear)))
|
||||||
.orderBy(mapSheetLearnEntity.stage.desc())
|
.orderBy(mapSheetLearnEntity.stage.desc())
|
||||||
.limit(1)
|
.limit(1)
|
||||||
.fetchOne();
|
.fetchOne();
|
||||||
|
|
||||||
return stage == null ? 1 : stage + 1;
|
return stage == null ? 1 : stage + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AnalResultInfo getInferenceResultInfo(String uuid) {
|
||||||
|
QModelMngEntity m1 = new QModelMngEntity("m1");
|
||||||
|
QModelMngEntity m2 = new QModelMngEntity("m2");
|
||||||
|
QModelMngEntity m3 = new QModelMngEntity("m3");
|
||||||
|
|
||||||
|
return queryFactory
|
||||||
|
.select(
|
||||||
|
Projections.constructor(
|
||||||
|
AnalResultInfo.class,
|
||||||
|
mapSheetLearnEntity.title,
|
||||||
|
m1.modelVer,
|
||||||
|
m2.modelVer,
|
||||||
|
m3.modelVer,
|
||||||
|
mapSheetLearnEntity.compareYyyy,
|
||||||
|
mapSheetLearnEntity.targetYyyy,
|
||||||
|
mapSheetLearnEntity.detectOption,
|
||||||
|
mapSheetLearnEntity.mapSheetScope,
|
||||||
|
mapSheetLearnEntity.inferStartDttm,
|
||||||
|
mapSheetLearnEntity.inferEndDttm
|
||||||
|
)
|
||||||
|
)
|
||||||
|
.from(mapSheetLearnEntity)
|
||||||
|
.leftJoin(m1)
|
||||||
|
.on(mapSheetLearnEntity.m1ModelUuid.eq(m1.uuid))
|
||||||
|
.leftJoin(m2)
|
||||||
|
.on(mapSheetLearnEntity.m2ModelUuid.eq(m2.uuid))
|
||||||
|
.leftJoin(m3)
|
||||||
|
.on(mapSheetLearnEntity.m3ModelUuid.eq(m3.uuid))
|
||||||
|
.where(mapSheetLearnEntity.uuid.eq(UUID.fromString(uuid))).fetchOne();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user