Merge pull request #21992 from rohitwaghchaure/fixed-forecasting-data-and-changed-columns-pre-release
refactor: display the order's data for past period
This commit is contained in:
commit
02a2bb77a8
@ -21,8 +21,6 @@ class ExponentialSmoothingForecast(object):
|
||||
if value.get(period.key) and not forecast_data:
|
||||
value[forecast_key] = flt(value.get("avg", 0)) or flt(value.get(period.key))
|
||||
|
||||
# will be use to forecaset next period
|
||||
forecast_data.append([value.get(period.key), value.get(forecast_key)])
|
||||
elif forecast_data:
|
||||
previous_period_data = forecast_data[-1]
|
||||
value[forecast_key] = (previous_period_data[1] +
|
||||
@ -31,6 +29,10 @@ class ExponentialSmoothingForecast(object):
|
||||
)
|
||||
)
|
||||
|
||||
if value.get(forecast_key):
|
||||
# will be use to forecaset next period
|
||||
forecast_data.append([value.get(period.key), value.get(forecast_key)])
|
||||
|
||||
class ForecastingReport(ExponentialSmoothingForecast):
|
||||
def __init__(self, filters=None):
|
||||
self.filters = frappe._dict(filters or {})
|
||||
@ -78,7 +80,9 @@ class ForecastingReport(ExponentialSmoothingForecast):
|
||||
list_of_period_value = [value.get(p.key, 0) for p in self.period_list]
|
||||
|
||||
if list_of_period_value:
|
||||
value["avg"] = sum(list_of_period_value) / len(list_of_period_value)
|
||||
total_qty = [1 for d in list_of_period_value if d]
|
||||
if total_qty:
|
||||
value["avg"] = flt(sum(list_of_period_value)) / flt(sum(total_qty))
|
||||
|
||||
def get_data_for_forecast(self):
|
||||
cond = ""
|
||||
@ -152,15 +156,19 @@ class ForecastingReport(ExponentialSmoothingForecast):
|
||||
"width": 130
|
||||
}]
|
||||
|
||||
width = 150 if self.filters.periodicity in ['Yearly', "Half-Yearly", "Quarterly"] else 100
|
||||
width = 180 if self.filters.periodicity in ['Yearly', "Half-Yearly", "Quarterly"] else 100
|
||||
for period in self.period_list:
|
||||
if (self.filters.periodicity in ['Yearly', "Half-Yearly", "Quarterly"]
|
||||
or period.from_date >= getdate(self.filters.from_date)):
|
||||
|
||||
forecast_key = 'forecast_' + period.key
|
||||
forecast_key = period.key
|
||||
label = _(period.label)
|
||||
if period.from_date >= getdate(self.filters.from_date):
|
||||
forecast_key = 'forecast_' + period.key
|
||||
label = _(period.label) + " " + _("(Forecast)")
|
||||
|
||||
columns.append({
|
||||
"label": _(period.label),
|
||||
"label": label,
|
||||
"fieldname": forecast_key,
|
||||
"fieldtype": self.fieldtype,
|
||||
"width": width,
|
||||
|
Loading…
Reference in New Issue
Block a user