30 lines
680 B
Python
30 lines
680 B
Python
import frappe
|
|
|
|
|
|
def execute():
|
|
frappe.reload_doc("hr", "doctype", "employee_advance")
|
|
|
|
advance = frappe.qb.DocType("Employee Advance")
|
|
(
|
|
frappe.qb.update(advance)
|
|
.set(advance.status, "Returned")
|
|
.where(
|
|
(advance.docstatus == 1)
|
|
& ((advance.return_amount) & (advance.paid_amount == advance.return_amount))
|
|
& (advance.status == "Paid")
|
|
)
|
|
).run()
|
|
|
|
(
|
|
frappe.qb.update(advance)
|
|
.set(advance.status, "Partly Claimed and Returned")
|
|
.where(
|
|
(advance.docstatus == 1)
|
|
& (
|
|
(advance.claimed_amount & advance.return_amount)
|
|
& (advance.paid_amount == (advance.return_amount + advance.claimed_amount))
|
|
)
|
|
& (advance.status == "Paid")
|
|
)
|
|
).run()
|