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