ashok 6 months ago
commit 3894a34cad

@ -991,6 +991,7 @@ exports.mastrerList = async (req, reply) => {
const moment = require('moment'); // For time calculations const moment = require('moment'); // For time calculations
exports.getMasterSlaveSummary = async (req, reply) => { exports.getMasterSlaveSummary = async (req, reply) => {
try { try {
const { customerId } = req.params; const { customerId } = req.params;
@ -1023,6 +1024,20 @@ exports.getMasterSlaveSummary = async (req, reply) => {
const diff = now.diff(lastSeen, 'minutes'); const diff = now.diff(lastSeen, 'minutes');
if (diff <= 10) { if (diff <= 10) {
status = "connected"; status = "connected";
const dateObj = new Date(latestData.date);
const date = dateObj.toISOString().split("T")[0];
const time = dateObj.toTimeString().split(" ")[0];
if (device.type === 'master') {
device.connected_gsm_date = date;
device.connected_gsm_time = time;
}
if (device.type === 'slave') {
device.connected_lora_date = date;
device.connected_lora_time = time;
}
} }
} }
@ -1031,22 +1046,35 @@ exports.getMasterSlaveSummary = async (req, reply) => {
{ $set: { connected_status: status } } { $set: { connected_status: status } }
); );
device.connected_status = status; // Also update in-memory object device.connected_status = status;
console.log(" device.connected_status", device.connected_status)
}); });
await Promise.all(updateStatusPromises); await Promise.all(updateStatusPromises);
// Map masters to their connected slaves based on `connected_to` match // Map masters to their connected slaves
const enrichedMasters = masters.map(master => { const enrichedMasters = masters.map(master => {
const masterConnectionId = master.connected_to; const masterConnectionId = master.connected_to;
const connectedSlaves = slaves.filter(slave => // Remove lora fields for master
slave.connected_to === masterConnectionId const masterObj = {
); ...master.toObject(),
connected_lora_date: undefined,
connected_lora_time: undefined
};
const connectedSlaves = slaves
.filter(slave => slave.connected_to === masterConnectionId)
.map(slave => {
const slaveObj = {
...slave.toObject(),
connected_gsm_date: undefined,
connected_gsm_time: undefined
};
return slaveObj;
});
return { return {
...master.toObject(), ...masterObj,
connected_slave_count: connectedSlaves.length, connected_slave_count: connectedSlaves.length,
connected_slaves: connectedSlaves connected_slaves: connectedSlaves
}; };
@ -1070,6 +1098,7 @@ exports.getMasterSlaveSummary = async (req, reply) => {
}; };
// exports.getIotDataByCustomer = async (req, reply) => { // exports.getIotDataByCustomer = async (req, reply) => {
// try { // try {
// const { customerId } = req.params; // const { customerId } = req.params;

Loading…
Cancel
Save