changes in auto_percentage

master^2
Varun 9 months ago
parent 56ee1db55b
commit c51dd7e787

@ -5328,37 +5328,68 @@ exports.update_auto_mode = async (req, reply) => {
exports.update_auto_percentage = async (req, reply) => {
try {
const customerId = req.params.customerId;
const { tankName, tankLocation, auto_min_percentage, auto_max_percentage, auto_mode_type } = req.body;
let { tankName, tankLocation, auto_min_percentage, auto_max_percentage, auto_mode_type } = req.body;
// Build the query filter
const filter = { customerId: customerId };
if (tankName !== "all") {
// Handle the optional parameters
tankName = tankName ? tankName : null;
tankLocation = tankLocation ? tankLocation.toLowerCase() : null;
const filter = { customerId };
// If tankName is not 'all', add it to the filter
if (tankName && tankName !== "all") {
filter.tankName = tankName;
}
if (tankLocation) {
// Only add tankLocation to the filter if tankName is not 'all'
if (tankLocation && tankName !== "all") {
filter.tankLocation = tankLocation;
}
// Update auto_min_percentage, auto_max_percentage, and auto_mode_type
await Tank.updateMany(
filter,
{
$set: {
"auto_min_percentage": auto_min_percentage,
"auto_max_percentage": auto_max_percentage,
"auto_mode_type": auto_mode_type
}
}
);
console.log("Update filter:", JSON.stringify(filter, null, 2));
reply.send({ status_code: 200, message: "Auto mode and percentages updated successfully." });
// Check if tanks exist
const matchingTanks = await Tank.find(filter);
console.log("Matching tanks:", matchingTanks);
if (matchingTanks.length === 0) {
return reply.send({ status_code: 400, message: "No matching records found." });
}
// Define the update fields
const updateData = {
auto_min_percentage: String(auto_min_percentage || "20"),
auto_max_percentage: String(auto_max_percentage || "80"),
auto_mode_type: auto_mode_type || "default",
};
let result;
if (tankName && tankName !== "all") {
// Update only one tank if tankName is specified and not "all"
result = await Tank.updateOne(filter, { $set: updateData });
} else {
// Update all tanks of the particular customer if tankName is "all"
result = await Tank.updateMany(filter, { $set: updateData });
}
console.log("Update result:", result);
if (result.modifiedCount > 0) {
reply.send({ status_code: 200, message: "Auto mode and percentages updated successfully." });
} else {
reply.send({ status_code: 400, message: "Values were already up-to-date." });
}
} catch (error) {
throw boom.boomify(error);
console.error(error);
reply.send({ status_code: 500, message: "Internal server error." });
}
};
//storing water level for every 15 minutes
const getFormattedISTTime = () => {

Loading…
Cancel
Save