From f4a4e23991902760ab6fc2a2e162a48536067adf Mon Sep 17 00:00:00 2001 From: Bhaskar Date: Wed, 4 Jun 2025 16:07:26 +0530 Subject: [PATCH] disconnected customer details --- src/controllers/installationController.js | 45 ++++++++++++++++++++--- 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/src/controllers/installationController.js b/src/controllers/installationController.js index d8f2dd2e..52959b87 100644 --- a/src/controllers/installationController.js +++ b/src/controllers/installationController.js @@ -3929,7 +3929,7 @@ const raiseATicketLikeLogic = async (customerId, connected_to) => { const sensorCurrent = sensors.find( (s) => s.tankhardwareId?.trim().toLowerCase() === slave.slaveHardwareId ); - + console.log("sensorCurrent",sensorCurrent) if ( sensorCurrent && sensorCurrent.connected_status === "disconnected" && @@ -5954,6 +5954,9 @@ exports.getDisconnectedCustomerDetails = async (req, reply) => { } } + // Debug: Log issue hardware IDs being considered + console.log("✅ All issue hardwareIds:", Array.from(allHardwareIds)); + // Step 4: If no valid hardware IDs left, stop if (allHardwareIds.size === 0) { return reply.code(404).send({ message: "No unresolved hardware IDs found in issues" }); @@ -5971,6 +5974,9 @@ exports.getDisconnectedCustomerDetails = async (req, reply) => { ] }).lean(); + // Debug: Log disconnected sensors found + console.log("⚙️ Disconnected sensors matched:", disconnectedSensors.map(s => s.hardwareId)); + if (!disconnectedSensors.length) { return reply.code(404).send({ message: "No disconnected issues found" }); } @@ -5990,23 +5996,50 @@ exports.getDisconnectedCustomerDetails = async (req, reply) => { const sensorHw = sensor.tankhardwareId?.trim().toLowerCase(); const sensorConnected = sensor.connected_to?.trim().toLowerCase(); + // for (const issue of unresolvedIssues) { + // const allIssueHardwareIds = [ + // ...(issue.hardwareIds?.map(id => id?.trim().toLowerCase()) || []), + // issue.hardwareId?.trim().toLowerCase() + // ]; + + // if ( + // (sensorHw && allIssueHardwareIds.includes(sensorHw)) || + // (sensorConnected && allIssueHardwareIds.includes(sensorConnected)) + // ) { + // if (issue.hardwareId && !existingCategorizedHardwareIds.has(issue.hardwareId.trim().toLowerCase())) { + // customerHardwareMap[custId].add(issue.hardwareId.trim().toLowerCase()); + // } + // } + // } + + const sensorHardwareId = sensor.hardwareId?.trim().toLowerCase(); for (const issue of unresolvedIssues) { const allIssueHardwareIds = [ ...(issue.hardwareIds?.map(id => id?.trim().toLowerCase()) || []), issue.hardwareId?.trim().toLowerCase() ]; - + if ( (sensorHw && allIssueHardwareIds.includes(sensorHw)) || - (sensorConnected && allIssueHardwareIds.includes(sensorConnected)) + (sensorConnected && allIssueHardwareIds.includes(sensorConnected)) || + (sensorHardwareId && allIssueHardwareIds.includes(sensorHardwareId)) ) { - if (issue.hardwareId && !existingCategorizedHardwareIds.has(issue.hardwareId.trim().toLowerCase())) { - customerHardwareMap[custId].add(issue.hardwareId.trim().toLowerCase()); + for (const hw of allIssueHardwareIds) { + if (hw && !existingCategorizedHardwareIds.has(hw)) { + customerHardwareMap[custId].add(hw); + } } } } + + } + // Debug: Log map of matched customer hardware + console.log("📌 Customer hardware map:", Object.fromEntries( + Object.entries(customerHardwareMap).map(([k, v]) => [k, Array.from(v)]) + )); + // Step 8: Build final response const response = []; for (const user of customers) { @@ -6078,7 +6111,7 @@ exports.getDisconnectedCustomerDetails = async (req, reply) => { }); } catch (error) { - console.error("Error fetching disconnected customer details:", error); + console.error("❌ Error fetching disconnected customer details:", error); return reply.code(500).send({ error: "Internal server error" }); } };