mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-29 18:04:46 +00:00
refactor(territory_wise_sales): replace sql with query builder (#55175)
This commit is contained in:
@@ -137,17 +137,21 @@ def get_sales_orders(quotations):
|
|||||||
if not quotations:
|
if not quotations:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
quotation_names = [q.name for q in quotations]
|
quotation_names = [q.get("name") for q in quotations]
|
||||||
|
|
||||||
return frappe.db.sql(
|
SalesOrder = frappe.qb.DocType("Sales Order")
|
||||||
"""
|
SalesOrderItem = frappe.qb.DocType("Sales Order Item")
|
||||||
SELECT so.`name`, so.`base_grand_total`, soi.prevdoc_docname as quotation
|
|
||||||
FROM `tabSales Order` so, `tabSales Order Item` soi
|
query = (
|
||||||
WHERE so.docstatus=1 AND so.name = soi.parent AND soi.prevdoc_docname in ({})
|
frappe.qb.from_(SalesOrder)
|
||||||
""".format(", ".join(["%s"] * len(quotation_names))),
|
.join(SalesOrderItem)
|
||||||
tuple(quotation_names),
|
.on(SalesOrder.name == SalesOrderItem.parent)
|
||||||
as_dict=1,
|
.select(SalesOrder.name, SalesOrder.base_grand_total, SalesOrderItem.prevdoc_docname.as_("quotation"))
|
||||||
) # nosec
|
.where(SalesOrder.docstatus == 1)
|
||||||
|
.where(SalesOrderItem.prevdoc_docname.isin(quotation_names))
|
||||||
|
)
|
||||||
|
|
||||||
|
return query.run(as_dict=True)
|
||||||
|
|
||||||
|
|
||||||
def get_sales_invoice(sales_orders):
|
def get_sales_invoice(sales_orders):
|
||||||
|
|||||||
Reference in New Issue
Block a user