|
|
@ -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);
|
|
|
@ -406,6 +409,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)
|
|
|
@ -463,9 +470,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)
|
|
|
|
// console.log(receiver_capacity,"0",receiver_tank_info.tankName)
|
|
|
|
// console.log(receiver_capacity,"0",receiver_tank_info.tankName)
|
|
|
@ -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 } })
|
|
|
|