From 3e7452a484b42f7546da6e9f58fe5a77990dfaef Mon Sep 17 00:00:00 2001 From: Sibunnayak Date: Thu, 3 Oct 2024 12:02:58 +0530 Subject: [PATCH] rd order andpd order fixed --- resources/PD_Orders/pdOrderController.js | 10 +++++++--- resources/RD_Ordes/rdOrderController.js | 18 ++++++++++++++++++ resources/RD_Ordes/rdOrderRoutes.js | 5 ++++- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/resources/PD_Orders/pdOrderController.js b/resources/PD_Orders/pdOrderController.js index d97e941..e00ddf0 100644 --- a/resources/PD_Orders/pdOrderController.js +++ b/resources/PD_Orders/pdOrderController.js @@ -1477,11 +1477,15 @@ export const getAllOrdersByDistributor = async (req, res) => { export const gettotalorderandvalueofpd = async (req, res) => { const { distributorId } = req.params; try { - const orders = await PdOrder.find({ addedBy: distributorId }); + const orders = await PdOrder.find({ addedBy: distributorId }).sort({ createdAt: -1 }); + const totalOrders = orders.length; - const totalValue = orders.reduce((acc, order) => acc + order.grandTotal, 0); + const totalValue = orders.reduce((acc, order) => acc + order.grandTotal, 0).toFixed(2); + + // Get the date of the last order + const lastPurchaseOrderDate = totalOrders > 0 ? orders[0].createdAt : null; - res.status(200).json({ totalOrders, totalValue }); + res.status(200).json({ totalOrders, totalValue: parseFloat(totalValue), lastPurchaseOrderDate }); } catch (error) { console.error("Error fetching orders:", error); res.status(500).json({ message: "Server error", error }); diff --git a/resources/RD_Ordes/rdOrderController.js b/resources/RD_Ordes/rdOrderController.js index e113748..fa611fd 100644 --- a/resources/RD_Ordes/rdOrderController.js +++ b/resources/RD_Ordes/rdOrderController.js @@ -1535,3 +1535,21 @@ export const getAllOrdersByDistributor = async (req, res) => { res.status(500).json({ message: "Server error", error }); } }; + +export const gettotalorderandvalueofrd = async (req, res) => { + const { distributorId } = req.params; + try { + const orders = await RdOrder.find({ addedBy: distributorId }).sort({ createdAt: -1 }); + + const totalOrders = orders.length; + const totalValue = orders.reduce((acc, order) => acc + order.grandTotal, 0).toFixed(2); + + // Get the date of the last order + const lastPurchaseOrderDate = totalOrders > 0 ? orders[0].createdAt : null; + + res.status(200).json({ totalOrders, totalValue: parseFloat(totalValue), lastPurchaseOrderDate }); + } catch (error) { + console.error("Error fetching orders:", error); + res.status(500).json({ message: "Server error", error }); + } +}; \ No newline at end of file diff --git a/resources/RD_Ordes/rdOrderRoutes.js b/resources/RD_Ordes/rdOrderRoutes.js index 37ed5b0..c61a671 100644 --- a/resources/RD_Ordes/rdOrderRoutes.js +++ b/resources/RD_Ordes/rdOrderRoutes.js @@ -15,6 +15,7 @@ import { getProcessingInvoicesForPd, getSinglePlacedOrderForPD, getSinglePlacedOrderForRD, + gettotalorderandvalueofrd, processOrder, updateCourierStatusToDeliveredForPD, updateCourierStatusToDispatchedForPD, @@ -80,5 +81,7 @@ router.route("/invoice/delivered/:invoiceId").put( updateCourierStatusToDeliveredForPD ); - +router +.route("/single-rd-ordercount/:distributorId") +.get(isAuthenticatedUser, authorizeRoles("admin"), gettotalorderandvalueofrd); export default router;