bhaskar 2 years ago
commit 4420562f10

@ -152,7 +152,7 @@ exports.getTank = async (req, reply) => {
exports.updateTanklevels = async (req, reply) => { exports.updateTanklevels = async (req, reply) => {
try { try {
const customerId = req.params.customerId; const customerId = req.params.customerId;
const tanks = await Tank.find({ customerId }); const tanks = await Tank.find({ customerId,tankLocation:"overhead" });
const intervals = {}; const intervals = {};
@ -166,7 +166,7 @@ exports.updateTanklevels = async (req, reply) => {
const tank_data = await Tank.findOne({ _id:tankId }); const tank_data = await Tank.findOne({ _id:tankId });
const motorStatus = tank_data.motor_status const motorStatus = tank_data.motor_status
let waterLevel = parseInt(tank_data.waterlevel.replace(/,/g, ''), 10); let waterLevel = parseInt(tank_data.waterlevel.replace(/,/g, ''), 10);
const newWaterLevel = Math.floor(waterLevel - 200); const newWaterLevel = Math.floor(waterLevel - 150);
console.log("motorstatus:"+motorStatus) console.log("motorstatus:"+motorStatus)
if (newWaterLevel <= 0 ) { if (newWaterLevel <= 0 ) {
@ -273,7 +273,7 @@ exports.motorAction = async (req, reply) => {
if(action === "start"){ if(action === "start"){
const start_time = new Date().toLocaleString('en-US', {timeZone: 'Asia/Kolkata'}) const start_time = new Date().toLocaleString('en-US', {timeZone: 'Asia/Kolkata'})
// const stop_at = req.body.stop_at
@ -299,14 +299,17 @@ exports.motorAction = async (req, reply) => {
// await changingfrom_tankwaterlevel(customerId,initial_update,supplier_tank_info); // await changingfrom_tankwaterlevel(customerId,initial_update,supplier_tank_info);
let supplier_waterlevel = parseInt(supplier_tank_info.waterlevel.replace(/,/g, ''), 10) // let supplier_waterlevel = parseInt(supplier_tank_info.waterlevel.replace(/,/g, ''), 10)
// console.log(supplier_waterlevel) // console.log(supplier_waterlevel)
let receiver_waterlevel = parseInt(receiver_tank_info.waterlevel.replace(/,/g, ''), 10) // let receiver_waterlevel = parseInt(receiver_tank_info.waterlevel.replace(/,/g, ''), 10)
intervals[interval_variable] = setInterval(async function () { intervals[interval_variable] = setInterval(async function () {
// Calculate new water levels // Calculate new water levels
const supplier_tank_info2 = await Tank.findOne({ customerId ,tankName:supplier_tank,tankLocation:supplier_tank_type}); const supplier_tank_info2 = await Tank.findOne({ customerId ,tankName:supplier_tank,tankLocation:supplier_tank_type});
const rcvr_info = await Tank.findOne({ customerId ,tankName:receiver_tank,tankLocation:receiver_type}); const rcvr_info = await Tank.findOne({ customerId ,tankName:receiver_tank,tankLocation:receiver_type});
const newWaterLevel = receiver_waterlevel + (250*sum_oh_count)//Math.floor(supplier_waterlevel * 0.1); let receiver_waterlevel = parseInt(rcvr_info.waterlevel.replace(/,/g, ''), 10)
let supplier_waterlevel = parseInt(supplier_tank_info2.waterlevel.replace(/,/g, ''), 10)
const newWaterLevel = receiver_waterlevel + 250//Math.floor(supplier_waterlevel * 0.1);
const newSupplierWaterLevel = supplier_waterlevel//Math.floor(supplier_waterlevel * 0.1); const newSupplierWaterLevel = supplier_waterlevel//Math.floor(supplier_waterlevel * 0.1);
const supplier_capacity = parseInt(supplier_tank_info.capacity.replace(/,/g, ''), 10) const supplier_capacity = parseInt(supplier_tank_info.capacity.replace(/,/g, ''), 10)
console.log((newSupplierWaterLevel/supplier_capacity)*100) console.log((newSupplierWaterLevel/supplier_capacity)*100)
@ -332,16 +335,16 @@ exports.motorAction = async (req, reply) => {
} else { } else {
// Update water levels in database // Update water levels in database
//supplier_waterlevel = newSupplierWaterLevel; //supplier_waterlevel = newSupplierWaterLevel;
receiver_waterlevel = newWaterLevel; // receiver_waterlevel = newWaterLevel;
console.log((newSupplierWaterLevel/supplier_capacity)*100) console.log((newSupplierWaterLevel/supplier_capacity)*100)
// console.log((newWaterLevel/receiver_capacity)*100) // console.log((newWaterLevel/receiver_capacity)*100)
console.log(receiver_tank+""+newWaterLevel+""+"bore to sump") console.log(receiver_tank+""+newWaterLevel+""+"bore to sump")
await Tank.findOneAndUpdate({customerId, tankName: receiver_tank,tankLocation:receiver_type}, { $set: { waterlevel: newWaterLevel } }) await Tank.findOneAndUpdate({customerId, tankName: receiver_tank,tankLocation:receiver_type}, { $set: { waterlevel: newWaterLevel } })
if (supplier_tank_info2.motor_status==="0"){ //if (supplier_tank_info2.motor_status==="0"){
supplier_waterlevel = parseInt(supplier_tank_info2.waterlevel.replace(/,/g, ''), 10)-250 supplier_waterlevel = parseInt(supplier_tank_info2.waterlevel.replace(/,/g, ''), 10)-250
console.log(supplier_tank+""+newSupplierWaterLevel+""+"s to oh") console.log(supplier_tank+""+newSupplierWaterLevel+""+"s to oh")
await Tank.findOneAndUpdate({customerId, tankName: supplier_tank,tankLocation:supplier_tank_type}, { $set: { waterlevel: supplier_waterlevel } }) await Tank.findOneAndUpdate({customerId, tankName: supplier_tank,tankLocation:supplier_tank_type}, { $set: { waterlevel: supplier_waterlevel } })
} // }
} }
}, 2000); }, 2000);
@ -405,6 +408,7 @@ exports.motorAction = async (req, reply) => {
if(supplier_tank_type==="sump" && receiver_type === "sump"){ if(supplier_tank_type==="sump" && receiver_type === "sump"){
const receiver_capacity = parseInt(receiver_tank_info.capacity.replace(/,/g, ''), 10) const receiver_capacity = parseInt(receiver_tank_info.capacity.replace(/,/g, ''), 10)
const sumpTank = await Tank.findOne({ customerId, tankName: receiver_tank, tankLocation: receiver_type }); const sumpTank = await Tank.findOne({ customerId, tankName: receiver_tank, tankLocation: receiver_type });
const connection = sumpTank.connections.inputConnections.find((conn) => conn.inputConnections === supplier_tank); const connection = sumpTank.connections.inputConnections.find((conn) => conn.inputConnections === supplier_tank);
@ -419,16 +423,19 @@ exports.motorAction = async (req, reply) => {
await Tank.findOneAndUpdate({customerId, tankName: receiver_tank,tankLocation:receiver_type}, { $set: { motor_status: "1" } }); await Tank.findOneAndUpdate({customerId, tankName: receiver_tank,tankLocation:receiver_type}, { $set: { motor_status: "1" } });
const supplier_tank_info = await Tank.findOne({ customerId ,tankName:supplier_tank,tankLocation:supplier_tank_type}); const supplier_tank_info = await Tank.findOne({ customerId ,tankName:supplier_tank,tankLocation:supplier_tank_type});
let supplier_waterlevel = parseInt(supplier_tank_info.waterlevel.replace(/,/g, ''), 10) // let supplier_waterlevel = parseInt(supplier_tank_info.waterlevel.replace(/,/g, ''), 10)
let receiver_waterlevel = parseInt(receiver_tank_info.waterlevel.replace(/,/g, ''), 10) // let receiver_waterlevel = parseInt(receiver_tank_info.waterlevel.replace(/,/g, ''), 10)
// console.log(receiver_waterlevel,"1") // console.log(receiver_waterlevel,"1")
intervals[interval_variable] = setInterval(async function () { intervals[interval_variable] = setInterval(async function () {
// Calculate new water levels // Calculate new water levels
const splr_tank_info = await Tank.findOne({ customerId ,tankName:supplier_tank,tankLocation:supplier_tank_type});
const rcvr_info = await Tank.findOne({ customerId ,tankName:receiver_tank,tankLocation:receiver_type}); const rcvr_info = await Tank.findOne({ customerId ,tankName:receiver_tank,tankLocation:receiver_type});
const supplier_capacity = parseInt(supplier_tank_info.capacity.replace(/,/g, ''), 10) const supplier_capacity = parseInt(supplier_tank_info.capacity.replace(/,/g, ''), 10)
let supplier_waterlevel = parseInt(splr_tank_info.waterlevel.replace(/,/g, ''), 10)
let receiver_waterlevel = parseInt(rcvr_info.waterlevel.replace(/,/g, ''), 10)
// Calculate new water levels // Calculate new water levels
const newWaterLevel = receiver_waterlevel + 300//Math.floor(supplier_waterlevel * 0.1); const newWaterLevel = receiver_waterlevel + 250//Math.floor(supplier_waterlevel * 0.1);
const newSupplierWaterLevel = Math.min(supplier_capacity, supplier_waterlevel - 300);// Math.floor(supplier_waterlevel * 0.15)); const newSupplierWaterLevel = Math.min(supplier_capacity, supplier_waterlevel - 250);// Math.floor(supplier_waterlevel * 0.15));
// Check if updating should stop // Check if updating should stop
if ((newWaterLevel/receiver_capacity)*100 >= 97 || (newWaterLevel/receiver_capacity)*100 >= desired_water_percentage || rcvr_info.motor_status === "0" || (newSupplierWaterLevel/supplier_capacity)*100 <= 5 ) { if ((newWaterLevel/receiver_capacity)*100 >= 97 || (newWaterLevel/receiver_capacity)*100 >= desired_water_percentage || rcvr_info.motor_status === "0" || (newSupplierWaterLevel/supplier_capacity)*100 <= 5 ) {
@ -443,8 +450,8 @@ exports.motorAction = async (req, reply) => {
} else { } else {
// Update water levels in database // Update water levels in database
supplier_waterlevel = newSupplierWaterLevel; // supplier_waterlevel = newSupplierWaterLevel;
receiver_waterlevel = newWaterLevel; // receiver_waterlevel = newWaterLevel;
console.log(supplier_waterlevel,"0") console.log(supplier_waterlevel,"0")
console.log(receiver_waterlevel,"1") console.log(receiver_waterlevel,"1")
// console.log((newSupplierWaterLevel/supplier_capacity)*100) // console.log((newSupplierWaterLevel/supplier_capacity)*100)
@ -462,9 +469,6 @@ exports.motorAction = async (req, reply) => {
if(supplier_tank_type==="bore" && receiver_type === "sump"){ if(supplier_tank_type==="bore" && receiver_type === "sump"){
const receiver_capacity = parseInt(receiver_tank_info.capacity.replace(/,/g, ''), 10) const receiver_capacity = parseInt(receiver_tank_info.capacity.replace(/,/g, ''), 10)
@ -480,14 +484,16 @@ exports.motorAction = async (req, reply) => {
} }
let receiver_waterlevel = parseInt(receiver_tank_info.waterlevel.replace(/,/g, ''), 10) // let receiver_waterlevel = parseInt(receiver_tank_info.waterlevel.replace(/,/g, ''), 10)
// console.log(receiver_waterlevel,"1") // console.log(receiver_waterlevel,"1")
intervals[interval_variable] = setInterval(async function () { intervals[interval_variable] = setInterval(async function () {
// Calculate new water levels // Calculate new water levels
const rcvr_info = await Tank.findOne({ customerId ,tankName:receiver_tank,tankLocation:receiver_type}); const rcvr_info = await Tank.findOne({ customerId ,tankName:receiver_tank,tankLocation:receiver_type});
//console.log(rcvr_info) //console.log(rcvr_info)
let receiver_waterlevel = parseInt(rcvr_info.waterlevel.replace(/,/g, ''), 10)
//console.log(rcvr_info.motor_status) //console.log(rcvr_info.motor_status)
const newWaterLevel = receiver_waterlevel+(250*bore_sump_count); const newWaterLevel = receiver_waterlevel+250;
//console.log(newWaterLevel,"2",receiver_tank_info.tankName) //console.log(newWaterLevel,"2",receiver_tank_info.tankName)
// Check if updating should stop // Check if updating should stop
if ((newWaterLevel/receiver_capacity)*100 >= 97 || (newWaterLevel/receiver_capacity)*100 >= desired_water_percentage || rcvr_info.motor_status === "0" ) { if ((newWaterLevel/receiver_capacity)*100 >= 97 || (newWaterLevel/receiver_capacity)*100 >= desired_water_percentage || rcvr_info.motor_status === "0" ) {
@ -510,7 +516,7 @@ exports.motorAction = async (req, reply) => {
} else { } else {
// Update water levels in database // Update water levels in database
receiver_waterlevel = newWaterLevel; // receiver_waterlevel = newWaterLevel;
//console.log((newWaterLevel/receiver_capacity)*100,"4",receiver_tank_info.tankName) //console.log((newWaterLevel/receiver_capacity)*100,"4",receiver_tank_info.tankName)
await Tank.findOneAndUpdate({customerId, tankName: receiver_tank,tankLocation:receiver_type}, { $set: { waterlevel: newWaterLevel } }) await Tank.findOneAndUpdate({customerId, tankName: receiver_tank,tankLocation:receiver_type}, { $set: { waterlevel: newWaterLevel } })

@ -245,6 +245,7 @@ module.exports = function (fastify, opts, next) {
percentage: { type: "string",default: "100" }, percentage: { type: "string",default: "100" },
startTime:{ type: "string" }, startTime:{ type: "string" },
stopTime:{ type: "string" }, stopTime:{ type: "string" },
stop_at:{type:"number"}
}, },
}, },

Loading…
Cancel
Save