generated from liutk/owl-admin-base
Update
parent
170267740a
commit
e94c349a3e
|
|
@ -43,14 +43,31 @@ class StatisticsController extends Controller
|
|||
//--------------------------------------------------------------------------
|
||||
// 近 30 天趋势数据
|
||||
//--------------------------------------------------------------------------
|
||||
$start = $yesterday->copy()->subDays(29);
|
||||
$end = $yesterday->copy();
|
||||
$startAt = $yesterday->copy()->subDays(29);
|
||||
$endAt = $yesterday->copy();
|
||||
|
||||
/** @var \Illuminate\Database\Eloquent\Collection */
|
||||
$ledgers30days = (clone $query)
|
||||
->whereBetween('date', [$start, $end])
|
||||
->whereBetween('date', [$startAt, $endAt])
|
||||
->get(['date', 'sales', 'expenditure'])
|
||||
->keyBy('date');
|
||||
|
||||
$trend = collect();
|
||||
|
||||
while ($startAt->lte($endAt)) {
|
||||
$ledger = $ledgers30days->get(
|
||||
$date = $startAt->format('Y-m-d')
|
||||
);
|
||||
|
||||
$trend->push([
|
||||
'date' => $date,
|
||||
'sales' => trim_zeros($ledger->sales ?? 0),
|
||||
'expenditure' => trim_zeros($ledger->expenditure ?? 0),
|
||||
]);
|
||||
|
||||
$startAt->addDay();
|
||||
}
|
||||
|
||||
return [
|
||||
// 本月总账录入
|
||||
'current_month_ledger' => [
|
||||
|
|
@ -66,7 +83,7 @@ class StatisticsController extends Controller
|
|||
'expenditure' => trim_zeros($yesterdayLedger->expenditure ?? 0),
|
||||
],
|
||||
// 近30天趋势数据
|
||||
'trend_data_of_30days' => $this->prepareTrendData($start->copy(), $end->copy(), $ledgers30days),
|
||||
'trend_data_of_30days' => $trend,
|
||||
];
|
||||
}
|
||||
|
||||
|
|
@ -190,30 +207,6 @@ class StatisticsController extends Controller
|
|||
return $data->all();
|
||||
}
|
||||
|
||||
/**
|
||||
* 准备趋势数据
|
||||
*/
|
||||
protected function prepareTrendData(Carbon $start, Carbon $end, Collection $ledgers): array
|
||||
{
|
||||
$data = collect();
|
||||
|
||||
do {
|
||||
$ledger = $ledgers->get(
|
||||
$date = $start->format('Y-m-d')
|
||||
);
|
||||
|
||||
$data->push([
|
||||
'date' => $date,
|
||||
'sales' => trim_zeros($ledger->sales ?? 0),
|
||||
'expenditure' => trim_zeros($ledger->expenditure ?? 0),
|
||||
]);
|
||||
|
||||
$start->addDay();
|
||||
} while ($start->lte($end));
|
||||
|
||||
return $data->all();
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理区域和门店过滤条件
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in New Issue