diff --git a/src/controllers/installationController.js b/src/controllers/installationController.js index 098cb6d2..a5b12e9f 100644 --- a/src/controllers/installationController.js +++ b/src/controllers/installationController.js @@ -3512,11 +3512,8 @@ exports.getDisconnectedIssuesBySupportId = async (req, reply) => { } const customerId = sensors.length > 0 ? sensors[0].customerId : null; - console.log("customerId", customerId); - // ✅ Fetch orders only if customerId is present const orders = customerId ? await Order.find({ customerId }).lean() : []; - console.log("orders", orders); const orderMap = {}; for (const order of orders) { @@ -3533,6 +3530,7 @@ exports.getDisconnectedIssuesBySupportId = async (req, reply) => { } const masterMap = {}; + const assignedSlaves = new Set(); for (const issue of allIssues) { if (issue.type === "GSM or LoRa Disconnected" && issue.hardwareId) { @@ -3563,7 +3561,6 @@ exports.getDisconnectedIssuesBySupportId = async (req, reply) => { if (!masterSensor || masterSensor.type !== "master") continue; const enriched = orderMap[masterSensor.hardwareId] || {}; - if (!masterMap[masterSensor.hardwareId]) { masterMap[masterSensor.hardwareId] = { hardwareId: masterSensor.hardwareId, @@ -3577,7 +3574,7 @@ exports.getDisconnectedIssuesBySupportId = async (req, reply) => { connected_gsm_time: masterSensor.connected_gsm_time, connected_lora_date: masterSensor.connected_lora_date, connected_lora_time: masterSensor.connected_lora_time, - support_lora_last_check_time: masterSensor.support_lora_last_check_time, + support_gsm_last_check_time: masterSensor.support_gsm_last_check_time, connected_slave_count: 0, connected_slaves: [] }; @@ -3603,6 +3600,11 @@ exports.getDisconnectedIssuesBySupportId = async (req, reply) => { } for (const slaveSensor of fallbackSlaves) { + const slaveKey = slaveSensor.tankhardwareId || slaveSensor.hardwareId; + if (!slaveKey || assignedSlaves.has(slaveKey)) continue; + + assignedSlaves.add(slaveKey); + let typeOfWater = ""; if (customerId && slaveSensor.tankhardwareId) { @@ -3617,7 +3619,7 @@ exports.getDisconnectedIssuesBySupportId = async (req, reply) => { } master.connected_slaves.push({ - hardwareId: slaveSensor.hardwareId, + hardwareId: slaveSensor.tankhardwareId, tankName: slaveSensor.tankName || "", location: slaveSensor.location || "", connected_status: slaveSensor.connected_status, @@ -3632,6 +3634,7 @@ exports.getDisconnectedIssuesBySupportId = async (req, reply) => { tankHeight: slaveSensor.tankHeight, support_lora_last_check_time: slaveSensor.support_lora_last_check_time }); + master.connected_slave_count++; } }