diff --git a/apps/fo/app/pages/dashboard/rainManage/page.tsx b/apps/fo/app/pages/dashboard/rainManage/page.tsx
index ea20eb92c..9bceed75e 100644
--- a/apps/fo/app/pages/dashboard/rainManage/page.tsx
+++ b/apps/fo/app/pages/dashboard/rainManage/page.tsx
@@ -45,6 +45,7 @@ export default function RainManageTab({searchYear = '', fcltyList = []}: facilit
}, [searchYear]);
return (
+
{}}
>
+ ☞ 일수에 강우영향일 포함됨
+
)
}
diff --git a/apps/fo/app/store/flowRate/index.tsx b/apps/fo/app/store/flowRate/index.tsx
index 38cb4e2e6..fecf65e44 100644
--- a/apps/fo/app/store/flowRate/index.tsx
+++ b/apps/fo/app/store/flowRate/index.tsx
@@ -320,37 +320,49 @@ export const flowRateSearchReducer:(set:(fn: (state: FlowRateSearchType) => Flow
}
});
- // facilityPrecipitation의 rainEffectDay 계산 로직을 적용
+ // 강우영향일 계산 (강우량이 3 초과이면 무조건 강우영향일)
for(let idx = 0; idx < data.length; idx++) {
const item = data[idx];
- const rainDay = Number(item.infoRnDay) >= 3 ? 1 : 0;
- let rainEffectDay = 0;
-
- if(idx < data.length - 2) {
- if(rainDay == 1) {
- rainEffectDay = 1;
+ if(item){
+ if(item.infoRnDay && Number(item.infoRnDay) > 3) {
+ item.rainEffectDay = 1;
} else {
- if(idx >= 2) {
- if(Number(data[idx-1].infoRnDay) >= 3 || Number(data[idx-2].infoRnDay) >= 3) {
- rainEffectDay = 1;
- }
- }
+ item.rainEffectDay = 0;
}
- } else if(idx < data.length - 1) {
- if(rainDay == 1 || Number(data[idx+1].infoRnDay) >= 3) {
- rainEffectDay = 1;
- }
- } else {
- rainEffectDay = rainDay;
}
-
- tmpData.push({
- ...item,
- rainEffectDay: rainEffectDay,
- });
}
- const rtnData = tmpData.map((item: FlowRateModalProps) => {
+ // 이틀 전, 하루 전이 강우영향일(3 이상)인 경우 해당 날도 강우영향일로 설정
+ for(let idx = 0; idx < data.length; idx++) {
+ if(data[idx]) {
+ // 하루 전이 강우영향일(3 이상)인 경우
+ if(idx > 0 && data[idx-1]?.infoRnDay && Number(data[idx-1]?.infoRnDay) >= 3) {
+ data[idx]!.rainEffectDay = 1;
+ }
+ // 이틀 전이 강우영향일(3 이상)인 경우
+ if(idx > 1 && data[idx-2]?.infoRnDay && Number(data[idx-2]?.infoRnDay) >= 3) {
+ data[idx]!.rainEffectDay = 1;
+ }
+ }
+ }
+
+ for(let idx = 0; idx < data.length; idx++) {
+ if(data[idx] && data[idx]?.rainEffectDay === 1) {
+ if(idx > 1){
+ if(data[idx-1]?.infoRnDay && Number(data[idx-1]?.infoRnDay) > 3) {
+ data[idx]!.infoRnDay = data[idx-1]!.infoRnDay;
+ }
+ }
+ if(idx > 2){
+ if(data[idx-2]?.infoRnDay && Number(data[idx-2]?.infoRnDay) > 3) {
+ data[idx]!.infoRnDay = data[idx-2]!.infoRnDay;
+ }
+ }
+ }
+ }
+
+ console.log('data', data);
+ const rtnData = data.map((item: FlowRateModalProps) => {
item.totInflAmnt = Number(item.inflAmnt || 0) + Number(item.sumFlow || 0) + Number(item.returnAmnt || 0)
dataFormSetting(item);
return item;