diff --git a/src/controllers/installationController.js b/src/controllers/installationController.js index 3d703aaa..9c092d41 100644 --- a/src/controllers/installationController.js +++ b/src/controllers/installationController.js @@ -3733,10 +3733,25 @@ const raiseATicketLikeLogic = async (customerId, connected_to) => { const connectedSlaves = sensors.filter( s => s.connected_to?.trim() === connected_to.trim() && s.type === "slave" ); - +console.log("connectedSlaves",connectedSlaves) const slaveHardwareIds = connectedSlaves.map(s => s.tankhardwareId); - const allSlaveIotData = await IotData.find({ "tanks.tankhardwareId": { $in: slaveHardwareIds } }).lean(); - + // const allSlaveIotData = await IotData.find({ "tanks.tankhardwareId": { $in: slaveHardwareIds } }).lean(); + const allSlaveIotData = await IotData.aggregate([ + { $match: { "tanks.tankhardwareId": { $in: slaveHardwareIds } } }, + { $project: { + hardwareId: 1, + date: 1, + "tanks": { + $filter: { + input: "$tanks", + as: "tank", + cond: { $in: ["$$tank.tankhardwareId", slaveHardwareIds] } + } + } + } + } + ]); + console.log("allSlaveIotData",allSlaveIotData) // 🔹 Create map of latest tank data const latestTankDataMap = {}; for (const record of allSlaveIotData) { @@ -5338,7 +5353,7 @@ exports.getDisconnectedCustomerDetails = async (req, reply) => { } const hardwareIdsArray = Array.from(allHardwareIds); - + console.log("hardwareIdsArray",hardwareIdsArray) // 4. Find disconnected insensors using connected_to match const disconnectedSensors = await Insensors.find({ connected_to: { $in: hardwareIdsArray } @@ -5376,9 +5391,12 @@ exports.getDisconnectedCustomerDetails = async (req, reply) => { ) { customerHardwareMap[custId].add(issue.hardwareId); } + console.log("allIssueHardwareIds",allIssueHardwareIds) + } } + // 7. Build final response const response = []; @@ -5391,9 +5409,12 @@ exports.getDisconnectedCustomerDetails = async (req, reply) => { const issueHw = issue.hardwareId?.trim().toLowerCase(); const hardwareIds = issue.hardwareIds?.map(id => id?.trim().toLowerCase()) || []; const allIds = [issueHw, ...hardwareIds]; + console.log("allIds",allIds) + console.log("Array.from(hardwareIdSet).some(hw => allIds.includes(hw?.trim().toLowerCase()))",Array.from(hardwareIdSet).some(hw => allIds.includes(hw?.trim().toLowerCase()))) return Array.from(hardwareIdSet).some(hw => allIds.includes(hw?.trim().toLowerCase())); - }); + }); + //console.log("relatedIssues",relatedIssues) let latestIssueTime = null; for (const issue of relatedIssues) { if (issue.lastTicketRaisedAt) {