refactor: replace args with params

This commit is contained in:
khushi8112
2025-11-19 15:55:57 +05:30
parent 9ebf546e1f
commit 8fd5d7187a

View File

@@ -186,7 +186,7 @@ class Budget(Document):
if self.is_new() and self.revision_of: if self.is_new() and self.revision_of:
return return
args = frappe._dict( params = frappe._dict(
{ {
"company": self.company, "company": self.company,
"account": self.account, "account": self.account,
@@ -197,14 +197,14 @@ class Budget(Document):
} }
) )
args[args.budget_against_field] = self.get(args.budget_against_field) params[params.budget_against_field] = self.get(params.budget_against_field)
if frappe.get_cached_value("DocType", args.budget_against_doctype, "is_tree"): if frappe.get_cached_value("DocType", params.budget_against_doctype, "is_tree"):
args.is_tree = True params.is_tree = True
else: else:
args.is_tree = False params.is_tree = False
actual_spent = get_actual_expense(args) actual_spent = get_actual_expense(params)
if actual_spent > self.budget_amount: if actual_spent > self.budget_amount:
frappe.throw( frappe.throw(
@@ -619,24 +619,24 @@ def get_expense_breakup(params, currency, budget_against):
return msg return msg
def get_actions(args, budget): def get_actions(params, budget):
yearly_action = budget.action_if_annual_budget_exceeded yearly_action = budget.action_if_annual_budget_exceeded
monthly_action = budget.action_if_accumulated_monthly_budget_exceeded monthly_action = budget.action_if_accumulated_monthly_budget_exceeded
if args.get("doctype") == "Material Request" and budget.for_material_request: if params.get("doctype") == "Material Request" and budget.for_material_request:
yearly_action = budget.action_if_annual_budget_exceeded_on_mr yearly_action = budget.action_if_annual_budget_exceeded_on_mr
monthly_action = budget.action_if_accumulated_monthly_budget_exceeded_on_mr monthly_action = budget.action_if_accumulated_monthly_budget_exceeded_on_mr
elif args.get("doctype") == "Purchase Order" and budget.for_purchase_order: elif params.get("doctype") == "Purchase Order" and budget.for_purchase_order:
yearly_action = budget.action_if_annual_budget_exceeded_on_po yearly_action = budget.action_if_annual_budget_exceeded_on_po
monthly_action = budget.action_if_accumulated_monthly_budget_exceeded_on_po monthly_action = budget.action_if_accumulated_monthly_budget_exceeded_on_po
return yearly_action, monthly_action return yearly_action, monthly_action
def get_requested_amount(args): def get_requested_amount(params):
item_code = args.get("item_code") item_code = params.get("item_code")
condition = get_other_condition(args, "Material Request") condition = get_other_condition(params, "Material Request")
data = frappe.db.sql( data = frappe.db.sql(
""" select ifnull((sum(child.stock_qty - child.ordered_qty) * rate), 0) as amount """ select ifnull((sum(child.stock_qty - child.ordered_qty) * rate), 0) as amount
@@ -650,9 +650,9 @@ def get_requested_amount(args):
return data[0][0] if data else 0 return data[0][0] if data else 0
def get_ordered_amount(args): def get_ordered_amount(params):
item_code = args.get("item_code") item_code = params.get("item_code")
condition = get_other_condition(args, "Purchase Order") condition = get_other_condition(params, "Purchase Order")
data = frappe.db.sql( data = frappe.db.sql(
f""" select ifnull(sum(child.amount - child.billed_amt), 0) as amount f""" select ifnull(sum(child.amount - child.billed_amt), 0) as amount
@@ -666,41 +666,43 @@ def get_ordered_amount(args):
return data[0][0] if data else 0 return data[0][0] if data else 0
def get_other_condition(args, for_doc): def get_other_condition(params, for_doc):
condition = f"expense_account = '{args.expense_account}'" condition = f"expense_account = '{params.expense_account}'"
budget_against_field = args.get("budget_against_field") budget_against_field = params.get("budget_against_field")
if budget_against_field and args.get(budget_against_field): if budget_against_field and params.get(budget_against_field):
condition += f" and child.{budget_against_field} = '{args.get(budget_against_field)}'" condition += f" and child.{budget_against_field} = '{params.get(budget_against_field)}'"
date_field = "schedule_date" if for_doc == "Material Request" else "transaction_date" date_field = "schedule_date" if for_doc == "Material Request" else "transaction_date"
start_date = frappe.get_cached_value("Fiscal Year", args.from_fiscal_year, "year_start_date") start_date = frappe.get_cached_value("Fiscal Year", params.from_fiscal_year, "year_start_date")
end_date = frappe.get_cached_value("Fiscal Year", args.to_fiscal_year, "year_end_date") end_date = frappe.get_cached_value("Fiscal Year", params.to_fiscal_year, "year_end_date")
condition += f" and parent.{date_field} between '{start_date}' and '{end_date}'" condition += f" and parent.{date_field} between '{start_date}' and '{end_date}'"
return condition return condition
def get_actual_expense(args): def get_actual_expense(params):
if not args.budget_against_doctype: if not params.budget_against_doctype:
args.budget_against_doctype = frappe.unscrub(args.budget_against_field) params.budget_against_doctype = frappe.unscrub(params.budget_against_field)
budget_against_field = args.get("budget_against_field") budget_against_field = params.get("budget_against_field")
condition1 = " and gle.posting_date <= %(month_end_date)s" if args.get("month_end_date") else "" condition1 = " and gle.posting_date <= %(month_end_date)s" if params.get("month_end_date") else ""
date_condition = f"and gle.posting_date between '{args.budget_start_date}' and '{args.budget_end_date}'" date_condition = (
f"and gle.posting_date between '{params.budget_start_date}' and '{params.budget_end_date}'"
)
if args.is_tree: if params.is_tree:
lft_rgt = frappe.db.get_value( lft_rgt = frappe.db.get_value(
args.budget_against_doctype, args.get(budget_against_field), ["lft", "rgt"], as_dict=1 params.budget_against_doctype, params.get(budget_against_field), ["lft", "rgt"], as_dict=1
) )
args.update(lft_rgt) params.update(lft_rgt)
condition2 = f""" condition2 = f"""
and exists( and exists(
select name from `tab{args.budget_against_doctype}` select name from `tab{params.budget_against_doctype}`
where lft >= %(lft)s and rgt <= %(rgt)s where lft >= %(lft)s and rgt <= %(rgt)s
and name = gle.{budget_against_field} and name = gle.{budget_against_field}
) )
@@ -724,7 +726,7 @@ def get_actual_expense(args):
and gle.docstatus = 1 and gle.docstatus = 1
{condition2} {condition2}
""", """,
args, params,
)[0][0] )[0][0]
) # nosec ) # nosec
@@ -750,16 +752,16 @@ def get_accumulated_monthly_budget(budget_name, posting_date):
return flt(result[0]["accumulated_amount"]) if result else 0.0 return flt(result[0]["accumulated_amount"]) if result else 0.0
def get_item_details(args): def get_item_details(params):
cost_center, expense_account = None, None cost_center, expense_account = None, None
if not args.get("company"): if not params.get("company"):
return cost_center, expense_account return cost_center, expense_account
if args.item_code: if params.item_code:
item_defaults = frappe.db.get_value( item_defaults = frappe.db.get_value(
"Item Default", "Item Default",
{"parent": args.item_code, "company": args.get("company")}, {"parent": params.item_code, "company": params.get("company")},
["buying_cost_center", "expense_account"], ["buying_cost_center", "expense_account"],
) )
if item_defaults: if item_defaults:
@@ -767,7 +769,7 @@ def get_item_details(args):
if not (cost_center and expense_account): if not (cost_center and expense_account):
for doctype in ["Item Group", "Company"]: for doctype in ["Item Group", "Company"]:
data = get_expense_cost_center(doctype, args) data = get_expense_cost_center(doctype, params)
if not cost_center and data: if not cost_center and data:
cost_center = data[0] cost_center = data[0]
@@ -781,16 +783,16 @@ def get_item_details(args):
return cost_center, expense_account return cost_center, expense_account
def get_expense_cost_center(doctype, args): def get_expense_cost_center(doctype, params):
if doctype == "Item Group": if doctype == "Item Group":
return frappe.db.get_value( return frappe.db.get_value(
"Item Default", "Item Default",
{"parent": args.get(frappe.scrub(doctype)), "company": args.get("company")}, {"parent": params.get(frappe.scrub(doctype)), "company": params.get("company")},
["buying_cost_center", "expense_account"], ["buying_cost_center", "expense_account"],
) )
else: else:
return frappe.db.get_value( return frappe.db.get_value(
doctype, args.get(frappe.scrub(doctype)), ["cost_center", "default_expense_account"] doctype, params.get(frappe.scrub(doctype)), ["cost_center", "default_expense_account"]
) )