Files
frontend/apps/st/src/entities/statistics/api/statistics-management-service.ts
T

567 lines
20 KiB
TypeScript

import { ENDPOINT } from "@/shared/config";
import { stClient } from "@/shared/api/client";
import type {
StatsInputStatusReviewApiResponse,
ReviewHistoryRequest,
ReviewHistoryResponse,
} from "../model/statistics-input-review-interface";
import {
type SewerageSupplyRateReviewRequestParams,
type SewerageSupplyRateReviewApiResponse,
} from "../model/statistics-sewerage-penetration-review-interface";
import {
type SewagePipeReviewRequestParams,
type SewagePipeReviewRegionalApiResponse,
type SewagePipeFacilityApiResponse,
type SewerPipeTypeApiResponse,
type SewerPipeDiamApiResponse,
type SewagePipeManholeApiResponse,
} from "../model/statistics-sewage-pipe-review-interface";
import {
type SewerPipeMtcApiResponse,
type SewerPipeDrdgApiResponse,
type SewerPipeMtcRequestParams
} from "../model/statistics-sewage-pipe-mtc-review-interface";
import {
type SewerReservoirRegionalApiResponse,
type PumpingStationRegionalApiResponse
} from "../model/sewage-reservoir-pump-review-interface";
import {
type MediationPumpStationApiResponse,
} from "../model/statistics-pumping-station-review-interface";
import {
type PublicSewageFacilityReviewApiResponse,
type PublicSewageFacilityReviewRequestParams,
} from "../model/statistics-public-sewage-facility-review-interface";
import {
type ExcretaTreatmentFacilityReviewApiResponse,
type ExcretaTreatmentFacilityReviewRequestParams,
} from "../model/statistics-excreta-treatment-facility-review-interface";
import {
type PrivateSewageFacilityReviewApiResponse,
type PrivateSewageFacilityReviewRequestParams,
} from "../model/statistics-private-sewage-facility-review-interface";
import {
type SewerageFinanceReviewApiResponse,
type SewerageFinanceReviewRequestParams,
} from "../model/statistics-sewerage-finance-review-interface";
import {
type WaterReuseReviewApiResponse,
type WaterReuseReviewRequestParams,
} from "../model/statistics-water-reuse-review-interface";
import {
type SewageExcretaSlurgeReviewApiResponse,
type SewageExcretaSlurgeReviewRequestParams,
} from "../model/statistics-sewage-excreta-slurge-review-interface";
import {
type SewageExcretaRelatedReviewApiResponse,
type SewageExcretaRelatedReviewRequestParams,
} from "../model/statistics-sewage-excreta-related-review-interface";
import {
type SewerageServiceLevelReviewApiResponse,
type SewerageServiceLevelReviewRequestParams,
} from "../model/statistics-sewerage-service-level-review-interface";
export class StatisticsManagementApiService {
/**
* 00. 통계 입력 현황 목록 조회
* @param params (yr, bsnmCd, sido, gugun)
*/
public async getStatsInputStatusList(
params: { statsYr?: string; sewerBzmnCd?: string; ctpvNm?: string; sggNm?: string }
): Promise<StatsInputStatusReviewApiResponse> {
const response = await stClient.get<StatsInputStatusReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/input-status`,
{ params }
);
return response.data;
}
/**
* 01. 하수도 보급률 검토 목록 조회
* @param params (sido, gugun, yr, bsnmCd)
*/
public async getSewerageSupplyRateReviewList(
params: SewerageSupplyRateReviewRequestParams
): Promise<SewerageSupplyRateReviewApiResponse> {
const response = await stClient.get<SewerageSupplyRateReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/supply-rate`,
{ params }
);
return response.data;
}
/**
* 06. 공공하수처리시설 검토 목록 조회
* @param params (sido, gugun, yr, bsnmCd, fctName)
*/
public async getPublicSewageFacilityReviewList(
params: PublicSewageFacilityReviewRequestParams
): Promise<PublicSewageFacilityReviewApiResponse> {
const response = await stClient.get<PublicSewageFacilityReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/public-sewage`,
{ params }
);
return response.data;
}
/**
* 07. 분뇨처리시설 검토 목록 조회
* @param params (sido, gugun, yr, bsnmCd, fctName)
*/
public async getExcretaTreatmentFacilityReviewList(
params: ExcretaTreatmentFacilityReviewRequestParams,
): Promise<ExcretaTreatmentFacilityReviewApiResponse> {
const response = await stClient.get<ExcretaTreatmentFacilityReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/excreta-treatment`,
{ params },
);
return response.data;
}
/**
* 02. 하수관로 지역별 시설현황 목록 조회 (Tab1)
* @param params (sido, gugun, yr, bsnmCd)
*/
public async getSewagePipeReviewRegionalList(
params: SewagePipeReviewRequestParams
): Promise<SewagePipeReviewRegionalApiResponse> {
const response = await stClient.get<SewagePipeReviewRegionalApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/sewer-pipe/regional-status`,
{ params }
);
return response.data;
}
/**
* 02. 하수관로 시설별 설치현황 목록 조회 (Tab2)
* @param params (sido, gugun, yr, bsnmCd)
*/
public async getSewagePipeFacilityList(
params: SewagePipeReviewRequestParams
): Promise<SewagePipeFacilityApiResponse> {
const response = await stClient.get<SewagePipeFacilityApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/sewer-pipe/facility-status`,
{ params }
);
return response.data;
}
/**
* 02. 하수관로 관종별 시설현황 조회 (Tab3)
* @param params (sido, gugun, yr, bsnmCd)
*/
public async getSewagePipeTypeList(
params: SewagePipeReviewRequestParams
): Promise<SewerPipeTypeApiResponse> {
const response = await stClient.get<SewerPipeTypeApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/sewer-pipe/type-status`,
{ params }
);
return response.data;
}
/**
* 02. 하수관로 관경별 시설현황 조회 (Tab 4)
* @param params (sido, gugun, yr, bsnmCd)
*/
public async getSewagePipeDiamList(
params: SewagePipeReviewRequestParams
): Promise<SewerPipeDiamApiResponse> {
const response = await stClient.get<SewerPipeDiamApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/sewer-pipe/diam-status`,
{ params }
);
return response.data;
}
/**
* 02. 하수관로 맨홀 현황 조회 (Tab 5)
* @param params (sido, gugun, yr, bsnmCd)
*/
public async getSewagePipeManholeList(
params: SewagePipeReviewRequestParams
): Promise<SewagePipeManholeApiResponse> {
const response = await stClient.get<SewagePipeManholeApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/sewer-pipe/manhole`,
{ params }
);
return response.data;
}
/**
* 03. 하수관로 유지관리 개보수 현황 조회
* @param params (yr, bsnmCd, sido, gugun)
*/
public async getSewerPipeMtcList(
params: SewerPipeMtcRequestParams
): Promise<SewerPipeMtcApiResponse> {
const response = await stClient.get<SewerPipeMtcApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/sewer-pipe-mtc/repair`,
{ params }
);
return response.data;
}
/**
* 03. 하수관로 유지관리 관로준설 현황 조회 (Tab B)
* @param params (yr, bsnmCd, sido, gugun)
*/
public async getSewerPipeDrdgList(
params: SewerPipeMtcRequestParams
): Promise<SewerPipeDrdgApiResponse> {
const response = await stClient.get<SewerPipeDrdgApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/sewer-pipe-mtc/dredging`,
{ params }
);
return response.data;
}
/**
* 04. 하수저류시설 tab1. 시설현황 조회
* @param params (yr, bsnmCd, sido, gugun)
*/
public async getSewerReservoirList(
params: SewerPipeMtcRequestParams
): Promise<SewerReservoirRegionalApiResponse> {
const response = await stClient.get<SewerReservoirRegionalApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/sewer-reservoir/facilities`,
{ params }
);
return response.data;
}
/**
* 04. 빗물펌프장 tab2. 조회
* @param params (yr, bsnmCd, sido, gugun)
*/
public async getPumpStationList(
params: SewerPipeMtcRequestParams
): Promise<PumpingStationRegionalApiResponse> {
const response = await stClient.get<PumpingStationRegionalApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/sewer-reservoir/pumping-stations`,
{ params }
);
return response.data;
}
/**
* 05. 중계펌프장 통계관리 조회
* @param params (yr, bsnmCd, sido, gugun, bscFctNm)
*/
public async getMediationPumpStationList(
params: {
ctpvNm?: string;
sggNm?: string;
statsYr?: string;
sewerBzmnCd?: string;
fcltNm?: string;
}
): Promise<MediationPumpStationApiResponse> {
const response = await stClient.get<MediationPumpStationApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/mediation-pump-stations`,
{ params }
);
return response.data;
}
/**
* 08. 개인하수처리시설 tab1. 처리용량별 오수처리시설 현황 검토 조회 — ST00080001
*/
public async getPrivateSewageTreatFactStatusReviewList(
params: PrivateSewageFacilityReviewRequestParams,
): Promise<PrivateSewageFacilityReviewApiResponse> {
const response = await stClient.get<PrivateSewageFacilityReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/private-sevage`,
{ params },
);
return response.data;
}
/**
* 08. 개인하수처리시설 tab2. 정화조 현황 검토 조회 — ST00080002
*/
public async getSepticTankStatusReviewList(
params: PrivateSewageFacilityReviewRequestParams,
): Promise<PrivateSewageFacilityReviewApiResponse> {
const response = await stClient.get<PrivateSewageFacilityReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/private-tank-status`,
{ params },
);
return response.data;
}
/**
* 08. 개인하수처리시설 tab3. 개인하수도 관리지역 지정공고 검토 조회 — ST00080003
*/
public async getPrivateSewageDesigStatusReviewList(
params: PrivateSewageFacilityReviewRequestParams,
): Promise<PrivateSewageFacilityReviewApiResponse> {
const response = await stClient.get<PrivateSewageFacilityReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/private-mgmt-area`,
{ params },
);
return response.data;
}
/**
* 09. 하수도 재정 tab1. 하수도재정 결산 검토 조회 — ST00090001
*/
public async getSewerageFinanceSettleReviewList(
params: SewerageFinanceReviewRequestParams,
): Promise<SewerageFinanceReviewApiResponse> {
const response = await stClient.get<SewerageFinanceReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/sewerage-financial`,
{ params },
);
return response.data;
}
/**
* 09. 하수도 재정 tab2. 하수도 요금 검토 조회 — ST00090002
*/
public async getSewerageChargeReviewList(
params: SewerageFinanceReviewRequestParams,
): Promise<SewerageFinanceReviewApiResponse> {
const response = await stClient.get<SewerageFinanceReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/sewerage-fee`,
{ params },
);
return response.data;
}
/**
* 09. 하수도 재정 tab3. 하수도 사용료 검토 조회 — ST00090003
*/
public async getSewerageUsageFeeReviewList(
params: SewerageFinanceReviewRequestParams,
): Promise<SewerageFinanceReviewApiResponse> {
const response = await stClient.get<SewerageFinanceReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/sewerage-usage`,
{ params },
);
return response.data;
}
/**
* 09. 하수도 재정 tab4. 원인자부담금 검토 조회 — ST00090004
*/
public async getCauserBurdenReviewList(
params: SewerageFinanceReviewRequestParams,
): Promise<SewerageFinanceReviewApiResponse> {
const response = await stClient.get<SewerageFinanceReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/sewerage-org-cause`,
{ params },
);
return response.data;
}
/**
* 10. 물 재이용 tab1. 공공하수처리수 재이용 검토 조회 — ST00100001
*/
public async getWaterReuseReuseStatusReviewList(
params: WaterReuseReviewRequestParams,
): Promise<WaterReuseReviewApiResponse> {
const response = await stClient.get<WaterReuseReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/pbl-swage-ruswt`,
{ params },
);
return response.data;
}
/**
* 10. 물 재이용 tab2. 중수도 현황 검토 조회 — ST00100002
*/
public async getWaterReuseGrayWaterReviewList(
params: WaterReuseReviewRequestParams,
): Promise<WaterReuseReviewApiResponse> {
const response = await stClient.get<WaterReuseReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/gray-water-status`,
{ params },
);
return response.data;
}
/**
* 10. 물 재이용 tab3. 빗물이용시설 현황 검토 조회 — ST00100003
*/
public async getWaterReuseRainwaterReviewList(
params: WaterReuseReviewRequestParams,
): Promise<WaterReuseReviewApiResponse> {
const response = await stClient.get<WaterReuseReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/water-reuse`,
{ params },
);
return response.data;
}
/**
* 10. 물 재이용 tab4. 하·폐수처리수 재이용시설 시공업 등록현황 검토 조회 — ST00100004
*/
public async getWaterReuseRegStatusReviewList(
params: WaterReuseReviewRequestParams,
): Promise<WaterReuseReviewApiResponse> {
const response = await stClient.get<WaterReuseReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/wwt-rtlztn-reg`,
{ params },
);
return response.data;
}
/**
* 10. 물 재이용 tab5. 하·폐수처리수 재이용시설 시공업 인가현황 검토 조회 — ST00100005
*/
public async getWaterReuseSncnStatusReviewList(
params: WaterReuseReviewRequestParams,
): Promise<WaterReuseReviewApiResponse> {
const response = await stClient.get<WaterReuseReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/wwt-rtlztn-aprv`,
{ params },
);
return response.data;
}
/**
* 11. 하수 및 분뇨 찌꺼기 tab1. 찌꺼기(슬러지)처리시설현황 검토 조회 — ST00110001
*/
public async getSludgeProcessingReviewList(
params: SewageExcretaSlurgeReviewRequestParams,
): Promise<SewageExcretaSlurgeReviewApiResponse> {
const response = await stClient.get<SewageExcretaSlurgeReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/sludge-processing`,
{ params },
);
return response.data;
}
/**
* 11. 하수 및 분뇨 찌꺼기 tab2. 소화조 운영현황 검토 조회 — ST00110002
*/
public async getSludgeDigestionTankReviewList(
params: SewageExcretaSlurgeReviewRequestParams,
): Promise<SewageExcretaSlurgeReviewApiResponse> {
const response = await stClient.get<SewageExcretaSlurgeReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/sludge-digestion-tank`,
{ params },
);
return response.data;
}
/**
* 11. 하수 및 분뇨 찌꺼기 tab3. 하수찌꺼기 처리시설 운영현황 검토 조회 — ST00110003
*/
public async getSludgeFacilityOperReviewList(
params: SewageExcretaSlurgeReviewRequestParams,
): Promise<SewageExcretaSlurgeReviewApiResponse> {
const response = await stClient.get<SewageExcretaSlurgeReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/sludge-facility-oper`,
{ params },
);
return response.data;
}
/**
* 11. 하수 및 분뇨 찌꺼기 tab4. 분뇨찌꺼기(슬러지)처리현황 검토 조회 — ST00110004
*/
public async getHumanWasteSludgeReviewList(
params: SewageExcretaSlurgeReviewRequestParams,
): Promise<SewageExcretaSlurgeReviewApiResponse> {
const response = await stClient.get<SewageExcretaSlurgeReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/sludge-human-waste`,
{ params },
);
return response.data;
}
/**
* 12. 하수 및 분뇨 관련 산업 tab1. 공공기관 하수분야 검토 조회 — ST00120001
*/
public async getPublicSewageStaffReviewList(
params: SewageExcretaRelatedReviewRequestParams,
): Promise<SewageExcretaRelatedReviewApiResponse> {
const response = await stClient.get<SewageExcretaRelatedReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/public-sewage-staff`,
{ params },
);
return response.data;
}
/**
* 12. 하수 및 분뇨 관련 산업 tab2. 공공기관 분뇨분야 검토 조회 — ST00120002
*/
public async getPublicHumanWasteStaffReviewList(
params: SewageExcretaRelatedReviewRequestParams,
): Promise<SewageExcretaRelatedReviewApiResponse> {
const response = await stClient.get<SewageExcretaRelatedReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/public-human-waste-staff`,
{ params },
);
return response.data;
}
/**
* 12. 하수 및 분뇨 관련 산업 tab3. 분뇨수집·운반업 검토 조회 — ST00120003
*/
public async getHumanWasteCollectionReviewList(
params: SewageExcretaRelatedReviewRequestParams,
): Promise<SewageExcretaRelatedReviewApiResponse> {
const response = await stClient.get<SewageExcretaRelatedReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/human-waste-collection`,
{ params },
);
return response.data;
}
/**
* 12. 하수 및 분뇨 관련 산업 tab4. 개인하수처리관련업 검토 조회 — ST00120004
*/
public async getIndvSwtrmtRelBsnsReviewList(
params: SewageExcretaRelatedReviewRequestParams,
): Promise<SewageExcretaRelatedReviewApiResponse> {
const response = await stClient.get<SewageExcretaRelatedReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/indv-swtrmt-rel-bsns`,
{ params },
);
return response.data;
}
/**
* 13. 하수도 서비스 수준 tab1. 민원 검토 조회 — ST00130001
*/
public async getSewageComplaintReviewList(
params: SewerageServiceLevelReviewRequestParams,
): Promise<SewerageServiceLevelReviewApiResponse> {
const response = await stClient.get<SewerageServiceLevelReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/sewage-complaint`,
{ params },
);
return response.data;
}
/**
* 13. 하수도 서비스 수준 tab2. 주민친화시설 검토 조회 — ST00130002
*/
public async getResidentFriendlyFacilityReviewList(
params: SewerageServiceLevelReviewRequestParams,
): Promise<SewerageServiceLevelReviewApiResponse> {
const response = await stClient.get<SewerageServiceLevelReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/resident-friendly-facility`,
{ params },
);
return response.data;
}
public async getReviewHistory(params: ReviewHistoryRequest): Promise<ReviewHistoryResponse> {
const response = await stClient.get<ReviewHistoryResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/history`,
{ params }
);
return response.data;
}
}
// 통합 인스턴스 수출
export const statisticsManagementApi = new StatisticsManagementApiService();