mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-08 15:42:52 +00:00
refactor: Optimize asset depreciation schedule retrieval with type hints
This commit is contained in:
@@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
import json
|
import json
|
||||||
import math
|
import math
|
||||||
from typing import Any
|
|
||||||
|
|
||||||
import frappe
|
import frappe
|
||||||
from frappe import _
|
from frappe import _
|
||||||
|
|||||||
@@ -164,7 +164,7 @@ def get_depr_cost_center_and_series():
|
|||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def make_depreciation_entry(
|
def make_depreciation_entry(
|
||||||
depr_schedule_name: str | list[dict],
|
depr_schedule_name: str,
|
||||||
date: DateTimeLikeObject | None = None,
|
date: DateTimeLikeObject | None = None,
|
||||||
sch_start_idx: int | None = None,
|
sch_start_idx: int | None = None,
|
||||||
sch_end_idx: int | None = None,
|
sch_end_idx: int | None = None,
|
||||||
|
|||||||
@@ -395,7 +395,6 @@ erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.s
|
|||||||
me.frm.call({
|
me.frm.call({
|
||||||
method: "erpnext.assets.doctype.asset_capitalization.asset_capitalization.get_warehouse_details",
|
method: "erpnext.assets.doctype.asset_capitalization.asset_capitalization.get_warehouse_details",
|
||||||
child: item,
|
child: item,
|
||||||
args: {
|
|
||||||
args: {
|
args: {
|
||||||
item_code: item.item_code,
|
item_code: item.item_code,
|
||||||
warehouse: cstr(item.warehouse),
|
warehouse: cstr(item.warehouse),
|
||||||
@@ -409,7 +408,6 @@ erpnext.assets.AssetCapitalization = class AssetCapitalization extends erpnext.s
|
|||||||
allow_zero_valuation: 1,
|
allow_zero_valuation: 1,
|
||||||
serial_and_batch_bundle: item.serial_and_batch_bundle,
|
serial_and_batch_bundle: item.serial_and_batch_bundle,
|
||||||
},
|
},
|
||||||
},
|
|
||||||
callback: function (r) {
|
callback: function (r) {
|
||||||
if (!r.exc) {
|
if (!r.exc) {
|
||||||
me.calculate_totals();
|
me.calculate_totals();
|
||||||
|
|||||||
@@ -711,18 +711,14 @@ def get_consumed_stock_item_details(ctx: ItemDetailsCtx):
|
|||||||
|
|
||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def get_warehouse_details(args: dict | str):
|
@erpnext.normalize_ctx_input(ItemDetailsCtx)
|
||||||
if isinstance(args, str):
|
def get_warehouse_details(ctx: ItemDetailsCtx) -> frappe._dict:
|
||||||
args = json.loads(args)
|
|
||||||
|
|
||||||
args = frappe._dict(args)
|
|
||||||
|
|
||||||
out = frappe._dict()
|
out = frappe._dict()
|
||||||
if args.warehouse and args.item_code:
|
if ctx.warehouse and ctx.item_code:
|
||||||
out = frappe._dict(
|
out = frappe._dict(
|
||||||
{
|
{
|
||||||
"actual_qty": get_previous_sle(args).get("qty_after_transaction") or 0,
|
"actual_qty": get_previous_sle(ctx).get("qty_after_transaction") or 0,
|
||||||
"valuation_rate": get_incoming_rate(args, raise_error_if_no_rate=False),
|
"valuation_rate": get_incoming_rate(ctx, raise_error_if_no_rate=False),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
return out
|
return out
|
||||||
|
|||||||
@@ -287,7 +287,7 @@ def get_asset_depr_schedule_doc(asset_name: str, status: str | None = None, fina
|
|||||||
if not asset_depr_schedule:
|
if not asset_depr_schedule:
|
||||||
return
|
return
|
||||||
|
|
||||||
asset_depr_schedule_doc = frappe.get_doc("Asset Depreciation Schedule", asset_depr_schedule[0].name)
|
asset_depr_schedule_doc = frappe.get_doc("Asset Depreciation Schedule", asset_depr_schedule)
|
||||||
|
|
||||||
return asset_depr_schedule_doc
|
return asset_depr_schedule_doc
|
||||||
|
|
||||||
@@ -299,21 +299,23 @@ def get_asset_depr_schedule_name(asset_name, status=None, finance_book=None):
|
|||||||
]
|
]
|
||||||
|
|
||||||
if status:
|
if status:
|
||||||
if isinstance(status, str):
|
status_list = [status] if isinstance(status, str) else status
|
||||||
status = [status]
|
filters.append(["status", "in", status_list])
|
||||||
filters.append(["status", "in", status])
|
|
||||||
|
|
||||||
if finance_book:
|
finance_book_filter = (
|
||||||
filters.append(["finance_book", "=", finance_book])
|
["finance_book", "=", finance_book] if finance_book else ["finance_book", "is", "not set"]
|
||||||
else:
|
)
|
||||||
filters.append(["finance_book", "is", "not set"])
|
filters.append(finance_book_filter)
|
||||||
|
|
||||||
return frappe.get_all(
|
depreciation_schedules = frappe.get_all(
|
||||||
doctype="Asset Depreciation Schedule",
|
doctype="Asset Depreciation Schedule",
|
||||||
filters=filters,
|
filters=filters,
|
||||||
|
fields=["name"],
|
||||||
limit=1,
|
limit=1,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
return depreciation_schedules[0].name if depreciation_schedules else None
|
||||||
|
|
||||||
|
|
||||||
def is_first_day_of_the_month(date):
|
def is_first_day_of_the_month(date):
|
||||||
first_day_of_the_month = get_first_day(date)
|
first_day_of_the_month = get_first_day(date)
|
||||||
|
|||||||
Reference in New Issue
Block a user