changes in tanks and start and stop regarding bore to sump

master
varun 3 years ago
parent aeba3d8af5
commit 79b11363e6

@ -270,7 +270,7 @@ exports.motorAction = async (req, reply) => {
supplier_tank_type = req.body.from_type supplier_tank_type = req.body.from_type
receiver_type = req.body.to_type receiver_type = req.body.to_type
console.log(supplier_tank) console.log(supplier_tank)
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});
@ -312,24 +312,34 @@ exports.motorAction = async (req, reply) => {
if(supplier_tank_type==="sump" && receiver_type === "overhead"){ if(supplier_tank_type==="sump" && receiver_type === "overhead"){
await Tank.findOneAndUpdate({customerId, tankName: receiver_tank}, { $set: { motor_status: "true" } });
// console.log(rcvr_info.motor_status)
const supplier_tank_info1 = await Tank.findOne({ customerId ,tankName:supplier_tank}); const supplier_tank_info1 = await Tank.findOne({ customerId ,tankName:supplier_tank});
initial_update = parseInt(supplier_tank_info1.capacity.replace(/,/g, ''), 10)/2; 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});
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 rcvr_info = await Tank.findOne({ customerId ,tankName:receiver_tank});
const supplier_capacity = parseInt(supplier_tank_info.capacity.replace(/,/g, ''), 10) 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 = Math.min(supplier_capacity, supplier_waterlevel + 350);// Math.floor(supplier_waterlevel * 0.15)); const newSupplierWaterLevel = Math.min(supplier_capacity, supplier_waterlevel + 350);// Math.floor(supplier_waterlevel * 0.15));
console.log(newWaterLevel) console.log(newWaterLevel)
console.log(newSupplierWaterLevel) console.log(newSupplierWaterLevel)
console.log(rcvr_info.motor_status)
console.log(rcvr_info.tankName)
// Check if updating should stop // Check if updating should stop
if ( (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 || rcvr_info.motor_status === "false") {
clearInterval(intervalId) clearInterval(intervalId)
await Tank.findOneAndUpdate({customerId, tankName: receiver_tank}, { $set: { motor_status: "false" } });
console.log("end"); console.log("end");
} else { } else {
// Update water levels in database // Update water levels in database
@ -348,25 +358,29 @@ exports.motorAction = async (req, reply) => {
} }
if(supplier_tank_type==="bore" && receiver_type === "sump"){ if(supplier_tank_type==="bore" && receiver_type === "sump"){
const receiver_capacity = receiver_tank_info.capacity const receiver_capacity = parseInt(receiver_tank_info.capacity.replace(/,/g, ''), 10)
await Tank.findOneAndUpdate({customerId, tankName: receiver_tank}, { $set: { motor_status: 1 } }); console.log(receiver_capacity,"0")
await Tank.findOneAndUpdate({customerId, tankName: receiver_tank}, { $set: { motor_status: "true" } });
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")
intervalId = setInterval(async function () { intervalId = setInterval(async function () {
// Calculate new water levels // Calculate new water levels
const rcvr_info = await Tank.findOne({ customerId ,tankName:receiver_tank});
const newWaterLevel = receiver_waterlevel+200; const newWaterLevel = receiver_waterlevel+200;
console.log(newWaterLevel,"2")
// Check if updating should stop // Check if updating should stop
if ((newWaterLevel/receiver_capacity)*100 >= 97 || (newWaterLevel/receiver_capacity)*100 >= desired_water_percentage ) { if ((newWaterLevel/receiver_capacity)*100 >= 97 || (newWaterLevel/receiver_capacity)*100 >= desired_water_percentage || rcvr_info.motor_status === "false" ) {
await Tank.findOneAndUpdate({customerId, tankName: receiver_tank}, { $set: { motor_status: "false" } });
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
receiver_waterlevel = newWaterLevel; receiver_waterlevel = newWaterLevel;
console.log((newWaterLevel/receiver_capacity)*100) console.log((newWaterLevel/receiver_capacity)*100,"4")
await Promise.all([ await Promise.all([
Tank.findOneAndUpdate({customerId, tankName: receiver_tank}, { $set: { waterlevel: newWaterLevel } }), Tank.findOneAndUpdate({customerId, tankName: receiver_tank}, { $set: { waterlevel: newWaterLevel } }),
]); ]);
@ -419,8 +433,8 @@ exports.motorAction = async (req, reply) => {
else if (action === "stop") { else if (action === "stop") {
// stop_time = new Date().toLocaleString('en-US', {timeZone: 'Asia/Kolkata'}) // stop_time = new Date().toLocaleString('en-US', {timeZone: 'Asia/Kolkata'})
// console.log(stop_time) // console.log(stop_time)
clearInterval(intervalId); // clearInterval(intervalId);
await Tank.findOneAndUpdate({customerId, tankName: receiver_tank}, { $set: { motor_status: 0 } }); await Tank.findOneAndUpdate({customerId, tankName: receiver_tank}, { $set: { motor_status: "false" } });
// reply.send({ status_code: 200, "stop time": stop_time}); // reply.send({ status_code: 200, "stop time": stop_time});
} else { } else {

Loading…
Cancel
Save