Merge commit '7acc96b75baa96805e142f4799f23866bd69405f' into iipbs/wr/dev
iipbs_wr / build (push) Waiting to run

This commit is contained in:
truthwing
2025-07-14 15:04:40 +09:00
2 changed files with 34 additions and 39 deletions
@@ -8,7 +8,7 @@ import { excelDownload, yearOptions } from "@/components/lib/func/commom";
import SearchInputText from "@/components/ui/searchInput/searchInput";
import { CHART_FORM, ContentsDiv, MainChart, SearchBaseForm, SelectBox, Title, UiTable, type ChartConfig, type ReturnType } from "@common/business_components";
import ListDiv from "@common/business_components/ui/list_div";
import { Button, Label } from "@common/components/ui";
import { Label } from "@common/components/ui";
import { useCallback, useEffect, useRef, useState } from "react";
import toast, { Toaster } from "react-hot-toast";
import { useTranslation } from "react-i18next";
@@ -18,7 +18,7 @@ export default function PbnstPrfmncSttn() {
code,
tableHeadMaker,
pbnstPrfmncSttn,
pbnstPrfmncInit,
// pbnstPrfmncInit,
pbnstPrfmncSearch,
prfmnc,
pbnstSttn,
@@ -26,18 +26,16 @@ export default function PbnstPrfmncSttn() {
} = useWrStore((state) => state);
const { monthHeadList } = prfmnc
const { pbnstPrfHeadList, prfmncRes, rawData, selectYearList } = pbnstPrfmncSttn;
const [isChHead, setIsChHead] = useState(false);
// const [isChHead, setIsChHead] = useState(false);
const [fromDate, setFromDate] = useState<string>(String(new Date().getFullYear()));
const [toDate, setToDate] = useState<string>(String(new Date().getFullYear()));
const [year, setYear] = useState<string>(String(new Date().getFullYear()));
const [bdstTable, setbdstTable] = useState<FcPrfType[]>();
const ref = useRef<ReturnType>({} as ReturnType);
const [swtrmtFcltNm, setSwtrmtFcltNm] = useState<string>();
// const [swtrmtFcltNm, setSwtrmtFcltNm] = useState<string>();
const [pbnRuseNm, setPbnRuseNm] = useState<string>("");
const { t } = useTranslation('base');
const [searchYear, setSearchYear] = useState<string>(
String(new Date().getFullYear())
);
const searchYear = String(new Date().getFullYear());
const [excelData, setExcelData] = useState<any[]>([]);
const excelClick = useCallback(() => {
if (!excelData || excelData.length === 0) {
@@ -83,7 +81,7 @@ export default function PbnstPrfmncSttn() {
chartData8: lineChartDataProps[];
}>();
type dnChartForm = { label: string, val: number, fill?: string };
type dnChartForm = { label: string, val: number, color?: string };
type barChartForm = { label: string, "장내용수": number, "장외용수": number };
type lineChartDataProps = { label: string, val: number, color: string };
@@ -176,7 +174,7 @@ export default function PbnstPrfmncSttn() {
let inUsageSum = 0,
outUsageSum = 0;
let inUsageArr: number[] = [],
const inUsageArr: number[] = [],
outUsageArr: number[] = [];
// 라인차트용 데이터
@@ -287,27 +285,27 @@ export default function PbnstPrfmncSttn() {
})
// 도넛차트 데이터
dnData.push({ label: "장내용수", val: dnTotalIn, fill: "#8DD8FF" });
dnData.push({ label: "장외용수", val: dnTotalOut, fill: "#FFF085" });
dnData.push({ label: "장내용수", val: dnTotalIn, color: "#8DD8FF" });
dnData.push({ label: "장외용수", val: dnTotalOut, color: "#FFF085" });
// 장내용수 도넛
dnInData.push({ label: "세척수", val: wshwtr, fill: "#F7CFD8" });
dnInData.push({ label: "냉각수", val: coolUswtr, fill: "#F4F8D3" });
dnInData.push({ label: "청소수", val: cleanUswtr, fill: "#A6D6D6" });
dnInData.push({ label: "식수대", val: drwtUswtr, fill: "#8E7DBE" });
dnInData.push({ label: "희석용수", val: dltnUswtr, fill: "#FF8383" });
dnInData.push({ label: "중수도", val: ithlRswtr, fill: "#FFF574" });
dnInData.push({ label: "기타", val: ithlEtcUswtr, fill: "#A1D6CB" });
dnInData.push({ label: "세척수", val: wshwtr, color: "#F7CFD8" });
dnInData.push({ label: "냉각수", val: coolUswtr, color: "#F4F8D3" });
dnInData.push({ label: "청소수", val: cleanUswtr, color: "#A6D6D6" });
dnInData.push({ label: "식수대", val: drwtUswtr, color: "#8E7DBE" });
dnInData.push({ label: "희석용수", val: dltnUswtr, color: "#FF8383" });
dnInData.push({ label: "중수도", val: ithlRswtr, color: "#FFF574" });
dnInData.push({ label: "기타", val: ithlEtcUswtr, color: "#A1D6CB" });
// 장외용수 도넛
dnOutData.push({ label: "청소화장실용수", val: cleanToilUswtr, fill: "#A19AD3" });
dnOutData.push({ label: "세척살수용수", val: resn, fill: "#B1F0F7" });
dnOutData.push({ label: "조경용수", val: lndwtr, fill: "#81BFDA" });
dnOutData.push({ label: "친수용수", val: hydUswtr, fill: "#F5F0CD" });
dnOutData.push({ label: "지하수충전", val: ugwtChr, fill: "#FADA7A" });
dnOutData.push({ label: "농업용수", val: farmUswtr, fill: "#A6AEBF" });
dnOutData.push({ label: "하천등유지용수", val: rvrKeepUswtr, fill: "#C5D3E8" });
dnOutData.push({ label: "공업용수", val: indstUswtr, fill: "#D0E8C5" });
dnOutData.push({ label: "청소화장실용수", val: cleanToilUswtr, color: "#A19AD3" });
dnOutData.push({ label: "세척살수용수", val: resn, color: "#B1F0F7" });
dnOutData.push({ label: "조경용수", val: lndwtr, color: "#81BFDA" });
dnOutData.push({ label: "친수용수", val: hydUswtr, color: "#F5F0CD" });
dnOutData.push({ label: "지하수충전", val: ugwtChr, color: "#FADA7A" });
dnOutData.push({ label: "농업용수", val: farmUswtr, color: "#A6AEBF" });
dnOutData.push({ label: "하천등유지용수", val: rvrKeepUswtr, color: "#C5D3E8" });
dnOutData.push({ label: "공업용수", val: indstUswtr, color: "#D0E8C5" });
// 라인차트 데이터 월별 오름차순 정렬
const sortFn = (a: { label: string }, b: { label: string }) => parseInt(a.label) - parseInt(b.label);
@@ -359,10 +357,10 @@ export default function PbnstPrfmncSttn() {
const newChartConfig = chartData.reduce((config, element) => {
config[element.label] = {
label: element.label,
fill: element.fill
color: element.color
};
return config;
}, {} as Record<string, { label: string; fill?: string }>) satisfies ChartConfig;
}, {} as Record<string, { label: string; color?: string }>) satisfies ChartConfig;
setChartConfig(newChartConfig);
}, [chartData]);
@@ -370,7 +368,7 @@ export default function PbnstPrfmncSttn() {
const newChartConfig = dnInUsage.reduce((config, element) => {
config[element.label] = {
label: element.label,
fill: element.fill
color: element.color ?? "gray"
};
return config;
}, {} as Record<string, { label: string; color: string; }>) satisfies ChartConfig;
@@ -381,7 +379,7 @@ export default function PbnstPrfmncSttn() {
const newChartConfig = dnOutUsage.reduce((config, element) => {
config[element.label] = {
label: element.label,
fill: element.fill
color: element.color ?? "gray"
};
return config;
}, {} as Record<string, { label: string; color: string; }>) satisfies ChartConfig;
@@ -507,7 +505,7 @@ export default function PbnstPrfmncSttn() {
useEffect(() => {
if (pbnRuseNm.length > 1)
pbnNmSearch("1", "23", ref.current, pbnRuseNm, searchYear);
pbnNmSearch("1", "23", ref.current, pbnRuseNm, searchYear,[]);
}, [pbnRuseNm]);
const cellClick = (index: number | undefined, headId: string) => {
@@ -555,9 +553,9 @@ export default function PbnstPrfmncSttn() {
setValue={(searchNm?: string) => {
setPbnRuseNm(searchNm || "");
}}
setRtnData={function (rtnData: any[]): void {
// setbdstTable(rtnData);
}}
setRtnData={/*function (rtnData: any[]): void {setbdstTable(rtnData);}*/
()=>{}
}
searchList={pbnstSttn.pbnstSearchData || []}
></SearchInputText>
{/* <SelectBox
@@ -660,9 +658,7 @@ export default function PbnstPrfmncSttn() {
pageSize={0}
total={0}
cellClick={undefined}
onPageChange={function (page: number): void {
throw new Error("Function not implemented.");
}}>
onPageChange={()=>{}}>
</UiTable>
{/* <ListDiv className="col-span-8 pr-6 ">
@@ -147,7 +147,6 @@ export const pbnstPrfmncSttnActionsExport: (set: any) => pbnstPrfmncSttnActions
)
let inUsageSum = 0;
let outUsageSum = 0;
let usageSum = 0;
let year = "";
const yearsData = [] as any
@@ -200,7 +199,7 @@ export const pbnstPrfmncSttnActionsExport: (set: any) => pbnstPrfmncSttnActions
});
const resData: any[] = []
pbnstRes.forEach((acc) => {
let data = yearsData.find((item) => item.pbnstRuseFcltPk.substring(0, 11) === acc.bscFctCd)
const data = yearsData.find((item) => item.pbnstRuseFcltPk.substring(0, 11) === acc.bscFctCd)
if (data) {
resData.push({ ...acc, ...data })
}