[KC-99] 추론관리 리스트 추가, spotless 적용
This commit is contained in:
@@ -2,6 +2,7 @@ package com.kamco.cd.kamcoback.inference;
|
||||
|
||||
import com.kamco.cd.kamcoback.config.api.ApiResponseDto;
|
||||
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto;
|
||||
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto.ResultList;
|
||||
import com.kamco.cd.kamcoback.inference.service.InferenceResultService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
@@ -10,11 +11,10 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponses;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import java.util.List;
|
||||
import java.time.LocalDate;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
@@ -27,7 +27,7 @@ public class InferenceResultApiController {
|
||||
|
||||
private final InferenceResultService inferenceResultService;
|
||||
|
||||
@Operation(summary = "추론관리 분석결과 목록 조회", description = "분석상태, 제목으로 분석결과를 조회 합니다.")
|
||||
@Operation(summary = "추론관리 목록", description = "어드민 홈 > 추론관리 > 추론관리 > 추론관리 목록")
|
||||
@ApiResponses(
|
||||
value = {
|
||||
@ApiResponse(
|
||||
@@ -41,93 +41,95 @@ public class InferenceResultApiController {
|
||||
@ApiResponse(responseCode = "500", description = "서버 오류", content = @Content)
|
||||
})
|
||||
@GetMapping("/list")
|
||||
public ApiResponseDto<Page<InferenceResultDto.AnalResList>> getInferenceResultList(
|
||||
@Parameter(description = "분석상태", example = "0002") @RequestParam(required = false)
|
||||
String statCode,
|
||||
public ApiResponseDto<Page<ResultList>> getInferenceResultList(
|
||||
@Parameter(description = "국유인 반영 여부", example = "Y") @RequestParam(required = false)
|
||||
String applyYn,
|
||||
@Parameter(description = "반영일", example = "2025-01-01") @RequestParam(required = false)
|
||||
LocalDate strtDttm,
|
||||
@Parameter(description = "반영일", example = "2026-01-01") @RequestParam(required = false)
|
||||
LocalDate endDttm,
|
||||
@Parameter(description = "제목", example = "변화탐지") @RequestParam(required = false) String title,
|
||||
@Parameter(description = "페이지 번호 (0부터 시작)", example = "0") @RequestParam(defaultValue = "0")
|
||||
int page,
|
||||
@Parameter(description = "페이지 크기", example = "20") @RequestParam(defaultValue = "20")
|
||||
int size) {
|
||||
InferenceResultDto.SearchReq searchReq =
|
||||
new InferenceResultDto.SearchReq(statCode, title, page, size);
|
||||
Page<InferenceResultDto.AnalResList> analResList =
|
||||
inferenceResultService.getInferenceResultList(searchReq);
|
||||
InferenceResultDto.SearchListReq req =
|
||||
new InferenceResultDto.SearchListReq(applyYn, strtDttm, endDttm, title, page, size);
|
||||
Page<ResultList> analResList = inferenceResultService.getInferenceResultList(req);
|
||||
return ApiResponseDto.ok(analResList);
|
||||
}
|
||||
|
||||
@Operation(summary = "추론관리 분석결과 요약정보", description = "분석결과 요약정보를 조회합니다.")
|
||||
@ApiResponses(
|
||||
value = {
|
||||
@ApiResponse(
|
||||
responseCode = "200",
|
||||
description = "검색 성공",
|
||||
content =
|
||||
@Content(
|
||||
mediaType = "application/json",
|
||||
schema = @Schema(implementation = InferenceResultDto.AnalResSummary.class))),
|
||||
@ApiResponse(responseCode = "400", description = "잘못된 검색 조건", content = @Content),
|
||||
@ApiResponse(responseCode = "500", description = "서버 오류", content = @Content)
|
||||
})
|
||||
@GetMapping("/summary/{id}")
|
||||
public ApiResponseDto<InferenceResultDto.AnalResSummary> getInferenceResultSummary(
|
||||
@Parameter(description = "목록 id", example = "53") @PathVariable Long id) {
|
||||
return ApiResponseDto.ok(inferenceResultService.getInferenceResultSummary(id));
|
||||
}
|
||||
|
||||
@Operation(summary = "추론관리 분석결과 상세", description = "분석결과 상제 정보 Summary, DashBoard")
|
||||
@ApiResponses(
|
||||
value = {
|
||||
@ApiResponse(
|
||||
responseCode = "200",
|
||||
description = "검색 성공",
|
||||
content =
|
||||
@Content(
|
||||
mediaType = "application/json",
|
||||
schema = @Schema(implementation = InferenceResultDto.Detail.class))),
|
||||
@ApiResponse(responseCode = "400", description = "잘못된 검색 조건", content = @Content),
|
||||
@ApiResponse(responseCode = "500", description = "서버 오류", content = @Content)
|
||||
})
|
||||
@GetMapping("/detail/{id}")
|
||||
public ApiResponseDto<InferenceResultDto.Detail> getInferenceDetail(
|
||||
@Parameter(description = "목록 id", example = "53") @PathVariable Long id) {
|
||||
return ApiResponseDto.ok(inferenceResultService.getDetail(id));
|
||||
}
|
||||
|
||||
@Operation(summary = "추론관리 분석결과 상세 목록", description = "추론관리 분석결과 상세 목록 geojson 데이터 조회")
|
||||
@ApiResponses(
|
||||
value = {
|
||||
@ApiResponse(
|
||||
responseCode = "200",
|
||||
description = "검색 성공",
|
||||
content =
|
||||
@Content(
|
||||
mediaType = "application/json",
|
||||
schema = @Schema(implementation = Page.class))),
|
||||
@ApiResponse(responseCode = "400", description = "잘못된 검색 조건", content = @Content),
|
||||
@ApiResponse(responseCode = "500", description = "서버 오류", content = @Content)
|
||||
})
|
||||
@GetMapping("/geom/{id}")
|
||||
public ApiResponseDto<Page<InferenceResultDto.Geom>> getInferenceResultGeomList(
|
||||
@Parameter(description = "분석결과 id", example = "53") @PathVariable Long id,
|
||||
@Parameter(description = "기준년도 분류", example = "land") @RequestParam(required = false)
|
||||
String targetClass,
|
||||
@Parameter(description = "비교년도 분류", example = "waste") @RequestParam(required = false)
|
||||
String compareClass,
|
||||
@Parameter(description = "5000:1 도협번호 37801011,37801012") @RequestParam(required = false)
|
||||
List<Long> mapSheetNum,
|
||||
@Parameter(description = "페이지 번호 (0부터 시작)", example = "0") @RequestParam(defaultValue = "0")
|
||||
int page,
|
||||
@Parameter(description = "페이지 크기", example = "20") @RequestParam(defaultValue = "20")
|
||||
int size,
|
||||
@Parameter(description = "정렬 조건 (형식: 필드명,방향)", example = "name,asc")
|
||||
@RequestParam(required = false)
|
||||
String sort) {
|
||||
InferenceResultDto.SearchGeoReq searchGeoReq =
|
||||
new InferenceResultDto.SearchGeoReq(
|
||||
targetClass, compareClass, mapSheetNum, page, size, sort);
|
||||
Page<InferenceResultDto.Geom> geomList =
|
||||
inferenceResultService.getInferenceResultGeomList(id, searchGeoReq);
|
||||
return ApiResponseDto.ok(geomList);
|
||||
}
|
||||
// @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("/summary/{id}")
|
||||
// public ApiResponseDto<InferenceDetailDto.AnalResSummary> getInferenceResultSummary(
|
||||
// @Parameter(description = "목록 id", example = "53") @PathVariable Long id) {
|
||||
// return ApiResponseDto.ok(inferenceResultService.getInferenceResultSummary(id));
|
||||
// }
|
||||
//
|
||||
// @Operation(summary = "추론관리 분석결과 상세", description = "분석결과 상제 정보 Summary, DashBoard")
|
||||
// @ApiResponses(
|
||||
// value = {
|
||||
// @ApiResponse(
|
||||
// responseCode = "200",
|
||||
// description = "검색 성공",
|
||||
// content =
|
||||
// @Content(
|
||||
// mediaType = "application/json",
|
||||
// schema = @Schema(implementation = InferenceDetailDto.Detail.class))),
|
||||
// @ApiResponse(responseCode = "400", description = "잘못된 검색 조건", content = @Content),
|
||||
// @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content)
|
||||
// })
|
||||
// @GetMapping("/detail/{id}")
|
||||
// public ApiResponseDto<InferenceDetailDto.Detail> getInferenceDetail(
|
||||
// @Parameter(description = "목록 id", example = "53") @PathVariable Long id) {
|
||||
// return ApiResponseDto.ok(inferenceResultService.getDetail(id));
|
||||
// }
|
||||
//
|
||||
// @Operation(summary = "추론관리 분석결과 상세 목록", description = "추론관리 분석결과 상세 목록 geojson 데이터 조회")
|
||||
// @ApiResponses(
|
||||
// value = {
|
||||
// @ApiResponse(
|
||||
// responseCode = "200",
|
||||
// description = "검색 성공",
|
||||
// content =
|
||||
// @Content(
|
||||
// mediaType = "application/json",
|
||||
// schema = @Schema(implementation = Page.class))),
|
||||
// @ApiResponse(responseCode = "400", description = "잘못된 검색 조건", content = @Content),
|
||||
// @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content)
|
||||
// })
|
||||
// @GetMapping("/geom/{id}")
|
||||
// public ApiResponseDto<Page<InferenceDetailDto.Geom>> getInferenceResultGeomList(
|
||||
// @Parameter(description = "분석결과 id", example = "53") @PathVariable Long id,
|
||||
// @Parameter(description = "기준년도 분류", example = "land") @RequestParam(required = false)
|
||||
// String targetClass,
|
||||
// @Parameter(description = "비교년도 분류", example = "waste") @RequestParam(required = false)
|
||||
// String compareClass,
|
||||
// @Parameter(description = "5000:1 도협번호 37801011,37801012") @RequestParam(required = false)
|
||||
// List<Long> mapSheetNum,
|
||||
// @Parameter(description = "페이지 번호 (0부터 시작)", example = "0") @RequestParam(defaultValue = "0")
|
||||
// int page,
|
||||
// @Parameter(description = "페이지 크기", example = "20") @RequestParam(defaultValue = "20")
|
||||
// int size,
|
||||
// @Parameter(description = "정렬 조건 (형식: 필드명,방향)", example = "name,asc")
|
||||
// @RequestParam(required = false)
|
||||
// String sort) {
|
||||
// InferenceDetailDto.SearchGeoReq searchGeoReq =
|
||||
// new InferenceDetailDto.SearchGeoReq(
|
||||
// targetClass, compareClass, mapSheetNum, page, size, sort);
|
||||
// Page<InferenceDetailDto.Geom> geomList =
|
||||
// inferenceResultService.getInferenceResultGeomList(id, searchGeoReq);
|
||||
// return ApiResponseDto.ok(geomList);
|
||||
// }
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.kamco.cd.kamcoback.inference;
|
||||
|
||||
import com.kamco.cd.kamcoback.config.api.ApiResponseDto;
|
||||
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto;
|
||||
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto;
|
||||
import com.kamco.cd.kamcoback.inference.service.InferenceResultService;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
@@ -43,7 +43,7 @@ public class InferenceResultApiV2Controller {
|
||||
@ApiResponse(responseCode = "500", description = "서버 오류", content = @Content)
|
||||
})
|
||||
@GetMapping("/geom/{id}")
|
||||
public ApiResponseDto<Page<InferenceResultDto.DetailListEntity>> listInferenceResultWithGeom(
|
||||
public ApiResponseDto<Page<InferenceDetailDto.DetailListEntity>> listInferenceResultWithGeom(
|
||||
@Parameter(description = "분석결과 id", example = "1") @PathVariable Long id,
|
||||
@Parameter(description = "기준년도 분류", example = "land") @RequestParam(required = false)
|
||||
String targetClass,
|
||||
@@ -58,11 +58,11 @@ public class InferenceResultApiV2Controller {
|
||||
@Parameter(description = "정렬 조건 (형식: 필드명,방향)", example = "name,asc")
|
||||
@RequestParam(required = false)
|
||||
String sort) {
|
||||
InferenceResultDto.SearchGeoReq searchGeoReq =
|
||||
new InferenceResultDto.SearchGeoReq(
|
||||
InferenceDetailDto.SearchGeoReq searchGeoReq =
|
||||
new InferenceDetailDto.SearchGeoReq(
|
||||
targetClass, compareClass, mapSheetNum, page, size, sort);
|
||||
|
||||
Page<InferenceResultDto.DetailListEntity> geomList =
|
||||
Page<InferenceDetailDto.DetailListEntity> geomList =
|
||||
inferenceResultService.listInferenceResultWithGeom(id, searchGeoReq);
|
||||
return ApiResponseDto.ok(geomList);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,394 @@
|
||||
package com.kamco.cd.kamcoback.inference.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
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 io.swagger.v3.oas.annotations.media.Schema;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.domain.Sort;
|
||||
|
||||
public class InferenceDetailDto {
|
||||
|
||||
@Schema(name = "InferenceResultBasic", description = "분석결과 기본 정보")
|
||||
@Getter
|
||||
public static class Basic {
|
||||
|
||||
private Long id;
|
||||
private String dataName;
|
||||
private Long mapSheepNum;
|
||||
private Long detectingCnt;
|
||||
@JsonFormatDttm private ZonedDateTime analStrtDttm;
|
||||
@JsonFormatDttm private ZonedDateTime analEndDttm;
|
||||
private Long analSec;
|
||||
private String analState;
|
||||
|
||||
public Basic(
|
||||
Long id,
|
||||
String dataName,
|
||||
Long mapSheepNum,
|
||||
Long detectingCnt,
|
||||
ZonedDateTime analStrtDttm,
|
||||
ZonedDateTime analEndDttm,
|
||||
Long analSec,
|
||||
String analState) {
|
||||
this.id = id;
|
||||
this.dataName = dataName;
|
||||
this.mapSheepNum = mapSheepNum;
|
||||
this.detectingCnt = detectingCnt;
|
||||
this.analStrtDttm = analStrtDttm;
|
||||
this.analEndDttm = analEndDttm;
|
||||
this.analSec = analSec;
|
||||
this.analState = analState;
|
||||
}
|
||||
}
|
||||
|
||||
@Schema(name = "AnalysisResultList", description = "분석결과 목록")
|
||||
@Getter
|
||||
public static class AnalResList {
|
||||
|
||||
private Long id;
|
||||
private String analTitle;
|
||||
private Long detectingCnt;
|
||||
@JsonFormatDttm private ZonedDateTime analStrtDttm;
|
||||
@JsonFormatDttm private ZonedDateTime analEndDttm;
|
||||
private Long analSec;
|
||||
private Long analPredSec;
|
||||
private String analState;
|
||||
private String analStateNm;
|
||||
private String gukyuinUsed;
|
||||
|
||||
public AnalResList(
|
||||
Long id,
|
||||
String analTitle,
|
||||
Long detectingCnt,
|
||||
ZonedDateTime analStrtDttm,
|
||||
ZonedDateTime analEndDttm,
|
||||
Long analSec,
|
||||
Long analPredSec,
|
||||
String analState,
|
||||
String analStateNm,
|
||||
String gukyuinUsed) {
|
||||
this.id = id;
|
||||
this.analTitle = analTitle;
|
||||
this.detectingCnt = detectingCnt;
|
||||
this.analStrtDttm = analStrtDttm;
|
||||
this.analEndDttm = analEndDttm;
|
||||
this.analSec = analSec;
|
||||
this.analPredSec = analPredSec;
|
||||
this.analState = analState;
|
||||
this.analStateNm = analStateNm;
|
||||
this.gukyuinUsed = gukyuinUsed;
|
||||
}
|
||||
}
|
||||
|
||||
@Schema(name = "AnalysisResultSummary", description = "분석결과 요약정보")
|
||||
@Getter
|
||||
public static class AnalResSummary {
|
||||
|
||||
private Long id;
|
||||
private String analTitle;
|
||||
private String modelInfo;
|
||||
private Integer targetYyyy;
|
||||
private Integer compareYyyy;
|
||||
@JsonFormatDttm private ZonedDateTime analStrtDttm;
|
||||
@JsonFormatDttm private ZonedDateTime analEndDttm;
|
||||
private Long analSec;
|
||||
private Long analPredSec;
|
||||
private String resultUrl;
|
||||
private Long detectingCnt;
|
||||
private Double accuracy;
|
||||
private String analState;
|
||||
private String analStateNm;
|
||||
|
||||
public AnalResSummary(
|
||||
Long id,
|
||||
String analTitle,
|
||||
String modelInfo,
|
||||
Integer targetYyyy,
|
||||
Integer compareYyyy,
|
||||
ZonedDateTime analStrtDttm,
|
||||
ZonedDateTime analEndDttm,
|
||||
Long analSec,
|
||||
Long analPredSec,
|
||||
String resultUrl,
|
||||
Long detectingCnt,
|
||||
Double accuracy,
|
||||
String analState,
|
||||
String analStateNm) {
|
||||
this.id = id;
|
||||
this.analTitle = analTitle;
|
||||
this.modelInfo = modelInfo;
|
||||
this.targetYyyy = targetYyyy;
|
||||
this.compareYyyy = compareYyyy;
|
||||
this.analStrtDttm = analStrtDttm;
|
||||
this.analEndDttm = analEndDttm;
|
||||
this.analSec = analSec;
|
||||
this.analPredSec = analPredSec;
|
||||
this.resultUrl = resultUrl;
|
||||
this.detectingCnt = detectingCnt;
|
||||
this.accuracy = accuracy;
|
||||
this.analState = analState;
|
||||
this.analStateNm = analStateNm;
|
||||
}
|
||||
}
|
||||
|
||||
@Getter
|
||||
public static class Dashboard {
|
||||
|
||||
String classAfterCd;
|
||||
String classAfterName;
|
||||
Long classAfterCnt;
|
||||
|
||||
public Dashboard(String classAfterCd, Long classAfterCnt) {
|
||||
this.classAfterCd = classAfterCd;
|
||||
this.classAfterName = DetectionClassification.fromString(classAfterCd).getDesc();
|
||||
this.classAfterCnt = classAfterCnt;
|
||||
}
|
||||
}
|
||||
|
||||
@Getter
|
||||
public static class Detail {
|
||||
|
||||
AnalResSummary summary;
|
||||
List<Dashboard> dashboard;
|
||||
Long totalCnt;
|
||||
|
||||
public Detail(AnalResSummary summary, List<Dashboard> dashboard, Long totalCnt) {
|
||||
this.summary = summary;
|
||||
this.dashboard = dashboard;
|
||||
this.totalCnt = totalCnt;
|
||||
}
|
||||
}
|
||||
|
||||
// 분석 상세 ROW
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public static class DetailListEntity {
|
||||
|
||||
private Uid code;
|
||||
private Double detectionScore;
|
||||
private Clazzes compare;
|
||||
private Clazzes target;
|
||||
private MapSheet mapSheet;
|
||||
private Coordinate center;
|
||||
@JsonFormatDttm private ZonedDateTime updatedDttm;
|
||||
|
||||
public DetailListEntity(
|
||||
UUID uuid,
|
||||
Double detectionScore,
|
||||
Clazzes compare,
|
||||
Clazzes target,
|
||||
MapSheet mapSheet,
|
||||
Coordinate center,
|
||||
ZonedDateTime updatedDttm) {
|
||||
this.code = new Uid(uuid);
|
||||
this.detectionScore = detectionScore;
|
||||
this.compare = compare;
|
||||
this.target = target;
|
||||
this.mapSheet = mapSheet;
|
||||
this.center = center;
|
||||
this.updatedDttm = updatedDttm;
|
||||
}
|
||||
}
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public static class Uid {
|
||||
|
||||
private String shortCode;
|
||||
private String code;
|
||||
|
||||
public Uid(UUID uuid) {
|
||||
if (uuid != null) {
|
||||
this.shortCode = uuid.toString().substring(0, 8).toUpperCase();
|
||||
this.code = uuid.toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// MAP NO
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public static class MapSheet {
|
||||
|
||||
private String number;
|
||||
private String name;
|
||||
}
|
||||
|
||||
// classification info
|
||||
@Getter
|
||||
public static class Clazz {
|
||||
|
||||
private String code;
|
||||
private String name;
|
||||
@JsonIgnore private Double score;
|
||||
|
||||
public Clazz(String code, Double score) {
|
||||
this.code = code;
|
||||
this.score = score;
|
||||
this.name = DetectionClassification.fromString(code).getDesc();
|
||||
}
|
||||
|
||||
public Clazz(String code) {
|
||||
this.code = code;
|
||||
this.name = DetectionClassification.fromString(code).getDesc();
|
||||
}
|
||||
}
|
||||
|
||||
// classification info
|
||||
@Getter
|
||||
public static class Clazzes {
|
||||
|
||||
private DetectionClassification code;
|
||||
private String name;
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
private Double score;
|
||||
|
||||
private Integer order;
|
||||
|
||||
public Clazzes(DetectionClassification classification, Double score) {
|
||||
this.code = classification;
|
||||
this.name = classification.getDesc();
|
||||
this.order = classification.getOrder();
|
||||
this.score = score;
|
||||
}
|
||||
|
||||
public Clazzes(DetectionClassification classification) {
|
||||
this.code = classification;
|
||||
this.name = classification.getDesc();
|
||||
this.order = classification.getOrder();
|
||||
}
|
||||
}
|
||||
|
||||
// 좌표 정보 point
|
||||
@Getter
|
||||
public static class Coordinate {
|
||||
|
||||
private Double lon; // 경도(Longitude)
|
||||
private Double lat; // 위도(Latitude)
|
||||
private String srid; // Spatial Reference ID의 약자로, 데이터베이스에서 좌표계를 식별하는 고유 번호 추후enum으로
|
||||
|
||||
public Coordinate(Double lon, Double lat) {
|
||||
this.lon = lon;
|
||||
this.lat = lat;
|
||||
this.srid = "EPSG:4326";
|
||||
}
|
||||
}
|
||||
|
||||
@Getter
|
||||
public static class Geom {
|
||||
|
||||
Integer compareYyyy;
|
||||
Integer targetYyyy;
|
||||
String classBeforeCd;
|
||||
String classBeforeName;
|
||||
Double classBeforeProb;
|
||||
String classAfterCd;
|
||||
String classAfterName;
|
||||
Double classAfterProb;
|
||||
Long mapSheetNum;
|
||||
@JsonIgnore String gemoStr;
|
||||
@JsonIgnore String geomCenterStr;
|
||||
JsonNode gemo;
|
||||
JsonNode geomCenter;
|
||||
|
||||
public Geom(
|
||||
Integer compareYyyy,
|
||||
Integer targetYyyy,
|
||||
String classBeforeCd,
|
||||
Double classBeforeProb,
|
||||
String classAfterCd,
|
||||
Double classAfterProb,
|
||||
Long mapSheetNum,
|
||||
String gemoStr,
|
||||
String geomCenterStr) {
|
||||
this.compareYyyy = compareYyyy;
|
||||
this.targetYyyy = targetYyyy;
|
||||
this.classBeforeCd = classBeforeCd;
|
||||
this.classBeforeName = DetectionClassification.fromString(classBeforeCd).getDesc();
|
||||
this.classBeforeProb = classBeforeProb;
|
||||
this.classAfterCd = classAfterCd;
|
||||
this.classAfterName = DetectionClassification.fromString(classAfterCd).getDesc();
|
||||
this.classAfterProb = classAfterProb;
|
||||
this.mapSheetNum = mapSheetNum;
|
||||
this.gemoStr = gemoStr;
|
||||
this.geomCenterStr = geomCenterStr;
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
JsonNode geomJson;
|
||||
JsonNode geomCenterJson;
|
||||
try {
|
||||
geomJson = mapper.readTree(gemoStr);
|
||||
geomCenterJson = mapper.readTree(geomCenterStr);
|
||||
} catch (JsonProcessingException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
this.gemo = geomJson;
|
||||
this.geomCenter = geomCenterJson;
|
||||
}
|
||||
}
|
||||
|
||||
@Schema(name = "InferenceResultSearchReq", description = "분석결과 목록 요청 정보")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class SearchReq {
|
||||
|
||||
// 검색 조건
|
||||
private String statCode;
|
||||
private String title;
|
||||
|
||||
// 페이징 파라미터
|
||||
private int page = 0;
|
||||
private int size = 20;
|
||||
|
||||
public Pageable toPageable() {
|
||||
return PageRequest.of(page, size);
|
||||
}
|
||||
}
|
||||
|
||||
@Schema(name = "InferenceResultSearchReq", description = "분석결과 목록 요청 정보")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class SearchGeoReq {
|
||||
|
||||
// 기준년도
|
||||
private String targetClass;
|
||||
// 비교년도
|
||||
private String compareClass;
|
||||
// 분석도엽
|
||||
private List<Long> mapSheetNum;
|
||||
|
||||
// 페이징 파라미터
|
||||
private int page = 0;
|
||||
private int size = 20;
|
||||
private String sort;
|
||||
|
||||
public Pageable toPageable() {
|
||||
if (sort != null && !sort.isEmpty()) {
|
||||
String[] sortParams = sort.split(",");
|
||||
String property = sortParams[0];
|
||||
Sort.Direction direction =
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,15 +1,9 @@
|
||||
package com.kamco.cd.kamcoback.inference.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
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.enums.EnumType;
|
||||
import com.kamco.cd.kamcoback.common.utils.interfaces.JsonFormatDttm;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import java.time.LocalDate;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
@@ -17,339 +11,37 @@ import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.domain.Sort;
|
||||
|
||||
public class InferenceResultDto {
|
||||
|
||||
@Schema(name = "InferenceResultBasic", description = "분석결과 기본 정보")
|
||||
@Getter
|
||||
public static class Basic {
|
||||
|
||||
private Long id;
|
||||
private String dataName;
|
||||
private Long mapSheepNum;
|
||||
private Long detectingCnt;
|
||||
@JsonFormatDttm private ZonedDateTime analStrtDttm;
|
||||
@JsonFormatDttm private ZonedDateTime analEndDttm;
|
||||
private Long analSec;
|
||||
private String analState;
|
||||
|
||||
public Basic(
|
||||
Long id,
|
||||
String dataName,
|
||||
Long mapSheepNum,
|
||||
Long detectingCnt,
|
||||
ZonedDateTime analStrtDttm,
|
||||
ZonedDateTime analEndDttm,
|
||||
Long analSec,
|
||||
String analState) {
|
||||
this.id = id;
|
||||
this.dataName = dataName;
|
||||
this.mapSheepNum = mapSheepNum;
|
||||
this.detectingCnt = detectingCnt;
|
||||
this.analStrtDttm = analStrtDttm;
|
||||
this.analEndDttm = analEndDttm;
|
||||
this.analSec = analSec;
|
||||
this.analState = analState;
|
||||
}
|
||||
}
|
||||
|
||||
@Schema(name = "AnalysisResultList", description = "분석결과 목록")
|
||||
@Getter
|
||||
public static class AnalResList {
|
||||
|
||||
private Long id;
|
||||
private String analTitle;
|
||||
private Long detectingCnt;
|
||||
@JsonFormatDttm private ZonedDateTime analStrtDttm;
|
||||
@JsonFormatDttm private ZonedDateTime analEndDttm;
|
||||
private Long analSec;
|
||||
private Long analPredSec;
|
||||
private String analState;
|
||||
private String analStateNm;
|
||||
private String gukyuinUsed;
|
||||
|
||||
public AnalResList(
|
||||
Long id,
|
||||
String analTitle,
|
||||
Long detectingCnt,
|
||||
ZonedDateTime analStrtDttm,
|
||||
ZonedDateTime analEndDttm,
|
||||
Long analSec,
|
||||
Long analPredSec,
|
||||
String analState,
|
||||
String analStateNm,
|
||||
String gukyuinUsed) {
|
||||
this.id = id;
|
||||
this.analTitle = analTitle;
|
||||
this.detectingCnt = detectingCnt;
|
||||
this.analStrtDttm = analStrtDttm;
|
||||
this.analEndDttm = analEndDttm;
|
||||
this.analSec = analSec;
|
||||
this.analPredSec = analPredSec;
|
||||
this.analState = analState;
|
||||
this.analStateNm = analStateNm;
|
||||
this.gukyuinUsed = gukyuinUsed;
|
||||
}
|
||||
}
|
||||
|
||||
@Schema(name = "AnalysisResultSummary", description = "분석결과 요약정보")
|
||||
@Getter
|
||||
public static class AnalResSummary {
|
||||
|
||||
private Long id;
|
||||
private String analTitle;
|
||||
private String modelInfo;
|
||||
private Integer targetYyyy;
|
||||
private Integer compareYyyy;
|
||||
@JsonFormatDttm private ZonedDateTime analStrtDttm;
|
||||
@JsonFormatDttm private ZonedDateTime analEndDttm;
|
||||
private Long analSec;
|
||||
private Long analPredSec;
|
||||
private String resultUrl;
|
||||
private Long detectingCnt;
|
||||
private Double accuracy;
|
||||
private String analState;
|
||||
private String analStateNm;
|
||||
|
||||
public AnalResSummary(
|
||||
Long id,
|
||||
String analTitle,
|
||||
String modelInfo,
|
||||
Integer targetYyyy,
|
||||
Integer compareYyyy,
|
||||
ZonedDateTime analStrtDttm,
|
||||
ZonedDateTime analEndDttm,
|
||||
Long analSec,
|
||||
Long analPredSec,
|
||||
String resultUrl,
|
||||
Long detectingCnt,
|
||||
Double accuracy,
|
||||
String analState,
|
||||
String analStateNm) {
|
||||
this.id = id;
|
||||
this.analTitle = analTitle;
|
||||
this.modelInfo = modelInfo;
|
||||
this.targetYyyy = targetYyyy;
|
||||
this.compareYyyy = compareYyyy;
|
||||
this.analStrtDttm = analStrtDttm;
|
||||
this.analEndDttm = analEndDttm;
|
||||
this.analSec = analSec;
|
||||
this.analPredSec = analPredSec;
|
||||
this.resultUrl = resultUrl;
|
||||
this.detectingCnt = detectingCnt;
|
||||
this.accuracy = accuracy;
|
||||
this.analState = analState;
|
||||
this.analStateNm = analStateNm;
|
||||
}
|
||||
}
|
||||
|
||||
@Getter
|
||||
public static class Dashboard {
|
||||
|
||||
String classAfterCd;
|
||||
String classAfterName;
|
||||
Long classAfterCnt;
|
||||
|
||||
public Dashboard(String classAfterCd, Long classAfterCnt) {
|
||||
this.classAfterCd = classAfterCd;
|
||||
this.classAfterName = DetectionClassification.fromString(classAfterCd).getDesc();
|
||||
this.classAfterCnt = classAfterCnt;
|
||||
}
|
||||
}
|
||||
|
||||
@Getter
|
||||
public static class Detail {
|
||||
|
||||
AnalResSummary summary;
|
||||
List<Dashboard> dashboard;
|
||||
Long totalCnt;
|
||||
|
||||
public Detail(AnalResSummary summary, List<Dashboard> dashboard, Long totalCnt) {
|
||||
this.summary = summary;
|
||||
this.dashboard = dashboard;
|
||||
this.totalCnt = totalCnt;
|
||||
}
|
||||
}
|
||||
|
||||
// 분석 상세 ROW
|
||||
@Getter
|
||||
@Setter
|
||||
@AllArgsConstructor
|
||||
public static class DetailListEntity {
|
||||
@NoArgsConstructor
|
||||
public static class ResultList {
|
||||
|
||||
private Uid code;
|
||||
private Double detectionScore;
|
||||
private Clazzes compare;
|
||||
private Clazzes target;
|
||||
private MapSheet mapSheet;
|
||||
private Coordinate center;
|
||||
@JsonFormatDttm private ZonedDateTime updatedDttm;
|
||||
|
||||
public DetailListEntity(
|
||||
UUID uuid,
|
||||
Double detectionScore,
|
||||
Clazzes compare,
|
||||
Clazzes target,
|
||||
MapSheet mapSheet,
|
||||
Coordinate center,
|
||||
ZonedDateTime updatedDttm) {
|
||||
this.code = new Uid(uuid);
|
||||
this.detectionScore = detectionScore;
|
||||
this.compare = compare;
|
||||
this.target = target;
|
||||
this.mapSheet = mapSheet;
|
||||
this.center = center;
|
||||
this.updatedDttm = updatedDttm;
|
||||
}
|
||||
private UUID uuid;
|
||||
private String title;
|
||||
private String status;
|
||||
private String mapSheetCnt;
|
||||
private Long detectingCnt;
|
||||
@JsonFormatDttm private ZonedDateTime startTime;
|
||||
@JsonFormatDttm private ZonedDateTime endTime;
|
||||
@JsonFormatDttm private ZonedDateTime elapsedTime;
|
||||
private Boolean applyYn;
|
||||
@JsonFormatDttm private ZonedDateTime applyDttm;
|
||||
}
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public static class Uid {
|
||||
|
||||
private String shortCode;
|
||||
private String code;
|
||||
|
||||
public Uid(UUID uuid) {
|
||||
if (uuid != null) {
|
||||
this.shortCode = uuid.toString().substring(0, 8).toUpperCase();
|
||||
this.code = uuid.toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// MAP NO
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public static class MapSheet {
|
||||
|
||||
private String number;
|
||||
private String name;
|
||||
}
|
||||
|
||||
// classification info
|
||||
@Getter
|
||||
public static class Clazz {
|
||||
|
||||
private String code;
|
||||
private String name;
|
||||
@JsonIgnore private Double score;
|
||||
|
||||
public Clazz(String code, Double score) {
|
||||
this.code = code;
|
||||
this.score = score;
|
||||
this.name = DetectionClassification.fromString(code).getDesc();
|
||||
}
|
||||
|
||||
public Clazz(String code) {
|
||||
this.code = code;
|
||||
this.name = DetectionClassification.fromString(code).getDesc();
|
||||
}
|
||||
}
|
||||
|
||||
// classification info
|
||||
@Getter
|
||||
public static class Clazzes {
|
||||
|
||||
private DetectionClassification code;
|
||||
private String name;
|
||||
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
private Double score;
|
||||
|
||||
private Integer order;
|
||||
|
||||
public Clazzes(DetectionClassification classification, Double score) {
|
||||
this.code = classification;
|
||||
this.name = classification.getDesc();
|
||||
this.order = classification.getOrder();
|
||||
this.score = score;
|
||||
}
|
||||
|
||||
public Clazzes(DetectionClassification classification) {
|
||||
this.code = classification;
|
||||
this.name = classification.getDesc();
|
||||
this.order = classification.getOrder();
|
||||
}
|
||||
}
|
||||
|
||||
// 좌표 정보 point
|
||||
@Getter
|
||||
public static class Coordinate {
|
||||
|
||||
private Double lon; // 경도(Longitude)
|
||||
private Double lat; // 위도(Latitude)
|
||||
private String srid; // Spatial Reference ID의 약자로, 데이터베이스에서 좌표계를 식별하는 고유 번호 추후enum으로
|
||||
|
||||
public Coordinate(Double lon, Double lat) {
|
||||
this.lon = lon;
|
||||
this.lat = lat;
|
||||
this.srid = "EPSG:4326";
|
||||
}
|
||||
}
|
||||
|
||||
@Getter
|
||||
public static class Geom {
|
||||
|
||||
Integer compareYyyy;
|
||||
Integer targetYyyy;
|
||||
String classBeforeCd;
|
||||
String classBeforeName;
|
||||
Double classBeforeProb;
|
||||
String classAfterCd;
|
||||
String classAfterName;
|
||||
Double classAfterProb;
|
||||
Long mapSheetNum;
|
||||
@JsonIgnore String gemoStr;
|
||||
@JsonIgnore String geomCenterStr;
|
||||
JsonNode gemo;
|
||||
JsonNode geomCenter;
|
||||
|
||||
public Geom(
|
||||
Integer compareYyyy,
|
||||
Integer targetYyyy,
|
||||
String classBeforeCd,
|
||||
Double classBeforeProb,
|
||||
String classAfterCd,
|
||||
Double classAfterProb,
|
||||
Long mapSheetNum,
|
||||
String gemoStr,
|
||||
String geomCenterStr) {
|
||||
this.compareYyyy = compareYyyy;
|
||||
this.targetYyyy = targetYyyy;
|
||||
this.classBeforeCd = classBeforeCd;
|
||||
this.classBeforeName = DetectionClassification.fromString(classBeforeCd).getDesc();
|
||||
this.classBeforeProb = classBeforeProb;
|
||||
this.classAfterCd = classAfterCd;
|
||||
this.classAfterName = DetectionClassification.fromString(classAfterCd).getDesc();
|
||||
this.classAfterProb = classAfterProb;
|
||||
this.mapSheetNum = mapSheetNum;
|
||||
this.gemoStr = gemoStr;
|
||||
this.geomCenterStr = geomCenterStr;
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
JsonNode geomJson;
|
||||
JsonNode geomCenterJson;
|
||||
try {
|
||||
geomJson = mapper.readTree(gemoStr);
|
||||
geomCenterJson = mapper.readTree(geomCenterStr);
|
||||
} catch (JsonProcessingException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
this.gemo = geomJson;
|
||||
this.geomCenter = geomCenterJson;
|
||||
}
|
||||
}
|
||||
|
||||
@Schema(name = "InferenceResultSearchReq", description = "분석결과 목록 요청 정보")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class SearchReq {
|
||||
public static class SearchListReq {
|
||||
|
||||
// 검색 조건
|
||||
private String statCode;
|
||||
private String applyYn;
|
||||
private LocalDate strtDttm;
|
||||
private LocalDate endDttm;
|
||||
private String title;
|
||||
|
||||
// 페이징 파라미터
|
||||
@@ -361,34 +53,41 @@ public class InferenceResultDto {
|
||||
}
|
||||
}
|
||||
|
||||
@Schema(name = "InferenceResultSearchReq", description = "분석결과 목록 요청 정보")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class SearchGeoReq {
|
||||
public enum DetectOption implements EnumType {
|
||||
ALL("전체"),
|
||||
PART("부분"),
|
||||
;
|
||||
private final String desc;
|
||||
|
||||
// 기준년도
|
||||
private String targetClass;
|
||||
// 비교년도
|
||||
private String compareClass;
|
||||
// 분석도엽
|
||||
private List<Long> mapSheetNum;
|
||||
@Override
|
||||
public String getId() {
|
||||
return name();
|
||||
}
|
||||
|
||||
// 페이징 파라미터
|
||||
private int page = 0;
|
||||
private int size = 20;
|
||||
private String sort;
|
||||
@Override
|
||||
public String getText() {
|
||||
return desc;
|
||||
}
|
||||
}
|
||||
|
||||
public Pageable toPageable() {
|
||||
if (sort != null && !sort.isEmpty()) {
|
||||
String[] sortParams = sort.split(",");
|
||||
String property = sortParams[0];
|
||||
Sort.Direction direction =
|
||||
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);
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum MapSheetScope implements EnumType {
|
||||
EXCL("추론제외"),
|
||||
PREV("이전 년도 도엽 사용"),
|
||||
;
|
||||
private final String desc;
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return name();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText() {
|
||||
return desc;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,72 +0,0 @@
|
||||
package com.kamco.cd.kamcoback.inference.dto;
|
||||
|
||||
import com.kamco.cd.kamcoback.common.utils.enums.EnumType;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
public class InferenceResultMngDto {
|
||||
|
||||
@Schema(name = "SearchListReq", description = "분석결과 목록 검색 조건")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class SearchListReq {
|
||||
|
||||
// 검색 조건
|
||||
private String applyYn;
|
||||
private String strtDttm;
|
||||
private String endDttm;
|
||||
|
||||
// 페이징 파라미터
|
||||
private int page = 0;
|
||||
private int size = 20;
|
||||
|
||||
public Pageable toPageable() {
|
||||
return PageRequest.of(page, size);
|
||||
}
|
||||
}
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum DetectOption implements EnumType {
|
||||
ALL("전체"),
|
||||
PART("부분"),
|
||||
;
|
||||
private final String desc;
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return name();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText() {
|
||||
return desc;
|
||||
}
|
||||
}
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum MapSheetScope implements EnumType {
|
||||
EXCL("추론제외"),
|
||||
PREV("이전 년도 도엽 사용"),
|
||||
;
|
||||
private final String desc;
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return name();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getText() {
|
||||
return desc;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
package com.kamco.cd.kamcoback.inference.service;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Transactional(readOnly = true)
|
||||
public class InferenceResultMngService {}
|
||||
@@ -1,9 +1,11 @@
|
||||
package com.kamco.cd.kamcoback.inference.service;
|
||||
|
||||
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto;
|
||||
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.MapSheet;
|
||||
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto;
|
||||
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto.Dashboard;
|
||||
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto.Detail;
|
||||
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto.MapSheet;
|
||||
import com.kamco.cd.kamcoback.inference.dto.InferenceResultDto.ResultList;
|
||||
import com.kamco.cd.kamcoback.postgres.core.InferenceResultCoreService;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
@@ -20,14 +22,13 @@ public class InferenceResultService {
|
||||
private final InferenceResultCoreService inferenceResultCoreService;
|
||||
|
||||
/**
|
||||
* 추론관리 > 분석결과 목록 조회
|
||||
* 추론관리 목록
|
||||
*
|
||||
* @param searchReq
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
public Page<InferenceResultDto.AnalResList> getInferenceResultList(
|
||||
InferenceResultDto.SearchReq searchReq) {
|
||||
return inferenceResultCoreService.getInferenceResultList(searchReq);
|
||||
public Page<ResultList> getInferenceResultList(InferenceResultDto.SearchListReq req) {
|
||||
return inferenceResultCoreService.getInferenceResultList(req);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -36,7 +37,7 @@ public class InferenceResultService {
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
public InferenceResultDto.AnalResSummary getInferenceResultSummary(Long id) {
|
||||
public InferenceDetailDto.AnalResSummary getInferenceResultSummary(Long id) {
|
||||
return inferenceResultCoreService.getInferenceResultSummary(id);
|
||||
}
|
||||
|
||||
@@ -56,8 +57,8 @@ public class InferenceResultService {
|
||||
* @param searchGeoReq
|
||||
* @return
|
||||
*/
|
||||
public Page<InferenceResultDto.Geom> getInferenceResultGeomList(
|
||||
Long id, InferenceResultDto.SearchGeoReq searchGeoReq) {
|
||||
public Page<InferenceDetailDto.Geom> getInferenceResultGeomList(
|
||||
Long id, InferenceDetailDto.SearchGeoReq searchGeoReq) {
|
||||
return inferenceResultCoreService.getInferenceResultGeomList(id, searchGeoReq);
|
||||
}
|
||||
|
||||
@@ -67,8 +68,8 @@ public class InferenceResultService {
|
||||
* @param searchReq
|
||||
* @return
|
||||
*/
|
||||
public Page<InferenceResultDto.DetailListEntity> listInferenceResultWithGeom(
|
||||
@NotNull Long id, InferenceResultDto.SearchGeoReq searchReq) {
|
||||
public Page<InferenceDetailDto.DetailListEntity> listInferenceResultWithGeom(
|
||||
@NotNull Long id, InferenceDetailDto.SearchGeoReq searchReq) {
|
||||
|
||||
return inferenceResultCoreService.listInferenceResultWithGeom(id, searchReq);
|
||||
}
|
||||
@@ -81,7 +82,7 @@ public class InferenceResultService {
|
||||
*/
|
||||
public Detail getDetail(Long id) {
|
||||
// summary
|
||||
InferenceResultDto.AnalResSummary summary = this.getInferenceResultSummary(id);
|
||||
InferenceDetailDto.AnalResSummary summary = this.getInferenceResultSummary(id);
|
||||
|
||||
// Dashboard
|
||||
List<Dashboard> dashboards = this.getDashboard(id);
|
||||
|
||||
Reference in New Issue
Block a user