mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-29 09:54:47 +00:00
refactor(territory_wise_sales):replace sql with query builder (#55174)
This commit is contained in:
@@ -154,17 +154,21 @@ def get_sales_invoice(sales_orders):
|
|||||||
if not sales_orders:
|
if not sales_orders:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
so_names = [so.name for so in sales_orders]
|
so_names = [so.get("name") for so in sales_orders]
|
||||||
|
|
||||||
return frappe.db.sql(
|
SalesInvoice = frappe.qb.DocType("Sales Invoice")
|
||||||
"""
|
SalesInvoiceItem = frappe.qb.DocType("Sales Invoice Item")
|
||||||
SELECT si.name, si.base_grand_total, sii.sales_order
|
|
||||||
FROM `tabSales Invoice` si, `tabSales Invoice Item` sii
|
query = (
|
||||||
WHERE si.docstatus=1 AND si.name = sii.parent AND sii.sales_order in ({})
|
frappe.qb.from_(SalesInvoice)
|
||||||
""".format(", ".join(["%s"] * len(so_names))),
|
.join(SalesInvoiceItem)
|
||||||
tuple(so_names),
|
.on(SalesInvoice.name == SalesInvoiceItem.parent)
|
||||||
as_dict=1,
|
.select(SalesInvoice.name, SalesInvoice.base_grand_total, SalesInvoiceItem.sales_order)
|
||||||
) # nosec
|
.where(SalesInvoice.docstatus == 1)
|
||||||
|
.where(SalesInvoiceItem.sales_order.isin(so_names))
|
||||||
|
)
|
||||||
|
|
||||||
|
return query.run(as_dict=True)
|
||||||
|
|
||||||
|
|
||||||
def _get_total(doclist, amount_field="base_grand_total"):
|
def _get_total(doclist, amount_field="base_grand_total"):
|
||||||
|
|||||||
Reference in New Issue
Block a user