|
|
|
@ -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++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|