Merge remote-tracking branch 'origin/feature/management-screen-eunsun' into iipbs/st/dev

This commit is contained in:
2026-01-05 17:17:11 +09:00
23 changed files with 900 additions and 933 deletions
@@ -6,211 +6,14 @@ import SubmitExceptionButton from '@/components/button/SubmitExceptionButton';
import OperateDataButton from '@/components/button/OperateDataButton';
import { useState } from 'react';
import { PublicSewageFacilityMngColumn } from '@/components/util/column/management/PublicSewageFacilityMngColumn';
// 하수도 통계 관리 > 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 SubmitExceptionFunc = () => {
console.log('submitException');
// 예외제출 로직
};
const getOperateDataFunc = () => {
@@ -218,9 +21,14 @@ const PublicSewageFacilityMng = () => {
// 운영 데이터 가져오기
};
const SubmitExceptionFunc = () => {
console.log('submitException');
// 예외제출 로직
const submitFunc = () => {
console.log('submit');
// 제출 로직: 데이터 검증 후 제출 팝업 호출
};
const saveFunc = () => {
console.log('save');
// 저장 로직: 자동 계산 (합계 필드 계산) 후 저장
};
const [rowData, setRowData] = useState<Record<string, string | number>[]>([]);
@@ -229,12 +37,12 @@ const PublicSewageFacilityMng = () => {
<>
<SearchForm userMenual={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<OperateDataButton getOperateDataFunc={getOperateDataFunc} />
<SubmitExceptionButton SubmitExceptionFunc={SubmitExceptionFunc} />
<OperateDataButton getOperateDataFunc={getOperateDataFunc} />
<SubmitButton submitFunc={submitFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<DataGrid columnInfo={{ columns, columnLayout }} rowStartNum={3} fixedColumns={2} rowData={rowData} setRowData={setRowData} />
<DataGrid columnInfo={ PublicSewageFacilityMngColumn } rowStartNum={3} fixedColumns={2} rowData={rowData} setRowData={setRowData} />
</>
);
};
@@ -6,139 +6,19 @@ import LastYearDataButton from "@/components/button/LastYearDataButton";
import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
import { useState } from "react";
import { PumpingStationMngColumn } from "@/components/util/column/management/PumpingStationMngColumn"
// 하수도 통계 관리 > 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 SubmitExceptionFunc = () => {
console.log('submit exception');
// 예외 제출 로직
};
const getLastYearDataFunc = () => {
console.log('get last year data');
// 지난연도 데이터 가져오기 로직
};
const submitFunc = () => {
console.log('submit');
@@ -150,28 +30,18 @@ const PumpingStationMng = () => {
// 저장 로직
};
const getLastYearDataFunc = () => {
console.log('get last year data');
// 지난연도 데이터 가져오기 로직
};
const SubmitExceptionFunc = () => {
console.log('submit exception');
// 예외 제출 로직
};
const [rowData, setRowData] = useState<Record<string, string | number>[]>([]);
return (
<>
<SearchForm userMenual={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<SubmitExceptionButton SubmitExceptionFunc={SubmitExceptionFunc} />
<LastYearDataButton getLastYearDataFunc={getLastYearDataFunc} />
<SubmitButton submitFunc={submitFunc} />
<SaveButton saveFunc={saveFunc} />
<LastYearDataButton getLastYearDataFunc={getLastYearDataFunc} />
<SubmitExceptionButton SubmitExceptionFunc={SubmitExceptionFunc} />
</div>
<DataGrid columnInfo={{columns, columnLayout}} rowStartNum={3} isExcelImport={true} fixedColumns={3} rowData={rowData} setRowData={setRowData} />
<DataGrid columnInfo={PumpingStationMngColumn} rowStartNum={3} isExcelImport={true} fixedColumns={3} rowData={rowData} setRowData={setRowData} />
</>
);
};
@@ -6,8 +6,8 @@ import SaveButton from "@/components/button/SaveButton";
import LastYearDataButton from "@/components/button/LastYearDataButton";
import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
import { RepairStatusColumn } from "@/components/util/column/management/sewagePipeMaintain/RepairStatus";
import { PipeDredgingStatusColumn } from "@/components/util/column/management/sewagePipeMaintain/PipeDredgingStatus";
import { RepairStatusMngColumn } from "@/components/util/column/management/sewagePipeMaintain/RepairStatusMngColumn";
import { PipeDredgingStatusMngColumn } from "@/components/util/column/management/sewagePipeMaintain/PipeDredgingStatusMngColumn";
// 하수도 통계 관리 > 03. 하수관로 유지관리
const SewagePipeMaintainMng = () => {
@@ -15,9 +15,9 @@ const SewagePipeMaintainMng = () => {
const [rowDataMap, setRowDataMap] = useState<Map<string, Record<string, string | number>[]>>(new Map());
// tab List
const SewagePipeMaintainMngColumnInfoList = [
RepairStatusColumn,
PipeDredgingStatusColumn
const SewagePipeMaintainMngColumnList = [
RepairStatusMngColumn,
PipeDredgingStatusMngColumn
];
const SubmitExceptionFunc = () => {
@@ -51,7 +51,7 @@ const SewagePipeMaintainMng = () => {
<SaveButton saveFunc={saveFunc} />
</div>
<TabDataGrid columnInfo={SewagePipeMaintainMngColumnInfoList} rowDataMap={rowDataMap} setRowDataMap={setRowDataMap} />
<TabDataGrid columnInfo={SewagePipeMaintainMngColumnList} rowDataMap={rowDataMap} setRowDataMap={setRowDataMap} />
</>
);
};
@@ -6,30 +6,30 @@ import SaveButton from "@/components/button/SaveButton";
import LastYearDataButton from "@/components/button/LastYearDataButton";
import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
import { RegionalFacilityColumn } from "@/components/util/column/management/sewagePipe/RegionalFacility";
import { FacilityInstallColumn } from "@/components/util/column/management/sewagePipe/FacilityInstall";
import { PipeTypeColumn } from "@/components/util/column/management/sewagePipe/PipeTypeStatus";
import { PipeDiameterColumn } from "@/components/util/column/management/sewagePipe/PipeDiameterStatus";
import { ManholeStatusColumn } from "@/components/util/column/management/sewagePipe/ManholeStatus";
import {
AdminAreaConnectionColumn,
TreatmentPlantConnectionColumn
} from "@/components/util/column/management/sewagePipe/ConnectionStatus";
import { RegionalFacilityStatusMngColumn } from "@/components/util/column/management/sewagePipe/RegionalFacilityStatusMngColumn";
import { FacilityInstallStatusMngColumn } from "@/components/util/column/management/sewagePipe/FacilityInstallStatusMngColumn";
import { PipeTypeStatusMngColumn } from "@/components/util/column/management/sewagePipe/PipeTypeStatusMngColumn";
import { PipeDiameterStatusMngColumn } from "@/components/util/column/management/sewagePipe/PipeDiameterStatusMngColumn";
import { ManholeStatusMngColumn } from "@/components/util/column/management/sewagePipe/ManholeStatusMngColumn";
import {
AdminAreaConnectionMngColumn,
TreatmentPlantConnectionMngColumn
} from "@/components/util/column/management/sewagePipe/ConnectionStatusMngColumn";
// 하수도 통계 관리 > 02. 하수관로
const SewagePipeMng = () => {
const [rowDataMap, setRowDataMap] = useState<Map<string, Record<string, string | number>[]>>(new Map());
// tab List
const SewagePipeMngColumnInfoList = [
RegionalFacilityColumn,
FacilityInstallColumn,
PipeTypeColumn,
PipeDiameterColumn,
ManholeStatusColumn,
const SewagePipeMngColumnList = [
RegionalFacilityStatusMngColumn,
FacilityInstallStatusMngColumn,
PipeTypeStatusMngColumn,
PipeDiameterStatusMngColumn,
ManholeStatusMngColumn,
// 일단 각 tab으로 구현
TreatmentPlantConnectionColumn,
AdminAreaConnectionColumn
AdminAreaConnectionMngColumn,
TreatmentPlantConnectionMngColumn
];
const SubmitExceptionFunc = () => {
@@ -63,7 +63,7 @@ const SewagePipeMng = () => {
<SaveButton saveFunc={saveFunc} />
</div>
</div>
<TabDataGrid columnInfo={SewagePipeMngColumnInfoList} rowDataMap={rowDataMap} setRowDataMap={setRowDataMap} />
<TabDataGrid columnInfo={SewagePipeMngColumnList} rowDataMap={rowDataMap} setRowDataMap={setRowDataMap} />
</>
);
};
@@ -6,11 +6,28 @@ import SaveButton from "@/components/button/SaveButton";
import LastYearDataButton from "@/components/button/LastYearDataButton";
import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
import { SewageReservoirPumpMngColumnInfoList } from "@/components/util/column/management/SewageReservoirPumpMngColumn";
import { SewageReservoirMngColumn } from "@/components/util/column/management/sewageReservoirPump/SewageReservoirMngColumn";
import { RainfallPumpStationMngColumn } from "@/components/util/column/management/sewageReservoirPump/RainfallPumpStationMngColumn";
// 하수도 통계 관리 > 04. 하수저류 시설 및 빗물 펌프장
const SewageReservoirPumpMng = () => {
const [rowDataMap, setRowDataMap] = useState<Map<string, Record<string, string | number>[]>>(new Map());
// tab List
const SewageReservoirPumpMngColumnList = [
SewageReservoirMngColumn,
RainfallPumpStationMngColumn
];
const submitExceptionFunc = () => {
console.log('submit exception');
// 예외 제출 로직
};
const getLastYearDataFunc = () => {
console.log('get last year data');
// 지난연도 데이터 가져오기 로직
};
const submitFunc = () => {
console.log('submit');
@@ -22,26 +39,16 @@ const SewageReservoirPumpMng = () => {
// 저장 로직
};
const getLastYearDataFunc = () => {
console.log('get last year data');
// 지난연도 데이터 가져오기 로직
};
const submitExceptionFunc = () => {
console.log('submit exception');
// 예외 제출 로직
};
return (
<>
<SearchForm userMenual={true} />
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<SubmitExceptionButton SubmitExceptionFunc={submitExceptionFunc} />
<LastYearDataButton getLastYearDataFunc={getLastYearDataFunc} />
<SaveButton saveFunc={saveFunc} />
<SubmitButton submitFunc={submitFunc} />
<SaveButton saveFunc={saveFunc} />
</div>
<TabDataGrid columnInfo={SewageReservoirPumpMngColumnInfoList} rowDataMap={rowDataMap} setRowDataMap={setRowDataMap} />
<TabDataGrid columnInfo={SewageReservoirPumpMngColumnList} rowDataMap={rowDataMap} setRowDataMap={setRowDataMap} />
</>
);
};
@@ -7,7 +7,7 @@ import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
import { useState } from "react";
import { SeweragePenetrationRateMngColumnInfo } from "@/components/util/column/management/SeweragePenetrationRateMngColumn";
import { SeweragePenetrationRateMngColumn } from "@/components/util/column/management/SeweragePenetrationRateMngColumn";
// 하수도 통계 관리 > 01. 하수도 보급률
const SeweragePenetrationRateMng = () => {
@@ -45,10 +45,10 @@ const SeweragePenetrationRateMng = () => {
<SaveButton saveFunc={saveFunc} />
</div>
</div>
<DataGrid
columnInfo={SeweragePenetrationRateMngColumnInfo}
rowStartNum={3}
isExcelImport={true}
<DataGrid
columnInfo={SeweragePenetrationRateMngColumn}
rowStartNum={3}
isExcelImport={true}
fixedColumns={1}
rowData={rowData}
setRowData={setRowData}
@@ -8,46 +8,21 @@ import LastYearDataButton from "@/components/button/LastYearDataButton";
import OperateDataButton from "@/components/button/OperateDataButton";
import { useState } from "react";
import { StatsInputSatusMngColumn } from "@/components/util/column/management/StatsInputSatusMngColumn";
// 하수도 통계 관리 > 00. 통계 입력 현황
const StatsInputSatusMng = () => {
const 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: '반려 사유' } },
];
const columnLayout = [
'sido',
'sgg',
'menu_nm',
{
name: 'groupA',
hideChildHeaders: false,
header: { text: '하수도사업자' },
items: columns.filter((c) => ['sido', 'sgg', 'menu_nm'].includes(c.name) === false).map((m) => m.name),
},
];
const approveFunc = () => {
console.log('appoved');
// 승인 요청 로직
};
const rejectFunc = () => {
console.log('reject');
// 보완 요청 로직
};
const approveFunc = () => {
console.log('appoved');
// 승인 요청 로직
};
const returnFunc = () => {
console.log('return');
// 반려 로직
@@ -77,7 +52,7 @@ const StatsInputSatusMng = () => {
<ApproveButton approveFunc={approveFunc} />
</div>
</div>
<DataGrid columnInfo={{ columns, columnLayout }} rowStartNum={2} fixedColumns={3} rowData={rowData} setRowData={setRowData} />
<DataGrid columnInfo={ StatsInputSatusMngColumn } rowStartNum={2} fixedColumns={3} rowData={rowData} setRowData={setRowData} />
</>
);
};
@@ -0,0 +1,202 @@
import { footerInt, footerDecimal1, footerDecimal3 } from "@/components/util/grid/footerSummary";
/**
* 하수도 통계 관리 > 06. 공공하수처리시설
* 단일 Tab
*/
export const PublicSewageFacilityMngColumn = {
columns: [
// 행정구역
{ name: 'sidoCd', fieldName: '시도', header: { text: '시도' }, editable: false },
{ name: 'gugun', fieldName: '구군', header: { text: '구군' }, editable: false },
// 시설명
{ name: 'bscFctNm', fieldName: '시설명(500m³/일 이상/미만)', header: { text: '시설명(500m³/일 이상/미만)' }, editable: false },
// 소재지
{ name: 'addr', fieldName: '소재지', header: { text: '소재지' }, editable: false },
// 시설용량
{ name: 'fctCpc', fieldName: '시설용량(500m³/일 이상/미만)', header: { text: '시설용량(500m³/일 이상/미만)' }, editable: false },
// 시설용량 - (m³/일)
{ name: 'fctCpc1', fieldName: '물리적', header: { text: '물리적' }, editable: false, footer: footerDecimal1 },
{ name: 'fctCpc2', fieldName: '생물학적', header: { text: '생물학적' }, editable: false, footer: footerDecimal1 },
{ name: 'fctCpc3', fieldName: '고도', header: { text: '고도' }, editable: false, footer: footerDecimal1 },
// 유입하수량
{ name: 'totInflAmntAve', fieldName: '유입하수량(500m³/일 이상/미만)', header: { text: '유입하수량(500m³/일 이상/미만)' }, editable: false, footer: footerDecimal1 },
// 유입하수량 - (m³/일)
{ name: 'pInflAmntAve', fieldName: '물리적', header: { text: '물리적' }, footer: footerDecimal1 },
{ name: 'oInflAmntAve', fieldName: '생물학적', header: { text: '생물학적' }, footer: footerDecimal1 },
{ name: 'aInflAmntAve', fieldName: '고도', header: { text: '고도' }, footer: footerDecimal1 },
// 방류량
{ name: 'totTputAve', fieldName: '방류량(500m³/일 이상/미만)', header: { text: '방류량(500m³/일 이상/미만)' }, editable: false, footer: footerDecimal1 },
// 방류량 - (m³/일)
{ name: 'pTputAve', fieldName: '물리적', header: { text: '물리적' }, footer: footerDecimal1 },
{ name: 'oTputAve', fieldName: '생물학적', header: { text: '생물학적' }, footer: footerDecimal1 },
{ name: 'aTputAve', fieldName: '고도', header: { text: '고도' }, footer: footerDecimal1 },
// 수질
{ name: 'inflAssctBfrWqltBod', fieldName: '유입BOD', header: { text: '유입BOD' }, editable: false, footer: footerDecimal1 },
{ name: 'efflWqltBod', fieldName: '방류BOD', header: { text: '방류BOD' }, editable: false, footer: footerDecimal1 },
{ name: 'inflAssctBfrWqltToc', fieldName: '유입TOC', header: { text: '유입TOC' }, editable: false, footer: footerDecimal1 },
{ name: 'efflWqltToc', fieldName: '방류TOC', header: { text: '방류TOC' }, editable: false, footer: footerDecimal1 },
{ name: 'inflAssctBfrWqltSs', fieldName: '유입SS', header: { text: '유입SS' }, editable: false, footer: footerDecimal1 },
{ name: 'efflWqltSs', fieldName: '방류SS', header: { text: '방류SS' }, editable: false, footer: footerDecimal1 },
{ name: 'inflAssctBfrWqltTn', fieldName: '유입T-N', header: { text: '유입T-N' }, editable: false, footer: footerDecimal3 },
{ name: 'efflWqltTn', fieldName: '방류T-N', header: { text: '방류T-N' }, editable: false, footer: footerDecimal3 },
{ name: 'inflAssctBfrWqltTp', fieldName: '유입T-P', header: { text: '유입T-P' }, editable: false, footer: footerDecimal3 },
{ name: 'efflWqltTp', fieldName: '방류T-P', header: { text: '방류T-P' }, editable: false, footer: footerDecimal3 },
{ name: 'inflAssctBfrWqltClfgrpcnt', fieldName: '유입총대장균군수', header: { text: '유입총대장균군수' }, editable: false, footer: footerDecimal1 },
{ name: 'efflWqltClfgrpcnt', fieldName: '방류총대장균군수', header: { text: '방류총대장균군수' }, editable: false, footer: footerDecimal1 },
// 처리특성
{ name: 'tmEfficiency', fieldName: '처리효율(%)', header: { text: '처리효율(%)' }, editable: false, footer: footerDecimal1 },
{ name: 'pcLoad', fieldName: '처리부하량(kgBOD/D)', header: { text: '처리부하량(kgBOD/D)' }, editable: false, footer: footerDecimal1 },
{ name: 'trtFrfHanNm', fieldName: '처리방법', header: { text: '처리방법' }, editable: false },
// 연계처리량
{ name: 'excretionsTot', fieldName: '분뇨', header: { text: '분뇨' }, editable: false, footer: footerDecimal1 },
{ name: 'stkrsngWstwtrTot', fieldName: '축산', header: { text: '축산' }, editable: false, footer: footerDecimal1 },
{ name: 'lchtTot', fieldName: '침출수', header: { text: '침출수' }, editable: false, footer: footerDecimal1 },
{ name: 'etcTot', fieldName: '기타', header: { text: '기타' }, editable: false, footer: footerDecimal1 },
// 시설정보
{ name: 'tel', fieldName: '전화번호', header: { text: '전화번호' }, editable: false },
{ name: 'rnDt', fieldName: '준공일', header: { text: '준공일' }, editable: false },
{ name: 'compDt', fieldName: '가동개시일', header: { text: '가동개시일' }, editable: false },
{ name: 'tot', fieldName: '사업비', header: { text: '사업비' }, editable: false },
// 방류수 소독방법
{ name: 'dsfctNm', fieldName: '방류수 소독방법', header: { text: '방류수 소독방법' }, editable: false },
// 방류수역
{ name: 'wbsnNm', fieldName: '수계', header: { text: '수계' }, editable: false },
{ name: 'rvNm', fieldName: '지류', header: { text: '지류' }, editable: false },
{ name: 'mdmbsn', fieldName: '세부단위구역', header: { text: '세부단위구역' }, editable: false },
{ name: 'efflWqltStndrdNm', fieldName: '지역구분', header: { text: '지역구분' }, editable: false },
{ name: 'lgbsn', fieldName: '중권역', header: { text: '중권역' }, editable: false },
{ name: 'lgbsnBod', fieldName: '목표수질(BOD)', header: { text: '목표수질(BOD)' }, editable: false },
// 에너지
{ name: 'toeRt', fieldName: '에너지자립률(%)', header: { text: '에너지자립률(%)' }, editable: false },
{ name: 'toeSum', fieldName: '계(TOE)', header: { text: '계(TOE)' }, editable: false, footer: footerDecimal1 },
{ name: 'elcpwAmnt', fieldName: '총 전력사용량(kWh)', header: { text: '총 전력사용량(kWh)' }, editable: false, footer: footerDecimal1 },
{ name: 'toeQnty', fieldName: '자체 에너지사용량(TOE)', header: { text: '자체 에너지사용량(TOE)' }, editable: false, footer: footerDecimal1 },
// CO2
{ name: 'co2Emissions', fieldName: '하수처리량당 CO2배출량(kgCO2/m³)', header: { text: '하수처리량당 CO2배출량(kgCO2/m³)' }, editable: false, footer: footerDecimal3 },
// 운영정보
{ name: 'oprClsNm', fieldName: '운영주체(자체/공기업/민간대행)', header: { text: '운영주체(자체/공기업/민간대행)' }, editable: false },
// 위탁현황
{ name: 'trstOprEtpNm', fieldName: '위탁업체명', header: { text: '위탁업체명' } },
{ name: 'yrstpTrstCst', fieldName: '위탁비용(백만원/년)', header: { text: '위탁비용(백만원/년)' }, footer: footerDecimal1 },
{ name: 'trstOprDt', fieldName: '위탁계약기간(yyyy-mm-dd~yyyy-mm-dd)', header: { text: '위탁계약기간(yyyy-mm-dd~yyyy-mm-dd)' } },
// 기타
{ name: 'cntrTrtFctNm', fieldName: '중심처리시설', header: { text: '중심처리시설' } },
{ name: 'totWtrQrm', fieldName: '직원총수(명)', header: { text: '직원총수(명)' }, footer: footerInt },
{ name: 'safeAcdntCo', fieldName: '안전사고건수', header: { text: '안전사고건수' } },
{ name: 'rmk', fieldName: '비고', header: { text: '비고' } },
],
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',
]
};
@@ -0,0 +1,136 @@
import { footerInt, footerDecimal1, footerDecimal3 } from "@/components/util/grid/footerSummary";
/**
* 하수도 통계 관리 > 05. 펌프장
* 단일 Tab
*/
export const PumpingStationMngColumn = {
columns: [
// 행정구역
{ name: 'sido', fieldName: '시도', header: { text: '시도' }, editable: false },
{ name: 'sgg', fieldName: '시군구', header: { text: '시군구' }, editable: false },
// 기본 정보
{ 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: '계획배수면적(㎢)' }, footer: footerDecimal3 },
{ name: 'fairWeatherFlow', fieldName: '청천시(A)', header: { text: '청천시(A)' }, footer: footerDecimal1 },
{ name: 'rainyWeatherFlow', fieldName: '우천시(B)', header: { text: '우천시(B)' }, footer: footerDecimal1 },
{ name: 'rainwaterFlow', fieldName: '우수량(B-A)', header: { text: '우수량(B-A)' }, footer: footerDecimal1, editable: false },
// 배수능력
{ name: 'totalPumpCapacity', fieldName: '총양수량(m³/min)', header: { text: '총양수량(m³/min)' }, footer: footerDecimal1, editable: false },
// 배수능력 - 오수펌프(1)
{ name: 'sewagePump1Diameter', fieldName: '오수펌프(1) 구경(mm)', header: { text: '구경(mm)' }, footer: footerInt },
{ name: 'sewagePump1Capacity', fieldName: '오수펌프(1) 대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1 },
{ name: 'sewagePump1Count', fieldName: '오수펌프(1) 펌프대수', header: { text: '펌프대수' }, footer: footerInt },
{ name: 'sewagePump1Reserve', fieldName: '오수펌프(1) 예비펌프대수', header: { text: '예비펌프대수' }, footer: footerInt },
// 배수능력 - 오수펌프(2)
{ name: 'sewagePump2Diameter', fieldName: '오수펌프(2) 구경(mm)', header: { text: '구경(mm)' }, footer: footerInt },
{ name: 'sewagePump2Capacity', fieldName: '오수펌프(2) 대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1 },
{ name: 'sewagePump2Count', fieldName: '오수펌프(2) 펌프대수', header: { text: '펌프대수' }, footer: footerInt },
{ name: 'sewagePump2Reserve', fieldName: '오수펌프(2) 예비펌프대수', header: { text: '예비펌프대수' }, footer: footerInt },
// 배수능력 - 오수펌프(3)
{ name: 'sewagePump3Diameter', fieldName: '오수펌프(3) 구경(mm)', header: { text: '구경(mm)' }, footer: footerInt },
{ name: 'sewagePump3Capacity', fieldName: '오수펌프(3) 대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1 },
{ name: 'sewagePump3Count', fieldName: '오수펌프(3) 펌프대수', header: { text: '펌프대수' }, footer: footerInt },
{ name: 'sewagePump3Reserve', fieldName: '오수펌프(3) 예비펌프대수', header: { text: '예비펌프대수' }, footer: footerInt },
// 배수능력 - 우수펌프(1)
{ name: 'rainwaterPump1Diameter', fieldName: '우수펌프(1) 구경(mm)', header: { text: '구경(mm)' }, footer: footerInt },
{ name: 'rainwaterPump1Capacity', fieldName: '우수펌프(1) 대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1 },
{ name: 'rainwaterPump1Count', fieldName: '우수펌프(1) 펌프대수', header: { text: '펌프대수' }, footer: footerInt },
{ name: 'rainwaterPump1Reserve', fieldName: '우수펌프(1) 예비펌프대수', header: { text: '예비펌프대수' }, footer: footerInt },
// 배수능력 - 우수펌프(2)
{ name: 'rainwaterPump2Diameter', fieldName: '우수펌프(2) 구경(mm)', header: { text: '구경(mm)' }, footer: footerInt },
{ name: 'rainwaterPump2Capacity', fieldName: '우수펌프(2) 대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1 },
{ name: 'rainwaterPump2Count', fieldName: '우수펌프(2) 펌프대수', header: { text: '펌프대수' }, footer: footerInt },
{ name: 'rainwaterPump2Reserve', fieldName: '우수펌프(2) 예비펌프대수', header: { text: '예비펌프대수' }, footer: footerInt },
// 배수능력 - 우수펌프(3)
{ name: 'rainwaterPump3Diameter', fieldName: '우수펌프(3) 구경(mm)', header: { text: '구경(mm)' }, footer: footerInt },
{ name: 'rainwaterPump3Capacity', fieldName: '우수펌프(3) 대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1 },
{ name: 'rainwaterPump3Count', fieldName: '우수펌프(3) 펌프대수', header: { text: '펌프대수' }, footer: footerInt },
{ name: 'rainwaterPump3Reserve', fieldName: '우수펌프(3) 예비펌프대수', header: { text: '예비펌프대수' }, footer: footerInt },
// 기타
{ name: 'annualPowerUsage', fieldName: '연간전력사용량(kWh/년)', header: { text: '연간전력사용량(kWh/년)' }, footer: footerDecimal1 },
{ name: 'remarks', fieldName: '비고', header: { text: '비고' } },
],
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',
]
};
@@ -1,8 +0,0 @@
/**
* 하수도 통계 관리 > 3.하수관로 유지 관리
* 2개 Tab : 컬럼 통합 관리
*/
export const SewagePipeMaintainMngColumnInfoList = [
];
@@ -1,481 +0,0 @@
/**
* 하수도 통계 관리 > 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: '빗물펌프장',
},
];
@@ -4,7 +4,7 @@ import { ValueType } from "realgrid";
* 하수도 통계 관리 > 01. 하수도 보급률
* 단일 Tab
*/
export const SeweragePenetrationRateMngColumnInfo = {
export const SeweragePenetrationRateMngColumn = {
columns: [
// [기본정보] 행정구역 - 수정 불가
{ name: 'sido', fieldName: '시도', header: { text: '시도' }, editable: false },
@@ -0,0 +1,44 @@
/**
* 하수도 통계 관리 > 00. 통계 입력 현황
* 단일 Tab
*/
export const StatsInputSatusMngColumn = {
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'
],
},
]
};
@@ -1,7 +1,7 @@
// 하수도 통계 관리 > 02.하수관로 > tab 6. 시설별 현황관리
// Tab 6-1: 행정구역별 연결 현황 (우측 그리드)
export const AdminAreaConnectionColumn = {
export const AdminAreaConnectionMngColumn = {
columns: [
// 행정구역
{ name: 'sido', fieldName: '시도', header: { text: '시도' } },
@@ -26,12 +26,12 @@ export const AdminAreaConnectionColumn = {
],
rowStartNum: 2,
fixedColumns: 1,
tabKey: 'administrativeAreaConnection',
tabKey: 'adminAreaConnectionMng',
tabLabel: '행정구역별 연결 현황'
};
// Tab 6-2: 하수처리장별 연결 현황 (좌측 그리드)
export const TreatmentPlantConnectionColumn = {
export const TreatmentPlantConnectionMngColumn = {
columns: [
// 하수처리장 정보
{ name: 'bscFctNm', fieldName: '하수처리장명', header: { text: '하수처리장명' } },
@@ -53,6 +53,6 @@ export const TreatmentPlantConnectionColumn = {
],
rowStartNum: 1,
fixedColumns: 1,
tabKey: 'treatmentPlantConnection',
tabKey: 'treatmentPlantConnectionMng',
tabLabel: '하수처리장별 연결 현황'
};
@@ -2,7 +2,7 @@ import { footerInt, footerDecimal2, footerDecimal3 } from "@/components/util/gri
// 하수도 통계 관리 > 02.하수관로 > tab 2. 시설별 설치현황
export const FacilityInstallColumn = {
export const FacilityInstallStatusMngColumn = {
columns: [
// 행정구역
{ name: 'sido', fieldName: '시도', header: { text: '시도' }, editable: false },
@@ -136,6 +136,6 @@ export const FacilityInstallColumn = {
],
rowStartNum: 4,
fixedColumns: 3,
tabKey: 'facilityInstallationStatus',
tabKey: 'facilityInstallationStatusMng',
tabLabel: '시설별 설치현황'
};
@@ -2,7 +2,7 @@ import { footerInt } from "@/components/util/grid/footerSummary";
// 하수도 통계 관리 > 02.하수관로 > tab 5. 맨홀 현황
export const ManholeStatusColumn = {
export const ManholeStatusMngColumn = {
columns: [
// 행정구역
{ name: 'a1', fieldName: '시도', header: { text: '시도' }, editable: false },
@@ -325,6 +325,6 @@ export const ManholeStatusColumn = {
],
rowStartNum: 3,
fixedColumns: 2,
tabKey: 'manholeStatus',
tabKey: 'manholeStatusMng',
tabLabel: '맨홀 현황'
};
@@ -2,7 +2,7 @@ import { footerDecimal2 } from "@/components/util/grid/footerSummary";
// 하수도 통계 관리 > 02.하수관로 > tab 4. 관경별 현황
export const PipeDiameterColumn = {
export const PipeDiameterStatusMngColumn = {
columns: [
// 행정구역
{ name: 'sido', fieldName: '시도', header: { text: '시도' }, editable: false },
@@ -57,6 +57,6 @@ export const PipeDiameterColumn = {
],
rowStartNum: 2,
fixedColumns: 1,
tabKey: 'pipeDiameterStatus',
tabKey: 'pipeDiameterStatusMng',
tabLabel: '관경별 현황'
};
@@ -2,7 +2,7 @@ import { footerDecimal2 } from "@/components/util/grid/footerSummary";
// 하수도 통계 관리 > 02.하수관로 > tab 3. 관종별 현황
export const PipeTypeColumn = {
export const PipeTypeStatusMngColumn = {
columns: [
// 행정구역
{ name: 'sido', fieldName: '시도', header: { text: '시도' }, editable: false },
@@ -371,6 +371,6 @@ export const PipeTypeColumn = {
],
rowStartNum: 2,
fixedColumns: 2,
tabKey: 'pipeTypeStatus',
tabKey: 'pipeTypeStatusMng',
tabLabel: '관종별 현황'
};
@@ -2,7 +2,7 @@ import { footerInt, footerDecimal1, footerDecimal2, footerDecimal3 } from "@/com
// 하수도 통계 관리 > 02.하수관로 > tab 1. 지역별 시설현황
export const RegionalFacilityColumn = {
export const RegionalFacilityStatusMngColumn = {
columns: [
// 행정구역
{ name: 'sido', fieldName: '시도', header: { text: '시도' }, editable: false },
@@ -153,6 +153,6 @@ export const RegionalFacilityColumn = {
],
rowStartNum: 4,
fixedColumns: 1,
tabKey: 'regionalFacilityStatus',
tabKey: 'regionalFacilityStatusMng',
tabLabel: '지역별 시설현황'
};
@@ -1,7 +1,7 @@
import { footerInt, footerDecimal1, footerDecimal2 } from "@/components/util/grid/footerSummary";
// 하수도 통계 관리 > 03.하수관로 유지관리 > tab 2. 관로준설
export const PipeDredgingStatusColumn = {
export const PipeDredgingStatusMngColumn = {
columns: [
// 행정구역
{ name: 'SIDO', fieldName: '시도', header: { text: '시도' }, editable: false },
@@ -72,6 +72,6 @@ export const PipeDredgingStatusColumn = {
],
rowStartNum: 4,
fixedColumns: 1,
tabKey: 'pipeDredgingStatus',
tabKey: 'pipeDredgingStatusMng',
tabLabel: '관로준설'
};
@@ -1,7 +1,7 @@
import { footerInt, footerDecimal1 } from "@/components/util/grid/footerSummary";
// 하수도 통계 관리 > 03.하수관로 유지관리 > tab 1. 개보수
export const RepairStatusColumn = {
export const RepairStatusMngColumn = {
columns: [
// 행정구역
{ name: 'SIDO', fieldName: '시도', header: { text: '시도' }, editable: false },
@@ -103,6 +103,6 @@ export const RepairStatusColumn = {
],
rowStartNum: 4,
fixedColumns: 1,
tabKey: 'repairStatus',
tabKey: 'repairStatusMng',
tabLabel: '개보수'
};
@@ -0,0 +1,211 @@
import { footerInt, footerDecimal1 } from "@/components/util/grid/footerSummary";
// 하수도 통계 관리 > 04.하수저류시설 및 빗물펌프장 > tab 2: 빗물펌프장
export const RainfallPumpStationMngColumn = {
columns: [
// Hidden Columns : 시스템 관리를 위한 필수 키값
{ name: 'sidoCd', fieldName: '시도코드', header: { text: '시도코드' }, hidden: true },
{ name: 'adstDstrCd', fieldName: '행정구역코드', header: { text: '행정구역코드' }, hidden: true },
{ name: 'adstCd', fieldName: '행정코드', header: { text: '행정코드' }, hidden: true },
{ name: 'swgeStrgeFctSeq', fieldName: '시설SEQ', header: { text: '시설SEQ' }, hidden: true },
{ name: 'yr', fieldName: '년도', header: { text: '년도' }, hidden: true },
{ name: 'odr', fieldName: '차수', header: { text: '차수' }, hidden: true },
{ name: 'bsnmCd', fieldName: '사업자코드', header: { text: '사업자코드' }, hidden: true },
// Visible Columns
// 행정구역
{ name: 'sido', fieldName: '시도', header: { text: '시도' }, editable: false },
{ name: 'gugun', fieldName: '시군구', header: { text: '시군구' }, footer: { text: '합계' }, editable: false },
// 시설명
{ name: 'swgeStrgeNm', fieldName: '시설명', header: { text: '시설명' } },
// 위치
{ name: 'addr', fieldName: '위치', header: { text: '위치' } },
// 시설물종류
{ name: 'facRes', fieldName: '시설물종류', header: { text: '시설물종류' } },
// 가동개시 년월일 yyyy-mm-dd
{ name: 'rnDt', fieldName: '가동개시 년월일 yyyy-mm-dd', header: { text: '가동개시 년월일 yyyy-mm-dd' } },
// 계획설계빈도
{ name: 'plDsgnFrqnc', fieldName: '계획설계빈도', header: { text: '계획설계빈도' } },
// 집수구역면적(㎢)
{ name: 'dgrAr', fieldName: '집수구역면적(㎢)', header: { text: '집수구역면적(㎢)' }, footer: footerDecimal1 },
// 유수지
{ name: 'revFnnc', fieldName: '유수지유무(유,무)', header: { text: '유수지유무(유,무)' } },
{ name: 'revCpcty', fieldName: '저류랑(m³)', header: { text: '저류랑(m³)' }, footer: footerDecimal1 },
// 흡수정
{ name: 'absCpcty', fieldName: '저류랑(m³)', header: { text: '저류랑(m³)' }, footer: footerDecimal1 },
// 펌프시설 - 총양수량(m³/min)
{ name: 'wpCpcty', fieldName: '총양수량(m³/min)', header: { text: '총양수량(m³/min)' }, footer: footerDecimal1 },
// 펌프시설1
{ name: 'pumpCalbr', fieldName: '구경(mm)', header: { text: '구경(mm)' } },
{ name: 'pumpHpCo', fieldName: '대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1 },
{ name: 'pumpCo', fieldName: '펌프대수', header: { text: '펌프대수' }, footer: footerInt },
{ name: 'pumpPreparCo', fieldName: '예비펌프대수', header: { text: '예비펌프대수' }, footer: footerInt },
// 펌프시설2
{ name: 'pumpCalbr2', fieldName: '구경(mm)', header: { text: '구경(mm)' } },
{ name: 'pumpHpCo2', fieldName: '대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1 },
{ name: 'pumpCo2', fieldName: '펌프대수', header: { text: '펌프대수' }, footer: footerInt },
{ name: 'pumpPreparCo2', fieldName: '예비펌프대수', header: { text: '예비펌프대수' }, footer: footerInt },
// 펌프시설3
{ name: 'pumpCalbr3', fieldName: '구경(mm)', header: { text: '구경(mm)' } },
{ name: 'pumpHpCo3', fieldName: '대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1 },
{ name: 'pumpCo3', fieldName: '펌프대수', header: { text: '펌프대수' }, footer: footerInt },
{ name: 'pumpPreparCo3', fieldName: '예비펌프대수', header: { text: '예비펌프대수' }, footer: footerInt },
// 부대시설
{ name: 'dorZeqpFnnc', fieldName: '전처리시설유무(유/무)', header: { text: '전처리시설유무(유/무)' } },
{ name: 'selfEtrqFnnc', fieldName: '탈취설비유무(유/무)', header: { text: '탈취설비유무(유/무)' } },
{ name: 'freFnnc', fieldName: '자가발전유무(유/무)', header: { text: '자가발전유무(유/무)' } },
// 방류수역
{ name: 'disWat', fieldName: '방류수역', header: { text: '방류수역' } },
// 최종처분량(ton/년)
{ name: 'sdmtTreCpcty', fieldName: '침사', header: { text: '침사' }, footer: footerInt },
{ name: 'iprtTreCpcty', fieldName: '협잡물', header: { text: '협잡물' }, footer: footerInt },
// 최종처분방법
{ name: 'sdmtTreMth', fieldName: '침사', header: { text: '침사' } },
{ name: 'iprtTreMth', fieldName: '협잡물', header: { text: '협잡물' } },
// 운영실적
{ name: 'yrstpRnDyn', fieldName: '기동일수(일/년)', header: { text: '기동일수(일/년)' } },
{ name: 'dsplcmntAmnt', fieldName: '총배수량(m³/년)', header: { text: '총배수량(m³/년)' }, footer: footerInt },
// 비고
{ name: 'rmk', fieldName: '비고', header: { text: '비고' } },
{ name: 'chckerOpinion', fieldName: '검토자의견', header: { text: '검토자의견' } },
{ name: 'wrterOpinion', fieldName: '사용자의견', header: { text: '사용자의견' } },
],
columnLayout: [
{
name: 'adminArea',
hideChildHeaders: false,
header: { text: '행정구역' },
items: ['sido', 'gugun'],
},
'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',
{
name: 'pumpSystem1',
hideChildHeaders: false,
header: { text: '펌프시설1' },
items: [
'pumpCalbr',
'pumpHpCo',
'pumpCo',
'pumpPreparCo',
],
},
{
name: 'pumpSystem2',
hideChildHeaders: false,
header: { text: '펌프시설2' },
items: [
'pumpCalbr2',
'pumpHpCo2',
'pumpCo2',
'pumpPreparCo2',
],
},
{
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',
'chckerOpinion',
'wrterOpinion',
],
rowStartNum: 3,
fixedColumns: 2,
tabKey: 'rainfallPumpStationMng',
tabLabel: '빗물펌프장',
};
@@ -0,0 +1,203 @@
import { footerInt, footerDecimal1 } from "@/components/util/grid/footerSummary";
// 하수도 통계 관리 > 04.하수저류시설 및 빗물펌프장 > tab 1: 하수저류시설
export const SewageReservoirMngColumn = {
columns: [
// Hidden Columns : 시스템 관리를 위한 필수 키값
{ name: 'sidoCd', fieldName: '시도코드', header: { text: '시도코드' }, hidden: true },
{ name: 'adstDstrCd', fieldName: '행정구역코드', header: { text: '행정구역코드' }, hidden: true },
{ name: 'adstCd', fieldName: '행정코드', header: { text: '행정코드' }, hidden: true },
{ name: 'swgeStrgeFctSeq', fieldName: '시설SEQ', header: { text: '시설SEQ' }, hidden: true },
// 필요 시 yr, odr 등 추가 가능
// Visible Columns
// 행정구역
{ name: 'sido', fieldName: '시도', header: { text: '시도' }, editable: false },
{ name: 'gugun', fieldName: '시군구', header: { text: '시군구' }, editable: false },
// 기본 정보
{ name: 'swgeStrgeNm', fieldName: '시설명', header: { text: '시설명' }, footer: { text: '합계' } },
{ name: 'addr', fieldName: '위치', header: { text: '위치' } },
{ name: 'rnDt', fieldName: '가동개시 년월일 yyyy-mm-dd', header: { text: '가동개시 년월일 yyyy-mm-dd' } },
{ 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: '집수구역면적(㎢)' }, footer: footerDecimal1 },
{ name: 'facilityCapacity', fieldName: '시설용량(m³)', header: { text: '시설용량(m³)' }, footer: footerDecimal1 },
// 펌프시설 - 총괄
{ name: 'totalPumpingCapacity', fieldName: '총양수량(m³/min)', header: { text: '총양수량(m³/min)' }, editable: false, footer: footerDecimal1 },
// 펌프시설 1
{ name: 'pump1Diameter', fieldName: '구경(mm)', header: { text: '구경(mm)' } },
{ name: 'pump1PumpingCapacity', fieldName: '대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1 },
{ name: 'pump1Count', fieldName: '펌프대수', header: { text: '펌프대수' }, footer: footerInt },
{ name: 'pump1StandbyCount', fieldName: '예비펌프대수', header: { text: '예비펌프대수' }, footer: footerInt },
// 펌프시설 2
{ name: 'pump2Diameter', fieldName: '구경(mm)', header: { text: '구경(mm)' } },
{ name: 'pump2PumpingCapacity', fieldName: '대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1 },
{ name: 'pump2Count', fieldName: '펌프대수', header: { text: '펌프대수' }, footer: footerInt },
{ name: 'pump2StandbyCount', fieldName: '예비펌프대수', header: { text: '예비펌프대수' }, footer: footerInt },
// 펌프시설 3
{ name: 'pump3Diameter', fieldName: '구경(mm)', header: { text: '구경(mm)' } },
{ name: 'pump3PumpingCapacity', fieldName: '대당 양수량(m³/min·대)', header: { text: '대당 양수량(m³/min·대)' }, footer: footerDecimal1 },
{ name: 'pump3Count', fieldName: '펌프대수', header: { text: '펌프대수' }, footer: footerInt },
{ name: 'pump3StandbyCount', fieldName: '예비펌프대수', header: { text: '예비펌프대수' }, footer: footerInt },
// 부대시설
{ 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: '침사' }, footer: footerInt },
{ name: 'debrisDisposalAmount', fieldName: '협잡물', header: { text: '협잡물' }, footer: footerInt },
// 최종처분방법
{ name: 'sedimentDisposalMethod', fieldName: '침사', header: { text: '침사' } },
{ name: 'debrisDisposalMethod', fieldName: '협잡물', header: { text: '협잡물' } },
// 운영실적
{ name: 'operationDaysPerYear', fieldName: '기동일수(일/년)', header: { text: '기동일수(일/년)' } },
{ name: 'totalDischargePerYear', fieldName: '총배수량(m³/년)', header: { text: '총배수량(m³/년)' }, footer: footerInt },
// 비고
{ name: 'remarks', fieldName: '비고', header: { text: '비고' } },
],
columnLayout: [
{
name: 'adminArea',
hideChildHeaders: false,
header: { text: '행정구역' },
items: ['sido', 'gugun'],
},
'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',
{
name: 'pumpSystem1',
hideChildHeaders: false,
header: { text: '펌프시설1' },
items: [
'pump1Diameter',
'pump1PumpingCapacity',
'pump1Count',
'pump1StandbyCount',
],
},
{
name: 'pumpSystem2',
hideChildHeaders: false,
header: { text: '펌프시설2' },
items: [
'pump2Diameter',
'pump2PumpingCapacity',
'pump2Count',
'pump2StandbyCount',
],
},
{
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: 'sewageReservoirMng',
tabLabel: '하수저류시설',
};