diff --git a/apps/st/src/components/statistics/management/PublicSewageFacilityMng.tsx b/apps/st/src/components/statistics/management/PublicSewageFacilityMng.tsx
index 3097a90c0..569452b55 100644
--- a/apps/st/src/components/statistics/management/PublicSewageFacilityMng.tsx
+++ b/apps/st/src/components/statistics/management/PublicSewageFacilityMng.tsx
@@ -1,9 +1,237 @@
-import SearchForm from "@/components/module/SearchForm";
+import SearchForm from '@/components/module/SearchForm';
+import DataGrid from '@/components/module/DataGrid';
+import SubmitButton from '@/components/button/SumitButton';
+import SaveButton from '@/components/button/SaveButton';
+import LastYearDataButton from '@/components/button/LastYearDataButton';
+import SubmitExceptionButton from '@/components/button/SubmitExceptionButton';
+// 하수도 통계 관리 > 06. 공공하수처리시설
const PublicSewageFacilityMng = () => {
+ const columns = [
+ // 행정구역
+ { name: 'sidoCd', fieldName: '시도', header: { text: '시도' } },
+ { name: 'gugun', fieldName: '구군', header: { text: '구군' } },
+
+ // 시설명
+ { name: 'bscFctNm', fieldName: '시설명', header: { text: '시설명(500m³/일 이상/미만)' } },
+
+ // 소재지
+ { name: 'addr', fieldName: '소재지', header: { text: '소재지' } },
+
+ // 시설용량
+ { name: 'fctCpc', fieldName: '시설용량', header: { text: '시설용량(500m³/일 이상/미만)' } },
+
+ // 시설용량 - (m³/일)
+ { name: 'fctCpc1', fieldName: '물리적(시설용량)', header: { text: '물리적' } },
+ { name: 'fctCpc2', fieldName: '생물학적(시설용량)', header: { text: '생물학적' } },
+ { name: 'fctCpc3', fieldName: '고도(시설용량)', header: { text: '고도' } },
+
+ // 유입하수량
+ { name: 'totInflAmntAve', fieldName: '유입하수량', header: { text: '유입하수량(500m³/일 이상/미만)' } },
+
+ // 유입하수량 - (m³/일)
+ { name: 'pInflAmntAve', fieldName: '물리적(유입)', header: { text: '물리적' } },
+ { name: 'oInflAmntAve', fieldName: '생물학적(유입)', header: { text: '생물학적' } },
+ { name: 'aInflAmntAve', fieldName: '고도(유입)', header: { text: '고도' } },
+
+ // 방류량
+ { name: 'totTputAve', fieldName: '방류량', header: { text: '방류량(500m³/일 이상/미만)' } },
+
+ // 방류량 - (m³/일)
+ { name: 'pTputAve', fieldName: '물리적(방류)', header: { text: '물리적' } },
+ { name: 'oTputAve', fieldName: '생물학적(방류)', header: { text: '생물학적' } },
+ { name: 'aTputAve', fieldName: '고도(방류)', header: { text: '고도' } },
+
+ // 수질
+ { name: 'inflAssctBfrWqltBod', fieldName: '유입BOD', header: { text: '유입BOD' } },
+ { name: 'efflWqltBod', fieldName: '방류BOD', header: { text: '방류BOD' } },
+ { name: 'inflAssctBfrWqltToc', fieldName: '유입TOC', header: { text: '유입TOC' } },
+ { name: 'efflWqltToc', fieldName: '방류TOC', header: { text: '방류TOC' } },
+ { name: 'inflAssctBfrWqltSs', fieldName: '유입SS', header: { text: '유입SS' } },
+ { name: 'efflWqltSs', fieldName: '방류SS', header: { text: '방류SS' } },
+ { name: 'inflAssctBfrWqltTn', fieldName: '유입T-N', header: { text: '유입T-N' } },
+ { name: 'efflWqltTn', fieldName: '방류T-N', header: { text: '방류T-N' } },
+ { name: 'inflAssctBfrWqltTp', fieldName: '유입T-P', header: { text: '유입T-P' } },
+ { name: 'efflWqltTp', fieldName: '방류T-P', header: { text: '방류T-P' } },
+ { name: 'inflAssctBfrWqltClfgrpcnt', fieldName: '유입총대장균군수', header: { text: '유입총대장균군수' } },
+ { name: 'efflWqltClfgrpcnt', fieldName: '방류총대장균군수', header: { text: '방류총대장균군수' } },
+
+ // 처리특성
+ { name: 'tmEfficiency', fieldName: '처리효율(%)', header: { text: '처리효율(%)' } },
+ { name: 'pcLoad', fieldName: '처리부하량', header: { text: '처리부하량(kgBOD/D)' } },
+ { name: 'trtFrfHanNm', fieldName: '처리방법', header: { text: '처리방법' } },
+
+ // 연계처리량
+ { name: 'excretionsTot', fieldName: '분뇨', header: { text: '분뇨' } },
+ { name: 'stkrsngWstwtrTot', fieldName: '축산', header: { text: '축산' } },
+ { name: 'lchtTot', fieldName: '침출수', header: { text: '침출수' } },
+ { name: 'etcTot', fieldName: '기타', header: { text: '기타' } },
+
+ // 시설정보
+ { name: 'tel', fieldName: '전화번호', header: { text: '전화번호' } },
+ { name: 'rnDt', fieldName: '준공일', header: { text: '준공일' } },
+ { name: 'compDt', fieldName: '가동개시일', header: { text: '가동개시일' } },
+ { name: 'tot', fieldName: '사업비', header: { text: '사업비' } },
+
+ // 방류수 소독방법
+ { name: 'dsfctNm', fieldName: '방류수 소독방법', header: { text: '방류수 소독방법' } },
+
+ // 방류수역
+ { name: 'wbsnNm', fieldName: '수계', header: { text: '수계' } },
+ { name: 'rvNm', fieldName: '지류', header: { text: '지류' } },
+ { name: 'mdmbsn', fieldName: '세부단위구역', header: { text: '세부단위구역' } },
+ { name: 'efflWqltStndrdNm', fieldName: '지역구분', header: { text: '지역구분' } },
+ { name: 'lgbsn', fieldName: '중권역', header: { text: '중권역' } },
+ { name: 'lgbsnBod', fieldName: '목표수질(BOD)', header: { text: '목표수질(BOD)' } },
+
+ // 에너지
+ { name: 'toeRt', fieldName: '에너지자립률(%)', header: { text: '에너지자립률(%)' } },
+ { name: 'toeSum', fieldName: '계(TOE)', header: { text: '계(TOE)' } },
+ { name: 'elcpwAmnt', fieldName: '총 전력사용량', header: { text: '총 전력사용량(kWh)' } },
+ { name: 'toeQnty', fieldName: '자체 에너지사용량', header: { text: '자체 에너지사용량(TOE)' } },
+
+ // CO2
+ { name: 'co2Emissions', fieldName: 'CO2배출량', header: { text: '하수처리량당 CO2배출량(kgCO2/m³)' } },
+
+ // 운영정보
+ { name: 'oprClsNm', fieldName: '운영주체', header: { text: '운영주체(자체/공기업/민간대행)' } },
+
+ // 위탁현황
+ { name: 'trstOprEtpNm', fieldName: '위탁업체명', header: { text: '위탁업체명' } },
+ { name: 'yrstpTrstCst', fieldName: '위탁비용', header: { text: '위탁비용(백만원/년)' } },
+ { name: 'trstOprDt', fieldName: '위탁계약기간', header: { text: '위탁계약기간(yyyy-mm-dd~yyyy-mm-dd)' } },
+
+ // 기타
+ { name: 'cntrTrtFctNm', fieldName: '중심처리시설', header: { text: '중심처리시설' } },
+ { name: 'totWtrQrm', fieldName: '직원총수', header: { text: '직원총수(명)' } },
+ { name: 'safeAcdntCo', fieldName: '안전사고건수', header: { text: '안전사고건수' } },
+ { name: 'rmk', fieldName: '비고', header: { text: '비고' } },
+ ];
+
+ const columnLayout = [
+ {
+ name: 'administrative',
+ hideChildHeaders: false,
+ header: { text: '행정구역' },
+ items: ['sidoCd', 'gugun'],
+ },
+ 'bscFctNm',
+ 'addr',
+ 'fctCpc',
+ {
+ name: 'facilityCapacityDetail',
+ hideChildHeaders: false,
+ header: { text: '(m³/일)' },
+ items: ['fctCpc1', 'fctCpc2', 'fctCpc3'],
+ },
+ 'totInflAmntAve',
+ {
+ name: 'influentWaterDetail',
+ hideChildHeaders: false,
+ header: { text: '(m³/일)' },
+ items: ['pInflAmntAve', 'oInflAmntAve', 'aInflAmntAve'],
+ },
+ 'totTputAve',
+ {
+ name: 'effluentWaterDetail',
+ hideChildHeaders: false,
+ header: { text: '(m³/일)' },
+ items: ['pTputAve', 'oTputAve', 'aTputAve'],
+ },
+ 'inflAssctBfrWqltBod',
+ 'efflWqltBod',
+ 'inflAssctBfrWqltToc',
+ 'efflWqltToc',
+ 'inflAssctBfrWqltSs',
+ 'efflWqltSs',
+ 'inflAssctBfrWqltTn',
+ 'efflWqltTn',
+ 'inflAssctBfrWqltTp',
+ 'efflWqltTp',
+ 'inflAssctBfrWqltClfgrpcnt',
+ 'efflWqltClfgrpcnt',
+ 'tmEfficiency',
+ 'pcLoad',
+ 'trtFrfHanNm',
+ {
+ name: 'linkedTreatment',
+ hideChildHeaders: false,
+ header: { text: '연계처리량(m³/일) (500m³/일 이상/미만)' },
+ items: ['excretionsTot', 'stkrsngWstwtrTot', 'lchtTot', 'etcTot'],
+ },
+ 'tel',
+ 'rnDt',
+ 'compDt',
+ 'tot',
+ 'dsfctNm',
+ {
+ name: 'dischargeArea',
+ hideChildHeaders: false,
+ header: { text: '방류수역' },
+ items: [
+ 'wbsnNm',
+ 'rvNm',
+ 'mdmbsn',
+ 'efflWqltStndrdNm',
+ {
+ name: 'mediumWatershed',
+ hideChildHeaders: false,
+ header: { text: '중권역' },
+ items: ['lgbsn', 'lgbsnBod'],
+ },
+ ],
+ },
+ 'toeRt',
+ {
+ name: 'energy',
+ hideChildHeaders: false,
+ header: { text: '연간 총 에너지 사용량(TOE)' },
+ items: ['toeSum', 'elcpwAmnt', 'toeQnty'],
+ },
+ 'co2Emissions',
+ 'oprClsNm',
+ {
+ name: 'consignmentStatus',
+ hideChildHeaders: false,
+ header: { text: '위탁현황' },
+ items: ['trstOprEtpNm', 'yrstpTrstCst', 'trstOprDt'],
+ },
+ 'cntrTrtFctNm',
+ 'totWtrQrm',
+ 'safeAcdntCo',
+ 'rmk',
+ ];
+
+ const saveFunc = () => {
+ console.log('save');
+ // 저장 로직: 자동 계산 (합계 필드 계산) 후 저장
+ };
+
+ const submitFunc = () => {
+ console.log('submit');
+ // 제출 로직: 데이터 검증 후 제출 팝업 호출
+ };
+
+ const getLastYearDataFunc = () => {
+ console.log('get last year data');
+ // 지난연도 데이터 가져오기 로직
+ };
+
+ const SubmitExceptionFunc = () => {
+ console.log('submitException');
+ // 예외제출 로직
+ };
+
return (
<>
+
+
+
+
+
+
+
>
);
};
diff --git a/apps/st/src/components/statistics/management/PumpingStationMng.tsx b/apps/st/src/components/statistics/management/PumpingStationMng.tsx
index 1d8dadd65..84d36d225 100644
--- a/apps/st/src/components/statistics/management/PumpingStationMng.tsx
+++ b/apps/st/src/components/statistics/management/PumpingStationMng.tsx
@@ -1,9 +1,174 @@
import SearchForm from "@/components/module/SearchForm";
+import DataGrid from "@/components/module/DataGrid";
+import SubmitButton from "@/components/button/SumitButton";
+import SaveButton from "@/components/button/SaveButton";
+import LastYearDataButton from "@/components/button/LastYearDataButton";
+import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
+// 하수도 통계 관리 > 05. 펌프장
const PumpingStationMng = () => {
+
+ const columns = [
+ // 행정구역
+ { name: 'sido', fieldName: '시도', header: { text: '시도' } },
+ { name: 'sgg', fieldName: '시군구', header: { text: '시군구' } },
+
+ // 기본 정보
+ { name: 'treatmentFacilityName', fieldName: '처리장명', header: { text: '처리장명' } },
+ { name: 'facilityName', fieldName: '시설명', header: { text: '시설명' } },
+ { name: 'classification', fieldName: '구분(합류식 분류식)', header: { text: '구분(합류식 분류식)' } },
+ { name: 'location', fieldName: '위치', header: { text: '위치' } },
+ { name: 'operationDate', fieldName: '가동 년월일 yyyy-mm-dd', header: { text: '가동 년월일 yyyy-mm-dd' } },
+
+ // 계획 정보
+ { name: 'planDrainageArea', fieldName: '계획배수면적(㎢)', header: { text: '계획배수면적(㎢)' } },
+ { name: 'fairWeatherFlow', fieldName: '청천시(A)', header: { text: '청천시(A)' } },
+ { name: 'rainyWeatherFlow', fieldName: '우천시(B)', header: { text: '우천시(B)' } },
+ { name: 'rainwaterFlow', fieldName: '우수량(B-A)', header: { text: '우수량(B-A)' } },
+
+ // 배수능력
+ { name: 'totalPumpCapacity', fieldName: '총양수량(m³/min)', header: { text: '총양수량(m³/min)' } },
+
+ // 배수능력 - 오수펌프(1)
+ { name: 'sewagePump1Diameter', fieldName: '오수펌프(1) 구경(mm)', header: { text: '구경(mm)' } },
+ { name: 'sewagePump1Capacity', fieldName: '오수펌프(1) 대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
+ { name: 'sewagePump1Count', fieldName: '오수펌프(1) 펌프대수', header: { text: '펌프대수' } },
+ { name: 'sewagePump1Reserve', fieldName: '오수펌프(1) 예비펌프대수', header: { text: '예비펌프대수' } },
+
+ // 배수능력 - 오수펌프(2)
+ { name: 'sewagePump2Diameter', fieldName: '오수펌프(2) 구경(mm)', header: { text: '구경(mm)' } },
+ { name: 'sewagePump2Capacity', fieldName: '오수펌프(2) 대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
+ { name: 'sewagePump2Count', fieldName: '오수펌프(2) 펌프대수', header: { text: '펌프대수' } },
+ { name: 'sewagePump2Reserve', fieldName: '오수펌프(2) 예비펌프대수', header: { text: '예비펌프대수' } },
+
+ // 배수능력 - 오수펌프(3)
+ { name: 'sewagePump3Diameter', fieldName: '오수펌프(3) 구경(mm)', header: { text: '구경(mm)' } },
+ { name: 'sewagePump3Capacity', fieldName: '오수펌프(3) 대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
+ { name: 'sewagePump3Count', fieldName: '오수펌프(3) 펌프대수', header: { text: '펌프대수' } },
+ { name: 'sewagePump3Reserve', fieldName: '오수펌프(3) 예비펌프대수', header: { text: '예비펌프대수' } },
+
+ // 배수능력 - 우수펌프(1)
+ { name: 'rainwaterPump1Diameter', fieldName: '우수펌프(1) 구경(mm)', header: { text: '구경(mm)' } },
+ { name: 'rainwaterPump1Capacity', fieldName: '우수펌프(1) 대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
+ { name: 'rainwaterPump1Count', fieldName: '우수펌프(1) 펌프대수', header: { text: '펌프대수' } },
+ { name: 'rainwaterPump1Reserve', fieldName: '우수펌프(1) 예비펌프대수', header: { text: '예비펌프대수' } },
+
+ // 배수능력 - 우수펌프(2)
+ { name: 'rainwaterPump2Diameter', fieldName: '우수펌프(2) 구경(mm)', header: { text: '구경(mm)' } },
+ { name: 'rainwaterPump2Capacity', fieldName: '우수펌프(2) 대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
+ { name: 'rainwaterPump2Count', fieldName: '우수펌프(2) 펌프대수', header: { text: '펌프대수' } },
+ { name: 'rainwaterPump2Reserve', fieldName: '우수펌프(2) 예비펌프대수', header: { text: '예비펌프대수' } },
+
+ // 배수능력 - 우수펌프(3)
+ { name: 'rainwaterPump3Diameter', fieldName: '우수펌프(3) 구경(mm)', header: { text: '구경(mm)' } },
+ { name: 'rainwaterPump3Capacity', fieldName: '우수펌프(3) 대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
+ { name: 'rainwaterPump3Count', fieldName: '우수펌프(3) 펌프대수', header: { text: '펌프대수' } },
+ { name: 'rainwaterPump3Reserve', fieldName: '우수펌프(3) 예비펌프대수', header: { text: '예비펌프대수' } },
+
+ // 기타
+ { name: 'annualPowerUsage', fieldName: '연간전력사용량(kWh/년)', header: { text: '연간전력사용량(kWh/년)' } },
+ { name: 'remarks', fieldName: '비고', header: { text: '비고' } },
+ ];
+
+ const columnLayout = [
+ {
+ name: 'administrativeArea',
+ hideChildHeaders: false,
+ header: { text: '행정구역' },
+ items: ['sido', 'sgg'],
+ },
+ 'treatmentFacilityName',
+ 'facilityName',
+ 'classification',
+ 'location',
+ 'operationDate',
+ 'planDrainageArea',
+ {
+ name: 'planFlowGroup',
+ hideChildHeaders: false,
+ header: { text: '계획시간대최대배수량(m³/hr)' },
+ items: ['fairWeatherFlow', 'rainyWeatherFlow', 'rainwaterFlow'],
+ },
+ {
+ name: 'drainageCapability',
+ hideChildHeaders: false,
+ header: { text: '배수능력' },
+ items: [
+ 'totalPumpCapacity',
+ {
+ name: 'sewagePump1Group',
+ hideChildHeaders: false,
+ header: { text: '오수펌프(1)' },
+ items: ['sewagePump1Diameter', 'sewagePump1Capacity', 'sewagePump1Count', 'sewagePump1Reserve'],
+ },
+ {
+ name: 'sewagePump2Group',
+ hideChildHeaders: false,
+ header: { text: '오수펌프(2)' },
+ items: ['sewagePump2Diameter', 'sewagePump2Capacity', 'sewagePump2Count', 'sewagePump2Reserve'],
+ },
+ {
+ name: 'sewagePump3Group',
+ hideChildHeaders: false,
+ header: { text: '오수펌프(3)' },
+ items: ['sewagePump3Diameter', 'sewagePump3Capacity', 'sewagePump3Count', 'sewagePump3Reserve'],
+ },
+ {
+ name: 'rainwaterPump1Group',
+ hideChildHeaders: false,
+ header: { text: '우수펌프(1)' },
+ items: ['rainwaterPump1Diameter', 'rainwaterPump1Capacity', 'rainwaterPump1Count', 'rainwaterPump1Reserve'],
+ },
+ {
+ name: 'rainwaterPump2Group',
+ hideChildHeaders: false,
+ header: { text: '우수펌프(2)' },
+ items: ['rainwaterPump2Diameter', 'rainwaterPump2Capacity', 'rainwaterPump2Count', 'rainwaterPump2Reserve'],
+ },
+ {
+ name: 'rainwaterPump3Group',
+ hideChildHeaders: false,
+ header: { text: '우수펌프(3)' },
+ items: ['rainwaterPump3Diameter', 'rainwaterPump3Capacity', 'rainwaterPump3Count', 'rainwaterPump3Reserve'],
+ },
+ ],
+ },
+ 'annualPowerUsage',
+ 'remarks',
+ ];
+
+
+
+ const submitFunc = () => {
+ console.log('submit');
+ // 제출 로직
+ };
+
+ const saveFunc = () => {
+ console.log('save');
+ // 저장 로직
+ };
+
+ const getLastYearDataFunc = () => {
+ console.log('get last year data');
+ // 지난연도 데이터 가져오기 로직
+ };
+
+ const SubmitExceptionFunc = () => {
+ console.log('submit exception');
+ // 예외 제출 로직
+ };
+
return (
<>
+
+
+
+
+
+
+
>
);
};
diff --git a/apps/st/src/components/statistics/management/SewagePipeMaintainMng.tsx b/apps/st/src/components/statistics/management/SewagePipeMaintainMng.tsx
index 34cf8752a..d8ca85527 100644
--- a/apps/st/src/components/statistics/management/SewagePipeMaintainMng.tsx
+++ b/apps/st/src/components/statistics/management/SewagePipeMaintainMng.tsx
@@ -1,9 +1,45 @@
import SearchForm from "@/components/module/SearchForm";
+import TabDataGrid from "@/components/module/TabDataGrid";
+import SubmitButton from "@/components/button/SumitButton";
+import SaveButton from "@/components/button/SaveButton";
+import ReviewOpinionButton from "@/components/button/ReviewOpinionButton";
+import ReturnButton from "@/components/button/ReturnButton";
+import { SewagePipeMaintainMngColumnInfoList } from "@/components/util/column/SewagePipeMaintainMngColumn";
+
+// 하수도 통계 관리 > 03. 하수관로 유지관리
const SewagePipeMaintainMng = () => {
+
+ const submitFunc = () => {
+ console.log('제출 로직 실행');
+ // TODO: 제출 API 호출
+ };
+
+ const saveFunc = () => {
+ console.log('저장 로직 실행');
+ // TODO: 저장 API 호출
+ };
+
+ const returnFunc = () => {
+ console.log('반려 로직 실행');
+ };
+
+ const reviewOpinionFunc = () => {
+ console.log('검토의견 작성 로직 실행');
+ };
+
return (
<>
+
+
+
+
+
+
+
+
+
>
);
};
diff --git a/apps/st/src/components/statistics/management/SewagePipeMng.tsx b/apps/st/src/components/statistics/management/SewagePipeMng.tsx
index 2986449ec..b39cd1bb1 100644
--- a/apps/st/src/components/statistics/management/SewagePipeMng.tsx
+++ b/apps/st/src/components/statistics/management/SewagePipeMng.tsx
@@ -3,8 +3,9 @@ import TabDataGrid from "@/components/module/TabDataGrid";
import ApproveButton from "@/components/button/ApproveButton";
import RejectButton from "@/components/button/RejectButton"
-import { SewagePipeColumnInfoList } from "@/components/util/column/SewagePipeColumn";
+import { SewagePipeMngColumnInfoList } from "@/components/util/column/SewagePipeMngColumn";
+// 하수도 통계 관리 > 02. 하수관로
const SewagePipeMng = () => {
const approveFunc = () => {
@@ -24,7 +25,7 @@ const SewagePipeMng = () => {
-
+
>
);
};
diff --git a/apps/st/src/components/statistics/management/SewageReservoirPumpMng.tsx b/apps/st/src/components/statistics/management/SewageReservoirPumpMng.tsx
index 16b177121..b9823647a 100644
--- a/apps/st/src/components/statistics/management/SewageReservoirPumpMng.tsx
+++ b/apps/st/src/components/statistics/management/SewageReservoirPumpMng.tsx
@@ -1,9 +1,44 @@
import SearchForm from "@/components/module/SearchForm";
+import TabDataGrid from "@/components/module/TabDataGrid";
+import SubmitButton from "@/components/button/SumitButton";
+import SaveButton from "@/components/button/SaveButton";
+import LastYearDataButton from "@/components/button/LastYearDataButton";
+import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
+import { SewageReservoirPumpMngColumnInfoList } from "@/components/util/column/SewageReservoirPumpMngColumn";
+
+// 하수도 통계 관리 > 04. 하수저류 시설 및 빗물 펌프장
const SewageReservoirPumpMng = () => {
+ const submitFunc = () => {
+ console.log('submit');
+ // 제출 로직
+ };
+
+ const saveFunc = () => {
+ console.log('save');
+ // 저장 로직
+ };
+
+ const getLastYearDataFunc = () => {
+ console.log('get last year data');
+ // 지난연도 데이터 가져오기 로직
+ };
+
+ const submitExceptionFunc = () => {
+ console.log('submit exception');
+ // 예외 제출 로직
+ };
+
return (
<>
+
+
+
+
+
+
+
>
);
};
diff --git a/apps/st/src/components/statistics/management/SeweragePenetrationRateMng.tsx b/apps/st/src/components/statistics/management/SeweragePenetrationRateMng.tsx
index c9f1e6fbc..a60542ee9 100644
--- a/apps/st/src/components/statistics/management/SeweragePenetrationRateMng.tsx
+++ b/apps/st/src/components/statistics/management/SeweragePenetrationRateMng.tsx
@@ -5,6 +5,7 @@ import SaveButton from "@/components/button/SaveButton";
import LastYearDataButton from "@/components/button/LastYearDataButton";
import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
+// 하수도 통계 관리 > 01. 하수도 보급률
const SeweragePenetrationRateMng = () => {
const columns = [
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
diff --git a/apps/st/src/components/statistics/management/StatsInputSatusMng.tsx b/apps/st/src/components/statistics/management/StatsInputSatusMng.tsx
index a6d47df30..98345b7f4 100644
--- a/apps/st/src/components/statistics/management/StatsInputSatusMng.tsx
+++ b/apps/st/src/components/statistics/management/StatsInputSatusMng.tsx
@@ -5,6 +5,7 @@ import RejectButton from "@/components/button/RejectButton";
import ReturnButton from "@/components/button/ReturnButton";
import ReviewOpinionButton from "@/components/button/ReviewOpinionButton";
+// 하수도 통계 관리 > 00. 통계 입력 현황
const StatsInputSatusMng = () => {
const columns = [
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
diff --git a/apps/st/src/components/util/column/SewagePipeColumn.ts b/apps/st/src/components/util/column/SewagePipeColumn.ts
deleted file mode 100644
index 598d99d3a..000000000
--- a/apps/st/src/components/util/column/SewagePipeColumn.ts
+++ /dev/null
@@ -1,134 +0,0 @@
-export const SewagePipeColumnInfoList = [
- {
- columns: [
- { name: 'sido', fieldName: '시도', header: { text: '시도' } },
- { name: 'sgg', fieldName: '구군', header: { text: '구군' } },
- { name: 'menu_nm', fieldName: '구분', header: { text: '구분' } },
- { name: 'locg_status_nm', fieldName: '진행상황', header: { text: '진행상황' } },
- { name: 'locg_status', fieldName: '작성률', header: { text: '작성률' } },
- { name: 'locg_charger', fieldName: '작성자', header: { text: '작성자' } },
- { name: 'locg_cttpc', fieldName: '작성자 연락처', header: { text: '작성자 연락처' } },
- { name: 'locg_dept', fieldName: '작성자 부서', header: { text: '작성자 부서' } },
- { name: 'locg_job', fieldName: '작성자 직제', header: { text: '작성자 직제' } },
- { name: 'locg_cnfirm_nm', fieldName: '승인자', header: { text: '승인자' } },
- { name: 'locg_cnfirm_dept', fieldName: '승인자 부서', header: { text: '승인자 부서' } },
- { name: 'locg_cnfirm_job', fieldName: '승인자 직제', header: { text: '승인자 직제' } },
- { name: 'return_opinion_sm', fieldName: '반려 사유', header: { text: '반려 사유' } },
- ],
- columnLayout: [
- 'sido',
- 'sgg',
- 'menu_nm',
- {
- name: 'groupA',
- hideChildHeaders: false,
- header: { text: '하수도사업자' },
- items: ['locg_status_nm', 'locg_status', 'locg_charger', 'locg_cttpc', 'locg_dept', 'locg_job', 'locg_cnfirm_nm', 'locg_cnfirm_dept', 'locg_cnfirm_job', 'return_opinion_sm'],
- },
- ],
- rowStartNum: 2,
- fixedColumns: 3,
- tabKey: 'a',
- tabLabel: '1번째 텝'
- },
- {
- columns: [
- { name: 'sido', fieldName: '시도', header: { text: '시도' } },
- { name: 'sgg', fieldName: '구군', header: { text: '구군' } },
- { name: 'rvbsn', fieldName: '수계', header: { text: '수계' } },
- { name: 'bstrm', fieldName: '지류', header: { text: '지류' } },
- { name: 'mdbsn', fieldName: '세부단위유역', header: { text: '세부단위유역' } },
- { name: 'lgbsn', fieldName: '중권역', header: { text: '중권역' } },
- { name: 'mdmbsn', fieldName: '소권역', header: { text: '소권역' } },
- { name: 'specl_cntrpln_ar', fieldName: '특별대책지역', header: { text: '특별대책지역' } },
- { name: 'total_popl', fieldName: '총인구', header: { text: '총인구' } },
- { name: 'popl_sm', fieldName: '내국인', header: { text: '내국인' } },
- { name: 'frgnr_popl_sm', fieldName: '외국인', header: { text: '외국인' } },
- { name: 'area', fieldName: '행정참고자료면적(㎢)', header: { text: '행정참고자료면적(㎢)' } },
- { name: 'popltn_sm', fieldName: '총인구(명)', header: { text: '총인구(명)' } },
- { name: 'ar_sm', fieldName: '총면적(㎢)', header: { text: '총면적(㎢)' } },
- { name: 'swge_proc_zone_inner_sm', fieldName: '합계', header: { text: '합계' } },
- { name: 'pblswrg_popltn_sm', fieldName: '소계', header: { text: '소계' } },
- { name: 'pblswrg_prm_trt', fieldName: '물리적처리', header: { text: '물리적처리' } },
- { name: 'pblswrg_scd_trt', fieldName: '생물학적처리', header: { text: '생물학적처리' } },
- { name: 'pblswrg_tert_trt', fieldName: '고도처리', header: { text: '고도처리' } },
- { name: 'wstr_popltn_sm', fieldName: '소계', header: { text: '소계' } },
- { name: 'wstr_prm_trt', fieldName: '물리적처리', header: { text: '물리적처리' } },
- { name: 'wstr_scd_trt', fieldName: '생물학적처리', header: { text: '생물학적처리' } },
- { name: 'wstr_tert_trt', fieldName: '고도처리', header: { text: '고도처리' } },
- { name: 'not_conect_popltn', fieldName: '미접속인구', header: { text: '미접속인구' } },
- { name: 'swge_proc_zone_inner_ar', fieldName: '면적(㎢)', header: { text: '면적(㎢)' } },
- { name: 'swge_proc_zone_outer_sm', fieldName: '합계', header: { text: '합계' } },
- { name: 'town_unproc_popltn', fieldName: '미처리인구', header: { text: '미처리인구' } },
- { name: 'town_swtt_popltn', fieldName: '오수처리인구', header: { text: '오수처리인구' } },
- { name: 'town_wrrtn_popltn', fieldName: '정화조인구', header: { text: '정화조인구' } },
- { name: 'swge_proc_zone_outer_ar', fieldName: '면적(㎢)', header: { text: '면적(㎢)' } },
- { name: 'pblswrg_popltn_suprt', fieldName: '공공하수처리구역인구보급율(%)', header: { text: '공공하수처리구역인구보급율(%)' } },
- { name: 'adtrt_popltn_suprt', fieldName: '고도처리인구보급율(%)', header: { text: `고도처리인구보급율(%)` } },
- { name: 'swrg_instlrt', fieldName: '하수도설치율(%)', header: { text: '하수도설치율(%)' } },
- { name: 'rmk', fieldName: '비고', header: { text: '비고' } },
- ],
- columnLayout: [
- {
- name: 'groupA',
- hideChildHeaders: false,
- header: { text: '행정구역' },
- items: ['sido', 'sgg'],
- },
- 'rvbsn',
- 'bstrm',
- {
- name: 'groupB',
- hideChildHeaders: false,
- header: { text: '수계영향권별분류류' },
- items: ['mdbsn', 'lgbsn', 'mdmbsn'],
- },
- 'specl_cntrpln_ar',
- {
- name: 'groupC',
- hideChildHeaders: false,
- header: { text: '행정참고자료인구' },
- items: ['total_popl', 'popl_sm', 'frgnr_popl_sm'],
- },
- 'area',
- 'popltn_sm',
- 'ar_sm',
- {
- name: 'groupD',
- hideChildHeaders: false,
- header: { text: '하수처리구역내' },
- items: [
- 'swge_proc_zone_inner_sm',
- {
- name: 'pblswrgGroup',
- hideChildHeaders: false,
- header: { text: '공공하수처리인구(명)' },
- items: ['pblswrg_popltn_sm', 'pblswrg_prm_trt', 'pblswrg_scd_trt', 'pblswrg_tert_trt'],
- },
- {
- name: 'wstrGroup',
- hideChildHeaders: false,
- header: { text: '폐수처리인구(명)' },
- items: ['wstr_popltn_sm', 'wstr_prm_trt', 'wstr_scd_trt', 'wstr_tert_trt'],
- },
- 'not_conect_popltn',
- 'swge_proc_zone_inner_ar'
- ],
- },
- {
- name: 'groupE',
- hideChildHeaders: false,
- header: { text: '하수처리구역외' },
- items: ['swge_proc_zone_outer_sm', 'town_swtt_popltn', 'town_unproc_popltn', 'town_wrrtn_popltn', 'swge_proc_zone_outer_ar'],
- },
- 'pblswrg_popltn_suprt',
- 'adtrt_popltn_suprt',
- 'swrg_instlrt',
- 'rmk',
- ],
- rowStartNum: 2,
- fixedColumns: 1,
- tabKey: 'b',
- tabLabel: '2번째 텝'
- },
-]
\ No newline at end of file
diff --git a/apps/st/src/components/util/column/SewagePipeMaintainMngColumn.ts b/apps/st/src/components/util/column/SewagePipeMaintainMngColumn.ts
new file mode 100644
index 000000000..77e1dadd2
--- /dev/null
+++ b/apps/st/src/components/util/column/SewagePipeMaintainMngColumn.ts
@@ -0,0 +1,185 @@
+/**
+ * 하수도 통계 관리 > 3.하수관로 유지 관리
+ * 2개 Tab : 컬럼 통합 관리
+ */
+
+export const SewagePipeMaintainMngColumnInfoList = [
+ // ========================================
+ // Tab 1: 개보수
+ // ========================================
+ {
+ columns: [
+ // 행정구역
+ { name: 'SIDO', fieldName: '시도', header: { text: '시도' } },
+ { name: 'GUGUN', fieldName: '시군구', header: { text: '시군구' } },
+
+ // 개·보수관로 - 전체보수(m)
+ { name: 'RPAIR_PIPE_SM', fieldName: '소계', header: { text: '소계' } },
+ { name: 'RPAIR_CMBN_PIPE', fieldName: '합류식', header: { text: '합류식' } },
+ { name: 'RPAIR_RAINWTR_PIPE', fieldName: '우수', header: { text: '우수' } },
+ { name: 'RPAIR_PLTWTR_PIPE', fieldName: '오수', header: { text: '오수' } },
+
+ // 개·보수관로 - 부분보수(개소)
+ { name: 'RPAIR_PIPE_SM2', fieldName: '소계', header: { text: '소계' } },
+ { name: 'RPAIR_CMBN_PIPE2', fieldName: '합류식', header: { text: '합류식' } },
+ { name: 'RPAIR_RAINWTR_PIPE2', fieldName: '우수', header: { text: '우수' } },
+ { name: 'RPAIR_PLTWTR_PIPE2', fieldName: '오수', header: { text: '오수' } },
+
+ // 맨홀(개소)
+ { name: 'MNHLE_SITE', fieldName: '합류식맨홀', header: { text: '합류식맨홀' } },
+ { name: 'PLTWTR_MNHLE_SITE', fieldName: '오수맨홀', header: { text: '오수맨홀' } },
+ { name: 'RAINWTR_MNHLE_SITE', fieldName: '우수맨홀', header: { text: '우수맨홀' } },
+
+ // 받이
+ { name: 'PLTWTR_RCVR_SITE', fieldName: '오수받이(개소)', header: { text: '오수받이(개소)' } },
+ { name: 'RAINWTR_RCVR_SITE', fieldName: '빗물받이(개소)', header: { text: '빗물받이(개소)' } },
+
+ // 토실, 토구
+ { name: 'SOILSPLL_SITE', fieldName: '토실(개소)', header: { text: '토실(개소)' } },
+ { name: 'SOILHOLE_SITE', fieldName: '토구(개소)', header: { text: '토구(개소)' } },
+
+ { name: 'CCTV', fieldName: '수밀검사CCTV조사량(m)', header: { text: '수밀검사CCTV조사량(m)' } },
+ { name: 'RMK', fieldName: '비고', header: { text: '비고' } },
+ ],
+ columnLayout: [
+ {
+ name: 'group_admin',
+ header: { text: '행정구역' },
+ items: ['SIDO', 'GUGUN']
+ },
+ {
+ name: 'group_repair_main',
+ header: { text: '개·보수관로' },
+ items: [
+ {
+ name: 'group_full_repair',
+ header: { text: '전체보수(m)' },
+ items: [
+ 'RPAIR_PIPE_SM',
+ 'RPAIR_CMBN_PIPE',
+ {
+ name: 'group_full_sep',
+ header: { text: '분류식' },
+ items: ['RPAIR_RAINWTR_PIPE', 'RPAIR_PLTWTR_PIPE']
+ }
+ ]
+ },
+ {
+ name: 'group_part_repair',
+ header: { text: '부분보수(개소)' },
+ items: [
+ 'RPAIR_PIPE_SM2',
+ 'RPAIR_CMBN_PIPE2',
+ {
+ name: 'group_part_sep',
+ header: { text: '분류식' },
+ items: ['RPAIR_RAINWTR_PIPE2', 'RPAIR_PLTWTR_PIPE2']
+ }
+ ]
+ }
+ ]
+ },
+ {
+ name: 'group_manhole',
+ header: { text: '맨홀(개소)' },
+ items: [
+ 'MNHLE_SITE',
+ {
+ name: 'group_mh_sep',
+ header: { text: '분류식' },
+ items: ['PLTWTR_MNHLE_SITE', 'RAINWTR_MNHLE_SITE']
+ }
+ ]
+ },
+ {
+ name: 'group_inlet',
+ header: { text: '받이' },
+ items: ['PLTWTR_RCVR_SITE', 'RAINWTR_RCVR_SITE']
+ },
+ {
+ name: 'group_chamber',
+ header: { text: '토실,토구' },
+ items: ['SOILSPLL_SITE', 'SOILHOLE_SITE']
+ },
+ 'CCTV',
+ 'RMK'
+ ],
+ rowStartNum: 4,
+ fixedColumns: 1,
+ tabKey: 'repair',
+ tabLabel: '개보수'
+ },
+
+ // ========================================
+ // Tab 2: 관로준설
+ // ========================================
+ {
+ columns: [
+ { name: 'SIDO', fieldName: '시도', header: { text: '시도' } },
+ { name: 'GUGUN', fieldName: '시군구', header: { text: '시군구' } },
+ { name: 'PIPL_FCLTY_EXTN', fieldName: '하수관로총시설연장(m)', header: { text: '하수관로총시설연장(m)' } },
+
+ // 준설연장 및 개소수
+ { name: 'DRDG_PIPE_SM', fieldName: '합계', header: { text: '합계' } },
+ { name: 'DRDG_CMBN_PIPE', fieldName: '합류식', header: { text: '합류식' } },
+ { name: 'DRDG_RAINWTR_PIPE', fieldName: '우수', header: { text: '우수' } },
+ { name: 'DRDG_PLTWTR_PIPE', fieldName: '오수', header: { text: '오수' } },
+ { name: 'MNHLE_SITE', fieldName: '맨홀(개소)', header: { text: '맨홀(개소)' } },
+ { name: 'PLTWTR_RCVR_SITE', fieldName: '오·우수받이(개소)', header: { text: '오·우수받이(개소)' } },
+ { name: 'SOILSPLL_SOILHOLE_SITE', fieldName: '토실·토구(개소)', header: { text: '토실·토구(개소)' } },
+
+ { name: 'DRDG_TRGET_EXTN', fieldName: '준설 계획 연장(m)', header: { text: '준설 계획 연장(m)' } },
+ { name: 'DRDG_TRGET_RT', fieldName: '계획대비 준설율(%)', header: { text: '계획대비 준설율(%)' } },
+ { name: 'PIPL_FCLTY_RT', fieldName: '총시설연장대비 준설율(%)', header: { text: '총시설연장대비 준설율(%)' } },
+
+ // 준설실적
+ { name: 'DRDG_ACMSLT_AMOUNT', fieldName: '금액(백만원)', header: { text: '금액(백만원)' } },
+ { name: 'DRDG_ACMSLT_QY', fieldName: '준설량(m³)', header: { text: '준설량(m³)' } },
+
+ // 준설토사처리 (사용자 트리구조 반영)
+ { name: 'DRDG_ACMSLT_UNTPC', fieldName: '준설토처리비(백만원)', header: { text: '준설토처리비(백만원)' } },
+ { name: 'DRDG_ETND_SM', fieldName: '처리량 계(톤)', header: { text: '처리량 계(톤)' } },
+ { name: 'RCLM', fieldName: '매립', header: { text: '매립' } },
+ { name: 'OCEAN_DPSL', fieldName: '해양투기', header: { text: '해양투기' } },
+ { name: 'RUSE', fieldName: '재활용', header: { text: '재활용' } },
+ { name: 'ETC', fieldName: '기타(소각, 고형화, 시멘트원료 등)', header: { text: '기타(소각, 고형화, 시멘트원료 등)' } },
+
+ { name: 'RMK', fieldName: '비고', header: { text: '비고' } },
+ ],
+ columnLayout: [
+ { name: 'group_admin', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] },
+ 'PIPL_FCLTY_EXTN',
+ {
+ name: 'group_dredge_info',
+ header: { text: '준설연장 및 개소수' },
+ items: [
+ {
+ name: 'group_pipe',
+ header: { text: '관로(m)' },
+ items: [
+ 'DRDG_PIPE_SM', 'DRDG_CMBN_PIPE',
+ { name: 'group_sep', header: { text: '분류식' }, items: ['DRDG_RAINWTR_PIPE', 'DRDG_PLTWTR_PIPE'] }
+ ]
+ },
+ 'MNHLE_SITE', 'PLTWTR_RCVR_SITE', 'SOILSPLL_SOILHOLE_SITE'
+ ]
+ },
+ 'DRDG_TRGET_EXTN', 'DRDG_TRGET_RT', 'PIPL_FCLTY_RT',
+ {
+ name: 'group_perf',
+ header: { text: '준설실적' },
+ items: ['DRDG_ACMSLT_AMOUNT', 'DRDG_ACMSLT_QY']
+ },
+ {
+ name: 'group_soil_treat',
+ header: { text: '준설토사처리' },
+ items: ['DRDG_ACMSLT_UNTPC', 'DRDG_ETND_SM', 'RCLM', 'OCEAN_DPSL', 'RUSE', 'ETC']
+ },
+ 'RMK'
+ ],
+ rowStartNum: 4,
+ fixedColumns: 1,
+ tabKey: 'dredging',
+ tabLabel: '관로준설'
+ },
+];
\ No newline at end of file
diff --git a/apps/st/src/components/util/column/SewagePipeMngColumn.ts b/apps/st/src/components/util/column/SewagePipeMngColumn.ts
new file mode 100644
index 000000000..3eced67c4
--- /dev/null
+++ b/apps/st/src/components/util/column/SewagePipeMngColumn.ts
@@ -0,0 +1,800 @@
+/**
+ * 하수도 통계 관리 > 2.하수관로
+ * 5개 Tab: 컬럼 통합 관리
+ */
+
+export const SewagePipeMngColumnInfoList = [
+ // ========================================
+ // Tab 1: 지역별 시설현황
+ // ========================================
+ {
+ columns: [
+ // 행정구역(고정)
+ { name: 'sido', fieldName: '시도', header: { text: '시도' } },
+ { name: 'sgg', fieldName: '시군구', header: { text: '시군구' } },
+
+ // 기본 정보
+ { name: 'targetYr', fieldName: '하수정비기본계획목표년도', header: { text: '하수정비기본계획목표년도' }},
+ { name: 'piplImprnPlanExtn', fieldName: '총관로정비계획연장(m)', header: { text: '총관로정비계획연장(m)' }, editable: false },
+ { name: 'piplPlanExtn', fieldName: '총계획연장(m)', header: { text: '총계획연장(m)' }, editable: false },
+ { name: 'piplFcltyExtn', fieldName: '총시설연장(m)', header: { text: '총시설연장(m)' }, editable: false },
+ { name: 'piplSupprt', fieldName: '하수관로보급률(%)', header: { text: '하수관로보급률(%)' }, editable: false },
+
+ // 합류식(m)
+ { name: 'cmbnPlanAr', fieldName: '관로정비계획면적(㎢)', header: { text: '관로정비계획면적(㎢)' } },
+ { name: 'cmbnImprnPlanExtn', fieldName: '관로정비계획연장(m)', header: { text: '관로정비계획연장(m)' } },
+ { name: 'cmbnPlanExtn', fieldName: '계획연장(m)', header: { text: '계획연장(m)' }, editable: false },
+ { name: 'cmbnFcltyExtn', fieldName: '시설연장(m)', header: { text: '시설연장(m)' }, editable: false },
+ { name: 'cmbnRctglExtn', fieldName: '사각형(m)', header: { text: '사각형(m)' } },
+ { name: 'cmbnCicleExtn', fieldName: '원형(m)', header: { text: '원형(m)' } },
+ { name: 'cmbnOpswrExtn', fieldName: '개거(m)', header: { text: '개거(m)' } },
+ { name: 'cmbnSdgttrExtn', fieldName: '측구(m)', header: { text: '측구(m)' } },
+
+ // 분류식(m) > 오수관로
+ { name: 'pltwtrPlanAr', fieldName: '관로정비계획면적(㎢)', header: { text: '관로정비계획면적(㎢)' } },
+ { name: 'pltwtrImprnPlanExtn', fieldName: '관로정비계획연장(m)', header: { text: '관로정비계획연장(m)' } },
+ { name: 'pltwtrPlanExtn', fieldName: '계획연장(m)', header: { text: '계획연장(m)' }, editable: false },
+ { name: 'pltwtrFlctyExtn', fieldName: '시설연장(m)', header: { text: '시설연장(m)' }, editable: false },
+ { name: 'pltwtrSqreExtn', fieldName: '사각형(m)', header: { text: '사각형(m)' } },
+ { name: 'pltwtrCiclExtn', fieldName: '원형(m)', header: { text: '원형(m)' } },
+
+ // 분류식(m) > 우수관로
+ { name: 'rainwtrPlanAr', fieldName: '관로정비계획면적(㎢)', header: { text: '관로정비계획면적(㎢)' } },
+ { name: 'rainwtrImprnPlanExtn', fieldName: '관로정비계획연장(m)', header: { text: '관로정비계획연장(m)' } },
+ { name: 'rainwtrPlanExtn', fieldName: '계획연장(m)', header: { text: '계획연장(m)' }, editable: false },
+ { name: 'rainwtrFlctyExtn', fieldName: '시설연장(m)', header: { text: '시설연장(m)' }, editable: false },
+ { name: 'rainwtrSqreExtn', fieldName: '사각형(m)', header: { text: '사각형(m)' } },
+ { name: 'rainwtrCiclExtn', fieldName: '원형(m)', header: { text: '원형(m)' } },
+ { name: 'rainwtrOpswrExtn', fieldName: '개거(m)', header: { text: '개거(m)' } },
+ { name: 'rainwtrSdgttrExtn', fieldName: '측구(m)', header: { text: '측구(m)' } },
+
+ // 맨홀 및 기타 시설
+ { name: 'mnhleSite', fieldName: '합류식맨홀(개소)', header: { text: '합류식맨홀(개소)' } },
+ { name: 'pltwtrMnhleSite', fieldName: '오수맨홀(개소)', header: { text: '오수맨홀(개소)' } },
+ { name: 'rainwtrMnhleSite', fieldName: '우수맨홀(개소)', header: { text: '우수맨홀(개소)' } },
+ { name: 'pltwtrRcvrSite', fieldName: '오수받이(개소)', header: { text: '오수받이(개소)' } },
+ { name: 'rainwtrRcvrSite', fieldName: '빗물받이(개소)', header: { text: '빗물받이(개소)' } },
+ { name: 'soilspllSite', fieldName: '우수토실(개소)', header: { text: '우수토실(개소)' } },
+ { name: 'soilholeSite', fieldName: '우수토구(개소)', header: { text: '우수토구(개소)' } },
+
+ // 하수도대장 전산화
+ { name: 'sewerRegstrCmptExtn', fieldName: '하수도대장전산화연장(m)', header: { text: '하수도대장전산화연장(m)' } },
+ { name: 'sewerRegstrCmptRt', fieldName: '하수도대장전산화율(%)', header: { text: '하수도대장전산화율(%)' }, editable: false },
+
+ // 비고
+ { name: 'rmk', fieldName: '비고', header: { text: '비고' } },
+ ],
+ columnLayout: [
+ {
+ name: 'adminArea',
+ hideChildHeaders: false,
+ header: { text: '행정구역' },
+ items: ['sido', 'sgg'],
+ },
+ 'targetYr',
+ 'piplImprnPlanExtn',
+ 'piplPlanExtn',
+ 'piplFcltyExtn',
+ 'piplSupprt',
+ {
+ name: 'combined',
+ hideChildHeaders: false,
+ header: { text: '합류식(m)' },
+ items: [
+ 'cmbnPlanAr',
+ 'cmbnImprnPlanExtn',
+ 'cmbnPlanExtn',
+ 'cmbnFcltyExtn',
+ {
+ name: 'cmbnCulvert',
+ hideChildHeaders: false,
+ header: { text: '암거' },
+ items: ['cmbnRctglExtn', 'cmbnCicleExtn'],
+ },
+ 'cmbnOpswrExtn',
+ 'cmbnSdgttrExtn',
+ ],
+ },
+ {
+ name: 'separated',
+ hideChildHeaders: false,
+ header: { text: '분류식(m)' },
+ items: [
+ {
+ name: 'pollutedWater',
+ hideChildHeaders: false,
+ header: { text: '오수관로' },
+ items: [
+ 'pltwtrPlanAr',
+ 'pltwtrImprnPlanExtn',
+ 'pltwtrPlanExtn',
+ 'pltwtrFlctyExtn',
+ {
+ name: 'pltwtrCulvert',
+ hideChildHeaders: false,
+ header: { text: '암거' },
+ items: ['pltwtrSqreExtn', 'pltwtrCiclExtn'],
+ },
+ ],
+ },
+ {
+ name: 'rainWater',
+ hideChildHeaders: false,
+ header: { text: '우수관로' },
+ items: [
+ 'rainwtrPlanAr',
+ 'rainwtrImprnPlanExtn',
+ 'rainwtrPlanExtn',
+ 'rainwtrFlctyExtn',
+ {
+ name: 'rainwtrCulvert',
+ hideChildHeaders: false,
+ header: { text: '암거' },
+ items: ['rainwtrSqreExtn', 'rainwtrCiclExtn'],
+ },
+ 'rainwtrOpswrExtn',
+ 'rainwtrSdgttrExtn',
+ ],
+ },
+ ],
+ },
+ 'mnhleSite',
+ {
+ name: 'separatedManhole',
+ hideChildHeaders: false,
+ header: { text: '분류식' },
+ items: ['pltwtrMnhleSite', 'rainwtrMnhleSite'],
+ },
+ 'pltwtrRcvrSite',
+ 'rainwtrRcvrSite',
+ 'soilspllSite',
+ 'soilholeSite',
+ 'sewerRegstrCmptExtn',
+ 'sewerRegstrCmptRt',
+ 'rmk',
+ ],
+ rowStartNum: 4,
+ fixedColumns: 1,
+ tabKey: 'regionalFacilityStatus',
+ tabLabel: '지역별 시설현황'
+ },
+
+ // ========================================
+ // Tab 2: 시설별 설치현황
+ // ========================================
+ {
+ columns: [
+ // 행정구역
+ { name: 'sido', fieldName: '시도', header: { text: '시도' } },
+ { name: 'sgg', fieldName: '시군구', header: { text: '시군구' } },
+
+ // 하수처리장 정보
+ { name: 'bscFctNm', fieldName: '하수처리장명', header: { text: '하수처리장명' } },
+ { name: 'fctCpc', fieldName: '하수처리시설용량(m³/일)', header: { text: '하수처리시설용량(m³/일)' } },
+
+ // 처리구역면적(km²)
+ { name: 'procZoneSm', fieldName: '합계', header: { text: '합계' }, editable: false },
+ { name: 'cmbnProcZoneAr', fieldName: '합류식', header: { text: '합류식' } },
+ { name: 'sprtProcZoneAr', fieldName: '분류식', header: { text: '분류식' } },
+
+ // 분류식화율
+ { name: 'sprtRt', fieldName: '분류식화율', header: { text: '분류식화율' }, editable: false },
+
+ // 배수설비(개소)
+ { name: 'drngEqpSm', fieldName: '합계', header: { text: '합계' }, editable: false },
+ { name: 'cmbnDrngEqp', fieldName: '합류식', header: { text: '합류식' } },
+ { name: 'sprtDrngEqpSm', fieldName: '소계', header: { text: '소계' }, editable: false },
+ { name: 'sprtDrngEqpCnnc', fieldName: '연결', header: { text: '연결' } },
+ { name: 'sprtDrngEqpDcnnc', fieldName: '미연결', header: { text: '미연결' } },
+
+ // 하수관로 - 총시설연장
+ { name: 'piplFcltyExtn', fieldName: '총시설연장(m)', header: { text: '총시설연장(m)' }, editable: false },
+
+ // 차집/오수간선(m)
+ { name: 'icgMnnSm', fieldName: '합계', header: { text: '합계' }, editable: false },
+ { name: 'icgExtn', fieldName: '차집', header: { text: '차집' } },
+ { name: 'mnnExtn', fieldName: '오수 간선', header: { text: '오수 간선' } },
+
+ // 토실/토구(개소) - 합류식
+ { name: 'cmbnSoilholeSite', fieldName: '우수토실', header: { text: '우수토실' } },
+
+ // 토실/토구(개소) - 분류식
+ { name: 'sprtSoilholeSite', fieldName: '우수토실', header: { text: '우수토실' } },
+ { name: 'sprtSoilspllSite', fieldName: '우수토구', header: { text: '우수토구' } },
+
+ // 지선(m)
+ { name: 'brnchlnSm', fieldName: '합계', header: { text: '합계' }, editable: false },
+ { name: 'cmbnBrnchlnExtn', fieldName: '합류식', header: { text: '합류식' } },
+ { name: 'rainwtrBrnchlnExtn', fieldName: '우수', header: { text: '우수' } },
+ { name: 'pltwtrBrnchlnExtn', fieldName: '오수', header: { text: '오수' } },
+
+ // 비고
+ { name: 'rmk', fieldName: '비고', header: { text: '비고' } },
+ ],
+ columnLayout: [
+ {
+ name: 'adminArea',
+ hideChildHeaders: false,
+ header: { text: '행정구역' },
+ items: ['sido', 'sgg'],
+ },
+ 'bscFctNm',
+ 'fctCpc',
+ {
+ name: 'procZone',
+ hideChildHeaders: false,
+ header: { text: '처리구역면적(km²)' },
+ items: ['procZoneSm', 'cmbnProcZoneAr', 'sprtProcZoneAr'],
+ },
+ 'sprtRt',
+ {
+ name: 'drainEquip',
+ hideChildHeaders: false,
+ header: { text: '배수설비(개소)' },
+ items: [
+ 'drngEqpSm',
+ 'cmbnDrngEqp',
+ {
+ name: 'sprtDrainEquip',
+ hideChildHeaders: false,
+ header: { text: '분류식' },
+ items: ['sprtDrngEqpSm', 'sprtDrngEqpCnnc', 'sprtDrngEqpDcnnc'],
+ },
+ ],
+ },
+ {
+ name: 'sewagePipe',
+ hideChildHeaders: false,
+ header: { text: '하수관로' },
+ items: [
+ 'piplFcltyExtn',
+ {
+ name: 'interceptor',
+ hideChildHeaders: false,
+ header: { text: '차집/오수간선(m)' },
+ items: ['icgMnnSm', 'icgExtn', 'mnnExtn'],
+ },
+ {
+ name: 'soilHole',
+ hideChildHeaders: false,
+ header: { text: '토실/토구(개소)' },
+ items: [
+ {
+ name: 'cmbnSoilHole',
+ hideChildHeaders: false,
+ header: { text: '합류식' },
+ items: ['cmbnSoilholeSite'],
+ },
+ {
+ name: 'sprtSoilHole',
+ hideChildHeaders: false,
+ header: { text: '분류식' },
+ items: ['sprtSoilholeSite', 'sprtSoilspllSite'],
+ },
+ ],
+ },
+ {
+ name: 'branchLine',
+ hideChildHeaders: false,
+ header: { text: '지선(m)' },
+ items: [
+ 'brnchlnSm',
+ 'cmbnBrnchlnExtn',
+ {
+ name: 'sprtBranchLine',
+ hideChildHeaders: false,
+ header: { text: '분류식' },
+ items: ['rainwtrBrnchlnExtn', 'pltwtrBrnchlnExtn'],
+ },
+ ],
+ },
+ ],
+ },
+ 'rmk',
+ ],
+ rowStartNum: 4,
+ fixedColumns: 3,
+ tabKey: 'facilityInstallationStatus',
+ tabLabel: '시설별 설치현황'
+ },
+
+ // ========================================
+ // Tab 3: 관종별 현황
+ // ========================================
+ {
+ columns: [
+ // 행정구역
+ { name: 'sido', fieldName: '시도', header: { text: '시도' } },
+ { name: 'sgg', fieldName: '시군구', header: { text: '시군구' } },
+
+ // 관종
+ { name: 'swrgPipeCd', fieldName: '관종', header: { text: '관종' } },
+
+ // 총계
+ { name: 'totalSum', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'totalLayingExtn', fieldName: '매설연장(m)', header: { text: '매설연장(m)' }, editable: false },
+ { name: 'totalRemvlExtn', fieldName: '철거연장(m)', header: { text: '철거연장(m)' }, editable: false },
+
+ // 1996년 이전 (22Y)
+ { name: 'totalExtn22y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn22y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn22y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 1996년 (01Y)
+ { name: 'totalExtn01y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn01y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn01y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 1997년 (02Y)
+ { name: 'totalExtn02y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn02y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn02y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 1998년 (03Y)
+ { name: 'totalExtn03y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn03y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn03y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 1999년 (04Y)
+ { name: 'totalExtn04y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn04y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn04y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2000년 (05Y)
+ { name: 'totalExtn05y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn05y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn05y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2001년 (06Y)
+ { name: 'totalExtn06y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn06y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn06y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2002년 (07Y)
+ { name: 'totalExtn07y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn07y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn07y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2003년 (08Y)
+ { name: 'totalExtn08y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn08y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn08y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2004년 (09Y)
+ { name: 'totalExtn09y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn09y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn09y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2005년 (10Y)
+ { name: 'totalExtn10y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn10y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn10y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2006년 (11Y)
+ { name: 'totalExtn11y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn11y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn11y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2007년 (12Y)
+ { name: 'totalExtn12y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn12y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn12y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2008년 (13Y)
+ { name: 'totalExtn13y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn13y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn13y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2009년 (14Y)
+ { name: 'totalExtn14y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn14y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn14y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2010년 (15Y)
+ { name: 'totalExtn15y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn15y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn15y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2011년 (16Y)
+ { name: 'totalExtn16y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn16y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn16y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2012년 (17Y)
+ { name: 'totalExtn17y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn17y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn17y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2013년 (18Y)
+ { name: 'totalExtn18y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn18y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn18y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2014년 (19Y)
+ { name: 'totalExtn19y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn19y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn19y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2015년 (20Y)
+ { name: 'totalExtn20y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn20y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn20y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2016년 (21Y)
+ { name: 'totalExtn21y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn21y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn21y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2017년 (23Y)
+ { name: 'totalExtn23y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn23y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn23y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2018년 (24Y)
+ { name: 'totalExtn24y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn24y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn24y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2019년 (25Y)
+ { name: 'totalExtn25y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn25y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn25y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2020년 (26Y)
+ { name: 'totalExtn26y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn26y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn26y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2021년 (27Y)
+ { name: 'totalExtn27y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn27y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn27y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2022년 (28Y)
+ { name: 'totalExtn28y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn28y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn28y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2023년 (29Y)
+ { name: 'totalExtn29y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn29y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn29y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2024년 (30Y)
+ { name: 'totalExtn30y', fieldName: '계', header: { text: '계' }, editable: false },
+ { name: 'layingExtn30y', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+ { name: 'remvlExtn30y', fieldName: '철거연장(m)', header: { text: '철거연장(m)' } },
+
+ // 2025년
+ { name: 'layingExtn', fieldName: '매설연장(m)', header: { text: '매설연장(m)' } },
+
+ // 비고
+ { name: 'rmk', fieldName: '비고', header: { text: '비고' } },
+ ],
+ columnLayout: [
+ {
+ name: 'adminArea',
+ hideChildHeaders: false,
+ header: { text: '행정구역' },
+ items: ['sido', 'sgg'],
+ },
+ 'swrgPipeCd',
+ {
+ name: 'totalGroup',
+ hideChildHeaders: false,
+ header: { text: '총계' },
+ items: ['totalSum', 'totalLayingExtn', 'totalRemvlExtn'],
+ },
+ {
+ name: 'year1996Before',
+ hideChildHeaders: false,
+ header: { text: '1996년 이전' },
+ items: ['totalExtn22y', 'layingExtn22y', 'remvlExtn22y'],
+ },
+ {
+ name: 'year1996',
+ hideChildHeaders: false,
+ header: { text: '1996년' },
+ items: ['totalExtn01y', 'layingExtn01y', 'remvlExtn01y'],
+ },
+ {
+ name: 'year1997',
+ hideChildHeaders: false,
+ header: { text: '1997년' },
+ items: ['totalExtn02y', 'layingExtn02y', 'remvlExtn02y'],
+ },
+ {
+ name: 'year1998',
+ hideChildHeaders: false,
+ header: { text: '1998년' },
+ items: ['totalExtn03y', 'layingExtn03y', 'remvlExtn03y'],
+ },
+ {
+ name: 'year1999',
+ hideChildHeaders: false,
+ header: { text: '1999년' },
+ items: ['totalExtn04y', 'layingExtn04y', 'remvlExtn04y'],
+ },
+ {
+ name: 'year2000',
+ hideChildHeaders: false,
+ header: { text: '2000년' },
+ items: ['totalExtn05y', 'layingExtn05y', 'remvlExtn05y'],
+ },
+ {
+ name: 'year2001',
+ hideChildHeaders: false,
+ header: { text: '2001년' },
+ items: ['totalExtn06y', 'layingExtn06y', 'remvlExtn06y'],
+ },
+ {
+ name: 'year2002',
+ hideChildHeaders: false,
+ header: { text: '2002년' },
+ items: ['totalExtn07y', 'layingExtn07y', 'remvlExtn07y'],
+ },
+ {
+ name: 'year2003',
+ hideChildHeaders: false,
+ header: { text: '2003년' },
+ items: ['totalExtn08y', 'layingExtn08y', 'remvlExtn08y'],
+ },
+ {
+ name: 'year2004',
+ hideChildHeaders: false,
+ header: { text: '2004년' },
+ items: ['totalExtn09y', 'layingExtn09y', 'remvlExtn09y'],
+ },
+ {
+ name: 'year2005',
+ hideChildHeaders: false,
+ header: { text: '2005년' },
+ items: ['totalExtn10y', 'layingExtn10y', 'remvlExtn10y'],
+ },
+ {
+ name: 'year2006',
+ hideChildHeaders: false,
+ header: { text: '2006년' },
+ items: ['totalExtn11y', 'layingExtn11y', 'remvlExtn11y'],
+ },
+ {
+ name: 'year2007',
+ hideChildHeaders: false,
+ header: { text: '2007년' },
+ items: ['totalExtn12y', 'layingExtn12y', 'remvlExtn12y'],
+ },
+ {
+ name: 'year2008',
+ hideChildHeaders: false,
+ header: { text: '2008년' },
+ items: ['totalExtn13y', 'layingExtn13y', 'remvlExtn13y'],
+ },
+ {
+ name: 'year2009',
+ hideChildHeaders: false,
+ header: { text: '2009년' },
+ items: ['totalExtn14y', 'layingExtn14y', 'remvlExtn14y'],
+ },
+ {
+ name: 'year2010',
+ hideChildHeaders: false,
+ header: { text: '2010년' },
+ items: ['totalExtn15y', 'layingExtn15y', 'remvlExtn15y'],
+ },
+ {
+ name: 'year2011',
+ hideChildHeaders: false,
+ header: { text: '2011년' },
+ items: ['totalExtn16y', 'layingExtn16y', 'remvlExtn16y'],
+ },
+ {
+ name: 'year2012',
+ hideChildHeaders: false,
+ header: { text: '2012년' },
+ items: ['totalExtn17y', 'layingExtn17y', 'remvlExtn17y'],
+ },
+ {
+ name: 'year2013',
+ hideChildHeaders: false,
+ header: { text: '2013년' },
+ items: ['totalExtn18y', 'layingExtn18y', 'remvlExtn18y'],
+ },
+ {
+ name: 'year2014',
+ hideChildHeaders: false,
+ header: { text: '2014년' },
+ items: ['totalExtn19y', 'layingExtn19y', 'remvlExtn19y'],
+ },
+ {
+ name: 'year2015',
+ hideChildHeaders: false,
+ header: { text: '2015년' },
+ items: ['totalExtn20y', 'layingExtn20y', 'remvlExtn20y'],
+ },
+ {
+ name: 'year2016',
+ hideChildHeaders: false,
+ header: { text: '2016년' },
+ items: ['totalExtn21y', 'layingExtn21y', 'remvlExtn21y'],
+ },
+ {
+ name: 'year2017',
+ hideChildHeaders: false,
+ header: { text: '2017년' },
+ items: ['totalExtn23y', 'layingExtn23y', 'remvlExtn23y'],
+ },
+ {
+ name: 'year2018',
+ hideChildHeaders: false,
+ header: { text: '2018년' },
+ items: ['totalExtn24y', 'layingExtn24y', 'remvlExtn24y'],
+ },
+ {
+ name: 'year2019',
+ hideChildHeaders: false,
+ header: { text: '2019년' },
+ items: ['totalExtn25y', 'layingExtn25y', 'remvlExtn25y'],
+ },
+ {
+ name: 'year2020',
+ hideChildHeaders: false,
+ header: { text: '2020년' },
+ items: ['totalExtn26y', 'layingExtn26y', 'remvlExtn26y'],
+ },
+ {
+ name: 'year2021',
+ hideChildHeaders: false,
+ header: { text: '2021년' },
+ items: ['totalExtn27y', 'layingExtn27y', 'remvlExtn27y'],
+ },
+ {
+ name: 'year2022',
+ hideChildHeaders: false,
+ header: { text: '2022년' },
+ items: ['totalExtn28y', 'layingExtn28y', 'remvlExtn28y'],
+ },
+ {
+ name: 'year2023',
+ hideChildHeaders: false,
+ header: { text: '2023년' },
+ items: ['totalExtn29y', 'layingExtn29y', 'remvlExtn29y'],
+ },
+ {
+ name: 'year2024',
+ hideChildHeaders: false,
+ header: { text: '2024년' },
+ items: ['totalExtn30y', 'layingExtn30y', 'remvlExtn30y'],
+ },
+ 'layingExtn',
+ 'rmk',
+ ],
+ rowStartNum: 2,
+ fixedColumns: 2,
+ tabKey: 'pipeTypeStatus',
+ tabLabel: '관종별 현황'
+ },
+
+ // ========================================
+ // Tab 4: 관경별 현황
+ // ========================================
+ {
+ columns: [
+ // 행정구역
+ { name: 'sido', fieldName: '시도', header: { text: '시도' } },
+ { name: 'sgg', fieldName: '시군구', header: { text: '시군구' } },
+
+ // 관종
+ { name: 'swrgPipeCd', fieldName: '관종', header: { text: '관종' } },
+
+ // 총계(m) - 계산
+ { name: 'totalDiameter', fieldName: '총계(m)', header: { text: '총계(m)' }, editable: false },
+
+ // 원형(m)
+ { name: 'under200', fieldName: '200mm 미만', header: { text: '200mm 미만' } },
+ { name: 'over200Undev300', fieldName: '200mm이상~300mm미만', header: { text: '200mm이상~300mm미만' } },
+ { name: 'over300Undev500', fieldName: '300mm이상~500mm미만', header: { text: '300mm이상~500mm미만' } },
+ { name: 'over500Undev500', fieldName: '500mm이상~800mm미만', header: { text: '500mm이상~800mm미만' } },
+ { name: 'over800', fieldName: '800이상mm', header: { text: '800이상mm' } },
+
+ // 사각형(m)
+ { name: 'box', fieldName: '사각형(m)', header: { text: '사각형(m)' } },
+
+ // 기타(측구 개거 등)
+ { name: 'etc', fieldName: '기타(측구 개거 등)', header: { text: '기타(측구 개거 등)' } },
+
+ // 비고
+ { name: 'rmk', fieldName: '비고', header: { text: '비고' } },
+ ],
+ columnLayout: [
+ {
+ name: 'adminArea',
+ hideChildHeaders: false,
+ header: { text: '행정구역' },
+ items: ['sido', 'sgg'],
+ },
+ 'swrgPipeCd',
+ 'totalDiameter',
+ {
+ name: 'circular',
+ hideChildHeaders: false,
+ header: { text: '원형(m)' },
+ items: [
+ 'under200',
+ 'over200Undev300',
+ 'over300Undev500',
+ 'over500Undev500',
+ 'over800',
+ ],
+ },
+ 'box',
+ 'etc',
+ 'rmk',
+ ],
+ rowStartNum: 2,
+ fixedColumns: 1,
+ tabKey: 'pipeDiameterStatus',
+ tabLabel: '관경별 현황'
+ },
+
+ // ========================================
+ // Tab 5: 시설별 현황관리
+ // Tab 5-1: 행정구역별 연결 현황 (우측 그리드)
+ // ========================================
+ {
+ columns: [
+ // 행정구역
+ { name: 'sido', fieldName: '시도', header: { text: '시도' } },
+ { name: 'sgg', fieldName: '시군구', header: { text: '시군구' } },
+ { name: 'adstDong', fieldName: '행정구역명', header: { text: '행정구역명' } },
+
+ // 연결여부
+ { name: 'iscan', fieldName: '연결여부', header: { text: '연결여부' } },
+
+ // 연결하수처리장
+ { name: 'bscFctNm', fieldName: '연결하수처리장', header: { text: '연결하수처리장' } },
+ ],
+ columnLayout: [
+ {
+ name: 'adminArea',
+ hideChildHeaders: false,
+ header: { text: '행정구역' },
+ items: ['sido', 'sgg', 'adstDong'],
+ },
+ 'iscan',
+ 'bscFctNm',
+ ],
+ rowStartNum: 2,
+ fixedColumns: 1,
+ tabKey: 'administrativeAreaConnection',
+ tabLabel: '행정구역별 연결 현황'
+ },
+
+ // ========================================
+ // Tab 5-2: 하수처리장별 연결 현황 (좌측 그리드)
+ // ========================================
+ {
+ columns: [
+ // 하수처리장 정보
+ { name: 'bscFctNm', fieldName: '하수처리장명', header: { text: '하수처리장명' } },
+ { name: 'fctCpc', fieldName: '용량', header: { text: '용량' } },
+ { name: 'bscFctCd', fieldName: '하수처리장코드', header: { text: '하수처리장코드' } },
+
+ // 연결여부
+ { name: 'iscan', fieldName: '연결여부', header: { text: '연결여부' } },
+
+ // 연결지역
+ { name: 'nmlist', fieldName: '연결지역', header: { text: '연결지역' } },
+ ],
+ columnLayout: [
+ 'bscFctNm',
+ 'fctCpc',
+ 'bscFctCd',
+ 'iscan',
+ 'nmlist',
+ ],
+ rowStartNum: 1,
+ fixedColumns: 1,
+ tabKey: 'treatmentPlantConnection',
+ tabLabel: '하수처리장별 연결 현황'
+ },
+];
\ No newline at end of file
diff --git a/apps/st/src/components/util/column/SewageReservoirPumpMngColumn.ts b/apps/st/src/components/util/column/SewageReservoirPumpMngColumn.ts
new file mode 100644
index 000000000..85c49a6bf
--- /dev/null
+++ b/apps/st/src/components/util/column/SewageReservoirPumpMngColumn.ts
@@ -0,0 +1,481 @@
+/**
+ * 하수도 통계 관리 > 4.하수저류시설 및 빗물펌프장
+ * 2개 Tab: 컬럼 통합 관리
+ */
+
+export const SewageReservoirPumpMngColumnInfoList = [
+ // ========================================
+ // Tab 1: 하수저류시설
+ // ========================================
+ {
+ columns: [
+ // 행정구역
+ { name: 'sidoCd', fieldName: '시도코드', header: { text: '시도코드' }, hidden: true },
+ { name: 'adstDstrCd', fieldName: '행정구역코드', header: { text: '행정구역코드' }, hidden: true },
+ { name: 'adstCd', fieldName: '행정코드', header: { text: '행정코드' }, hidden: true },
+ { name: 'rgnNm', fieldName: '지역명', header: { text: '지역명' }, hidden: true },
+ { name: 'sido', fieldName: '시도', header: { text: '시도' } },
+ { name: 'sgg', fieldName: '시군구', header: { text: '시군구' } },
+
+ // 기본정보
+ { name: 'swgeStrgeFctSeq', fieldName: '시설SEQ', header: { text: '시설SEQ' }, hidden: true },
+ { name: 'swgeStrgeNm', fieldName: '시설명', header: { text: '시설명' } },
+ { name: 'addr', fieldName: '위치', header: { text: '위치' } },
+ { name: 'rnDt', fieldName: '가동개시 년월일 yyyy-mm-dd', header: { text: '가동개시 년월일 yyyy-mm-dd' } },
+ { name: 'useYn', fieldName: '사용여부', header: { text: '사용여부' }, hidden: true },
+ { name: 'closeDt', fieldName: '폐지일자', header: { text: '폐지일자' }, hidden: true },
+
+ // 계획설계빈도
+ { name: 'designFrequency', fieldName: '계획설계빈도', header: { text: '계획설계빈도' } },
+
+ // 설치목적
+ { name: 'floodingPrevention', fieldName: '침수예방', header: { text: '침수예방' } },
+ { name: 'waterQualityReduction', fieldName: '수질오염저감', header: { text: '수질오염저감' } },
+ { name: 'sewerageReuseUse', fieldName: '하수재이용용도', header: { text: '하수재이용용도' } },
+
+ // 시설정보
+ { name: 'facilityStructure', fieldName: '시설구조(일반지하식,지하터널식,기타)', header: { text: '시설구조(일반지하식,지하터널식,기타)' } },
+ { name: 'catchmentAreaSize', fieldName: '집수구역면적(㎢)', header: { text: '집수구역면적(㎢)' } },
+ { name: 'facilityCapacity', fieldName: '시설용량(m³)', header: { text: '시설용량(m³)' } },
+
+ // 펌프시설 - 총양수량
+ { name: 'totalPumpingCapacity', fieldName: '총양수량(m³/min)', header: { text: '총양수량(m³/min)' } },
+
+ // 펌프시설1
+ { name: 'pump1Diameter', fieldName: '구경(mm)', header: { text: '구경(mm)' } },
+ { name: 'pump1PumpingCapacity', fieldName: '대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
+ { name: 'pump1Count', fieldName: '펌프대수', header: { text: '펌프대수' } },
+ { name: 'pump1StandbyCount', fieldName: '예비펌프대수', header: { text: '예비펌프대수' } },
+
+ // 펌프시설2
+ { name: 'pump2Diameter', fieldName: '구경(mm)', header: { text: '구경(mm)' } },
+ { name: 'pump2PumpingCapacity', fieldName: '대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
+ { name: 'pump2Count', fieldName: '펌프대수', header: { text: '펌프대수' } },
+ { name: 'pump2StandbyCount', fieldName: '예비펌프대수', header: { text: '예비펌프대수' } },
+
+ // 펌프시설3
+ { name: 'pump3Diameter', fieldName: '구경(mm)', header: { text: '구경(mm)' } },
+ { name: 'pump3PumpingCapacity', fieldName: '대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
+ { name: 'pump3Count', fieldName: '펌프대수', header: { text: '펌프대수' } },
+ { name: 'pump3StandbyCount', fieldName: '예비펌프대수', header: { text: '예비펌프대수' } },
+
+ // 부대시설
+ { name: 'preprocessingFacility', fieldName: '전처리시설유무(유/무)', header: { text: '전처리시설유무(유/무)' } },
+ { name: 'odorRemovalEquipment', fieldName: '탈취설비유무(유/무)', header: { text: '탈취설비유무(유/무)' } },
+ { name: 'selfGenerationEquipment', fieldName: '자가발전유무(유/무)', header: { text: '자가발전유무(유/무)' } },
+
+ // 배수및저류방식
+ { name: 'drainageMethod', fieldName: '배수방식(자연배수,강제배수)', header: { text: '배수방식(자연배수,강제배수)' } },
+ { name: 'storageMethod', fieldName: '저류방식(직렬,병렬)', header: { text: '저류방식(직렬,병렬)' } },
+ { name: 'storageWaterTreatmentMethod', fieldName: '저류수처리방법(자체처리,연계처리)', header: { text: '저류수처리방법(자체처리,연계처리)' } },
+ { name: 'dischargeDestination', fieldName: '방류수역(또는 연계처리장명)', header: { text: '방류수역(또는 연계처리장명)' } },
+
+ // 최종처분량
+ { name: 'sedimentDisposalAmount', fieldName: '침사', header: { text: '침사' } },
+ { name: 'debrisDisposalAmount', fieldName: '협잡물', header: { text: '협잡물' } },
+
+ // 최종처분방법
+ { name: 'sedimentDisposalMethod', fieldName: '침사', header: { text: '침사' } },
+ { name: 'debrisDisposalMethod', fieldName: '협잡물', header: { text: '협잡물' } },
+
+ // 운영실적
+ { name: 'operationDaysPerYear', fieldName: '기동일수(일/년)', header: { text: '기동일수(일/년)' } },
+ { name: 'totalDischargePerYear', fieldName: '총배수량(m³/년)', header: { text: '총배수량(m³/년)' } },
+
+ // 비고
+ { name: 'remarks', fieldName: '비고', header: { text: '비고' } },
+ ],
+
+ columnLayout: [
+ // 행정구역
+ {
+ name: 'adminArea',
+ hideChildHeaders: false,
+ header: { text: '행정구역' },
+ items: ['sido', 'sgg'],
+ },
+
+ // 시설명
+ 'swgeStrgeNm',
+
+ // 위치
+ 'addr',
+
+ // 가동개시 년월일
+ 'rnDt',
+
+ // 계획설계빈도
+ 'designFrequency',
+
+ // 설치목적
+ {
+ name: 'installationPurpose',
+ hideChildHeaders: false,
+ header: { text: '설치목적(O,X로 표기, 중복체크가능)' },
+ items: [
+ 'floodingPrevention',
+ 'waterQualityReduction',
+ 'sewerageReuseUse',
+ ],
+ },
+
+ // 시설구조
+ 'facilityStructure',
+
+ // 집수구역면적
+ 'catchmentAreaSize',
+
+ // 시설용량
+ 'facilityCapacity',
+
+ // 펌프시설
+ {
+ name: 'pumpSystem',
+ hideChildHeaders: false,
+ header: { text: '펌프시설' },
+ items: [
+ // 총양수량
+ 'totalPumpingCapacity',
+
+ // 펌프시설1
+ {
+ name: 'pumpSystem1',
+ hideChildHeaders: false,
+ header: { text: '펌프시설1' },
+ items: [
+ 'pump1Diameter',
+ 'pump1PumpingCapacity',
+ 'pump1Count',
+ 'pump1StandbyCount',
+ ],
+ },
+
+ // 펌프시설2
+ {
+ name: 'pumpSystem2',
+ hideChildHeaders: false,
+ header: { text: '펌프시설2' },
+ items: [
+ 'pump2Diameter',
+ 'pump2PumpingCapacity',
+ 'pump2Count',
+ 'pump2StandbyCount',
+ ],
+ },
+
+ // 펌프시설3
+ {
+ name: 'pumpSystem3',
+ hideChildHeaders: false,
+ header: { text: '펌프시설3' },
+ items: [
+ 'pump3Diameter',
+ 'pump3PumpingCapacity',
+ 'pump3Count',
+ 'pump3StandbyCount',
+ ],
+ },
+ ],
+ },
+
+ // 부대시설
+ {
+ name: 'auxiliaryFacilities',
+ hideChildHeaders: false,
+ header: { text: '부대시설' },
+ items: [
+ 'preprocessingFacility',
+ 'odorRemovalEquipment',
+ 'selfGenerationEquipment',
+ ],
+ },
+
+ // 배수방식
+ 'drainageMethod',
+
+ // 저류방식
+ 'storageMethod',
+
+ // 저류수처리방법
+ 'storageWaterTreatmentMethod',
+
+ // 방류수역
+ 'dischargeDestination',
+
+ // 최종처분량
+ {
+ name: 'finalDisposalAmount',
+ hideChildHeaders: false,
+ header: { text: '최종처분량(ton/년)' },
+ items: [
+ 'sedimentDisposalAmount',
+ 'debrisDisposalAmount',
+ ],
+ },
+
+ // 최종처분방법
+ {
+ name: 'finalDisposalMethod',
+ hideChildHeaders: false,
+ header: { text: '최종처분방법' },
+ items: [
+ 'sedimentDisposalMethod',
+ 'debrisDisposalMethod',
+ ],
+ },
+
+ // 운영실적
+ {
+ name: 'operationResults',
+ hideChildHeaders: false,
+ header: { text: '운영실적' },
+ items: [
+ 'operationDaysPerYear',
+ 'totalDischargePerYear',
+ ],
+ },
+
+ // 비고
+ 'remarks',
+ ],
+
+ rowStartNum: 3,
+ fixedColumns: 2,
+ tabKey: 'sewageReservoir',
+ tabLabel: '하수저류시설',
+ },
+
+ // ========================================
+ // Tab 2: 빗물펌프장
+ // ========================================
+ {
+ columns: [
+ // 행정구역
+ { name: 'sidoCd', fieldName: '시도코드', header: { text: '시도코드' }, hidden: true },
+ { name: 'adstDstrCd', fieldName: '행정구역코드', header: { text: '행정구역코드' }, hidden: true },
+ { name: 'adstCd', fieldName: '행정코드', header: { text: '행정코드' }, hidden: true },
+ { name: 'rgnNm', fieldName: '지역명', header: { text: '지역명' }, hidden: true },
+ { name: 'sido', fieldName: '시도', header: { text: '시도' } },
+ { name: 'sgg', fieldName: '시군구', header: { text: '시군구' } },
+
+ // 기본정보
+ { name: 'swgeStrgeFctSeq', fieldName: '시설SEQ', header: { text: '시설SEQ' }, hidden: true },
+ { name: 'swgeStrgeNm', fieldName: '시설명', header: { text: '시설명' } },
+ { name: 'addr', fieldName: '위치', header: { text: '위치' } },
+ { name: 'facRes', fieldName: '시설물종류', header: { text: '시설물종류' } },
+ { name: 'rnDt', fieldName: '가동개시 년월일 yyyy-mm-dd', header: { text: '가동개시 년월일 yyyy-mm-dd' } },
+
+ // 계획설계빈도
+ { name: 'plDsgnFrqnc', fieldName: '계획설계빈도', header: { text: '계획설계빈도' } },
+
+ // 집수구역면적
+ { name: 'dgrAr', fieldName: '집수구역면적(㎢)', header: { text: '집수구역면적(㎢)' } },
+
+ // 유수지
+ { name: 'revFnnc', fieldName: '유수지유무(유,무)', header: { text: '유수지유무(유,무)' } },
+ { name: 'revCpcty', fieldName: '저류랑(m³)', header: { text: '저류랑(m³)' } },
+
+ // 흡수정
+ { name: 'absCpcty', fieldName: '저류랑(m³)', header: { text: '저류랑(m³)' } },
+
+ // 펌프시설 - 총양수량
+ { name: 'wpCpcty', fieldName: '총양수량(m³/min)', header: { text: '총양수량(m³/min)' } },
+
+ // 펌프시설1
+ { name: 'pumpCalbr', fieldName: '구경(mm)', header: { text: '구경(mm)' } },
+ { name: 'pumpHpCo', fieldName: '대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
+ { name: 'pumpCo', fieldName: '펌프대수', header: { text: '펌프대수' } },
+ { name: 'pumpPreparCo', fieldName: '예비펌프대수', header: { text: '예비펌프대수' } },
+
+ // 펌프시설2
+ { name: 'pumpCalbr2', fieldName: '구경(mm)', header: { text: '구경(mm)' } },
+ { name: 'pumpHpCo2', fieldName: '대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
+ { name: 'pumpCo2', fieldName: '펌프대수', header: { text: '펌프대수' } },
+ { name: 'pumpPreparCo2', fieldName: '예비펌프대수', header: { text: '예비펌프대수' } },
+
+ // 펌프시설3
+ { name: 'pumpCalbr3', fieldName: '구경(mm)', header: { text: '구경(mm)' } },
+ { name: 'pumpHpCo3', fieldName: '대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' } },
+ { name: 'pumpCo3', fieldName: '펌프대수', header: { text: '펌프대수' } },
+ { name: 'pumpPreparCo3', fieldName: '예비펌프대수', header: { text: '예비펌프대수' } },
+
+ // 부대시설
+ { name: 'dorZeqpFnnc', fieldName: '전처리시설유무(유/무)', header: { text: '전처리시설유무(유/무)' } },
+ { name: 'selfEtrqFnnc', fieldName: '탈취설비유무(유/무)', header: { text: '탈취설비유무(유/무)' } },
+ { name: 'freFnnc', fieldName: '자가발전유무(유/무)', header: { text: '자가발전유무(유/무)' } },
+
+ // 방류수역
+ { name: 'disWat', fieldName: '방류수역', header: { text: '방류수역' } },
+
+ // 최종처분량
+ { name: 'sdmtTreCpcty', fieldName: '침사', header: { text: '침사' } },
+ { name: 'iprtTreCpcty', fieldName: '협잡물', header: { text: '협잡물' } },
+
+ // 최종처분방법
+ { name: 'sdmtTreMth', fieldName: '침사', header: { text: '침사' } },
+ { name: 'iprtTreMth', fieldName: '협잡물', header: { text: '협잡물' } },
+
+ // 운영실적
+ { name: 'yrstpRnDyn', fieldName: '기동일수(일/년)', header: { text: '기동일수(일/년)' } },
+ { name: 'dsplcmntAmnt', fieldName: '총배수량(m³/년)', header: { text: '총배수량(m³/년)' } },
+
+ // 비고
+ { name: 'rmk', fieldName: '비고', header: { text: '비고' } },
+ ],
+
+ columnLayout: [
+ // 행정구역
+ {
+ name: 'adminArea',
+ hideChildHeaders: false,
+ header: { text: '행정구역' },
+ items: ['sido', 'sgg'],
+ },
+
+ // 시설명
+ 'swgeStrgeNm',
+
+ // 위치
+ 'addr',
+
+ // 시설물종류
+ 'facRes',
+
+ // 가동개시 년월일
+ 'rnDt',
+
+ // 계획설계빈도
+ 'plDsgnFrqnc',
+
+ // 집수구역면적
+ 'dgrAr',
+
+ // 유수지
+ {
+ name: 'reservoir',
+ hideChildHeaders: false,
+ header: { text: '유수지' },
+ items: [
+ 'revFnnc',
+ 'revCpcty',
+ ],
+ },
+
+ // 흡수정
+ {
+ name: 'absorptionWell',
+ hideChildHeaders: false,
+ header: { text: '흡수정' },
+ items: [
+ 'absCpcty',
+ ],
+ },
+
+ // 펌프시설
+ {
+ name: 'pumpSystem',
+ hideChildHeaders: false,
+ header: { text: '펌프시설' },
+ items: [
+ // 총양수량
+ 'wpCpcty',
+
+ // 펌프시설1
+ {
+ name: 'pumpSystem1',
+ hideChildHeaders: false,
+ header: { text: '펌프시설1' },
+ items: [
+ 'pumpCalbr',
+ 'pumpHpCo',
+ 'pumpCo',
+ 'pumpPreparCo',
+ ],
+ },
+
+ // 펌프시설2
+ {
+ name: 'pumpSystem2',
+ hideChildHeaders: false,
+ header: { text: '펌프시설2' },
+ items: [
+ 'pumpCalbr2',
+ 'pumpHpCo2',
+ 'pumpCo2',
+ 'pumpPreparCo2',
+ ],
+ },
+
+ // 펌프시설3
+ {
+ name: 'pumpSystem3',
+ hideChildHeaders: false,
+ header: { text: '펌프시설3' },
+ items: [
+ 'pumpCalbr3',
+ 'pumpHpCo3',
+ 'pumpCo3',
+ 'pumpPreparCo3',
+ ],
+ },
+ ],
+ },
+
+ // 부대시설
+ {
+ name: 'auxiliaryFacilities',
+ hideChildHeaders: false,
+ header: { text: '부대시설' },
+ items: [
+ 'dorZeqpFnnc',
+ 'selfEtrqFnnc',
+ 'freFnnc',
+ ],
+ },
+
+ // 방류수역
+ 'disWat',
+
+ // 최종처분량
+ {
+ name: 'finalDisposalAmount',
+ hideChildHeaders: false,
+ header: { text: '최종처분량(ton/년)' },
+ items: [
+ 'sdmtTreCpcty',
+ 'iprtTreCpcty',
+ ],
+ },
+
+ // 최종처분방법
+ {
+ name: 'finalDisposalMethod',
+ hideChildHeaders: false,
+ header: { text: '최종처분방법' },
+ items: [
+ 'sdmtTreMth',
+ 'iprtTreMth',
+ ],
+ },
+
+ // 운영실적
+ {
+ name: 'operationResults',
+ hideChildHeaders: false,
+ header: { text: '운영실적' },
+ items: [
+ 'yrstpRnDyn',
+ 'dsplcmntAmnt',
+ ],
+ },
+
+ // 비고
+ 'rmk',
+ ],
+
+ rowStartNum: 3,
+ fixedColumns: 2,
+ tabKey: 'rainfallPumpStation',
+ tabLabel: '빗물펌프장',
+ },
+];
\ No newline at end of file