changes typeofWater fetches

master^2
Bhaskar 2 weeks ago
parent 6be95bc55d
commit 80359981d0

@ -1467,7 +1467,7 @@ exports.masterConnectedSlaveList = async (req, reply) => {
{ hardwareId: connectedTo }, { hardwareId: connectedTo },
{ tankLocation: 1, typeOfWater: 1, height: 1, length: 1, width: 1 } { tankLocation: 1, typeOfWater: 1, height: 1, length: 1, width: 1 }
).lean(); ).lean();
console.log("tankDetails",tankDetails)
const masterTypeOfWater = tankDetails?.typeOfWater || null; const masterTypeOfWater = tankDetails?.typeOfWater || null;
// Step 3: Get slave devices // Step 3: Get slave devices
@ -1535,18 +1535,62 @@ exports.masterConnectedSlaveList = async (req, reply) => {
}; };
// Step 7: Process slaves // Step 7: Process slaves
const processedSlaves = await Promise.all(slaveTanks.map(async slave => { // const processedSlaves = await Promise.all(slaveTanks.map(async slave => {
// const finalHardwareId = slave.tankhardwareId || slave.connected_to;
// let slaveTankMeta = await Tank.findOne(
// { tankhardwareId: slave.tankhardwareId, customerId },
// { height: 1, length: 1, width: 1,tankName:1 }
// ).lean();
// console.log(slaveTankMeta,"slaveTankMeta")
// if (!slaveTankMeta && slave.connected_to) {
// slaveTankMeta = await Tank.findOne(
// { hardwareId: slave.connected_to, customerId },
// { height: 1, length: 1, width: 1 }
// ).lean();
// }
// const matchingTankData = latestIotData?.tanks?.find(t =>
// t.tankHardwareId === finalHardwareId || t.connected_to === finalHardwareId
// );
// return {
// ...slave,
// isMaster: false,
// product_status: slave.product_status || 'pending',
// tankHeight: matchingTankData?.tankHeight ?? null,
// typeOfWater: masterTypeOfWater === 'bore' ? 'bore' : (slave.typeOfWater || null),
// height: slaveTankMeta?.height || null,
// length: slaveTankMeta?.length || null,
// width: slaveTankMeta?.width || null,
// heightInCm: slaveTankMeta?.height ? feetToCm(slaveTankMeta.height) : null,
// lengthInCm: slaveTankMeta?.length ? feetToCm(slaveTankMeta.length) : null,
// widthInCm: slaveTankMeta?.width ? feetToCm(slaveTankMeta.width) : null
// };
// }));
// Step 7: Process slaves
const processedSlaves = await Promise.all(slaveTanks.map(async (slave) => {
const finalHardwareId = slave.tankhardwareId || slave.connected_to; const finalHardwareId = slave.tankhardwareId || slave.connected_to;
// Fetch slave tank metadata from Tank schema using tankhardwareId or tankName + customerId
let slaveTankMeta = await Tank.findOne( let slaveTankMeta = await Tank.findOne(
{ tankhardwareId: slave.tankhardwareId, customerId }, { tankhardwareId: slave.tankhardwareId, customerId },
{ height: 1, length: 1, width: 1 } { height: 1, length: 1, width: 1, typeOfWater: 1, tankName: 1 }
).lean();
if (!slaveTankMeta && slave.tankName) {
// fallback: use tankName + customerId
slaveTankMeta = await Tank.findOne(
{ tankName: slave.tankName, customerId },
{ height: 1, length: 1, width: 1, typeOfWater: 1, tankName: 1 }
).lean(); ).lean();
}
if (!slaveTankMeta && slave.connected_to) { if (!slaveTankMeta && slave.connected_to) {
// fallback: use connected_to as hardwareId
slaveTankMeta = await Tank.findOne( slaveTankMeta = await Tank.findOne(
{ hardwareId: slave.connected_to, customerId }, { hardwareId: slave.connected_to, customerId },
{ height: 1, length: 1, width: 1 } { height: 1, length: 1, width: 1, typeOfWater: 1, tankName: 1 }
).lean(); ).lean();
} }
@ -1554,12 +1598,15 @@ exports.masterConnectedSlaveList = async (req, reply) => {
t.tankHardwareId === finalHardwareId || t.connected_to === finalHardwareId t.tankHardwareId === finalHardwareId || t.connected_to === finalHardwareId
); );
// Use slaveTankMeta.typeOfWater if Insensors.typeOfWater is null
const typeOfWater = slave.typeOfWater || slaveTankMeta?.typeOfWater || masterTypeOfWater;
console.log(matchingTankData)
return { return {
...slave, ...slave,
isMaster: false, isMaster: false,
product_status: slave.product_status || 'pending', product_status: slave.product_status || 'pending',
tankHeight: matchingTankData?.tankHeight ?? null, tankHeight: matchingTankData?.tankHeight ?? null,
typeOfWater: masterTypeOfWater === 'bore' ? 'bore' : (slave.typeOfWater || null), typeOfWater: typeOfWater,
height: slaveTankMeta?.height || null, height: slaveTankMeta?.height || null,
length: slaveTankMeta?.length || null, length: slaveTankMeta?.length || null,
width: slaveTankMeta?.width || null, width: slaveTankMeta?.width || null,

Loading…
Cancel
Save