From 8d17623d3a771d483c0cc5a0c2b613575652e3eb Mon Sep 17 00:00:00 2001 From: ljpark Date: Wed, 1 Jul 2026 15:18:42 +0900 Subject: [PATCH] =?UTF-8?q?wr:=20=ED=95=98=EC=88=98=EC=9E=AC=EC=9D=B4?= =?UTF-8?q?=EC=9A=A9=EC=8B=9C=EC=84=A4=20=EC=A1=B0=ED=9A=8C=20api=20?= =?UTF-8?q?=EC=A0=95=EB=A6=AC1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruseFcltMng/fcltSttn/pbnstSttn/page.tsx | 31 +- .../prfmncReg/pbnstPrfmncReg/page.tsx | 4 + .../prfmncSttn/pbnstPrfmncSttn/page.tsx | 6 - apps/wr/app/store/map/ruseMap/index.tsx | 140 +++++++- .../ruseFcltMng/fcltReg/pbnstReg/type.tsx | 2 +- .../fcltSttn/pbnstSttn/headList.tsx | 3 + .../ruseFcltMng/fcltSttn/pbnstSttn/index.tsx | 311 +----------------- .../sttn/pbnstSttnModal/pbnstSttnModal.tsx | 27 +- .../src/ui/table/index.tsx | 2 +- 9 files changed, 182 insertions(+), 344 deletions(-) diff --git a/apps/wr/app/(with-layout)/ruseFcltMng/fcltSttn/pbnstSttn/page.tsx b/apps/wr/app/(with-layout)/ruseFcltMng/fcltSttn/pbnstSttn/page.tsx index 2476d1a10..ecb57d726 100644 --- a/apps/wr/app/(with-layout)/ruseFcltMng/fcltSttn/pbnstSttn/page.tsx +++ b/apps/wr/app/(with-layout)/ruseFcltMng/fcltSttn/pbnstSttn/page.tsx @@ -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} diff --git a/apps/wr/app/(with-layout)/ruseFcltMng/prfmncReg/pbnstPrfmncReg/page.tsx b/apps/wr/app/(with-layout)/ruseFcltMng/prfmncReg/pbnstPrfmncReg/page.tsx index d815f2f4d..fca1b511a 100644 --- a/apps/wr/app/(with-layout)/ruseFcltMng/prfmncReg/pbnstPrfmncReg/page.tsx +++ b/apps/wr/app/(with-layout)/ruseFcltMng/prfmncReg/pbnstPrfmncReg/page.tsx @@ -1,5 +1,9 @@ /** * 재이용실적등록 > 하수재이용실적등록 + * + * 🔗 사용 API + * 하수재이용시설 목록 조회 reuse-service /reuseFc/pbnstPrfRegList + * 하수재이용시설 실적 상세 조회 reuse-service /reuseFc/pbnstPrfRegDtl */ "use client"; import { useWrStore } from "@/app/store"; diff --git a/apps/wr/app/(with-layout)/ruseFcltMng/prfmncSttn/pbnstPrfmncSttn/page.tsx b/apps/wr/app/(with-layout)/ruseFcltMng/prfmncSttn/pbnstPrfmncSttn/page.tsx index 53617689d..2238e8bdc 100644 --- a/apps/wr/app/(with-layout)/ruseFcltMng/prfmncSttn/pbnstPrfmncSttn/page.tsx +++ b/apps/wr/app/(with-layout)/ruseFcltMng/prfmncSttn/pbnstPrfmncSttn/page.tsx @@ -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) diff --git a/apps/wr/app/store/map/ruseMap/index.tsx b/apps/wr/app/store/map/ruseMap/index.tsx index f68fb96b3..bf56ea572 100644 --- a/apps/wr/app/store/map/ruseMap/index.tsx +++ b/apps/wr/app/store/map/ruseMap/index.tsx @@ -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 ) => { diff --git a/apps/wr/app/store/ruseFcltMng/fcltReg/pbnstReg/type.tsx b/apps/wr/app/store/ruseFcltMng/fcltReg/pbnstReg/type.tsx index cb86777e0..3a9756693 100644 --- a/apps/wr/app/store/ruseFcltMng/fcltReg/pbnstReg/type.tsx +++ b/apps/wr/app/store/ruseFcltMng/fcltReg/pbnstReg/type.tsx @@ -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(), }); diff --git a/apps/wr/app/store/ruseFcltMng/fcltSttn/pbnstSttn/headList.tsx b/apps/wr/app/store/ruseFcltMng/fcltSttn/pbnstSttn/headList.tsx index cca75609f..c6a50bf5c 100644 --- a/apps/wr/app/store/ruseFcltMng/fcltSttn/pbnstSttn/headList.tsx +++ b/apps/wr/app/store/ruseFcltMng/fcltSttn/pbnstSttn/headList.tsx @@ -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}, diff --git a/apps/wr/app/store/ruseFcltMng/fcltSttn/pbnstSttn/index.tsx b/apps/wr/app/store/ruseFcltMng/fcltSttn/pbnstSttn/index.tsx index 5b2a72acf..819c3a300 100644 --- a/apps/wr/app/store/ruseFcltMng/fcltSttn/pbnstSttn/index.tsx +++ b/apps/wr/app/store/ruseFcltMng/fcltSttn/pbnstSttn/index.tsx @@ -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); - } - }, }; }; diff --git a/apps/wr/components/ui/modal/sttn/pbnstSttnModal/pbnstSttnModal.tsx b/apps/wr/components/ui/modal/sttn/pbnstSttnModal/pbnstSttnModal.tsx index 0c168ade8..b7d9bab51 100644 --- a/apps/wr/components/ui/modal/sttn/pbnstSttnModal/pbnstSttnModal.tsx +++ b/apps/wr/components/ui/modal/sttn/pbnstSttnModal/pbnstSttnModal.tsx @@ -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); } }, [ diff --git a/packages/common/business_components/src/ui/table/index.tsx b/packages/common/business_components/src/ui/table/index.tsx index ed05a7f19..351f08dff 100644 --- a/packages/common/business_components/src/ui/table/index.tsx +++ b/packages/common/business_components/src/ui/table/index.tsx @@ -151,7 +151,7 @@ export function UiTable>({ ) : ( <> )} -
+
{widthFixed ?