|
|
@ -272,34 +272,71 @@ exports.motorAction = async (req, reply) => {
|
|
|
|
console.log(supplier_tank)
|
|
|
|
console.log(supplier_tank)
|
|
|
|
await Tank.findOneAndUpdate({customerId, tankName: receiver_tank}, { $set: { motor_status: 1 } });
|
|
|
|
await Tank.findOneAndUpdate({customerId, tankName: receiver_tank}, { $set: { motor_status: 1 } });
|
|
|
|
|
|
|
|
|
|
|
|
if(supplier_tank_type==="sump" && receiver_type === "overhead"){
|
|
|
|
// if(supplier_tank_type==="sump" && receiver_type === "overhead"){
|
|
|
|
const supplier_tank_info1 = await Tank.findOne({ customerId ,tankName:supplier_tank});
|
|
|
|
// const supplier_tank_info1 = await Tank.findOne({ customerId ,tankName:supplier_tank});
|
|
|
|
console.log(supplier_tank_info1)
|
|
|
|
// console.log(supplier_tank_info1)
|
|
|
|
initial_update = parseInt(supplier_tank_info1.capacity.replace(/,/g, ''), 10)-200;
|
|
|
|
// initial_update = parseInt(supplier_tank_info1.capacity.replace(/,/g, ''), 10)-200;
|
|
|
|
|
|
|
|
// await Tank.findOneAndUpdate({customerId, tankName: supplier_tank}, { $set: { waterlevel: initial_update } });
|
|
|
|
|
|
|
|
// const supplier_tank_info = await Tank.findOne({ customerId ,tankName:supplier_tank});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // await changingfrom_tankwaterlevel(customerId,initial_update,supplier_tank_info);
|
|
|
|
|
|
|
|
// let supplier_waterlevel = parseInt(supplier_tank_info.waterlevel.replace(/,/g, ''), 10)
|
|
|
|
|
|
|
|
// let receiver_waterlevel = parseInt(receiver_tank_info.waterlevel.replace(/,/g, ''), 10)
|
|
|
|
|
|
|
|
// intervalId = setInterval(async function () {
|
|
|
|
|
|
|
|
// // Calculate new water levels
|
|
|
|
|
|
|
|
// const newWaterLevel = receiver_waterlevel + 200//Math.floor(supplier_waterlevel * 0.1);
|
|
|
|
|
|
|
|
// const newSupplierWaterLevel = supplier_waterlevel - 200//Math.floor(supplier_waterlevel * 0.1);
|
|
|
|
|
|
|
|
// const supplier_capacity = parseInt(supplier_tank_info.capacity.replace(/,/g, ''), 10)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // Check if updating should stop
|
|
|
|
|
|
|
|
// if ((newSupplierWaterLevel/supplier_capacity)*100 <= 5 || (newWaterLevel/receiver_capacity)*100 >= 95 || (newWaterLevel/receiver_capacity)*100 >= desired_water_percentage) {
|
|
|
|
|
|
|
|
// clearInterval(intervalId)
|
|
|
|
|
|
|
|
// await Tank.findOneAndUpdate({customerId, tankName: receiver_tank}, { $set: { motor_status: 0 } });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// console.log("end");
|
|
|
|
|
|
|
|
// } else {
|
|
|
|
|
|
|
|
// // Update water levels in database
|
|
|
|
|
|
|
|
// supplier_waterlevel = newSupplierWaterLevel;
|
|
|
|
|
|
|
|
// receiver_waterlevel = newWaterLevel;
|
|
|
|
|
|
|
|
// console.log((newSupplierWaterLevel/supplier_capacity)*100)
|
|
|
|
|
|
|
|
// console.log((newWaterLevel/receiver_capacity)*100)
|
|
|
|
|
|
|
|
// await Promise.all([
|
|
|
|
|
|
|
|
// Tank.findOneAndUpdate({customerId, tankName: receiver_tank}, { $set: { waterlevel: newWaterLevel } }),
|
|
|
|
|
|
|
|
// Tank.findOneAndUpdate({customerId, tankName: supplier_tank}, { $set: { waterlevel: newSupplierWaterLevel } })
|
|
|
|
|
|
|
|
// ]);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }, 2000);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(supplier_tank_type==="sump" && receiver_type === "overhead"){
|
|
|
|
|
|
|
|
const supplier_tank_info1 = await Tank.findOne({ customerId ,tankName:supplier_tank});
|
|
|
|
|
|
|
|
initial_update = parseInt(supplier_tank_info1.capacity.replace(/,/g, ''), 10)/2;
|
|
|
|
await Tank.findOneAndUpdate({customerId, tankName: supplier_tank}, { $set: { waterlevel: initial_update } });
|
|
|
|
await Tank.findOneAndUpdate({customerId, tankName: supplier_tank}, { $set: { waterlevel: initial_update } });
|
|
|
|
const supplier_tank_info = await Tank.findOne({ customerId ,tankName:supplier_tank});
|
|
|
|
const supplier_tank_info = await Tank.findOne({ customerId ,tankName:supplier_tank});
|
|
|
|
|
|
|
|
|
|
|
|
// 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)
|
|
|
|
let receiver_waterlevel = parseInt(receiver_tank_info.waterlevel.replace(/,/g, ''), 10)
|
|
|
|
let receiver_waterlevel = parseInt(receiver_tank_info.waterlevel.replace(/,/g, ''), 10)
|
|
|
|
intervalId = setInterval(async function () {
|
|
|
|
intervalId = setInterval(async function () {
|
|
|
|
|
|
|
|
const supplier_capacity = parseInt(supplier_tank_info.capacity.replace(/,/g, ''), 10)
|
|
|
|
// Calculate new water levels
|
|
|
|
// Calculate new water levels
|
|
|
|
const newWaterLevel = receiver_waterlevel + 200//Math.floor(supplier_waterlevel * 0.1);
|
|
|
|
const newWaterLevel = receiver_waterlevel + 200//Math.floor(supplier_waterlevel * 0.1);
|
|
|
|
const newSupplierWaterLevel = supplier_waterlevel - 200//Math.floor(supplier_waterlevel * 0.1);
|
|
|
|
const newSupplierWaterLevel = Math.min(supplier_capacity, supplier_waterlevel + 350);// Math.floor(supplier_waterlevel * 0.15));
|
|
|
|
const supplier_capacity = parseInt(supplier_tank_info.capacity.replace(/,/g, ''), 10)
|
|
|
|
console.log(newWaterLevel)
|
|
|
|
|
|
|
|
console.log(newSupplierWaterLevel)
|
|
|
|
|
|
|
|
|
|
|
|
// Check if updating should stop
|
|
|
|
// Check if updating should stop
|
|
|
|
if ((newSupplierWaterLevel/supplier_capacity)*100 <= 5 || (newWaterLevel/receiver_capacity)*100 >= 95 || (newWaterLevel/receiver_capacity)*100 >= desired_water_percentage) {
|
|
|
|
if ( (newWaterLevel/receiver_capacity)*100 >= 95 || (newWaterLevel/receiver_capacity)*100 >= desired_water_percentage ) {
|
|
|
|
clearInterval(intervalId)
|
|
|
|
clearInterval(intervalId)
|
|
|
|
await Tank.findOneAndUpdate({customerId, tankName: receiver_tank}, { $set: { motor_status: 0 } });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
console.log("end");
|
|
|
|
console.log("end");
|
|
|
|
} 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)
|
|
|
|
await Promise.all([
|
|
|
|
await Promise.all([
|
|
|
|
Tank.findOneAndUpdate({customerId, tankName: receiver_tank}, { $set: { waterlevel: newWaterLevel } }),
|
|
|
|
Tank.findOneAndUpdate({customerId, tankName: receiver_tank}, { $set: { waterlevel: newWaterLevel } }),
|
|
|
|
Tank.findOneAndUpdate({customerId, tankName: supplier_tank}, { $set: { waterlevel: newSupplierWaterLevel } })
|
|
|
|
Tank.findOneAndUpdate({customerId, tankName: supplier_tank}, { $set: { waterlevel: newSupplierWaterLevel } })
|
|
|
@ -307,6 +344,7 @@ exports.motorAction = async (req, reply) => {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}, 2000);
|
|
|
|
}, 2000);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if(supplier_tank_type==="bore" && receiver_type === "sump"){
|
|
|
|
if(supplier_tank_type==="bore" && receiver_type === "sump"){
|
|
|
@ -344,6 +382,8 @@ exports.motorAction = async (req, reply) => {
|
|
|
|
supplier_type: req.body.from_type,
|
|
|
|
supplier_type: req.body.from_type,
|
|
|
|
receiverTank: receiver_tank,
|
|
|
|
receiverTank: receiver_tank,
|
|
|
|
receiver_type: req.body.to_type,
|
|
|
|
receiver_type: req.body.to_type,
|
|
|
|
|
|
|
|
startTime: req.body.startTime,
|
|
|
|
|
|
|
|
stopTime: req.body.stopTime,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -359,6 +399,8 @@ exports.motorAction = async (req, reply) => {
|
|
|
|
motorData.receiverTank = receiver_tank;
|
|
|
|
motorData.receiverTank = receiver_tank;
|
|
|
|
motorData.supplier_type = req.body.from_type;
|
|
|
|
motorData.supplier_type = req.body.from_type;
|
|
|
|
motorData.receiver_type = req.body.to_type;
|
|
|
|
motorData.receiver_type = req.body.to_type;
|
|
|
|
|
|
|
|
motorData.startTime = usertobeInserted.startTime;
|
|
|
|
|
|
|
|
motorData.stopTime = usertobeInserted.stopTime;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -368,41 +410,7 @@ exports.motorAction = async (req, reply) => {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// if(supplier_tank_type==="bore" && receiver_type === "overhead"){
|
|
|
|
|
|
|
|
// const supplier_tank_info1 = await Tank.findOne({ customerId ,tankName:supplier_tank});
|
|
|
|
|
|
|
|
// // initial_update = parseInt(supplier_tank_info1.capacity.replace(/,/g, ''), 10)/2;
|
|
|
|
|
|
|
|
// // await Tank.findOneAndUpdate({customerId, tankName: supplier_tank}, { $set: { waterlevel: initial_update } });
|
|
|
|
|
|
|
|
// const supplier_tank_info = await Tank.findOne({ customerId ,tankName:supplier_tank});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// let supplier_waterlevel = parseInt(supplier_tank_info.waterlevel.replace(/,/g, ''), 10)
|
|
|
|
|
|
|
|
// let receiver_waterlevel = parseInt(receiver_tank_info.waterlevel.replace(/,/g, ''), 10)
|
|
|
|
|
|
|
|
// intervalId = setInterval(async function () {
|
|
|
|
|
|
|
|
// const supplier_capacity = parseInt(supplier_tank_info.capacity.replace(/,/g, ''), 10)
|
|
|
|
|
|
|
|
// // Calculate new water levels
|
|
|
|
|
|
|
|
// const newWaterLevel = receiver_waterlevel + 200//Math.floor(supplier_waterlevel * 0.1);
|
|
|
|
|
|
|
|
// const newSupplierWaterLevel = Math.min(supplier_capacity, supplier_waterlevel + 350);// Math.floor(supplier_waterlevel * 0.15));
|
|
|
|
|
|
|
|
// console.log(newWaterLevel)
|
|
|
|
|
|
|
|
// console.log(newSupplierWaterLevel)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // Check if updating should stop
|
|
|
|
|
|
|
|
// if ( (newWaterLevel/receiver_capacity)*100 >= 95 || (newWaterLevel/receiver_capacity)*100 >= desired_water_percentage ) {
|
|
|
|
|
|
|
|
// clearInterval(intervalId)
|
|
|
|
|
|
|
|
// console.log("end");
|
|
|
|
|
|
|
|
// } else {
|
|
|
|
|
|
|
|
// // Update water levels in database
|
|
|
|
|
|
|
|
// supplier_waterlevel = newSupplierWaterLevel;
|
|
|
|
|
|
|
|
// receiver_waterlevel = newWaterLevel;
|
|
|
|
|
|
|
|
// // console.log((newSupplierWaterLevel/supplier_capacity)*100)
|
|
|
|
|
|
|
|
// // console.log((newWaterLevel/receiver_capacity)*100)
|
|
|
|
|
|
|
|
// await Promise.all([
|
|
|
|
|
|
|
|
// Tank.findOneAndUpdate({customerId, tankName: receiver_tank}, { $set: { waterlevel: newWaterLevel } }),
|
|
|
|
|
|
|
|
// Tank.findOneAndUpdate({customerId, tankName: supplier_tank}, { $set: { waterlevel: newSupplierWaterLevel } })
|
|
|
|
|
|
|
|
// ]);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }, 2000);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
// reply.send({ status_code: 200, "start time": start_time});
|
|
|
|
// reply.send({ status_code: 200, "start time": start_time});
|
|
|
|
//console.log(start_time)
|
|
|
|
//console.log(start_time)
|
|
|
|
|
|
|
|
|
|
|
|