From ce44289ff1d863f4eb3b285dde71b9e35091ef72 Mon Sep 17 00:00:00 2001 From: rsone001 Date: Mon, 29 Dec 2025 15:56:42 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=ED=95=98=EC=88=98=20=ED=86=B5=EA=B3=84?= =?UTF-8?q?=20=EA=B4=80=EB=A6=AC=20=ED=99=94=EB=A9=B4=20=EA=B5=AC=ED=98=84?= =?UTF-8?q?2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 07. 분뇨처리시설 - 08. 개인하수처리시설 - 09. 하수도 재정 (구현 중 tab1까지 완료) --- .../ExcretaTreatmentFacilityMng.tsx | 134 ++++++ .../management/PrivateSewageFacilityMng.tsx | 40 ++ .../management/SewageExcretaRelatedMng.tsx | 1 + .../management/SewageExcretaSlurgeMng.tsx | 1 + .../management/SewerageFinanceMng.tsx | 38 ++ .../management/SewerageServiceLevelMng.tsx | 1 + .../statistics/management/WaterReuseMng.tsx | 3 + .../column/PrivateSewageFacilityMngColumn.ts | 408 ++++++++++++++++++ .../util/column/SewerageFinanceMngColumn.ts | 181 ++++++++ .../util/column/WaterReuseMngColumn.ts | 8 + 10 files changed, 815 insertions(+) create mode 100644 apps/st/src/components/util/column/PrivateSewageFacilityMngColumn.ts create mode 100644 apps/st/src/components/util/column/SewerageFinanceMngColumn.ts create mode 100644 apps/st/src/components/util/column/WaterReuseMngColumn.ts diff --git a/apps/st/src/components/statistics/management/ExcretaTreatmentFacilityMng.tsx b/apps/st/src/components/statistics/management/ExcretaTreatmentFacilityMng.tsx index 4b4988240..6e683b07c 100644 --- a/apps/st/src/components/statistics/management/ExcretaTreatmentFacilityMng.tsx +++ b/apps/st/src/components/statistics/management/ExcretaTreatmentFacilityMng.tsx @@ -1,9 +1,143 @@ 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"; +// 하수도 통계 관리 > 07. 분뇨처리시설 const ExcretaTreatmentFacilityMng = () => { + const columns = [ + // 행정구역 + { name: 'sido', fieldName: '시도', header: { text: '시도' } }, + { name: 'gugun', fieldName: '시군구', header: { text: '시군구' } }, + + // 기본 정보 + { name: 'ecscs_nm', fieldName: '시설명', header: { text: '시설명' } }, + { name: 'locplcs', fieldName: '소재지', header: { text: '소재지' } }, + { name: 'telno', fieldName: '전화번호', header: { text: '전화번호' } }, + + // 날짜 정보 + { name: 'comp_dt', fieldName: '준공일 yyyy-mm-dd', header: { text: '준공일 yyyy-mm-dd' } }, + { name: 'rn_dt', fieldName: '가동개시일 yyyy-mm-dd', header: { text: '가동개시일 yyyy-mm-dd' } }, + + // 사업비/용량 정보 + { name: 'wct', fieldName: '사업비', header: { text: '사업비(백만원)' } }, + { name: 'ecscs_cpcty', fieldName: '시설용량', header: { text: '시설용량(m³/일)' } }, + { name: 'process_cpcty', fieldName: '처리량', header: { text: '처리량(m³/일)' } }, + { name: 'opr_daycnt', fieldName: '가동일수', header: { text: '가동일수(일/년)' } }, + + // 처리 공법 및 연계 + { name: 'trt_msrc', fieldName: '처리공법', header: { text: '처리공법' } }, + { name: 'cntc_prcplt', fieldName: '연계처리장명', header: { text: '연계처리장명' } }, + { name: 'assct_trt_cpc', fieldName: '연계처리량', header: { text: '연계처리량(m³/일)' } }, + + // 유입수질 (TOC만 포함) + { name: 'infl_wqlt_bod', fieldName: '유입BOD', header: { text: 'BOD' } }, + { name: 'infl_wqlt_toc', fieldName: '유입TOC', header: { text: 'TOC' } }, + { name: 'infl_wqlt_ss', fieldName: '유입SS', header: { text: 'SS' } }, + { name: 'infl_wqlt_tn', fieldName: '유입T-N', header: { text: 'T-N' } }, + { name: 'infl_wqlt_tp', fieldName: '유입T-P', header: { text: 'T-P' } }, + { name: 'infl_wqlt_clfgrpcnt', fieldName: '유입대장균군수', header: { text: '대장균군수' } }, + + // 방류수질 (TOC만 포함) + { name: 'effl_wqlt_bod', fieldName: '방류BOD', header: { text: 'BOD' } }, + { name: 'effl_wqlt_toc', fieldName: '방류TOC', header: { text: 'TOC' } }, + { name: 'effl_wqlt_ss', fieldName: '방류SS', header: { text: 'SS' } }, + { name: 'effl_wqlt_tn', fieldName: '방류T-N', header: { text: 'T-N' } }, + { name: 'effl_wqlt_tp', fieldName: '방류T-P', header: { text: 'T-P' } }, + { name: 'effl_wqlt_clfgrpcnt', fieldName: '방류대장균군수', header: { text: '대장균군수' } }, + + // 방류수역 + { name: 'rvbsn', fieldName: '수계', header: { text: '수계' } }, + { name: 'bstrm', fieldName: '지류', header: { text: '지류' } }, + { name: 'lgbsn', fieldName: '중권역', header: { text: '중권역' } }, + { name: 'mdmbsn', fieldName: '소권역', header: { text: '소권역' } }, + + // 운영 정보 + { name: 'oper_mth', fieldName: '운영주체(자체/공기업/민간위탁)', header: { text: '운영주체(자체/공기업/민간위탁)' } }, + { name: 'cntc_prcplt_cpc', fieldName: '직원총수', header: { text: '직원총수(명)' } }, + { name: 'safe_acdnt_co', fieldName: '안전사고건수', header: { text: '안전사고건수(건/인/년)' } }, + + // 기타 + { name: 'rmk', fieldName: '비고', header: { text: '비고' } }, + ]; + + const columnLayout = [ + { + name: 'adminGroup', + hideChildHeaders: false, + header: { text: '행정구역' }, + items: ['sido', 'gugun'], + }, + 'ecscs_nm', + 'locplcs', + 'telno', + 'comp_dt', + 'rn_dt', + 'wct', + 'ecscs_cpcty', + 'process_cpcty', + 'opr_daycnt', + 'trt_msrc', + 'cntc_prcplt', + 'assct_trt_cpc', + { + name: 'influenceGroup', + hideChildHeaders: false, + header: { text: '유입수질(mg/L, 개/mL)' }, + items: ['infl_wqlt_bod', 'infl_wqlt_toc', 'infl_wqlt_ss', 'infl_wqlt_tn', 'infl_wqlt_tp', 'infl_wqlt_clfgrpcnt'], + }, + { + name: 'effluentGroup', + hideChildHeaders: false, + header: { text: '방류수질(mg/L, 개/mL)' }, + items: ['effl_wqlt_bod', 'effl_wqlt_toc', 'effl_wqlt_ss', 'effl_wqlt_tn', 'effl_wqlt_tp', 'effl_wqlt_clfgrpcnt'], + }, + { + name: 'dischargeGroup', + hideChildHeaders: false, + header: { text: '방류수역' }, + items: ['rvbsn', 'bstrm', 'lgbsn', 'mdmbsn'], + }, + 'oper_mth', + 'cntc_prcplt_cpc', + 'safe_acdnt_co', + 'rmk', + ]; + + const submitExceptionFunc = () => { + console.log('submit exception'); + // 예외제출 로직 + }; + + const getLastYearDataFunc = () => { + console.log('get last year data'); + // 지난년도 데이터 가져오기 로직 + }; + + const saveFunc = () => { + console.log('save'); + // 저장 로직 + }; + + const submitFunc = () => { + console.log('submit'); + // 제출 로직 + }; + return ( <> +
+ + +
+
+ + +
+ ); }; diff --git a/apps/st/src/components/statistics/management/PrivateSewageFacilityMng.tsx b/apps/st/src/components/statistics/management/PrivateSewageFacilityMng.tsx index a57011038..35136c240 100644 --- a/apps/st/src/components/statistics/management/PrivateSewageFacilityMng.tsx +++ b/apps/st/src/components/statistics/management/PrivateSewageFacilityMng.tsx @@ -1,9 +1,49 @@ 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 SubmitExceptionButton from "@/components/button/SubmitExceptionButton"; +import LastYearDataButton from "@/components/button/LastYearDataButton"; +import { PrivateSewageFacilityMngColumnInfoList } from "@/components/util/column/PrivateSewageFacilityMngColumn"; + +// 하수도 통계 관리 > 08. 개인하수처리시설 const PrivateSewageFacilityMng = () => { + + const submitFunc = () => { + // TODO: 제출 로직 구현 + console.log('제출 로직 실행'); + }; + + const saveFunc = () => { + // TODO: 저장 로직 구현 + console.log('저장 로직 실행'); + }; + + const lastYearDataFunc = () => { + // TODO: 지난년도 데이터 가져오기 로직 구현 + console.log('지난년도 데이터 가져오기 로직 실행'); + }; + + const submitExceptionFunc = () => { + // TODO: 예외 제출 로직 구현 + console.log('예외 제출 로직 실행'); + }; + + + return ( <> + +
+ + + + +
+ + ); }; diff --git a/apps/st/src/components/statistics/management/SewageExcretaRelatedMng.tsx b/apps/st/src/components/statistics/management/SewageExcretaRelatedMng.tsx index 4305c6344..e0d5ab6ba 100644 --- a/apps/st/src/components/statistics/management/SewageExcretaRelatedMng.tsx +++ b/apps/st/src/components/statistics/management/SewageExcretaRelatedMng.tsx @@ -1,5 +1,6 @@ import SearchForm from "@/components/module/SearchForm"; +// 하수도 통계 관리 > 12. 하수 및 분뇨관련산업 const SewageExcretaRelatedMng = () => { return ( <> diff --git a/apps/st/src/components/statistics/management/SewageExcretaSlurgeMng.tsx b/apps/st/src/components/statistics/management/SewageExcretaSlurgeMng.tsx index ea3bd241a..fc3ac670f 100644 --- a/apps/st/src/components/statistics/management/SewageExcretaSlurgeMng.tsx +++ b/apps/st/src/components/statistics/management/SewageExcretaSlurgeMng.tsx @@ -1,5 +1,6 @@ import SearchForm from "@/components/module/SearchForm"; +// 하수도 통계 관리 > 11. 하수 및 분뇨찌꺼기(슬러지)처리 const SewageExcretaSlurgeMng = () => { return ( <> diff --git a/apps/st/src/components/statistics/management/SewerageFinanceMng.tsx b/apps/st/src/components/statistics/management/SewerageFinanceMng.tsx index 85e35d715..99cdb26e3 100644 --- a/apps/st/src/components/statistics/management/SewerageFinanceMng.tsx +++ b/apps/st/src/components/statistics/management/SewerageFinanceMng.tsx @@ -1,9 +1,47 @@ 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 SubmitExceptionButton from "@/components/button/SubmitExceptionButton"; +import LastYearDataButton from "@/components/button/LastYearDataButton"; +import { SewerageFinanceMngInfoList } from "@/components/util/column/SewerageFinanceMngColumn"; + +// 하수도 통계 관리 > 09. 하수도재정 const SewerageFinanceMng = () => { + + const submitFunc = () => { + // TODO: 제출 로직 구현 + console.log('제출 로직 실행'); + }; + + const saveFunc = () => { + // TODO: 저장 로직 구현 + console.log('저장 로직 실행'); + }; + + const lastYearDataFunc = () => { + // TODO: 지난년도 데이터 가져오기 로직 구현 + console.log('지난년도 데이터 가져오기 로직 실행'); + }; + + const submitExceptionFunc = () => { + // TODO: 예외 제출 로직 구현 + console.log('예외 제출 로직 실행'); + }; + return ( <> + +
+ + + + +
+ + ); }; diff --git a/apps/st/src/components/statistics/management/SewerageServiceLevelMng.tsx b/apps/st/src/components/statistics/management/SewerageServiceLevelMng.tsx index a9c2adf00..e7bdc2945 100644 --- a/apps/st/src/components/statistics/management/SewerageServiceLevelMng.tsx +++ b/apps/st/src/components/statistics/management/SewerageServiceLevelMng.tsx @@ -1,5 +1,6 @@ import SearchForm from "../../module/SearchForm"; +// 하수도 통계 관리 > 13. 하수도 서비스 수준 const SewerageServiceLevelMng = () => { return ( <> diff --git a/apps/st/src/components/statistics/management/WaterReuseMng.tsx b/apps/st/src/components/statistics/management/WaterReuseMng.tsx index b4afc8254..222da9cd0 100644 --- a/apps/st/src/components/statistics/management/WaterReuseMng.tsx +++ b/apps/st/src/components/statistics/management/WaterReuseMng.tsx @@ -1,5 +1,8 @@ import SearchForm from "../../module/SearchForm"; +import { WaterReuseMngColumnInfoList } from "@/components/util/column/WaterReuseMngColumn"; + +// 하수도 통계 관리 > 10. 물 재이용 const WaterReuseMng = () => { return ( <> diff --git a/apps/st/src/components/util/column/PrivateSewageFacilityMngColumn.ts b/apps/st/src/components/util/column/PrivateSewageFacilityMngColumn.ts new file mode 100644 index 000000000..00b59ac55 --- /dev/null +++ b/apps/st/src/components/util/column/PrivateSewageFacilityMngColumn.ts @@ -0,0 +1,408 @@ +/** + * 하수도 통계 관리 > 8.개인하수처리시설 + * 3개 Tab: 컬럼 통합 관리 + */ + +export const PrivateSewageFacilityMngColumnInfoList = [ + // ======================================== + // Tab 1: 처리용량별 오수처리시설 현황 + // ======================================== + { + columns: [ + // 행정구역 + { name: 'SIDO', fieldName: '시도', header: { text: '시도' } }, + { name: 'GUGUN', fieldName: '시군구', header: { text: '시군구' } }, + + // 총계 + { name: 'STTY_SM', fieldName: '총계', header: { text: '총계' } }, + + // 오수처리시설 - 하수처리구역 내(m³/일) + { name: 'STTY_ZONE_INNER_SM', fieldName: '계', header: { text: '계' } }, + { name: 'STTY_ZONE_INNER_2', fieldName: '2이하', header: { text: '2이하' } }, + { name: 'STTY_ZONE_INNER_3', fieldName: '3~10', header: { text: '3~10' } }, + { name: 'STTY_ZONE_INNER_11', fieldName: '11~20', header: { text: '11~20' } }, + { name: 'STTY_ZONE_INNER_21', fieldName: '21~50', header: { text: '21~50' } }, + { name: 'STTY_ZONE_INNER_51', fieldName: '51~100', header: { text: '51~100' } }, + { name: 'STTY_ZONE_INNER_101', fieldName: '101~500', header: { text: '101~500' } }, + { name: 'STTY_ZONE_INNER_501', fieldName: '501이상', header: { text: '501이상' } }, + + // 오수처리시설 - 하수처리구역 외(m³/일) + { name: 'STTY_ZONE_OUTER_SM', fieldName: '계', header: { text: '계' } }, + { name: 'STTY_ZONE_OUTER_2', fieldName: '2이하', header: { text: '2이하' } }, + { name: 'STTY_ZONE_OUTER_3', fieldName: '3~10', header: { text: '3~10' } }, + { name: 'STTY_ZONE_OUTER_11', fieldName: '11~20', header: { text: '11~20' } }, + { name: 'STTY_ZONE_OUTER_21', fieldName: '21~50', header: { text: '21~50' } }, + { name: 'STTY_ZONE_OUTER_51', fieldName: '51~100', header: { text: '51~100' } }, + { name: 'STTY_ZONE_OUTER_101', fieldName: '101~500', header: { text: '101~500' } }, + { name: 'STTY_ZONE_OUTER_501', fieldName: '501이상', header: { text: '501이상' } }, + + // 기타 + { name: 'RMK', fieldName: '비고', header: { text: '비고' } }, + { name: 'WRTER_OPINION', fieldName: '사용자의견', header: { text: '사용자의견' } }, + { name: 'CHCKER_OPINION', fieldName: '검토자의견', header: { text: '검토자의견' } }, + + // 검증 필드 (검증 여부 표시용 - 빨간색 표시) + { name: 'CHK_STTY_SM', fieldName: 'CHK_STTY_SM', header: { text: '' } }, + { name: 'CHK_STTY_ZONE_INNER_SM', fieldName: 'CHK_STTY_ZONE_INNER_SM', header: { text: '' } }, + { name: 'CHK_STTY_ZONE_INNER_2', fieldName: 'CHK_STTY_ZONE_INNER_2', header: { text: '' } }, + { name: 'CHK_STTY_ZONE_INNER_3', fieldName: 'CHK_STTY_ZONE_INNER_3', header: { text: '' } }, + { name: 'CHK_STTY_ZONE_INNER_11', fieldName: 'CHK_STTY_ZONE_INNER_11', header: { text: '' } }, + { name: 'CHK_STTY_ZONE_INNER_21', fieldName: 'CHK_STTY_ZONE_INNER_21', header: { text: '' } }, + { name: 'CHK_STTY_ZONE_INNER_51', fieldName: 'CHK_STTY_ZONE_INNER_51', header: { text: '' } }, + { name: 'CHK_STTY_ZONE_INNER_101', fieldName: 'CHK_STTY_ZONE_INNER_101', header: { text: '' } }, + { name: 'CHK_STTY_ZONE_INNER_501', fieldName: 'CHK_STTY_ZONE_INNER_501', header: { text: '' } }, + { name: 'CHK_STTY_ZONE_OUTER_SM', fieldName: 'CHK_STTY_ZONE_OUTER_SM', header: { text: '' } }, + { name: 'CHK_STTY_ZONE_OUTER_2', fieldName: 'CHK_STTY_ZONE_OUTER_2', header: { text: '' } }, + { name: 'CHK_STTY_ZONE_OUTER_3', fieldName: 'CHK_STTY_ZONE_OUTER_3', header: { text: '' } }, + { name: 'CHK_STTY_ZONE_OUTER_11', fieldName: 'CHK_STTY_ZONE_OUTER_11', header: { text: '' } }, + { name: 'CHK_STTY_ZONE_OUTER_21', fieldName: 'CHK_STTY_ZONE_OUTER_21', header: { text: '' } }, + { name: 'CHK_STTY_ZONE_OUTER_51', fieldName: 'CHK_STTY_ZONE_OUTER_51', header: { text: '' } }, + { name: 'CHK_STTY_ZONE_OUTER_101', fieldName: 'CHK_STTY_ZONE_OUTER_101', header: { text: '' } }, + { name: 'CHK_STTY_ZONE_OUTER_501', fieldName: 'CHK_STTY_ZONE_OUTER_501', header: { text: '' } }, + ], + columnLayout: [ + { + name: 'group_admin', + header: { text: '행정구역' }, + items: ['SIDO', 'GUGUN'] + }, + 'STTY_SM', + { + name: 'group_stty', + header: { text: '오수처리시설' }, + items: [ + { + name: 'group_inner', + header: { text: '하수처리구역 내(m³/일)' }, + items: [ + 'STTY_ZONE_INNER_SM', + 'STTY_ZONE_INNER_2', + 'STTY_ZONE_INNER_3', + 'STTY_ZONE_INNER_11', + 'STTY_ZONE_INNER_21', + 'STTY_ZONE_INNER_51', + 'STTY_ZONE_INNER_101', + 'STTY_ZONE_INNER_501' + ] + }, + { + name: 'group_outer', + header: { text: '하수처리구역 외(m³/일)' }, + items: [ + 'STTY_ZONE_OUTER_SM', + 'STTY_ZONE_OUTER_2', + 'STTY_ZONE_OUTER_3', + 'STTY_ZONE_OUTER_11', + 'STTY_ZONE_OUTER_21', + 'STTY_ZONE_OUTER_51', + 'STTY_ZONE_OUTER_101', + 'STTY_ZONE_OUTER_501' + ] + } + ] + }, + 'RMK' + ], + rowStartNum: 3, + fixedColumns: 1, + tabKey: 'treatment_facility', + tabLabel: '처리용량별 오수처리시설 현황' + }, + + // ======================================== + // Tab 2: 정화조 현황 + // ======================================== + { + columns: [ + // 행정구역 + { name: 'SIDO', fieldName: '시도', header: { text: '시도' } }, + { name: 'GUGUN', fieldName: '시군구', header: { text: '시군구' } }, + + // 총 시설 수 + { name: 'TOT_FCLTY_CNT', fieldName: '총 시설 수 (A+D)', header: { text: '총 시설 수 (A+D)' } }, + + // 하수처리구역 내 - 총계 + { name: 'SPZI_SM', fieldName: '총계 A=(B+C)/2', header: { text: '총계 A=(B+C)/2' } }, + + // 하수처리구역 내 - 처리방식별 + { name: 'SPZI_MTHD_SM', fieldName: '계(B)', header: { text: '계(B)' } }, + { name: 'SPZI_ROT_NPFL_CNT', fieldName: '자연유하', header: { text: '자연유하' } }, + { name: 'SPZI_ROT_ENFCT_PUMP_1', fieldName: '강제펌핑식', header: { text: '강제펌핑식' } }, + { name: 'SPZI_WTROT_NPFL_CNT', fieldName: '살수형', header: { text: '살수형' } }, + { name: 'SPZI_TFM', fieldName: '폭기방법', header: { text: '폭기방법' } }, + { name: 'SPZI_ARTM', fieldName: '접촉폭기', header: { text: '접촉폭기' } }, + { name: 'SPZI_CTARM', fieldName: '기타', header: { text: '기타' } }, + + // 하수처리구역 내 - 처리용량별 + { name: 'SPZI_PROC_CPC_SM', fieldName: '계(C)', header: { text: '계(C)' } }, + { name: 'SPZI_PROC_CPC_1', fieldName: '10인조이하', header: { text: '10인조이하' } }, + { name: 'SPZI_PROC_CPC_2', fieldName: '11~20', header: { text: '11~20' } }, + { name: 'SPZI_PROC_CPC_3', fieldName: '21~30', header: { text: '21~30' } }, + { name: 'SPZI_PROC_CPC_4', fieldName: '31~50', header: { text: '31~50' } }, + { name: 'SPZI_PROC_CPC_5', fieldName: '51~199', header: { text: '51~199' } }, + { name: 'SPZI_PROC_CPC_6', fieldName: '200~499', header: { text: '200~499' } }, + { name: 'SPZI_PROC_CPC_7', fieldName: '500~999', header: { text: '500~999' } }, + { name: 'SPZI_PROC_CPC_8', fieldName: '1,000 이상', header: { text: '1,000 이상' } }, + + // 하수처리구역 외 - 총계 + { name: 'SPZO_SM', fieldName: '총계 D=(E+F)/2', header: { text: '총계 D=(E+F)/2' } }, + + // 하수처리구역 외 - 처리방식별 + { name: 'SPZO_MTHD_SM', fieldName: '계(E)', header: { text: '계(E)' } }, + { name: 'SPZO_ROT_NPFL_CNT', fieldName: '자연유하', header: { text: '자연유하' } }, + { name: 'SPZO_ROT_ENFCT_PUMP_1', fieldName: '강제펌핑식', header: { text: '강제펌핑식' } }, + { name: 'SPZO_WTROT_NPFL_CNT', fieldName: '살수형', header: { text: '살수형' } }, + { name: 'SPZO_TFM', fieldName: '폭기방법', header: { text: '폭기방법' } }, + { name: 'SPZO_ARTM', fieldName: '접촉폭기', header: { text: '접촉폭기' } }, + { name: 'SPZO_CTARM', fieldName: '기타', header: { text: '기타' } }, + + // 하수처리구역 외 - 처리용량별 + { name: 'SPZO_PROC_CPC_SM', fieldName: '계(F)', header: { text: '계(F)' } }, + { name: 'SPZO_PROC_CPC_1', fieldName: '10인조이하', header: { text: '10인조이하' } }, + { name: 'SPZO_PROC_CPC_2', fieldName: '11~20', header: { text: '11~20' } }, + { name: 'SPZO_PROC_CPC_3', fieldName: '21~30', header: { text: '21~30' } }, + { name: 'SPZO_PROC_CPC_4', fieldName: '31~50', header: { text: '31~50' } }, + { name: 'SPZO_PROC_CPC_5', fieldName: '51~199', header: { text: '51~199' } }, + { name: 'SPZO_PROC_CPC_6', fieldName: '200~499', header: { text: '200~499' } }, + { name: 'SPZO_PROC_CPC_7', fieldName: '500~999', header: { text: '500~999' } }, + { name: 'SPZO_PROC_CPC_8', fieldName: '1,000 이상', header: { text: '1,000 이상' } }, + + // 기타 + { name: 'RMK', fieldName: '비고', header: { text: '비고' } }, + { name: 'WRTER_OPINION', fieldName: '사용자의견', header: { text: '사용자의견' } }, + { name: 'CHCKER_OPINION', fieldName: '검토자의견', header: { text: '검토자의견' } }, + + // 검증 필드 (검증 여부 표시용 - 빨간색 표시) + { name: 'CHK_TOT_FCLTY_CNT', fieldName: 'CHK_TOT_FCLTY_CNT', header: { text: '' } }, + { name: 'CHK_SPZI_SM', fieldName: 'CHK_SPZI_SM', header: { text: '' } }, + { name: 'CHK_SPZI_MTHD_SM', fieldName: 'CHK_SPZI_MTHD_SM', header: { text: '' } }, + { name: 'CHK_SPZI_ROT_NPFL_CNT', fieldName: 'CHK_SPZI_ROT_NPFL_CNT', header: { text: '' } }, + { name: 'CHK_SPZI_ROT_ENFCT_PUMP_1', fieldName: 'CHK_SPZI_ROT_ENFCT_PUMP_1', header: { text: '' } }, + { name: 'CHK_SPZI_ROT_ENFCT_PUMP_2', fieldName: 'CHK_SPZI_ROT_ENFCT_PUMP_2', header: { text: '' } }, + { name: 'CHK_SPZI_ROT_ENFCT_PUMP_3', fieldName: 'CHK_SPZI_ROT_ENFCT_PUMP_3', header: { text: '' } }, + { name: 'CHK_SPZI_ROT_TANK_SM', fieldName: 'CHK_SPZI_ROT_TANK_SM', header: { text: '' } }, + { name: 'CHK_SPZI_IMHF_NPFL_CNT', fieldName: 'CHK_SPZI_IMHF_NPFL_CNT', header: { text: '' } }, + { name: 'CHK_SPZI_IMHF_ENFCT_PUMP_1', fieldName: 'CHK_SPZI_IMHF_ENFCT_PUMP_1', header: { text: '' } }, + { name: 'CHK_SPZI_IMHF_ENFCT_PUMP_2', fieldName: 'CHK_SPZI_IMHF_ENFCT_PUMP_2', header: { text: '' } }, + { name: 'CHK_SPZI_IMHF_ENFCT_PUMP_3', fieldName: 'CHK_SPZI_IMHF_ENFCT_PUMP_3', header: { text: '' } }, + { name: 'CHK_SPZI_IMHF_TANK_SM', fieldName: 'CHK_SPZI_IMHF_TANK_SM', header: { text: '' } }, + { name: 'CHK_SPZI_WTROT_NPFL_CNT', fieldName: 'CHK_SPZI_WTROT_NPFL_CNT', header: { text: '' } }, + { name: 'CHK_SPZI_WTROT_ENFCT_PUMP_1', fieldName: 'CHK_SPZI_WTROT_ENFCT_PUMP_1', header: { text: '' } }, + { name: 'CHK_SPZI_WTROT_ENFCT_PUMP_2', fieldName: 'CHK_SPZI_WTROT_ENFCT_PUMP_2', header: { text: '' } }, + { name: 'CHK_SPZI_WTROT_ENFCT_PUMP_3', fieldName: 'CHK_SPZI_WTROT_ENFCT_PUMP_3', header: { text: '' } }, + { name: 'CHK_SPZI_WTROT_TANK_SM', fieldName: 'CHK_SPZI_WTROT_TANK_SM', header: { text: '' } }, + { name: 'CHK_SPZI_TFM', fieldName: 'CHK_SPZI_TFM', header: { text: '' } }, + { name: 'CHK_SPZI_ARTM', fieldName: 'CHK_SPZI_ARTM', header: { text: '' } }, + { name: 'CHK_SPZI_CTARM', fieldName: 'CHK_SPZI_CTARM', header: { text: '' } }, + { name: 'CHK_SPZI_NPFL', fieldName: 'CHK_SPZI_NPFL', header: { text: '' } }, + { name: 'CHK_SPZI_ENFCT_PUMP', fieldName: 'CHK_SPZI_ENFCT_PUMP', header: { text: '' } }, + { name: 'CHK_SPZI_PROC_CPC_SM', fieldName: 'CHK_SPZI_PROC_CPC_SM', header: { text: '' } }, + { name: 'CHK_SPZI_PROC_CPC_1', fieldName: 'CHK_SPZI_PROC_CPC_1', header: { text: '' } }, + { name: 'CHK_SPZI_PROC_CPC_2', fieldName: 'CHK_SPZI_PROC_CPC_2', header: { text: '' } }, + { name: 'CHK_SPZI_PROC_CPC_3', fieldName: 'CHK_SPZI_PROC_CPC_3', header: { text: '' } }, + { name: 'CHK_SPZI_PROC_CPC_4', fieldName: 'CHK_SPZI_PROC_CPC_4', header: { text: '' } }, + { name: 'CHK_SPZI_PROC_CPC_5', fieldName: 'CHK_SPZI_PROC_CPC_5', header: { text: '' } }, + { name: 'CHK_SPZI_PROC_CPC_6', fieldName: 'CHK_SPZI_PROC_CPC_6', header: { text: '' } }, + { name: 'CHK_SPZI_PROC_CPC_7', fieldName: 'CHK_SPZI_PROC_CPC_7', header: { text: '' } }, + { name: 'CHK_SPZI_PROC_CPC_8', fieldName: 'CHK_SPZI_PROC_CPC_8', header: { text: '' } }, + { name: 'CHK_SPZO_SM', fieldName: 'CHK_SPZO_SM', header: { text: '' } }, + { name: 'CHK_SPZO_MTHD_SM', fieldName: 'CHK_SPZO_MTHD_SM', header: { text: '' } }, + { name: 'CHK_SPZO_ROT_NPFL_CNT', fieldName: 'CHK_SPZO_ROT_NPFL_CNT', header: { text: '' } }, + { name: 'CHK_SPZO_ROT_ENFCT_PUMP_1', fieldName: 'CHK_SPZO_ROT_ENFCT_PUMP_1', header: { text: '' } }, + { name: 'CHK_SPZO_ROT_ENFCT_PUMP_2', fieldName: 'CHK_SPZO_ROT_ENFCT_PUMP_2', header: { text: '' } }, + { name: 'CHK_SPZO_ROT_ENFCT_PUMP_3', fieldName: 'CHK_SPZO_ROT_ENFCT_PUMP_3', header: { text: '' } }, + { name: 'CHK_SPZO_ROT_TANK_SM', fieldName: 'CHK_SPZO_ROT_TANK_SM', header: { text: '' } }, + { name: 'CHK_SPZO_IMHF_NPFL_CNT', fieldName: 'CHK_SPZO_IMHF_NPFL_CNT', header: { text: '' } }, + { name: 'CHK_SPZO_IMHF_ENFCT_PUMP_1', fieldName: 'CHK_SPZO_IMHF_ENFCT_PUMP_1', header: { text: '' } }, + { name: 'CHK_SPZO_IMHF_ENFCT_PUMP_2', fieldName: 'CHK_SPZO_IMHF_ENFCT_PUMP_2', header: { text: '' } }, + { name: 'CHK_SPZO_IMHF_ENFCT_PUMP_3', fieldName: 'CHK_SPZO_IMHF_ENFCT_PUMP_3', header: { text: '' } }, + { name: 'CHK_SPZO_IMHF_TANK_SM', fieldName: 'CHK_SPZO_IMHF_TANK_SM', header: { text: '' } }, + { name: 'CHK_SPZO_WTROT_NPFL_CNT', fieldName: 'CHK_SPZO_WTROT_NPFL_CNT', header: { text: '' } }, + { name: 'CHK_SPZO_WTROT_ENFCT_PUMP_1', fieldName: 'CHK_SPZO_WTROT_ENFCT_PUMP_1', header: { text: '' } }, + { name: 'CHK_SPZO_WTROT_ENFCT_PUMP_2', fieldName: 'CHK_SPZO_WTROT_ENFCT_PUMP_2', header: { text: '' } }, + { name: 'CHK_SPZO_WTROT_ENFCT_PUMP_3', fieldName: 'CHK_SPZO_WTROT_ENFCT_PUMP_3', header: { text: '' } }, + { name: 'CHK_SPZO_WTROT_TANK_SM', fieldName: 'CHK_SPZO_WTROT_TANK_SM', header: { text: '' } }, + { name: 'CHK_SPZO_TFM', fieldName: 'CHK_SPZO_TFM', header: { text: '' } }, + { name: 'CHK_SPZO_ARTM', fieldName: 'CHK_SPZO_ARTM', header: { text: '' } }, + { name: 'CHK_SPZO_CTARM', fieldName: 'CHK_SPZO_CTARM', header: { text: '' } }, + { name: 'CHK_SPZO_NPFL', fieldName: 'CHK_SPZO_NPFL', header: { text: '' } }, + { name: 'CHK_SPZO_ENFCT_PUMP', fieldName: 'CHK_SPZO_ENFCT_PUMP', header: { text: '' } }, + { name: 'CHK_SPZO_PROC_CPC_SM', fieldName: 'CHK_SPZO_PROC_CPC_SM', header: { text: '' } }, + { name: 'CHK_SPZO_PROC_CPC_1', fieldName: 'CHK_SPZO_PROC_CPC_1', header: { text: '' } }, + { name: 'CHK_SPZO_PROC_CPC_2', fieldName: 'CHK_SPZO_PROC_CPC_2', header: { text: '' } }, + { name: 'CHK_SPZO_PROC_CPC_3', fieldName: 'CHK_SPZO_PROC_CPC_3', header: { text: '' } }, + { name: 'CHK_SPZO_PROC_CPC_4', fieldName: 'CHK_SPZO_PROC_CPC_4', header: { text: '' } }, + { name: 'CHK_SPZO_PROC_CPC_5', fieldName: 'CHK_SPZO_PROC_CPC_5', header: { text: '' } }, + { name: 'CHK_SPZO_PROC_CPC_6', fieldName: 'CHK_SPZO_PROC_CPC_6', header: { text: '' } }, + { name: 'CHK_SPZO_PROC_CPC_7', fieldName: 'CHK_SPZO_PROC_CPC_7', header: { text: '' } }, + { name: 'CHK_SPZO_PROC_CPC_8', fieldName: 'CHK_SPZO_PROC_CPC_8', header: { text: '' } }, + ], + columnLayout: [ + { + name: 'group_admin', + header: { text: '행정구역' }, + items: ['SIDO', 'GUGUN'] + }, + 'TOT_FCLTY_CNT', + { + name: 'group_spzi', + header: { text: '하수처리구역 내' }, + items: [ + 'SPZI_SM', + { + name: 'group_spzi_mthd', + header: { text: '처리방식별' }, + items: [ + 'SPZI_MTHD_SM', + { + name: 'group_spzi_rot', + header: { text: '부패탱크' }, + items: [ + 'SPZI_ROT_NPFL_CNT', + 'SPZI_ROT_ENFCT_PUMP_1' + ] + }, + 'SPZI_WTROT_NPFL_CNT', + 'SPZI_TFM', + 'SPZI_ARTM', + 'SPZI_CTARM' + ] + }, + { + name: 'group_spzi_proc', + header: { text: '처리용량별' }, + items: [ + 'SPZI_PROC_CPC_SM', + 'SPZI_PROC_CPC_1', + 'SPZI_PROC_CPC_2', + 'SPZI_PROC_CPC_3', + 'SPZI_PROC_CPC_4', + 'SPZI_PROC_CPC_5', + 'SPZI_PROC_CPC_6', + 'SPZI_PROC_CPC_7', + 'SPZI_PROC_CPC_8' + ] + } + ] + }, + { + name: 'group_spzo', + header: { text: '하수처리구역 외' }, + items: [ + 'SPZO_SM', + { + name: 'group_spzo_mthd', + header: { text: '처리방식별' }, + items: [ + 'SPZO_MTHD_SM', + { + name: 'group_spzo_rot', + header: { text: '부패탱크' }, + items: [ + 'SPZO_ROT_NPFL_CNT', + 'SPZO_ROT_ENFCT_PUMP_1' + ] + }, + 'SPZO_WTROT_NPFL_CNT', + 'SPZO_TFM', + 'SPZO_ARTM', + 'SPZO_CTARM' + ] + }, + { + name: 'group_spzo_proc', + header: { text: '처리용량별' }, + items: [ + 'SPZO_PROC_CPC_SM', + 'SPZO_PROC_CPC_1', + 'SPZO_PROC_CPC_2', + 'SPZO_PROC_CPC_3', + 'SPZO_PROC_CPC_4', + 'SPZO_PROC_CPC_5', + 'SPZO_PROC_CPC_6', + 'SPZO_PROC_CPC_7', + 'SPZO_PROC_CPC_8' + ] + } + ] + }, + 'RMK' + ], + rowStartNum: 3, + fixedColumns: 1, + tabKey: 'septic_tank', + tabLabel: '정화조 현황' + }, + + // ======================================== + // Tab 3: 개인하수도 관리지역 지정공고 현황 + // ======================================== + { + columns: [ + // 행정구역 + { name: 'SIDO', fieldName: '시도', header: { text: '시도' } }, + { name: 'GUGUN', fieldName: '시군구', header: { text: '시군구' } }, + + // 개인하수도관리지역공고현황 + { name: 'MGMT_AR', fieldName: '공고지역(개소)', header: { text: '공고지역(개소)' } }, + { name: 'APPN_SCOPE', fieldName: '지정범위(㎢)', header: { text: '지정범위(㎢)' } }, + + // 정화조 + { name: 'STTY_CNT', fieldName: '개소수', header: { text: '개소수' } }, + { name: 'STTY_CPC', fieldName: '처리용량(인/일)', header: { text: '처리용량(인/일)' } }, + + // 오수시설 + { name: 'WRRTN_CNT', fieldName: '개소수', header: { text: '개소수' } }, + { name: 'WRRTN_CPC', fieldName: '처리용량(m³/일)', header: { text: '처리용량(m³/일)' } }, + + // 검증 필드 + { name: 'CHK_MGMT_AR', fieldName: 'CHK_MGMT_AR', header: { text: '' } }, + { name: 'CHK_APPN_SCOPE', fieldName: 'CHK_APPN_SCOPE', header: { text: '' } }, + { name: 'CHK_STTY_CNT', fieldName: 'CHK_STTY_CNT', header: { text: '' } }, + { name: 'CHK_STTY_CPC', fieldName: 'CHK_STTY_CPC', header: { text: '' } }, + { name: 'CHK_WRRTN_CNT', fieldName: 'CHK_WRRTN_CNT', header: { text: '' } }, + { name: 'CHK_WRRTN_CPC', fieldName: 'CHK_WRRTN_CPC', header: { text: '' } }, + + // 기타 + { name: 'RMK', fieldName: '비고', header: { text: '비고' } }, + { name: 'WRTER_OPINION', fieldName: '사용자의견', header: { text: '사용자의견' } }, + { name: 'CHCKER_OPINION', fieldName: '검토자의견', header: { text: '검토자의견' } }, + ], + columnLayout: [ + { + name: 'group_admin', + header: { text: '행정구역' }, + items: ['SIDO', 'GUGUN'] + }, + { + name: 'group_notice', + header: { text: '개인하수도관리지역공고현황 (하수도법제34조의2)' }, + items: [ + 'MGMT_AR', + 'APPN_SCOPE', + { + name: 'group_septic', + header: { text: '정화조' }, + items: [ + 'STTY_CNT', + 'STTY_CPC' + ] + }, + { + name: 'group_sewage', + header: { text: '오수시설' }, + items: [ + 'WRRTN_CNT', + 'WRRTN_CPC' + ] + } + ] + }, + 'RMK' + ], + rowStartNum: 3, + fixedColumns: 1, + tabKey: 'designated_area', + tabLabel: '개인하수도 관리지역 지정공고 현황' + } +]; \ No newline at end of file diff --git a/apps/st/src/components/util/column/SewerageFinanceMngColumn.ts b/apps/st/src/components/util/column/SewerageFinanceMngColumn.ts new file mode 100644 index 000000000..4d1c3cfa4 --- /dev/null +++ b/apps/st/src/components/util/column/SewerageFinanceMngColumn.ts @@ -0,0 +1,181 @@ +/** + * 하수도 통계 관리 > 09. 하수도 재정 + * 4개 Tab: 컬럼 통합 관리 + */ + +export const SewerageFinanceMngInfoList = [ + // ======================================== + // Tab 1: 하수도재정 결산 + // ======================================== + { + columns: [ + // 행정구역 + { name: 'SIDO', fieldName: '시도', header: { text: '시도' } }, + { name: 'GUGUN', fieldName: '시군구', header: { text: '시군구' } }, + + // 재정별 사업비 + { name: 'FNANC_WCT_SM', fieldName: '계', header: { text: '계' } }, + { name: 'NTNXPN', fieldName: '중앙정부지원액', header: { text: '중앙정부지원액' } }, + { name: 'LCLEXPNS', fieldName: '특·광역시, 도', header: { text: '특·광역시, 도' } }, + { name: 'LCLTY_CT', fieldName: '시,군,구 지자체', header: { text: '시,군,구 지자체' } }, + { name: 'SEWER_RNTFEE', fieldName: '하수도사용료', header: { text: '하수도사용료' } }, + { name: 'AMNTBRNCSR', fieldName: '원인자부담금', header: { text: '원인자부담금' } }, + { name: 'ETC_INCME', fieldName: '기타잡수입', header: { text: '기타잡수입' } }, + { name: 'CYFD_AMOUNT', fieldName: '이월액', header: { text: '이월액' } }, + + // 부채액 + { name: 'DEBT_AMOUNT', fieldName: '부채액(백만원)', header: { text: '부채액(백만원)' } }, + + // 용도별사업비 + { name: 'PRPOS_WCT_SM', fieldName: '계', header: { text: '계' } }, + + // 처리장 + { name: 'PRCPLT_SM', fieldName: '소계', header: { text: '소계' } }, + { name: 'PRCPLT_FCLTY', fieldName: '시설비', header: { text: '시설비' } }, + { name: 'PRCPLT_RPAIR', fieldName: '개보수비', header: { text: '개보수비' } }, + { name: 'PRCPLT_ORPNS', fieldName: '운영유지비', header: { text: '운영유지비' } }, + { name: 'PRCPLT_ETC', fieldName: '기타', header: { text: '기타' } }, + + // 하수관로 + { name: 'SEWAGE_SM', fieldName: '소계', header: { text: '소계' } }, + { name: 'SEWAGE_FCLTY', fieldName: '시설비', header: { text: '시설비' } }, + { name: 'SEWAGE_RPAIR', fieldName: '개보수비', header: { text: '개보수비' } }, + { name: 'SEWAGE_ORPNS', fieldName: '운영유지비', header: { text: '운영유지비' } }, + { name: 'SEWAGE_ETC', fieldName: '기타', header: { text: '기타' } }, + + // 하수저류시설 + { name: 'SWGE_STRGE_SM', fieldName: '소계', header: { text: '소계' } }, + { name: 'SWGE_STRGE_FCLTY', fieldName: '시설비', header: { text: '시설비' } }, + { name: 'SWGE_STRGE_RPAIR', fieldName: '개보수비', header: { text: '개보수비' } }, + { name: 'SWGE_STRGE_ORPNS', fieldName: '운영유지비', header: { text: '운영유지비' } }, + { name: 'SWGE_STRGE_ETC', fieldName: '기타', header: { text: '기타' } }, + + // 기타 + { name: 'ETC_SM', fieldName: '소계', header: { text: '소계' } }, + { name: 'ACDNT_CYFD_AMOUNT', fieldName: '사고이월액', header: { text: '사고이월액' } }, + { name: 'UNRCIV_AMOUNT', fieldName: '미수납액', header: { text: '미수납액' } }, + { name: 'ETC_AMOUNT', fieldName: '기타', header: { text: '기타' } }, + + // 비고 + { name: 'RMK', fieldName: '비고', header: { text: '비고' } }, + { name: 'CHCKER_OPINION', fieldName: '검토자의견', header: { text: '검토자의견' } }, + { name: 'WRTER_OPINION', fieldName: '사용자의견', header: { text: '사용자의견' } }, + + // 참조 필드 + { name: 'B_LEVY_AMOUNT', fieldName: 'B_LEVY_AMOUNT', header: { text: 'B_LEVY_AMOUNT' } }, + { name: 'C_LEVY_AMOUNT', fieldName: 'C_LEVY_AMOUNT', header: { text: 'C_LEVY_AMOUNT' } }, + { name: 'D_LEVY_AMOUNT', fieldName: 'D_LEVY_AMOUNT', header: { text: 'D_LEVY_AMOUNT' } }, + + // 검증 필드 + { name: 'CHK_FNANC_WCT_SM', fieldName: 'CHK_FNANC_WCT_SM', header: { text: 'CHK_FNANC_WCT_SM' } }, + { name: 'CHK_NTNXPN', fieldName: 'CHK_NTNXPN', header: { text: 'CHK_NTNXPN' } }, + { name: 'CHK_LCLEXPNS', fieldName: 'CHK_LCLEXPNS', header: { text: 'CHK_LCLEXPNS' } }, + { name: 'CHK_LCLTY_CT', fieldName: 'CHK_LCLTY_CT', header: { text: 'CHK_LCLTY_CT' } }, + { name: 'CHK_SEWER_RNTFEE', fieldName: 'CHK_SEWER_RNTFEE', header: { text: 'CHK_SEWER_RNTFEE' } }, + { name: 'CHK_AMNTBRNCSR', fieldName: 'CHK_AMNTBRNCSR', header: { text: 'CHK_AMNTBRNCSR' } }, + { name: 'CHK_ETC_INCME', fieldName: 'CHK_ETC_INCME', header: { text: 'CHK_ETC_INCME' } }, + { name: 'CHK_CYFD_AMOUNT', fieldName: 'CHK_CYFD_AMOUNT', header: { text: 'CHK_CYFD_AMOUNT' } }, + { name: 'CHK_DEBT_AMOUNT', fieldName: 'CHK_DEBT_AMOUNT', header: { text: 'CHK_DEBT_AMOUNT' } }, + { name: 'CHK_PRPOS_WCT_SM', fieldName: 'CHK_PRPOS_WCT_SM', header: { text: 'CHK_PRPOS_WCT_SM' } }, + { name: 'CHK_PRCPLT_SM', fieldName: 'CHK_PRCPLT_SM', header: { text: 'CHK_PRCPLT_SM' } }, + { name: 'CHK_PRCPLT_FCLTY', fieldName: 'CHK_PRCPLT_FCLTY', header: { text: 'CHK_PRCPLT_FCLTY' } }, + { name: 'CHK_PRCPLT_RPAIR', fieldName: 'CHK_PRCPLT_RPAIR', header: { text: 'CHK_PRCPLT_RPAIR' } }, + { name: 'CHK_PRCPLT_ORPNS', fieldName: 'CHK_PRCPLT_ORPNS', header: { text: 'CHK_PRCPLT_ORPNS' } }, + { name: 'CHK_PRCPLT_ETC', fieldName: 'CHK_PRCPLT_ETC', header: { text: 'CHK_PRCPLT_ETC' } }, + { name: 'CHK_SEWAGE_SM', fieldName: 'CHK_SEWAGE_SM', header: { text: 'CHK_SEWAGE_SM' } }, + { name: 'CHK_SEWAGE_FCLTY', fieldName: 'CHK_SEWAGE_FCLTY', header: { text: 'CHK_SEWAGE_FCLTY' } }, + { name: 'CHK_SEWAGE_RPAIR', fieldName: 'CHK_SEWAGE_RPAIR', header: { text: 'CHK_SEWAGE_RPAIR' } }, + { name: 'CHK_SEWAGE_ORPNS', fieldName: 'CHK_SEWAGE_ORPNS', header: { text: 'CHK_SEWAGE_ORPNS' } }, + { name: 'CHK_SEWAGE_ETC', fieldName: 'CHK_SEWAGE_ETC', header: { text: 'CHK_SEWAGE_ETC' } }, + { name: 'CHK_SWGE_STRGE_SM', fieldName: 'CHK_SWGE_STRGE_SM', header: { text: 'CHK_SWGE_STRGE_SM' } }, + { name: 'CHK_SWGE_STRGE_FCLTY', fieldName: 'CHK_SWGE_STRGE_FCLTY', header: { text: 'CHK_SWGE_STRGE_FCLTY' } }, + { name: 'CHK_SWGE_STRGE_RPAIR', fieldName: 'CHK_SWGE_STRGE_RPAIR', header: { text: 'CHK_SWGE_STRGE_RPAIR' } }, + { name: 'CHK_SWGE_STRGE_ORPNS', fieldName: 'CHK_SWGE_STRGE_ORPNS', header: { text: 'CHK_SWGE_STRGE_ORPNS' } }, + { name: 'CHK_SWGE_STRGE_ETC', fieldName: 'CHK_SWGE_STRGE_ETC', header: { text: 'CHK_SWGE_STRGE_ETC' } }, + { name: 'CHK_ACDNT_CYFD_AMOUNT', fieldName: 'CHK_ACDNT_CYFD_AMOUNT', header: { text: 'CHK_ACDNT_CYFD_AMOUNT' } }, + { name: 'CHK_UNRCIV_AMOUNT', fieldName: 'CHK_UNRCIV_AMOUNT', header: { text: 'CHK_UNRCIV_AMOUNT' } }, + { name: 'CHK_ETC_AMOUNT', fieldName: 'CHK_ETC_AMOUNT', header: { text: 'CHK_ETC_AMOUNT' } }, + { name: 'CHK_ETC_SM', fieldName: 'CHK_ETC_SM', header: { text: 'CHK_ETC_SM' } }, + ], + columnLayout: [ + { + name: 'group_admin', + header: { text: '행정구역' }, + items: ['SIDO', 'GUGUN'] + }, + { + name: 'group_finance', + header: { text: '재정별 사업비(백만원)' }, + items: [ + 'FNANC_WCT_SM', + 'NTNXPN', + { + name: 'group_local_finance', + header: { text: '지방비' }, + items: ['LCLEXPNS', 'LCLTY_CT'] + }, + 'SEWER_RNTFEE', + 'AMNTBRNCSR', + 'ETC_INCME', + 'CYFD_AMOUNT' + ] + }, + 'DEBT_AMOUNT', + { + name: 'group_purpose', + header: { text: '용도별사업비(백만원)' }, + items: [ + 'PRPOS_WCT_SM', + { + name: 'group_treatment', + header: { text: '처리장' }, + items: [ + 'PRCPLT_SM', + 'PRCPLT_FCLTY', + 'PRCPLT_RPAIR', + 'PRCPLT_ORPNS', + 'PRCPLT_ETC' + ] + }, + { + name: 'group_pipe', + header: { text: '하수관로' }, + items: [ + 'SEWAGE_SM', + 'SEWAGE_FCLTY', + 'SEWAGE_RPAIR', + 'SEWAGE_ORPNS', + 'SEWAGE_ETC' + ] + }, + { + name: 'group_storage', + header: { text: '하수저류시설' }, + items: [ + 'SWGE_STRGE_SM', + 'SWGE_STRGE_FCLTY', + 'SWGE_STRGE_RPAIR', + 'SWGE_STRGE_ORPNS', + 'SWGE_STRGE_ETC' + ] + }, + { + name: 'group_etc_purpose', + header: { text: '기타' }, + items: [ + 'ETC_SM', + 'ACDNT_CYFD_AMOUNT', + 'UNRCIV_AMOUNT', + 'ETC_AMOUNT' + ] + } + ] + }, + 'RMK' + ], + rowStartNum: 3, + fixedColumns: 1, + tabKey: 'SewerageFinanceMng_tab1', + tabLabel: '하수도재정 결산' + }, +]; \ No newline at end of file diff --git a/apps/st/src/components/util/column/WaterReuseMngColumn.ts b/apps/st/src/components/util/column/WaterReuseMngColumn.ts new file mode 100644 index 000000000..823f535b8 --- /dev/null +++ b/apps/st/src/components/util/column/WaterReuseMngColumn.ts @@ -0,0 +1,8 @@ +/** + * 하수도 통계 관리 > 10. 물 재이용 + * 5개 Tab: 컬럼 통합 관리 + */ +export const WaterReuseMngColumnInfoList = []; + // ======================================== + // Tab 1: 공공하수처리수 재이용 + // ======================================== \ No newline at end of file