diff --git a/apps/dm/app/(with-layout)/status/_components/GreywaterStatusSection.tsx b/apps/dm/app/(with-layout)/status/_components/GreywaterStatusSection.tsx
index 1972ee993..42020947e 100644
--- a/apps/dm/app/(with-layout)/status/_components/GreywaterStatusSection.tsx
+++ b/apps/dm/app/(with-layout)/status/_components/GreywaterStatusSection.tsx
@@ -1,7 +1,10 @@
+/**
+ * 중수도
+ */
"use client";
import React from "react";
-import { useEffect, useMemo } from "react";
+import { useEffect } from "react";
// import SubPageHeader from "@/components/SubPageHeader";
import Image from "next/image";
import { useDmStore } from "@/app/store";
diff --git a/apps/dm/app/(with-layout)/status/_components/SewageStatusSection.tsx b/apps/dm/app/(with-layout)/status/_components/SewageStatusSection.tsx
index 472018023..244220440 100644
--- a/apps/dm/app/(with-layout)/status/_components/SewageStatusSection.tsx
+++ b/apps/dm/app/(with-layout)/status/_components/SewageStatusSection.tsx
@@ -1,7 +1,21 @@
+/**
+ * 하수처리수
+ */
"use client";
import React from "react";
import Image from "next/image";
+import { useEffect } from "react";
+import { useDmStore } from "@/app/store";
+import { formatUsage } from "@/app/common/transValueFormat";
+import type {
+ DmStatusLawYearsType,
+ DmStatusBildTpYearsType,
+ DmStatusUsgYearsType,
+ DmStatusSidoUsgType,
+ TableHeaderType,
+} from "@/app/store/dm-status/type";
+import { Col2Name } from "@/app/store/dm-status/type";
function SectionTitle({ children }: { children: React.ReactNode }) {
return (
@@ -16,14 +30,6 @@ function Hr({ className = "" }: { className?: string }) {
return
;
}
-function SourceText() {
- return (
-
- 자료: 환경부(2024), 「2023 하수도 통계」
-
- );
-}
-
function SewageIntroSummary() {
const items = [
{
@@ -113,7 +119,217 @@ const tableStyles = {
headerBg: "bg-[#E3E7EA]",
};
+const headerColors6 = [
+ "bg-[#01ACE5]",
+ "bg-[#17AFC7]",
+ "bg-[#2CB2A9]",
+ "bg-[#42B58B]",
+ "bg-[#57B86D]",
+ "bg-[#81C784]",
+];
+
export default function SewageStatusSection() {
+ const getPbnstByLawYears = useDmStore((state) => state.getPbnstByLawYears);
+ const getPbnstByUsgYears = useDmStore((state) => state.getPbnstByUsgYears);
+ const getPbnstByCpcYears = useDmStore((state) => state.getPbnstByCpcYears);
+ const getPbnstBySidoYears = useDmStore((state) => state.getPbnstBySidoYears);
+ const pbnstYears = useDmStore((state) => state.pbnst.pbnstYears);
+ const selectYear = pbnstYears.slice(-1)[0];
+ const pbnstByLawYearsHeader = useDmStore((state) => state.pbnst.pbnstByLawYearsHeader);
+ const pbnstByLawYears = useDmStore((state) => state.pbnst.pbnstByLawYears);
+ const pbnstByUsgYearsHeader = useDmStore((state) => state.pbnst.pbnstByUsgYearsHeader);
+ const pbnstByUsgYears = useDmStore((state) => state.pbnst.pbnstByUsgYears);
+ const pbnstByCpcYearsHeader = useDmStore((state) => state.pbnst.pbnstByCpcYearsHeader);
+ const pbnstByCpcYears = useDmStore((state) => state.pbnst.pbnstByCpcYears);
+ const pbnstBySidoYearsHeader = useDmStore((state) => state.pbnst.pbnstBySidoYearsHeader);
+ const pbnstBySidoYears = useDmStore((state) => state.pbnst.pbnstBySidoYears);
+
+ // 출처 텍스트
+ function SourceText() {
+ return (
+
+ 자료: 하수도정보시스템 {selectYear} 하수도 통계
+
+ );
+ }
+
+ useEffect(() => {
+ void getPbnstByLawYears();
+ void getPbnstByUsgYears();
+ void getPbnstByCpcYears();
+ void getPbnstBySidoYears();
+ }, [getPbnstByLawYears, getPbnstByUsgYears, getPbnstByCpcYears, getPbnstBySidoYears]);
+
+ const renderPartHeaders = (headers: string[], headerColors: string[]) => {
+ return headers.map((header, index) => (
+
+ {header}
+ |
+ ));
+ };
+
+ const renderCells = (
+ rowIdx: number,
+ row: DmStatusLawYearsType | DmStatusUsgYearsType,
+ data: DmStatusLawYearsType[] | DmStatusUsgYearsType[],
+ headers: TableHeaderType[],
+ unitSize: number = 1, // 단위 변경 1000 인 경우, 100,000 -> 100 으로 변경
+ ) => {
+ const rowData = row as Record;
+ const currentCol1 = String(rowData["COL1"] ?? "");
+
+ // 이전 값
+ const prevCol1 = rowIdx > 0 ? data[rowIdx - 1]?.COL1 : null;
+
+ // 현재 그룹의 rowspan 계산
+ const getRowSpan = () => {
+ let count = 0;
+ for (let i = rowIdx; i < data.length; i++) {
+ if (data[i]?.COL1 === currentCol1) count++;
+ else break;
+ }
+ return count;
+ };
+
+ return headers.map((header, index) => {
+ const value = rowData[header.id];
+
+ // COL1 처리 (rowspan 핵심)
+ if (header.id === "COL1") {
+ // 이전과 같으면 렌더링 안함
+ if (currentCol1 === prevCol1) return null;
+
+ return (
+
+ {value}
+ |
+ );
+ } else if (header.id === "COL2") {
+ return (
+ |
+ );
+ }
+
+ return (
+
+ {(String(rowData["COL2"]).indexOf("CNT") > -1)
+ ? Number(value).toLocaleString("ko-KR")
+ : ((String(rowData["COL2"]).indexOf("REUSERT") > -1)
+ ? formatUsage(value as string | number, 1, 1)
+ : formatUsage(value as string | number, unitSize, 1))
+ }
+ |
+ );
+ });
+ };
+
+ const renderPbnstUsgCells = (
+ rowIdx: number,
+ row: DmStatusBildTpYearsType | DmStatusUsgYearsType,
+ headers: TableHeaderType[]
+ ) => {
+ const rowData = row as Record;
+ const isLastInGroup = rowIdx === 8 || rowIdx === 17;
+
+ const getType = (colNm:string) => {
+ const last3 = colNm.slice(-3); // 끝 3자리
+ const prefix = last3[0]; // S 또는 D
+
+ if (prefix === 'S') {
+ const num = parseInt(last3.slice(1), 10); // 숫자
+ if (num < 8) return 'red-item';
+ if (num >= 8) return 'blue-item';
+ }
+
+ return ''; // 조건 안 맞으면 빈값 (필요시 기본값)
+ };
+
+ return headers.map((header, index) => {
+ const value = rowData[header.id];
+ const colNm = String(rowData["COL_NM"] ?? "");
+ const type = getType(colNm);
+ const isSubItem = type === "red-item" || type === "blue-item";
+
+ if (index === 0) {
+ console.log(header.id, value);
+ return (
+
+ {isSubItem ? (
+ <>
+
+
+
+ {value}
+
+ >
+ ) : (
+
+ {value}
+
+ )}
+ |
+ );
+ }
+
+ return (
+
+ {formatUsage(value as string | number, 1000, 1)}
+ |
+ );
+
+ });
+ };
+
+ const renderSidoUsgCells = (
+ rowIdx: number,
+ row: DmStatusSidoUsgType,
+ headers: TableHeaderType[]
+ ) => {
+ const rowData = row as Record;
+
+ return headers.map((header, index) => {
+ let value = rowData[header.id];
+ value = index === 0 ? value : formatUsage(value as string | number, 1000, 1);
+ value = value === "0.0"? "-" : value;
+
+ return (
+
+ {value}
+ |
+ );
+ });
+ };
+
const title = "하수처리수 재이용시설(현황)";
return (
@@ -155,181 +371,15 @@ export default function SewageStatusSection() {
>
구분
-
- 2018
- |
-
- 2019
- |
-
- 2020
- |
-
- 2021
- |
-
- 2022
- |
-
- 2023
- |
+ {renderPartHeaders(pbnstYears, headerColors6)}
- {[
- {
- group: "전체",
- rows: [
- [
- "개소수 (개소)",
- "671",
- "681",
- "698",
- "704",
- "714",
- "717",
- ],
- [
- "하수처리량 (백만m³/년)",
- "7,163.7",
- "7,140.4",
- "7,375.6",
- "7,335.8",
- "7,378.9",
- "7,537.2",
- ],
- [
- "재이용량 (백만m³/년)",
- "1,112.7",
- "1,148.7",
- "1,148.7",
- "1,127.0",
- "1,136.8",
- "1,137.5",
- ],
- [
- "재이용률 (%)",
- "17.4",
- "16.5",
- "15.5",
- "14.1",
- "14.3",
- "14.4",
- ],
- ],
- },
- {
- group: "법적 대상",
- rows: [
- [
- "개소수 (개소)",
- "68",
- "82",
- "94",
- "97",
- "101",
- "118",
- ],
- [
- "하수처리량 (백만m³/년)",
- "761.2",
- "839.0",
- "935.3",
- "1,158.7",
- "1,220.6",
- "1,473.6",
- ],
- [
- "재이용량 (백만m³/년)",
- "162.2",
- "190.6",
- "218.5",
- "244.6",
- "247.2",
- "324.9",
- ],
- [
- "재이용률 (%)",
- "24.7",
- "25.4",
- "27.8",
- "25.7",
- "24.2",
- "24.1",
- ],
- ],
- },
- {
- group: "법적 미대상",
- rows: [
- [
- "개소수 (개소)",
- "603",
- "599",
- "604",
- "607",
- "613",
- "599",
- ],
- [
- "하수처리량 (백만m³/년)",
- "6,402.5",
- "6,301.4",
- "6,440.3",
- "6,177.1",
- "6,158.3",
- "6,063.5",
- ],
- [
- "재이용량 (백만m³/년)",
- "950.6",
- "958.1",
- "926.2",
- "882.4",
- "889.5",
- "812.7",
- ],
- [
- "재이용률 (%)",
- "16.5",
- "15.3",
- "13.6",
- "12.2",
- "12.6",
- "12.5",
- ],
- ],
- },
- ].map((section, sIdx) => (
-
- {section.rows.map((row, rIdx) => (
-
- {rIdx === 0 && (
- |
- {section.group}
- |
- )}
- {row.map((val, i) => {
- const isFirstCol = i === 0;
- const isHighlightedCol = [1, 3, 5].includes(i);
-
- return (
- |
- );
- })}
-
- ))}
-
- ))}
+ {pbnstByLawYears.map((row, idx, arr) => (
+
+ {renderCells(idx, row, arr, pbnstByLawYearsHeader, 1000)}
+
+ ))}
@@ -341,12 +391,15 @@ export default function SewageStatusSection() {
- {/* 2) 연도별 하수처리수 재이용 현황 */}
+ {/* 2) 용도별 하수처리수 재이용 현황 */}
- 연도별 하수처리수 재이용 현황
+ 용도별 하수처리수 재이용 현황
+
+ (단위: 백만m³/일)
+
@@ -362,91 +415,15 @@ export default function SewageStatusSection() {
|
구분
|
-
- 2018
- |
-
- 2019
- |
-
- 2020
- |
-
- 2021
- |
-
- 2022
- |
-
- 2023
- |
+ {renderPartHeaders(pbnstYears, headerColors6)}
- {[
- { label: "총 재이용량", type: "total", values: ["1,112.7", "1,148.7", "1,144.7", "1,127.0", "1,136.8", "1,137.5"] },
- { label: "장내 재이용", type: "category", values: ["520.6", "519.8", "513.9", "520.3", "502.2", "490.0"] },
- { label: "세척수", type: "red-item", values: ["177.9", "174.4", "169.4", "180.9", "196.8", "191.2"] },
- { label: "냉각수", type: "red-item", values: ["45.5", "46.8", "50.4", "40.6", "38.3", "41.7"] },
- { label: "청소수", type: "red-item", values: ["17.6", "21.2", "21.2", "21.7", "20.8", "20.5"] },
- { label: "조경용수", type: "red-item", values: ["0.1", "0.1", "-", "-", "-", "-"] },
- { label: "회생용수", type: "red-item", values: ["15.8", "16.7", "17.8", "15.7", "14.4", "14.0"] },
- { label: "장내급수도", type: "red-item", values: ["2.4", "-", "-", "-", "-", "-"] },
- { label: "장내기타용수", type: "red-item", values: ["261.3", "260.6", "255.0", "261.1", "231.8", "222.6"] },
- { label: "장외 재이용", type: "category", values: ["592.1", "628.9", "630.8", "606.7", "634.6", "647.5"] },
- { label: "청소·화장실용수", type: "blue-item", values: ["0.6", "0.4", "0.4", "0.4", "0.4", "0.4"] },
- { label: "세척·살수용수", type: "blue-item", values: ["5.6", "9.9", "2.9", "2.1", "3.0", "3.6"] },
- { label: "조경용수", type: "blue-item", values: ["10.3", "16.4", "5.9", "4.5", "8.9", "9.5"] },
- { label: "친수용수", type: "blue-item", values: ["7.8", "3.1", "3.1", "3.0", "10.9", "10.5"] },
- { label: "하천유지용수", type: "blue-item", values: ["480.5", "482.5", "496.2", "442.7", "471.7", "484.0"] },
- { label: "농업용수", type: "blue-item", values: ["12.2", "11.9", "13.4", "10.7", "10.6", "11.4"] },
- { label: "지하수 충전", type: "blue-item", values: ["0.0", "0.0", "0.0", "13.4", "0.0", "0.0"] },
- { label: "공업용수", type: "blue-item", values: ["75.2", "104.6", "108.9", "129.9", "129.0", "128.1"] },
- ].map((row, idx) => {
- const isSubItem = row.type === "red-item" || row.type === "blue-item";
- const isLastInGroup = idx === 8 || idx === 17;
-
- return (
-
- |
- {isSubItem ? (
- <>
-
-
-
- {row.label}
-
- >
- ) : (
-
- {row.label}
-
- )}
- |
-
- {row.values.map((val, i) => (
-
- {val}
- |
- ))}
+ {pbnstByUsgYears.map((row, idx) => (
+
+ {renderPbnstUsgCells(idx, row, pbnstByUsgYearsHeader)}
- );
- })}
+ ))}
@@ -482,153 +459,14 @@ export default function SewageStatusSection() {
>
구분
-
- 2018
- |
-
- 2019
- |
-
- 2020
- |
-
- 2021
- |
-
- 2022
- |
-
- 2023
- |
+ {renderPartHeaders(pbnstYears, headerColors6)}
- {[
- {
- group: "전체",
- rows: [
- [
- "시설수 (개소)",
- "671",
- "681",
- "698",
- "704",
- "714",
- "717",
- ],
- [
- "시설용량 (만m³/일)",
- "25,846",
- "26,067",
- "26,244",
- "26,492",
- "26,586",
- "26,766",
- ],
- [
- "처리용량 (만m³/일)",
- "1,112.7",
- "1,148.7",
- "1,144.7",
- "1,127.0",
- "1,136.8",
- "1,137.5",
- ],
- ],
- },
- {
- group: "법적 대상",
- rows: [
- [
- "시설수 (개소)",
- "68",
- "82",
- "94",
- "97",
- "101",
- "118",
- ],
- [
- "시설용량 (만m³/일)",
- "3,088.9",
- "3,359.2",
- "3,612.6",
- "4,412.2",
- "4,692.3",
- "5,503.8",
- ],
- [
- "처리용량 (만m³/일)",
- "162.2",
- "190.6",
- "218.5",
- "244.6",
- "247.2",
- "324.9",
- ],
- ],
- },
- {
- group: "법적 미대상",
- rows: [
- [
- "시설수 (개소)",
- "603",
- "599",
- "604",
- "607",
- "613",
- "599",
- ],
- [
- "시설용량 (만m³/일)",
- "22,757",
- "22,708",
- "22,631",
- "22,080",
- "21,894",
- "21,262",
- ],
- [
- "처리용량 (만m³/일)",
- "950.6",
- "958.1",
- "926.2",
- "882.4",
- "889.5",
- "812.7",
- ],
- ],
- },
- ].map((section, sIdx) => (
-
- {section.rows.map((row, rIdx) => (
-
- {rIdx === 0 && (
- |
- {section.group}
- |
- )}
- {row.map((val, i) => {
- const isFirstCol = i === 0;
- const isHighlightedCol = [1, 3, 5].includes(i);
-
- return (
- |
- );
- })}
-
- ))}
-
+ {pbnstByCpcYears.map((row, idx, arr) => (
+
+ {renderCells(idx, row, arr, pbnstByCpcYearsHeader, 10000)}
+
))}
@@ -669,60 +507,28 @@ export default function SewageStatusSection() {
- |
- 시도
+ | 시도 |
+
+ 연간 하수 처리량
|
-
- 연간
-
- 하수
-
- 처리량
- |
-
+ |
재이용현황
|
-
- 재이용률
-
- (%)
+ |
+ 재이용률 (%)
|
-
+ |
비고
|
- |
+ |
계
|
-
+ |
장내
|
-
+ |
장외
|
@@ -745,38 +551,10 @@ export default function SewageStatusSection() {
- {[
- ["합계", "7,537.2", "1,137.5", "490.0", "647.5", "484.0", "128.1", "11.4", "24.0", "15.1%", ""],
- ["서울특별시", "1,567.0", "114.9", "59.3", "55.6", "55.1", "-", "-", "0.5", "7.3%", ""],
- ["부산광역시", "491.5", "146.2", "120.7", "25.5", "25.3", "-", "-", "0.2", "29.7%", ""],
- ["대구광역시", "432.7", "102.4", "38.2", "64.2", "64.1", "-", "-", "0.1", "23.7%", ""],
- ["인천광역시", "302.3", "57.7", "11.6", "46.1", "29.2", "12.1", "0.5", "4.3", "19.1%", ""],
- ["광주광역시", "211.1", "28.7", "6.5", "22.3", "22.2", "-", "-", "0.1", "13.6%", ""],
- ["대전광역시", "244.6", "11.9", "11.9", "0.68", "0.0", "-", "-", "0.1", "4.9%", ""],
- ["울산광역시", "235.1", "36.1", "6.1", "29.9", "29.7", "0.2", "-", "-", "15.3%", ""],
- ["세종특별자치시", "38.5", "2.5", "2.0", "0.5", "0.4", "-", "0.2", "-", "6.6%", ""],
- ["경기도", "1,926.8", "313.3", "122.2", "191.0", "153.0", "33.3", "0.4", "4.3", "16.3%", ""],
- ["강원도", "230.4", "19.6", "15.4", "4.2", "2.1", "-", "-", "2.1", "8.5%", ""],
- ["충청북도", "190.9", "15.6", "6.3", "9.2", "7.4", "0.6", "-", "1.2", "8.2%", ""],
- ["충청남도", "241.5", "41.4", "9.8", "31.5", "17.7", "8.6", "4.5", "0.8", "17.1%", ""],
- ["전라북도", "292.4", "42.7", "7.5", "35.1", "33.5", "0.2", "1.0", "0.5", "14.6%", ""],
- ["전라남도", "254.0", "23.6", "12.3", "11.3", "8.7", "0.0", "1.0", "1.6", "9.3%", ""],
- ["경상북도", "378.4", "129.1", "33.7", "95.3", "20.8", "72.5", "0.8", "1.3", "34.1%", ""],
- ["경상남도", "411.3", "50.1", "25.0", "25.0", "14.7", "0.5", "3.0", "6.9", "12.2%", ""],
- ["제주특별자치도", "88.6", "1.7", "1.5", "0.12", "-", "-", "0.1", "-", "1.9%", ""],
- ].map((row, idx) => (
-
- {row.map((val, i) => (
- |
- {val}
- |
- ))}
-
+ {pbnstBySidoYears.map((row, idx) => (
+
+ {renderSidoUsgCells(idx, row, pbnstBySidoYearsHeader)}
+
))}
@@ -788,4 +566,4 @@ export default function SewageStatusSection() {
);
-}
\ No newline at end of file
+}
diff --git a/apps/dm/app/common/transValueFormat.tsx b/apps/dm/app/common/transValueFormat.tsx
index 4486d7d93..92f7024e4 100644
--- a/apps/dm/app/common/transValueFormat.tsx
+++ b/apps/dm/app/common/transValueFormat.tsx
@@ -37,6 +37,7 @@ export const formatUsage = (
unitSize: number = 1,
decimalPlaces: number = 0
) => {
+ if (value === null || value === undefined || value === "") return "";
const numeric =
typeof value === "number" ? value : Number(String(value).replaceAll(",", ""));
diff --git a/apps/dm/app/store/dm-status/index.tsx b/apps/dm/app/store/dm-status/index.tsx
index 0eecdf7da..0b3a915c0 100644
--- a/apps/dm/app/store/dm-status/index.tsx
+++ b/apps/dm/app/store/dm-status/index.tsx
@@ -1,7 +1,7 @@
import { fetchType, getFetch } from "@/components/ui/api";
import type {
TableHeaderType, DmStatusBildTpYearsType, DmStatusUsgBildTpType, DmStatusUsgYearsType,
- DmStatusLawYearsType,
+ DmStatusLawYearsType, DmStatusSidoUsgType,
} from "./type";
import { rainyByBildTpYearsHeader, rainyByUsgBildTpHeader, rainyByUsgYearsHeader } from "./type";
import { rswtrByLawYearsHeader, rswtrByBildTpYearsHeader, rswtrByUsgYearsHeader } from "./type";
@@ -47,10 +47,10 @@ export type DmStatusType = {
pbnstByUsgYearsHeader: TableHeaderType[];
pbnstByCpcYearsHeader: TableHeaderType[];
pbnstBySidoYearsHeader: TableHeaderType[];
- pbnstByLawYears: DmStatusBildTpYearsType[];
- pbnstByUsgYears: DmStatusBildTpYearsType[];
- pbnstByCpcYears: DmStatusBildTpYearsType[];
- pbnstBySidoYears: DmStatusBildTpYearsType[];
+ pbnstByLawYears: DmStatusLawYearsType[];
+ pbnstByUsgYears: DmStatusUsgYearsType[];
+ pbnstByCpcYears: DmStatusLawYearsType[];
+ pbnstBySidoYears: DmStatusSidoUsgType[];
}
};
@@ -201,11 +201,16 @@ export const DmStatusReducer = (set: any): DmStatusActions => {
getPbnstByLawYears: async () => {
const res = await getFetch(fetchType.WR,"/dmStatus/pbnstByLawYears");
const pbnstByLawYears = Array.isArray(res?.data) ? res.data : [];
+ const maxYear = Number(pbnstByLawYears[0]?.MAXYR);
+ const pbnstYears = Number.isFinite(maxYear)
+ ? Array.from({ length: 6 }, (_, index) => String(maxYear - 5 + index))
+ : dmStatusState.rswtr.rswtrYears;
set((state: DmStatusType) => ({
...state,
pbnst: {
...state.pbnst,
+ pbnstYears,
pbnstByLawYears,
}
}));
diff --git a/apps/dm/app/store/dm-status/type.ts b/apps/dm/app/store/dm-status/type.ts
index 8005b35cc..dcce808f8 100644
--- a/apps/dm/app/store/dm-status/type.ts
+++ b/apps/dm/app/store/dm-status/type.ts
@@ -45,6 +45,7 @@ export type DmStatusUsgYearsType = {
Y4: string | number;
Y5: string | number;
Y6: string | number;
+ COL_NM?: string; // 컬럼명
MAXYR?: string; // 최종 확정 연도
};
@@ -60,15 +61,23 @@ export type DmStatusLawYearsType = {
Y6: string | number;
};
-export type DmStatusSidoYearsType = {
- COL: string; // 컬럼 구분
- MAXYR?: string; // 최종 확정 연도
- Y1: string | number;
- Y2: string | number;
- Y3: string | number;
- Y4: string | number;
- Y5: string | number;
- Y6: string | number;
+export type DmStatusSidoUsgType = {
+ ADST_CD: string; // 시도 코드
+ SIDONM: string; // 시도명
+ TPUT_TOTAL: string; // 연간하수처리량(천톤/년)
+ USE_AMNT_TOTAL: number; // 재이용현황
+ USE_AMNT_D01: number;
+ USE_AMNT_D02: number;
+ USE_AMNT_S11: number; // 청소·화장실용수
+ USE_AMNT_S12: number; // 세척·살수용수
+ USE_AMNT_S13: number; // 조경용수
+ USE_AMNT_S14: number; // 친수용수
+ USE_AMNT_S15: number; // 하천유지용수
+ USE_AMNT_S16: number; // 농업용수
+ USE_AMNT_S17: number; // 지하수충전
+ USE_AMNT_S18: number; // 공업용수
+ USE_AMNT_ETC: number; // 기타 (청소·화장실용수+세척·살수용수+조경용수+친수용수+지하수충전)
+ REUSE_RT: number;
};
@@ -226,7 +235,8 @@ export const rswtrByUsgYearsHeader: TableHeaderType[] = [
// 연도별 하수처리수 재이용 현황
export const pbnstByLawYearsHeader: TableHeaderType[] = [
- { id: "BILD_TP", title: "구분", row: 0, widthPercent: 15 },
+ { id: "COL1", title: "구분", row: 0, widthPercent: 15 },
+ { id: "COL2", title: "구분", row: 0, widthPercent: 15 },
{ id: "Y1", title: "2019", row: 1, widthPercent: 5 },
{ id: "Y2", title: "2020", row: 1, widthPercent: 5 },
{ id: "Y3", title: "2021", row: 1, widthPercent: 5 },
@@ -237,7 +247,7 @@ export const pbnstByLawYearsHeader: TableHeaderType[] = [
// 용도별 하수처리수 재이용 현황
export const pbnstByUsgYearsHeader: TableHeaderType[] = [
- { id: "BILD_TP", title: "구분", row: 0, widthPercent: 15 },
+ { id: "USG_NM", title: "용도", row: 0, widthPercent: 15 },
{ id: "Y1", title: "2019", row: 1, widthPercent: 5 },
{ id: "Y2", title: "2020", row: 1, widthPercent: 5 },
{ id: "Y3", title: "2021", row: 1, widthPercent: 5 },
@@ -248,7 +258,8 @@ export const pbnstByUsgYearsHeader: TableHeaderType[] = [
// 하수처리시설 설치 및 이용 현황
export const pbnstByCpcYearsHeader: TableHeaderType[] = [
- { id: "USE_NM", title: "용도", row: 0, widthPercent: 15 },
+ { id: "COL1", title: "구분", row: 0, widthPercent: 15 },
+ { id: "COL2", title: "구분", row: 0, widthPercent: 15 },
{ id: "Y1", title: "2019", row: 1, widthPercent: 5 },
{ id: "Y2", title: "2020", row: 1, widthPercent: 5 },
{ id: "Y3", title: "2021", row: 1, widthPercent: 5 },
@@ -259,12 +270,16 @@ export const pbnstByCpcYearsHeader: TableHeaderType[] = [
// 시도별 하수처리수 재이용 현황
export const pbnstBySidoYearsHeader: TableHeaderType[] = [
- { id: "USE_NM", title: "용도", row: 0, widthPercent: 15 },
- { id: "Y1", title: "2019", row: 1, widthPercent: 5 },
- { id: "Y2", title: "2020", row: 1, widthPercent: 5 },
- { id: "Y3", title: "2021", row: 1, widthPercent: 5 },
- { id: "Y4", title: "2022", row: 0, widthPercent: 7 },
- { id: "Y5", title: "2023", row: 0, widthPercent: 10 },
- { id: "Y6", title: "2024", row: 1, widthPercent: 5 },
+ { id: "SIDONM", title: "시도", row: 0, widthPercent: 15 },
+ { id: "TPUT_TOTAL", title: "연간하수처리량", row: 1, widthPercent: 5 },
+ { id: "USE_AMNT_TOTAL", title: "재이용현황계", row: 1, widthPercent: 5 },
+ { id: "USE_AMNT_D01", title: "재이용현황 장내", row: 1, widthPercent: 5 },
+ { id: "USE_AMNT_D02", title: "재이용현황 장외소계", row: 0, widthPercent: 7 },
+ { id: "USE_AMNT_S15", title: "장외 하천유지용수", row: 0, widthPercent: 10 },
+ { id: "USE_AMNT_S16", title: "장외 농업용수", row: 1, widthPercent: 5 },
+ { id: "USE_AMNT_S18", title: "장외 공업용수", row: 1, widthPercent: 5 },
+ { id: "USE_AMNT_ETC", title: "장외 기타용수", row: 1, widthPercent: 5 },
+ { id: "REUSE_RT", title: "재이용률", row: 1, widthPercent: 5 },
+ { id: "REMARK", title: "비고", row: 1, widthPercent: 5 },
];