Files
frontend/apps/st/src/entities/statistics/model/statistics-interface.ts
T

126 lines
2.8 KiB
TypeScript

export interface Sido {
adstDstrCd: string;
sido: string;
bsnmCd: string;
}
export interface SearchCondition {
yearList: string[];
sidoList: Sido[];
}
export interface Sgg {
adstDstrCd: string;
gugun: string;
bsnmCd: string;
}
export interface cancelSubmitRequest {
statsYr: string;
ctpvNm: string;
sggNm: string;
sewerBzmnCd: string;
statsCd: string;
mdfrId: string;
}
export interface cancelSubmitResponse {
status: string;
message?: string;
}
export interface ApiResponse<T> {
status: string;
data: T;
message?: string;
}
export interface ImrRequest {
user_id?: string;
sewer_bzmn_cd: string;
stats_cd: string;
stats_yr: string;
lae_sbmsn_stts_cd: string;
}
export interface SubmitExceptionRequest {
statsYr: string;
statsCd: string;
ctpvNm: string;
sggNm: string;
sewerBzmnCd: string;
userId: string;
superAdmin?: string;
laePicNm: string;
laePicTelNo: string;
laeKbrdrDeptNm: string;
laeKbrdrJbgdNm: string;
laeIdfrNm: string;
laeIdfrTelNo: string;
laeIdfrDeptNm: string;
laeIdfrJbgdNm: string
}
export interface SubmitExceptionResponse {
status: string;
message?: string;
}
export interface StatisticsLog {
statsLogSn?: number;
menuNm?: string;
tabNm?: string;
tblNm?: string;
dmndFwkNm?: string;
rgtrId?: string;
regDt?: string;
}
export interface StatisticsLogRequest {
page: number;
size: number;
statsCd?: string;
}
export interface StatisticsLogResponse {
status: string;
message?: string;
data?: {
statsLogList: StatisticsLog[];
pageInfo: {
totalElements: number;
totalPages: number;
currentPage: number;
size: number;
};
};
}
/**
* 통계 로그 데이터 상세조회 `data[]` 행.
* `rmrk`, `sggNm`, `admdstCd`, `admdstNm`는 공통이고, 그 외 키는 통계/탭에 따라 가변.
*/
export interface StatisticsLogDetailRow {
rmrk: string;
sggNm: string;
admdstCd: string;
admdstNm: string;
[key: string]: string | number | null | undefined;
}
export interface StatisticsLogDetailResponse {
status: string;
message?: string;
data?: StatisticsLogDetailRow[];
}
export interface StatisticsService {
getSidoList(): Promise<ApiResponse<SearchCondition>>;
getSggList(sidoName: string): Promise<ApiResponse<Sgg[]>>;
getSggAllList(sidoName: string): Promise<ApiResponse<Sgg[]>>;
cancelSubmit(param: cancelSubmitRequest): Promise<cancelSubmitResponse>;
callImrService(param: ImrRequest): Promise<null>;
submitException(param: SubmitExceptionRequest): Promise<SubmitExceptionResponse>;
getLogList(param: StatisticsLogRequest): Promise<StatisticsLogResponse>;
getLogDetail(param: string): Promise<StatisticsLogDetailResponse>;
}