fix: Add additional condition application
(cherry picked from commit 8ec364df6f)
# Conflicts:
# erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py
This commit is contained in:
@@ -30,7 +30,7 @@ def _execute(filters=None, additional_table_columns=None):
|
|||||||
|
|
||||||
company_currency = erpnext.get_company_currency(filters.company)
|
company_currency = erpnext.get_company_currency(filters.company)
|
||||||
|
|
||||||
item_list = get_items(filters, get_query_columns(additional_table_columns))
|
item_list = get_items(filters, additional_table_columns)
|
||||||
aii_account_map = get_aii_accounts()
|
aii_account_map = get_aii_accounts()
|
||||||
if item_list:
|
if item_list:
|
||||||
itemised_tax, tax_columns = get_tax_accounts(
|
itemised_tax, tax_columns = get_tax_accounts(
|
||||||
@@ -324,6 +324,7 @@ def apply_conditions(query, pi, pii, filters):
|
|||||||
return query
|
return query
|
||||||
|
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
def get_items(filters, additional_query_columns):
|
def get_items(filters, additional_query_columns):
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
@@ -377,6 +378,9 @@ def get_items(filters, additional_query_columns):
|
|||||||
)
|
)
|
||||||
.where(pi.docstatus == 1))
|
.where(pi.docstatus == 1))
|
||||||
=======
|
=======
|
||||||
|
=======
|
||||||
|
def get_items(filters, additional_table_columns):
|
||||||
|
>>>>>>> 8ec364df6f (fix: Add additional condition application)
|
||||||
pi = frappe.qb.DocType("Purchase Invoice")
|
pi = frappe.qb.DocType("Purchase Invoice")
|
||||||
pii = frappe.qb.DocType("Purchase Invoice Item")
|
pii = frappe.qb.DocType("Purchase Invoice Item")
|
||||||
Item = frappe.qb.DocType("Item")
|
Item = frappe.qb.DocType("Item")
|
||||||
@@ -418,19 +422,27 @@ def get_items(filters, additional_query_columns):
|
|||||||
)
|
)
|
||||||
>>>>>>> 76073ae228 (fix: fixing Item-wise sales register and purchase register #41373)
|
>>>>>>> 76073ae228 (fix: fixing Item-wise sales register and purchase register #41373)
|
||||||
|
|
||||||
if additional_query_columns:
|
|
||||||
query = query.select(*additional_query_columns)
|
|
||||||
|
|
||||||
if filters.get("supplier"):
|
if filters.get("supplier"):
|
||||||
query = query.where(pi.supplier == filters["supplier"])
|
query = query.where(pi.supplier == filters["supplier"])
|
||||||
if filters.get("company"):
|
if filters.get("company"):
|
||||||
query = query.where(pi.company == filters["company"])
|
query = query.where(pi.company == filters["company"])
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
>>>>>>> 1b45ecfcae (fix: Item-wise Sales and Purchase register with no item codes #41373)
|
>>>>>>> 1b45ecfcae (fix: Item-wise Sales and Purchase register with no item codes #41373)
|
||||||
=======
|
=======
|
||||||
=======
|
=======
|
||||||
|
=======
|
||||||
|
if additional_table_columns:
|
||||||
|
for column in additional_table_columns:
|
||||||
|
if column.get("_doctype"):
|
||||||
|
table = frappe.qb.DocType(column.get("_doctype"))
|
||||||
|
query = query.select(table[column.get("fieldname")])
|
||||||
|
else:
|
||||||
|
query = query.select(pi[column.get("fieldname")])
|
||||||
|
|
||||||
|
>>>>>>> 8ec364df6f (fix: Add additional condition application)
|
||||||
query = apply_conditions(query, pi, pii, filters)
|
query = apply_conditions(query, pi, pii, filters)
|
||||||
|
|
||||||
>>>>>>> d2af36e1eb (chore: update condition queries in qb)
|
>>>>>>> d2af36e1eb (chore: update condition queries in qb)
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ def _execute(filters=None, additional_table_columns=None, additional_conditions=
|
|||||||
|
|
||||||
company_currency = frappe.get_cached_value("Company", filters.get("company"), "default_currency")
|
company_currency = frappe.get_cached_value("Company", filters.get("company"), "default_currency")
|
||||||
|
|
||||||
item_list = get_items(filters, get_query_columns(additional_table_columns), additional_conditions)
|
item_list = get_items(filters, additional_table_columns, additional_conditions)
|
||||||
if item_list:
|
if item_list:
|
||||||
itemised_tax, tax_columns = get_tax_accounts(item_list, columns, company_currency)
|
itemised_tax, tax_columns = get_tax_accounts(item_list, columns, company_currency)
|
||||||
|
|
||||||
@@ -383,6 +383,9 @@ def apply_conditions(query, si, sii, filters, additional_conditions=None):
|
|||||||
else:
|
else:
|
||||||
query = apply_group_by_conditions(query, si, sii, filters)
|
query = apply_group_by_conditions(query, si, sii, filters)
|
||||||
|
|
||||||
|
for key, value in (additional_conditions or {}).items():
|
||||||
|
query = query.where(si[key] == value)
|
||||||
|
|
||||||
return query
|
return query
|
||||||
|
|
||||||
|
|
||||||
@@ -526,7 +529,12 @@ def get_items(filters, additional_query_columns, additional_conditions=None):
|
|||||||
)
|
)
|
||||||
|
|
||||||
if additional_query_columns:
|
if additional_query_columns:
|
||||||
query = query.select(*additional_query_columns)
|
for column in additional_query_columns:
|
||||||
|
if column.get("_doctype"):
|
||||||
|
table = frappe.qb.DocType(column.get("_doctype"))
|
||||||
|
query = query.select(table[column.get("fieldname")])
|
||||||
|
else:
|
||||||
|
query = query.select(si[column.get("fieldname")])
|
||||||
|
|
||||||
if filters.get("customer"):
|
if filters.get("customer"):
|
||||||
query = query.where(si.customer == filters["customer"])
|
query = query.where(si.customer == filters["customer"])
|
||||||
|
|||||||
Reference in New Issue
Block a user