accounts of supplier

master
varun 3 years ago
parent 15389802d8
commit 894de3b911

@ -368,3 +368,48 @@ exports.userAccounts = async (req, reply) => {
}
};
exports.supplierAccounts = async (req, reply) => {
try {
const booking = await Tankerbooking.find({supplierId: req.params.supplierId})
// console.log(booking)
let acceptedCount = 0;
let pendingRejectedCount = 0;
let deliveredCount = 0;
let deliveredTotalPrice = 0;
let deliveredTotalAmountPaid = 0;
let deliveredTotalAmountDue = 0;
for (let i = 0; i < booking.length; i++) {
let order = booking[i];
if (order.orderStatus === "accepted") {
acceptedCount++;
} else if (order.orderStatus === "pending" || order.orderStatus === "rejected") {
pendingRejectedCount++;
} else if (order.orderStatus === "delivered") {
deliveredCount++;
deliveredTotalPrice += parseInt(order.price.replace(/,/g, ''), 10)
deliveredTotalAmountPaid += parseInt(order.amount_paid.replace(/,/g, ''), 10)
deliveredTotalAmountDue += parseInt(order.amount_due.replace(/,/g, ''), 10)
}
}
console.log("Accepted orders count:", acceptedCount);
console.log("Pending or rejected orders count:", pendingRejectedCount);
console.log("Delivered orders count:", deliveredCount);
console.log("Delivered orders total price:", deliveredTotalPrice);
console.log("Delivered orders total amount paid:", deliveredTotalAmountPaid);
console.log("Delivered orders total amount due:", deliveredTotalAmountDue);
reply.send({ status_code: 200, count: booking.length, data: booking,acceptedCount:acceptedCount,pendingRejectedCount:pendingRejectedCount,deliveredCount:deliveredCount,deliveredTotalPrice:deliveredTotalPrice,deliveredTotalAmountPaid:deliveredTotalAmountPaid,deliveredTotalAmountDue:deliveredTotalAmountDue });
} catch (err) {
throw boom.boomify(err);
}
};

@ -324,6 +324,33 @@ module.exports = function (fastify, opts, next) {
fastify.get("/api/supplierAccounts/:supplierId", {
schema: {
tags: ["Supplier"],
description: "This is for Get accounts of Supplier",
summary: "This is for to Get accounts of Supplier",
params: {
required: ["supplierId"],
type: "object",
properties: {
supplierId: {
type: "string",
description: "supplierId",
},
},
},
security: [
{
basicAuth: [],
},
],
},
preHandler: fastify.auth([fastify.authenticate]),
handler: supplierOrderController.supplierAccounts,
});
next();
}

Loading…
Cancel
Save