refactor: 02.하수관로 표준화 데이터 변경

This commit is contained in:
2026-03-11 11:03:53 +09:00
parent 5f639a2fa9
commit de6bb04927
3 changed files with 628 additions and 648 deletions
@@ -96,12 +96,11 @@ const SewagePipeRvw = () => {
if (tabKey === 'ST00020002') {
response = await statisticsManagementApi.getSewagePipeFacilityList(searchParamRef.current);
}else if(tabKey === 'ST00020003'){
response = await statisticsManagementApi.getSewagePipeTypeList(searchParamRef.current);
}else if(tabKey === 'ST00020004'){
response = await statisticsManagementApi.getSewagePipeDiamList(searchParamRef.current);
}
// }else if(tabKey === 'ST00020003'){
// response = await statisticsManagementApi.getSewagePipeTypeList(searchParamRef.current);
// }else if(tabKey === 'ST00020004'){
// response = await statisticsManagementApi.getSewagePipeDiamList(searchParamRef.current);
// }
if (response?.status === 'success' && response.data) {
File diff suppressed because it is too large Load Diff
@@ -4,65 +4,62 @@ import type { ApiResponse } from "./statistics-interface";
* 02. 하수관로 tab1.지역별 시설현황 아이템 인터페이스 (Tab1)
*/
export interface SewagePipeReviewrRegionalItem {
ctpvNm: string; // 시도명
sggNm: string; // 시군구명
admdstNm: string; // 행정구역명
admdstCd: string; // 행정구역코드
statsYr: string; // 통계 연도
displayYear: string; // 화면 표시용 연도
rowType: 'OLD' | 'CURR'; // 데이터 구분
/* --- 기본 정보 및 행 제어 --- */
ctpvNm: string; // 시도명
sggNm: string; // 시군구명
admdstNm: string; // 행정구역명
admdstCd: string; // 행정구역코드
statsYr: string; // 통계 연도
rowType: 'OLD' | 'CURR'; // 데이터 구분 (OLD: 확정분, CURR: 당해년도)
displayYear: string; // 화면 표시용 연도
/* --- 하수정비 기본계획 및 총계 --- */
goalYr: string; // 하수정비 기본계획 목표연도
wholPplMtncPlanPrlg: number; // 총관로정비계획연장
wholPlanPrlg: number; // 전체계획연장
wholFcltPrlg: number; // 전체시설연장
swagePplPsplyRt: number; // 하수관로보급비율
/* --- 하수정비 기본계획 --- */
targetYr: number; // 하수정보기본계획 목표년도
swrgPipeMntnPlanExtn: number; // 총 관로정비 계획연장(m)
swrgPipePlanExtn: number; // 총 계획연장(m)
swrgPipeFcltyExtn: number; // 총 시설연장(m)
swrgPipePsplyRt: number; // 하수관로 보급률(%)
/* --- 합류식 (Combined) --- */
cbsysPplMtncPlanArea: number; // 합류식관로정비계획면적
cbsysPplMtncPlanPrlg: number; // 합류식관로정비계획연장
cbsysPlanPrlg: number; // 합류식계획연장
cbsysFcltPrlg: number; // 합류식시설연장
cbsysSqrePrlg: number; // 합류식사각연장
cbsysCiclPrlg: number; // 합류식원형연장
cbsysOpnPrlg: number; // 합류식개방연장
cbsysGttrPrlg: number; // 합류식측구연장
/* --- 합류식 (Combined System) --- */
cmbnMntnPlanAr: number; // 관로정비 계획면적(㎢)
cmbnMntnPlanExtn: number; // 관로정비 계획연장(m)
cmbnPlanExtn: number; // 계획연장(m)
cmbnFcltyExtn: number; // 시설연장(m)
cmbnRctglExtn: number; // 사각형 암거 연장(m)
cmbnCicleExtn: number; // 원형 암거 연장(m)
cmbnOpswrExtn: number; // 개거 연장(m)
cmbnSdgttrExtn: number; // 측구 연장(m)
/* --- 분류식 - 오수관로 (Foul Water) --- */
drtwPplMtncPlanArea: number; // 오수관로정비계획면적
drtwPplMtncPlanPrlg: number; // 오수관로정비계획연장
drtwPplPlanPrlg: number; // 오수관로계획연장
drtwPplFcltPrlg: number; // 오수관로시설연장
drtwPplSqrePrlg: number; // 오수관로사각연장
drtwPplCiclPrlg: number; // 오수관로원형연장
/* --- 분류식 - 오수관로 (Foul Water Pipe) --- */
pltwtrMntnPlanAr: number; // 관로정비 계획면적(㎢)
pltwtrMntnPlanExtn: number; // 관로정비 계획연장(m)
pltwtrPlanExtn: number; // 계획연장(m)
pltwtrFcltyExtn: number; // 시설연장(m)
pltwtrRctglExtn: number; // 사각형 암거 연장(m)
pltwtrCicleExtn: number; // 원형 암거 연장(m)
/* --- 분류식 - 우수관로 (Rain Water) --- */
exlnPplMtncPlanArea: number; // 우수관로정비계획면적
exlnPplMtncPlanPrlg: number; // 우수관로정비계획연장
exlnPplPlanPrlg: number; // 우수관로계획연장
exlnPplFcltPrlg: number; // 우수관로시설연장
exlnPplSqrePrlg: number; // 우수관로사각연장
exlnPplCiclPrlg: number; // 우수관로원형연장
exlnPplOpnPrlg: number; // 우수관로개방연장
exlnPplGttrPrlg: number; // 우수관로측구연장
/* --- 분류식 - 우수관로 (Rain Water Pipe) --- */
rainwtrMntnPlanAr: number; // 관로정비 계획면적(㎢)
rainwtrMntnPlanExtn: number; // 관로정비 계획연장(m)
rainwtrPlanExtn: number; // 계획연장(m)
rainwtrFcltyExtn: number; // 시설연장(m)
rainwtrRctglExtn: number; // 사각형 암거 연장(m)
rainwtrCicleExtn: number; // 원형 암거 연장(m)
rainwtrOpswrExtn: number; // 개거 연장(m)
rainwtrSdgttrExtn: number; // 측구 연장(m)
/* --- 부속시설 (개소) --- */
cmbnMnhleCnt: number; // 합류식 맨홀 수
pltwtrMnhleCnt: number; // 오수 맨홀 수
rainwtrMnhleCnt: number; // 우수 맨홀 수
pltwtrRcvrCnt: number; // 오수받이 수
rainwtrRcvrCnt: number; // 우수받이(빗물받이) 수
rainwtrChmbrCnt: number; // 우수토실 수
rainwtrOutltCnt: number; // 우수토구 수
/* --- 부속시설 --- */
cbsysMnhlCnt: number; // 합류식맨홀수
sprsysDrtwMnhlCnt: number; // 분류식오수맨홀수
sprsysExlnMnhlCnt: number; // 분류식우수맨홀수
drtwRcvprpCnt: number; // 오수받이수
exlnRcvprpCnt: number; // 우수받이수
stofcbrCnt: number; // 우수토실수
exlnOtflCnt: number; // 우수토구수
/* --- 대장 및 기타 --- */
swrgRegstrCmptExtn: number; // 하수도대장 전산화 연장(m)
swrgRegstrCmptRt: number; // 하수도대장 전산화율(%)
rmrk: string; // 비고
sewerLdgrEdpPrlg: number; // 하수도대장전산화연장
sewerLdgrEdpRt: number; // 하수도대장전산화비율
rmrk: string | null; // 비고
}
export interface SewagePipeReviewResponseData {
@@ -70,10 +67,10 @@ export interface SewagePipeReviewResponseData {
}
export interface SewagePipeReviewRequestParams {
ctpvNm?: string; // 시도명
sggNm?: string; // 시군구명
statsYr?: string; // 통계 연도
sewerBzmnCd?: string; // 하수도사업자 코드
ctpvNm?: string;
sggNm?: string;
statsYr?: string;
sewerBzmnCd?: string;
}
export type SewagePipeReviewRegionalApiResponse = ApiResponse<SewagePipeReviewrRegionalItem[]> & {
@@ -89,47 +86,48 @@ export interface SewagePipeReviewService {
*/
export interface SewagePipeReviewFacilityItem {
// 1. 행정구역 및 기본 정보
ctpvNm: string; // 시도명
sggNm: string; // 시군구명
admdstCd: string; // 행정구역코드
admdstNm: string; // 행정구역명
statsYr: string; // 통계연도
rowType: 'OLD' | 'CURR'; // 데이터 구분 (OLD: 확정, CURR: 당해년도)
displayYear: string; // 화면 표시용 연도
ctpvNm: string;
sggNm: string;
admdstCd: string;
admdstNm: string;
statsYr: string;
rowType: 'OLD' | 'CURR';
displayYear: string;
// 2. 시설 정보
swrmtFcltyNm: string; // 하수처리시설 명칭
swrmtFcltyCpc: number; // 하수처리시설 용량(㎥/일)
swtrmtFcltNm: string;
prcsFcltCpct: number;
// 3. 처리구역 면적(㎢)
procZoneArSm: number; // 처리구역 면적 합계
cmbnProcZoneAr: number; // 합류식 처리구역 면적
sprsysProcZoneAr: number; // 분류식 처리구역 면적
prcsZoneArea: number;
cbsysPrcsZoneArea: number;
sprsysPrcsZoneArea: number;
sprsysVartnRt:number;//분류식
// 4. 배수설비(개소)
drngEqpSm: number; // 배수설비 합계
cmbnDrngEqp: number; // 합류식 배수설비
sprsysDrngEqpSm: number; // 분류식 배수설비 합계
mltvEqpmCnt: number;
cbsysMltvEqpmCnt: number;
sprsysMltvEqpmCnt: number;
// 5. 하수관로 (m)
swrgPipeFcltyExtn: number; // 총 시설연장
icgPltwtrMnnSm: number; // 차집 및 오수간선 합계
icgExtn: number; // 차집관로 연장
pltwtrMnnExtn: number; // 오수간선 연장
wholFcltPrlg: number;
wholIcptgAtlfcPrlg: number;
icptgPrlg: number;
atlfcsPrlg: number;
// 6. 우수토실/토구 (개소)
cmbnRainwtrChmbrCnt: number; // 합류식 우수토실
sprsysRainwtrChmbrCnt: number; // 분류식 우수토실
sprsysRainwtrOutltCnt: number; // 분류식 우수토구
cbsysStofcbrCnt: number;
sprsysStofcbrCnt: number;
sprsysExlnOtflCnt: number;
// 7. 지선 (m)
brnchlnSm: number; // 지선 합계
cmbnBrnchlnExtn: number; // 합류식 지선연장
sprsysExlnBrnchlnExtn: number; // 분류식 우수지선연장
sprsysDrtwBrnchlnExtn: number; // 분류식 오수지선연장
wholBrchlnPrlg: number;
cbsysBrchlnPrlg: number;
exlnBrchlnPrlg: number;
drtwBrchlnPrlg: number;
// 비고
rmrk: string | null; // 비고
rmrk: string | null;
}
@@ -152,29 +150,22 @@ export interface SewagePipeFacilityService {
*
*/
export interface SewerPipeTypeItem {
// --- SewerPipeTab3Response 기본 필드 ---
sido: string; // 시도
gugun: string; // 시군구
adstCd: string; // 행정코드
swrgPipeNm: string; // 관종명
displayYear: string; // 구분 표시용 (예: 2024년확정)
yr: string; // 연도
rmk: string; // 비고
yrGbn?: string; // 구분 (매설/철거 등 행 구분용 - 그리드 설정 기준)
ctpvNm: string;
sggNm: string;
admdstCd: string;
admdstNm: string;
swrgPipeNm: string;
statsYr: string;
displayYear: string;
rowType: 'OLD' | 'CURR';
rmrk: string | null;
// --- BasePipeExtnResponse 상속 필드 ---
layingExtn: number; // 매설연장(m) - 당해년도
// 총합 필드
pipeByPrstWhol:number;
lyngPrlg: number;
dmltnPrlg: number;
// 총계(Sum) 필드 (그리드 설정에서 사용하는 합계용 필드)
totalExtnSum?: number;
layingExtnSum?: number;
remvlExtnSum?: number;
// 01y ~ 30y 동적 필드 처리 (Index Signature)
// 예: totalExtn01y, layingExtn05y, remvlExtn30y 등
[key: `totalExtn${string}y`]: number | undefined;
[key: `layingExtn${string}y`]: number | undefined;
[key: `remvlExtn${string}y`]: number | undefined;
[key: string]: string | number | null | undefined;
}
@@ -182,37 +173,60 @@ export interface SewerPipeTypeResponseData {
pipeTypeStatusList: SewerPipeTypeItem[];
}
export type SewerPipeTypeApiResponse = ApiResponse<SewerPipeTypeResponseData>;
export type SewerPipeTypeApiResponse = ApiResponse<SewerPipeTypeItem[]>;
export interface SewagePipeTypeService {
getSewagePipeTypeList(params: {
yr?: string; // 조회 연도
bsnmCd?: string; // 사업장 코드
sido?: string; // 시도
gugun?: string; // 구군
}): Promise<SewerPipeTypeApiResponse>;
getSewagePipeTypeList(params: SewagePipeReviewRequestParams): Promise<SewagePipeFacilityApiResponse>;
}
/**
* 02. 하수관로 관경별 시설현황 아이템 (Tab 4)
*/
export interface SewerPipeDiamItem {
sido: string; // 시도
gugun: string; // 시군구
adstCd: string; // 행정코드
swrgPipeNm: string; // 관종명 (또는 관경 관련 명칭)
displayYear: string; // 구분 (예: 2023년 확정 / 2024년)
// 관경별 수치 데이터
under200: number; // 200미만
over200Undev300: number; // 200~300
over300Undev500: number; // 300~500
over500Undev500: number; // 500~800 (DTO 명칭 기준)
over800: number; // 800이상
box: number; // BOX
etc: number; // 기타
rmk: string; // 비고
// 1. 기본 정보
ctpvNm: string; // 시도명
sggNm: string; // 시군구명
admdstNm: string; // 행정구역명
admdstCd: string; // 행정구역코드
statsYr: string; // 통계연도 (statsYr로 통일)
rowType: 'OLD' | 'CURR'; // 데이터 구분
displayYear: string; // 화면 표시용 연도
sewerBzmnCd: string; // 하수도사업자코드
// 2. 시설 현황
wholFcltPrlg: number; // 전체시설연장 (m)
// 3. 준설연장 및 개소수 - 관로 (m)
wholSwagePpl: number; // 전체하수관로 준설연장 (m)
cbsysPplPrlg: number; // 합류식관로연장 (m)
sprsysDrtwPrlg: number; // 분류식오수연장 (m)
sprsysExlnPrlg: number; // 분류식우수연장 (m)
// 4. 준설연장 및 개소수 - 부속시설 (개소)
mnhlCnt: number; // 맨홀수
exlnDrtwRcvprpCnt: number; // 우수오수받이수
stofcbrOtflCnt: number; // 우수토실토구수
// 5. 준설 효율 및 성과
drdgnPlanPrlg: number; // 준설계획연장 (m)
drdgnTrgtCtrsDrdgnRt: number; // 준설대상대비준설비율 (%)
wholPrlgCtrsDrdgnRt: number; // 전체연장대비준설비율 (%)
// 6. 준설실적
drdgnAmt: number; // 준설금액 (백만원)
drdgnQnt: number; // 준설량 (m3)
// 7. 준설토사처리 (톤)
drdgnUntprcAmt: number; // 준설단가금액 (원/m3)
wholDrdgnPrcsQnt: number; // 전체준설처리량 (톤)
rclmQnt: number; // 매립량
oceanEmsnQnt: number; // 해양방출량
rcycQnt: number; // 재활용량
etcQnt: number; // 기타량
// 8. 기타
rmrk: string; // 비고
}
@@ -225,10 +239,5 @@ export type SewerPipeDiamApiResponse = ApiResponse<SewerPipeDiamResponseData>;
export interface SewagePipeDiamService {
getSewagePipeDiamList(params: {
yr?: string; // 조회 연도
bsnmCd?: string; // 사업장 코드
sido?: string; // 시도
gugun?: string; // 구군
}): Promise<SewerPipeDiamApiResponse>;
getSewagePipeDiamList(params: SewagePipeReviewRequestParams): Promise<SewagePipeFacilityApiResponse>;
}