refactor(sales_order): Replace SQL with query builder in make_mainten… (#55207)

This commit is contained in:
Loic Oberle
2026-05-23 08:04:54 +02:00
committed by GitHub
parent e27b88d789
commit 4719ba15c6

View File

@@ -1618,15 +1618,20 @@ def make_maintenance_schedule(source_name: str, target_doc: str | Document | Non
@frappe.whitelist() @frappe.whitelist()
def make_maintenance_visit(source_name: str, target_doc: str | Document | None = None): def make_maintenance_visit(source_name: str, target_doc: str | Document | None = None):
visit = frappe.db.sql( MaintenanceVisit = frappe.qb.DocType("Maintenance Visit")
"""select t1.name MaintenanceVisitPurpose = frappe.qb.DocType("Maintenance Visit Purpose")
from `tabMaintenance Visit` t1, `tabMaintenance Visit Purpose` t2
where t2.parent=t1.name and t2.prevdoc_docname=%s query = (
and t1.docstatus=1 and t1.completion_status='Fully Completed'""", frappe.qb.from_(MaintenanceVisit)
source_name, .join(MaintenanceVisitPurpose)
.on(MaintenanceVisitPurpose.parent == MaintenanceVisit.name)
.select(MaintenanceVisit.name)
.where(MaintenanceVisitPurpose.prevdoc_docname == source_name)
.where(MaintenanceVisit.docstatus == 1)
.where(MaintenanceVisit.completion_status == "Fully Completed")
) )
if not visit: if not query.run():
doclist = get_mapped_doc( doclist = get_mapped_doc(
"Sales Order", "Sales Order",
source_name, source_name,