wr: 하수재이용시설 조회 api 정리1

This commit is contained in:
2026-07-01 15:18:42 +09:00
parent 06f5a3cde0
commit 8d17623d3a
9 changed files with 182 additions and 344 deletions
@@ -1,12 +1,17 @@
/**
* 하수재이용 시설 현황
* 재이용시설 현황 - 하수재이용시설 현황
/**
* 하수재이용시설 현황
* 재이용시설 현황 > 하수재이용시설 현황
*
* 사용 API
* 하수재이용시설 현황 목록 조회 reuse-service /reuseFc/pbnstList
* 하수처리시설 기본정보 조회 operation-service /prcsFclt/ruseInfo
* 상세조회 모달 전달을 위한 하수재이용시설 상세 조회 reuse-service /reuseFc/pubFc/{pbnstRuseFcltId}
*
* - layout.tsx에 의해 공통 레이아웃이 적용됨
* - with-layout 적용
* 하수처리시설. 하수재이용시설 , 하수재이용시설 실적에 대한 정보를 확인한다.
* 모달 : 테이블의 헤더를 원하는대로 조절해서 볼수 있다.
* 클릭시 해당 재이용ㅇ
* */
* - 하수처리시설, 하수재이용시설, 하수재이용시설 실적에 대한 정보를 확인한다.
* - 모달에서 테이블 헤더를 원하는대로 조절해서 볼 수 있다.
*/
"use client";
import { useWrStore } from "@/app/store";
import { btnClass } from "@/app/store/common/code";
@@ -113,8 +118,7 @@ export default function PbnstSttn() {
"100000",
fixedSearchValue,
pbnRuseNm,
searchYear,
[]
searchYear
);
}, [pbnstSttnList, pbnRuseNm, searchYear, getFixedSearchValue]);
@@ -145,8 +149,7 @@ export default function PbnstSttn() {
String(DEFAULT_LIST_SIZE),
getFixedSearchValue(ref.current),
pbnRuseNm,
searchYear,
[]
searchYear
);
}
}, [
@@ -265,8 +268,7 @@ export default function PbnstSttn() {
String(DEFAULT_LIST_SIZE),
fixedSearchValue,
pbnRuseNm,
searchYear,
[]
searchYear
);
}}
excelClick={excelClick}
@@ -303,8 +305,7 @@ export default function PbnstSttn() {
String(DEFAULT_LIST_SIZE),
fixedSearchValue,
pbnRuseNm,
searchYear,
[]
searchYear
);
}}
widthFixed={true}
@@ -1,5 +1,9 @@
/**
* 재이용실적등록 > 하수재이용실적등록
*
* 🔗 사용 API
* 하수재이용시설 목록 조회 reuse-service /reuseFc/pbnstPrfRegList
* 하수재이용시설 실적 상세 조회 reuse-service /reuseFc/pbnstPrfRegDtl
*/
"use client";
import { useWrStore } from "@/app/store";
@@ -25,7 +25,6 @@ export default function PbnstPrfmncSttn() {
pbnstPrfmncSearch,
getFlctsSttn,
prfmnc,
pbnNmSearch,
getLaeSeCdCheck
} = useWrStore((state) => state);
const { laeSeCd } = auth;
@@ -584,11 +583,6 @@ export default function PbnstPrfmncSttn() {
if (prfmncRes?.[0]?.pbnstRuseFcltId) setChartId(prfmncRes[0].pbnstRuseFcltId)
}, [prfmncRes]);
useEffect(() => {
if (pbnRuseNm.length > 1)
pbnNmSearch("1", "23", getFixedSearchValue(ref.current), pbnRuseNm, searchYear, []);
}, [pbnRuseNm, getFixedSearchValue, pbnNmSearch, searchYear]);
const cellClick = (index: number | undefined, headId: string) => {
if (index !== undefined && headId !== undefined) {
setChartId(prfmncRes[index].pbnstRuseFcltId)
+138 -2
View File
@@ -1,4 +1,6 @@
import { fetchType, getFetch, postFectch } from "@/components/lib/api";
import type { FcPrfType } from "@/app/store/prfmncReg/pbnstPrfmncReg/type";
import moment from "moment";
import type { CommonTableProps } from "../../common/type/header";
import type { WaterReuseFacility } from "../../ruseFcltMng/fcltSttn/pbnstSttn/type";
import {
@@ -6,8 +8,7 @@ import {
pbnSttHeadListExport,
} from "../../ruseFcltMng/fcltSttn/pbnstSttn/headList";
import type { ReturnType } from "@common/business_components/ui";
import { hasuListFetch } from "../../ruseFcltMng/fcltSttn/pbnstSttn";
import type { customPbnst } from "../../ruseFcltMng/fcltReg/pbnstReg/type";
import type { customPbnst, pubHasuType } from "../../ruseFcltMng/fcltReg/pbnstReg/type";
import { excelPbnstSttnParsing } from "../../ruseFcltMng/fcltSttn/pbnstSttn/excel";
export const ruseMapSize = 15;
@@ -61,6 +62,141 @@ export const ruseMapStateExport: ruseMapState = {
},
};
const hasuListFetch = async (
page: string,
total: string,
reurnValue: ReturnType,
searchNm: string | undefined,
year: string,
flcts: string[]
) => {
if (flcts.length === 0) {
return { data: [], count: 0 };
}
let url = ``;
let filteredFclt = flcts;
let nameCd = "0",
partStr = "A",
sidogunValue = "0";
switch (reurnValue.partValue) {
case "R":
if (reurnValue.regionValue !== "0") {
if (reurnValue.unitWaterShedValue === "0") nameCd = reurnValue.regionValue;
else if (reurnValue.middleRegionValue === "0") nameCd = reurnValue.unitWaterShedValue;
else nameCd = reurnValue.middleRegionValue;
}
partStr = reurnValue.partValue;
break;
default:
if (reurnValue.sidoValue && reurnValue.sidoValue !== "0") nameCd = reurnValue.sidoValue;
if (reurnValue.sigunValue && reurnValue.sigunValue !== "0") nameCd = reurnValue.sigunValue;
sidogunValue = nameCd;
partStr = reurnValue.envPartValue !== "0" ? reurnValue.envPartValue : "A";
break;
}
if (sidogunValue && sidogunValue !== "0") {
filteredFclt = flcts.filter((fclt: string) => {
return sidogunValue.length == 2
? fclt.slice(0, 2) === sidogunValue
: fclt.slice(0, 5) === sidogunValue;
});
}
url = `${partStr}/${nameCd}/0/1/SW`;
if (searchNm && searchNm.length > 0) {
url += "/" + searchNm;
}
if (filteredFclt.length === 0) {
return { data: [], count: 0 };
}
const pbnList = await postFectch(
`/prcsFclt/ruseInfo/1/${filteredFclt.length}/` + url,
filteredFclt,
fetchType.COMMON
);
const checkRuseFcltList = pbnList.data.map((item) => item.bscFctCd);
const getRuseList = await postFectch(
`/reuseFc/pubDetailList/${year}/${sidogunValue}/${page}/${total}`,
checkRuseFcltList,
fetchType.WR
);
const checkWrRegListRes = getRuseList.data;
const data: WaterReuseFacility[] = checkWrRegListRes
.map((item: FcPrfType) => {
const findData = pbnList.data.find(
(fclt: pubHasuType) =>
fclt.bscFctCd === item.pbnstRuseFcltId.substring(0, 11)
);
if (findData) {
const usage = item.prfList.reduce(
(acc, cur) => {
acc.inUsage +=
cur.wshwtr +
cur.coolUswtr +
cur.cleanUswtr +
cur.drwtUswtr +
cur.dltnUswtr +
cur.ithlRswtr +
cur.ithlEtcUswtr +
cur.cleanToilUswtr +
cur.resn;
acc.outUsage +=
cur.lndwtr +
cur.hydUswtr +
cur.ugwtChr +
cur.farmUswtr +
cur.rvrKeepUswtr +
cur.indstUswtr;
acc.total = acc.inUsage + acc.outUsage;
return acc;
},
{ total: 0, inUsage: 0, outUsage: 0 }
);
return {
rvbsn: findData?.rvbsn || "-",
lgbsn: findData?.lgbsn || "-",
mdmbsn: findData?.mdmbsn || "-",
rgnNm: findData?.rgnNm || "-",
sido: findData?.sido || "-",
gugun: findData?.gugun || "-",
bscFctNm: findData?.bscFctNm || "-",
efflWqltStndrdNm: findData?.efflWqltStndrdNm || "-",
fctCpc: Number(findData?.fctCpc) || 0,
tel: findData?.tel ?? "-",
ruseUtztnFcltNm: item?.ruseUtztnFcltNm || "-",
fcltCpct: item?.fcltCpct || "-",
splyExtraCpct: item?.splyExtraCpct || "-",
ruseCpct: item?.ruseCpct || "-",
pbnstRuseFcltId: item.pbnstRuseFcltId || "-",
usageTotal: usage?.total,
inUsage: usage?.inUsage,
outUsage: usage?.outUsage,
operMthd: item.operList[0]?.operMthd || "-",
rprtvBzenty: item.operList[0]?.rprtvBzenty,
bgngDt: moment(item.operList[0]?.bgngDt).format("YYYY-MM-DD") ?? "",
endDt: moment(item.operList[0]?.endDt).format("YYYY-MM-DD") ?? "",
searchNm: findData?.bscFctNm || "-",
searchPk: findData?.bscFctCd || "-",
prfList: item?.prfList ?? [],
};
}
})
.filter(Boolean);
return { data: data, count: getRuseList.count };
};
export const ruseMapActionsExport: (set: any) => ruseMapActions = (
set: any
) => {
@@ -302,7 +302,7 @@ export const pbnstRegZod = z.object({
fcOpers://z.array(fcOperSchema).default([]),
z .array(fcOperSchema)
.min(1, { message: "재이용시설의 운영정보를 최소 하나를 등록해주세요" }),
prfList: z.array(PrfSchema).nullish(),
prfList: z.array(PrfSchema).nullish(),
});
@@ -63,6 +63,7 @@ export const pbnstSttNodeListExport: CommonTableProps[] = [
{ id: "endDt", title: "종료일", upName: "mngInfo", visible: true, row: 2, rowSpan: 1, colSpan: 1, },
];
// 하수처리수 재이용시설 현황 tab 상단
export const ruseFcltNodeListExport: TableUpperProps[] = [
{ id: "cycl", title: "차수", visible: true, row: 1, rowSpan: 3, colSpan: 1 },
{ id: "seCd", title: "구분", visible: true, row: 1, rowSpan: 3, colSpan: 1 },
@@ -84,6 +85,7 @@ export const ruseFcltNodeListExport: TableUpperProps[] = [
{ id: "totalMoney", title: "합계", visible: true, row: 3, rowSpan: 1, colSpan: 1 },
];
// 재이용 원수 취수 현황
export const ruseSplyHeadListExport: TableUpperProps[] = [
{ id: "cycl", title: "차수", visible: true },
{ id: "orgwtWtritQnt", title: "원수취수량(m³/일)", visible: true },
@@ -125,6 +127,7 @@ export const ruseDmdHeadListExport: TableUpperProps[] = [
{ id: "splyFmYon", title: "공급유량계 유무", visible: true },
];
// 하수처리수 재이용시설 현황 tab 하단
export const ruseFcltHeadListExport: CommonTableProps[] = [
{ id: "cycl", title: "차수", visible: true},
{ id: "seCd", title: "구분", visible: true},
@@ -2,10 +2,8 @@ import type {
CommonTableProps,
TableUpperProps,
} from "@/app/store/common/type/header";
import type { FcPrfType } from "@/app/store/prfmncReg/pbnstPrfmncReg/type";
import { fetchType, getFetch, getFetchWithCount, postFectch } from "@/components/lib/api";
import type { ReturnType } from "@common/business_components/ui";
import moment from "moment";
import { type z } from "zod";
import type { customPbnst, pubHasuType } from "../../fcltReg/pbnstReg/type";
import { controlHeadView } from "../rainSttn";
@@ -34,7 +32,6 @@ const pbnstSttNodeList = pbnstSttNodeListExport;
export type pbnstSttnState = {
pbnstSttn: {
pbnstSttnRes: WaterReuseFacility[];
pbnstSearchData: WaterReuseFacility[];
pbnstSttHeadList: CommonTableProps[];
pbnstSttNodeList: CommonTableProps[];
pbnstDetail: customPbnst;
@@ -46,8 +43,6 @@ export type pbnstSttnState = {
ruseFcltHeadList: TableUpperProps[];
pbnstSttnResCount: number;
excelList: [];
fclts: string[];
isFcltsLoaded: boolean; // wr 하수재이용시설 목록 조회 여부
isTableLoaded: boolean; // 현황 테이블 초기 조회 여부
};
};
@@ -60,35 +55,9 @@ type pbnstSttnActions = {
total: string,
reurnValue: ReturnType,
searchNm: string | undefined,
year: string,
fclts: string[]
) => void;
pbnstSttnSearch: (
isExcel: boolean,
page: string,
total: string,
reurnValue: ReturnType,
searchNm: string | undefined,
year: string,
fclts: string[]
) => void;
getFlcts: () => void;
pbnSttnInit: (
page: string,
total: string,
reurnValue: ReturnType,
year: string,
flcts: string[]
year: string
) => void;
getPbnStnDetail: (pbnstRuseFcltId: string) => void;
pbnNmSearch: (
page: string,
total: string,
reurnValue: ReturnType,
searchNm: string | undefined,
year: string,
flcts: string[]
) => void;
resetPbnstDetail: () => void;
};
@@ -98,163 +67,20 @@ export const pbnstSttnStateExport: pbnstSttnState = {
pbnstSttn: {
pbnstSttHeadList: pbnstSttHeadList,
pbnstSttNodeList: pbnstSttNodeList,
ruseFcltNodeList: ruseFcltNodeListExport,
ruseFcltNodeList: ruseFcltNodeListExport, // 하수재이용시설 상세정보 - 하수처리수 재이용시설 현황 tab 상단
ruseSplyHeadList: ruseSplyHeadListExport,
rusePplHeadList: rusePplHeadListExport,
ruseGuranteeHeadList: ruseGuranteeHeadListExport,
ruseDmdHeadList: ruseDmdHeadListExport,
ruseFcltHeadList: ruseFcltHeadListExport,
ruseFcltHeadList: ruseFcltHeadListExport, // 하수재이용시설 상세정보 - 하수처리수 재이용시설 현황 tab 하단
pbnstSttnRes: [],
pbnstSttnResCount: 1,
pbnstDetail: {} as customPbnst,
pbnstSearchData: [],
excelList: [],
fclts: [],
isFcltsLoaded: false,
isTableLoaded: false,
},
};
export const hasuListFetch = async (
page: string,
total: string,
reurnValue: ReturnType,
searchNm: string | undefined,
year: string,
flcts: string[]
) => {
// 시설 코드가 없으면 FO 조회를 호출하지 않고 빈 결과 반환
if (flcts.length === 0) {
return { data: [], count: 0 };
}
let url = ``;
let filteredFclt = flcts;
let nameCd="0", partStr="A", sidogunValue="0";
switch (reurnValue.partValue) {
case 'R': // 유역별
if (reurnValue.regionValue !== '0') {
if(reurnValue.unitWaterShedValue==='0') nameCd = reurnValue.regionValue;
else if (reurnValue.middleRegionValue==='0') nameCd = reurnValue.unitWaterShedValue;
else nameCd = reurnValue.middleRegionValue;
}
partStr = reurnValue.partValue;
break;
default:
if(reurnValue.sidoValue && reurnValue.sidoValue !== '0') nameCd = reurnValue.sidoValue;
if(reurnValue.sigunValue &&reurnValue.sigunValue !== '0') nameCd = reurnValue.sigunValue;
sidogunValue = nameCd;
partStr = reurnValue.envPartValue !== '0' ? reurnValue.envPartValue:'A';
break;
}
if (sidogunValue && sidogunValue !== "0") { // 시도, 시군구 조회 조건이 있다면
filteredFclt = flcts.filter((fclt: string) => {
return sidogunValue.length == 2
? fclt.slice(0, 2) === sidogunValue
: fclt.slice(0, 5) === sidogunValue;
});
}
url = `${partStr}/${nameCd}/0/1/SW`;
if (searchNm && searchNm?.length > 0) {
url += "/" + searchNm;
}
// console.log(url);
// 시설 코드가 없으면 FO 조회를 호출하지 않고 빈 결과 반환
if (filteredFclt.length === 0) {
return { data: [], count: 0 };
}
// fo의 하수처리시설을 조회
const pbnList = await postFectch(
`/prcsFclt/ruseInfo/1/${filteredFclt.length}/` + url,
filteredFclt,
fetchType.COMMON // FO
);
const checkRuseFcltList = pbnList.data.map((item) => item.bscFctCd);
// console.log(checkRuseFcltList);
const getRuseList = await postFectch(
`/reuseFc/pubDetailList/${year}/${sidogunValue}/${page}/${total}`,
checkRuseFcltList,
fetchType.WR
);
const checkWrRegListRes = getRuseList.data;
// console.log(getRuseList);
const data: WaterReuseFacility[] = checkWrRegListRes
.map((item: FcPrfType) => {
const findData = pbnList.data.find(
(fclt: pubHasuType) =>
fclt.bscFctCd === item.pbnstRuseFcltId.substring(0, 11)
);
if (findData) {
const usage = item.prfList.reduce(
(acc, cur) => {
acc.inUsage +=
cur.wshwtr +
cur.coolUswtr +
cur.cleanUswtr +
cur.drwtUswtr +
cur.dltnUswtr +
cur.ithlRswtr +
cur.ithlEtcUswtr +
cur.cleanToilUswtr +
cur.resn;
acc.outUsage +=
cur.lndwtr +
cur.hydUswtr +
cur.ugwtChr +
cur.farmUswtr +
cur.rvrKeepUswtr +
cur.indstUswtr;
acc.total = acc.inUsage + acc.outUsage;
return acc;
},
{ total: 0, inUsage: 0, outUsage: 0 }
);
return {
rvbsn: findData?.rvbsn || "-",
lgbsn: findData?.lgbsn || "-",
mdmbsn: findData?.mdmbsn || "-",
rgnNm: findData?.rgnNm || "-",
sido: findData?.sido || "-",
gugun: findData?.gugun || "-",
bscFctNm: findData?.bscFctNm || "-",
efflWqltStndrdNm: findData?.efflWqltStndrdNm || "-",
fctCpc: Number(findData?.fctCpc) || 0,
tel: findData?.tel ?? "-",
ruseUtztnFcltNm: item?.ruseUtztnFcltNm || "-",
fcltCpct: item?.fcltCpct || "-",
splyExtraCpct: item?.splyExtraCpct || "-",
ruseCpct: item?.ruseCpct || "-",
pbnstRuseFcltId: item.pbnstRuseFcltId || "-",
usageTotal: usage?.total,
inUsage: usage?.inUsage,
outUsage: usage?.outUsage,
operMthd: item.operList[0]?.operMthd || "-",
rprtvBzenty: item.operList[0]?.rprtvBzenty,
bgngDt: moment(item.operList[0]?.bgngDt).format("YYYY-MM-DD") ?? "",
endDt: moment(item.operList[0]?.endDt).format("YYYY-MM-DD") ?? "",
searchNm: findData?.bscFctNm || "-",
searchPk: findData?.bscFctCd || "-",
prfList: item?.prfList ?? [],
};
}
})
.filter(Boolean);
return { data: data, count: getRuseList.count };
};
export const pbnstListFetch = async (
page: string,
total: string,
@@ -372,25 +198,13 @@ export const pbnstSttnActionsExport: (set: any) => pbnstSttnActions = (
set: any
) => {
return {
//등록된 하수재이용시설을 조회한다.
getFlcts: async () => {
const fclts = await getFetch(fetchType.WR, "/reuseFc/pubFc");
return set((state: pbnstSttnState) => ({
pbnstSttn: {
...state.pbnstSttn,
isFcltsLoaded: true,
fclts: fclts,
},
}));
},
pbnstSttnList: async (
isExcel: boolean,
page: string,
total: string,
reurnValue: ReturnType,
searchNm: string | undefined,
year: string,
// _fclts: string[]
year: string
) => {
try {
const pbnstSttnRes = await pbnstListFetch(
@@ -440,90 +254,6 @@ export const pbnstSttnActionsExport: (set: any) => pbnstSttnActions = (
},
}));
},
//하수처리시설을 조회하여 하수재이용시설을 확인한다.
pbnstSttnSearch: async (
isExcel: boolean,
page: string,
total: string,
reurnValue: ReturnType, // 검색조건
searchNm: string | undefined,
year: string,
fclts: string[]
) => {
try {
// console.log(reurnValue);
const pbnstSttnRes = await hasuListFetch(
page,
total,
reurnValue,
searchNm,
year,
fclts
);
// if (Number(total) > 9000) {
if (isExcel) {
const pbnstExcel = excelPbnstSttnParsing(pbnstSttnRes.data);
set((state: pbnstSttnState) => {
return {
...state,
pbnstSttn: {
...state.pbnstSttn,
excelList: pbnstExcel,
},
};
});
} else {
set((state: pbnstSttnState) => {
return {
...state,
pbnstSttn: {
...state.pbnstSttn,
pbnstSttnRes: pbnstSttnRes.data,
pbnstSttnResCount: pbnstSttnRes.count,
isTableLoaded: true,
},
};
});
}
} catch (erTxt) {
console.log("error", erTxt);
}
},
//하수처리시설을 조회하여 하수재이용시설을 조회한다.
pbnSttnInit: async (
page: string,
total: string,
reurnValue: ReturnType,
year: string,
fclts: string[]
) => {
try {
const pbnstSttnRes = await hasuListFetch(
page,
total,
reurnValue,
undefined,
year,
fclts
);
set((state: pbnstSttnState) => {
return {
...state,
pbnstSttn: {
...state.pbnstSttn,
pbnstSttnRes: pbnstSttnRes.data,
pbnstSttnResCount: pbnstSttnRes.count,
pbnstDetail: {} as customPbnst,
isTableLoaded: true,
},
};
});
} catch (erTxt) {
console.log("error", erTxt);
}
},
// 팝업에 있는 데이터를 초기화한다.
resetPbnstDetail: async () => {
set((state: pbnstSttnState) => {
@@ -561,38 +291,5 @@ export const pbnstSttnActionsExport: (set: any) => pbnstSttnActions = (
console.log(errorHasu);
}
},
//하수재이용시설 실적 현황 에서 사용하는 조회
pbnNmSearch: async (
page: string,
total: string,
reurnValue: ReturnType,
searchNm: string | undefined,
year: string,
flcts: string[]
) => {
try {
const pbnstSttnRes = await hasuListFetch(
page,
total,
reurnValue,
searchNm,
year,
flcts
);
set((state: pbnstSttnState) => {
return {
...state,
pbnstSttn: {
...state.pbnstSttn,
pbnstSearchData: pbnstSttnRes.data,
pbnstSttnResCount: pbnstSttnRes.count,
},
};
});
} catch (e) {
console.log(e);
}
},
};
};
@@ -1,3 +1,6 @@
/**
* 하수재이용시설 현황 상세정보 modal
*/
import { headMakeprfmnc } from "@/app/(with-layout)/ruseFcltMng/prfmncReg/chkgdnReg/TableHead";
import { useWrStore } from "@/app/store";
import type { TableUpperProps } from "@/app/store/common/type/header";
@@ -57,7 +60,7 @@ export function PbnstSttnModal({ data, isMap }: { data: customPbnst; isMap?: boo
useEffect(() => {
let tableData;
if (fcltTab === "fclt") {
if (fcltTab === "fclt") { // 하수처리수 재이용시설 현황
tableData = data.fcBizs?.map((item: fcBizType) => {
return {
cycl: item.cycl + "차",
@@ -81,7 +84,7 @@ export function PbnstSttnModal({ data, isMap }: { data: customPbnst; isMap?: boo
mainSplyPumpCpct: item.mainSplyPumpCpct ?? "-",
};
});
} else if (fcltTab === "sply") {
} else if (fcltTab === "sply") { // 재이용 원수 취수 현황
tableData = data.fcBizs.flatMap((item: fcBizType) => {
return item?.fcOrgwts?.map((fcOrgwt) => {
return {
@@ -93,7 +96,7 @@ export function PbnstSttnModal({ data, isMap }: { data: customPbnst; isMap?: boo
};
});
});
} else if (fcltTab === "ppi") {
} else if (fcltTab === "ppi") { // 재이용 공급관로 현황
tableData = data.fcBizs?.flatMap((item: fcBizType) => {
return item?.pplInstls?.map((ppl) => {
return {
@@ -104,7 +107,7 @@ export function PbnstSttnModal({ data, isMap }: { data: customPbnst; isMap?: boo
};
});
});
} else if (fcltTab === "guarantee") {
} else if (fcltTab === "guarantee") { // 재이용 보증수질 현황
tableData = data.fcBizs?.map((item: fcBizType) => {
return {
cycl: item.cycl + "차",
@@ -121,7 +124,7 @@ export function PbnstSttnModal({ data, isMap }: { data: customPbnst; isMap?: boo
cdtnv: item.cdtnv,
};
});
} else if (fcltTab === "dmdCo") {
} else if (fcltTab === "dmdCo") { // 수요처
tableData = data.fcBizs?.flatMap((item: fcBizType) => {
return item?.fcDemands?.map((dmd) => {
@@ -143,15 +146,15 @@ export function PbnstSttnModal({ data, isMap }: { data: customPbnst; isMap?: boo
}
}, [fcltTab, data]);
useEffect(() => {
if (fcltTab === "fclt") {
setRuseHeadList(pbnstSttn.ruseFcltHeadList);
} else if (fcltTab === "sply") {
setRuseHeadList(pbnstSttn.ruseSplyHeadList);
} else if (fcltTab === "ppi") {
if (fcltTab === "fclt") { // 하수처리수 재이용시설 현황 tab 하단
setRuseHeadList(pbnstSttn.ruseFcltHeadList);
} else if (fcltTab === "sply") { // 재이용 원수 취수 현황
setRuseHeadList(pbnstSttn.ruseSplyHeadList);
} else if (fcltTab === "ppi") { // 재이용 공급관로 현황
setRuseHeadList(pbnstSttn.rusePplHeadList);
} else if (fcltTab === "guarantee") {
} else if (fcltTab === "guarantee") { // 재이용 보증수질 현황
setRuseHeadList(pbnstSttn.ruseGuranteeHeadList);
} else if (fcltTab === "dmdCo") {
} else if (fcltTab === "dmdCo") { // 수요처
setRuseHeadList(pbnstSttn.ruseDmdHeadList);
}
}, [
@@ -151,7 +151,7 @@ export function UiTable<T extends object = Record<string, unknown>>({
) : (
<></>
)}
<div className={`card !p-0r !m-[1.2rem] ${className}`}>
<div className={`card !m-[1.2rem] ${className}`}>
<Table variant="secondary" className={widthFixed ? "table-fixed" : ""}>
{widthFixed ?
<colgroup>