109 lines
4.0 KiB
TypeScript
109 lines
4.0 KiB
TypeScript
import { z } from "zod";
|
|
|
|
export const reUseCaseExcel = z.object({
|
|
file: z.any()
|
|
});
|
|
|
|
type nameMap = {
|
|
[key: string]: string;
|
|
}
|
|
|
|
export const reUseCaseNames: nameMap = {
|
|
"사업명": "ruseBizNm",
|
|
"사업시작일": "bizBgngDate",
|
|
"사업종료일": "bizEndDate",
|
|
"공급처_시설종류": "splyFcltKnd",
|
|
"공급처명": "splyFcltNm",
|
|
"공급처_시설용량(㎥/일)": "splyFcltCpct",
|
|
"수요처명": "dmdFcltNm",
|
|
"수요처_주소": "dmdFcltAddr",
|
|
"재이용시설_시설용량(㎥/일)": "ruseFcltCpct",
|
|
"재이용시설_관로(km)": "ruseFcltPplLen",
|
|
"재이용시설_용도": "ruseFcltUsg",
|
|
"재이용시설_공급량(㎥/일)": "ruseFcltSplyCpct",
|
|
"재이용시설_처리공법": "ruseFcltPrcsMsrc",
|
|
"보증수질_용도별": "grnteWqUsg",
|
|
"보증수질_총대장균군수": "grnteWqGrssClfg",
|
|
"보증수질_결합잔류염소": "grnteWqCombResdch",
|
|
"보증수질_탁도": "grnteWqTrbt",
|
|
"보증수질_생물학적산소요구량(BOD)(mg/L)": "grnteWqBod",
|
|
"보증수질_냄새": "grnteWqSmll",
|
|
"보증수질_색도(도)": "grnteWqCrmty",
|
|
"보증수질_총질소(T-N)(mg/L)": "grnteWqTn",
|
|
"보증수질_총인(T-P)(mg/L)": "grnteWqTp",
|
|
"보증수질_수소이온농도(pH)": "grnteWqPh",
|
|
"보증수질_염화물": "grnteWqClIonQnt",
|
|
"보증수질_전기전도도": "grnteWqCndctStat",
|
|
"보증수질_비고": "grnteWqRmrk",
|
|
"소요사업비_총(백만원)": "reqBizGrssCst",
|
|
"소요사업비_토목_재이용시설(백만원)": "reqBizReuseFcltCst",
|
|
"소요사업비_토목_관로(백만원)": "reqBizPplCst",
|
|
"소요사업비_건축(백만원)": "reqBizArchCst",
|
|
"소요사업비_기계(백만원)": "reqBizMchnCst",
|
|
"소요사업비_전기.계측(백만원)": "reqBizMtrngCst",
|
|
"소요사업비_GIS DB(백만원)": "reqBizGisCst",
|
|
"소요사업비_CCTV(백만원)": "reqBizCctvCst",
|
|
"소요사업비_시공 및 준공(백만원)": "reqBizCmcnCst",
|
|
"소요사업비_폐기물(백만원)": "reqBizWstCst",
|
|
"소요사업비_설계비(백만원)": "reqBizDesignCst",
|
|
"소요사업비_감리비(백만원)": "reqBizSpvsCst",
|
|
"소요사업비_시설부대비(백만원)": "reqBizSbsdCst",
|
|
"소요사업비_기타(백만원)": "reqBizEtc",
|
|
"재원조달계획_총(백만원)": "prcmPlanGrssCst",
|
|
"재원조달계획_국비(백만원)": "prcmPlanNlep",
|
|
"재원조달계획_지방비(백만원)": "prcmPlanLcep",
|
|
"재원조달계획_원인자부담(백만원)": "prcmPlanBrdnCst",
|
|
"재원조달계획_국고비율(백만원)": "prcmPlanEcqrRt",
|
|
"사업비 정산_총(백만원)": "clclnGrssCst",
|
|
"사업비 정산_국비(백만원)": "clclnNlep",
|
|
"사업비 정산_지방비(백만원)": "clclnLcep",
|
|
"사업비 정산_원인자부담(백만원)": "clclnBrdnCst",
|
|
"사업비 정산_국고비율(백만원)": "clclnEcqrRt"
|
|
}
|
|
|
|
interface PbnstSttnItem {
|
|
rvbsn: string;
|
|
lgbsn: number;
|
|
mdmbsn?: string;
|
|
rgnNm?: string;
|
|
sido?: number;
|
|
gugun?: number;
|
|
bscFctNm?: string;
|
|
efflWqltStndrdNm?: string;
|
|
fctCpc?: number;
|
|
tel?: string;
|
|
ruseUtztnFcltNm?: string;
|
|
fcltCpct?: number;
|
|
splyExtraCpct?: number;
|
|
ruseCpct?: number;
|
|
usageTotal?: number;
|
|
inUsage?: number;
|
|
outUsage?: number;
|
|
}
|
|
|
|
export const excelPbnstSttnParsing = (data: PbnstSttnItem[]): string[][] => {
|
|
const excelExportData: string[][] = [];
|
|
|
|
data.forEach((item) => {
|
|
excelExportData.push([
|
|
item.rvbsn,
|
|
String(item.lgbsn),
|
|
item.mdmbsn ?? "",
|
|
item.rgnNm ?? "",
|
|
String(item.sido ?? ""),
|
|
String(item.gugun ?? ""),
|
|
String(item.bscFctNm ?? ""),
|
|
String(item.efflWqltStndrdNm ?? ""),
|
|
String(item.fctCpc ?? ""),
|
|
String(item.tel ?? ""),
|
|
String(item.ruseUtztnFcltNm ?? ""),
|
|
String(item.fcltCpct ?? ""),
|
|
String(item.splyExtraCpct ?? ""),
|
|
String(item.ruseCpct ?? ""),
|
|
String(item.usageTotal ?? ""),
|
|
String(item.inUsage ?? ""),
|
|
String(item.outUsage ?? ""),
|
|
])
|
|
})
|
|
return excelExportData;
|
|
}; |