diff --git a/src/controllers/tanksController.js b/src/controllers/tanksController.js index 3391fcf1..17ac5c5b 100644 --- a/src/controllers/tanksController.js +++ b/src/controllers/tanksController.js @@ -1301,11 +1301,19 @@ exports.consumptiondatewiseofalltanks = async (request, reply) => { ...(typeofwater !== "all" && { typeofwater: tank.typeOfWater }) }); - const filteredConsumptions = tankConsumptions.filter((record) => { - const recordTime = moment(record.time, "DD-MMM-YYYY - HH:mm").toDate(); - return recordTime >= start && recordTime <= end; - }); - + let filteredConsumptions; + if (start.getTime() === end.getTime()) { + // If start and end are the same, filter for exact match + filteredConsumptions = tankConsumptions.filter((record) => { + return moment(record.time, "DD-MMM-YYYY - HH:mm").toDate().getTime() === start.getTime(); + }); + } else { + // Normal range filter + filteredConsumptions = tankConsumptions.filter((record) => { + const recordTime = moment(record.time, "DD-MMM-YYYY - HH:mm").toDate(); + return recordTime >= start && recordTime <= end; + }); + } // filteredConsumptions.forEach(record => { // totalConsumed += parseInt(record.consumption, 10); // totalAvailableCapacity += parseInt(record.capacity, 10); @@ -6179,10 +6187,14 @@ async function processIotData(hw_Id, data) { inputConnection.motor_status = status; if (inputConnection.motor_stop_status === "1" && status === 2 && inputConnection.motor_on_type !== "forced_manual") { - const currentTime = moment().tz('Asia/Kolkata').format('DD-MMM-YYYY - HH:mm'); + const currentTime = moment().tz('Asia/Kolkata'); + const formattedTime = currentTime.format('DD-MMM-YYYY - HH:mm'); + const startInstanceId = `${hw_Id}${formattedTime}`; + inputConnection.motor_stop_status = "2"; inputConnection.motor_on_type = "forced_manual"; - inputConnection.startTime = currentTime; + inputConnection.startTime = formattedTime; + inputConnection.start_instance_id = startInstanceId; } if (inputConnection.motor_stop_status === "2" && status === 1) {