From edf1fcb7429eab23ca54c8c0c5c1d600e1d0dcd5 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 09:50:02 +0530 Subject: [PATCH] fix: performance issue for the report Purchase Order Analysis report (backport #42503) (#42507) fix: performance issue for the report Purchase Order Analysis report (#42503) (cherry picked from commit cb522f8f22df6688438994d0d2c47f32984aebd6) Co-authored-by: rohitwaghchaure --- .../purchase_order_analysis/purchase_order_analysis.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py b/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py index 7df96064a0c..da1c70d3179 100644 --- a/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py +++ b/erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py @@ -39,16 +39,14 @@ def validate_filters(filters): def get_data(filters): po = frappe.qb.DocType("Purchase Order") po_item = frappe.qb.DocType("Purchase Order Item") - pi = frappe.qb.DocType("Purchase Invoice") pi_item = frappe.qb.DocType("Purchase Invoice Item") query = ( frappe.qb.from_(po) - .from_(po_item) + .inner_join(po_item) + .on(po_item.parent == po.name) .left_join(pi_item) - .on(pi_item.po_detail == po_item.name & pi_item.docstatus == 1) - .left_join(pi) - .on(pi.name == pi_item.parent & pi.docstatus == 1) + .on((pi_item.po_detail == po_item.name) & (pi_item.docstatus == 1)) .select( po.transaction_date.as_("date"), po_item.schedule_date.as_("required_date"),