fo: dashboard 물사용량 수정
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user