diff --git a/src/controllers/installationController.js b/src/controllers/installationController.js index 08fb9ca9..098cb6d2 100644 --- a/src/controllers/installationController.js +++ b/src/controllers/installationController.js @@ -2737,26 +2737,52 @@ exports.raiseATicket = async (req, reply) => { const issuesToAdd = []; // ✅ Only raise a ticket if master is disconnected + // if (masterConnectedStatus === "disconnected") { + // const existingMasterTicket = await Support.findOne({ + // "issues.hardwareId": connected_to, + // "issues.type": "GSM or LoRa Disconnected" + // }); + + // if (!existingMasterTicket) { + // const slaveHardwareIds = disconnectedSlaves.map(s => s.slaveHardwareId); + // const slaveNames = disconnectedSlaves.map(s => s.slaveName); + + // issuesToAdd.push({ + // type: "GSM or LoRa Disconnected", + // masterHardwareId: connected_to, + // hardwareId: connected_to, // Master hardwareId + // hardwareIds: slaveHardwareIds, // Slave tankHardwareIds + // slaveNames, + // message: `Master ${connected_to} is disconnected along with ${slaveHardwareIds.length} slave(s)` + // }); + // } + // } + if (masterConnectedStatus === "disconnected") { const existingMasterTicket = await Support.findOne({ "issues.hardwareId": connected_to, "issues.type": "GSM or LoRa Disconnected" }); - + if (!existingMasterTicket) { const slaveHardwareIds = disconnectedSlaves.map(s => s.slaveHardwareId); const slaveNames = disconnectedSlaves.map(s => s.slaveName); - - issuesToAdd.push({ - type: "GSM or LoRa Disconnected", - masterHardwareId: connected_to, - hardwareId: connected_to, // Master hardwareId - hardwareIds: slaveHardwareIds, // Slave tankHardwareIds - slaveNames, - message: `Master ${connected_to} is disconnected along with ${slaveHardwareIds.length} slave(s)` - }); + + // Check if disconnection is at least 15 minutes old + if (diffInMinutes >= 15) { + issuesToAdd.push({ + type: "GSM or LoRa Disconnected", + masterHardwareId: connected_to, + hardwareId: connected_to, + hardwareIds: slaveHardwareIds, + slaveNames, + message: `Master ${connected_to} is disconnected along with ${slaveHardwareIds.length} slave(s)`, + disconnectedAt: lastDataTime // optional: for future tracking + }); + } } } + if (issuesToAdd.length > 0) { const supportRecord = await Support.findOne({ supportId: "AWHYSU64" });