From 72047745560533804fff7ea684d7603ad6a203ac Mon Sep 17 00:00:00 2001 From: marination Date: Mon, 23 Sep 2024 14:45:50 +0200 Subject: [PATCH] fix: Accomodate `common_filters=None` in Bank Reco API (cherry picked from commit a6e74cc768141c15fa23f6928e35a34da8677120) --- hrms/hr/utils.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/hrms/hr/utils.py b/hrms/hr/utils.py index 7bf8f95c61..a943d4904f 100644 --- a/hrms/hr/utils.py +++ b/hrms/hr/utils.py @@ -762,21 +762,26 @@ def get_ec_matching_query( filters.append(ec.docstatus == 1) filters.append(ec.is_paid == 1) filters.append(ec.clearance_date.isnull()) - filters.append(ec.mode_of_payment.isin(mode_of_payments)) - if exact_match: - filters.append(ec.total_sanctioned_amount == common_filters.amount) + if mode_of_payments: + filters.append(ec.mode_of_payment.isin(mode_of_payments)) + + if common_filters: + ref_rank = frappe.qb.terms.Case().when(ec.employee == common_filters.party, 1).else_(0) + 1 + + if exact_match: + filters.append(ec.total_sanctioned_amount == common_filters.amount) + else: + filters.append(ec.total_sanctioned_amount.gt(common_filters.amount)) else: - filters.append(ec.total_sanctioned_amount.gt(common_filters.amount)) + ref_rank = ConstantColumn(1) if from_date and to_date: filters.append(ec.posting_date[from_date:to_date]) - ref_rank = frappe.qb.terms.Case().when(ec.employee == common_filters.party, 1).else_(0) - ec_query = ( qb.from_(ec) .select( - (ref_rank + 1).as_("rank"), + ref_rank.as_("rank"), ec.name, ec.total_sanctioned_amount.as_("paid_amount"), ConstantColumn("").as_("reference_no"),