Bhaskara Kishore 3 years ago
commit aa2412e92f

@ -193,7 +193,7 @@ exports.getactivedeliveryboysofsupplier = async (req, reply) => {
}; };
const intervals = {};
exports.deliveryboystartandstop = async (req, reply) => { exports.deliveryboystartandstop = async (req, reply) => {
try { try {
@ -212,34 +212,36 @@ exports.deliveryboystartandstop = async (req, reply) => {
// console.log(receiver_tank_info,"1") // console.log(receiver_tank_info,"1")
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,"2") //console.log(bookingdata,customerId,receiver_tank,receiver_tank_info,receiver_capacity,"2")
const intervals = {};
if(action === "start"){ if(action === "start"){
// console.log("started") // console.log("started")
start_time = new Date().toLocaleString('en-US', {timeZone: 'Asia/Kolkata'}) const start_time = new Date().toLocaleString('en-US', {timeZone: 'Asia/Kolkata'})
const initial_receiver_waterlevel = parseInt(receiver_tank_info.waterlevel.replace(/,/g, ''), 10) const initial_receiver_waterlevel = parseInt(receiver_tank_info.waterlevel.replace(/,/g, ''), 10)
await Tankerbooking.findOneAndUpdate({bookingid:bookingId}, { $set: { initial_water_level: initial_receiver_waterlevel ,start_time:start_time} }); await Tankerbooking.findOneAndUpdate({bookingid:bookingId}, { $set: { initial_water_level: initial_receiver_waterlevel ,start_time:start_time,tankerRunningStatus:"1"} });
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")
const intervalId = setInterval(async function () { intervals[bookingId]= setInterval(async function () {
// Calculate new water levels // Calculate new water levels
const newWaterLevel = receiver_waterlevel+450; const newWaterLevel = receiver_waterlevel+450;
const booking_data = await Tankerbooking.findOne({bookingid:bookingId})
const tankerStatus = booking_data.tankerRunningStatus
//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 ) { if ((newWaterLevel/receiver_capacity)*100 >= 97, tankerStatus ==="0" ) {
clearInterval(intervals[bookingId]); // Clear the interval for this tank
delete intervals[bookingId];
await Tankerbooking.findOneAndUpdate({bookingid:bookingId}, { $set: { initial_water_level: initial_receiver_waterlevel ,start_time:start_time,tankerRunningStatus:"0"} });
clearInterval(intervals[receiver_tank]); // Clear the interval for this tank
delete intervals[receiver_tank];
stop_time = new Date().toLocaleString('en-US', {timeZone: 'Asia/Kolkata'}) stop_time = new Date().toLocaleString('en-US', {timeZone: 'Asia/Kolkata'})
const final_tank_info = await Tank.findOne({ customerId ,tankName:receiver_tank,tankLocation:"sump"}); const final_tank_info = await Tank.findOne({ customerId ,tankName:receiver_tank,tankLocation:"sump"});
@ -258,7 +260,7 @@ exports.deliveryboystartandstop = async (req, reply) => {
// console.log(intervals,"check1") // console.log(intervals,"check1")
} }
}, 2000); }, 2000);
intervals[receiver_tank] = intervalId;
@ -266,7 +268,7 @@ exports.deliveryboystartandstop = async (req, reply) => {
// console.log(customerId,req.body.from,req.body.from_type,receiver_tank,req.body.to_type,) // console.log(customerId,req.body.from,req.body.from_type,receiver_tank,req.body.to_type,)
reply.send({ status_code: 200, "start time": start_time,}); reply.send({ status_code: 200, "start time": start_time,"initial water level":initial_receiver_waterlevel});
console.log(start_time) console.log(start_time)
@ -274,15 +276,16 @@ exports.deliveryboystartandstop = async (req, reply) => {
} }
if (action === "stop") { if (action === "stop") {
const booking_data = await Tankerbooking.findOne({bookingid: bookingId}) const booking_data = await Tankerbooking.findOne({bookingid: bookingId})
console.log(intervals,"hii3") console.log(intervals,"hii3")
try { try {
clearInterval(intervals[receiver_tank]); // Clear the interval for this tank clearInterval(intervals[bookingId]); // Clear the interval for this tank
delete intervals[receiver_tank]; // Delete the interval ID for this tank from the intervals object delete intervals[bookingId]; // Delete the interval ID for this tank from the intervals object
} catch (err) { } catch (err) {
console.log(err); console.log(err);
} }
stop_time = new Date().toLocaleString('en-US', {timeZone: 'Asia/Kolkata'}) const stop_time = new Date().toLocaleString('en-US', {timeZone: 'Asia/Kolkata'})
const final_tank_info = await Tank.findOne({ customerId ,tankName:receiver_tank,tankLocation:"sump"}); const final_tank_info = await Tank.findOne({ customerId ,tankName:receiver_tank,tankLocation:"sump"});
// console.log(final_tank_info,"hii") // console.log(final_tank_info,"hii")
const final_receiver_waterlevel = parseInt(final_tank_info.waterlevel.replace(/,/g, ''), 10) const final_receiver_waterlevel = parseInt(final_tank_info.waterlevel.replace(/,/g, ''), 10)
@ -290,8 +293,8 @@ exports.deliveryboystartandstop = async (req, reply) => {
const start_water_level = parseInt(booking_data.initial_water_level.replace(/,/g, ''), 10) const start_water_level = parseInt(booking_data.initial_water_level.replace(/,/g, ''), 10)
const quantity_delivered = final_receiver_waterlevel-start_water_level const quantity_delivered = final_receiver_waterlevel-start_water_level
await Tankerbooking.findOneAndUpdate({bookingid:bookingId}, { $set: { final_water_level: final_receiver_waterlevel ,stop_time:stop_time,quantityDelivered:quantity_delivered} }); await Tankerbooking.findOneAndUpdate({bookingid:bookingId}, { $set: { final_water_level: final_receiver_waterlevel ,stop_time:stop_time,quantityDelivered:quantity_delivered,tankerRunningStatus:"0"} });
reply.send({ status_code: 200, "stop time": stop_time}); reply.send({ status_code: 200, "stop time": stop_time,"final water level":final_receiver_waterlevel});
} else { } else {
throw new Error("Invalid action"); throw new Error("Invalid action");
} }

@ -227,7 +227,7 @@ exports.motorAction = async (req, reply) => {
if(action === "start"){ if(action === "start"){
start_time = new Date().toLocaleString('en-US', {timeZone: 'Asia/Kolkata'}) const start_time = new Date().toLocaleString('en-US', {timeZone: 'Asia/Kolkata'})
const supplier_tank = req.body.from const supplier_tank = req.body.from
const supplier_tank_type = (req.body.from_type).toLowerCase() const supplier_tank_type = (req.body.from_type).toLowerCase()
@ -406,7 +406,7 @@ exports.motorAction = async (req, reply) => {
} }
else if (action === "stop") { else if (action === "stop") {
stop_time = new Date().toLocaleString('en-US', {timeZone: 'Asia/Kolkata'}) const 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,tankLocation:(req.body.to_type).toLowerCase()}, { $set: { motor_status: "0" } }); await Tank.findOneAndUpdate({customerId, tankName: receiver_tank,tankLocation:(req.body.to_type).toLowerCase()}, { $set: { motor_status: "0" } });

@ -62,6 +62,7 @@ const tankersbookingSchema = new mongoose.Schema({
supplierPhone : { type: String, default: null }, supplierPhone : { type: String, default: null },
customerName : { type: String, default: null }, customerName : { type: String, default: null },
supplierName : { type: String, default: null }, supplierName : { type: String, default: null },
tankerRunningStatus: { type: String, default: null },
}); });

Loading…
Cancel
Save