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()
def make_maintenance_visit(source_name: str, target_doc: str | Document | None = None):
visit = frappe.db.sql(
"""select t1.name
from `tabMaintenance Visit` t1, `tabMaintenance Visit Purpose` t2
where t2.parent=t1.name and t2.prevdoc_docname=%s
and t1.docstatus=1 and t1.completion_status='Fully Completed'""",
source_name,
MaintenanceVisit = frappe.qb.DocType("Maintenance Visit")
MaintenanceVisitPurpose = frappe.qb.DocType("Maintenance Visit Purpose")
query = (
frappe.qb.from_(MaintenanceVisit)
.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(
"Sales Order",
source_name,