대시보드 수치 맞추는 작업 진행중 (현재 유입유량 및 총유입량 맞추는 작업완료)

This commit is contained in:
2025-08-21 18:27:52 +09:00
parent 7ca09a60d8
commit 8013483d17
2 changed files with 76 additions and 24 deletions
@@ -134,7 +134,7 @@ export default function ProcessFacilitySearch() {
initializeCommonData();
searchFacilityWaterQltyList(1, 10, selectSearchYear[0]?.val || "0");
}
}, [isInit, initializeCommonData, searchFacilityWaterQltyList]);
}, [isInit, initializeCommonData, searchFacilityWaterQltyList, selectSearchYear]);
useEffect(() => {
if (excelList && excelList.length > 0) {
+75 -23
View File
@@ -1090,7 +1090,6 @@ export const dashBoardReducer:(set:(fn: (state: DashBoardType) => DashBoardType)
dataFormSettingPlan(el, 0);
}
set((state: DashBoardType) => ({
...state,
PlanFclty: {
@@ -1130,9 +1129,21 @@ export const dashBoardReducer:(set:(fn: (state: DashBoardType) => DashBoardType)
// 유량 - 유입
if (operationalStatusList?.[0]) {
// 연간
const yearAvg = data.yearData===null?'':(data.yearData.AVG_INFL_AMNT?data.yearData.AVG_INFL_AMNT:0)+(data.yearData.AVG_SUM_FLOW?data.yearData.AVG_SUM_FLOW:0)+(data.yearData.AVG_RETURN_AMNT?data.yearData.AVG_RETURN_AMNT:0);
const yearMax = data.yearData===null?'':(data.yearData.MAX_INFL_AMNT?data.yearData.MAX_INFL_AMNT:0)+(data.yearData.MAX_SUM_FLOW?data.yearData.MAX_SUM_FLOW:0)+(data.yearData.MAX_RETURN_AMNT?data.yearData.MAX_RETURN_AMNT:0);
const yearMin = data.yearData===null?'':(data.yearData.MIN_INFL_AMNT?data.yearData.MIN_INFL_AMNT:0)+(data.yearData.MIN_SUM_FLOW?data.yearData.MIN_SUM_FLOW:0)+(data.yearData.MIN_RETURN_AMNT?data.yearData.MIN_RETURN_AMNT:0);
const yearAvg = data.yearData===null ? '' : (
(data.yearData.AVG_INFL_AMNT?data.yearData.AVG_INFL_AMNT:0) +
(data.yearData.AVG_SUM_FLOW?data.yearData.AVG_SUM_FLOW:0) +
(data.yearData.AVG_RETURN_AMNT?data.yearData.AVG_RETURN_AMNT:0)
);
const yearMax = data.yearData===null ? '' : (
(data.yearData.MAX_INFL_AMNT?data.yearData.MAX_INFL_AMNT:0) +
(data.yearData.MAX_SUM_FLOW?data.yearData.MAX_SUM_FLOW:0) +
(data.yearData.MAX_RETURN_AMNT?data.yearData.MAX_RETURN_AMNT:0)
);
const yearMin = data.yearData===null ? '' : (
(data.yearData.MIN_INFL_AMNT?data.yearData.MIN_INFL_AMNT:0) +
(data.yearData.MIN_SUM_FLOW?data.yearData.MIN_SUM_FLOW:0) +
(data.yearData.MIN_RETURN_AMNT?data.yearData.MIN_RETURN_AMNT:0)
);
operationalStatusList[0].yearAvg = yearAvg;
operationalStatusList[0].yearMax = yearMax;
@@ -1140,18 +1151,15 @@ export const dashBoardReducer:(set:(fn: (state: DashBoardType) => DashBoardType)
// 여름
operationalStatusList[0].summerAll = data.summer === null ? '' : (
(data.summer.AVG_INFL_AMNT ? data.summer.AVG_INFL_AMNT : 0) +
(data.summer.AVG_SUM_FLOW ? data.summer.AVG_SUM_FLOW : 0) +
(data.summer.AVG_TP_INFL_WQLT_TP ? data.summer.AVG_TP_INFL_WQLT_TP : 0)
(data.summer.AVG_SUM_FLOW ? data.summer.AVG_SUM_FLOW : 0)
);
operationalStatusList[0].summerThree = data.summerRainy === null ? '' : (
(data.summerRainy.AVG_INFL_AMNT ? data.summerRainy.AVG_INFL_AMNT : 0) +
(data.summerRainy.AVG_SUM_FLOW ? data.summerRainy.AVG_SUM_FLOW : 0) +
(data.summerRainy.AVG_TP_INFL_WQLT_TP ? data.summerRainy.AVG_TP_INFL_WQLT_TP : 0)
(data.summerRainy.AVG_SUM_FLOW ? data.summerRainy.AVG_SUM_FLOW : 0)
);
operationalStatusList[0].summerRain = data.summerSunny === null ? '' : (
(data.summerSunny.AVG_INFL_AMNT ? data.summerSunny.AVG_INFL_AMNT : 0) +
(data.summerSunny.AVG_SUM_FLOW ? data.summerSunny.AVG_SUM_FLOW : 0) +
(data.summerSunny.AVG_TP_INFL_WQLT_TP ? data.summerSunny.AVG_TP_INFL_WQLT_TP : 0)
(data.summerSunny.AVG_SUM_FLOW ? data.summerSunny.AVG_SUM_FLOW : 0)
);
// 겨울
operationalStatusList[0].winterAll = data.winter === null ? '' : (
@@ -1251,17 +1259,6 @@ export const dashBoardReducer:(set:(fn: (state: DashBoardType) => DashBoardType)
}
});
operationalStatusList[0].yearAvg = roundUp(Number(operationalStatusList[0].yearAvg) + (yearSumFlow&&Number(yearSumFlow) != 0?Number(yearSumFlow / yearDay):0), 0);
operationalStatusList[0].yearMax = roundUp(Number(operationalStatusList[0].yearMax) + Number(maxYearSumFlow), 0);
operationalStatusList[0].yearMin = roundUp(Number(operationalStatusList[0].yearMin) + Number(minYearSumFlow), 0);
operationalStatusList[0].summerAll = roundUp(Number(operationalStatusList[0].summerAll) + (summerSumFlow&&Number(summerSumFlow)!=0?Number(summerSumFlow / summerDay):0), 0);
operationalStatusList[0].summerThree = roundUp(Number(operationalStatusList[0].summerThree) + (summerRainDaySumFlow&&Number(summerRainDaySumFlow)!=0?Number(summerRainDaySumFlow / summerRainDay):0), 0);
operationalStatusList[0].summerRain = roundUp(Number(operationalStatusList[0].summerRain) + (summerChungchunSumFlow&&Number(summerChungchunSumFlow)!=0?Number(summerChungchunSumFlow / summerChungchunDay):0), 0);
operationalStatusList[0].winterAll = roundUp(Number(operationalStatusList[0].winterAll) + (winterSumFlow&&Number(winterSumFlow)!=0?Number(winterSumFlow / winterDay):0), 0);
operationalStatusList[0].winterSunnyMin = roundUp(Number(operationalStatusList[0].winterSunnyMin) + Number(minWinterChungchunSumFlow), 0);
operationalStatusList[0].winterSunnyMax = roundUp(Number(operationalStatusList[0].winterSunnyMax) + (winterChungchunSumFlow&&Number(winterChungchunSumFlow)!=0?Number(winterChungchunSumFlow / winterChungchuDay):0), 0);
operationalStatusList[0].winterSunnyAvg = roundUp(Number(operationalStatusList[0].winterSunnyAvg) + Number(maxWinterChungchunSumFlow), 0);
// 연계처리수
yearAvgSumFlow = Number((yearSumFlow&&Number(yearSumFlow)!=0)?(yearSumFlow / yearDay):'');
yearMaxSumFlow = maxYearSumFlow;
@@ -1274,6 +1271,17 @@ export const dashBoardReducer:(set:(fn: (state: DashBoardType) => DashBoardType)
winterSunnyAvg = winterChungchunSumFlow&&Number(winterChungchunSumFlow)!=0?(winterChungchunSumFlow / winterChungchuDay):0;
winterSunnyMax = maxWinterChungchunSumFlow;
operationalStatusList[0].yearAvg = roundUp(Number(operationalStatusList[0].yearAvg), 0) + roundUp(yearAvgSumFlow, 0);
operationalStatusList[0].yearMax = roundUp(Number(operationalStatusList[0].yearMax), 0) + roundUp(yearMaxSumFlow, 0);
operationalStatusList[0].yearMin = roundUp(Number(operationalStatusList[0].yearMin), 0) + roundUp(yearMinSumFlow, 0);
operationalStatusList[0].summerAll = roundUp(Number(operationalStatusList[0].summerAll), 0) + roundUp(summerAll, 0);
operationalStatusList[0].summerThree = roundUp(Number(operationalStatusList[0].summerThree), 0) + roundUp(summerThree, 0);
operationalStatusList[0].summerRain = roundUp(Number(operationalStatusList[0].summerRain), 0) + roundUp(summerRain, 0);
operationalStatusList[0].winterAll = roundUp(Number(operationalStatusList[0].winterAll), 0) + roundUp(winterAll, 0);
operationalStatusList[0].winterSunnyMin = roundUp(Number(operationalStatusList[0].winterSunnyMin), 0) + roundUp(winterSunnyMin, 0);
operationalStatusList[0].winterSunnyMax = roundUp(Number(operationalStatusList[0].winterSunnyMax), 0) + roundUp(winterSunnyMax, 0);
operationalStatusList[0].winterSunnyAvg = roundUp(Number(operationalStatusList[0].winterSunnyAvg), 0) + roundUp(winterSunnyAvg, 0);
// 지하수유입량
const usage = chungcunSumFlow / calData.length;
const summerUsage = sumSummerChungcunFlow / summerChungchunDay;
@@ -1295,7 +1303,6 @@ export const dashBoardReducer:(set:(fn: (state: DashBoardType) => DashBoardType)
const summerLowRain = data.summerBod&&data.summerBod.INFO_RN_DAY&&data.summerBod.INFO_RN_DAY!='null'?Number(data.summerBod.INFO_RN_DAY):0;
operationalStatusList[0].rdi = winterAvgBod===0?0:roundUp(summerLowFlow * ((winterAvgBod - summerLowBod) / winterAvgBod), 2);
operationalStatusList[0].rdiRain = summerLowRain;
dataFormSetting(operationalStatusList[0]);
}
if(operationalStatusList[0] && operationalStatusList[7]){
@@ -1338,9 +1345,54 @@ export const dashBoardReducer:(set:(fn: (state: DashBoardType) => DashBoardType)
operationalStatusList[2].winterSunnyMax = winterSunnyMax;
dataFormSetting(operationalStatusList[2]);
}
if (operationalStatusList[0]) {
// 안전하게 숫자 변환하는 함수
const toNum = (val) => {
if (val === null || val === undefined || val === '' || val === '0') return 0;
return Number(val.toString().replaceAll(',', '')) || 0;
};
operationalStatusList[0].summerAll =
toNum(operationalStatusList[1]?.summerAll) +
toNum(operationalStatusList[2]?.summerAll) +
toNum(operationalStatusList[3]?.summerAll);
operationalStatusList[0].summerThree =
toNum(operationalStatusList[1]?.summerThree) +
toNum(operationalStatusList[2]?.summerThree) +
toNum(operationalStatusList[3]?.summerThree);
operationalStatusList[0].summerRain =
toNum(operationalStatusList[1]?.summerRain) +
toNum(operationalStatusList[2]?.summerRain) +
toNum(operationalStatusList[3]?.summerRain);
operationalStatusList[0].winterAll =
toNum(operationalStatusList[1]?.winterAll) +
toNum(operationalStatusList[2]?.winterAll) +
toNum(operationalStatusList[3]?.winterAll);
operationalStatusList[0].winterSunnyMin =
toNum(operationalStatusList[1]?.winterSunnyMin) +
toNum(operationalStatusList[2]?.winterSunnyMin) +
toNum(operationalStatusList[3]?.winterSunnyMin);
operationalStatusList[0].winterSunnyMax =
toNum(operationalStatusList[1]?.winterSunnyMax) +
toNum(operationalStatusList[2]?.winterSunnyMax) +
toNum(operationalStatusList[3]?.winterSunnyMax);
operationalStatusList[0].winterSunnyAvg =
toNum(operationalStatusList[1]?.winterSunnyAvg) +
toNum(operationalStatusList[2]?.winterSunnyAvg) +
toNum(operationalStatusList[3]?.winterSunnyAvg);
dataFormSetting(operationalStatusList[0]);
}
}
//
// 총인설비가 없을 경우 제외
if(data.yearData.TP_INFL_WQLT_TP === null || data.yearData.TP_INFL_WQLT_TP === undefined || data.yearData.TP_INFL_WQLT_TP === 'null') {
operationalStatusList = operationalStatusList.slice(0, 10);
}