changes in tanks and start and stop

master
varun 3 years ago
parent 7f06730530
commit aeba3d8af5

@ -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"){
// const supplier_tank_info1 = await Tank.findOne({ customerId ,tankName:supplier_tank});
// console.log(supplier_tank_info1)
// 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"){ 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) initial_update = parseInt(supplier_tank_info1.capacity.replace(/,/g, ''), 10)/2;
initial_update = parseInt(supplier_tank_info1.capacity.replace(/,/g, ''), 10)-200;
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)

@ -31,8 +31,8 @@ const motordataSchema = new mongoose.Schema({
customerId: { type: String, default: null }, customerId: { type: String, default: null },
supplierTank: { type: String, default: null }, supplierTank: { type: String, default: null },
receiverTank: { type: String, default: null }, receiverTank: { type: String, default: null },
date: { type: String, default: null }, startTime: { type: String, default: null },
time: { type: String, default: null }, stopTime: { type: String, default: null },
supplier_type: { type: String, default: null }, supplier_type: { type: String, default: null },
receiver_type: { type: String, default: null }, receiver_type: { type: String, default: null },

@ -232,7 +232,8 @@ module.exports = function (fastify, opts, next) {
to_type: { type: "string" }, to_type: { type: "string" },
action: { type: "string" }, action: { type: "string" },
percentage: { type: "string" }, percentage: { type: "string" },
startTime:{ type: "string" },
stopTime:{ type: "string" },
}, },
}, },
security: [ security: [

Loading…
Cancel
Save