fo: dashboard 물사용량 수정

This commit is contained in:
2026-01-02 18:04:19 +09:00
parent 911e97791d
commit 63543a016e
+19 -58
View File
@@ -760,32 +760,8 @@ const calcWaterQltyData = async (data: any[], searchYear: string | undefined, fc
// const qltyChungchunData = CalcRainEffect(clone(qltyData), 'SUNNY');
// 강우시 변수
let rainSummerDay9 = 0, noNullRainSummerDay9 = 0;
let rainInflBodAvg9 = 0, rainInflTnAvg9 = 0, rainInflTpAvg9 = 0;
let rainEfflBodAvg9 = 0, rainEfflTnAvg9 = 0, rainEfflTpAvg9 = 0, rainTpInflAvg9 = 0;
const qltyRainData = CalcRainEffect(clone(qltyData), 'RAIN');
const rainEffectDayArray: string[] = [];
// 강우시
qltyRainData.forEach((item: any) => {
const month = item.msrDt.substring(4, 6); // 월 추출
if (month === '06' || month === '07' || month === '08') {
rainSummerDay9 += 1;
if (item.tpInflWqltTp != null && item.tpInflWqltTp != 0) {
noNullRainSummerDay9 += 1;
}
rainInflBodAvg9 += nullToZero(item.inflAssctBfrWqltBod);
rainInflTnAvg9 += nullToZero(item.inflAssctBfrWqltTn);
rainInflTpAvg9 += nullToZero(item.inflAssctBfrWqltTp);
rainEfflBodAvg9 += nullToZero(item.efflWqltBod);
rainEfflTnAvg9 += nullToZero(item.efflWqltTn);
rainEfflTpAvg9 += nullToZero(item.efflWqltTp);
rainTpInflAvg9 += nullToZero(item.tpInflWqltTp);
}
});
console.log("99999999999999999");
console.log(rainSummerDay9, noNullRainSummerDay9, rainInflBodAvg9, rainInflTnAvg9, rainInflTpAvg9, rainEfflBodAvg9, rainEfflTnAvg9, rainEfflTpAvg9, rainTpInflAvg9);
// (0) 전체변수
let summerDay = 0, noNullSummerDay = 0;
let totalInflBodAvgSummer = 0, totalInflTnAvgSummer = 0, totalInflTpAvgSummer = 0;
@@ -1013,8 +989,8 @@ const calcWaterQltyData = async (data: any[], searchYear: string | undefined, fc
// 총인설비
orgData[11].summerThree = qltyDataSetting(rainTpInflAvg, noNullRainSummerDay, 3);
orgData[12].summerThree = qltyDataSetting(rainInflTpAvg, rainSummerDay, 3);
console.log(rainEffectDayArray);
console.log("000000000", rainSummerDay, noNullRainSummerDay, rainInflBodAvg, rainInflTnAvg, rainInflTpAvg, rainEfflBodAvg, rainEfflTnAvg, rainEfflTpAvg, rainTpInflAvg);
// console.log(rainEffectDayArray);
// console.log("000000000", rainSummerDay, noNullRainSummerDay, rainInflBodAvg, rainInflTnAvg, rainInflTpAvg, rainEfflBodAvg, rainEfflTnAvg, rainEfflTpAvg, rainTpInflAvg);
return orgData;
} else {
@@ -1250,40 +1226,25 @@ const calcValue = (operationalStatus, data, keyTxt = 'INFL_ASSCT_BFR_WQLT_TP') =
operationalStatus.winterSunnyMax = data.winterSunny && data.winterSunny['MAX_' + keyTxt] ? Number(Math.round(data.winterSunny['MAX_' + keyTxt] * 1.3 * 1000) / 1000).toFixed(3).toString() : '';
}
type RtnFlowType = {
inflAmnt: string | number;
infoRnDay: string | number;
bscFctCd: string;
msrDt: string;
type wtrUsgYearsType = {
YEAR: string;
WTR_USG: number;
}
type RtnFlowResponse = {
data: RtnFlowType[];
type wtrUsgYearsResponse = {
data: wtrUsgYearsType[];
count: number;
}
const searchWaterUsage = async (searchYear: string, fcltyCd: string) => {
const waterUsage = [0, 0, 0];
const waterUsage = [0, 0, 0]; // searchYear, searchYear-1, searchYear-2
for (let i = 0; i < 3; i++) {
try {
const res = await getFetch('fo', '/fclt/flow/' + fcltyCd + '/' + (Number(searchYear) - i)) as RtnFlowResponse;
let totWaterUsage = 0;
if (res && res.data && Array.isArray(res.data)) {
res.data.forEach((item: RtnFlowType) => {
totWaterUsage += Number(item.inflAmnt);
});
if (res.count > 0) {
const avg = totWaterUsage / res.count;
waterUsage[i] = parseFloat((avg * 0.65).toFixed(2));
}
}
} catch (error) {
console.error(`Error fetching water usage for year ${Number(searchYear) - i}:`, error);
waterUsage[i] = 0;
}
const res = await getFetch('fo', '/dashBoard/wtrUsgYears/' + searchYear + '/' + fcltyCd) as wtrUsgYearsResponse;
let i = 0;
if (res && res.data && Array.isArray(res.data)) {
res.data.forEach((item: wtrUsgYearsType) => {
waterUsage[i] = item.WTR_USG;
i++;
});
}
return waterUsage;
@@ -1314,7 +1275,7 @@ export const dashBoardReducer = (
}));
let waterUsage = [0, 0, 0];
waterUsage = await searchWaterUsage(targetYear, fcltyCd); // /fclt/flow/{fcltyCd}/{year}
console.log(waterUsage);
set((state: DashBoardType) => ({
...state,
PlanFclty: {
@@ -1834,9 +1795,9 @@ export const dashBoardReducer = (
const rtnData = await calcWaterQltyData(operationalStatusList, searchYear, fcltyCd); // 수질 데이터 청천시, 강우시 재계산
// 총인설비가 없을 경우 제외
console.log('총인시설 여부 : ', data.yearData?.TP_FCT_YN);
// console.log('총인시설 여부 : ', data.yearData?.TP_FCT_YN);
console.log('rtnData : ', rtnData);
// console.log('rtnData : ', rtnData);
if (data.yearData?.TP_FCT_YN !== 'Y') {
operationalStatusList = rtnData.slice(0, 11);
} else {