master^2
Bhaskar 7 months ago
parent 45a82cb949
commit 07b013e712

@ -1457,7 +1457,6 @@ exports.mastrerList = async (req, reply) => {
// } // }
// }; // };
exports.getMasterSlaveSummary = async (req, reply) => { exports.getMasterSlaveSummary = async (req, reply) => {
try { try {
const { customerId } = req.params; const { customerId } = req.params;
@ -1466,6 +1465,7 @@ exports.getMasterSlaveSummary = async (req, reply) => {
return reply.status(400).send({ error: 'customerId is required' }); return reply.status(400).send({ error: 'customerId is required' });
} }
// Fetch all devices for the customer
const allDevices = await Insensors.find({ customerId }).lean(); const allDevices = await Insensors.find({ customerId }).lean();
const masters = allDevices.filter(dev => dev.type === 'master'); const masters = allDevices.filter(dev => dev.type === 'master');
@ -1473,6 +1473,7 @@ exports.getMasterSlaveSummary = async (req, reply) => {
const slaveMap = {}; const slaveMap = {};
// Process each slave
for (const slave of slaves) { for (const slave of slaves) {
const masterId = slave.connected_to; const masterId = slave.connected_to;
if (!slaveMap[masterId]) { if (!slaveMap[masterId]) {
@ -1488,12 +1489,15 @@ exports.getMasterSlaveSummary = async (req, reply) => {
// If disconnected, update LoRa last disconnect time // If disconnected, update LoRa last disconnect time
let loraLastDisconnect = slave.lora_last_disconnect_time || null; let loraLastDisconnect = slave.lora_last_disconnect_time || null;
if (slave.connected_status === 'disconnected') { if (slave.connected_status === 'disconnected') {
const now = moment().tz('Asia/Kolkata').format('YYYY-MM-DD HH:mm:ss'); const date = slave.connected_lora_date || moment().tz('Asia/Kolkata').format('YYYY-MM-DD');
const time = slave.connected_lora_time || moment().tz('Asia/Kolkata').format('HH:mm:ss');
const combined = `${date} ${time}`;
await Insensors.updateOne( await Insensors.updateOne(
{ hardwareId: slave.hardwareId }, { hardwareId: slave.hardwareId },
{ $set: { lora_last_disconnect_time: now } } { $set: { lora_last_disconnect_time: combined } }
); );
loraLastDisconnect = now; loraLastDisconnect = combined;
} }
// Get tankHeight from IotData // Get tankHeight from IotData
@ -1518,18 +1522,22 @@ exports.getMasterSlaveSummary = async (req, reply) => {
const response = []; const response = [];
// Process each master
for (const master of masters) { for (const master of masters) {
const connectedSlaves = slaveMap[master.hardwareId] || []; const connectedSlaves = slaveMap[master.hardwareId] || [];
// If disconnected, update GSM last disconnect time // If disconnected, update GSM last disconnect time
let gsmLastDisconnect = master.gsm_last_disconnect_time || null; let gsmLastDisconnect = master.gsm_last_disconnect_time || null;
if (master.connected_status === 'disconnected') { if (master.connected_status === 'disconnected') {
const now = moment().tz('Asia/Kolkata').format('YYYY-MM-DD HH:mm:ss'); const date = master.connected_gsm_date || moment().tz('Asia/Kolkata').format('YYYY-MM-DD');
const time = master.connected_gsm_time || moment().tz('Asia/Kolkata').format('HH:mm:ss');
const combined = `${date} ${time}`;
await Insensors.updateOne( await Insensors.updateOne(
{ hardwareId: master.hardwareId }, { hardwareId: master.hardwareId },
{ $set: { gsm_last_disconnect_time: now } } { $set: { gsm_last_disconnect_time: combined } }
); );
gsmLastDisconnect = now; gsmLastDisconnect = combined;
} }
const enriched = { const enriched = {
@ -1582,6 +1590,7 @@ async function getTankHeight(hardwareId) {
} }
// exports.getIotDataByCustomer = async (req, reply) => { // exports.getIotDataByCustomer = async (req, reply) => {
// try { // try {
// const { customerId } = req.params; // const { customerId } = req.params;

Loading…
Cancel
Save