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 789df3ecd..33ed9dbb6 100644
--- a/apps/st/src/components/statistics/management/SeweragePenetrationRateMng.tsx
+++ b/apps/st/src/components/statistics/management/SeweragePenetrationRateMng.tsx
@@ -4,10 +4,10 @@ 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 type { GridView, DataColumn, ColumnFooter } from "@/components/type/DataGrid.type";
import { getFooterSummary } from "@/components/util/grid/footerSummary";
+// 하수도 통계 관리 > 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/statistics/review/ExcretaTreatmentFacilityRvw.tsx b/apps/st/src/components/statistics/review/ExcretaTreatmentFacilityRvw.tsx
index 585bfade7..d9086a940 100644
--- a/apps/st/src/components/statistics/review/ExcretaTreatmentFacilityRvw.tsx
+++ b/apps/st/src/components/statistics/review/ExcretaTreatmentFacilityRvw.tsx
@@ -7,56 +7,56 @@ import ReturnButton from "@/components/button/ReturnButton";
const ExcretaTreatmentFacilityRvw = () => {
- const columns = [
- // 행정구역
- { name: 'sido', fieldName: '시도', header: { text: '시도' } },
- { name: 'sgg', fieldName: '구군', header: { text: '구군' } },
+ const columns = [
+ // 행정구역
+ { name: 'sido', fieldName: '시도', header: { text: '시도' } },
+ { name: 'sgg', fieldName: '구군', header: { text: '구군' } },
- // 기본 정보
- { name: '시설명', fieldName: '시설명', header: { text: '시설명' } },
- { name: '구분', fieldName: '구분', header: { text: '구분' } },
- { name: '소재지', fieldName: '소재지', header: { text: '소재지' } },
- { name: '전화번호', fieldName: '전화번호', header: { text: '전화번호' } },
- { name: '준공일', fieldName: '준공일', header: { text: '준공일' } },
- { name: '가동개시일', fieldName: '가동개시일', header: { text: '가동개시일' } },
- { name: '사업비(백만원)', fieldName: '사업비(백만원)', header: { text: '사업비(백만원)' } },
- { name: '시설용량(m3/일)', fieldName: '시설용량(m3/일)', header: { text: '시설용량(m3/일)' } },
- { name: '처리량(m3/일)', fieldName: '처리량(m3/일)', header: { text: '처리량(m3/일)' } },
- { name: '가동일수(일/년)', fieldName: '가동일수(일/년)', header: { text: '가동일수(일/년)' } },
+ // 기본 정보
+ { name: '시설명', fieldName: '시설명', header: { text: '시설명' } },
+ { name: '구분', fieldName: '구분', header: { text: '구분' } },
+ { name: '소재지', fieldName: '소재지', header: { text: '소재지' } },
+ { name: '전화번호', fieldName: '전화번호', header: { text: '전화번호' } },
+ { name: '준공일', fieldName: '준공일', header: { text: '준공일' } },
+ { name: '가동개시일', fieldName: '가동개시일', header: { text: '가동개시일' } },
+ { name: '사업비(백만원)', fieldName: '사업비(백만원)', header: { text: '사업비(백만원)' } },
+ { name: '시설용량(m3/일)', fieldName: '시설용량(m3/일)', header: { text: '시설용량(m3/일)' } },
+ { name: '처리량(m3/일)', fieldName: '처리량(m3/일)', header: { text: '처리량(m3/일)' } },
+ { name: '가동일수(일/년)', fieldName: '가동일수(일/년)', header: { text: '가동일수(일/년)' } },
- // 처리
- { name: '처리공법', fieldName: '처리공법', header: { text: '처리공법' } },
- { name: '연계처리장명', fieldName: '연계처리장명', header: { text: '연계처리장명' } },
- { name: '연계처리량', fieldName: '연계처리량', header: { text: '연계처리량' } },
+ // 처리
+ { name: '처리공법', fieldName: '처리공법', header: { text: '처리공법' } },
+ { name: '연계처리장명', fieldName: '연계처리장명', header: { text: '연계처리장명' } },
+ { name: '연계처리량', fieldName: '연계처리량', header: { text: '연계처리량' } },
- // 유입수질
- { name: 'BOD', fieldName: 'BOD', header: { text: 'BOD' } },
- { name: 'TOC', fieldName: 'TOC', header: { text: 'TOC' } },
- { name: 'SS', fieldName: 'SS', header: { text: 'SS' } },
- { name: 'T-N', fieldName: 'T-N', header: { text: 'T-N' } },
- { name: 'T-P', fieldName: 'T-P', header: { text: 'T-P' } },
- { name: '대장균군수', fieldName: '대장균군수', header: { text: '대장균군수' } },
+ // 유입수질
+ { name: 'BOD', fieldName: 'BOD', header: { text: 'BOD' } },
+ { name: 'TOC', fieldName: 'TOC', header: { text: 'TOC' } },
+ { name: 'SS', fieldName: 'SS', header: { text: 'SS' } },
+ { name: 'T-N', fieldName: 'T-N', header: { text: 'T-N' } },
+ { name: 'T-P', fieldName: 'T-P', header: { text: 'T-P' } },
+ { name: '대장균군수', fieldName: '대장균군수', header: { text: '대장균군수' } },
- // 방류수질
- { name: '방류수질BOD', fieldName: '방류수질BOD', header: { text: 'BOD' } },
- { name: '방류수질TOC', fieldName: '방류수질TOC', header: { text: 'TOC' } },
- { name: '방류수질SS', fieldName: '방류수질SS', header: { text: 'SS' } },
- { name: '방류수질T-N', fieldName: '방류수질T-N', header: { text: 'T-N' } },
- { name: '방류수질T-P', fieldName: '방류수질T-P', header: { text: 'T-P' } },
- { name: '방류수질대장균군수', fieldName: '방류수질대장균군수', header: { text: '방류수질대장균군수' } },
+ // 방류수질
+ { name: '방류수질BOD', fieldName: '방류수질BOD', header: { text: 'BOD' } },
+ { name: '방류수질TOC', fieldName: '방류수질TOC', header: { text: 'TOC' } },
+ { name: '방류수질SS', fieldName: '방류수질SS', header: { text: 'SS' } },
+ { name: '방류수질T-N', fieldName: '방류수질T-N', header: { text: 'T-N' } },
+ { name: '방류수질T-P', fieldName: '방류수질T-P', header: { text: 'T-P' } },
+ { name: '방류수질대장균군수', fieldName: '방류수질대장균군수', header: { text: '방류수질대장균군수' } },
- // 방류수역
- { name: '수계', fieldName: '수계', header: { text: '수계' } },
- { name: '지류', fieldName: '지류', header: { text: '지류' } },
- { name: '중권역', fieldName: '중권역', header: { text: '중권역' } },
- { name: '소권역', fieldName: '소권역', header: { text: '소권역' } },
+ // 방류수역
+ { name: '수계', fieldName: '수계', header: { text: '수계' } },
+ { name: '지류', fieldName: '지류', header: { text: '지류' } },
+ { name: '중권역', fieldName: '중권역', header: { text: '중권역' } },
+ { name: '소권역', fieldName: '소권역', header: { text: '소권역' } },
- // 운영
- { name: '운영주체(자체/공기업,민간위탁)', fieldName: '운영주체(자체/공기업,민간위탁)', header: { text: '운영주체(자체/공기업,민간위탁)' } },
- { name: '직원총수(명)', fieldName: '직원총수(명)', header: { text: '직원총수(명)' } },
- { name: '안전사고건수(건,인/년)', fieldName: '안전사고건수(건,인/년)', header: { text: '안전사고건수(건,인/년)' } },
- { name: 'rmk', fieldName: '비고', header: { text: '비고' } },
- ];
+ // 운영
+ { name: '운영주체(자체/공기업,민간위탁)', fieldName: '운영주체(자체/공기업,민간위탁)', header: { text: '운영주체(자체/공기업,민간위탁)' } },
+ { name: '직원총수(명)', fieldName: '직원총수(명)', header: { text: '직원총수(명)' } },
+ { name: '안전사고건수(건,인/년)', fieldName: '안전사고건수(건,인/년)', header: { text: '안전사고건수(건,인/년)' } },
+ { name: 'rmk', fieldName: '비고', header: { text: '비고' } },
+ ];
@@ -80,25 +80,25 @@ const ExcretaTreatmentFacilityRvw = () => {
'처리공법',
'연계처리장명',
'연계처리량',
- {
+ {
name: 'groupB',
hideChildHeaders: false,
header: { text: '유입수질(mg/L,개/mL)' },
- items: ['BOD','TOC','SS','T-N','T-P','대장균군수'],
+ items: ['BOD', 'TOC', 'SS', 'T-N', 'T-P', '대장균군수'],
},
{
name: 'groupC',
hideChildHeaders: false,
header: { text: '방류수질(mg/L,개/mL))' },
- items: ['방류수질BOD','방류수질TOC','방류수질SS','방류수질T-N','방류수질T-P','방류수질대장균군수'],
+ items: ['방류수질BOD', '방류수질TOC', '방류수질SS', '방류수질T-N', '방류수질T-P', '방류수질대장균군수'],
},
-
+
{
name: 'groupD',
hideChildHeaders: false,
header: { text: '방류수역' },
- items: ['수계','지류','중권역','소권역'],
+ items: ['수계', '지류', '중권역', '소권역'],
},
'운영주체(자체/공기업,민간위탁)',
'직원총수(명)',
@@ -106,7 +106,7 @@ const ExcretaTreatmentFacilityRvw = () => {
'rmk'
];
- const approveFunc = () => {
+ const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -127,16 +127,15 @@ const ExcretaTreatmentFacilityRvw = () => {
};
return (
- <>
+ <>
-
+
-
+
>
);
};
diff --git a/apps/st/src/components/statistics/review/PrivateSewageFacilityRvw.tsx b/apps/st/src/components/statistics/review/PrivateSewageFacilityRvw.tsx
index cafd214c8..bd97564d3 100644
--- a/apps/st/src/components/statistics/review/PrivateSewageFacilityRvw.tsx
+++ b/apps/st/src/components/statistics/review/PrivateSewageFacilityRvw.tsx
@@ -10,7 +10,7 @@ import { PrivateSewageFacilityInfoListRvw } from "@/components/util/column/Priva
const PrivateSewageFacilityRvw = () => {
- const approveFunc = () => {
+ const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -32,16 +32,16 @@ const PrivateSewageFacilityRvw = () => {
return (
- <>
+ <>
-
+
-
+
>
);
};
diff --git a/apps/st/src/components/statistics/review/PublicSewageFacilityRvw.tsx b/apps/st/src/components/statistics/review/PublicSewageFacilityRvw.tsx
index 4ff51e29c..0bc14802e 100644
--- a/apps/st/src/components/statistics/review/PublicSewageFacilityRvw.tsx
+++ b/apps/st/src/components/statistics/review/PublicSewageFacilityRvw.tsx
@@ -9,10 +9,10 @@ const PublicSewageFacilityRvw = () => {
const columns = [
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
{ name: 'sgg', fieldName: '구군', header: { text: '구군' } },
- { name: '구분', fieldName: '구분', header: { text: '구분' } },
+ { name: '구분', fieldName: '구분', header: { text: '구분' } },
{ name: '소재지', fieldName: '소재지', header: { text: '소재지' } },
//시설용량
- { name: '시설용량(500m3/일이상/미만)', fieldName: '시설용량(500m3/일이상/미만)', header: { text: '시설용량(500m3/일이상/미만)' } },
+ { name: '시설용량(500m3/일이상/미만)', fieldName: '시설용량(500m3/일이상/미만)', header: { text: '시설용량(500m3/일이상/미만)' } },
{ name: '(시설용량)물리적', fieldName: '(시설용량)물리적', header: { text: '물리적' } },
{ name: '(시설용량)생물학적', fieldName: '(시설용량)생물학적', header: { text: '생물학적' } },
{ name: '(시설용량)고도', fieldName: '(시설용량)고도', header: { text: '고도' } },
@@ -44,14 +44,14 @@ const PublicSewageFacilityRvw = () => {
{ name: '처리효율(%)', fieldName: '처리효율(%)', header: { text: '처리효율(%)' } },
{ name: '처리부하량(kgBOD/D)', fieldName: '처리부하량(kgBOD/D)', header: { text: '처리부하량(kgBOD/D)' } },
{ name: '처리방법', fieldName: '처리방법', header: { text: '처리방법' } },
-
+
{ name: '(연계처리량)분뇨', fieldName: '(연계처리량)분뇨', header: { text: '분뇨' } },
{ name: '(연계처리량)축산', fieldName: '(연계처리량)축산', header: { text: '축산' } },
{ name: '(연계처리량)침출수', fieldName: '(연계처리량)침출수', header: { text: '침출수' } },
{ name: '(연계처리량)기타', fieldName: '(연계처리량)기타', header: { text: '기타' } },
- { name: '전화번호', fieldName: '전화번호', header: { text: '전화번호' } },
- { name: '준공일', fieldName: '준공일', header: { text: '준공일' } },
- { name: '가동개시일', fieldName: '가동개시일', header: { text: '가동개시일' } },
+ { name: '전화번호', fieldName: '전화번호', header: { text: '전화번호' } },
+ { name: '준공일', fieldName: '준공일', header: { text: '준공일' } },
+ { name: '가동개시일', fieldName: '가동개시일', header: { text: '가동개시일' } },
{ name: '사업비(백만원)', fieldName: '사업비(백만원)', header: { text: '사업비(백만원)' } },
{ name: '방류수소독방법', fieldName: '방류수소독방법', header: { text: '방류수소독방법' } },
{ name: '수계', fieldName: '수계', header: { text: '수계' } },
@@ -89,23 +89,23 @@ const PublicSewageFacilityRvw = () => {
name: 'groupB',
hideChildHeaders: false,
header: { text: '(m3/일)' },
- items: ['(시설용량)물리적','(시설용량)생물학적','(시설용량)고도'],
+ items: ['(시설용량)물리적', '(시설용량)생물학적', '(시설용량)고도'],
},
'유입하수량(500m3/일이상/미만)',
{
name: 'groupC',
hideChildHeaders: false,
header: { text: '(m3/일)' },
- items: ['(유입하수량)물리적','(유입하수량)생물학적','(유입하수량)고도'],
+ items: ['(유입하수량)물리적', '(유입하수량)생물학적', '(유입하수량)고도'],
},
'방류량(500m3/일이상/미만)',
{
name: 'groupD',
hideChildHeaders: false,
header: { text: '(m3/일)' },
- items: ['(방류량)물리적','(방류량)생물학적','(방류량)고도'],
+ items: ['(방류량)물리적', '(방류량)생물학적', '(방류량)고도'],
},
-
+
'유입BOD',
'방류BOD',
'유입TOC',
@@ -125,41 +125,41 @@ const PublicSewageFacilityRvw = () => {
name: 'groupE',
hideChildHeaders: false,
header: { text: '연계처리량(m3/일)(500m3/일 이상/ 미만)' },
- items: ['(연계처리량)분뇨','(연계처리량)축산','(연계처리량)침출수','(연계처리량)기타'],
+ items: ['(연계처리량)분뇨', '(연계처리량)축산', '(연계처리량)침출수', '(연계처리량)기타'],
},
'전화번호',
'준공일',
'가동개시일',
'사업비(백만원)',
'방류수소독방법',
- {
+ {
name: 'groupF',
hideChildHeaders: false,
header: { text: '방류수역' },
- items: ['수계','지류','세부단위구역','지역구분',
- {
- name: 'groupG',
- hideChildHeaders: false,
- header: { text: '중권역' },
- items: ['명칭','목표수질(BOD)'],
- },
+ items: ['수계', '지류', '세부단위구역', '지역구분',
+ {
+ name: 'groupG',
+ hideChildHeaders: false,
+ header: { text: '중권역' },
+ items: ['명칭', '목표수질(BOD)'],
+ },
],
},
'에너지자립율(%)',
'에너지자체생산량(TOE)',
- {
+ {
name: 'groupH',
hideChildHeaders: false,
header: { text: '연간 총 에너지 사용량(TOE)' },
- items: ['계(TOE)','총전력사용량(KWh)','자체에너지사용량(TOE)'],
+ items: ['계(TOE)', '총전력사용량(KWh)', '자체에너지사용량(TOE)'],
},
'하수처리량당CO2배출량(KgCO2/m3)',
'운영주체(자체/공기업/민간대행)',
- {
+ {
name: 'groupI',
hideChildHeaders: false,
header: { text: '위탁현황' },
- items: ['위탁업체명','위탁비용(백만원/년)','위탁계약기간(yyyy-mm-dd~)'],
+ items: ['위탁업체명', '위탁비용(백만원/년)', '위탁계약기간(yyyy-mm-dd~)'],
},
'중심처리시설',
'직원총수(명)',
@@ -167,7 +167,7 @@ const PublicSewageFacilityRvw = () => {
'rmk'
];
- const approveFunc = () => {
+ const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -188,16 +188,15 @@ const PublicSewageFacilityRvw = () => {
};
return (
- <>
+ <>
-
+
-
+
>
);
};
diff --git a/apps/st/src/components/statistics/review/PumpingStationRvw.tsx b/apps/st/src/components/statistics/review/PumpingStationRvw.tsx
index 972e52423..d06d4bd1c 100644
--- a/apps/st/src/components/statistics/review/PumpingStationRvw.tsx
+++ b/apps/st/src/components/statistics/review/PumpingStationRvw.tsx
@@ -10,7 +10,7 @@ const PumpingStationRvw = () => {
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
{ name: 'sgg', fieldName: '구군', header: { text: '구군' } },
{ name: '펌프장명', fieldName: '펌프장명', header: { text: '펌프장명' } },
- { name: '구분', fieldName: '구분', header: { text: '구분' } },
+ { name: '구분', fieldName: '구분', header: { text: '구분' } },
{ name: '처리장명', fieldName: '처리장명', header: { text: '처리장명' } },
{ name: '구분(합류식분류식)', fieldName: '구분(합류식분류식)', header: { text: '구분(합류식분류식)' } },
{ name: '위치', fieldName: '위치', header: { text: '위치' } },
@@ -31,7 +31,7 @@ const PumpingStationRvw = () => {
{ name: '오수펌프(2)양수량(m3/min)', fieldName: '오수펌프(2)양수량(m3/min)', header: { text: '양수량(m3/min)' } },
{ name: '오수펌프(2)펌프대수', fieldName: '오수펌프(2)펌프대수', header: { text: '펌프대수' } },
{ name: '오수펌프(2)예비대수', fieldName: '오수펌프(2)예비대수', header: { text: '예비대수' } },
- //오수펌프(3)
+ //오수펌프(3)
{ name: '오수펌프(3)구경(mm)', fieldName: '오수펌프(3)구경(mm)', header: { text: '구경(mm)' } },
{ name: '오수펌프(3)양수량(m3/min)', fieldName: '오수펌프(3)양수량(m3/min)', header: { text: '양수량(m3/min)' } },
{ name: '오수펌프(3)펌프대수', fieldName: '오수펌프(3)펌프대수', header: { text: '펌프대수' } },
@@ -74,7 +74,7 @@ const PumpingStationRvw = () => {
name: 'groupB',
hideChildHeaders: false,
header: { text: '계획시간대최대배수량(m3/hr)' },
- items: ['청천시(A)','우천시(B)','우수량(B-A)'],
+ items: ['청천시(A)', '우천시(B)', '우수량(B-A)'],
},
{
name: 'groupC',
@@ -88,7 +88,7 @@ const PumpingStationRvw = () => {
header: { text: '오수펌프(1)' },
items: ['오수펌프(1)구경(mm)', '오수펌프(1)양수량(m3/min)', '오수펌프(1)펌프대수', '오수펌프(1)예비대수'],
},
- {
+ {
name: '오수펌프(2)',
hideChildHeaders: false,
header: { text: '오수펌프(2)' },
@@ -107,13 +107,13 @@ const PumpingStationRvw = () => {
header: { text: '우수펌프(1)' },
items: ['우수펌프(1)구경(mm)', '우수펌프(1)양수량(m3/min)', '우수펌프(1)펌프대수', '우수펌프(1)예비대수'],
},
- {
+ {
name: '우수펌프(2)',
hideChildHeaders: false,
header: { text: '우수펌프(2)' },
items: ['우수펌프(2)구경(mm)', '우수펌프(2)양수량(m3/min)', '우수펌프(2)펌프대수', '우수펌프(2)예비대수'],
},
- {
+ {
name: '우수펌프(3)',
hideChildHeaders: false,
header: { text: '우수펌프(3)' },
@@ -125,7 +125,7 @@ const PumpingStationRvw = () => {
'rmk',
];
- const approveFunc = () => {
+ const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -146,16 +146,15 @@ const PumpingStationRvw = () => {
};
return (
- <>
+ <>
-
+
-
+
>
);
};
diff --git a/apps/st/src/components/statistics/review/SewageExcretaRelatedRvw.tsx b/apps/st/src/components/statistics/review/SewageExcretaRelatedRvw.tsx
index 6adef8bbc..3b2c80d35 100644
--- a/apps/st/src/components/statistics/review/SewageExcretaRelatedRvw.tsx
+++ b/apps/st/src/components/statistics/review/SewageExcretaRelatedRvw.tsx
@@ -11,7 +11,7 @@ import { SewageExcretaRelatedInfoListRvw } from "@/components/util/column/Sewage
const SewageExcretaRelatedRvw = () => {
- const approveFunc = () => {
+ const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -33,16 +33,16 @@ const SewageExcretaRelatedRvw = () => {
return (
- <>
+ <>
-
+
-
+
>
);
};
diff --git a/apps/st/src/components/statistics/review/SewageExcretaSlurgeRvw.tsx b/apps/st/src/components/statistics/review/SewageExcretaSlurgeRvw.tsx
index 91be4eb63..bfb3b1c47 100644
--- a/apps/st/src/components/statistics/review/SewageExcretaSlurgeRvw.tsx
+++ b/apps/st/src/components/statistics/review/SewageExcretaSlurgeRvw.tsx
@@ -10,7 +10,7 @@ import { SewageExcretaSlurgeInfoList } from "@/components/util/column/SewageExcr
const SewageExcretaSlurgeRvw = () => {
- const approveFunc = () => {
+ const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -32,16 +32,16 @@ const SewageExcretaSlurgeRvw = () => {
return (
- <>
+ <>
-
+
-
+
>
);
};
diff --git a/apps/st/src/components/statistics/review/SewagePipeMaintainRvw.tsx b/apps/st/src/components/statistics/review/SewagePipeMaintainRvw.tsx
index 2de818db3..e03f8c18d 100644
--- a/apps/st/src/components/statistics/review/SewagePipeMaintainRvw.tsx
+++ b/apps/st/src/components/statistics/review/SewagePipeMaintainRvw.tsx
@@ -10,7 +10,7 @@ import { SewagePipeMaintainColumnInfoListRvw } from "@/components/util/column/Se
const SewagePipeMaintainRvw = () => {
- const approveFunc = () => {
+ const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -32,16 +32,16 @@ const SewagePipeMaintainRvw = () => {
return (
- <>
+ <>
-
+
-
+
>
);
};
diff --git a/apps/st/src/components/statistics/review/SewagePipeRvw.tsx b/apps/st/src/components/statistics/review/SewagePipeRvw.tsx
index dc236b443..31f926d89 100644
--- a/apps/st/src/components/statistics/review/SewagePipeRvw.tsx
+++ b/apps/st/src/components/statistics/review/SewagePipeRvw.tsx
@@ -10,7 +10,7 @@ import { SewagePipeColumnInfoListRvw } from "@/components/util/column/SewagePipe
const SewagePipeRvw = () => {
- const approveFunc = () => {
+ const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -32,16 +32,16 @@ const SewagePipeRvw = () => {
return (
- <>
+ <>
-
+
-
+
>
);
};
diff --git a/apps/st/src/components/statistics/review/SewageReservoirPumpRvw.tsx b/apps/st/src/components/statistics/review/SewageReservoirPumpRvw.tsx
index 3f3d4a3a5..f1f8d22ed 100644
--- a/apps/st/src/components/statistics/review/SewageReservoirPumpRvw.tsx
+++ b/apps/st/src/components/statistics/review/SewageReservoirPumpRvw.tsx
@@ -10,7 +10,7 @@ import { SewageReservoirPumpInfoListRvw } from "@/components/util/column/SewageR
const SewageReservoirPumpRvw = () => {
- const approveFunc = () => {
+ const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -32,16 +32,16 @@ const SewageReservoirPumpRvw = () => {
return (
- <>
+ <>
-
+
-
+
>
);
};
diff --git a/apps/st/src/components/statistics/review/SewerageFinanceRvw.tsx b/apps/st/src/components/statistics/review/SewerageFinanceRvw.tsx
index 436834bb6..775fdfda5 100644
--- a/apps/st/src/components/statistics/review/SewerageFinanceRvw.tsx
+++ b/apps/st/src/components/statistics/review/SewerageFinanceRvw.tsx
@@ -10,7 +10,7 @@ import { SewerageFinanceInfoListRvw } from "@/components/util/column/SewerageFin
const SewerageFinanceRvw = () => {
- const approveFunc = () => {
+ const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -32,16 +32,16 @@ const SewerageFinanceRvw = () => {
return (
- <>
+ <>
-
+
-
+
>
);
};
diff --git a/apps/st/src/components/statistics/review/SeweragePenetrationRateRvw.tsx b/apps/st/src/components/statistics/review/SeweragePenetrationRateRvw.tsx
index 897e433ac..3ae0cda0a 100644
--- a/apps/st/src/components/statistics/review/SeweragePenetrationRateRvw.tsx
+++ b/apps/st/src/components/statistics/review/SeweragePenetrationRateRvw.tsx
@@ -11,7 +11,7 @@ const SeweragePenetrationRateRvw = () => {
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
{ name: 'sgg', fieldName: '구군', header: { text: '구군' } },
{ name: '구분', fieldName: '구분', header: { text: '구분' } },
- { name: '수계', fieldName: '수계', header: { text: '수계' } },
+ { name: '수계', fieldName: '수계', header: { text: '수계' } },
{ name: 'bstrm', fieldName: '지류', header: { text: '지류' } },
{ name: 'mdbsn', fieldName: '세부단위유역', header: { text: '세부단위유역' } },
{ name: 'lgbsn', fieldName: '중권역', header: { text: '중권역' } },
@@ -30,7 +30,7 @@ const SeweragePenetrationRateRvw = () => {
{ name: '2차처리', fieldName: '2차처리', header: { text: '2차처리' } },
{ name: '3차처리', fieldName: '3차처리', header: { text: '3차처리' } },
//폐수처리인구(명)
- { name: '(폐수처리인구)합계', fieldName: '(폐수처리인구)합계', header: { text: '합계' } },
+ { name: '(폐수처리인구)합계', fieldName: '(폐수처리인구)합계', header: { text: '합계' } },
{ name: '(폐수처리인구)1차처리', fieldName: '(폐수처리인구)1차처리', header: { text: '1차처리' } },
{ name: '(폐수처리인구)2차처리', fieldName: '(폐수처리인구)2차처리', header: { text: '2차처리' } },
{ name: '(폐수처리인구)3차처리', fieldName: '(폐수처리인구)3차처리', header: { text: '3차처리' } },
@@ -101,7 +101,7 @@ const SeweragePenetrationRateRvw = () => {
'rmk',
];
- const approveFunc = () => {
+ const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -122,16 +122,15 @@ const SeweragePenetrationRateRvw = () => {
};
return (
- <>
+ <>
-
+
-
+
>
);
};
diff --git a/apps/st/src/components/statistics/review/SewerageServiceLevelRvw.tsx b/apps/st/src/components/statistics/review/SewerageServiceLevelRvw.tsx
index fb557baad..6745d9ea2 100644
--- a/apps/st/src/components/statistics/review/SewerageServiceLevelRvw.tsx
+++ b/apps/st/src/components/statistics/review/SewerageServiceLevelRvw.tsx
@@ -10,7 +10,7 @@ import { SewerageServiceLevelInfoListRvw } from "@/components/util/column/Sewera
const SewerageServiceLevelRvw = () => {
- const approveFunc = () => {
+ const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -32,16 +32,16 @@ const SewerageServiceLevelRvw = () => {
return (
- <>
+ <>
-
+
-
+
>
);
};
diff --git a/apps/st/src/components/statistics/review/StatsInputSatusRvw.tsx b/apps/st/src/components/statistics/review/StatsInputSatusRvw.tsx
index f9bbb539d..11684751d 100644
--- a/apps/st/src/components/statistics/review/StatsInputSatusRvw.tsx
+++ b/apps/st/src/components/statistics/review/StatsInputSatusRvw.tsx
@@ -101,80 +101,80 @@ const StatsInputSatusRvw = () => {
name: 'groupB',
hideChildHeaders: false,
header: { text: '01. 하수도 보급율' },
- items: ['제출자01', '연락처01', '지자체진행상태01','진행상태01'],
+ items: ['제출자01', '연락처01', '지자체진행상태01', '진행상태01'],
},
- {
+ {
name: 'groupC',
hideChildHeaders: false,
header: { text: '02. 하수관로' },
- items: ['제출자02', '연락처02', '지자체진행상태02','진행상태02'],
+ items: ['제출자02', '연락처02', '지자체진행상태02', '진행상태02'],
},
- {
- name: 'groupD',
- hideChildHeaders: false,
- header: { text: '03. 하수관로유지관리' },
- items: ['제출자03', '연락처03', '지자체진행상태03', '진행상태03'],
- },
- {
- name: 'groupE',
- hideChildHeaders: false,
- header: { text: '04. 하수저류시설' },
- items: ['제출자04', '연락처04', '지자체진행상태04', '진행상태04'],
- },
- {
- name: 'groupF',
- hideChildHeaders: false,
- header: { text: '05. 펌프장' },
- items: ['제출자05', '연락처05', '지자체진행상태05', '진행상태05'],
- },
- {
- name: 'groupG',
- hideChildHeaders: false,
- header: { text: '06. 공공하수처리시설' },
- items: ['제출자06', '연락처06', '지자체진행상태06', '진행상태06'],
- },
- {
- name: 'groupH',
- hideChildHeaders: false,
- header: { text: '07. 분뇨처리시설' },
- items: ['제출자07', '연락처07', '지자체진행상태07', '진행상태07'],
- },
- {
- name: 'groupI',
- hideChildHeaders: false,
- header: { text: '08. 개인하수처리시설' },
- items: ['제출자08', '연락처08', '지자체진행상태08', '진행상태08'],
- },
- {
- name: 'groupJ',
- hideChildHeaders: false,
- header: { text: '09. 하수도재정' },
- items: ['제출자09', '연락처09', '지자체진행상태09', '진행상태09'],
- },
- {
- name: 'groupK',
- hideChildHeaders: false,
- header: { text: '10. 물재이용' },
- items: ['제출자10', '연락처10', '지자체진행상태10', '진행상태10'],
- },
- {
- name: 'groupL',
- hideChildHeaders: false,
- header: { text: '11. 하수및분뇨찌꺼기' },
- items: ['제출자11', '연락처11', '지자체진행상태11', '진행상태11'],
- },
- {
- name: 'groupM',
- hideChildHeaders: false,
- header: { text: '12. 하수및분뇨관련사업' },
- items: ['제출자12', '연락처12', '지자체진행상태12', '진행상태12'],
- },
- {
- name: 'groupN',
- hideChildHeaders: false,
- header: { text: '13. 하수도서비스수준' },
- items: ['제출자13', '연락처13', '지자체진행상태13', '진행상태13'],
- }
+ {
+ name: 'groupD',
+ hideChildHeaders: false,
+ header: { text: '03. 하수관로유지관리' },
+ items: ['제출자03', '연락처03', '지자체진행상태03', '진행상태03'],
+ },
+ {
+ name: 'groupE',
+ hideChildHeaders: false,
+ header: { text: '04. 하수저류시설' },
+ items: ['제출자04', '연락처04', '지자체진행상태04', '진행상태04'],
+ },
+ {
+ name: 'groupF',
+ hideChildHeaders: false,
+ header: { text: '05. 펌프장' },
+ items: ['제출자05', '연락처05', '지자체진행상태05', '진행상태05'],
+ },
+ {
+ name: 'groupG',
+ hideChildHeaders: false,
+ header: { text: '06. 공공하수처리시설' },
+ items: ['제출자06', '연락처06', '지자체진행상태06', '진행상태06'],
+ },
+ {
+ name: 'groupH',
+ hideChildHeaders: false,
+ header: { text: '07. 분뇨처리시설' },
+ items: ['제출자07', '연락처07', '지자체진행상태07', '진행상태07'],
+ },
+ {
+ name: 'groupI',
+ hideChildHeaders: false,
+ header: { text: '08. 개인하수처리시설' },
+ items: ['제출자08', '연락처08', '지자체진행상태08', '진행상태08'],
+ },
+ {
+ name: 'groupJ',
+ hideChildHeaders: false,
+ header: { text: '09. 하수도재정' },
+ items: ['제출자09', '연락처09', '지자체진행상태09', '진행상태09'],
+ },
+ {
+ name: 'groupK',
+ hideChildHeaders: false,
+ header: { text: '10. 물재이용' },
+ items: ['제출자10', '연락처10', '지자체진행상태10', '진행상태10'],
+ },
+ {
+ name: 'groupL',
+ hideChildHeaders: false,
+ header: { text: '11. 하수및분뇨찌꺼기' },
+ items: ['제출자11', '연락처11', '지자체진행상태11', '진행상태11'],
+ },
+ {
+ name: 'groupM',
+ hideChildHeaders: false,
+ header: { text: '12. 하수및분뇨관련사업' },
+ items: ['제출자12', '연락처12', '지자체진행상태12', '진행상태12'],
+ },
+ {
+ name: 'groupN',
+ hideChildHeaders: false,
+ header: { text: '13. 하수도서비스수준' },
+ items: ['제출자13', '연락처13', '지자체진행상태13', '진행상태13'],
+ }
];
const approveFunc = () => {
@@ -200,14 +200,13 @@ const StatsInputSatusRvw = () => {
return (
<>
-
+
-
+
>
);
}
diff --git a/apps/st/src/components/statistics/review/WaterReuseRvw.tsx b/apps/st/src/components/statistics/review/WaterReuseRvw.tsx
index 7ad621e7f..81a2f4a2c 100644
--- a/apps/st/src/components/statistics/review/WaterReuseRvw.tsx
+++ b/apps/st/src/components/statistics/review/WaterReuseRvw.tsx
@@ -11,7 +11,7 @@ import { WaterReuseInfoList } from "@/components/util/column/WaterReuseColumnRvw
const WaterReuseRvw = () => {
- const approveFunc = () => {
+ const approveFunc = () => {
console.log('approveFunc');
// 승인 로직
};
@@ -33,16 +33,16 @@ const WaterReuseRvw = () => {
return (
- <>
+ <>
-
+
-
+
>
);
};
diff --git a/apps/st/src/components/util/column/SewageExcretaRelatedColumnRvw.ts b/apps/st/src/components/util/column/SewageExcretaRelatedColumnRvw.ts
index 631d0204d..c24a2a5b8 100644
--- a/apps/st/src/components/util/column/SewageExcretaRelatedColumnRvw.ts
+++ b/apps/st/src/components/util/column/SewageExcretaRelatedColumnRvw.ts
@@ -28,7 +28,7 @@ export const SewageExcretaRelatedInfoListRvw=[
/* 4. 기타 및 비고 */
{ name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
-
+
],
columnLayout: [
{ name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] },
diff --git a/apps/st/src/components/util/column/SewageExcretaSlurgeColumnRvw.ts b/apps/st/src/components/util/column/SewageExcretaSlurgeColumnRvw.ts
index 9755e8652..620f359c0 100644
--- a/apps/st/src/components/util/column/SewageExcretaSlurgeColumnRvw.ts
+++ b/apps/st/src/components/util/column/SewageExcretaSlurgeColumnRvw.ts
@@ -77,13 +77,12 @@ export const SewageExcretaSlurgeInfoList = [
{ name: 'dry2ndGroup', header: { text: '건조 후 처리(2차)' }, items: ['I_1CH_DRY_2CH_SM', 'I_1CH_DRY_2CH_REC', 'I_1CH_DRY_2CH_INC', 'I_1CH_DRY_2CH_FUE', 'I_1CH_DRY_2CH_RAW', 'I_1CH_DRY_2CH_COV', 'I_1CH_DRY_2CH_COM', 'I_1CH_DRY_2CH_FCT'] },
'I_1CH_CAR',
{ name: 'car2ndGroup', header: { text: '탄화 후 처리(2차)' }, items: ['I_1CH_CAR_2CH_SM', 'I_1CH_CAR_2CH_INC', 'I_1CH_CAR_2CH_FUE', 'I_1CH_CAR_2CH_FCT'] },
-
- {
- name: 'compostGroup',
- header: { text: '퇴비화' },
+ {
+ name: 'compostGroup',
+ header: { text: '퇴비화' },
items: ['I_1CH_COM_FCT'] // 중첩 없이 바로 컬럼 name을 넣어 2단으로 완성
}
- ]
+ ]
},
{
name: 'externalProcessGroup',
@@ -98,158 +97,158 @@ export const SewageExcretaSlurgeInfoList = [
tabLabel: '소화조 운영현황',
rowStartNum: 3, // 3단 헤더 구조 (소화조 운영현황 > 이용현황 > 항목)
columns: [
- /* 1. 기본 시설 정보 (Band: Left) */
- { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
- { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
- { name: 'BSC_FCT_NM', fieldName: 'BSC_FCT_NM', header: { text: '하수\n처리장명' } },
- { name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } },
+ /* 1. 기본 시설 정보 (Band: Left) */
+ { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
+ { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
+ { name: 'BSC_FCT_NM', fieldName: 'BSC_FCT_NM', header: { text: '하수\n처리장명' } },
+ { name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } },
- /* 2. 소화조 기본 운영 현황 */
- { name: 'DGSTR_FNNC', fieldName: 'DGSTR_FNNC', header: { text: '소화조 유/무\n(Y/N)선택' } },
- { name: 'DGSTR_CPC', fieldName: 'DGSTR_CPC', header: { text: '설계\n용량\n(㎥)' } },
- { name: 'DGSTR_OPR_CPC', fieldName: 'DGSTR_OPR_CPC', header: { text: '실제운전\n용량\n(㎥)' } },
- { name: 'DGSTR_IN', fieldName: 'DGSTR_IN', header: { text: '투입량\n(㎥/일)' } },
- { name: 'DGSTR_TS', fieldName: 'DGSTR_TS', header: { text: '투입 TS 농도\n(%)' } },
- { name: 'DGSTR_YRSTP_RN_DYN', fieldName: 'DGSTR_YRSTP_RN_DYN', header: { text: '가동일수\n(연간)' } },
- { name: 'DGSTR_OCCUR_GAS', fieldName: 'DGSTR_OCCUR_GAS', header: { text: '발생가스량\n(㎥/일)' } },
+ /* 2. 소화조 기본 운영 현황 */
+ { name: 'DGSTR_FNNC', fieldName: 'DGSTR_FNNC', header: { text: '소화조 유/무\n(Y/N)선택' } },
+ { name: 'DGSTR_CPC', fieldName: 'DGSTR_CPC', header: { text: '설계\n용량\n(㎥)' } },
+ { name: 'DGSTR_OPR_CPC', fieldName: 'DGSTR_OPR_CPC', header: { text: '실제운전\n용량\n(㎥)' } },
+ { name: 'DGSTR_IN', fieldName: 'DGSTR_IN', header: { text: '투입량\n(㎥/일)' } },
+ { name: 'DGSTR_TS', fieldName: 'DGSTR_TS', header: { text: '투입 TS 농도\n(%)' } },
+ { name: 'DGSTR_YRSTP_RN_DYN', fieldName: 'DGSTR_YRSTP_RN_DYN', header: { text: '가동일수\n(연간)' } },
+ { name: 'DGSTR_OCCUR_GAS', fieldName: 'DGSTR_OCCUR_GAS', header: { text: '발생가스량\n(㎥/일)' } },
- /* 3. 소화가스 이용현황 상세 (단위: ㎥/일) */
- { name: 'DGSTR_SM', fieldName: 'DGSTR_SM', header: { text: '계' } },
- { name: 'DGSTR_SLE', fieldName: 'DGSTR_SLE', header: { text: '판매' } },
- { name: 'DGSTR_ELTGNR', fieldName: 'DGSTR_ELTGNR', header: { text: '발전' } },
- { name: 'DGSTR_ONSLF', fieldName: 'DGSTR_ONSLF', header: { text: '자체활용' } },
- { name: 'DGSTR_ETC', fieldName: 'DGSTR_ETC', header: { text: '기타(CNG등)' } },
-
- /* 4. 잉여 가스 및 비고 */
- { name: 'DGSTR_GAS', fieldName: 'DGSTR_GAS', header: { text: '잉여가스량\n(㎥/일)' } },
- { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
+ /* 3. 소화가스 이용현황 상세 (단위: ㎥/일) */
+ { name: 'DGSTR_SM', fieldName: 'DGSTR_SM', header: { text: '계' } },
+ { name: 'DGSTR_SLE', fieldName: 'DGSTR_SLE', header: { text: '판매' } },
+ { name: 'DGSTR_ELTGNR', fieldName: 'DGSTR_ELTGNR', header: { text: '발전' } },
+ { name: 'DGSTR_ONSLF', fieldName: 'DGSTR_ONSLF', header: { text: '자체활용' } },
+ { name: 'DGSTR_ETC', fieldName: 'DGSTR_ETC', header: { text: '기타(CNG등)' } },
+
+ /* 4. 잉여 가스 및 비고 */
+ { name: 'DGSTR_GAS', fieldName: 'DGSTR_GAS', header: { text: '잉여가스량\n(㎥/일)' } },
+ { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
],
columnLayout: [
- { name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] },
- 'BSC_FCT_NM',
- 'YR_GBN',
- {
- name: 'digesterMainGroup',
- header: { text: '소화조 운영현황' },
+ { name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] },
+ 'BSC_FCT_NM',
+ 'YR_GBN',
+ {
+ name: 'digesterMainGroup',
+ header: { text: '소화조 운영현황' },
+ items: [
+ 'DGSTR_FNNC',
+ 'DGSTR_CPC',
+ 'DGSTR_OPR_CPC',
+ 'DGSTR_IN',
+ 'DGSTR_TS',
+ 'DGSTR_YRSTP_RN_DYN',
+ 'DGSTR_OCCUR_GAS',
+ {
+ name: 'gasUsageGroup',
+ header: { text: '소화가스 이용현황(㎥/일)' },
items: [
- 'DGSTR_FNNC',
- 'DGSTR_CPC',
- 'DGSTR_OPR_CPC',
- 'DGSTR_IN',
- 'DGSTR_TS',
- 'DGSTR_YRSTP_RN_DYN',
- 'DGSTR_OCCUR_GAS',
- {
- name: 'gasUsageGroup',
- header: { text: '소화가스 이용현황(㎥/일)' },
- items: [
- 'DGSTR_SM',
- 'DGSTR_SLE',
- 'DGSTR_ELTGNR',
- 'DGSTR_ONSLF',
- 'DGSTR_ETC'
- ]
- },
- 'DGSTR_GAS'
+ 'DGSTR_SM',
+ 'DGSTR_SLE',
+ 'DGSTR_ELTGNR',
+ 'DGSTR_ONSLF',
+ 'DGSTR_ETC'
]
- },
- 'RMK'
+ },
+ 'DGSTR_GAS'
+ ]
+ },
+ 'RMK'
]
-},
-{
+ },
+ {
tabKey: 'c',
tabLabel: '하수찌꺼기 처리시설 운영현황',
rowStartNum: 2, // 2단 헤더 구조 (순번 rowspan="2")
columns: [
- /* 1. 기본 시설 정보 (Band: Left) */
- { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
- { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
- { name: 'SLG_FCT_NM', fieldName: 'SLG_FCT_NM', header: { text: '찌꺼기처리시설명' } },
- { name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } },
+ /* 1. 기본 시설 정보 (Band: Left) */
+ { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
+ { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
+ { name: 'SLG_FCT_NM', fieldName: 'SLG_FCT_NM', header: { text: '찌꺼기처리시설명' } },
+ { name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } },
- /* 2. 처리시설 운영현황 상세 */
- { name: 'TRT_METHOD', fieldName: 'TRT_METHOD', header: { text: '처리방식' } },
- { name: 'SLG_FCT_CPC', fieldName: 'SLG_FCT_CPC', header: { text: '시설용량\n(톤/일)' } },
- { name: 'OPR_CPC', fieldName: 'OPR_CPC', header: { text: '연간처리량\n(톤/년)' } },
- { name: 'ODY_RN_TIME', fieldName: 'ODY_RN_TIME', header: { text: '일평균\n가동시간\n(1~24)' } },
- { name: 'YRSTP_RN_DYN', fieldName: 'YRSTP_RN_DYN', header: { text: '연중 가동일\n(1~330)' } },
- { name: 'OPR_RT', fieldName: 'OPR_RT', header: { text: '가동율' } },
+ /* 2. 처리시설 운영현황 상세 */
+ { name: 'TRT_METHOD', fieldName: 'TRT_METHOD', header: { text: '처리방식' } },
+ { name: 'SLG_FCT_CPC', fieldName: 'SLG_FCT_CPC', header: { text: '시설용량\n(톤/일)' } },
+ { name: 'OPR_CPC', fieldName: 'OPR_CPC', header: { text: '연간처리량\n(톤/년)' } },
+ { name: 'ODY_RN_TIME', fieldName: 'ODY_RN_TIME', header: { text: '일평균\n가동시간\n(1~24)' } },
+ { name: 'YRSTP_RN_DYN', fieldName: 'YRSTP_RN_DYN', header: { text: '연중 가동일\n(1~330)' } },
+ { name: 'OPR_RT', fieldName: 'OPR_RT', header: { text: '가동율' } },
- /* 3. 비고 */
- { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
+ /* 3. 비고 */
+ { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
],
columnLayout: [
- { name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] },
- 'SLG_FCT_NM',
- 'YR_GBN',
- {
- name: 'sludgeFctOprGroup',
- header: { text: '처리시설 운영현황' },
- items: [
- 'TRT_METHOD',
- 'SLG_FCT_CPC',
- 'OPR_CPC',
- 'ODY_RN_TIME',
- 'YRSTP_RN_DYN',
- 'OPR_RT'
- ]
- },
- 'RMK'
+ { name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] },
+ 'SLG_FCT_NM',
+ 'YR_GBN',
+ {
+ name: 'sludgeFctOprGroup',
+ header: { text: '처리시설 운영현황' },
+ items: [
+ 'TRT_METHOD',
+ 'SLG_FCT_CPC',
+ 'OPR_CPC',
+ 'ODY_RN_TIME',
+ 'YRSTP_RN_DYN',
+ 'OPR_RT'
+ ]
+ },
+ 'RMK'
]
-},
-{
+ },
+ {
tabKey: 'd',
tabLabel: '분뇨찌꺼기 처리현황',
rowStartNum: 2, // 2단 헤더 구조 (순번 rowspan="2")
columns: [
- /* 1. 기본 시설 정보 (Band: Left) */
- { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
- { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
- { name: 'ECSCS_NM', fieldName: 'ECSCS_NM', header: { text: '분 뇨\n처리장명' } },
- { name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } },
+ /* 1. 기본 시설 정보 (Band: Left) */
+ { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
+ { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
+ { name: 'ECSCS_NM', fieldName: 'ECSCS_NM', header: { text: '분 뇨\n처리장명' } },
+ { name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } },
- /* 2. 발생량 지표 */
- { name: 'OCTY', fieldName: 'OCTY', header: { text: '발생량\n(A)=(B)+(C)\n(㎥/년)' } },
+ /* 2. 발생량 지표 */
+ { name: 'OCTY', fieldName: 'OCTY', header: { text: '발생량\n(A)=(B)+(C)\n(㎥/년)' } },
- /* 3. 처분량 상세 (단위: ㎥/년) */
- { name: 'PROCESS_CPCTY_SM', fieldName: 'PROCESS_CPCTY_SM', header: { text: '계(B)' } },
- { name: 'RUSE', fieldName: 'RUSE', header: { text: '재활용' } },
- { name: 'LAND_RCLM', fieldName: 'LAND_RCLM', header: { text: '육상매립' } },
- { name: 'INCNR', fieldName: 'INCNR', header: { text: '소각' } },
- { name: 'OCEAN_DPSL', fieldName: 'OCEAN_DPSL', header: { text: '해양투기' } },
- { name: 'FUEL', fieldName: 'FUEL', header: { text: '연료화' } },
- { name: 'ETC', fieldName: 'ETC', header: { text: '기타' } },
+ /* 3. 처분량 상세 (단위: ㎥/년) */
+ { name: 'PROCESS_CPCTY_SM', fieldName: 'PROCESS_CPCTY_SM', header: { text: '계(B)' } },
+ { name: 'RUSE', fieldName: 'RUSE', header: { text: '재활용' } },
+ { name: 'LAND_RCLM', fieldName: 'LAND_RCLM', header: { text: '육상매립' } },
+ { name: 'INCNR', fieldName: 'INCNR', header: { text: '소각' } },
+ { name: 'OCEAN_DPSL', fieldName: 'OCEAN_DPSL', header: { text: '해양투기' } },
+ { name: 'FUEL', fieldName: 'FUEL', header: { text: '연료화' } },
+ { name: 'ETC', fieldName: 'ETC', header: { text: '기타' } },
- /* 4. 미처분량 및 연계 정보 */
- { name: 'CYFD_CPCTY', fieldName: 'CYFD_CPCTY', header: { text: '미처분량\n(이월량)\n(C)\n(㎥/년)' } },
- { name: 'OUT_BSC_FCT_NM', fieldName: 'OUT_BSC_FCT_NM', header: { text: '타시설\n연계여부' } },
-
- /* 5. 비고 및 의견 */
- { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
- { name: 'CHCKER_OPINION', fieldName: 'CHCKER_OPINION', header: { text: '검토자의견' } },
- { name: 'WRTER_OPINION', fieldName: 'WRTER_OPINION', header: { text: '사용자의견' } },
+ /* 4. 미처분량 및 연계 정보 */
+ { name: 'CYFD_CPCTY', fieldName: 'CYFD_CPCTY', header: { text: '미처분량\n(이월량)\n(C)\n(㎥/년)' } },
+ { name: 'OUT_BSC_FCT_NM', fieldName: 'OUT_BSC_FCT_NM', header: { text: '타시설\n연계여부' } },
+
+ /* 5. 비고 및 의견 */
+ { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
+ { name: 'CHCKER_OPINION', fieldName: 'CHCKER_OPINION', header: { text: '검토자의견' } },
+ { name: 'WRTER_OPINION', fieldName: 'WRTER_OPINION', header: { text: '사용자의견' } },
],
columnLayout: [
- { name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] },
- 'ECSCS_NM',
- 'YR_GBN',
- 'OCTY',
- {
- name: 'disposalAmntGroup',
- header: { text: '처 분 량(㎥/년)' },
- items: [
- 'PROCESS_CPCTY_SM',
- 'RUSE',
- 'LAND_RCLM',
- 'INCNR',
- 'OCEAN_DPSL',
- 'FUEL',
- 'ETC'
- ]
- },
- 'CYFD_CPCTY',
- 'OUT_BSC_FCT_NM',
- 'RMK'
+ { name: 'addrGroup', header: { text: '행정구역' }, items: ['SIDO', 'GUGUN'] },
+ 'ECSCS_NM',
+ 'YR_GBN',
+ 'OCTY',
+ {
+ name: 'disposalAmntGroup',
+ header: { text: '처 분 량(㎥/년)' },
+ items: [
+ 'PROCESS_CPCTY_SM',
+ 'RUSE',
+ 'LAND_RCLM',
+ 'INCNR',
+ 'OCEAN_DPSL',
+ 'FUEL',
+ 'ETC'
+ ]
+ },
+ 'CYFD_CPCTY',
+ 'OUT_BSC_FCT_NM',
+ 'RMK'
]
-}
+ }
];
\ No newline at end of file
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/SewagePipeColumnRvw.ts b/apps/st/src/components/util/column/SewagePipeColumnRvw.ts
index 06ab07daf..ce8bab440 100644
--- a/apps/st/src/components/util/column/SewagePipeColumnRvw.ts
+++ b/apps/st/src/components/util/column/SewagePipeColumnRvw.ts
@@ -1,300 +1,300 @@
const baseYear = new Date().getFullYear();
export const SewagePipeColumnInfoListRvw = [
-
- {
- tabKey: 'a',
- tabLabel: '지역별 시설현황',
- rowStartNum: 2, // Header가 4줄이므로 데이터 시작은 4행부터
- fixedColumns: 1, // 순번, 시도, 시군구, 행정구역명, 행정코드까지 고정
- columns: [
- /* 기본 정보 (Band: Left) */
- { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
- { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
-
- /* 하수정비 기본계획 */
- { name: 'TARGET_YR', fieldName: 'TARGET_YR', header: { text: '하수정보기본계획목표연도' } },
- { name: 'PIPL_IMPRMN_PLAN_EXTN', fieldName: 'PIPL_IMPRMN_PLAN_EXTN', header: { text: '총관로정비\n계획연장(m)' } },
- { name: 'PIPL_PLAN_EXTN', fieldName: 'PIPL_PLAN_EXTN', header: { text: '총계획연장(m)' } },
- { name: 'PIPL_FCLTY_EXTN', fieldName: 'PIPL_FCLTY_EXTN', header: { text: '총시설연장(m)' } },
- { name: 'PIPL_SUPPRT', fieldName: 'PIPL_SUPPRT', header: { text: '하수관로\n보급률(%)' } },
- /* 합류식(m) */
- { name: 'CMBN_PLAN_AR', fieldName: 'CMBN_PLAN_AR', header: { text: '관로정비\n계획면적(㎢)' } },
- { name: 'CMBN_IMPRMN_PLAN_EXTN', fieldName: 'CMBN_IMPRMN_PLAN_EXTN', header: { text: '관로정비\n계획연장(m)' } },
- { name: 'CMBN_PLAN_EXTN', fieldName: 'CMBN_PLAN_EXTN', header: { text: '계획연장(m)' } },
- { name: 'CMBN_FCLTY_EXTN', fieldName: 'CMBN_FCLTY_EXTN', header: { text: '시설연장(m)' } },
- { name: 'CMBN_RCTGL_EXTN', fieldName: 'CMBN_RCTGL_EXTN', header: { text: '사각형(m)' } },
- { name: 'CMBN_CICLE_EXTN', fieldName: 'CMBN_CICLE_EXTN', header: { text: '원형(m)' } },
- { name: 'CMBN_OPSWR_EXTN', fieldName: 'CMBN_OPSWR_EXTN', header: { text: '개거(m)' } },
- { name: 'CMBN_SDGTTR_EXTN', fieldName: 'CMBN_SDGTTR_EXTN', header: { text: '측구(m)' } },
+ {
+ tabKey: 'a',
+ tabLabel: '지역별 시설현황',
+ rowStartNum: 2, // Header가 4줄이므로 데이터 시작은 4행부터
+ fixedColumns: 1, // 순번, 시도, 시군구, 행정구역명, 행정코드까지 고정
+ columns: [
+ /* 기본 정보 (Band: Left) */
+ { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
+ { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
- /* 분류식 - 오수관로 */
- { name: 'PLTWTR_PLAN_AR', fieldName: 'PLTWTR_PLAN_AR', header: { text: '관로정비\n계획면적(㎢)' } },
- { name: 'PLTWTR_IMPRMN_PLAN_EXTN', fieldName: 'PLTWTR_IMPRMN_PLAN_EXTN', header: { text: '관로정비\n계획연장(m)' } },
- { name: 'PLTWTR_PLAN_EXTN', fieldName: 'PLTWTR_PLAN_EXTN', header: { text: '계획연장(m)' } },
- { name: 'PLTWTR_FLCTY_EXTN', fieldName: 'PLTWTR_FLCTY_EXTN', header: { text: '시설연장(m)' } },
- { name: 'PLTWTR_SQRE_EXTN', fieldName: 'PLTWTR_SQRE_EXTN', header: { text: '사각형(m)' } },
- { name: 'PLTWTR_CICL_EXTN', fieldName: 'PLTWTR_CICL_EXTN', header: { text: '원형(m)' } },
+ /* 하수정비 기본계획 */
+ { name: 'TARGET_YR', fieldName: 'TARGET_YR', header: { text: '하수정보기본계획목표연도' } },
+ { name: 'PIPL_IMPRMN_PLAN_EXTN', fieldName: 'PIPL_IMPRMN_PLAN_EXTN', header: { text: '총관로정비\n계획연장(m)' } },
+ { name: 'PIPL_PLAN_EXTN', fieldName: 'PIPL_PLAN_EXTN', header: { text: '총계획연장(m)' } },
+ { name: 'PIPL_FCLTY_EXTN', fieldName: 'PIPL_FCLTY_EXTN', header: { text: '총시설연장(m)' } },
+ { name: 'PIPL_SUPPRT', fieldName: 'PIPL_SUPPRT', header: { text: '하수관로\n보급률(%)' } },
- /* 분류식 - 우수관로 */
- { name: 'RAINWTR_PLAN_AR', fieldName: 'RAINWTR_PLAN_AR', header: { text: '관로정비\n계획면적(㎢)' } },
- { name: 'RAINWTR_IMPRMN_PLAN_EXTN', fieldName: 'RAINWTR_IMPRMN_PLAN_EXTN', header: { text: '관로정비\n계획연장(m)' } },
- { name: 'RAINWTR_PLAN_EXTN', fieldName: 'RAINWTR_PLAN_EXTN', header: { text: '계획연장(m)' } },
- { name: 'RAINWTR_FLCTY_EXTN', fieldName: 'RAINWTR_FLCTY_EXTN', header: { text: '시설연장(m)' } },
- { name: 'RAINWTR_SQRE_EXTN', fieldName: 'RAINWTR_SQRE_EXTN', header: { text: '사각형(m)' } },
- { name: 'RAINWTR_CICL_EXTN', fieldName: 'RAINWTR_CICL_EXTN', header: { text: '원형(m)' } },
- { name: 'RAINWTR_OPSWR_EXTN', fieldName: 'RAINWTR_OPSWR_EXTN', header: { text: '개거(m)' } },
- { name: 'RAINWTR_SDGTTR_EXTN', fieldName: 'RAINWTR_SDGTTR_EXTN', header: { text: '측구(m)' } },
+ /* 합류식(m) */
+ { name: 'CMBN_PLAN_AR', fieldName: 'CMBN_PLAN_AR', header: { text: '관로정비\n계획면적(㎢)' } },
+ { name: 'CMBN_IMPRMN_PLAN_EXTN', fieldName: 'CMBN_IMPRMN_PLAN_EXTN', header: { text: '관로정비\n계획연장(m)' } },
+ { name: 'CMBN_PLAN_EXTN', fieldName: 'CMBN_PLAN_EXTN', header: { text: '계획연장(m)' } },
+ { name: 'CMBN_FCLTY_EXTN', fieldName: 'CMBN_FCLTY_EXTN', header: { text: '시설연장(m)' } },
+ { name: 'CMBN_RCTGL_EXTN', fieldName: 'CMBN_RCTGL_EXTN', header: { text: '사각형(m)' } },
+ { name: 'CMBN_CICLE_EXTN', fieldName: 'CMBN_CICLE_EXTN', header: { text: '원형(m)' } },
+ { name: 'CMBN_OPSWR_EXTN', fieldName: 'CMBN_OPSWR_EXTN', header: { text: '개거(m)' } },
+ { name: 'CMBN_SDGTTR_EXTN', fieldName: 'CMBN_SDGTTR_EXTN', header: { text: '측구(m)' } },
- /* 부속시설 */
- { name: 'MNHLE_SITE', fieldName: 'MNHLE_SITE', header: { text: '합류식맨홀(개소)' } },
- { name: 'PLTWTR_MNHLE_SITE', fieldName: 'PLTWTR_MNHLE_SITE', header: { text: '오수맨홀(개소)' } },
- { name: 'RAINWTR_MNHLE_SITE', fieldName: 'RAINWTR_MNHLE_SITE', header: { text: '우수맨홀(개소)' } },
- { name: 'PLTWTR_RCVR_SITE', fieldName: 'PLTWTR_RCVR_SITE', header: { text: '오수받이(개소)' } },
- { name: 'RAINWTR_RCVR_SITE', fieldName: 'RAINWTR_RCVR_SITE', header: { text: '빗물받이(개소)' } },
- { name: 'SOILSPLL_SITE', fieldName: 'SOILSPLL_SITE', header: { text: '우수토실(개소)' } },
- { name: 'SOILHOLE_SITE', fieldName: 'SOILHOLE_SITE', header: { text: '우수토구(개소)' } },
+ /* 분류식 - 오수관로 */
+ { name: 'PLTWTR_PLAN_AR', fieldName: 'PLTWTR_PLAN_AR', header: { text: '관로정비\n계획면적(㎢)' } },
+ { name: 'PLTWTR_IMPRMN_PLAN_EXTN', fieldName: 'PLTWTR_IMPRMN_PLAN_EXTN', header: { text: '관로정비\n계획연장(m)' } },
+ { name: 'PLTWTR_PLAN_EXTN', fieldName: 'PLTWTR_PLAN_EXTN', header: { text: '계획연장(m)' } },
+ { name: 'PLTWTR_FLCTY_EXTN', fieldName: 'PLTWTR_FLCTY_EXTN', header: { text: '시설연장(m)' } },
+ { name: 'PLTWTR_SQRE_EXTN', fieldName: 'PLTWTR_SQRE_EXTN', header: { text: '사각형(m)' } },
+ { name: 'PLTWTR_CICL_EXTN', fieldName: 'PLTWTR_CICL_EXTN', header: { text: '원형(m)' } },
- /* 대장 및 기타 */
- { name: 'SEWER_REGSTR_CMPT_EXTN', fieldName: 'SEWER_REGSTR_CMPT_EXTN', header: { text: '하수도대장전산화연장(m)' } },
- { name: 'SEWER_REGSTR_CMPT_RT', fieldName: 'SEWER_REGSTR_CMPT_RT', header: { text: '하수도대장전산화율(%)' } },
- { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
- ],
- columnLayout: [
- {
- name: 'areaGroup',
- header: { text: '행정구역' },
- items: ['SIDO', 'GUGUN'],
- },
- 'TARGET_YR',
- 'PIPL_IMPRMN_PLAN_EXTN',
- 'PIPL_PLAN_EXTN',
- 'PIPL_FCLTY_EXTN',
- 'PIPL_SUPPRT',
- {
- name: 'combinedGroup',
- header: { text: '합류식(m)' },
- items: [
- 'CMBN_PLAN_AR', 'CMBN_IMPRMN_PLAN_EXTN', 'CMBN_PLAN_EXTN', 'CMBN_FCLTY_EXTN',
- { name: 'cmbnAmGroup', header: { text: '암거' }, items: ['CMBN_RCTGL_EXTN', 'CMBN_CICLE_EXTN'] },
- 'CMBN_OPSWR_EXTN', 'CMBN_SDGTTR_EXTN'
+ /* 분류식 - 우수관로 */
+ { name: 'RAINWTR_PLAN_AR', fieldName: 'RAINWTR_PLAN_AR', header: { text: '관로정비\n계획면적(㎢)' } },
+ { name: 'RAINWTR_IMPRMN_PLAN_EXTN', fieldName: 'RAINWTR_IMPRMN_PLAN_EXTN', header: { text: '관로정비\n계획연장(m)' } },
+ { name: 'RAINWTR_PLAN_EXTN', fieldName: 'RAINWTR_PLAN_EXTN', header: { text: '계획연장(m)' } },
+ { name: 'RAINWTR_FLCTY_EXTN', fieldName: 'RAINWTR_FLCTY_EXTN', header: { text: '시설연장(m)' } },
+ { name: 'RAINWTR_SQRE_EXTN', fieldName: 'RAINWTR_SQRE_EXTN', header: { text: '사각형(m)' } },
+ { name: 'RAINWTR_CICL_EXTN', fieldName: 'RAINWTR_CICL_EXTN', header: { text: '원형(m)' } },
+ { name: 'RAINWTR_OPSWR_EXTN', fieldName: 'RAINWTR_OPSWR_EXTN', header: { text: '개거(m)' } },
+ { name: 'RAINWTR_SDGTTR_EXTN', fieldName: 'RAINWTR_SDGTTR_EXTN', header: { text: '측구(m)' } },
+
+ /* 부속시설 */
+ { name: 'MNHLE_SITE', fieldName: 'MNHLE_SITE', header: { text: '합류식맨홀(개소)' } },
+ { name: 'PLTWTR_MNHLE_SITE', fieldName: 'PLTWTR_MNHLE_SITE', header: { text: '오수맨홀(개소)' } },
+ { name: 'RAINWTR_MNHLE_SITE', fieldName: 'RAINWTR_MNHLE_SITE', header: { text: '우수맨홀(개소)' } },
+ { name: 'PLTWTR_RCVR_SITE', fieldName: 'PLTWTR_RCVR_SITE', header: { text: '오수받이(개소)' } },
+ { name: 'RAINWTR_RCVR_SITE', fieldName: 'RAINWTR_RCVR_SITE', header: { text: '빗물받이(개소)' } },
+ { name: 'SOILSPLL_SITE', fieldName: 'SOILSPLL_SITE', header: { text: '우수토실(개소)' } },
+ { name: 'SOILHOLE_SITE', fieldName: 'SOILHOLE_SITE', header: { text: '우수토구(개소)' } },
+
+ /* 대장 및 기타 */
+ { name: 'SEWER_REGSTR_CMPT_EXTN', fieldName: 'SEWER_REGSTR_CMPT_EXTN', header: { text: '하수도대장전산화연장(m)' } },
+ { name: 'SEWER_REGSTR_CMPT_RT', fieldName: 'SEWER_REGSTR_CMPT_RT', header: { text: '하수도대장전산화율(%)' } },
+ { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
],
- },
- {
- name: 'sepGroup',
- header: { text: '분류식(m)' },
- items: [
- {
- name: 'foulPipeGroup',
- header: { text: '오수관로' },
- items: ['PLTWTR_PLAN_AR', 'PLTWTR_IMPRMN_PLAN_EXTN', 'PLTWTR_PLAN_EXTN', 'PLTWTR_FLCTY_EXTN',
- { name: 'foulAmGroup', header: { text: '암거' }, items: ['PLTWTR_SQRE_EXTN', 'PLTWTR_CICL_EXTN'] }]
- },
- {
- name: 'rainPipeGroup',
- header: { text: '우수관로' },
- items: ['RAINWTR_PLAN_AR', 'RAINWTR_IMPRMN_PLAN_EXTN', 'RAINWTR_PLAN_EXTN', 'RAINWTR_FLCTY_EXTN',
- { name: 'rainAmGroup', header: { text: '암거' }, items: ['RAINWTR_SQRE_EXTN', 'RAINWTR_CICL_EXTN'] },
- 'RAINWTR_OPSWR_EXTN', 'RAINWTR_SDGTTR_EXTN']
- }
- ],
- },
- 'MNHLE_SITE',
- {
- name: 'fcltyGroup',
- header: { text: '부속시설(개소)' },
- items: [ 'PLTWTR_MNHLE_SITE', 'RAINWTR_MNHLE_SITE'],
- },
- , 'PLTWTR_RCVR_SITE', 'RAINWTR_RCVR_SITE', 'SOILSPLL_SITE', 'SOILHOLE_SITE','SEWER_REGSTR_CMPT_EXTN', 'SEWER_REGSTR_CMPT_RT',
- 'RMK'
- ]
- },
- // SewagePipeColumnInfoListRvw 배열에 두 번째 객체로 추가하시면 됩니다.
-{
- tabKey: 'b',
- tabLabel: '시설별 설치현황',
- rowStartNum: 5, // 4단 헤더 구조 반영
- fixedColumns: 4, // 순번, 시도, 시군구, 행정구역명, 처리장코드, 처리장명, 용량, 구분까지 고정
- columns: [
- /* 기본 정보 및 처리장 정보 (Band: Left) */
- { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
- { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
- { name: '구분', fieldName: '구분', header: { text: '구분' } },
- { name: '하수처리장명', fieldName: '하수처리장명', header: { text: '하수처리장명' } },
- { name: 'FCT_CPC', fieldName: 'FCT_CPC', header: { text: '하수처리\n시설용량\n(㎥/일)' } },
-
- /* 처리구역면적(㎢) */
- { name: 'PROC_ZONE_SM', fieldName: 'PROC_ZONE_SM', header: { text: '합계' } },
- { name: 'CMBN_PROC_ZONE_AR', fieldName: 'CMBN_PROC_ZONE_AR', header: { text: '합류식' } },
- { name: 'SPRT_PROC_ZONE_AR', fieldName: 'SPRT_PROC_ZONE_AR', header: { text: '분류식' } },
-
- /* 분류식화 (계산 필드용) */
- { name: 'SEP_RATE', fieldName: 'SEP_RATE', header: { text: '분류식화' } },
-
- /* 배수설비(개소) */
- { name: 'DRNG_EQP_SM', fieldName: 'DRNG_EQP_SM', header: { text: '합계' } },
- { name: 'CMBN_DRNG_EQP', fieldName: 'CMBN_DRNG_EQP', header: { text: '합류식' } },
- { name: 'SPRT_DRNG_EQP_SM', fieldName: 'SPRT_DRNG_EQP_SM', header: { text: '합계(분류)' } },
- { name: 'SPRT_DRNG_EQP_CNNC', fieldName: 'SPRT_DRNG_EQP_CNNC', header: { text: '연결' } },
- { name: 'SPRT_DRNG_EQP_DCNNC', fieldName: 'SPRT_DRNG_EQP_DCNNC', header: { text: '미연결' } },
-
- /* 하수관로 상세 */
- { name: 'PIPL_FCLTY_EXTN', fieldName: 'PIPL_FCLTY_EXTN', header: { text: '총\n시설연장\n(m)' } },
-
- /* 차집/오수간선(m) */
- { name: 'ICG_MNN_SM', fieldName: 'ICG_MNN_SM', header: { text: '합계' } },
- { name: 'ICG_EXTN', fieldName: 'ICG_EXTN', header: { text: '차집' } },
- { name: 'MNN_EXTN', fieldName: 'MNN_EXTN', header: { text: '오수간선' } },
-
- /* 토실/토구(개소) */
- { name: '합류식', fieldName: '합류식', header: { text: '합류식' } },
- { name: 'CMBN_SOILHOLE_SITE', fieldName: 'CMBN_SOILHOLE_SITE', header: { text: '우수토실(합류)' } },
- { name: 'SPRT_SOILHOLE_SITE', fieldName: 'SPRT_SOILHOLE_SITE', header: { text: '우수토실(분류)' } },
- { name: 'SPRT_SOILSPLL_SITE', fieldName: 'SPRT_SOILSPLL_SITE', header: { text: '우수토구(분류)' } },
-
- /* 지선(m) */
- { name: 'BRNCHLN_SM', fieldName: 'BRNCHLN_SM', header: { text: '합계' } },
- { name: 'CMBN_BRNCHLN_EXTN', fieldName: 'CMBN_BRNCHLN_EXTN', header: { text: '합류식' } },
- { name: 'RAINWTR_BRNCHLN_EXTN', fieldName: 'RAINWTR_BRNCHLN_EXTN', header: { text: '우수' } },
- { name: 'PLTWTR_BRNCHLN_EXTN', fieldName: 'PLTWTR_BRNCHLN_EXTN', header: { text: '오수' } },
-
- { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
- ],
- columnLayout: [
- {
- name: 'addrGroup',
- header: { text: '행정구역' },
- items: ['SIDO', 'GUGUN'],
- },
-'하수처리장명',
- 'FCT_CPC',
- '구분',
- {
- name: 'areaGroup',
- header: { text: '처리구역면적(㎢)' },
- items: ['PROC_ZONE_SM', 'CMBN_PROC_ZONE_AR', 'SPRT_PROC_ZONE_AR'],
- },
- 'SEP_RATE',
- {
- name: 'drainGroup',
- header: { text: '배수설비(개소)' },
- items: [
- 'DRNG_EQP_SM',
- 'CMBN_DRNG_EQP',
- {
- name: 'sepDrainGroup',
- header: { text: '분류식' },
- items: ['SPRT_DRNG_EQP_SM', 'SPRT_DRNG_EQP_CNNC', 'SPRT_DRNG_EQP_DCNNC']
- }
- ],
- },
- {
- name: 'pipeGroup',
- header: { text: '하수관로' },
- items: [
- 'PIPL_FCLTY_EXTN',
- {
- name: 'trunkGroup',
- header: { text: '차집/오수간선(m)' },
- items: ['ICG_MNN_SM', 'ICG_EXTN', 'MNN_EXTN']
- },
- {
- name: 'siteGroup',
- header: { text: '토실/토구(개소)' },
- items: [
- {
- // '합류식' 그룹 생성
- name: 'cmbnSiteGroup',
- header: { text: '합류식' },
- items: [
- // '우수토실' 컬럼 (name이 'CMBN_SOILHOLE_SITE'인 컬럼의 헤더 텍스트를 '우수토실'로 매핑)
- 'CMBN_SOILHOLE_SITE'
- ]
+ columnLayout: [
+ {
+ name: 'areaGroup',
+ header: { text: '행정구역' },
+ items: ['SIDO', 'GUGUN'],
+ },
+ 'TARGET_YR',
+ 'PIPL_IMPRMN_PLAN_EXTN',
+ 'PIPL_PLAN_EXTN',
+ 'PIPL_FCLTY_EXTN',
+ 'PIPL_SUPPRT',
+ {
+ name: 'combinedGroup',
+ header: { text: '합류식(m)' },
+ items: [
+ 'CMBN_PLAN_AR', 'CMBN_IMPRMN_PLAN_EXTN', 'CMBN_PLAN_EXTN', 'CMBN_FCLTY_EXTN',
+ { name: 'cmbnAmGroup', header: { text: '암거' }, items: ['CMBN_RCTGL_EXTN', 'CMBN_CICLE_EXTN'] },
+ 'CMBN_OPSWR_EXTN', 'CMBN_SDGTTR_EXTN'
+ ],
},
{
- // '분류식' 그룹
- name: 'sepSiteGroup',
- header: { text: '분류식' },
- items: ['SPRT_SOILHOLE_SITE', 'SPRT_SOILSPLL_SITE']
+ name: 'sepGroup',
+ header: { text: '분류식(m)' },
+ items: [
+ {
+ name: 'foulPipeGroup',
+ header: { text: '오수관로' },
+ items: ['PLTWTR_PLAN_AR', 'PLTWTR_IMPRMN_PLAN_EXTN', 'PLTWTR_PLAN_EXTN', 'PLTWTR_FLCTY_EXTN',
+ { name: 'foulAmGroup', header: { text: '암거' }, items: ['PLTWTR_SQRE_EXTN', 'PLTWTR_CICL_EXTN'] }]
+ },
+ {
+ name: 'rainPipeGroup',
+ header: { text: '우수관로' },
+ items: ['RAINWTR_PLAN_AR', 'RAINWTR_IMPRMN_PLAN_EXTN', 'RAINWTR_PLAN_EXTN', 'RAINWTR_FLCTY_EXTN',
+ { name: 'rainAmGroup', header: { text: '암거' }, items: ['RAINWTR_SQRE_EXTN', 'RAINWTR_CICL_EXTN'] },
+ 'RAINWTR_OPSWR_EXTN', 'RAINWTR_SDGTTR_EXTN']
}
- ]
- },
- {
- name: 'branchGroup',
- header: { text: '지선(m)' },
- items: [
- 'BRNCHLN_SM',
- 'CMBN_BRNCHLN_EXTN',
- {
- name: 'sepBranchGroup',
- header: { text: '분류식' },
- items: ['RAINWTR_BRNCHLN_EXTN', 'PLTWTR_BRNCHLN_EXTN']
- }
- ]
- }
- ],
- },
- 'RMK'
- ]
-},
+ ],
+ },
+ 'MNHLE_SITE',
+ {
+ name: 'fcltyGroup',
+ header: { text: '부속시설(개소)' },
+ items: ['PLTWTR_MNHLE_SITE', 'RAINWTR_MNHLE_SITE'],
+ },
+ 'PLTWTR_RCVR_SITE', 'RAINWTR_RCVR_SITE', 'SOILSPLL_SITE', 'SOILHOLE_SITE', 'SEWER_REGSTR_CMPT_EXTN', 'SEWER_REGSTR_CMPT_RT',
+ 'RMK'
+ ]
+ },
+ // SewagePipeColumnInfoListRvw 배열에 두 번째 객체로 추가하시면 됩니다.
+ {
+ tabKey: 'b',
+ tabLabel: '시설별 설치현황',
+ rowStartNum: 5, // 4단 헤더 구조 반영
+ fixedColumns: 4, // 순번, 시도, 시군구, 행정구역명, 처리장코드, 처리장명, 용량, 구분까지 고정
+ columns: [
+ /* 기본 정보 및 처리장 정보 (Band: Left) */
+ { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
+ { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
+ { name: '구분', fieldName: '구분', header: { text: '구분' } },
+ { name: '하수처리장명', fieldName: '하수처리장명', header: { text: '하수처리장명' } },
+ { name: 'FCT_CPC', fieldName: 'FCT_CPC', header: { text: '하수처리\n시설용량\n(㎥/일)' } },
-{
- tabKey: 'c',
- tabLabel: '관종별 현황',
- rowStartNum: 2,
- fixedColumns: 3, // 순번, 시도, 시군구, 행정구역명, 행정코드, 관종, 구분
- columns: [
- /* 기본 정보 */
- { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
- { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
-
+ /* 처리구역면적(㎢) */
+ { name: 'PROC_ZONE_SM', fieldName: 'PROC_ZONE_SM', header: { text: '합계' } },
+ { name: 'CMBN_PROC_ZONE_AR', fieldName: 'CMBN_PROC_ZONE_AR', header: { text: '합류식' } },
+ { name: 'SPRT_PROC_ZONE_AR', fieldName: 'SPRT_PROC_ZONE_AR', header: { text: '분류식' } },
- { name: 'SWRG_PIPE_NM', fieldName: 'SWRG_PIPE_NM', header: { text: '관종' } },
- { name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } },
+ /* 분류식화 (계산 필드용) */
+ { name: 'SEP_RATE', fieldName: 'SEP_RATE', header: { text: '분류식화' } },
- /* 총계 영역 */
- { name: 'TOTAL_EXTN_SUM', fieldName: 'TOTAL_EXTN_SUM', header: { text: '계' } },
- { name: 'LAYING_EXTN_SUM', fieldName: 'LAYING_EXTN_SUM', header: { text: '매설연장(m)' } },
- { name: 'REMVL_EXTN_SUM', fieldName: 'REMVL_EXTN_SUM', header: { text: '철거연장(m)' } },
+ /* 배수설비(개소) */
+ { name: 'DRNG_EQP_SM', fieldName: 'DRNG_EQP_SM', header: { text: '합계' } },
+ { name: 'CMBN_DRNG_EQP', fieldName: 'CMBN_DRNG_EQP', header: { text: '합류식' } },
+ { name: 'SPRT_DRNG_EQP_SM', fieldName: 'SPRT_DRNG_EQP_SM', header: { text: '합계(분류)' } },
+ { name: 'SPRT_DRNG_EQP_CNNC', fieldName: 'SPRT_DRNG_EQP_CNNC', header: { text: '연결' } },
+ { name: 'SPRT_DRNG_EQP_DCNNC', fieldName: 'SPRT_DRNG_EQP_DCNNC', header: { text: '미연결' } },
- /* 연도별 데이터 세트 (30Y ~ 01Y 반복) */
- // XML 로직에 따라 30Y부터 01Y까지 순차적으로 생성합니다.
- ...Array.from({ length: 30 }, (_, i) => {
- const yNum = (30 - i).toString().padStart(2, '0'); // 30, 29, ..., 01
- return [
- { name: `TOTAL_EXTN_${yNum}Y`, fieldName: `TOTAL_EXTN_${yNum}Y`, header: { text: '계' } },
- { name: `LAYING_EXTN_${yNum}Y`, fieldName: `LAYING_EXTN_${yNum}Y`, header: { text: '매설연장(m)' } },
- { name: `REMVL_EXTN_${yNum}Y`, fieldName: `REMVL_EXTN_${yNum}Y`, header: { text: '철거연장(m)' } }
- ];
- }).flat(),
+ /* 하수관로 상세 */
+ { name: 'PIPL_FCLTY_EXTN', fieldName: 'PIPL_FCLTY_EXTN', header: { text: '총\n시설연장\n(m)' } },
- /* 당해년도 및 비고 */
- { name: 'LAYING_EXTN', fieldName: 'LAYING_EXTN', header: { text: '매설연장(m)' } },
- { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
- ],
- columnLayout: [
-
- {
- name: 'addrGroup',
- header: { text: '행정구역' },
- items: ['SIDO', 'GUGUN'],
- },
+ /* 차집/오수간선(m) */
+ { name: 'ICG_MNN_SM', fieldName: 'ICG_MNN_SM', header: { text: '합계' } },
+ { name: 'ICG_EXTN', fieldName: 'ICG_EXTN', header: { text: '차집' } },
+ { name: 'MNN_EXTN', fieldName: 'MNN_EXTN', header: { text: '오수간선' } },
- 'SWRG_PIPE_NM',
- 'YR_GBN',
- {
- name: 'summaryGroup',
- header: { text: '총계' },
- items: ['TOTAL_EXTN_SUM', 'LAYING_EXTN_SUM', 'REMVL_EXTN_SUM'],
- },
- /* 반복 루프 수정 */
+ /* 토실/토구(개소) */
+ { name: '합류식', fieldName: '합류식', header: { text: '합류식' } },
+ { name: 'CMBN_SOILHOLE_SITE', fieldName: 'CMBN_SOILHOLE_SITE', header: { text: '우수토실(합류)' } },
+ { name: 'SPRT_SOILHOLE_SITE', fieldName: 'SPRT_SOILHOLE_SITE', header: { text: '우수토실(분류)' } },
+ { name: 'SPRT_SOILSPLL_SITE', fieldName: 'SPRT_SOILSPLL_SITE', header: { text: '우수토구(분류)' } },
+
+ /* 지선(m) */
+ { name: 'BRNCHLN_SM', fieldName: 'BRNCHLN_SM', header: { text: '합계' } },
+ { name: 'CMBN_BRNCHLN_EXTN', fieldName: 'CMBN_BRNCHLN_EXTN', header: { text: '합류식' } },
+ { name: 'RAINWTR_BRNCHLN_EXTN', fieldName: 'RAINWTR_BRNCHLN_EXTN', header: { text: '우수' } },
+ { name: 'PLTWTR_BRNCHLN_EXTN', fieldName: 'PLTWTR_BRNCHLN_EXTN', header: { text: '오수' } },
+
+ { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
+ ],
+ columnLayout: [
+ {
+ name: 'addrGroup',
+ header: { text: '행정구역' },
+ items: ['SIDO', 'GUGUN'],
+ },
+ '하수처리장명',
+ 'FCT_CPC',
+ '구분',
+ {
+ name: 'areaGroup',
+ header: { text: '처리구역면적(㎢)' },
+ items: ['PROC_ZONE_SM', 'CMBN_PROC_ZONE_AR', 'SPRT_PROC_ZONE_AR'],
+ },
+ 'SEP_RATE',
+ {
+ name: 'drainGroup',
+ header: { text: '배수설비(개소)' },
+ items: [
+ 'DRNG_EQP_SM',
+ 'CMBN_DRNG_EQP',
+ {
+ name: 'sepDrainGroup',
+ header: { text: '분류식' },
+ items: ['SPRT_DRNG_EQP_SM', 'SPRT_DRNG_EQP_CNNC', 'SPRT_DRNG_EQP_DCNNC']
+ }
+ ],
+ },
+ {
+ name: 'pipeGroup',
+ header: { text: '하수관로' },
+ items: [
+ 'PIPL_FCLTY_EXTN',
+ {
+ name: 'trunkGroup',
+ header: { text: '차집/오수간선(m)' },
+ items: ['ICG_MNN_SM', 'ICG_EXTN', 'MNN_EXTN']
+ },
+ {
+ name: 'siteGroup',
+ header: { text: '토실/토구(개소)' },
+ items: [
+ {
+ // '합류식' 그룹 생성
+ name: 'cmbnSiteGroup',
+ header: { text: '합류식' },
+ items: [
+ // '우수토실' 컬럼 (name이 'CMBN_SOILHOLE_SITE'인 컬럼의 헤더 텍스트를 '우수토실'로 매핑)
+ 'CMBN_SOILHOLE_SITE'
+ ]
+ },
+ {
+ // '분류식' 그룹
+ name: 'sepSiteGroup',
+ header: { text: '분류식' },
+ items: ['SPRT_SOILHOLE_SITE', 'SPRT_SOILSPLL_SITE']
+ }
+ ]
+ },
+ {
+ name: 'branchGroup',
+ header: { text: '지선(m)' },
+ items: [
+ 'BRNCHLN_SM',
+ 'CMBN_BRNCHLN_EXTN',
+ {
+ name: 'sepBranchGroup',
+ header: { text: '분류식' },
+ items: ['RAINWTR_BRNCHLN_EXTN', 'PLTWTR_BRNCHLN_EXTN']
+ }
+ ]
+ }
+ ],
+ },
+ 'RMK'
+ ]
+ },
+
+ {
+ tabKey: 'c',
+ tabLabel: '관종별 현황',
+ rowStartNum: 2,
+ fixedColumns: 3, // 순번, 시도, 시군구, 행정구역명, 행정코드, 관종, 구분
+ columns: [
+ /* 기본 정보 */
+ { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
+ { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '시군구' } },
+
+
+ { name: 'SWRG_PIPE_NM', fieldName: 'SWRG_PIPE_NM', header: { text: '관종' } },
+ { name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } },
+
+ /* 총계 영역 */
+ { name: 'TOTAL_EXTN_SUM', fieldName: 'TOTAL_EXTN_SUM', header: { text: '계' } },
+ { name: 'LAYING_EXTN_SUM', fieldName: 'LAYING_EXTN_SUM', header: { text: '매설연장(m)' } },
+ { name: 'REMVL_EXTN_SUM', fieldName: 'REMVL_EXTN_SUM', header: { text: '철거연장(m)' } },
+
+ /* 연도별 데이터 세트 (30Y ~ 01Y 반복) */
+ // XML 로직에 따라 30Y부터 01Y까지 순차적으로 생성합니다.
+ ...Array.from({ length: 30 }, (_, i) => {
+ const yNum = (30 - i).toString().padStart(2, '0'); // 30, 29, ..., 01
+ return [
+ { name: `TOTAL_EXTN_${yNum}Y`, fieldName: `TOTAL_EXTN_${yNum}Y`, header: { text: '계' } },
+ { name: `LAYING_EXTN_${yNum}Y`, fieldName: `LAYING_EXTN_${yNum}Y`, header: { text: '매설연장(m)' } },
+ { name: `REMVL_EXTN_${yNum}Y`, fieldName: `REMVL_EXTN_${yNum}Y`, header: { text: '철거연장(m)' } }
+ ];
+ }).flat(),
+
+ /* 당해년도 및 비고 */
+ { name: 'LAYING_EXTN', fieldName: 'LAYING_EXTN', header: { text: '매설연장(m)' } },
+ { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
+ ],
+ columnLayout: [
+
+ {
+ name: 'addrGroup',
+ header: { text: '행정구역' },
+ items: ['SIDO', 'GUGUN'],
+ },
+
+ 'SWRG_PIPE_NM',
+ 'YR_GBN',
+ {
+ name: 'summaryGroup',
+ header: { text: '총계' },
+ items: ['TOTAL_EXTN_SUM', 'LAYING_EXTN_SUM', 'REMVL_EXTN_SUM'],
+ },
+ /* 반복 루프 수정 */
...Array.from({ length: 30 }, (_, i) => {
const yrOffset = 29 - i; // 29, 28, 27... 순서
const yNum = (30 - i).toString().padStart(2, '0');
-
+
// [수정 포인트] 이미지(image_5444d1.png)처럼 무조건 "-XX년" 형식으로 표시
// 만약 29년 이전만 "XXXX년이전"으로 하고 싶다면 기존 로직 유지
- const headerText = `-${yrOffset}년`;
+ const headerText = `-${yrOffset}년`;
return {
name: `yr${yNum}Group`,
@@ -304,64 +304,64 @@ export const SewagePipeColumnInfoListRvw = [
}),
{
name: 'currentYrGroup',
- header: { text: `${baseYear}년` },
+ header: { text: `${baseYear}년` },
items: ['LAYING_EXTN'],
},
'RMK'
- ]
-},
-{
- tabKey: 'd',
- tabLabel: '관경별 현황',
- rowStartNum: 2,
- fixedColumns: 3, // 순번, 시도, 구군, 읍면동, 행정코드, 관종, 구분까지 고정
- columns: [
- /* 기본 정보 (Band: Left) */
- { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
- { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '구군' } },
- { name: 'SWRG_PIPE_NM', fieldName: 'SWRG_PIPE_NM', header: { text: '관종' } },
- { name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } },
+ ]
+ },
+ {
+ tabKey: 'd',
+ tabLabel: '관경별 현황',
+ rowStartNum: 2,
+ fixedColumns: 3, // 순번, 시도, 구군, 읍면동, 행정코드, 관종, 구분까지 고정
+ columns: [
+ /* 기본 정보 (Band: Left) */
+ { name: 'SIDO', fieldName: 'SIDO', header: { text: '시도' } },
+ { name: 'GUGUN', fieldName: 'GUGUN', header: { text: '구군' } },
+ { name: 'SWRG_PIPE_NM', fieldName: 'SWRG_PIPE_NM', header: { text: '관종' } },
+ { name: 'YR_GBN', fieldName: 'YR_GBN', header: { text: '구분' } },
- /* 총계 */
- { name: 'TOTAL_EXTN_M', fieldName: 'TOTAL_EXTN_M', header: { text: '총계(m)' } },
+ /* 총계 */
+ { name: 'TOTAL_EXTN_M', fieldName: 'TOTAL_EXTN_M', header: { text: '총계(m)' } },
- /* 원형(m) 관경별 상세 */
- { name: 'UNDER_200', fieldName: 'UNDER_200', header: { text: '200mm 미만' } },
- { name: 'OVER_200_UNDEV_300', fieldName: 'OVER_200_UNDEV_300', header: { text: '200mm이상~\n300mm미만' } },
- { name: 'OVER_300_UNDEV_500', fieldName: 'OVER_300_UNDEV_500', header: { text: '300mm이상~\n500mm미만' } },
- { name: 'OVER_500_UNDEV_800', fieldName: 'OVER_500_UNDEV_800', header: { text: '500mm이상~\n800mm미만' } }, // SQL상 OVER_500_UNDEV_500 오타 대응
- { name: 'OVER_800', fieldName: 'OVER_800', header: { text: '800mm 이상' } },
+ /* 원형(m) 관경별 상세 */
+ { name: 'UNDER_200', fieldName: 'UNDER_200', header: { text: '200mm 미만' } },
+ { name: 'OVER_200_UNDEV_300', fieldName: 'OVER_200_UNDEV_300', header: { text: '200mm이상~\n300mm미만' } },
+ { name: 'OVER_300_UNDEV_500', fieldName: 'OVER_300_UNDEV_500', header: { text: '300mm이상~\n500mm미만' } },
+ { name: 'OVER_500_UNDEV_800', fieldName: 'OVER_500_UNDEV_800', header: { text: '500mm이상~\n800mm미만' } }, // SQL상 OVER_500_UNDEV_500 오타 대응
+ { name: 'OVER_800', fieldName: 'OVER_800', header: { text: '800mm 이상' } },
- /* 사각형 및 기타 */
- { name: 'BOX', fieldName: 'BOX', header: { text: '사각형(m)' } },
- { name: 'ETC', fieldName: 'ETC', header: { text: '기타\n(측구/개거 등)' } },
+ /* 사각형 및 기타 */
+ { name: 'BOX', fieldName: 'BOX', header: { text: '사각형(m)' } },
+ { name: 'ETC', fieldName: 'ETC', header: { text: '기타\n(측구/개거 등)' } },
- /* 의견 및 비고 */
- { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
- ],
- columnLayout: [
- {
- name: 'addrGroup',
- header: { text: '행정구역' },
- items: ['SIDO', 'GUGUN'],
- },
- 'SWRG_PIPE_NM',
- 'YR_GBN',
- 'TOTAL_EXTN_M',
- {
- name: 'circleGroup',
- header: { text: '원형(m)' },
- items: [
- 'UNDER_200',
- 'OVER_200_UNDEV_300',
- 'OVER_300_UNDEV_500',
- 'OVER_500_UNDEV_800',
- 'OVER_800'
- ],
- },
- 'BOX',
- 'ETC',
- 'RMK',
- ]
-}
+ /* 의견 및 비고 */
+ { name: 'RMK', fieldName: 'RMK', header: { text: '비고' } },
+ ],
+ columnLayout: [
+ {
+ name: 'addrGroup',
+ header: { text: '행정구역' },
+ items: ['SIDO', 'GUGUN'],
+ },
+ 'SWRG_PIPE_NM',
+ 'YR_GBN',
+ 'TOTAL_EXTN_M',
+ {
+ name: 'circleGroup',
+ header: { text: '원형(m)' },
+ items: [
+ 'UNDER_200',
+ 'OVER_200_UNDEV_300',
+ 'OVER_300_UNDEV_500',
+ 'OVER_500_UNDEV_800',
+ 'OVER_800'
+ ],
+ },
+ 'BOX',
+ 'ETC',
+ 'RMK',
+ ]
+ }
]
\ 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