Merge pull request #49185 from aerele/mop-sales-register

fix: handle mode of payment filter
(cherry picked from commit d656e02441)
This commit is contained in:
Logesh Periyasamy
2025-08-19 12:02:31 +05:30
committed by Mergify
parent 2cfdb2d2cd
commit cfb7558465

View File

@@ -355,7 +355,13 @@ def apply_conditions(query, si, sii, sip, filters, additional_conditions=None):
query = query.where(si.posting_date <= filters.get("to_date"))
if filters.get("mode_of_payment"):
query = query.where(sip.mode_of_payment == filters.get("mode_of_payment"))
subquery = (
frappe.qb.from_(sip)
.select(sip.parent)
.where(sip.mode_of_payment == filters.get("mode_of_payment"))
.groupby(sip.parent)
)
query = query.where(si.name.isin(subquery))
if filters.get("warehouse"):
if frappe.db.get_value("Warehouse", filters.get("warehouse"), "is_group"):
@@ -424,8 +430,6 @@ def get_items(filters, additional_query_columns, additional_conditions=None):
frappe.qb.from_(si)
.join(sii)
.on(si.name == sii.parent)
.left_join(sip)
.on(sip.parent == si.name)
.left_join(item)
.on(sii.item_code == item.name)
.select(
@@ -465,7 +469,6 @@ def get_items(filters, additional_query_columns, additional_conditions=None):
si.update_stock,
sii.uom,
sii.qty,
sip.mode_of_payment,
)
.where(si.docstatus == 1)
.where(sii.parenttype == doctype)