diff --git a/apps/st/src/components/statistics/management/PrivateSewageFacilityMng.tsx b/apps/st/src/components/statistics/management/PrivateSewageFacilityMng.tsx index 04aa41ebb..e4bb9b310 100644 --- a/apps/st/src/components/statistics/management/PrivateSewageFacilityMng.tsx +++ b/apps/st/src/components/statistics/management/PrivateSewageFacilityMng.tsx @@ -6,12 +6,31 @@ import SaveButton from "@/components/button/SaveButton"; import SubmitExceptionButton from "@/components/button/SubmitExceptionButton"; import LastYearDataButton from "@/components/button/LastYearDataButton"; -import { PrivateSewageFacilityMngColumnInfoList } from "@/components/util/column/management/PrivateSewageFacilityMngColumn"; +import { SewageTreatmentFacilityStatusMngColumn } from "@/components/util/column/management/privateSewageFacility/SewageTreatmentFacilityStatusMngColumn" +import { SepticTankStatusMngColumn } from "@/components/util/column/management/privateSewageFacility/SepticTankStatusMngColumn" +import { PrivateSewageDesignationStatusMngColumn } from "@/components/util/column/management/privateSewageFacility/PrivateSewageDesignationStatusMngColumn" // 하수도 통계 관리 > 08. 개인하수처리시설 const PrivateSewageFacilityMng = () => { const [rowDataMap, setRowDataMap] = useState[]>>(new Map()); + // tab list + const PrivateSewageFacilityMngColumnList = [ + SewageTreatmentFacilityStatusMngColumn, + SepticTankStatusMngColumn, + PrivateSewageDesignationStatusMngColumn + ]; + + const submitExceptionFunc = () => { + // TODO: 예외 제출 로직 구현 + console.log('예외 제출 로직 실행'); + }; + + const lastYearDataFunc = () => { + // TODO: 지난연도 데이터 가져오기 로직 구현 + console.log('지난연도 데이터 가져오기 로직 실행'); + }; + const submitFunc = () => { // TODO: 제출 로직 구현 console.log('제출 로직 실행'); @@ -22,22 +41,9 @@ const PrivateSewageFacilityMng = () => { console.log('저장 로직 실행'); }; - const lastYearDataFunc = () => { - // TODO: 지난년도 데이터 가져오기 로직 구현 - console.log('지난년도 데이터 가져오기 로직 실행'); - }; - - const submitExceptionFunc = () => { - // TODO: 예외 제출 로직 구현 - console.log('예외 제출 로직 실행'); - }; - - - return ( <> -
@@ -45,7 +51,7 @@ const PrivateSewageFacilityMng = () => {
- + ); }; diff --git a/apps/st/src/components/util/column/management/PrivateSewageFacilityMngColumn.ts b/apps/st/src/components/util/column/management/PrivateSewageFacilityMngColumn.ts deleted file mode 100644 index 00b59ac55..000000000 --- a/apps/st/src/components/util/column/management/PrivateSewageFacilityMngColumn.ts +++ /dev/null @@ -1,408 +0,0 @@ -/** - * 하수도 통계 관리 > 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/management/privateSewageFacility/PrivateSewageDesignationStatusMngColumn.ts b/apps/st/src/components/util/column/management/privateSewageFacility/PrivateSewageDesignationStatusMngColumn.ts new file mode 100644 index 000000000..53c833c1d --- /dev/null +++ b/apps/st/src/components/util/column/management/privateSewageFacility/PrivateSewageDesignationStatusMngColumn.ts @@ -0,0 +1,71 @@ +import { footerInt, footerDecimal1 } from "@/components/util/grid/footerSummary"; + +// 하수도 통계 관리 > 08.개인하수처리시설 > tab 3. 개인하수도 관리지역 지정공고현황 +export const PrivateSewageDesignationStatusMngColumn = { + columns: [ + // 행정구역 + { name: 'SIDO', fieldName: '시도', header: { text: '시도' }, editable: false }, + { name: 'GUGUN', fieldName: '시군구', header: { text: '시군구' }, editable: false, footer: { text: '합계' } }, + + // 개인하수도관리지역공고현황 + { name: 'MGMT_AR', fieldName: '공고지역(개소)', header: { text: '공고지역(개소)' }, footer: footerInt }, + { name: 'APPN_SCOPE', fieldName: '지정범위(㎢)', header: { text: '지정범위(㎢)' }, footer: footerDecimal1 }, + + // 정화조 + { name: 'STTY_CNT', fieldName: '개소수', header: { text: '개소수' }, footer: footerInt }, + { name: 'STTY_CPC', fieldName: '처리용량(인/일)', header: { text: '처리용량(인/일)' }, footer: footerDecimal1 }, + + // 오수시설 + { name: 'WRRTN_CNT', fieldName: '개소수', header: { text: '개소수' }, footer: footerInt }, + { name: 'WRRTN_CPC', fieldName: '처리용량(m³/일)', header: { text: '처리용량(m³/일)' }, footer: footerDecimal1 }, + + // 검증 필드 + { 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: 'privateSewageDesignationStatusMng', + tabLabel: '개인하수도 관리지역 지정공고 현황' +}; \ No newline at end of file diff --git a/apps/st/src/components/util/column/management/privateSewageFacility/SepticTankStatusMngColumn.ts b/apps/st/src/components/util/column/management/privateSewageFacility/SepticTankStatusMngColumn.ts new file mode 100644 index 000000000..2eead5f4b --- /dev/null +++ b/apps/st/src/components/util/column/management/privateSewageFacility/SepticTankStatusMngColumn.ts @@ -0,0 +1,224 @@ +import { footerInt } from "@/components/util/grid/footerSummary"; + +// 하수도 통계 관리 > 08.개인하수처리시설 > tab 2. 정화조 현황 +export const SepticTankStatusMngColumn = { + columns: [ + // 행정구역 + { name: 'SIDO', fieldName: '시도', header: { text: '시도' }, editable: false }, + { name: 'GUGUN', fieldName: '시군구', header: { text: '시군구' }, editable: false, footer: { text: '합계' } }, + + // 총 시설 수 + { name: 'TOT_FCLTY_CNT', fieldName: '총 시설 수 (A+D)', header: { text: '총 시설 수 (A+D)' }, editable: false, footer: footerInt }, + + // 하수처리구역 내 > 총계 + { name: 'SPZI_SM', fieldName: '총계 A=(B+C)/2', header: { text: '총계 A=(B+C)/2' }, editable: false, footer: footerInt }, + + // 하수처리구역 내 > 처리방식별 + { name: 'SPZI_MTHD_SM', fieldName: '계(B)', header: { text: '계(B)' }, editable: false, footer: footerInt }, + { name: 'SPZI_ROT_NPFL_CNT', fieldName: '자연유하', header: { text: '자연유하' }, footer: footerInt }, + { name: 'SPZI_ROT_ENFCT_PUMP_1', fieldName: '강제펌핑식', header: { text: '강제펌핑식' }, footer: footerInt }, + { name: 'SPZI_WTROT_NPFL_CNT', fieldName: '살수형', header: { text: '살수형' }, footer: footerInt }, + { name: 'SPZI_TFM', fieldName: '폭기방법', header: { text: '폭기방법' }, footer: footerInt }, + { name: 'SPZI_ARTM', fieldName: '접촉폭기', header: { text: '접촉폭기' }, footer: footerInt }, + { name: 'SPZI_CTARM', fieldName: '기타', header: { text: '기타' }, footer: footerInt }, + + // 하수처리구역 내 > 처리용량별 + { name: 'SPZI_PROC_CPC_SM', fieldName: '계(C)', header: { text: '계(C)' }, editable: false, footer: footerInt }, + { name: 'SPZI_PROC_CPC_1', fieldName: '10인조이하', header: { text: '10인조이하' }, footer: footerInt }, + { name: 'SPZI_PROC_CPC_2', fieldName: '11~20', header: { text: '11~20' }, footer: footerInt }, + { name: 'SPZI_PROC_CPC_3', fieldName: '21~30', header: { text: '21~30' }, footer: footerInt }, + { name: 'SPZI_PROC_CPC_4', fieldName: '31~50', header: { text: '31~50' }, footer: footerInt }, + { name: 'SPZI_PROC_CPC_5', fieldName: '51~199', header: { text: '51~199' }, footer: footerInt }, + { name: 'SPZI_PROC_CPC_6', fieldName: '200~499', header: { text: '200~499' }, footer: footerInt }, + { name: 'SPZI_PROC_CPC_7', fieldName: '500~999', header: { text: '500~999' }, footer: footerInt }, + { name: 'SPZI_PROC_CPC_8', fieldName: '1,000 이상', header: { text: '1,000 이상' }, footer: footerInt }, + + // 하수처리구역 외 > 총계 + { name: 'SPZO_SM', fieldName: '총계 D=(E+F)/2', header: { text: '총계 D=(E+F)/2' }, editable: false, footer: footerInt }, + + // 하수처리구역 외 > 처리방식별 + { name: 'SPZO_MTHD_SM', fieldName: '계(E)', header: { text: '계(E)' }, editable: false, footer: footerInt }, + { name: 'SPZO_ROT_NPFL_CNT', fieldName: '자연유하', header: { text: '자연유하' }, footer: footerInt }, + { name: 'SPZO_ROT_ENFCT_PUMP_1', fieldName: '강제펌핑식', header: { text: '강제펌핑식' }, footer: footerInt }, + { name: 'SPZO_WTROT_NPFL_CNT', fieldName: '살수형', header: { text: '살수형' }, footer: footerInt }, + { name: 'SPZO_TFM', fieldName: '폭기방법', header: { text: '폭기방법' }, footer: footerInt }, + { name: 'SPZO_ARTM', fieldName: '접촉폭기', header: { text: '접촉폭기' }, footer: footerInt }, + { name: 'SPZO_CTARM', fieldName: '기타', header: { text: '기타' }, footer: footerInt }, + + // 하수처리구역 외 > 처리용량별 + { name: 'SPZO_PROC_CPC_SM', fieldName: '계(F)', header: { text: '계(F)' }, editable: false, footer: footerInt }, + { name: 'SPZO_PROC_CPC_1', fieldName: '10인조이하', header: { text: '10인조이하' }, footer: footerInt }, + { name: 'SPZO_PROC_CPC_2', fieldName: '11~20', header: { text: '11~20' }, footer: footerInt }, + { name: 'SPZO_PROC_CPC_3', fieldName: '21~30', header: { text: '21~30' }, footer: footerInt }, + { name: 'SPZO_PROC_CPC_4', fieldName: '31~50', header: { text: '31~50' }, footer: footerInt }, + { name: 'SPZO_PROC_CPC_5', fieldName: '51~199', header: { text: '51~199' }, footer: footerInt }, + { name: 'SPZO_PROC_CPC_6', fieldName: '200~499', header: { text: '200~499' }, footer: footerInt }, + { name: 'SPZO_PROC_CPC_7', fieldName: '500~999', header: { text: '500~999' }, footer: footerInt }, + { name: 'SPZO_PROC_CPC_8', fieldName: '1,000 이상', header: { text: '1,000 이상' }, footer: footerInt }, + + // 기타 + { 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: 4, + fixedColumns: 1, + tabKey: 'septicTankStatusMng', + tabLabel: '정화조 현황' +}; \ No newline at end of file diff --git a/apps/st/src/components/util/column/management/privateSewageFacility/SewageTreatmentFacilityStatusMngColumn.ts b/apps/st/src/components/util/column/management/privateSewageFacility/SewageTreatmentFacilityStatusMngColumn.ts new file mode 100644 index 000000000..7a10f309d --- /dev/null +++ b/apps/st/src/components/util/column/management/privateSewageFacility/SewageTreatmentFacilityStatusMngColumn.ts @@ -0,0 +1,104 @@ +import { footerInt } from "@/components/util/grid/footerSummary"; + +// 하수도 통계 관리 > 08.개인하수처리시설 > tab 1. 처리용량별 오수처리시설현황 +export const SewageTreatmentFacilityStatusMngColumn = { + columns: [ + // 행정구역 + { name: 'SIDO', fieldName: '시도', header: { text: '시도' }, editable: false }, + { name: 'GUGUN', fieldName: '시군구', header: { text: '시군구' }, editable: false, footer: { text: '합계' } }, + + // 총계 + { name: 'STTY_SM', fieldName: '총계', header: { text: '총계' }, editable: false, footer: footerInt }, + + // 오수처리시설 > 하수처리구역 내(m³/일) + { name: 'STTY_ZONE_INNER_SM', fieldName: '계', header: { text: '계' }, editable: false, footer: footerInt }, + { name: 'STTY_ZONE_INNER_2', fieldName: '2이하', header: { text: '2이하' }, footer: footerInt }, + { name: 'STTY_ZONE_INNER_3', fieldName: '3~10', header: { text: '3~10' }, footer: footerInt }, + { name: 'STTY_ZONE_INNER_11', fieldName: '11~20', header: { text: '11~20' }, footer: footerInt }, + { name: 'STTY_ZONE_INNER_21', fieldName: '21~50', header: { text: '21~50' }, footer: footerInt }, + { name: 'STTY_ZONE_INNER_51', fieldName: '51~100', header: { text: '51~100' }, footer: footerInt }, + { name: 'STTY_ZONE_INNER_101', fieldName: '101~500', header: { text: '101~500' }, footer: footerInt }, + { name: 'STTY_ZONE_INNER_501', fieldName: '501이상', header: { text: '501이상' }, footer: footerInt }, + + // 오수처리시설 > 하수처리구역 외(m³/일) + { name: 'STTY_ZONE_OUTER_SM', fieldName: '계', header: { text: '계' }, editable: false, footer: footerInt }, + { name: 'STTY_ZONE_OUTER_2', fieldName: '2이하', header: { text: '2이하' }, footer: footerInt }, + { name: 'STTY_ZONE_OUTER_3', fieldName: '3~10', header: { text: '3~10' }, footer: footerInt }, + { name: 'STTY_ZONE_OUTER_11', fieldName: '11~20', header: { text: '11~20' }, footer: footerInt }, + { name: 'STTY_ZONE_OUTER_21', fieldName: '21~50', header: { text: '21~50' }, footer: footerInt }, + { name: 'STTY_ZONE_OUTER_51', fieldName: '51~100', header: { text: '51~100' }, footer: footerInt }, + { name: 'STTY_ZONE_OUTER_101', fieldName: '101~500', header: { text: '101~500' }, footer: footerInt }, + { name: 'STTY_ZONE_OUTER_501', fieldName: '501이상', header: { text: '501이상' }, footer: footerInt }, + + // 기타 + { 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: 'sewageTreatmentFacilityStatusMng', + tabLabel: '처리용량별 오수처리시설 현황' +}; \ No newline at end of file