feat(dashboard): Add missing dates
This commit is contained in:
parent
8896374413
commit
c888e52788
@ -5,7 +5,7 @@ from __future__ import unicode_literals
|
||||
from itertools import groupby
|
||||
from operator import itemgetter
|
||||
import frappe
|
||||
from frappe.utils import add_to_date
|
||||
from frappe.utils import add_to_date, date_diff, getdate, nowdate
|
||||
from erpnext.accounts.report.general_ledger.general_ledger import execute
|
||||
|
||||
|
||||
@ -31,6 +31,8 @@ def get(filters=None):
|
||||
|
||||
results = [list(values)[-1] for key, values in grouped_results]
|
||||
|
||||
results = add_missing_dates(results, from_date, to_date)
|
||||
|
||||
return {
|
||||
"labels": [result[0] for result in results],
|
||||
"datasets": [{
|
||||
@ -51,3 +53,17 @@ def get_from_date_from_timespan(timespan):
|
||||
years = -1
|
||||
return add_to_date(None, years=years, months=months, days=days,
|
||||
as_string=True, as_datetime=True)
|
||||
|
||||
def add_missing_dates(incomplete_results, from_date, to_date):
|
||||
dates = [r[0] for r in incomplete_results]
|
||||
day_count = date_diff(to_date, from_date)
|
||||
|
||||
results_dict = dict(incomplete_results)
|
||||
last_date, last_balance = incomplete_results[0]
|
||||
results = []
|
||||
for date in (add_to_date(getdate(from_date), days=n) for n in range(day_count + 1)):
|
||||
if date in results_dict:
|
||||
last_date = date
|
||||
last_balance = results_dict[date]
|
||||
results.append([date, last_balance])
|
||||
return results
|
||||
|
Loading…
x
Reference in New Issue
Block a user