varun 1 year ago
commit 68a4749da7

@ -316,11 +316,57 @@ exports.getTanklevels = async (req, reply) => {
console.log("updated_data", updated_data);
updated_data.forEach((tank) => {
const waterlevel = parseInt(tank.waterlevel.replace(/,/g, ''), 10);
const capacity = parseInt(tank.capacity.replace(/,/g, ''), 10);
const waterlevel = parseInt(tank.waterlevel ? tank.waterlevel.replace(/,/g, '') : '0', 10);
const capacity = parseInt(tank.capacity ? tank.capacity.replace(/,/g, '') : '0', 10);
const waterlevelPercentage = ((waterlevel / capacity) * 100).toFixed(2);
tank.waterlevelPercentage = waterlevelPercentage; // Add water level percentage to each tank object
console.log(`Processing tank: ${tank.tankName}`);
console.log(`Type of Water: ${tank.typeOfWater}, Location: ${tank.tankLocation}, Waterlevel: ${waterlevel}, Capacity: ${capacity}`);
console.log(`Type of Water: ${tank.typeOfWater}, Location: ${tank.tankLocation}, Waterlevel: ${waterlevel}, Capacity: ${capacity}, Waterlevel Percentage: ${waterlevelPercentage}%`);
let totalInputPercentage = 0;
let inputCount = 0;
let totalOutputPercentage = 0;
let outputCount = 0;
// Calculate and add water level percentages for inputConnections
if (tank.connections.inputConnections) {
tank.connections.inputConnections.forEach(inputConnection => {
const inputWaterLevel = inputConnection.water_level ? parseInt(inputConnection.water_level.replace(/,/g, ''), 10) : 0;
const inputCapacity = inputConnection.capacity ? parseInt(inputConnection.capacity.replace(/,/g, ''), 10) : 0;
if (inputCapacity > 0) {
inputConnection.waterlevelPercentage = ((inputWaterLevel / inputCapacity) * 100).toFixed(2);
totalInputPercentage += parseFloat(inputConnection.waterlevelPercentage);
inputCount++;
} else {
inputConnection.waterlevelPercentage = null;
}
});
// Add the average input water level percentage to the tank's connections object
tank.connections.inputWaterlevelPercentage = inputCount > 0 ? (totalInputPercentage / inputCount).toFixed(2) : null;
}
// Calculate and add water level percentages for outputConnections
if (tank.connections.outputConnections) {
tank.connections.outputConnections.forEach(outputConnection => {
const outputWaterLevel = outputConnection.water_level ? parseInt(outputConnection.water_level.replace(/,/g, ''), 10) : 0;
const outputCapacity = outputConnection.capacity ? parseInt(outputConnection.capacity.replace(/,/g, ''), 10) : 0;
if (outputCapacity > 0) {
outputConnection.waterlevelPercentage = ((outputWaterLevel / outputCapacity) * 100).toFixed(2);
totalOutputPercentage += parseFloat(outputConnection.waterlevelPercentage);
outputCount++;
} else {
outputConnection.waterlevelPercentage = null;
}
});
// Add the average output water level percentage to the tank's connections object
tank.connections.outputWaterlevelPercentage = outputCount > 0 ? (totalOutputPercentage / outputCount).toFixed(2) : null;
}
// Summing up the total water levels and capacities
if (tank.tankLocation === 'sump' && tank.typeOfWater === 'Drinking Water') {
sumSumpDrinkingWater += waterlevel;
sumSumpDrinkingWaterCapacity += capacity;
@ -369,7 +415,6 @@ exports.getTanklevels = async (req, reply) => {
const intervals = {};
let sump_water_levels=[];
let supplier_tanks = [];

@ -51,14 +51,13 @@ const tanksSchema = new mongoose.Schema({
auto_min_percentage: { type: String, default: "20" },
reserved_percentage: { type: String, default: "20" },
auto_max_percentage: { type: String, default: "80" },
connections: {
source: { type: String },
inputConnections: [
{
inputConnections: { type: String },
input_type: { type: String },
inputismotor: { type: Boolean, },
inputismotor: { type: Boolean },
motor_id: { type: String, default: null },
motor_status: { type: String, default: "0" },
auto_mode: { type: String, default: "inactive" },
@ -71,14 +70,15 @@ const tanksSchema = new mongoose.Schema({
threshold_type: { type: String, default: "percentage" },
startTime: { type: String, default: null },
start_instance_id: { type: String, default: null },
stopTime:{type: String,default:null}
stopTime: { type: String, default: null },
waterlevelPercentage: { type: String, default: null }
}
],
outputConnections: [
{
outputConnections: { type: String },
output_type: { type: String },
outputismotor: { type: Boolean, },
outputismotor: { type: Boolean },
motor_id: { type: String, default: null },
motor_status: { type: String, default: "0" },
motor_stop_status: { type: String, default: "1" },
@ -87,15 +87,16 @@ const tanksSchema = new mongoose.Schema({
manual_threshold_percentage: { type: String, default: "90" },
manual_threshold_time: { type: String, default: null },
threshold_type: { type: String, default: "percentage" },
waterlevelPercentage: { type: String, default: null }
}
]
],
inputWaterlevelPercentage: { type: String, default: null },
outputWaterlevelPercentage: { type: String, default: null }
}
});
const motordataSchema = new mongoose.Schema({
customerId: { type: String, default: null },
motor_id: { type: String, default: null },

Loading…
Cancel
Save