feat: 00.통계입력현황 데이터 매핑 기능 및 api연동

This commit is contained in:
2026-02-06 12:32:18 +09:00
parent d0faa58f3c
commit e762720a01
4 changed files with 182 additions and 198 deletions
@@ -1,11 +1,11 @@
import { useState } from "react";
import { useState, useMemo } from "react";
import { DataGrid } from "@rsone/components";
import SearchForm from "@/components/module/SearchForm";
import SaveButton from "@/components/button/SaveButton";
import ApproveButton from "@/components/button/ApproveButton";
import ReviewOpinionButton from "@/components/button/ReviewOpinionButton";
import ReturnButton from "@/components/button/ReturnButton";
import { useAlertStore } from "@/shared/lib"; // 알림 스토어 추가
import { StatsInputStatusInfoList } from "@/components/util/column/review/StatsInputStatusRvwColumn";
import { statsInputStatusReviewApi } from "@/entities/statistics/api/statistics-input-review-service";
@@ -13,6 +13,19 @@ import type { StatsInputStatusReviewItem } from "@/entities/statistics/model/sta
// 하수도 통계 검토 00. 통계 입력 현황
const StatsInputStatusRvw = () => {
const { setMessage: alert } = useAlertStore((state) => state);
const columnInfo = useMemo(() => {
const { columns, columnLayout} = StatsInputStatusInfoList;
return {
columnLayout,
columns: columns.map((col) => ({
...col,
editable: false as const
})),
};
}, []);
const [rowData, setRowData] = useState<any[]>([]);
const [isLoading, setIsLoading] = useState<boolean>(false);
@@ -27,17 +40,18 @@ const StatsInputStatusRvw = () => {
const response = await statsInputStatusReviewApi.getStatsInputStatusList({
sido: values.sido,
gugun: values.gugun,
yr: Number(values.yr),
gugun: values.gugun === 'ALL' ? '' : values.gugun,
yr: values.year || values.yr,
bsnmCd: values.bsnmCd
});
console.log("입력현황 네트워크 응답:", response);
if (response.status === 'success' && response.data) {
const rawList = response.data.sewerageSupplyRateList;
const convertedData: StatsInputStatusReviewItem[] = rawList.map((item) => ({
const convertedData: StatsInputStatusReviewItem[] = rawList.map((item: any) => ({
...item,
status: item.status || '미확인',
}));
@@ -54,25 +68,16 @@ const StatsInputStatusRvw = () => {
setIsLoading(false);
}
};
const approveFunc = () => {
console.log('approveFunc');
};
const saveFunc = () => {
console.log('submit');
};
const reviewOpinionFunc = () => {
console.log('reviewOpinionFunc');
};
const returnFunc = () => {
console.log('returnFunc');
};
const approveFunc = () => console.log('approveFunc');
const saveFunc = () => console.log('submit');
const reviewOpinionFunc = () => console.log('reviewOpinionFunc');
const returnFunc = () => console.log('returnFunc');
return (
<>
<SearchForm onSubmit={handleSearch} onReset={handleReset} />
<div className="card !py-0">
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<ReviewOpinionButton reviewOpinionFunc={reviewOpinionFunc} />
@@ -81,15 +86,17 @@ const StatsInputStatusRvw = () => {
<SaveButton saveFunc={saveFunc} />
</div>
</div>
<DataGrid
columnInfo={StatsInputStatusInfoList}
isExcelImport={false}
rowStartNum={2}
columnInfo={columnInfo}
isExcelImport={true}
rowStartNum={2}
fixedColumns={2}
rowData={rowData}
setRowData={setRowData} />
setRowData={setRowData}
/>
</>
);
}
};
export default StatsInputStatusRvw;
@@ -7,118 +7,107 @@ const StatsInputStatusInfoColumnRaw = {
columns: [
// 기본 정보
{ name: 'chk', fieldName: 'chk', header: { text: '체크' }, width: 40 },
{ name: 'sido', fieldName: 'sido', header: { text: '시도' }, width: 80 },
{ name: 'sido', fieldName: 'sido', header: { text: '시도' }, width: 80,mergeCells: true},
{ name: 'gugun', fieldName: 'gugun', header: { text: '시군구' }, width: 100 },
{ name: 'status', fieldName: 'status', header: { text: '진행상태' }, width: 120 },
// 01. 하수도보급율
{ name: 'locgCharger1', fieldName: 'locgCharger1', header: { text: '제출자' } },
{ name: 'locgCttpc1', fieldName: 'locgCttpc1', header: { text: '연락처' } },
{ name: 'locgStatusNm1', fieldName: 'locgStatusNm1', header: { text: '지자체진행상태' } },
{ name: 'status1', fieldName: 'status1', header: { text: '진행상태' } },
{ name: 'cnt1', fieldName: 'cnt1', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 01. 하수도보급율 (supply)
{ name: 'supplyCharger', fieldName: 'supplyCharger', header: { text: '제출자' } },
{ name: 'supplyCttpc', fieldName: 'supplyCttpc', header: { text: '연락처' } },
{ name: 'supplyStatusNm', fieldName: 'supplyStatusNm', header: { text: '지자체진행상태' } },
{ name: 'supplyStatus', fieldName: 'supplyStatus', header: { text: '진행상태' } },
{ name: 'supplyCnt', fieldName: 'supplyCnt', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 02. 하수관로 (3)
{ name: 'locgCharger3', fieldName: 'locgCharger3', header: { text: '제출자' } },
{ name: 'locgCttpc3', fieldName: 'locgCttpc3', header: { text: '연락처' } },
{ name: 'locgStatusNm3', fieldName: 'locgStatusNm3', header: { text: '지자체진행상태' } },
{ name: 'status3', fieldName: 'status3', header: { text: '진행상태' } },
{ name: 'cnt3', fieldName: 'cnt3', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 02. 하수관로 (facility) - 기존 3번
{ name: 'facilityCharger', fieldName: 'facilityCharger', header: { text: '제출자' } },
{ name: 'facilityCttpc', fieldName: 'facilityCttpc', header: { text: '연락처' } },
{ name: 'facilityStatusNm', fieldName: 'facilityStatusNm', header: { text: '지자체진행상태' } },
{ name: 'facilityStatus', fieldName: 'facilityStatus', header: { text: '진행상태' } },
{ name: 'facilityCnt', fieldName: 'facilityCnt', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 03. 하수관로유지관리 (4)
{ name: 'locgCharger4', fieldName: 'locgCharger4', header: { text: '제출자' } },
{ name: 'locgCttpc4', fieldName: 'locgCttpc4', header: { text: '연락처' } },
{ name: 'locgStatusNm4', fieldName: 'locgStatusNm4', header: { text: '지자체진행상태' } },
{ name: 'status4', fieldName: 'status4', header: { text: '진행상태' } },
{ name: 'cnt4', fieldName: 'cnt4', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 03. 하수관로유지관리 (pipe) - 기존 4번
{ name: 'pipeCharger', fieldName: 'pipeCharger', header: { text: '제출자' } },
{ name: 'pipeCttpc', fieldName: 'pipeCttpc', header: { text: '연락처' } },
{ name: 'pipeStatusNm', fieldName: 'pipeStatusNm', header: { text: '지자체진행상태' } },
{ name: 'pipeCnt', fieldName: 'pipeCnt', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 04. 하수저류시설 (5)
{ name: 'locgCharger5', fieldName: 'locgCharger5', header: { text: '제출자' } },
{ name: 'locgCttpc5', fieldName: 'locgCttpc5', header: { text: '연락처' } },
{ name: 'locgStatusNm5', fieldName: 'locgStatusNm5', header: { text: '지자체진행상태' } },
{ name: 'status5', fieldName: 'status5', header: { text: '진행상태' } },
{ name: 'cnt5', fieldName: 'cnt5', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 04. 하수저류시설 (storage) - 기존 5번
{ name: 'storageCharger', fieldName: 'storageCharger', header: { text: '제출자' } },
{ name: 'storageCttpc', fieldName: 'storageCttpc', header: { text: '연락처' } },
{ name: 'storageStatusNm', fieldName: 'storageStatusNm', header: { text: '지자체진행상태' } },
{ name: 'storageCnt', fieldName: 'storageCnt', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 05. 펌프장 (6)
{ name: 'locgCharger6', fieldName: 'locgCharger6', header: { text: '제출자' } },
{ name: 'locgCttpc6', fieldName: 'locgCttpc6', header: { text: '연락처' } },
{ name: 'locgStatusNm6', fieldName: 'locgStatusNm6', header: { text: '지자체진행상태' } },
{ name: 'status6', fieldName: 'status6', header: { text: '진행상태' } },
{ name: 'cnt6', fieldName: 'cnt6', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 05. 펌프장 (pump) - 기존 6번
{ name: 'pumpCharger', fieldName: 'pumpCharger', header: { text: '제출자' } },
{ name: 'pumpCttpc', fieldName: 'pumpCttpc', header: { text: '연락처' } },
{ name: 'pumpStatusNm', fieldName: 'pumpStatusNm', header: { text: '지자체진행상태' } },
{ name: 'pumpCnt', fieldName: 'pumpCnt', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 06. 공공하수처리시설 (7)
{ name: 'locgCharger7', fieldName: 'locgCharger7', header: { text: '제출자' } },
{ name: 'locgCttpc7', fieldName: 'locgCttpc7', header: { text: '연락처' } },
{ name: 'locgStatusNm7', fieldName: 'locgStatusNm7', header: { text: '지자체진행상태' } },
{ name: 'status7', fieldName: 'status7', header: { text: '진행상태' } },
{ name: 'cnt7', fieldName: 'cnt7', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 06. 공공하수처리시설 (treat) - 기존 7번
{ name: 'treatCharger', fieldName: 'treatCharger', header: { text: '제출자' } },
{ name: 'treatCttpc', fieldName: 'treatCttpc', header: { text: '연락처' } },
{ name: 'treatStatusNm', fieldName: 'treatStatusNm', header: { text: '지자체진행상태' } },
{ name: 'treatCnt', fieldName: 'treatCnt', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 07. 분뇨처리시설 (8)
{ name: 'locgCharger8', fieldName: 'locgCharger8', header: { text: '제출자' } },
{ name: 'locgCttpc8', fieldName: 'locgCttpc8', header: { text: '연락처' } },
{ name: 'locgStatusNm8', fieldName: 'locgStatusNm8', header: { text: '지자체진행상태' } },
{ name: 'status8', fieldName: 'status8', header: { text: '진행상태' } },
{ name: 'cnt8', fieldName: 'cnt8', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 07. 분뇨처리시설 (small) - 기존 8번
{ name: 'smallCharger', fieldName: 'smallCharger', header: { text: '제출자' } },
{ name: 'smallCttpc', fieldName: 'smallCttpc', header: { text: '연락처' } },
{ name: 'smallStatusNm', fieldName: 'smallStatusNm', header: { text: '지자체진행상태' } },
{ name: 'smallCnt', fieldName: 'smallCnt', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 08. 개인하수처리시설 (9)
{ name: 'locgCharger9', fieldName: 'locgCharger9', header: { text: '제출자' } },
{ name: 'locgCttpc9', fieldName: 'locgCttpc9', header: { text: '연락처' } },
{ name: 'locgStatusNm9', fieldName: 'locgStatusNm9', header: { text: '지자체진행상태' } },
{ name: 'status9', fieldName: 'status9', header: { text: '진행상태' } },
{ name: 'cnt9', fieldName: 'cnt9', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 08. 개인하수처리시설 (private) - 기존 9번
{ name: 'privateCharger', fieldName: 'privateCharger', header: { text: '제출자' } },
{ name: 'privateCttpc', fieldName: 'privateCttpc', header: { text: '연락처' } },
{ name: 'privateStatusNm', fieldName: 'privateStatusNm', header: { text: '지자체진행상태' } },
{ name: 'privateCnt', fieldName: 'privateCnt', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 09. 하수도재정 (10)
{ name: 'locgCharger10', fieldName: 'locgCharger10', header: { text: '제출자' } },
{ name: 'locgCttpc10', fieldName: 'locgCttpc10', header: { text: '연락처' } },
{ name: 'locgStatusNm10', fieldName: 'locgStatusNm10', header: { text: '지자체진행상태' } },
{ name: 'status10', fieldName: 'status10', header: { text: '진행상태' } },
{ name: 'cnt10', fieldName: 'cnt10', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 09. 하수도재정 (finance) - 기존 10번
{ name: 'financeCharger', fieldName: 'financeCharger', header: { text: '제출자' } },
{ name: 'financeCttpc', fieldName: 'financeCttpc', header: { text: '연락처' } },
{ name: 'financeStatusNm', fieldName: 'financeStatusNm', header: { text: '지자체진행상태' } },
{ name: 'financeCnt', fieldName: 'financeCnt', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 10. 물재이용 (11)
{ name: 'locgCharger11', fieldName: 'locgCharger11', header: { text: '제출자' } },
{ name: 'locgCttpc11', fieldName: 'locgCttpc11', header: { text: '연락처' } },
{ name: 'locgStatusNm11', fieldName: 'locgStatusNm11', header: { text: '지자체진행상태' } },
{ name: 'status11', fieldName: 'status11', header: { text: '진행상태' } },
{ name: 'cnt11', fieldName: 'cnt11', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 10. 물재이용 (reuse) - 기존 11번
{ name: 'reuseCharger', fieldName: 'reuseCharger', header: { text: '제출자' } },
{ name: 'reuseCttpc', fieldName: 'reuseCttpc', header: { text: '연락처' } },
{ name: 'reuseStatusNm', fieldName: 'reuseStatusNm', header: { text: '지자체진행상태' } },
{ name: 'reuseCnt', fieldName: 'reuseCnt', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 11. 하수및분뇨찌꺼기 (12)
{ name: 'locgCharger12', fieldName: 'locgCharger12', header: { text: '제출자' } },
{ name: 'locgCttpc12', fieldName: 'locgCttpc12', header: { text: '연락처' } },
{ name: 'locgStatusNm12', fieldName: 'locgStatusNm12', header: { text: '지자체진행상태' } },
{ name: 'status12', fieldName: 'status12', header: { text: '진행상태' } },
{ name: 'cnt12', fieldName: 'cnt12', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 11. 하수및분뇨찌꺼기 (sludge) - 기존 12번
{ name: 'sludgeCharger', fieldName: 'sludgeCharger', header: { text: '제출자' } },
{ name: 'sludgeCttpc', fieldName: 'sludgeCttpc', header: { text: '연락처' } },
{ name: 'sludgeStatusNm', fieldName: 'sludgeStatusNm', header: { text: '지자체진행상태' } },
{ name: 'sludgeCnt', fieldName: 'sludgeCnt', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 12. 하수및분뇨관련산업 (13)
{ name: 'locgCharger13', fieldName: 'locgCharger13', header: { text: '제출자' } },
{ name: 'locgCttpc13', fieldName: 'locgCttpc13', header: { text: '연락처' } },
{ name: 'locgStatusNm13', fieldName: 'locgStatusNm13', header: { text: '지자체진행상태' } },
{ name: 'status13', fieldName: 'status13', header: { text: '진행상태' } },
{ name: 'cnt13', fieldName: 'cnt13', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 12. 하수및분뇨관련산업 (excreta) - 기존 13번
{ name: 'excretaCharger', fieldName: 'excretaCharger', header: { text: '제출자' } },
{ name: 'excretaCttpc', fieldName: 'excretaCttpc', header: { text: '연락처' } },
{ name: 'excretaStatusNm', fieldName: 'excretaStatusNm', header: { text: '지자체진행상태' } },
{ name: 'excretaCnt', fieldName: 'excretaCnt', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 13. 하수도서비스수준 (15)
{ name: 'locgCharger15', fieldName: 'locgCharger15', header: { text: '제출자' } },
{ name: 'locgCttpc15', fieldName: 'locgCttpc15', header: { text: '연락처' } },
{ name: 'locgStatusNm15', fieldName: 'locgStatusNm15', header: { text: '지자체진행상태' } },
{ name: 'status15', fieldName: 'status15', header: { text: '진행상태' } },
{ name: 'cnt15', fieldName: 'cnt15', header: { text: '건수' }, valueType: ValueType.NUMBER },
// 13. 하수도서비스수준 (complaint) - 기존 15번
{ name: 'complaintCharger', fieldName: 'complaintCharger', header: { text: '제출자' } },
{ name: 'complaintCttpc', fieldName: 'complaintCttpc', header: { text: '연락처' } },
{ name: 'complaintStatusNm', fieldName: 'complaintStatusNm', header: { text: '지자체진행상태' } },
{ name: 'complaintCnt', fieldName: 'complaintCnt', header: { text: '건수' }, valueType: ValueType.NUMBER },
],
columnLayout: [
{ name: 'addrGroup', header: { text: '구분' }, items: ['sido', 'gugun'] },
'status',
{ name: 'group01', header: { text: '01. 하수도보급율' }, items: ['locgCharger1', 'locgCttpc1', 'locgStatusNm1', 'status1', 'cnt1'] },
{ name: 'group02', header: { text: '02. 하수관로' }, items: ['locgCharger3', 'locgCttpc3', 'locgStatusNm3', 'status3', 'cnt3'] },
{ name: 'group03', header: { text: '03. 하수관로유지관리' }, items: ['locgCharger4', 'locgCttpc4', 'locgStatusNm4', 'status4', 'cnt4'] },
{ name: 'group04', header: { text: '04. 하수저류시설' }, items: ['locgCharger5', 'locgCttpc5', 'locgStatusNm5', 'status5', 'cnt5'] },
{ name: 'group05', header: { text: '05. 펌프장' }, items: ['locgCharger6', 'locgCttpc6', 'locgStatusNm6', 'status6', 'cnt6'] },
{ name: 'group06', header: { text: '06. 공공하수처리시설' }, items: ['locgCharger7', 'locgCttpc7', 'locgStatusNm7', 'status7', 'cnt7'] },
{ name: 'group07', header: { text: '07. 분뇨처리시설' }, items: ['locgCharger8', 'locgCttpc8', 'locgStatusNm8', 'status8', 'cnt8'] },
{ name: 'group08', header: { text: '08. 개인하수처리시설' }, items: ['locgCharger9', 'locgCttpc9', 'locgStatusNm9', 'status9', 'cnt9'] },
{ name: 'group09', header: { text: '09. 하수도재정' }, items: ['locgCharger10', 'locgCttpc10', 'locgStatusNm10', 'status10', 'cnt10'] },
{ name: 'group10', header: { text: '10. 물재이용' }, items: ['locgCharger11', 'locgCttpc11', 'locgStatusNm11', 'status11', 'cnt11'] },
{ name: 'group11', header: { text: '11. 하수및분뇨찌꺼기' }, items: ['locgCharger12', 'locgCttpc12', 'locgStatusNm12', 'status12', 'cnt12'] },
{ name: 'group12', header: { text: '12. 하수및분뇨관련산업' }, items: ['locgCharger13', 'locgCttpc13', 'locgStatusNm13', 'status13', 'cnt13'] },
{ name: 'group13', header: { text: '13. 하수도서비스수준' }, items: ['locgCharger15', 'locgCttpc15', 'locgStatusNm15', 'status15', 'cnt15'] }
{ name: 'group01', header: { text: '01. 하수도보급율' }, items: ['supplyCharger', 'supplyCttpc', 'supplyStatusNm', 'supplyStatus', 'supplyCnt'] },
{ name: 'group02', header: { text: '02. 하수관로' }, items: ['facilityCharger', 'facilityCttpc', 'facilityStatusNm', 'facilityStatus', 'facilityCnt'] },
{ name: 'group03', header: { text: '03. 하수관로유지관리' }, items: ['pipeCharger', 'pipeCttpc', 'pipeStatusNm', 'pipeCnt'] },
{ name: 'group04', header: { text: '04. 하수저류시설' }, items: ['storageCharger', 'storageCttpc', 'storageStatusNm', 'storageCnt'] },
{ name: 'group05', header: { text: '05. 펌프장' }, items: ['pumpCharger', 'pumpCttpc', 'pumpStatusNm', 'pumpCnt'] },
{ name: 'group06', header: { text: '06. 공공하수처리시설' }, items: ['treatCharger', 'treatCttpc', 'treatStatusNm', 'treatCnt'] },
{ name: 'group07', header: { text: '07. 분뇨처리시설' }, items: ['smallCharger', 'smallCttpc', 'smallStatusNm', 'smallCnt'] },
{ name: 'group08', header: { text: '08. 개인하수처리시설' }, items: ['privateCharger', 'privateCttpc', 'privateStatusNm', 'privateCnt'] },
{ name: 'group09', header: { text: '09. 하수도재정' }, items: ['financeCharger', 'financeCttpc', 'financeStatusNm', 'financeCnt'] },
{ name: 'group10', header: { text: '10. 물재이용' }, items: ['reuseCharger', 'reuseCttpc', 'reuseStatusNm', 'reuseCnt'] },
{ name: 'group11', header: { text: '11. 하수및분뇨찌꺼기' }, items: ['sludgeCharger', 'sludgeCttpc', 'sludgeStatusNm', 'sludgeCnt'] },
{ name: 'group12', header: { text: '12. 하수및분뇨관련산업' }, items: ['excretaCharger', 'excretaCttpc', 'excretaStatusNm', 'excretaCnt'] },
{ name: 'group13', header: { text: '13. 하수도서비스수준' }, items: ['complaintCharger', 'complaintCttpc', 'complaintStatusNm', 'complaintCnt'] }
]
};
@@ -12,7 +12,7 @@ export class StatsInputStatusReviewApiService implements StatsInputStatusReviewS
* @param params (yr, bsnmCd, sido, gugun)
*/
public async getStatsInputStatusList(
params: { yr?: number; bsnmCd?: string; sido?: string; gugun?: string }
params: { yr?: string; bsnmCd?: string; sido?: string; gugun?: string }
): Promise<StatsInputStatusReviewApiResponse> {
const response = await axios.get<StatsInputStatusReviewApiResponse>(
@@ -9,102 +9,90 @@ export interface StatsInputStatusReviewItem {
gugun: string;
yr: string;
bsnmCd: string;
status: string; // 전체 진행상태
status: string;
// 01. 하수도보급율
locgCharger1: string;
locgCttpc1: string;
locgStatusNm1: string;
status1: string;
cnt1: number;
// 01. 하수도보급율 (supply)
supplyCharger: string;
supplyCttpc: string;
supplyStatusNm: string;
supplyStatus: string;
supplyCnt: number;
// 02. 하수관로 (DTO/Mapper 필드: 3)
locgCharger3: string;
locgCttpc3: string;
locgStatusNm3: string;
status3: string;
cnt3: number;
// 02. 하수관로 (facility - 기존 3번)
facilityCharger: string;
facilityCttpc: string;
facilityStatusNm: string;
facilityStatus: string;
facilityCnt: number;
// 03. 하수관로유지관리 (DTO/Mapper 필드: 4)
locgCharger4: string;
locgCttpc4: string;
locgStatusNm4: string;
status4: string;
cnt4: number;
// 03. 하수관로유지관리 (pipe - 기존 4번)
pipeCharger: string;
pipeCttpc: string;
pipeStatusNm: string;
pipeCnt: number;
// 04. 하수저류시설 (DTO/Mapper 필드: 5)
locgCharger5: string;
locgCttpc5: string;
locgStatusNm5: string;
status5: string;
cnt5: number;
// 04. 하수저류시설 (storage - 기존 5번)
storageCharger: string;
storageCttpc: string;
storageStatusNm: string;
storageCnt: number;
// 05. 펌프장 (DTO/Mapper 필드: 6)
locgCharger6: string;
locgCttpc6: string;
locgStatusNm6: string;
status6: string;
cnt6: number;
// 05. 펌프장 (pump - 기존 6번)
pumpCharger: string;
pumpCttpc: string;
pumpStatusNm: string;
pumpCnt: number;
// 06. 공공하수처리시설 (DTO/Mapper 필드: 7)
locgCharger7: string;
locgCttpc7: string;
locgStatusNm7: string;
status7: string;
cnt7: number;
// 06. 공공하수처리시설 (treat - 기존 7번)
treatCharger: string;
treatCttpc: string;
treatStatusNm: string;
treatCnt: number;
// 07. 분뇨처리시설 (DTO/Mapper 필드: 8)
locgCharger8: string;
locgCttpc8: string;
locgStatusNm8: string;
status8: string;
cnt8: number;
// 07. 분뇨처리시설 (small - 기존 8번)
smallCharger: string;
smallCttpc: string;
smallStatusNm: string;
smallCnt: number;
// 08. 개인하수처리시설 (DTO/Mapper 필드: 9)
locgCharger9: string;
locgCttpc9: string;
locgStatusNm9: string;
status9: string;
cnt9: number;
// 08. 개인하수처리시설 (private - 기존 9번)
privateCharger: string;
privateCttpc: string;
privateStatusNm: string;
privateCnt: number;
// 09. 하수도재정 (DTO/Mapper 필드: 10)
locgCharger10: string;
locgCttpc10: string;
locgStatusNm10: string;
status10: string;
cnt10: number;
// 09. 하수도재정 (finance - 기존 10번)
financeCharger: string;
financeCttpc: string;
financeStatusNm: string;
financeCnt: number;
// 10. 물재이용 (DTO/Mapper 필드: 11)
locgCharger11: string;
locgCttpc11: string;
locgStatusNm11: string;
status11: string;
cnt11: number;
// 10. 물재이용 (reuse - 기존 11번)
reuseCharger: string;
reuseCttpc: string;
reuseStatusNm: string;
reuseCnt: number;
// 11. 하수및분뇨찌꺼기 (DTO/Mapper 필드: 12)
locgCharger12: string;
locgCttpc12: string;
locgStatusNm12: string;
status12: string;
cnt12: number;
// 11. 하수및분뇨찌꺼기 (sludge - 기존 12번)
sludgeCharger: string;
sludgeCttpc: string;
sludgeStatusNm: string;
sludgeCnt: number;
// 12. 하수및분뇨관련산업 (DTO/Mapper 필드: 13)
locgCharger13: string;
locgCttpc13: string;
locgStatusNm13: string;
status13: string;
cnt13: number;
// 12. 하수및분뇨관련산업 (excreta - 기존 13번)
excretaCharger: string;
excretaCttpc: string;
excretaStatusNm: string;
excretaCnt: number;
// 13. 하수도서비스수준 (DTO/Mapper 필드: 15)
locgCharger15: string;
locgCttpc15: string;
locgStatusNm15: string;
status15: string;
cnt15: number;
// 13. 하수도서비스수준 (complaint - 기존 15번)
complaintCharger: string;
complaintCttpc: string;
complaintStatusNm: string;
complaintCnt: number;
}
export interface StatsInputStatusReviewResponseData {
// 백엔드 Response 클래스의 필드명인 sewerageSupplyRateList와 일치
sewerageSupplyRateList: StatsInputStatusReviewItem[];
}
@@ -116,7 +104,7 @@ export type StatsInputStatusReviewApiResponse = ApiResponse<StatsInputStatusRevi
export interface StatsInputStatusReviewService {
getStatsInputStatusList(params: {
yr?: number;
yr?: String;
bsnmCd?: string;
sido?: string;
gugun?: string;