106 lines
4.6 KiB
TypeScript
106 lines
4.6 KiB
TypeScript
import type { PageableList } from "@/shared/model";
|
|
import type { ApiResponse } from "./statistics-interface";
|
|
|
|
// 검증 대상 관리 응답 DTO
|
|
export interface VerificationTargetManagementResponse {
|
|
vrfcTrgtSn: number; // 검증 대상 일련번호
|
|
vrfcMthdCd: string; // 검증 방법 코드
|
|
vrfcMthdNm: string; // 검증 방법 명
|
|
statsCd: string; // 통계 코드
|
|
statsNm: string; // 통계 항목 명
|
|
schmNm: string; // 스키마 명
|
|
tblNm: string; // 테이블 명
|
|
colNm: string; // 컬럼 명
|
|
pkColNm: string; // pk 컬럼 명
|
|
ipcrCntVl: number | null; // 중요도 개수 값 (mu)
|
|
pctlCrtrVl: number | null; // 백분위 기준 값 (percentile)
|
|
scopCntCntVl: number | null; // 범위 조정 개수 값 (A)
|
|
thrsCntVl: number | null; // 임계 개수 값 (C)
|
|
useYn: string; // 사용 여부
|
|
vrfcTrgtNm: string; // 검증대상명
|
|
rgtr: string | null; // 등록자 ID
|
|
regDt: string | null; // 등록 일시
|
|
mdfr: string | null; // 수정자 ID
|
|
rgtrNm: string | null; // 등록자명
|
|
mdfrNm: string | null; // 수정자명
|
|
mdfcn: string | null; // 수정 일시
|
|
}
|
|
|
|
// 검증 대상 관리 검색 DTO
|
|
export interface VerificationTargetManagementSearchParams {
|
|
vrfcMthdCd?: string; // 검증 방법 코드
|
|
statsCd?: string; // 통계 코드
|
|
tblNm?: string; // 테이블 명
|
|
colNm?: string; // 컬럼 명
|
|
vrfcTrgtNm?: string; // 검증대상명
|
|
useYn?: string; // 사용 여부
|
|
page?: number; // 페이지 번호 (0부터 시작)
|
|
size?: number; // 페이지 크기
|
|
sort?: string; // 정렬 조건 (예: "vrfcTrgtSn,desc")
|
|
}
|
|
|
|
// 검증 대상 관리 저장 요청 DTO
|
|
export interface VerificationTargetManagementSaveRequest {
|
|
vrfcMthdCd: string; // 검증 방법 코드 (필수, 최대 10자)
|
|
statsCd: string; // 통계 코드 (필수, 최대 10자)
|
|
schmNm: string; // 스키마 명 (필수, 최대 150자)
|
|
tblNm: string; // 테이블 명 (필수, 최대 150자)
|
|
colNm: string; // 컬럼 명 (필수, 최대 150자)
|
|
pkColNm: string; // pk 컬럼 명 (필수, 최대 150자)
|
|
ipcrCntVl?: number | null; // 중요도 개수 값 (mu)
|
|
pctlCrtrVl?: number | null; // 백분위 기준 값 (percentile)
|
|
scopCntCntVl?: number | null; // 범위 조정 개수 값 (A)
|
|
thrsCntVl?: number | null; // 임계 개수 값 (C)
|
|
useYn?: string; // 사용 여부 (Y/N, 최대 1자)
|
|
vrfcTrgtNm?: string; // 검증대상명 (최대 150자)
|
|
}
|
|
|
|
// 검증 대상 관리 수정 요청 DTO
|
|
export interface VerificationTargetManagementUpdateRequest {
|
|
vrfcMthdCd: string; // 검증 방법 코드 (필수, 최대 10자)
|
|
statsCd: string; // 통계 코드 (필수, 최대 10자)
|
|
schmNm: string; // 스키마 명 (필수, 최대 150자)
|
|
tblNm: string; // 테이블 명 (필수, 최대 150자)
|
|
colNm: string; // 컬럼 명 (필수, 최대 150자)
|
|
pkColNm: string; // pk 컬럼 명 (필수, 최대 150자)
|
|
ipcrCntVl?: number | null; // 중요도 개수 값 (mu)
|
|
pctlCrtrVl?: number | null; // 백분위 기준 값 (percentile)
|
|
scopCntCntVl?: number | null; // 범위 조정 개수 값 (A)
|
|
thrsCntVl?: number | null; // 임계 개수 값 (C)
|
|
useYn?: string; // 사용 여부 (Y/N, 최대 1자)
|
|
vrfcTrgtNm?: string; // 검증대상명 (최대 150자)
|
|
}
|
|
|
|
// API 응답 타입
|
|
export type VerificationTargetManagementListApiResponse =
|
|
PageableList<VerificationTargetManagementResponse>;
|
|
export type VerificationTargetManagementDetailApiResponse =
|
|
ApiResponse<VerificationTargetManagementResponse>;
|
|
export type VerificationTargetManagementSaveApiResponse = ApiResponse<number>;
|
|
export type VerificationTargetManagementUpdateApiResponse = ApiResponse<number>;
|
|
export type VerificationTargetManagementDeleteApiResponse = ApiResponse<number>;
|
|
|
|
// 서비스 인터페이스
|
|
export interface VerificationTargetManagementService {
|
|
getVerificationTargetManagementList(
|
|
params: VerificationTargetManagementSearchParams,
|
|
): Promise<VerificationTargetManagementListApiResponse>;
|
|
|
|
getVerificationTargetManagementById(
|
|
vrfcTrgtSn: number,
|
|
): Promise<VerificationTargetManagementDetailApiResponse>;
|
|
|
|
saveVerificationTargetManagement(
|
|
request: VerificationTargetManagementSaveRequest,
|
|
): Promise<VerificationTargetManagementSaveApiResponse>;
|
|
|
|
updateVerificationTargetManagement(
|
|
vrfcTrgtSn: number,
|
|
request: VerificationTargetManagementUpdateRequest,
|
|
): Promise<VerificationTargetManagementUpdateApiResponse>;
|
|
|
|
deleteVerificationTargetManagement(
|
|
vrfcTrgtSn: number,
|
|
): Promise<VerificationTargetManagementDeleteApiResponse>;
|
|
}
|