데이터셋 API 커밋
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.kamco.cd.training.dataset.dto;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.kamco.cd.training.common.enums.LearnDataRegister;
|
||||
import com.kamco.cd.training.common.enums.LearnDataType;
|
||||
import com.kamco.cd.training.common.utils.enums.Enums;
|
||||
@@ -15,10 +16,12 @@ import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.domain.Sort;
|
||||
|
||||
@Slf4j
|
||||
public class DatasetDto {
|
||||
|
||||
@Schema(name = "Dataset Basic", description = "데이터셋 기본 정보")
|
||||
@@ -108,7 +111,7 @@ public class DatasetDto {
|
||||
@AllArgsConstructor
|
||||
public static class SearchReq {
|
||||
|
||||
@Schema(description = "구분", example = "DELIVER(납품), PRODUCTION(제작)")
|
||||
@Schema(description = "구분")
|
||||
private String groupTitle;
|
||||
|
||||
@Schema(description = "제목 (부분 검색)", example = "1차")
|
||||
@@ -209,4 +212,65 @@ public class DatasetDto {
|
||||
@Schema(description = "평균 도엽 수", example = "750")
|
||||
private double averageMapSheets;
|
||||
}
|
||||
|
||||
@Schema(name = "SelectDataSet", description = "데이터셋 선택 리스트")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public static class SelectDataSet {
|
||||
|
||||
private Long datasetId;
|
||||
private UUID uuid;
|
||||
private String groupTitle;
|
||||
private String yyyy;
|
||||
private Long roundNo;
|
||||
private String memo;
|
||||
private Long classCount;
|
||||
private Integer buildingCount;
|
||||
private Integer containerCount;
|
||||
private String groupTitleCd;
|
||||
|
||||
public SelectDataSet(
|
||||
Long datasetId,
|
||||
UUID uuid,
|
||||
String groupTitle,
|
||||
String yyyy,
|
||||
Long roundNo,
|
||||
String memo,
|
||||
Long classCount) {
|
||||
this.datasetId = datasetId;
|
||||
this.uuid = uuid;
|
||||
this.groupTitle = groupTitle;
|
||||
this.yyyy = yyyy;
|
||||
this.roundNo = roundNo;
|
||||
this.memo = memo;
|
||||
this.classCount = classCount;
|
||||
}
|
||||
|
||||
public SelectDataSet(
|
||||
Long datasetId,
|
||||
UUID uuid,
|
||||
String groupTitle,
|
||||
String yyyy,
|
||||
Long roundNo,
|
||||
String memo,
|
||||
Integer buildingCount,
|
||||
Integer containerCount) {
|
||||
this.datasetId = datasetId;
|
||||
this.uuid = uuid;
|
||||
this.groupTitle = getGroupTitle(groupTitle);
|
||||
this.groupTitleCd = groupTitle;
|
||||
this.yyyy = yyyy;
|
||||
this.roundNo = roundNo;
|
||||
this.memo = memo;
|
||||
this.buildingCount = buildingCount;
|
||||
this.containerCount = containerCount;
|
||||
}
|
||||
|
||||
public String getGroupTitle(String groupTitleCd) {
|
||||
LearnDataType type = Enums.fromId(LearnDataType.class, groupTitleCd);
|
||||
return type == null ? null : type.getText();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
package com.kamco.cd.training.dataset.dto;
|
||||
|
||||
import com.kamco.cd.training.common.utils.interfaces.JsonFormatDttm;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.UUID;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.domain.Sort;
|
||||
|
||||
@Slf4j
|
||||
public class DatasetObjDto {
|
||||
|
||||
@Schema(name = "DatasetObj Basic", description = "데이터셋 객체 Obj 기본 정보")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
public static class Basic {
|
||||
|
||||
private Long objId;
|
||||
private Long datasetUid;
|
||||
private Integer targetYyyy;
|
||||
private String targetClassCd;
|
||||
private Integer compareYyyy;
|
||||
private String compareClassCd;
|
||||
private String targetPath;
|
||||
private String comparePath;
|
||||
private String labelPath;
|
||||
private String geojsonPath;
|
||||
private String mapSheetNum;
|
||||
@JsonFormatDttm private ZonedDateTime createdDttm;
|
||||
private Long createdUid;
|
||||
private Boolean deleted;
|
||||
private UUID uuid;
|
||||
|
||||
public Basic(
|
||||
Long objId,
|
||||
Long datasetUid,
|
||||
Integer targetYyyy,
|
||||
String targetClassCd,
|
||||
Integer compareYyyy,
|
||||
String compareClassCd,
|
||||
String targetPath,
|
||||
String comparePath,
|
||||
String labelPath,
|
||||
String geojsonPath,
|
||||
String mapSheetNum,
|
||||
ZonedDateTime createdDttm,
|
||||
Long createdUid,
|
||||
Boolean deleted,
|
||||
UUID uuid) {
|
||||
this.objId = objId;
|
||||
this.datasetUid = datasetUid;
|
||||
this.targetYyyy = targetYyyy;
|
||||
this.targetClassCd = targetClassCd;
|
||||
this.compareYyyy = compareYyyy;
|
||||
this.compareClassCd = compareClassCd;
|
||||
this.targetPath = targetPath;
|
||||
this.comparePath = comparePath;
|
||||
this.labelPath = labelPath;
|
||||
this.geojsonPath = geojsonPath;
|
||||
this.mapSheetNum = mapSheetNum;
|
||||
this.createdDttm = createdDttm;
|
||||
this.createdUid = createdUid;
|
||||
this.deleted = deleted;
|
||||
this.uuid = uuid;
|
||||
}
|
||||
}
|
||||
|
||||
@Schema(name = "DatasetSearchReq", description = "데이터셋 상세 도엽목록 조회 요청")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class SearchReq {
|
||||
@Schema(description = "회차 uuid", example = "35e20bb2-9014-4c9d-abe2-9046db5f930c")
|
||||
private UUID uuid;
|
||||
|
||||
@Schema(description = "비교년도", example = "2021")
|
||||
private Integer compareYyyy;
|
||||
|
||||
@Schema(description = "비교년도분류", example = "waste")
|
||||
private String compareClassCd;
|
||||
|
||||
@Schema(description = "기준년도", example = "2022")
|
||||
private Integer targetYyyy;
|
||||
|
||||
@Schema(description = "기준년도분류", example = "land")
|
||||
private String targetClassCd;
|
||||
|
||||
@Schema(description = "도엽번호", example = "36713060")
|
||||
private String mapSheetNum;
|
||||
|
||||
@Schema(description = "페이지 번호 (0부터 시작)", example = "0")
|
||||
private int page = 0;
|
||||
|
||||
@Schema(description = "페이지 크기", example = "20")
|
||||
private int size = 20;
|
||||
|
||||
public Pageable toPageable() {
|
||||
// API에서는 1부터 시작하지만 내부적으로는 0부터 시작
|
||||
int pageIndex = Math.max(0, page - 1);
|
||||
return PageRequest.of(pageIndex, size, Sort.by(Sort.Direction.DESC, "createdDttm"));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user