wr: 하수재이용시설 조회 api 정리1
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user