Merge pull request #44955 from frappe/mergify/bp/version-15-hotfix/pr-44636

fix: SQL syntax error in Purchase Receipt query for empty filters (backport #44636)
This commit is contained in:
ruthra kumar
2024-12-30 12:38:02 +05:30
committed by GitHub

View File

@@ -103,6 +103,11 @@ def get_received_amount_data(data):
pr = frappe.qb.DocType("Purchase Receipt") pr = frappe.qb.DocType("Purchase Receipt")
pr_item = frappe.qb.DocType("Purchase Receipt Item") pr_item = frappe.qb.DocType("Purchase Receipt Item")
po_items = [row.name for row in data]
if not po_items:
return frappe._dict()
query = ( query = (
frappe.qb.from_(pr) frappe.qb.from_(pr)
.inner_join(pr_item) .inner_join(pr_item)
@@ -111,12 +116,10 @@ def get_received_amount_data(data):
pr_item.purchase_order_item, pr_item.purchase_order_item,
Sum(pr_item.base_amount).as_("received_qty_amount"), Sum(pr_item.base_amount).as_("received_qty_amount"),
) )
.where((pr_item.parent == pr.name) & (pr.docstatus == 1)) .where((pr.docstatus == 1) & (pr_item.purchase_order_item.isin(po_items)))
.groupby(pr_item.purchase_order_item) .groupby(pr_item.purchase_order_item)
) )
query = query.where(pr_item.purchase_order_item.isin([row.name for row in data]))
data = query.run() data = query.run()
if not data: if not data: