학습관리 수정
This commit is contained in:
@@ -4,20 +4,21 @@ import com.kamco.cd.kamcoback.code.dto.CommonCodeDto;
|
|||||||
import com.kamco.cd.kamcoback.config.api.ApiResponseDto;
|
import com.kamco.cd.kamcoback.config.api.ApiResponseDto;
|
||||||
import com.kamco.cd.kamcoback.label.dto.LabelWorkDto;
|
import com.kamco.cd.kamcoback.label.dto.LabelWorkDto;
|
||||||
import com.kamco.cd.kamcoback.label.dto.LabelWorkDto.LabelWorkMng;
|
import com.kamco.cd.kamcoback.label.dto.LabelWorkDto.LabelWorkMng;
|
||||||
|
import com.kamco.cd.kamcoback.label.dto.LabelWorkDto.LabelWorkMngSearchReq;
|
||||||
import com.kamco.cd.kamcoback.label.service.LabelWorkService;
|
import com.kamco.cd.kamcoback.label.service.LabelWorkService;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
import io.swagger.v3.oas.annotations.media.Content;
|
import io.swagger.v3.oas.annotations.media.Content;
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import io.swagger.v3.oas.annotations.responses.ApiResponse;
|
import io.swagger.v3.oas.annotations.responses.ApiResponse;
|
||||||
import io.swagger.v3.oas.annotations.responses.ApiResponses;
|
import io.swagger.v3.oas.annotations.responses.ApiResponses;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import jakarta.validation.Valid;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -31,20 +32,35 @@ public class LabelWorkerApiController {
|
|||||||
|
|
||||||
@Operation(summary = "라벨링작업 관리 > 목록 조회", description = "라벨링작업 관리 > 목록 조회")
|
@Operation(summary = "라벨링작업 관리 > 목록 조회", description = "라벨링작업 관리 > 목록 조회")
|
||||||
@ApiResponses(
|
@ApiResponses(
|
||||||
value = {
|
value = {
|
||||||
@ApiResponse(
|
@ApiResponse(
|
||||||
responseCode = "200",
|
responseCode = "200",
|
||||||
description = "조회 성공",
|
description = "조회 성공",
|
||||||
content =
|
content =
|
||||||
@Content(
|
@Content(
|
||||||
mediaType = "application/json",
|
mediaType = "application/json",
|
||||||
schema = @Schema(implementation = CommonCodeDto.Basic.class))),
|
schema = @Schema(implementation = CommonCodeDto.Basic.class))),
|
||||||
@ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content),
|
@ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content),
|
||||||
@ApiResponse(responseCode = "500", description = "서버 오류", content = @Content)
|
@ApiResponse(responseCode = "500", description = "서버 오류", content = @Content)
|
||||||
})
|
})
|
||||||
@PostMapping("/label-work-mng-list")
|
@GetMapping("/label-work-mng-list")
|
||||||
public ApiResponseDto<Page<LabelWorkMng>> labelWorkMngList(
|
public ApiResponseDto<Page<LabelWorkMng>> labelWorkMngList(
|
||||||
@RequestBody @Valid LabelWorkDto.LabelWorkMngSearchReq searchReq) {
|
@Schema(description = "변화탐지년도", example = "2024")
|
||||||
|
Integer detectYyyy,
|
||||||
|
@Schema(description = "시작일", example = "20260101")
|
||||||
|
String strtDttm,
|
||||||
|
@Schema(description = "종료일", example = "20261201")
|
||||||
|
String endDttm,
|
||||||
|
@Parameter(description = "페이지 번호 (0부터 시작)", example = "0") @RequestParam(defaultValue = "0")
|
||||||
|
int page,
|
||||||
|
@Parameter(description = "페이지 크기", example = "20") @RequestParam(defaultValue = "20")
|
||||||
|
int size) {
|
||||||
|
LabelWorkDto.LabelWorkMngSearchReq searchReq = new LabelWorkMngSearchReq();
|
||||||
|
searchReq.setDetectYyyy(detectYyyy);
|
||||||
|
searchReq.setStrtDttm(strtDttm);
|
||||||
|
searchReq.setEndDttm(endDttm);
|
||||||
|
searchReq.setPage(page);
|
||||||
|
searchReq.setSize(size);
|
||||||
return ApiResponseDto.ok(labelWorkService.labelWorkMngList(searchReq));
|
return ApiResponseDto.ok(labelWorkService.labelWorkMngList(searchReq));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,148 @@
|
|||||||
|
package com.kamco.cd.kamcoback.postgres.entity;
|
||||||
|
|
||||||
|
import jakarta.persistence.Column;
|
||||||
|
import jakarta.persistence.Entity;
|
||||||
|
import jakarta.persistence.GeneratedValue;
|
||||||
|
import jakarta.persistence.GenerationType;
|
||||||
|
import jakarta.persistence.Id;
|
||||||
|
import jakarta.persistence.SequenceGenerator;
|
||||||
|
import jakarta.persistence.Table;
|
||||||
|
import jakarta.validation.constraints.Size;
|
||||||
|
import java.time.ZonedDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.UUID;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
import org.hibernate.annotations.ColumnDefault;
|
||||||
|
import org.hibernate.annotations.JdbcTypeCode;
|
||||||
|
import org.hibernate.type.SqlTypes;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@Entity
|
||||||
|
@Table(name = "tb_map_sheet_anal_inference")
|
||||||
|
public class MapSheetAnalInferenceEntity {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "tb_map_sheet_anal_inference_id_gen")
|
||||||
|
@SequenceGenerator(name = "tb_map_sheet_anal_inference_id_gen", sequenceName = "tb_map_sheet_anal_inference_uid", allocationSize = 1)
|
||||||
|
@Column(name = "anal_uid", nullable = false)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@Column(name = "compare_yyyy")
|
||||||
|
private Integer compareYyyy;
|
||||||
|
|
||||||
|
@Column(name = "target_yyyy")
|
||||||
|
private Integer targetYyyy;
|
||||||
|
|
||||||
|
@Column(name = "model_uid")
|
||||||
|
private Long modelUid;
|
||||||
|
|
||||||
|
@Size(max = 100)
|
||||||
|
@Column(name = "server_ids", length = 100)
|
||||||
|
private String serverIds;
|
||||||
|
|
||||||
|
@Column(name = "anal_strt_dttm")
|
||||||
|
private ZonedDateTime analStrtDttm;
|
||||||
|
|
||||||
|
@Column(name = "anal_end_dttm")
|
||||||
|
private ZonedDateTime analEndDttm;
|
||||||
|
|
||||||
|
@Column(name = "anal_sec")
|
||||||
|
private Long analSec;
|
||||||
|
|
||||||
|
@Size(max = 20)
|
||||||
|
@Column(name = "anal_state", length = 20)
|
||||||
|
private String analState;
|
||||||
|
|
||||||
|
@Size(max = 20)
|
||||||
|
@Column(name = "gukyuin_used", length = 20)
|
||||||
|
private String gukyuinUsed;
|
||||||
|
|
||||||
|
@Column(name = "accuracy")
|
||||||
|
private Double accuracy;
|
||||||
|
|
||||||
|
@Size(max = 255)
|
||||||
|
@Column(name = "result_url")
|
||||||
|
private String resultUrl;
|
||||||
|
|
||||||
|
@ColumnDefault("now()")
|
||||||
|
@Column(name = "created_dttm")
|
||||||
|
private ZonedDateTime createdDttm;
|
||||||
|
|
||||||
|
@Column(name = "created_uid")
|
||||||
|
private Long createdUid;
|
||||||
|
|
||||||
|
@ColumnDefault("now()")
|
||||||
|
@Column(name = "updated_dttm")
|
||||||
|
private ZonedDateTime updatedDttm;
|
||||||
|
|
||||||
|
@Column(name = "updated_uid")
|
||||||
|
private Long updatedUid;
|
||||||
|
|
||||||
|
@Size(max = 255)
|
||||||
|
@Column(name = "anal_title")
|
||||||
|
private String analTitle;
|
||||||
|
|
||||||
|
@Column(name = "detecting_cnt")
|
||||||
|
private Long detectingCnt;
|
||||||
|
|
||||||
|
@Column(name = "anal_pred_sec")
|
||||||
|
private Long analPredSec;
|
||||||
|
|
||||||
|
@Column(name = "model_ver_uid")
|
||||||
|
private Long modelVerUid;
|
||||||
|
|
||||||
|
@Column(name = "hyper_params")
|
||||||
|
@JdbcTypeCode(SqlTypes.JSON)
|
||||||
|
private Map<String, Object> hyperParams;
|
||||||
|
|
||||||
|
@Column(name = "tranning_rate")
|
||||||
|
private List<Double> tranningRate;
|
||||||
|
|
||||||
|
@Column(name = "validation_rate")
|
||||||
|
private List<Double> validationRate;
|
||||||
|
|
||||||
|
@Column(name = "test_rate", length = Integer.MAX_VALUE)
|
||||||
|
private String testRate;
|
||||||
|
|
||||||
|
@Size(max = 128)
|
||||||
|
@Column(name = "detecting_description", length = 128)
|
||||||
|
private String detectingDescription;
|
||||||
|
|
||||||
|
@Size(max = 12)
|
||||||
|
@Column(name = "base_map_sheet_num", length = 12)
|
||||||
|
private String baseMapSheetNum;
|
||||||
|
|
||||||
|
@ColumnDefault("gen_random_uuid()")
|
||||||
|
@Column(name = "uuid")
|
||||||
|
private UUID uuid;
|
||||||
|
|
||||||
|
@Size(max = 50)
|
||||||
|
@Column(name = "model_m1_ver", length = 50)
|
||||||
|
private String modelM1Ver;
|
||||||
|
|
||||||
|
@Size(max = 50)
|
||||||
|
@Column(name = "model_m2_ver", length = 50)
|
||||||
|
private String modelM2Ver;
|
||||||
|
|
||||||
|
@Size(max = 50)
|
||||||
|
@Column(name = "model_m3_ver", length = 50)
|
||||||
|
private String modelM3Ver;
|
||||||
|
|
||||||
|
@Size(max = 20)
|
||||||
|
@Column(name = "anal_target_type", length = 20)
|
||||||
|
private String analTargetType;
|
||||||
|
|
||||||
|
@Column(name = "gukyuin_apply_dttm")
|
||||||
|
private ZonedDateTime gukyuinApplyDttm;
|
||||||
|
|
||||||
|
@Size(max = 20)
|
||||||
|
@Column(name = "detection_data_option", length = 20)
|
||||||
|
private String detectionDataOption;
|
||||||
|
|
||||||
|
@Column(name = "stage")
|
||||||
|
private Integer stage;
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user