|
|
|
@ -6506,6 +6506,7 @@ exports.consumptionofparticulartank = async (request, reply) => {
|
|
|
|
|
return dateA - dateB; // Sort in ascending order
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Calculate total consumption from filtered records
|
|
|
|
|
const total_consumption_from_records = filteredConsumptions.reduce((acc, record) => {
|
|
|
|
|
return acc + parseInt(record.consumption, 10);
|
|
|
|
@ -6513,6 +6514,20 @@ exports.consumptionofparticulartank = async (request, reply) => {
|
|
|
|
|
|
|
|
|
|
// Calculate final consumption
|
|
|
|
|
const consumption = (waterlevel_at_midnight + total_water_added_from_midnight) - waterlevel + total_consumption_from_records;
|
|
|
|
|
// If end date is today, attach one extra record
|
|
|
|
|
const today = moment().startOf('day');
|
|
|
|
|
const isEndDateToday = moment(end).isSame(today, 'day');
|
|
|
|
|
|
|
|
|
|
if (isEndDateToday) {
|
|
|
|
|
const extraConsumption = (waterlevel_at_midnight + total_water_added_from_midnight) - waterlevel;
|
|
|
|
|
const now = moment().format("DD-MMM-YYYY - HH:mm");
|
|
|
|
|
|
|
|
|
|
filteredConsumptions.push({
|
|
|
|
|
tankName: tank.tankName,
|
|
|
|
|
consumption: extraConsumption.toString(),
|
|
|
|
|
time: now
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Prepare response data
|
|
|
|
|
const tankData = {
|
|
|
|
|