fix: updated filtering in depreciation and balances report
(cherry picked from commit 3a34eecdcf)
This commit is contained in:
@@ -232,9 +232,14 @@ def get_group_by_asset_data(filters):
|
|||||||
def get_assets_for_grouped_by_category(filters):
|
def get_assets_for_grouped_by_category(filters):
|
||||||
condition = ""
|
condition = ""
|
||||||
if filters.get("asset_category"):
|
if filters.get("asset_category"):
|
||||||
condition = " and a.asset_category = '{}'".format(filters.get("asset_category"))
|
condition = f" and a.asset_category = '{filters.get('asset_category')}'"
|
||||||
|
finance_book_filter = ""
|
||||||
|
if filters.get("finance_book"):
|
||||||
|
finance_book_filter += " and ifnull(gle.finance_book, '')=%(finance_book)s"
|
||||||
|
condition += " and exists (select 1 from `tabAsset Depreciation Schedule` ads where ads.asset = a.name and ads.finance_book = %(finance_book)s)"
|
||||||
|
|
||||||
return frappe.db.sql(
|
return frappe.db.sql(
|
||||||
"""
|
f"""
|
||||||
SELECT results.asset_category,
|
SELECT results.asset_category,
|
||||||
sum(results.accumulated_depreciation_as_on_from_date) as accumulated_depreciation_as_on_from_date,
|
sum(results.accumulated_depreciation_as_on_from_date) as accumulated_depreciation_as_on_from_date,
|
||||||
sum(results.depreciation_eliminated_during_the_period) as depreciation_eliminated_during_the_period,
|
sum(results.depreciation_eliminated_during_the_period) as depreciation_eliminated_during_the_period,
|
||||||
@@ -264,7 +269,14 @@ def get_assets_for_grouped_by_category(filters):
|
|||||||
aca.parent = a.asset_category and aca.company_name = %(company)s
|
aca.parent = a.asset_category and aca.company_name = %(company)s
|
||||||
join `tabCompany` company on
|
join `tabCompany` company on
|
||||||
company.name = %(company)s
|
company.name = %(company)s
|
||||||
where a.docstatus=1 and a.company=%(company)s and a.purchase_date <= %(to_date)s and gle.debit != 0 and gle.is_cancelled = 0 and gle.account = ifnull(aca.depreciation_expense_account, company.depreciation_expense_account) {0}
|
where
|
||||||
|
a.docstatus=1
|
||||||
|
and a.company=%(company)s
|
||||||
|
and a.purchase_date <= %(to_date)s
|
||||||
|
and gle.debit != 0
|
||||||
|
and gle.is_cancelled = 0
|
||||||
|
and gle.account = ifnull(aca.depreciation_expense_account, company.depreciation_expense_account)
|
||||||
|
{condition} {finance_book_filter}
|
||||||
group by a.asset_category
|
group by a.asset_category
|
||||||
union
|
union
|
||||||
SELECT a.asset_category,
|
SELECT a.asset_category,
|
||||||
@@ -280,11 +292,16 @@ def get_assets_for_grouped_by_category(filters):
|
|||||||
end), 0) as depreciation_eliminated_during_the_period,
|
end), 0) as depreciation_eliminated_during_the_period,
|
||||||
0 as depreciation_amount_during_the_period
|
0 as depreciation_amount_during_the_period
|
||||||
from `tabAsset` a
|
from `tabAsset` a
|
||||||
where a.docstatus=1 and a.company=%(company)s and a.purchase_date <= %(to_date)s {0}
|
where a.docstatus=1 and a.company=%(company)s and a.purchase_date <= %(to_date)s {condition}
|
||||||
group by a.asset_category) as results
|
group by a.asset_category) as results
|
||||||
group by results.asset_category
|
group by results.asset_category
|
||||||
""".format(condition),
|
""",
|
||||||
{"to_date": filters.to_date, "from_date": filters.from_date, "company": filters.company},
|
{
|
||||||
|
"to_date": filters.to_date,
|
||||||
|
"from_date": filters.from_date,
|
||||||
|
"company": filters.company,
|
||||||
|
"finance_book": filters.get("finance_book", ""),
|
||||||
|
},
|
||||||
as_dict=1,
|
as_dict=1,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -292,9 +309,14 @@ def get_assets_for_grouped_by_category(filters):
|
|||||||
def get_assets_for_grouped_by_asset(filters):
|
def get_assets_for_grouped_by_asset(filters):
|
||||||
condition = ""
|
condition = ""
|
||||||
if filters.get("asset"):
|
if filters.get("asset"):
|
||||||
condition = " and a.name = '{}'".format(filters.get("asset"))
|
condition = f" and a.name = '{filters.get('asset')}'"
|
||||||
|
finance_book_filter = ""
|
||||||
|
if filters.get("finance_book"):
|
||||||
|
finance_book_filter += " and ifnull(gle.finance_book, '')=%(finance_book)s"
|
||||||
|
condition += " and exists (select 1 from `tabAsset Depreciation Schedule` ads where ads.asset = a.name and ads.finance_book = %(finance_book)s)"
|
||||||
|
|
||||||
return frappe.db.sql(
|
return frappe.db.sql(
|
||||||
"""
|
f"""
|
||||||
SELECT results.name as asset,
|
SELECT results.name as asset,
|
||||||
sum(results.accumulated_depreciation_as_on_from_date) as accumulated_depreciation_as_on_from_date,
|
sum(results.accumulated_depreciation_as_on_from_date) as accumulated_depreciation_as_on_from_date,
|
||||||
sum(results.depreciation_eliminated_during_the_period) as depreciation_eliminated_during_the_period,
|
sum(results.depreciation_eliminated_during_the_period) as depreciation_eliminated_during_the_period,
|
||||||
@@ -324,7 +346,14 @@ def get_assets_for_grouped_by_asset(filters):
|
|||||||
aca.parent = a.asset_category and aca.company_name = %(company)s
|
aca.parent = a.asset_category and aca.company_name = %(company)s
|
||||||
join `tabCompany` company on
|
join `tabCompany` company on
|
||||||
company.name = %(company)s
|
company.name = %(company)s
|
||||||
where a.docstatus=1 and a.company=%(company)s and a.purchase_date <= %(to_date)s and gle.debit != 0 and gle.is_cancelled = 0 and gle.account = ifnull(aca.depreciation_expense_account, company.depreciation_expense_account) {0}
|
where
|
||||||
|
a.docstatus=1
|
||||||
|
and a.company=%(company)s
|
||||||
|
and a.purchase_date <= %(to_date)s
|
||||||
|
and gle.debit != 0
|
||||||
|
and gle.is_cancelled = 0
|
||||||
|
and gle.account = ifnull(aca.depreciation_expense_account, company.depreciation_expense_account)
|
||||||
|
{finance_book_filter} {condition}
|
||||||
group by a.name
|
group by a.name
|
||||||
union
|
union
|
||||||
SELECT a.name as name,
|
SELECT a.name as name,
|
||||||
@@ -340,11 +369,16 @@ def get_assets_for_grouped_by_asset(filters):
|
|||||||
end), 0) as depreciation_eliminated_during_the_period,
|
end), 0) as depreciation_eliminated_during_the_period,
|
||||||
0 as depreciation_amount_during_the_period
|
0 as depreciation_amount_during_the_period
|
||||||
from `tabAsset` a
|
from `tabAsset` a
|
||||||
where a.docstatus=1 and a.company=%(company)s and a.purchase_date <= %(to_date)s {0}
|
where a.docstatus=1 and a.company=%(company)s and a.purchase_date <= %(to_date)s {condition}
|
||||||
group by a.name) as results
|
group by a.name) as results
|
||||||
group by results.name
|
group by results.name
|
||||||
""".format(condition),
|
""",
|
||||||
{"to_date": filters.to_date, "from_date": filters.from_date, "company": filters.company},
|
{
|
||||||
|
"to_date": filters.to_date,
|
||||||
|
"from_date": filters.from_date,
|
||||||
|
"company": filters.company,
|
||||||
|
"finance_book": filters.get("finance_book", ""),
|
||||||
|
},
|
||||||
as_dict=1,
|
as_dict=1,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user