financial period must be considered on reports

This commit is contained in:
Sevan Nerse 2021-03-25 17:35:57 +03:00
parent 68b9610224
commit f9ea44c9a5

View File

@ -183,26 +183,43 @@ abstract class Report
public function getFormattedDate($event, $date)
{
if (empty($event->class->model->settings->period)) {
return $date->copy()->format('Y-m-d');
}
$formatted_date = null;
switch ($event->class->model->settings->period) {
case 'yearly':
$d = $date->copy()->format($this->getYearlyDateFormat());
$financial_year = $this->getFinancialYear($event->class->model->year);
if ($date->greaterThanOrEqualTo($financial_year->getStartDate()) && $date->lessThanOrEqualTo($financial_year->getEndDate())) {
if (setting('localisation.financial_denote') == 'begins') {
$formatted_date = $financial_year->getStartDate()->copy()->format($this->getYearlyDateFormat());
} else {
$formatted_date = $financial_year->getEndDate()->copy()->format($this->getYearlyDateFormat());
}
}
break;
case 'quarterly':
$start = $date->copy()->startOfQuarter()->format($this->getQuarterlyDateFormat());
$end = $date->copy()->endOfQuarter()->format($this->getQuarterlyDateFormat());
$quarters = $this->getFinancialQuarters($event->class->model->year);
foreach ($quarters as $quarter) {
if ($date->lessThan($quarter->getStartDate()) || $date->greaterThan($quarter->getEndDate())) {
continue;
}
$start = $quarter->getStartDate()->format($this->getQuarterlyDateFormat($event->class->model->year));
$end = $quarter->getEndDate()->format($this->getQuarterlyDateFormat($event->class->model->year));
$formatted_date = $start . '-' . $end;
}
$d = $start . '-' . $end;
break;
default:
$d = $date->copy()->format($this->getMonthlyDateFormat());
$formatted_date = $date->copy()->format($this->getMonthlyDateFormat($event->class->model->year));
break;
}
return $d;
return $formatted_date;
}
/**