diff --git a/src/controllers/tanksController.js b/src/controllers/tanksController.js index e53dc116..30cdffc9 100644 --- a/src/controllers/tanksController.js +++ b/src/controllers/tanksController.js @@ -1203,16 +1203,49 @@ exports.consumption = async (request, reply) => { let consumption; + + +// 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 isToday = moment(start).isSame(moment(), 'day'); +const isEndToday = moment(end).isSame(moment(), 'day'); -if (isSameTime && !isToday) { - // Same date & time and NOT today => use only 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 { - // Normal case => use full calculation +} 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'); + +// if (isSameTime && !isToday) { +// // Same date & time and NOT today => use only records +// consumption = total_consumption_from_records; +// } else { +// // Normal case => use full calculation +// consumption = (waterlevel_at_midnight + total_water_added_from_midnight) - waterlevel + total_consumption_from_records; +// } // Add to the total consumption and capacities based on water type if (tank.typeOfWater === "bore" || tank.typeOfWater === "Bore Water") {