mirror of
https://github.com/frappe/erpnext.git
synced 2026-05-19 04:59:18 +00:00
refactor(dashboard): Convert indentation to tabs
This commit is contained in:
@@ -10,98 +10,94 @@ from erpnext.accounts.report.general_ledger.general_ledger import execute
|
|||||||
|
|
||||||
|
|
||||||
def get(filters= None):
|
def get(filters= None):
|
||||||
print(filters)
|
print(filters)
|
||||||
timespan = filters.get("timespan")
|
timespan = filters.get("timespan")
|
||||||
timegrain = filters.get("timegrain")
|
timegrain = filters.get("timegrain")
|
||||||
account = filters.get("account")
|
account = filters.get("account")
|
||||||
company = filters.get("company")
|
company = filters.get("company")
|
||||||
|
|
||||||
from_date = get_from_date_from_timespan(timespan)
|
from_date = get_from_date_from_timespan(timespan)
|
||||||
to_date = nowdate()
|
to_date = nowdate()
|
||||||
filters = frappe._dict({
|
filters = frappe._dict({
|
||||||
"company": company,
|
"company": company,
|
||||||
"from_date": from_date,
|
"from_date": from_date,
|
||||||
"to_date": to_date,
|
"to_date": to_date,
|
||||||
"account": account,
|
"account": account,
|
||||||
"group_by": "Group by Voucher (Consolidated)"
|
"group_by": "Group by Voucher (Consolidated)"
|
||||||
})
|
})
|
||||||
report_columns, report_results = execute(filters=filters)
|
report_columns, report_results = execute(filters=filters)
|
||||||
|
|
||||||
interesting_fields = ["posting_date", "balance"]
|
interesting_fields = ["posting_date", "balance"]
|
||||||
|
|
||||||
columns = [column for column in report_columns if column["fieldname"] in interesting_fields]
|
columns = [column for column in report_columns if column["fieldname"] in interesting_fields]
|
||||||
|
|
||||||
_results = []
|
_results = []
|
||||||
for row in report_results[1:-2]:
|
for row in report_results[1:-2]:
|
||||||
_results.append([row[key] for key in interesting_fields])
|
_results.append([row[key] for key in interesting_fields])
|
||||||
|
|
||||||
_results = add_opening_balance(from_date, _results, report_results[0])
|
_results = add_opening_balance(from_date, _results, report_results[0])
|
||||||
|
grouped_results = groupby(_results, key=itemgetter(0))
|
||||||
|
results = [list(values)[-1] for key, values in grouped_results]
|
||||||
|
results = add_missing_dates(results, from_date, to_date)
|
||||||
|
results = granulate_results(results, from_date, to_date, timegrain)
|
||||||
|
|
||||||
grouped_results = groupby(_results, key=itemgetter(0))
|
return {
|
||||||
|
"labels": [result[0] for result in results],
|
||||||
results = [list(values)[-1] for key, values in grouped_results]
|
"datasets": [{
|
||||||
|
"name": account,
|
||||||
results = add_missing_dates(results, from_date, to_date)
|
"values": [result[1] for result in results]
|
||||||
|
}]
|
||||||
results = granulate_results(results, from_date, to_date, timegrain)
|
}
|
||||||
|
|
||||||
return {
|
|
||||||
"labels": [result[0] for result in results],
|
|
||||||
"datasets": [{
|
|
||||||
"name": account,
|
|
||||||
"values": [result[1] for result in results]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
|
|
||||||
def get_from_date_from_timespan(timespan):
|
def get_from_date_from_timespan(timespan):
|
||||||
days = months = years = 0
|
days = months = years = 0
|
||||||
if "Last Week" == timespan:
|
if "Last Week" == timespan:
|
||||||
days = -7
|
days = -7
|
||||||
if "Last Month" == timespan:
|
if "Last Month" == timespan:
|
||||||
months = -1
|
months = -1
|
||||||
elif "Last Quarter" == timespan:
|
elif "Last Quarter" == timespan:
|
||||||
months = -3
|
months = -3
|
||||||
elif "Last Year" == timespan:
|
elif "Last Year" == timespan:
|
||||||
years = -1
|
years = -1
|
||||||
return add_to_date(None, years=years, months=months, days=days,
|
return add_to_date(None, years=years, months=months, days=days,
|
||||||
as_string=True, as_datetime=True)
|
as_string=True, as_datetime=True)
|
||||||
|
|
||||||
|
|
||||||
def add_opening_balance(from_date, _results, opening):
|
def add_opening_balance(from_date, _results, opening):
|
||||||
if not _results or (_results[0][0] != getdate(from_date)):
|
if not _results or (_results[0][0] != getdate(from_date)):
|
||||||
_results.insert(0, [from_date, opening.balance])
|
_results.insert(0, [from_date, opening.balance])
|
||||||
return _results
|
return _results
|
||||||
|
|
||||||
def add_missing_dates(incomplete_results, from_date, to_date):
|
def add_missing_dates(incomplete_results, from_date, to_date):
|
||||||
dates = [r[0] for r in incomplete_results]
|
dates = [r[0] for r in incomplete_results]
|
||||||
day_count = date_diff(to_date, from_date)
|
day_count = date_diff(to_date, from_date)
|
||||||
|
|
||||||
results_dict = dict(incomplete_results)
|
results_dict = dict(incomplete_results)
|
||||||
last_date, last_balance = incomplete_results[0]
|
last_date, last_balance = incomplete_results[0]
|
||||||
results = []
|
results = []
|
||||||
for date in (add_to_date(getdate(from_date), days=n) for n in range(day_count + 1)):
|
for date in (add_to_date(getdate(from_date), days=n) for n in range(day_count + 1)):
|
||||||
if date in results_dict:
|
if date in results_dict:
|
||||||
last_date = date
|
last_date = date
|
||||||
last_balance = results_dict[date]
|
last_balance = results_dict[date]
|
||||||
results.append([date, last_balance])
|
results.append([date, last_balance])
|
||||||
return results
|
return results
|
||||||
|
|
||||||
def get_dates_from_timegrain(from_date, to_date, timegrain):
|
def get_dates_from_timegrain(from_date, to_date, timegrain):
|
||||||
days = months = years = 0
|
days = months = years = 0
|
||||||
if "Daily" == timegrain:
|
if "Daily" == timegrain:
|
||||||
days = 1
|
days = 1
|
||||||
elif "Weekly" == timegrain:
|
elif "Weekly" == timegrain:
|
||||||
days = 7
|
days = 7
|
||||||
elif "Monthly" == timegrain:
|
elif "Monthly" == timegrain:
|
||||||
months = 1
|
months = 1
|
||||||
elif "Quarterly" == timegrain:
|
elif "Quarterly" == timegrain:
|
||||||
months = 3
|
months = 3
|
||||||
|
|
||||||
dates = [from_date]
|
dates = [from_date]
|
||||||
while dates[-1] <= to_date:
|
while dates[-1] <= to_date:
|
||||||
dates.append(add_to_date(dates[-1], years=years, months=months, days=days))
|
dates.append(add_to_date(dates[-1], years=years, months=months, days=days))
|
||||||
return dates
|
return dates
|
||||||
|
|
||||||
def granulate_results(incomplete_results, from_date, to_date, timegrain):
|
def granulate_results(incomplete_results, from_date, to_date, timegrain):
|
||||||
dates = set(get_dates_from_timegrain(getdate(from_date), getdate(to_date), timegrain))
|
dates = set(get_dates_from_timegrain(getdate(from_date), getdate(to_date), timegrain))
|
||||||
return list(filter(lambda x: x[0] in dates,incomplete_results))
|
return list(filter(lambda x: x[0] in dates,incomplete_results))
|
||||||
|
|||||||
Reference in New Issue
Block a user