generated from liutk/owl-admin-base
Update
parent
170267740a
commit
e94c349a3e
|
|
@ -43,14 +43,31 @@ class StatisticsController extends Controller
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
// 近 30 天趋势数据
|
// 近 30 天趋势数据
|
||||||
//--------------------------------------------------------------------------
|
//--------------------------------------------------------------------------
|
||||||
$start = $yesterday->copy()->subDays(29);
|
$startAt = $yesterday->copy()->subDays(29);
|
||||||
$end = $yesterday->copy();
|
$endAt = $yesterday->copy();
|
||||||
|
|
||||||
/** @var \Illuminate\Database\Eloquent\Collection */
|
/** @var \Illuminate\Database\Eloquent\Collection */
|
||||||
$ledgers30days = (clone $query)
|
$ledgers30days = (clone $query)
|
||||||
->whereBetween('date', [$start, $end])
|
->whereBetween('date', [$startAt, $endAt])
|
||||||
->get(['date', 'sales', 'expenditure'])
|
->get(['date', 'sales', 'expenditure'])
|
||||||
->keyBy('date');
|
->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 [
|
return [
|
||||||
// 本月总账录入
|
// 本月总账录入
|
||||||
'current_month_ledger' => [
|
'current_month_ledger' => [
|
||||||
|
|
@ -66,7 +83,7 @@ class StatisticsController extends Controller
|
||||||
'expenditure' => trim_zeros($yesterdayLedger->expenditure ?? 0),
|
'expenditure' => trim_zeros($yesterdayLedger->expenditure ?? 0),
|
||||||
],
|
],
|
||||||
// 近30天趋势数据
|
// 近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();
|
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