diff --git a/src/controllers/tanksController.js b/src/controllers/tanksController.js index e3819a28..30cdffc9 100644 --- a/src/controllers/tanksController.js +++ b/src/controllers/tanksController.js @@ -1205,18 +1205,37 @@ exports.consumption = async (request, reply) => { - const isSameTime = start.getTime() === end.getTime(); +// const isSameTime = start.getTime() === end.getTime(); +// const isEndToday = moment(end).isSame(moment(), 'day'); + +// if (isSameTime || !isEndToday) { +// // If single timestamp OR end is not today, only use records +// consumption = total_consumption_from_records; +// } else { +// // If end is today, add real-time values +// consumption = (waterlevel_at_midnight + total_water_added_from_midnight) - waterlevel + total_consumption_from_records; +// } + +const isSameTime = start.getTime() === end.getTime(); const isEndToday = moment(end).isSame(moment(), 'day'); -if (isSameTime || !isEndToday) { - // If single timestamp OR end is not today, only use records +if (isSameTime && isEndToday) { + // Start and End are same AND it's today => only realtime tank calc + consumption = (waterlevel_at_midnight + total_water_added_from_midnight) - waterlevel; +} else if (isSameTime && !isEndToday) { + // Same time and NOT today => only record data consumption = total_consumption_from_records; -} else { - // If end is today, add real-time values +} else if (!isSameTime && isEndToday) { + // Range query ending today => combine record + realtime consumption = (waterlevel_at_midnight + total_water_added_from_midnight) - waterlevel + total_consumption_from_records; +} else { + // Range query not ending today => only record data + consumption = total_consumption_from_records; } + + // const isSameTime = start.getTime() === end.getTime(); // const isToday = moment(start).isSame(moment(), 'day');