feat(dashboard): Add missing dates

This commit is contained in:
Aditya Hase 2019-01-09 12:10:37 +05:30
parent 8896374413
commit c888e52788

View File

@ -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