feat: 00.통계입력현황 컬럼매칭 수정중

This commit is contained in:
2026-02-05 15:24:37 +09:00
parent 18413509fc
commit 064898333c
4 changed files with 300 additions and 83 deletions
@@ -8,11 +8,52 @@ import ReviewOpinionButton from "@/components/button/ReviewOpinionButton";
import ReturnButton from "@/components/button/ReturnButton";
import { StatsInputStatusInfoList } from "@/components/util/column/review/StatsInputStatusRvwColumn";
import { statsInputStatusReviewApi } from "@/entities/statistics/api/statistics-input-review-service";
import type { StatsInputStatusReviewItem } from "@/entities/statistics/model/statistics-input-review-interface";
// 하수도 통계 관리 00. 통계 입력 현황
// 하수도 통계 검토 00. 통계 입력 현황
const StatsInputStatusRvw = () => {
const [rowData, setRowData] = useState<Record<string, string | number>[]>([]);
const [rowData, setRowData] = useState<any[]>([]);
const [isLoading, setIsLoading] = useState<boolean>(false);
const handleReset = () => {
setRowData([]);
};
const handleSearch = async (values: any) => {
console.log("검색 폼 전달 값:", values);
try {
setIsLoading(true);
const response = await statsInputStatusReviewApi.getStatsInputStatusList({
sido: values.sido,
gugun: values.gugun,
yr: Number(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) => ({
...item,
status: item.status || '미확인',
}));
setRowData(convertedData);
} else {
setRowData([]);
alert(response.message || "조회된 데이터가 없습니다.");
}
} catch (error) {
console.error("입력현황 조회 중 에러 발생:", error);
alert('데이터 조회 중 오류가 발생했습니다.');
} finally {
setIsLoading(false);
}
};
const approveFunc = () => {
console.log('approveFunc');
};
@@ -31,7 +72,7 @@ const StatsInputStatusRvw = () => {
return (
<>
<SearchForm />
<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} />
@@ -1,111 +1,124 @@
import { ValueType } from "realgrid";
/**
하수도 통계 검토 00. 통계 입력 현황
* 단일 Tab
* 하수도 통계 검토 00. 통계 입력 현황
*/
const StatsInputStatusInfoColumnRaw = {
columns: [
// 기본 정보
{ name: 'chk', fieldName: 'chk', header: { text: '체크' }, width: 40 },
{ name: 'sido', fieldName: 'sido', header: { text: '시도' }, width: 80 },
{ name: 'gugun', fieldName: 'gugun', header: { text: '시군구' }, width: 100 },
{ name: 'status', fieldName: 'status', header: { text: '진행상태' }, width: 100 },
{ name: 'status', fieldName: 'status', header: { text: '진행상태' }, width: 120 },
// 01. 하수도보급율
{ name: 'locg_charger_1', fieldName: 'locg_charger_1', header: { text: '제출자' } },
{ name: 'locg_cttpc_1', fieldName: 'locg_cttpc_1', header: { text: '연락처' } },
{ name: 'locg_status_nm_1', fieldName: 'locg_status_nm_1', header: { text: '지자체진행상태' } },
{ name: 'status_1', fieldName: 'status_1', header: { text: '진행상태' } },
{ 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 },
// 02. 하수관로 (DB/JSON 키: _3)
{ name: 'locg_charger_3', fieldName: 'locg_charger_3', header: { text: '제출자' } },
{ name: 'locg_cttpc_3', fieldName: 'locg_cttpc_3', header: { text: '연락처' } },
{ name: 'locg_status_nm_3', fieldName: 'locg_status_nm_3', header: { text: '지자체진행상태' } },
{ name: 'status_3', fieldName: 'status_3', header: { text: '진행상태' } },
// 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 },
// 03. 하수관로유지관리 (_4)
{ name: 'locg_charger_4', fieldName: 'locg_charger_4', header: { text: '제출자' } },
{ name: 'locg_cttpc_4', fieldName: 'locg_cttpc_4', header: { text: '연락처' } },
{ name: 'locg_status_nm_4', fieldName: 'locg_status_nm_4', header: { text: '지자체진행상태' } },
{ name: 'status_4', fieldName: 'status_4', header: { text: '진행상태' } },
// 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 },
// 04. 하수저류시설 (_5)
{ name: 'locg_charger_5', fieldName: 'locg_charger_5', header: { text: '제출자' } },
{ name: 'locg_cttpc_5', fieldName: 'locg_cttpc_5', header: { text: '연락처' } },
{ name: 'locg_status_nm_5', fieldName: 'locg_status_nm_5', header: { text: '지자체진행상태' } },
{ name: 'status_5', fieldName: 'status_5', header: { text: '진행상태' } },
// 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 },
// 05. 펌프장 (_6)
{ name: 'locg_charger_6', fieldName: 'locg_charger_6', header: { text: '제출자' } },
{ name: 'locg_cttpc_6', fieldName: 'locg_cttpc_6', header: { text: '연락처' } },
{ name: 'locg_status_nm_6', fieldName: 'locg_status_nm_6', header: { text: '지자체진행상태' } },
{ name: 'status_6', fieldName: 'status_6', header: { text: '진행상태' } },
// 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 },
// 06. 공공하수처리시설 (_7)
{ name: 'locg_charger_7', fieldName: 'locg_charger_7', header: { text: '제출자' } },
{ name: 'locg_cttpc_7', fieldName: 'locg_cttpc_7', header: { text: '연락처' } },
{ name: 'locg_status_nm_7', fieldName: 'locg_status_nm_7', header: { text: '지자체진행상태' } },
{ name: 'status_7', fieldName: 'status_7', header: { text: '진행상태' } },
// 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 },
// 07. 분뇨처리시설 (_8)
{ name: 'locg_charger_8', fieldName: 'locg_charger_8', header: { text: '제출자' } },
{ name: 'locg_cttpc_8', fieldName: 'locg_cttpc_8', header: { text: '연락처' } },
{ name: 'locg_status_nm_8', fieldName: 'locg_status_nm_8', header: { text: '지자체진행상태' } },
{ name: 'status_8', fieldName: 'status_8', header: { text: '진행상태' } },
// 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 },
// 08. 개인하수처리시설 (_9)
{ name: 'locg_charger_9', fieldName: 'locg_charger_9', header: { text: '제출자' } },
{ name: 'locg_cttpc_9', fieldName: 'locg_cttpc_9', header: { text: '연락처' } },
{ name: 'locg_status_nm_9', fieldName: 'locg_status_nm_9', header: { text: '지자체진행상태' } },
{ name: 'status_9', fieldName: 'status_9', header: { text: '진행상태' } },
// 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 },
// 09. 하수도재정 (_10)
{ name: 'locg_charger_10', fieldName: 'locg_charger_10', header: { text: '제출자' } },
{ name: 'locg_cttpc_10', fieldName: 'locg_cttpc_10', header: { text: '연락처' } },
{ name: 'locg_status_nm_10', fieldName: 'locg_status_nm_10', header: { text: '지자체진행상태' } },
{ name: 'status_10', fieldName: 'status_10', header: { text: '진행상태' } },
// 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 },
// 10. 물재이용 (_11)
{ name: 'locg_charger_11', fieldName: 'locg_charger_11', header: { text: '제출자' } },
{ name: 'locg_cttpc_11', fieldName: 'locg_cttpc_11', header: { text: '연락처' } },
{ name: 'locg_status_nm_11', fieldName: 'locg_status_nm_11', header: { text: '지자체진행상태' } },
{ name: 'status_11', fieldName: 'status_11', header: { text: '진행상태' } },
// 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 },
// 11. 하수및분뇨찌꺼기 (_12)
{ name: 'locg_charger_12', fieldName: 'locg_charger_12', header: { text: '제출자' } },
{ name: 'locg_cttpc_12', fieldName: 'locg_cttpc_12', header: { text: '연락처' } },
{ name: 'locg_status_nm_12', fieldName: 'locg_status_nm_12', header: { text: '지자체진행상태' } },
{ name: 'status_12', fieldName: 'status_12', header: { text: '진행상태' } },
// 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 },
// 12. 하수및분뇨관련산업 (_13)
{ name: 'locg_charger_13', fieldName: 'locg_charger_13', header: { text: '제출자' } },
{ name: 'locg_cttpc_13', fieldName: 'locg_cttpc_13', header: { text: '연락처' } },
{ name: 'locg_status_nm_13', fieldName: 'locg_status_nm_13', header: { text: '지자체진행상태' } },
{ name: 'status_13', fieldName: 'status_13', header: { text: '진행상태' } },
// 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 },
// 13. 하수도서비스수준 (_15)
{ name: 'locg_charger_15', fieldName: 'locg_charger_15', header: { text: '제출자' } },
{ name: 'locg_cttpc_15', fieldName: 'locg_cttpc_15', header: { text: '연락처' } },
{ name: 'locg_status_nm_15', fieldName: 'locg_status_nm_15', header: { text: '지자체진행상태' } },
{ name: 'status_15', fieldName: 'status_15', header: { text: '진행상태' } },
// 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 },
],
columnLayout: [
{ name: 'addrGroup', header: { text: '구분' }, items: ['sido', 'gugun'] },
'status',
{ name: 'group01', header: { text: '01. 하수도보급율' }, items: ['locg_charger_1', 'locg_cttpc_1', 'locg_status_nm_1', 'status_1'] },
{ name: 'group02', header: { text: '02. 하수관로' }, items: ['locg_charger_3', 'locg_cttpc_3', 'locg_status_nm_3', 'status_3'] },
{ name: 'group03', header: { text: '03. 하수관로유지관리' }, items: ['locg_charger_4', 'locg_cttpc_4', 'locg_status_nm_4', 'status_4'] },
{ name: 'group04', header: { text: '04. 하수저류시설' }, items: ['locg_charger_5', 'locg_cttpc_5', 'locg_status_nm_5', 'status_5'] },
{ name: 'group05', header: { text: '05. 펌프장' }, items: ['locg_charger_6', 'locg_cttpc_6', 'locg_status_nm_6', 'status_6'] },
{ name: 'group06', header: { text: '06. 공공하수처리시설' }, items: ['locg_charger_7', 'locg_cttpc_7', 'locg_status_nm_7', 'status_7'] },
{ name: 'group07', header: { text: '07. 분뇨처리시설' }, items: ['locg_charger_8', 'locg_cttpc_8', 'locg_status_nm_8', 'status_8'] },
{ name: 'group08', header: { text: '08. 개인하수처리시설' }, items: ['locg_charger_9', 'locg_cttpc_9', 'locg_status_nm_9', 'status_9'] },
{ name: 'group09', header: { text: '09. 하수도재정' }, items: ['locg_charger_10', 'locg_cttpc_10', 'locg_status_nm_10', 'status_10'] },
{ name: 'group10', header: { text: '10. 물재이용' }, items: ['locg_charger_11', 'locg_cttpc_11', 'locg_status_nm_11', 'status_11'] },
{ name: 'group11', header: { text: '11. 하수및분뇨찌꺼기' }, items: ['locg_charger_12', 'locg_cttpc_12', 'locg_status_nm_12', 'status_12'] },
{ name: 'group12', header: { text: '12. 하수및분뇨관련산업' }, items: ['locg_charger_13', 'locg_cttpc_13', 'locg_status_nm_13', 'status_13'] },
{ name: 'group13', header: { text: '13. 하수도서비스수준' }, items: ['locg_charger_15', 'locg_cttpc_15', 'locg_status_nm_15', 'status_15'] }
{ 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'] }
]
};
@@ -0,0 +1,39 @@
import axios from "axios";
import { ENDPOINT } from "@/shared/config";
import {
type StatsInputStatusReviewService,
type StatsInputStatusReviewApiResponse,
} from "../model/statistics-input-review-interface";
export class StatsInputStatusReviewApiService implements StatsInputStatusReviewService {
/**
* 통계 입력 현황 목록 조회
* @param params (yr, bsnmCd, sido, gugun)
*/
public async getStatsInputStatusList(
params: { yr?: number; bsnmCd?: string; sido?: string; gugun?: string }
): Promise<StatsInputStatusReviewApiResponse> {
const response = await axios.get<StatsInputStatusReviewApiResponse>(
`${ENDPOINT.ST_SERVICE.REVIEW}/input-status`,
{
params: params
}
);
return response.data;
}
public async checkInputPeriod(params: string | number): Promise<any> {
const response = await axios.get<any>(
`${ENDPOINT.ST_SERVICE.INPUTCOMMON}/check-input-period?year=${params}`
);
return response.data;
}
}
export const statsInputStatusReviewApi = new StatsInputStatusReviewApiService();
@@ -0,0 +1,124 @@
import type { ApiResponse } from "./statistics-interface";
/**
* 00.검토-통계 입력현황 아이템 인터페이스
*/
export interface StatsInputStatusReviewItem {
chk: string;
sido: string;
gugun: string;
yr: string;
bsnmCd: string;
status: string; // 전체 진행상태
// 01. 하수도보급율
locgCharger1: string;
locgCttpc1: string;
locgStatusNm1: string;
status1: string;
cnt1: number;
// 02. 하수관로 (DTO/Mapper 필드: 3)
locgCharger3: string;
locgCttpc3: string;
locgStatusNm3: string;
status3: string;
cnt3: number;
// 03. 하수관로유지관리 (DTO/Mapper 필드: 4)
locgCharger4: string;
locgCttpc4: string;
locgStatusNm4: string;
status4: string;
cnt4: number;
// 04. 하수저류시설 (DTO/Mapper 필드: 5)
locgCharger5: string;
locgCttpc5: string;
locgStatusNm5: string;
status5: string;
cnt5: number;
// 05. 펌프장 (DTO/Mapper 필드: 6)
locgCharger6: string;
locgCttpc6: string;
locgStatusNm6: string;
status6: string;
cnt6: number;
// 06. 공공하수처리시설 (DTO/Mapper 필드: 7)
locgCharger7: string;
locgCttpc7: string;
locgStatusNm7: string;
status7: string;
cnt7: number;
// 07. 분뇨처리시설 (DTO/Mapper 필드: 8)
locgCharger8: string;
locgCttpc8: string;
locgStatusNm8: string;
status8: string;
cnt8: number;
// 08. 개인하수처리시설 (DTO/Mapper 필드: 9)
locgCharger9: string;
locgCttpc9: string;
locgStatusNm9: string;
status9: string;
cnt9: number;
// 09. 하수도재정 (DTO/Mapper 필드: 10)
locgCharger10: string;
locgCttpc10: string;
locgStatusNm10: string;
status10: string;
cnt10: number;
// 10. 물재이용 (DTO/Mapper 필드: 11)
locgCharger11: string;
locgCttpc11: string;
locgStatusNm11: string;
status11: string;
cnt11: number;
// 11. 하수및분뇨찌꺼기 (DTO/Mapper 필드: 12)
locgCharger12: string;
locgCttpc12: string;
locgStatusNm12: string;
status12: string;
cnt12: number;
// 12. 하수및분뇨관련산업 (DTO/Mapper 필드: 13)
locgCharger13: string;
locgCttpc13: string;
locgStatusNm13: string;
status13: string;
cnt13: number;
// 13. 하수도서비스수준 (DTO/Mapper 필드: 15)
locgCharger15: string;
locgCttpc15: string;
locgStatusNm15: string;
status15: string;
cnt15: number;
}
export interface StatsInputStatusReviewResponseData {
// 백엔드 Response 클래스의 필드명인 sewerageSupplyRateList와 일치
sewerageSupplyRateList: StatsInputStatusReviewItem[];
}
export type StatsInputStatusReviewApiResponse = ApiResponse<StatsInputStatusReviewResponseData> & {
message: string;
};
export interface StatsInputStatusReviewService {
getStatsInputStatusList(params: {
yr?: number;
bsnmCd?: string;
sido?: string;
gugun?: string;
}): Promise<StatsInputStatusReviewApiResponse>;
}