Files
frontend/apps/st/src/components/util/column/input/sewagePipe/RegionalFactStatusInpColumn.ts
T

312 lines
15 KiB
TypeScript

import { footerInt, footerDecimal1, footerDecimal2, footerDecimal3 } from "@/components/util/grid/footerSummary";
import { ValueType } from "realgrid";
// 하수도 통계 관리 > 02.하수관로 > tab 1. 지역별 시설현황
export const RegionalFactStatusInpColumn = {
columns: [
// 행정구역
{ name: 'ctpvNm', fieldName: 'ctpvNm', header: { text: '시도' }, footer: { text: '합계' }, editable: false, styleName: 'rg-cell-readonly' },
{ name: 'sggNm', fieldName: 'sggNm', header: { text: '시군구' }, editable: false, styleName: 'rg-cell-readonly' },
{ name: 'admdstNm', fieldName: 'admdstNm', header: { text: '행정구역명' }, editable: false, styleName: 'rg-cell-readonly' },
// 기본 정보
{ name: 'goalYr', fieldName: 'goalYr', header: { text: '하수정비기본계획목표년도' } },
{
name: 'wholPplMtncPlanPrlg',
fieldName: 'wholPplMtncPlanPrlg',
header: { text: '총관로정비계획연장(m)' },
footer: footerDecimal2,
editable: false,
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: '#,##0.00',
computed: { fields: ['cbsysPplMtncPlanPrlg', 'drtwPplMtncPlanPrlg', 'exlnPplMtncPlanPrlg'], type: 'sum' as const },
},
{
name: 'wholPlanPrlg',
fieldName: 'wholPlanPrlg',
header: { text: '총계획연장(m)' },
footer: footerDecimal2,
editable: false,
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: '#,##0.00',
computed: {
groups: [
{
baseField: 'cbsysPplMtncPlanPrlg',
sumFields: ['cbsysSqrePrlg', 'cbsysCiclPrlg', 'cbsysOpnPrlg', 'cbsysGttrPrlg'],
},
{
baseField: 'drtwPplMtncPlanPrlg',
sumFields: ['drtwPplSqrePrlg', 'drtwPplCiclPrlg'],
},
{
baseField: 'exlnPplMtncPlanPrlg',
sumFields: ['exlnPplSqrePrlg', 'exlnPplCiclPrlg', 'exlnPplOpnPrlg', 'exlnPplGttrPrlg'],
},
],
type: 'sumOfMaxOfFieldAndSumGroups' as const,
},
},
{
name: 'wholFcltPrlg',
fieldName: 'wholFcltPrlg',
header: { text: '총시설연장(m)' },
footer: footerDecimal2,
editable: false,
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: '#,##0.00',
computed: { fields: ['cbsysSqrePrlg', 'cbsysCiclPrlg', 'cbsysOpnPrlg', 'cbsysGttrPrlg', 'drtwPplSqrePrlg', 'drtwPplCiclPrlg', 'exlnPplSqrePrlg', 'exlnPplCiclPrlg', 'exlnPplOpnPrlg', 'exlnPplGttrPrlg'], type: 'sum' as const },
},
{
name: 'swagePplPsplyRt',
fieldName: 'swagePplPsplyRt',
header: { text: '하수관로보급률(%)' },
footer: footerDecimal1,
editable: false,
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: '#,##0.0',
computed: {
numeratorFields: ['wholFcltPrlg'],
denominatorFields: ['wholPlanPrlg'],
type: 'pblswrgPopltnSuprtRate' as const,
},
},
// 합류식(m)
{ name: 'cbsysPplMtncPlanArea', fieldName: 'cbsysPplMtncPlanArea', header: { text: '관로정비계획면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'cbsysPplMtncPlanPrlg', fieldName: 'cbsysPplMtncPlanPrlg', header: { text: '관로정비계획연장(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{
name: 'cbsysPlanPrlg',
fieldName: 'cbsysPlanPrlg',
header: { text: '계획연장(m)' },
footer: footerDecimal2,
editable: false,
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: '#,##0.00',
computed: {
baseField: 'cbsysPplMtncPlanPrlg',
sumFields: ['cbsysSqrePrlg', 'cbsysCiclPrlg', 'cbsysOpnPrlg', 'cbsysGttrPrlg'],
type: 'maxOfFieldAndSum' as const,
},
},
{
name: 'cbsysFcltPrlg',
fieldName: 'cbsysFcltPrlg',
header: { text: '시설연장(m)' },
footer: footerDecimal2,
editable: false,
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: '#,##0.00',
computed: { fields: ['cbsysSqrePrlg', 'cbsysCiclPrlg', 'cbsysOpnPrlg', 'cbsysGttrPrlg'], type: 'sum' as const },
},
{ name: 'cbsysSqrePrlg', fieldName: 'cbsysSqrePrlg', header: { text: '사각형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'cbsysCiclPrlg', fieldName: 'cbsysCiclPrlg', header: { text: '원형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'cbsysOpnPrlg', fieldName: 'cbsysOpnPrlg', header: { text: '개거(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'cbsysGttrPrlg', fieldName: 'cbsysGttrPrlg', header: { text: '측구(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
// 분류식(m) > 오수관로
{ name: 'drtwPplMtncPlanArea', fieldName: 'drtwPplMtncPlanArea', header: { text: '관로정비계획면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'drtwPplMtncPlanPrlg', fieldName: 'drtwPplMtncPlanPrlg', header: { text: '관로정비계획연장(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{
name: 'drtwPplPlanPrlg',
fieldName: 'drtwPplPlanPrlg',
header: { text: '계획연장(m)' },
footer: footerDecimal2,
editable: false,
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: '#,##0.00',
computed: {
baseField: 'drtwPplMtncPlanPrlg',
sumFields: ['drtwPplSqrePrlg', 'drtwPplCiclPrlg'],
type: 'maxOfFieldAndSum' as const,
},
},
{
name: 'drtwPplFcltPrlg',
fieldName: 'drtwPplFcltPrlg',
header: { text: '시설연장(m)' },
footer: footerDecimal2,
editable: false,
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: '#,##0.00',
computed: { fields: ['drtwPplSqrePrlg', 'drtwPplCiclPrlg'], type: 'sum' as const },
},
{ name: 'drtwPplSqrePrlg', fieldName: 'drtwPplSqrePrlg', header: { text: '사각형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'drtwPplCiclPrlg', fieldName: 'drtwPplCiclPrlg', header: { text: '원형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
// 분류식(m) > 우수관로
{ name: 'exlnPplMtncPlanArea', fieldName: 'exlnPplMtncPlanArea', header: { text: '관로정비계획면적(㎢)' }, footer: footerDecimal3, valueType: ValueType.NUMBER, dataFormat: '#,##0.000' },
{ name: 'exlnPplMtncPlanPrlg', fieldName: 'exlnPplMtncPlanPrlg', header: { text: '관로정비계획연장(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{
name: 'exlnPplPlanPrlg',
fieldName: 'exlnPplPlanPrlg',
header: { text: '계획연장(m)' },
footer: footerDecimal2,
editable: false,
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: '#,##0.00',
computed: {
baseField: 'exlnPplMtncPlanPrlg',
sumFields: ['exlnPplSqrePrlg', 'exlnPplCiclPrlg', 'exlnPplOpnPrlg', 'exlnPplGttrPrlg'],
type: 'maxOfFieldAndSum' as const,
},
},
{
name: 'exlnPplFcltPrlg',
fieldName: 'exlnPplFcltPrlg',
header: { text: '시설연장(m)' },
footer: footerDecimal2,
editable: false,
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: '#,##0.00',
computed: { fields: ['exlnPplSqrePrlg', 'exlnPplCiclPrlg', 'exlnPplOpnPrlg', 'exlnPplGttrPrlg'], type: 'sum' as const },
},
{ name: 'exlnPplSqrePrlg', fieldName: 'exlnPplSqrePrlg', header: { text: '사각형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'exlnPplCiclPrlg', fieldName: 'exlnPplCiclPrlg', header: { text: '원형(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'exlnPplOpnPrlg', fieldName: 'exlnPplOpnPrlg', header: { text: '개거(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{ name: 'exlnPplGttrPrlg', fieldName: 'exlnPplGttrPrlg', header: { text: '측구(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
// 합류식맨홀(개소)
{ name: 'cbsysMnhlCnt', fieldName: 'cbsysMnhlCnt', header: { text: '합류식맨홀(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 분류식 > 오수맨홀, 우수맨홀
{ name: 'sprsysDrtwMnhlCnt', fieldName: 'sprsysDrtwMnhlCnt', header: { text: '오수맨홀(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'sprsysExlnMnhlCnt', fieldName: 'sprsysExlnMnhlCnt', header: { text: '우수맨홀(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'drtwRcvprpCnt', fieldName: 'drtwRcvprpCnt', header: { text: '오수받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnRcvprpCnt', fieldName: 'exlnRcvprpCnt', header: { text: '빗물받이(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'stofcbrCnt', fieldName: 'stofcbrCnt', header: { text: '우수토실(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
{ name: 'exlnOtflCnt', fieldName: 'exlnOtflCnt', header: { text: '우수토구(개소)' }, footer: footerInt, valueType: ValueType.NUMBER, dataFormat: '#,##0' },
// 하수도대장 전산화
{ name: 'sewerLdgrEdpPrlg', fieldName: 'sewerLdgrEdpPrlg', header: { text: '하수도대장전산화연장(m)' }, footer: footerDecimal2, valueType: ValueType.NUMBER, dataFormat: '#,##0.00' },
{
name: 'sewerLdgrEdpRt',
fieldName: 'sewerLdgrEdpRt',
header: { text: '하수도대장전산화율(%)' },
footer: footerDecimal1,
editable: false,
styleName: 'rg-cell-total',
valueType: ValueType.NUMBER,
dataFormat: '#,##0.0',
computed: {
numeratorFields: ['sewerLdgrEdpPrlg'],
denominatorFields: ['cbsysSqrePrlg', 'cbsysCiclPrlg', 'cbsysOpnPrlg', 'cbsysGttrPrlg', 'drtwPplSqrePrlg', 'drtwPplCiclPrlg', 'exlnPplSqrePrlg', 'exlnPplCiclPrlg', 'exlnPplOpnPrlg', 'exlnPplGttrPrlg'],
type: 'pblswrgPopltnSuprtRate' as const,
},
},
// 비고
{ name: 'rmrk', fieldName: 'rmrk', header: { text: '비고' } },
{ name: 'admdstCd', fieldName: 'admdstCd', header: { text: '행정코드' }, visible: false },
],
columnLayout: [
{
name: 'adminArea',
hideChildHeaders: false,
header: { text: '행정구역' },
items: [
{ column: 'ctpvNm', footerUserSpans: [{ colspan: 3 }] },
'sggNm',
'admdstNm',
],
},
'goalYr',
'wholPplMtncPlanPrlg',
'wholPlanPrlg',
'wholFcltPrlg',
'swagePplPsplyRt',
{
name: 'combined',
hideChildHeaders: false,
header: { text: '합류식(m)' },
items: [
'cbsysPplMtncPlanArea',
'cbsysPplMtncPlanPrlg',
'cbsysPlanPrlg',
'cbsysFcltPrlg',
{
name: 'cmbnCulvert',
hideChildHeaders: false,
header: { text: '암거' },
items: ['cbsysSqrePrlg', 'cbsysCiclPrlg'],
},
'cbsysOpnPrlg',
'cbsysGttrPrlg',
],
},
{
name: 'separated',
hideChildHeaders: false,
header: { text: '분류식(m)' },
items: [
{
name: 'pollutedWater',
hideChildHeaders: false,
header: { text: '오수관로' },
items: [
'drtwPplMtncPlanArea',
'drtwPplMtncPlanPrlg',
'drtwPplPlanPrlg',
'drtwPplFcltPrlg',
{
name: 'pltwtrCulvert',
hideChildHeaders: false,
header: { text: '암거' },
items: ['drtwPplSqrePrlg', 'drtwPplCiclPrlg'],
},
],
},
{
name: 'rainWater',
hideChildHeaders: false,
header: { text: '우수관로' },
items: [
'exlnPplMtncPlanArea',
'exlnPplMtncPlanPrlg',
'exlnPplPlanPrlg',
'exlnPplFcltPrlg',
{
name: 'rainwtrCulvert',
hideChildHeaders: false,
header: { text: '암거' },
items: ['exlnPplSqrePrlg', 'exlnPplCiclPrlg'],
},
'exlnPplOpnPrlg',
'exlnPplGttrPrlg',
],
},
],
},
'cbsysMnhlCnt',
{
name: 'separatedManhole',
hideChildHeaders: false,
header: { text: '분류식' },
items: ['sprsysDrtwMnhlCnt', 'sprsysExlnMnhlCnt'],
},
'drtwRcvprpCnt',
'exlnRcvprpCnt',
'stofcbrCnt',
'exlnOtflCnt',
'sewerLdgrEdpPrlg',
'sewerLdgrEdpRt',
'rmrk',
'admdstCd',
],
rowStartNum: 4,
fixedColumns: 1,
tabKey: 'ST00020001',
tabLabel: '지역별 시설현황'
};