master
varun 1 year ago
parent 7ef7b38d58
commit 2d6644502f

@ -1225,31 +1225,29 @@ exports.IotDevice = async (req, reply) => {
// Update the waterlevel using the tankHeight value
const tank_height = parseInt(existingTank.height.replace(/,/g, ''), 10) * 30.48;
const water_level_height = tank_height - tankHeight;
const customerId = existingTank.customerId;
const waterCapacityPerCm = parseInt(existingTank.waterCapacityPerCm.replace(/,/g, ''), 10);
let water_level = water_level_height * waterCapacityPerCm;
water_level = Math.round(water_level); // Round to nearest whole number
existingTank.waterlevel = water_level.toString(); // Convert to string as per schema definition
const tank_name = existingTank.tankName;
// Save the updated tank document
await existingTank.save();
// Update water level of tanks linked through output connections
for (const outputConnection of existingTank.connections.outputConnections) {
console.log(outputConnection,"this is for testing")
const linkedTank = await Tank.findOne({ hardwareId: outputConnection.outputConnections });
console.log(linkedTank)
const linkedTank = await Tank.findOne({ customerId: customerId, tankName: outputConnection.outputConnections, tankLocation: outputConnection.output_type });
if (linkedTank) {
linkedTank.waterlevel = existingTank.waterlevel;
// linkedTank.waterlevel = existingTank.waterlevel;
//await linkedTank.save();
// Update water level of tanks linked through input connections of the linked tank
for (const inputConnection of linkedTank.connections.inputConnections) {
if (inputConnection.inputConnections === tank_name) {
inputConnection.water_level = water_level.toString();
await linkedTank.save();
}
}
// Update water level of tanks linked through input connections
for (const inputConnection of existingTank.connections.inputConnections) {
const linkedTank = await Tank.findOne({ hardwareId: inputConnection.inputConnections });
if (linkedTank) {
linkedTank.waterlevel = existingTank.waterlevel;
await linkedTank.save();
}
}
}
@ -1268,6 +1266,7 @@ exports.IotDevice = async (req, reply) => {
// exports.getIotD = async(req, reply) => {
// try {
// await IotData.find({hardwareId: req.query.hardwareId})

Loading…
Cancel
Save