diff --git a/apps/wr/app/ruseFcltMng/fcltSttn/htdflSttn/page.tsx b/apps/wr/app/ruseFcltMng/fcltSttn/htdflSttn/page.tsx
index a738b73cc..e43d5b04f 100644
--- a/apps/wr/app/ruseFcltMng/fcltSttn/htdflSttn/page.tsx
+++ b/apps/wr/app/ruseFcltMng/fcltSttn/htdflSttn/page.tsx
@@ -71,7 +71,7 @@ export default function HtdflSttn() {
if (htdflSttn.excelList.length > 0) {
if (htdflSttn.excelList.length === 0) return;
const excelData = await tableData(htdflSttn.excelList, { code });
- const htdflExcel = excelHtdflSttnParsing(excelData);
+ const htdflExcel = excelHtdflSttnParsing(excelData, code.cityCd, code.sggCd);
excelDownload(
htdflExcel as [[]],
"온배수시설 현황",
@@ -91,7 +91,6 @@ export default function HtdflSttn() {
useEffect(() => {
if (htdflSttnRes.length > 0 && code.cityCd.length > 0) {
- console.log("htdflSttnRes", htdflSttnRes);
const data = tableData(htdflSttnRes, { code });
const chData = data
.map((item: any) => ({
diff --git a/apps/wr/app/ruseFcltMng/fcltSttn/rainSttn/page.tsx b/apps/wr/app/ruseFcltMng/fcltSttn/rainSttn/page.tsx
index 88b3c8649..631e24350 100644
--- a/apps/wr/app/ruseFcltMng/fcltSttn/rainSttn/page.tsx
+++ b/apps/wr/app/ruseFcltMng/fcltSttn/rainSttn/page.tsx
@@ -95,7 +95,7 @@ export default function RainSttn() {
}, [code, rainSttnRes, rainSttn.rainSttHeadList]);
useEffect(() => {
- if (codeData != null) rainSttnSearch(pageNation, "20", codeData);
+ if (codeData != null) rainSttnSearch(pageNation, "20", codeData, code.cityCd, code.sggCd);
}, [pageNation]);
useEffect(() => {
@@ -111,8 +111,8 @@ export default function RainSttn() {
}, [rainSttn.excelList]);
const excelClick = useCallback(() => {
- if (codeData) rainSttnSearch(1, "10000", codeData);
- }, [rainSttnSearch, codeData]);
+ if (codeData) rainSttnSearch(1, "10000", codeData, code.cityCd, code.sggCd);
+ }, [rainSttnSearch, codeData, code.cityCd, code.sggCd]);
return (
<>
@@ -146,7 +146,7 @@ export default function RainSttn() {
} else {
con = returnType.sidoValue;
}
- rainSttnSearch(1, "20", con);
+ rainSttnSearch(1, "20", con, code.cityCd, code.sggCd);
}}
excelClick={excelClick}
initClick={function (): void { }}
diff --git a/apps/wr/app/ruseFcltMng/fcltSttn/rswtSttn/page.tsx b/apps/wr/app/ruseFcltMng/fcltSttn/rswtSttn/page.tsx
index 2cecd8e91..7a3444a9b 100644
--- a/apps/wr/app/ruseFcltMng/fcltSttn/rswtSttn/page.tsx
+++ b/apps/wr/app/ruseFcltMng/fcltSttn/rswtSttn/page.tsx
@@ -42,7 +42,6 @@ export default function RswtSttn() {
const codeCityOrSgg = getCityOrSgg(ref);
-
const cellClick = (index: number | undefined, headId: string) => {
if (headId !== 'chBuildingYn' && index !== undefined && bdstTable !== undefined) {
@@ -57,7 +56,6 @@ export default function RswtSttn() {
setBdstChgProps({ isOpen: true, chBuilding: bdstTable[index].chgBuilding });
}
}
-
}
useEffect(() => {
@@ -100,13 +98,13 @@ export default function RswtSttn() {
const excelClick = useCallback(
(returnType: ReturnType) => {
if (codeCityOrSgg)
- rswtSttnSearch(1, "10000", codeCityOrSgg);
+ rswtSttnSearch(1, "10000", codeCityOrSgg, code.cityCd, code.sggCd);
},
- [rswtSttnSearch, codeCityOrSgg]
+ [rswtSttnSearch, code.cityCd, code.sggCd, codeCityOrSgg]
);
useEffect(() => {
- if (codeCityOrSgg != null) rswtSttnSearch(pageNation, "20", codeCityOrSgg);
+ if (codeCityOrSgg != null) rswtSttnSearch(pageNation, "20", codeCityOrSgg, code.cityCd, code.sggCd);
}, [pageNation]);
return (
@@ -122,27 +120,24 @@ export default function RswtSttn() {
selectUnitWaterShedData={code.lgbsnCd}
selectMiddleRegionData={code.mdmbsnCd}
selectEnvPartData={code.lclgvrnmntCd}
- rightChildren={
-
- }
+ rightChildren={}
leftChildren={undefined}
queryClick={function (returnType: ReturnType): void {
// '{partValue: 'A', sidoValue: '0', sigunValue: '0', regionValue: '0', unitWaterShedValue: '0', …}'
if (codeCityOrSgg)
- rswtSttnSearch(1, "20", codeCityOrSgg);
- }}
+ rswtSttnSearch(1, "20", codeCityOrSgg, code.cityCd, code.sggCd);
+ } }
excelClick={excelClick}
- initClick={function (): void { }}
+ initClick={function (): void { } }
btnClass={btnClass}
- ref={ref}
- />
+ ref={ref} isAdmin={false} />
diff --git a/apps/wr/app/ruseFcltMng/prfmncSttn/pbnstPrfmncSttn/page.tsx b/apps/wr/app/ruseFcltMng/prfmncSttn/pbnstPrfmncSttn/page.tsx
index 95ce7d7d9..8064aa2bb 100644
--- a/apps/wr/app/ruseFcltMng/prfmncSttn/pbnstPrfmncSttn/page.tsx
+++ b/apps/wr/app/ruseFcltMng/prfmncSttn/pbnstPrfmncSttn/page.tsx
@@ -3,22 +3,28 @@
import { useWrStore } from "@/app/store";
import { btnClass } from "@/app/store/common/code";
import { initValInUsage, initValOutUsage, subTotalObj, totalObj, type FcPrfType, type PrfType } from "@/app/store/prfmncReg/pbnstPrfmncReg/type";
-import { yearOptions } from "@/components/lib/func/commom";
-import { InputTableBody } from "@/components/lib/func/TableData";
-import { ContentsDiv, Title, SearchBaseForm, SelectBox, SearchInput, UiTable, type ReturnType, MainChart, type ChartConfig, CHART_FORM, ScrollArea } from "@common/business_components";
-import DoughnutChart from "@common/business_components/ui/chart/DoughnutChart";
+import { excelPrfmncSttnParsing } from "@/app/store/prfmncSttn/pbnstPrfmncSttn/excel";
+import { excelDownload, yearOptions } from "@/components/lib/func/commom";
+import SearchInputText from "@/components/ui/searchInput/searchInput";
+import { CHART_FORM, ContentsDiv, MainChart, ScrollArea, SearchBaseForm, SearchInput, SelectBox, Title, UiTable, type ChartConfig, type ReturnType } from "@common/business_components";
import ListDiv from "@common/business_components/ui/list_div";
-import { Button, Label, Table, TableBody, TableHeader } from "@common/components/ui";
-import { useEffect, useRef, useState } from "react";
-import { headMakeprfmnc } from "../../prfmncReg/chkgdnReg/TableHead";
+import { Button, Label } from "@common/components/ui";
+import { useCallback, useEffect, useRef, useState } from "react";
import toast, { Toaster } from "react-hot-toast";
-
-
export default function PbnstPrfmncSttn() {
- const { code, tableHeadMaker, pbnstPrfmncSttn, pbnstPrfmncInit, pbnstPrfmncSearch, prfmnc } = useWrStore((state) => state);
+ const {
+ code,
+ tableHeadMaker,
+ pbnstPrfmncSttn,
+ pbnstPrfmncInit,
+ pbnstPrfmncSearch,
+ prfmnc,
+ pbnstSttn,
+ pbnNmSearch
+ } = useWrStore((state) => state);
const { monthHeadList } = prfmnc
- const { pbnstPrfHeadList, pbnstPrfmncRes, prfmncRes, rawData, selectYearList } = pbnstPrfmncSttn;
+ const { pbnstPrfHeadList, prfmncRes, rawData, selectYearList } = pbnstPrfmncSttn;
const [isChHead, setIsChHead] = useState(false);
const [fromDate, setFromDate] = useState
(String(new Date().getFullYear()));
const [toDate, setToDate] = useState(String(new Date().getFullYear()));
@@ -26,6 +32,18 @@ export default function PbnstPrfmncSttn() {
const [bdstTable, setbdstTable] = useState();
const ref = useRef({} as ReturnType);
const [swtrmtFcltNm, setSwtrmtFcltNm] = useState();
+ const [pbnRuseNm, setPbnRuseNm] = useState("");
+ const [excelData, setExcelData] = useState([]);
+ const excelClick = useCallback(() => {
+ excelDownload(
+ excelData,
+ "하수재이용실적 현황",
+ "sample_pbnstPrfmncSttn.xlsx",
+ "A1:N1",
+ 2
+ );
+ }, [excelData]);
+
const [chartConfig, setChartConfig] = useState({});
const [chartData, setChartData] = useState([]);
const [dnInUsage, setDnInUsage] = useState([]);
@@ -48,7 +66,6 @@ export default function PbnstPrfmncSttn() {
chartData8: lineChartDataProps[];
chartData9: lineChartDataProps[];
}>();
- // const [lnInChartConfig, setLnInChartConfig] = useState({});
const [outLineData, setOutLineData] = useState<{
chartData1: lineChartDataProps[];
chartData2: lineChartDataProps[];
@@ -58,21 +75,18 @@ export default function PbnstPrfmncSttn() {
chartData6: lineChartDataProps[];
}>();
-
-
type dnChartForm = { label: string, val: number, fill?: string };
type barChartForm = { label: string, "장내용수": number, "장외용수": number };
type lineChartDataProps = { label: string, val: number, color: string };
- const prfTableData = (prfList: PrfType[], year:string) => {
+ const prfTableData = (prfList: PrfType[], year: string) => {
const inUsageData = structuredClone(initValInUsage);
const outUsageData = structuredClone(initValOutUsage);
const inSubtotal = structuredClone(subTotalObj);
const outSubtotal = structuredClone(subTotalObj);
- console.log(' prfList ', prfList)
- const prfFilter = prfList?.filter((e) => e.ym.slice(0, 4) === year)
+ const prfFilter = prfList?.filter((e) => e.ym.slice(0, 4) === year)
if (prfList && prfFilter.length > 0) {
prfList?.forEach((prfItem) => {
const month = Number(prfItem?.ym?.slice(4)); // "MM"
@@ -119,71 +133,190 @@ export default function PbnstPrfmncSttn() {
}
const tableData = [...inUsageData, ...outUsageData, usageTotalObj];
setPrfData(tableData);
-
+ setExcelData(excelPrfmncSttnParsing(prfData ?? []))
} else {
setPrfData([]);
}
}
+
useEffect(() => {
- let wshwtr = 0;
- let coolUswtr = 0;
- let cleanUswtr = 0;
- let drwtUswtr = 0;
- let dltnUswtr = 0;
- let ithlRswtr = 0;
- let ithlEtcUswtr = 0;
- let cleanToilUswtr = 0;
- let resn = 0;
- let lndwtr = 0;
- let hydUswtr = 0;
- let ugwtChr = 0;
- let farmUswtr = 0;
- let rvrKeepUswtr = 0;
- let indstUswtr = 0;
+ // 누적 변수 초기화
+ let wshwtr = 0,
+ coolUswtr = 0,
+ cleanUswtr = 0,
+ drwtUswtr = 0,
+ dltnUswtr = 0,
+ ithlRswtr = 0,
+ ithlEtcUswtr = 0,
+ cleanToilUswtr = 0,
+ resn = 0;
+
+ let lndwtr = 0,
+ hydUswtr = 0,
+ ugwtChr = 0,
+ farmUswtr = 0,
+ rvrKeepUswtr = 0,
+ indstUswtr = 0;
+
+ let inUsageSum = 0,
+ outUsageSum = 0;
+
+ let inUsageArr: number[] = [],
+ outUsageArr: number[] = [];
+
+ // 라인차트용 데이터
+ const wshwtrData: lineChartDataProps[] = [],
+ coolUswtrData: lineChartDataProps[] = [],
+ cleanUswtrData: lineChartDataProps[] = [],
+ drwtUswtrData: lineChartDataProps[] = [],
+ dltnUswtrData: lineChartDataProps[] = [],
+ ithlRswtrData: lineChartDataProps[] = [],
+ ithlEtcUswtrData: lineChartDataProps[] = [],
+ cleanToilUswtrData: lineChartDataProps[] = [],
+ resnData: lineChartDataProps[] = [];
+ const lndwtrData: lineChartDataProps[] = [],
+ hydUswtrData: lineChartDataProps[] = [],
+ ugwtChrData: lineChartDataProps[] = [],
+ farmUswtrData: lineChartDataProps[] = [],
+ rvrKeepUswtrData: lineChartDataProps[] = [],
+ indstUswtrData: lineChartDataProps[] = [];
+
+ // 막대차트 데이터
+ const barData: barChartForm[] = [];
+
+ // 도넛차트 데이터
+ const dnData: dnChartForm[] = [];
+ const dnInData: dnChartForm[] = [];
+ const dnOutData: dnChartForm[] = [];
+
if (rawData) {
rawData.forEach((item) => {
+ // 실적 테이블 데이터
prfTableData(item.prfList, year);
- item.prfList.filter((e) => e.ym.slice(0, 4) === year) .forEach((element) => {
-
- wshwtr += element.wshwtr; //세척수
- coolUswtr += element.coolUswtr; //냉각수
- cleanUswtr += element.cleanUswtr; //청소수
- drwtUswtr += element.drwtUswtr; //식수대
- dltnUswtr += element.dltnUswtr //희석용수
- ithlRswtr += element.ithlRswtr //중수도
- ithlEtcUswtr += element.ithlEtcUswtr //기타
- cleanToilUswtr += element.cleanToilUswtr //청소화장실용수
- resn += element.resn //세척살수용수
- lndwtr += element.lndwtr; //조경용수
- hydUswtr += element.hydUswtr; //친수용수
- ugwtChr += element.ugwtChr; //지하수충전
- farmUswtr += element.farmUswtr //농업용수
- rvrKeepUswtr += element.rvrKeepUswtr //하천등유지용수
- indstUswtr += element.indstUswtr //공업용수
+ item.prfList.filter((e) => e.ym.slice(0, 4) === year).forEach((element) => {
+ // 누적
+ wshwtr += element.wshwtr;
+ coolUswtr += element.coolUswtr;
+ cleanUswtr += element.cleanUswtr;
+ drwtUswtr += element.drwtUswtr;
+ dltnUswtr += element.dltnUswtr;
+ ithlRswtr += element.ithlRswtr;
+ ithlEtcUswtr += element.ithlEtcUswtr;
+ cleanToilUswtr += element.cleanToilUswtr;
+ resn += element.resn;
+ lndwtr += element.lndwtr;
+ hydUswtr += element.hydUswtr;
+ ugwtChr += element.ugwtChr;
+ farmUswtr += element.farmUswtr;
+ rvrKeepUswtr += element.rvrKeepUswtr;
+ indstUswtr += element.indstUswtr;
+ // 월별 합계
+ inUsageSum = element.wshwtr
+ + element.coolUswtr
+ + element.cleanUswtr
+ + element.drwtUswtr
+ + element.dltnUswtr
+ + element.ithlRswtr
+ + element.ithlEtcUswtr
+ + element.cleanToilUswtr
+ + element.resn;
+ outUsageSum = element.lndwtr
+ + element.hydUswtr
+ + element.ugwtChr
+ + element.farmUswtr
+ + element.rvrKeepUswtr
+ + element.indstUswtr;
+ inUsageArr.push(inUsageSum);
+ outUsageArr.push(outUsageSum);
+
+ // 막대차트
+ const month = Number(element.ym.slice(4, 6));
+ barData.push({ label: `${month}월`, "장내용수": inUsageSum, "장외용수": outUsageSum });
+
+ // 라인차트
+ wshwtrData.push({ label: `${month}월`, val: element.wshwtr, color: "red" });
+ coolUswtrData.push({ label: `${month}월`, val: element.coolUswtr, color: "orange" });
+ cleanUswtrData.push({ label: `${month}월`, val: element.cleanUswtr, color: "yellow" });
+ drwtUswtrData.push({ label: `${month}월`, val: element.drwtUswtr, color: "pink" });
+ dltnUswtrData.push({ label: `${month}월`, val: element.dltnUswtr, color: "purple" });
+ ithlRswtrData.push({ label: `${month}월`, val: element.ithlRswtr, color: "green" });
+ ithlEtcUswtrData.push({ label: `${month}월`, val: element.ithlEtcUswtr, color: "blue" });
+ cleanToilUswtrData.push({ label: `${month}월`, val: element.cleanToilUswtr, color: "magenta" });
+ resnData.push({ label: `${month}월`, val: element.resn, color: "skyblue" });
+
+ lndwtrData.push({ label: `${month}월`, val: element.lndwtr, color: "red" });
+ hydUswtrData.push({ label: `${month}월`, val: element.hydUswtr, color: "orange" });
+ ugwtChrData.push({ label: `${month}월`, val: element.ugwtChr, color: "yellow" });
+ farmUswtrData.push({ label: `${month}월`, val: element.farmUswtr, color: "green" });
+ rvrKeepUswtrData.push({ label: `${month}월`, val: element.rvrKeepUswtr, color: "blue" });
+ indstUswtrData.push({ label: `${month}월`, val: element.indstUswtr, color: "purple" });
});
- })
- const data: dnChartForm[] = []
- data?.push({ label: "세척수", val: wshwtr, fill: "red" })
- data?.push({ label: "냉각수", val: coolUswtr, fill: "orange" })
- data?.push({ label: "청소수", val: cleanUswtr, fill: "yellow" })
- data?.push({ label: "식수대", val: drwtUswtr, fill: "green" })
- data?.push({ label: "희석용수", val: dltnUswtr, fill: "skyblue" })
- data?.push({ label: "중수도", val: ithlRswtr, fill: "blue" })
- data?.push({ label: "기타", val: ithlEtcUswtr, fill: "purple" })
- data?.push({ label: "청소화장실용수", val: cleanToilUswtr, fill: "red" })
- data?.push({ label: "세척살수용수", val: resn, fill: "orange" })
- data?.push({ label: "조경용수", val: lndwtr, fill: "yellow" })
- data?.push({ label: "친수용수", val: hydUswtr, fill: "green" })
- data?.push({ label: "지하수충전", val: ugwtChr, fill: "skyblue" })
- data?.push({ label: "농업용수", val: farmUswtr, fill: "blue" })
- data?.push({ label: "하천등유지용수", val: rvrKeepUswtr, fill: "purple" })
- data?.push({ label: "공업용수", val: indstUswtr, fill: "black" })
- setChartData(data);
- }
- }, [rawData, year])
+ });
+ // 도넛차트 데이터
+ dnData.push({ label: "세척수", val: wshwtr, fill: "red" });
+ dnData.push({ label: "냉각수", val: coolUswtr, fill: "orange" });
+ dnData.push({ label: "청소수", val: cleanUswtr, fill: "yellow" });
+ dnData.push({ label: "식수대", val: drwtUswtr, fill: "green" });
+ dnData.push({ label: "희석용수", val: dltnUswtr, fill: "skyblue" });
+ dnData.push({ label: "중수도", val: ithlRswtr, fill: "blue" });
+ dnData.push({ label: "기타", val: ithlEtcUswtr, fill: "purple" });
+ dnData.push({ label: "청소화장실용수", val: cleanToilUswtr, fill: "red" });
+ dnData.push({ label: "세척살수용수", val: resn, fill: "orange" });
+ dnData.push({ label: "조경용수", val: lndwtr, fill: "yellow" });
+ dnData.push({ label: "친수용수", val: hydUswtr, fill: "green" });
+ dnData.push({ label: "지하수충전", val: ugwtChr, fill: "skyblue" });
+ dnData.push({ label: "농업용수", val: farmUswtr, fill: "blue" });
+ dnData.push({ label: "하천등유지용수", val: rvrKeepUswtr, fill: "purple" });
+ dnData.push({ label: "공업용수", val: indstUswtr, fill: "black" });
+
+ // 장내용수 도넛
+ dnInData.push({ label: "세척수", val: wshwtr, fill: "yellow" });
+ dnInData.push({ label: "냉각수", val: coolUswtr, fill: "green" });
+ dnInData.push({ label: "청소수", val: cleanUswtr, fill: "yellow" });
+ dnInData.push({ label: "식수대", val: drwtUswtr, fill: "green" });
+ dnInData.push({ label: "희석용수", val: dltnUswtr, fill: "yellow" });
+ dnInData.push({ label: "중수도", val: ithlRswtr, fill: "green" });
+ dnInData.push({ label: "기타", val: ithlEtcUswtr, fill: "yellow" });
+ dnInData.push({ label: "청소화장실용수", val: cleanToilUswtr, fill: "green" });
+ dnInData.push({ label: "세척살수용수", val: resn, fill: "yellow" });
+
+ // 장외용수 도넛
+ dnOutData.push({ label: "조경용수", val: lndwtr, fill: "yellow" });
+ dnOutData.push({ label: "친수용수", val: hydUswtr, fill: "black" });
+ dnOutData.push({ label: "지하수충전", val: ugwtChr, fill: "yellow" });
+ dnOutData.push({ label: "농업용수", val: farmUswtr, fill: "black" });
+ dnOutData.push({ label: "하천등유지용수", val: rvrKeepUswtr, fill: "yellow" });
+ dnOutData.push({ label: "공업용수", val: indstUswtr, fill: "black" });
+
+ // 라인차트 데이터
+ setInLineData({
+ chartData1: wshwtrData,
+ chartData2: coolUswtrData,
+ chartData3: cleanUswtrData,
+ chartData4: drwtUswtrData,
+ chartData5: dltnUswtrData,
+ chartData6: ithlRswtrData,
+ chartData7: ithlEtcUswtrData,
+ chartData8: cleanToilUswtrData,
+ chartData9: resnData
+ });
+ setOutLineData({
+ chartData1: lndwtrData,
+ chartData2: hydUswtrData,
+ chartData3: ugwtChrData,
+ chartData4: farmUswtrData,
+ chartData5: rvrKeepUswtrData,
+ chartData6: indstUswtrData,
+ });
+ setBarData(barData);
+ setChartData(dnData);
+ setDnInUsage(dnInData);
+ setDnOutUsage(dnOutData);
+ }
+ }, [rawData, year]);
useEffect(() => {
const newChartConfig = chartData.reduce((config, element) => {
@@ -196,46 +329,6 @@ export default function PbnstPrfmncSttn() {
setChartConfig(newChartConfig);
}, [chartData]);
- // 장내용수 도넛차트
- useEffect(() => {
- let wshwtr = 0;
- let coolUswtr = 0;
- let cleanUswtr = 0;
- let drwtUswtr = 0;
- let dltnUswtr = 0;
- let ithlRswtr = 0;
- let ithlEtcUswtr = 0;
- let cleanToilUswtr = 0;
- let resn = 0;
- if (rawData) {
- rawData.forEach((item) => {
- item.prfList.filter((e) => e.ym.slice(0, 4) === year) .forEach((element) => {
-
- wshwtr += element.wshwtr; //세척수
- coolUswtr += element.coolUswtr; //냉각수
- cleanUswtr += element.cleanUswtr; //청소수
- drwtUswtr += element.drwtUswtr; //식수대
- dltnUswtr += element.dltnUswtr //희석용수
- ithlRswtr += element.ithlRswtr //중수도
- ithlEtcUswtr += element.ithlEtcUswtr //기타
- cleanToilUswtr += element.cleanToilUswtr //청소화장실용수
- resn += element.resn //세척살수용수
- });
- })
- const data: dnChartForm[] = []
- data?.push({ label: "세척수", val: wshwtr, fill: "yellow" })
- data?.push({ label: "냉각수", val: coolUswtr, fill: "green" })
- data?.push({ label: "청소수", val: cleanUswtr, fill: "yellow" })
- data?.push({ label: "식수대", val: drwtUswtr, fill: "green" })
- data?.push({ label: "희석용수", val: dltnUswtr, fill: "yellow" })
- data?.push({ label: "중수도", val: ithlRswtr, fill: "green" })
- data?.push({ label: "기타", val: ithlEtcUswtr, fill: "yellow" })
- data?.push({ label: "청소화장실용수", val: cleanToilUswtr, fill: "green" })
- data?.push({ label: "세척살수용수", val: resn, fill: "yellow" })
- setDnInUsage(data);
- }
- }, [rawData, year])
-
useEffect(() => {
const newChartConfig = dnInUsage.reduce((config, element) => {
config[element.label] = {
@@ -247,37 +340,6 @@ export default function PbnstPrfmncSttn() {
setDnInChartConfig(newChartConfig);
}, [dnInUsage]);
- // 장외용수 도넛차트
- useEffect(() => {
- let lndwtr = 0;
- let hydUswtr = 0;
- let ugwtChr = 0;
- let farmUswtr = 0;
- let rvrKeepUswtr = 0;
- let indstUswtr = 0;
- if (rawData) {
- rawData.forEach((item) => {
- item.prfList.filter((e) => e.ym.slice(0, 4) === year) .forEach((element) => {
- lndwtr += element.lndwtr; //조경용수
- hydUswtr += element.hydUswtr; //친수용수
- ugwtChr += element.ugwtChr; //지하수충전
- farmUswtr += element.farmUswtr //농업용수
- rvrKeepUswtr += element.rvrKeepUswtr //하천등유지용수
- indstUswtr += element.indstUswtr //공업용수
-
- });
- })
- const data: dnChartForm[] = []
- data?.push({ label: "조경용수", val: lndwtr, fill: "yellow" })
- data?.push({ label: "친수용수", val: hydUswtr, fill: "black" })
- data?.push({ label: "지하수충전", val: ugwtChr, fill: "yellow" })
- data?.push({ label: "농업용수", val: farmUswtr, fill: "black" })
- data?.push({ label: "하천등유지용수", val: rvrKeepUswtr, fill: "yellow" })
- data?.push({ label: "공업용수", val: indstUswtr, fill: "black" })
- setDnOutUsage(data);
- }
- }, [rawData, year])
-
useEffect(() => {
const newChartConfig = dnOutUsage.reduce((config, element) => {
config[element.label] = {
@@ -289,69 +351,6 @@ export default function PbnstPrfmncSttn() {
setDnOutChartConfig(newChartConfig);
}, [dnOutUsage]);
- //월별 장내외 용수 총 실적 막대차트
- useEffect(() => {
- let wshwtr = 0;
- let coolUswtr = 0;
- let cleanUswtr = 0;
- let drwtUswtr = 0;
- let dltnUswtr = 0;
- let ithlRswtr = 0;
- let ithlEtcUswtr = 0;
- let cleanToilUswtr = 0;
- let resn = 0;
- let lndwtr = 0;
- let hydUswtr = 0;
- let ugwtChr = 0;
- let farmUswtr = 0;
- let rvrKeepUswtr = 0;
- let indstUswtr = 0;
- let inUsageSum = 0;
- let outUsageSum = 0;
- let inUsageArr = [];
- let outUsageArr = [];
-
-
- if (rawData) {
- const data: barChartForm[] = []
- rawData.forEach((item) => {
- item.prfList
- .filter((e) => e.ym.slice(0, 4) === year) .forEach((element) => {
-
- wshwtr = element.wshwtr; //세척수
- coolUswtr = element.coolUswtr; //냉각수
- cleanUswtr = element.cleanUswtr; //청소수
- drwtUswtr = element.drwtUswtr; //식수대
- dltnUswtr = element.dltnUswtr //희석용수
- ithlRswtr = element.ithlRswtr //중수도
- ithlEtcUswtr = element.ithlEtcUswtr //기타
- cleanToilUswtr = element.cleanToilUswtr //청소화장실용수
- resn = element.resn //세척살수용수
-
- lndwtr = element.lndwtr; //조경용수
- hydUswtr = element.hydUswtr; //친수용수
- ugwtChr = element.ugwtChr; //지하수충전
- farmUswtr = element.farmUswtr //농업용수
- rvrKeepUswtr = element.rvrKeepUswtr //하천등유지용수
- indstUswtr = element.indstUswtr //공업용수
-
- inUsageSum = wshwtr + coolUswtr + cleanUswtr + drwtUswtr + dltnUswtr + ithlRswtr + ithlEtcUswtr + cleanToilUswtr + resn;
- inUsageArr.push(inUsageSum)
- outUsageSum = lndwtr + hydUswtr + ugwtChr + farmUswtr + rvrKeepUswtr + indstUswtr;
- outUsageArr.push(outUsageSum)
-
- const month = Number(element.ym.slice(4, 6))
- data.push({ label: `${month}월`, "장내용수": inUsageSum, "장외용수": outUsageSum })
-
- },
- );
-
- })
-
- setBarData(data);
- }
- }, [rawData, year])
-
useEffect(() => {
const newChartConfig = barData.reduce((config, element) => {
config[element.label] = {
@@ -363,51 +362,6 @@ export default function PbnstPrfmncSttn() {
setBarChartConfig(newChartConfig);
}, [barData]);
- //월별 장내 용수 실적 라인차트
- useEffect(() => {
-
- if (rawData) {
- const wshwtrData: lineChartDataProps[] = []
- const coolUswtrData: lineChartDataProps[] = []
- const cleanUswtrData: lineChartDataProps[] = []
- const drwtUswtrData: lineChartDataProps[] = []
- const dltnUswtrData: lineChartDataProps[] = []
- const ithlRswtrData: lineChartDataProps[] = []
- const ithlEtcUswtrData: lineChartDataProps[] = []
- const cleanToilUswtrData: lineChartDataProps[] = []
- const resnData: lineChartDataProps[] = []
- rawData.forEach((item) => {
- item.prfList.filter((e) => e.ym.slice(0, 4) === year) .forEach((element) => {
- const month = Number(element.ym.slice(4, 6))
- wshwtrData.push({ label: `${month}월`, val: element.wshwtr, color: "red" })
- coolUswtrData.push({ label: `${month}월`, val: element.coolUswtr, color: "red" })
- cleanUswtrData.push({ label: `${month}월`, val: element.cleanUswtr, color: "red" })
- drwtUswtrData.push({ label: `${month}월`, val: element.drwtUswtr, color: "red" })
- dltnUswtrData.push({ label: `${month}월`, val: element.dltnUswtr, color: "red" })
- ithlRswtrData.push({ label: `${month}월`, val: element.ithlRswtr, color: "red" })
- ithlEtcUswtrData.push({ label: `${month}월`, val: element.ithlEtcUswtr, color: "red" })
- cleanToilUswtrData.push({ label: `${month}월`, val: element.cleanToilUswtr, color: "red" })
- resnData.push({ label: `${month}월`, val: element.resn, color: "red" })
-
- },
- );
- })
- const rtndata = {
- chartData1: wshwtrData,
- chartData2: coolUswtrData,
- chartData3: cleanUswtrData,
- chartData4: drwtUswtrData,
- chartData5: dltnUswtrData,
- chartData6: ithlRswtrData,
- chartData7: ithlEtcUswtrData,
- chartData8: cleanToilUswtrData,
- chartData9: resnData
- }
-
- setInLineData(rtndata)
- }
- }, [rawData, year])
-
useEffect(() => {
if (inLineData?.chartData1) {
const newChartConfig = {
@@ -452,37 +406,6 @@ export default function PbnstPrfmncSttn() {
}
}, [inLineData]);
- //월별 장외 용수 실적 라인차트
- useEffect(() => {
- if (rawData) {
- const lndwtrData: lineChartDataProps[] = []
- const hydUswtrData: lineChartDataProps[] = []
- const ugwtChrData: lineChartDataProps[] = []
- const farmUswtrData: lineChartDataProps[] = []
- const rvrKeepUswtrData: lineChartDataProps[] = []
- const indstUswtrData: lineChartDataProps[] = []
- rawData.forEach((item) => {
- item.prfList.filter((e) => e.ym.slice(0, 4) === year) .forEach((element) => {
- const month = Number(element.ym.slice(4, 6))
- lndwtrData.push({ label: `${month}월`, val: element.lndwtr, color: "red" })
- hydUswtrData.push({ label: `${month}월`, val: element.hydUswtr, color: "red" })
- ugwtChrData.push({ label: `${month}월`, val: element.ugwtChr, color: "red" })
- farmUswtrData.push({ label: `${month}월`, val: element.farmUswtr, color: "red" })
- rvrKeepUswtrData.push({ label: `${month}월`, val: element.rvrKeepUswtr, color: "red" })
- indstUswtrData.push({ label: `${month}월`, val: element.indstUswtr, color: "red" })
- },
- );
- })
- setOutLineData({
- chartData1: lndwtrData,
- chartData2: hydUswtrData,
- chartData3: ugwtChrData,
- chartData4: farmUswtrData,
- chartData5: rvrKeepUswtrData,
- chartData6: indstUswtrData,
- })
- }
- }, [rawData, year])
useEffect(() => {
if (outLineData?.chartData1) {
@@ -526,6 +449,16 @@ export default function PbnstPrfmncSttn() {
setbdstTable(prfmncRes);
}, [prfmncRes]);
+ const [searchYear, setSearchYear] = useState(
+ String(new Date().getFullYear())
+ );
+
+ useEffect(() => {
+ if (pbnRuseNm.length > 1)
+ pbnNmSearch("1", "23", ref.current, pbnRuseNm, searchYear);
+ }, [pbnRuseNm]);
+
+
return (
<>
@@ -566,13 +499,17 @@ export default function PbnstPrfmncSttn() {
value={toDate}
onSelectValue={(val: string | number) => setToDate(String(val))} />
- {
- setSwtrmtFcltNm(e);
- }} />
+ {
+ setPbnRuseNm(searchNm || "");
+ }}
+ setRtnData={function (rtnData: any[]): void {
+ setbdstTable(rtnData);
+ }}
+ searchList={pbnstSttn.pbnstSearchData || []}
+ >
{ }}
+ excelClick={excelClick}
initClick={function (): void { }}
btnClass={btnClass}
ref={ref} isAdmin={false} />
@@ -680,7 +617,7 @@ export default function PbnstPrfmncSttn() {
-
+
>
)
}
diff --git a/apps/wr/app/store/common/code/index.ts b/apps/wr/app/store/common/code/index.ts
index 6caabcb5c..74001b27c 100644
--- a/apps/wr/app/store/common/code/index.ts
+++ b/apps/wr/app/store/common/code/index.ts
@@ -31,18 +31,18 @@ const bdstUsgCd: SelectDataType[] = [
{ val: '16', text: "기타" },
];
//빗물 집수면 종류 용도
-const rainFcltCd = [
- { val: "1", text: "지붕" },
- { val: "2", text: "건물옥상" },
- { val: "3", text: "골프장 연못" },
- { val: "4", text: "운동장 바닥" },
- { val: "5", text: "운동장 지붕" },
- { val: "6", text: "주차장" },
- { val: "7", text: "태양광패널" },
- { val: "8", text: "연못" },
- { val: "9", text: "기타" },
- { val: "10", text: "확인불가" },
-];
+// const rainFcltCd = [
+// { val: "1", text: "지붕" },
+// { val: "2", text: "건물옥상" },
+// { val: "3", text: "골프장 연못" },
+// { val: "4", text: "운동장 바닥" },
+// { val: "5", text: "운동장 지붕" },
+// { val: "6", text: "주차장" },
+// { val: "7", text: "태양광패널" },
+// { val: "8", text: "연못" },
+// { val: "9", text: "기타" },
+// { val: "10", text: "확인불가" },
+// ];
// 중수도 필수 원수종류
const rswtBdstType: SelectDataType[] = [
{ text: "숙박업", val: "17" },
@@ -138,6 +138,19 @@ export const buildingType = {
HTB:"HTB"
}
+const rainFcltCd = [
+ { val: "지붕", text: "지붕" },
+ { val: "건물옥상", text: "건물옥상" },
+ { val: "골프장 연못", text: "골프장 연못" },
+ { val: "운동장 바닥", text: "운동장 바닥" },
+ { val: "운동장 지붕", text: "운동장 지붕" },
+ { val: "주차장", text: "주차장" },
+ { val: "태양광패널", text: "태양광패널" },
+ { val: "연못", text: "연못" },
+ { val: "기타", text: "기타" },
+ { val: "확인불가", text: "확인불가" },
+];
+
export type comCodeState = {
code: {
isInit: boolean;
diff --git a/apps/wr/app/store/prfmncSttn/pbnstPrfmncSttn/excel.tsx b/apps/wr/app/store/prfmncSttn/pbnstPrfmncSttn/excel.tsx
new file mode 100644
index 000000000..113a35289
--- /dev/null
+++ b/apps/wr/app/store/prfmncSttn/pbnstPrfmncSttn/excel.tsx
@@ -0,0 +1,24 @@
+export const excelPrfmncSttnParsing = (
+ data: any[]
+): string[][] => {
+ const excelExportData: string[][] = [];
+ data.forEach((item) => {
+ excelExportData.push([
+ item.용수명,
+ item.total,
+ item["1월"],
+ item["2월"],
+ item["3월"],
+ item["4월"],
+ item["5월"],
+ item["6월"],
+ item["7월"],
+ item["8월"],
+ item["9월"],
+ item["10월"],
+ item["11월"],
+ item["12월"],
+ ]);
+ });
+ return excelExportData;
+};
\ No newline at end of file
diff --git a/apps/wr/app/store/prfmncSttn/pbnstPrfmncSttn/index.tsx b/apps/wr/app/store/prfmncSttn/pbnstPrfmncSttn/index.tsx
index e47301b48..d0e958785 100644
--- a/apps/wr/app/store/prfmncSttn/pbnstPrfmncSttn/index.tsx
+++ b/apps/wr/app/store/prfmncSttn/pbnstPrfmncSttn/index.tsx
@@ -86,7 +86,7 @@ export const pbnstPrfmncSttnActionsExport: (set: any) => pbnstPrfmncSttnActions
yearHead[0].title = i + "년도"
}
yearHeader = [...yearHeader, ...yearHead]
- selectList.push({text: i + "년도", val: String(i)} )
+ selectList.push({ text: i + "년도", val: String(i) })
}
set((state: pbnstPrfmncSttnState) => {
return {
@@ -142,7 +142,6 @@ export const pbnstPrfmncSttnActionsExport: (set: any) => pbnstPrfmncSttnActions
bscFctCdList,
`wr`,
)
-
let inUsageSum = 0;
let outUsageSum = 0;
let usageSum = 0;
@@ -176,9 +175,6 @@ export const pbnstPrfmncSttnActionsExport: (set: any) => pbnstPrfmncSttnActions
resData.push({ ...data, ...acc })
}
})
-
-
-
return set((state: pbnstPrfmncSttnState) => ({
...state,
pbnstPrfmncSttn: {
diff --git a/apps/wr/app/store/ruseFcltMng/fcltSttn/htdflSttn/excel.tsx b/apps/wr/app/store/ruseFcltMng/fcltSttn/htdflSttn/excel.tsx
index 671eacae8..591623911 100644
--- a/apps/wr/app/store/ruseFcltMng/fcltSttn/htdflSttn/excel.tsx
+++ b/apps/wr/app/store/ruseFcltMng/fcltSttn/htdflSttn/excel.tsx
@@ -1,30 +1,34 @@
+import type { SelectDataType } from "@common/business_components/ui";
import type { customHtdflBdst } from "../../fcltReg/htdflReg";
-export const excelHtdflSttnParsing = (data: customHtdflBdst[]): string[][] => {
+export const excelHtdflSttnParsing = (
+ data: customHtdflBdst[],
+ sidoCode: SelectDataType[],
+ sggCode: SelectDataType[]
+): string[][] => {
const excelExportData: string[][] = [];
data.forEach((item) => {
excelExportData.push([
- String(item.cityText??""),
- String(item.sggText??""),
+ sidoCode.find((sido) => sido.val === item.ctpvCd.toString())?.text ?? "",
+ sggCode.find((sgg) => sgg.val === item.sggCd.toString())?.text ?? "",
item.bdstNm ?? "",
item.daddr ?? "",
String(item.frstArchPrmsnDt ?? ""),
String(item.reuseBuilding?.[0]?.htdflObj.etgtType ?? ""),
String(item.reuseBuilding?.[0]?.htdflObj.fclCpct ?? ""), // fix: added missing parenthesis
- String(item.reuseBuilding?.[0]?.htdflObj.plwtYn ? "Y" :"N"), // fix: added missing parenthesis
+ String(item.reuseBuilding?.[0]?.htdflObj.plwtYn ? "Y" : "N"), // fix: added missing parenthesis
String(item.reuseBuilding?.[0]?.htdflObj.orgwtWtritSpt ?? ""), // fix: added missing parenthesis
String(item.reuseBuilding?.[0]?.htdflObj.wtritEntrcTp ?? ""), // fix: removed as it doesn't exist in the provided context
String(item.reuseBuilding?.[0]?.htdflObj.orgwtOcrnProcs ?? ""), // fix: removed as it doesn't exist in the provided context
- String( item.reuseBuilding?.[0]?.htdflObj?.amtgnr ?? ""), // fix: removed as it doesn't exist in the provided context
+ String(item.reuseBuilding?.[0]?.htdflObj?.amtgnr ?? ""), // fix: removed as it doesn't exist in the provided context
String(item.reuseBuilding?.[0]?.htdflObj?.prcsProcsYn ?? ""), // fix: removed as it doesn't exist in the provided context
- String( '컬럼확인'), // fix: removed as it doesn't exist in the provided context
String(item.reuseBuilding?.[0]?.htdflObj?.prcsFcltCpct ?? ""), // fix: removed as it doesn't exist in the provided context
String(item.reuseBuilding?.[0]?.htdflObj?.fmYn ?? ""), // fix: removed as it doesn't exist in the provided context
String(item.reuseBuilding?.[0]?.htdflObj?.utztnCpct ?? ""), // fix: removed as it doesn't exist in the provided context
String(item.reuseBuilding?.[0]?.htdflObj?.utztnUsg ?? ""), // fix: removed as it doesn't exist in the provided context
String(item.reuseBuilding?.[0]?.htdflObj?.emsnExitTp ?? ""), // fix: removed as it doesn't exist in the provided context
- ]);
- });
- return excelExportData;
+ ]);
+ });
+ return excelExportData;
};
diff --git a/apps/wr/app/store/ruseFcltMng/fcltSttn/htdflSttn/headList.tsx b/apps/wr/app/store/ruseFcltMng/fcltSttn/htdflSttn/headList.tsx
index 8de673f16..756c47b9b 100644
--- a/apps/wr/app/store/ruseFcltMng/fcltSttn/htdflSttn/headList.tsx
+++ b/apps/wr/app/store/ruseFcltMng/fcltSttn/htdflSttn/headList.tsx
@@ -70,13 +70,6 @@ export const htdflSttHeadListExport: z.infer = [
title: "처리공정여부",
visible: true,
},
- {
- id: "prcsProcstest",
- title: "처리공정여부??",
- visible: true,
- },
-
-
{
id: "prcsFcltCpct",
title: "처리시설용량(m³)",
@@ -259,36 +252,15 @@ export const htdflSttNodeListExport: CommonTableProps[] = [
rowSpan: 2,
colSpan: 1,
},
- {
- id: "prcsProcs",
- title: "처리공정",
- upName: "htdflMngInfo",
- visible: true,
- row: 2,
- rowSpan: 1,
- colSpan: 2,
- },
{
id: "prcsProcsYn",
title: "처리공정여부",
upName: "prcsProcs",
visible: true,
- row: 3,
- rowSpan: 1,
+ row: 2,
+ rowSpan: 2,
colSpan: 1,
},
-
- {
- id: "prcsProcstest",
- title: "처리공정여부??",
- upName: "prcsProcs",
- visible: true,
- row: 3,
- rowSpan: 1,
- colSpan: 1,
- },
-
-
{
id: "prcsFcltCpct",
title: "처리시설용량(m³)",
diff --git a/apps/wr/app/store/ruseFcltMng/fcltSttn/rainSttn/excel.tsx b/apps/wr/app/store/ruseFcltMng/fcltSttn/rainSttn/excel.tsx
index 8ae786488..13530a81f 100644
--- a/apps/wr/app/store/ruseFcltMng/fcltSttn/rainSttn/excel.tsx
+++ b/apps/wr/app/store/ruseFcltMng/fcltSttn/rainSttn/excel.tsx
@@ -1,18 +1,23 @@
+import type { SelectDataType } from "@common/business_components/ui";
import type { customRainBdst } from "../../fcltReg/rainReg";
-export const excelRainSttnParsing = (data: customRainBdst[]): string[][] => {
+export const excelRainSttnParsing = (
+ data: customRainBdst[],
+ sidoCode: SelectDataType[],
+ sggCode: SelectDataType[]
+): string[][] => {
const excelExportData: string[][] = [];
data.forEach((item) => {
excelExportData.push([
- String(item.ctpvCd),
- String(item.sggCd),
+ sidoCode.find((sido) => sido.val === item.ctpvCd.toString())?.text ?? "",
+ sggCode.find((sgg) => sgg.val === item.sggCd.toString())?.text ?? "",
item.bdstNm ?? "",
item.daddr ?? "",
String(item.bdstInfoPk ?? ""),
String(item.frstArchPrmsnDt ?? ""),
String(item.archArea ?? ""),
- String(item.chgBuilding.length>0 ? "Y" :"N"),
+ String(item.chgBuilding.length > 0 ? "Y" : "N"),
String(item.reuseBuilding?.[0]?.lawTrgtYn ?? ""),
String(item.reuseBuilding?.[0]?.instlCmptnDt ?? ""),
String(item.reuseBuilding?.[0]?.instlCst ?? ""),
@@ -28,8 +33,8 @@ export const excelRainSttnParsing = (data: customRainBdst[]): string[][] => {
String(item.reuseBuilding?.[0]?.grntchBdstCertYr ?? ""),
String(item.reuseBuilding?.[0]?.grntchBdstCertNo ?? ""),
String(item.reuseBuilding?.[0]?.grntchBdstCertGrd ?? "")
- ]);
- });
- return excelExportData;
+ ]);
+ });
+ return excelExportData;
};
diff --git a/apps/wr/app/store/ruseFcltMng/fcltSttn/rainSttn/index.tsx b/apps/wr/app/store/ruseFcltMng/fcltSttn/rainSttn/index.tsx
index 853298d51..5aa54ee48 100644
--- a/apps/wr/app/store/ruseFcltMng/fcltSttn/rainSttn/index.tsx
+++ b/apps/wr/app/store/ruseFcltMng/fcltSttn/rainSttn/index.tsx
@@ -13,6 +13,7 @@ import {
} from "./headList";
import type { z } from "zod";
import type { CommonTableProps } from "@/app/store/common/type/header";
+import type { SelectDataType } from "@common/business_components/ui";
// 테이블 헤드 리스트
const rainSttHeadList = rainSttHeadListExport;
@@ -101,7 +102,7 @@ export type rainSttnState = {
};
type rainSttnActions = {
rainSttnInit:(con:string) => void
- rainSttnSearch: (page: number, total: string, con: string) => void;
+ rainSttnSearch: (page: number, total: string, con: string, sidoCode: SelectDataType[], sggCode: SelectDataType[]) => void;
rainChSttnHead: (
headList: z.infer,
) => void;
@@ -148,14 +149,16 @@ export const rainSttnActionsExport: (set: any) => rainSttnActions = (
console.log(e)
}
},
- rainSttnSearch: async (page: number, total: string, con: string) => {
+ rainSttnSearch: async (page: number, total: string, con: string,
+ sidoCode: SelectDataType[],
+ sggCode: SelectDataType[]) => {
try {
const rainSttnRes = await getFetch(
fetchType.WR,
`/reuseFc/rainyInfoList/${page}/${total}/${con}`
);
if (Number(total) > 9000) {
- const rainExcel = excelRainSttnParsing(rainSttnRes);
+ const rainExcel = excelRainSttnParsing(rainSttnRes, sidoCode, sggCode);
set((state: rainSttnState) => {
return {
...state,
diff --git a/apps/wr/app/store/ruseFcltMng/fcltSttn/rswtSttn/excel.tsx b/apps/wr/app/store/ruseFcltMng/fcltSttn/rswtSttn/excel.tsx
index 5c0ecf0b3..ac57a8016 100644
--- a/apps/wr/app/store/ruseFcltMng/fcltSttn/rswtSttn/excel.tsx
+++ b/apps/wr/app/store/ruseFcltMng/fcltSttn/rswtSttn/excel.tsx
@@ -1,19 +1,25 @@
+import type { SelectDataType } from "@common/business_components/ui";
import type { customRswtBdst } from "../../fcltReg/rswtReg";
+import { useWrStore } from "@/app/store";
-export const excelRSwtSttnParsing = (data: customRswtBdst[]): string[][] => {
+export const excelRSwtSttnParsing = (
+ data: customRswtBdst[],
+ sidoCode: SelectDataType[],
+ sggCode: SelectDataType[]
+): string[][] => {
const excelExportData: string[][] = [];
data.forEach((item) => {
excelExportData.push([
- String(item.ctpvCd),
- String(item.sggCd),
+ sidoCode.find((sido) => sido.val === item.ctpvCd.toString())?.text ?? "",
+ sggCode.find((sgg) => sgg.val === item.sggCd.toString())?.text ?? "",
item.bdstNm ?? "",
item.daddr ?? "",
String(item.bdstUsgText ?? ""),
String(item.frstArchPrmsnDt ?? ""),
String(item.archArea ?? ""),
String(item.reuseBuilding?.[0]?.rswtrObj.wtrUsqty ?? "0"), //물사용량
- String(item.chgBuilding.length>0 ? "Y" :"N"), //중축・개축・재축여부
+ String(item.chgBuilding.length > 0 ? "Y" : "N"), //중축・개축・재축여부
String(item.reuseBuilding?.[0]?.lawTrgtYn ?? ""), //법적의무대상여부
String(item.reuseBuilding?.[0]?.rswtrObj.oblgTrgtWtrUsqty ?? ""), //의무대상물사용량
String(item.reuseBuilding?.[0]?.instlCmptnDt ?? ""), //설치완료일시
@@ -28,7 +34,7 @@ export const excelRSwtSttnParsing = (data: customRswtBdst[]): string[][] => {
String(item.reuseBuilding?.[0]?.grntchBdstCertYr ?? ""),
String(item.reuseBuilding?.[0]?.grntchBdstCertNo ?? ""),
String(item.reuseBuilding?.[0]?.grntchBdstCertGrd ?? "")
- ]);
- });
- return excelExportData;
+ ]);
+ });
+ return excelExportData;
};
\ No newline at end of file
diff --git a/apps/wr/app/store/ruseFcltMng/fcltSttn/rswtSttn/index.tsx b/apps/wr/app/store/ruseFcltMng/fcltSttn/rswtSttn/index.tsx
index 775e22e0c..301cd965e 100644
--- a/apps/wr/app/store/ruseFcltMng/fcltSttn/rswtSttn/index.tsx
+++ b/apps/wr/app/store/ruseFcltMng/fcltSttn/rswtSttn/index.tsx
@@ -6,6 +6,7 @@ import { controlHeadView } from "../rainSttn";
import type { sttnHeadListType } from "../rainSttn/headList";
import { excelRSwtSttnParsing } from "./excel";
import { rswtSttHeadListExport, rswtSttNodeListExport } from "./headList";
+import type { SelectDataType } from "@common/business_components/ui";
@@ -26,11 +27,10 @@ export type rswtSttnState = {
};
};
-
-
type rswtSttnActions = {
rswtSttnInit: (con: string) => void;
- rswtSttnSearch: (page: number, total: string, con: string) => void;
+ rswtSttnSearch: (page: number, total: string, con: string, sidoCode: SelectDataType[],
+ sggCode: SelectDataType[]) => void;
rswtChSttnHead: (
headList: z.infer,
) => void;
@@ -38,8 +38,6 @@ type rswtSttnActions = {
export type rswtSttnType = rswtSttnState & rswtSttnActions;
-
-
export const rswtSttnStateExport: rswtSttnState = {
rswtSttn: {
rswtSttHeadList: rswtSttHeadList,
@@ -77,14 +75,16 @@ export const rswtSttnActionsExport: (set: any) => rswtSttnActions = (
console.log(e)
}
},
- rswtSttnSearch: async (page: number, total: string, con: string) => {
+ rswtSttnSearch: async (page: number, total: string, con: string,
+ sidoCode: SelectDataType[],
+ sggCode: SelectDataType[]) => {
try {
const rswtSttnRes = await getFetch(
fetchType.WR,
`/reuseFc/waterreuseFc/${page}/${total}/${con}`
);
if (Number(total) > 9000) {
- const rswtExcel = excelRSwtSttnParsing(rswtSttnRes);
+ const rswtExcel = excelRSwtSttnParsing(rswtSttnRes, sidoCode, sggCode);
set((state: rswtSttnState) => {
return {
...state,
diff --git a/apps/wr/components/ui/form/fcltReg/htdflReg/htdflRegForm.tsx b/apps/wr/components/ui/form/fcltReg/htdflReg/htdflRegForm.tsx
index 9f6869706..70e62eb7f 100644
--- a/apps/wr/components/ui/form/fcltReg/htdflReg/htdflRegForm.tsx
+++ b/apps/wr/components/ui/form/fcltReg/htdflReg/htdflRegForm.tsx
@@ -27,9 +27,11 @@ import { formH1Class } from "@/components/lib/class/comClass";
export default function HtdflRegForm({
htdflForm,
isModal,
+ readonly = false
}: {
htdflForm: customHtdflBdst;
isModal: boolean;
+ readonly?: boolean;
}) {
const { code, htdflBdstUpdate, htdflBdstReg } = useWrStore((state) => state);
@@ -42,9 +44,9 @@ export default function HtdflRegForm({
const onSubmit = (values: z.infer) => {
if (isModal) {
- htdflBdstReg(values,'41');
+ htdflBdstReg(values, '41');
} else {
- htdflBdstUpdate(values ,'41');
+ htdflBdstUpdate(values, '41');
}
};
@@ -84,520 +86,549 @@ export default function HtdflRegForm({
return (