강우영향일 관련 문구 추가
This commit is contained in:
@@ -45,6 +45,7 @@ export default function RainManageTab({searchYear = '', fcltyList = []}: facilit
|
||||
}, [searchYear]);
|
||||
|
||||
return (
|
||||
<div>
|
||||
<UiTable
|
||||
headName=""
|
||||
tableData={rainManageList}
|
||||
@@ -55,5 +56,7 @@ export default function RainManageTab({searchYear = '', fcltyList = []}: facilit
|
||||
onPageChange={() => {}}
|
||||
>
|
||||
</UiTable>
|
||||
<span className="text-2xl font-bold text-gray-500">☞ 일수에 강우영향일 포함됨</span>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user