generated from liutk/owl-admin-base
Update
parent
7131eac6fc
commit
03dea60229
|
|
@ -89,18 +89,30 @@ class StatisticsController extends Controller
|
|||
],
|
||||
);
|
||||
|
||||
$input = $this->filterInput($request);
|
||||
$input = Arr::except($this->filterInput($request), ['start_at', 'end_at', 'before_start_at', 'before_end_at']);
|
||||
|
||||
$dateRange1 = $request->input('start_at').','.$request->input('end_at');
|
||||
$ledger = $statisticService->ledger(array_merge($input, ['date_range' => $dateRange1]));
|
||||
|
||||
$dateRange2 = $request->input('before_start_at').','.$request->input('before_end_at');
|
||||
$beforeLedger = $statisticService->ledger(array_merge($input, ['date_range' => $dateRange2]));
|
||||
|
||||
$ledger = $statisticService->ledger(
|
||||
array_merge($input, ['date_range' => $dateRange1])
|
||||
);
|
||||
/** @var \Illuminate\Database\Eloquent\Collection */
|
||||
$lotteryTypes = Keyword::where('parent_key', 'lottery_type')->oldest('sort')->get();
|
||||
|
||||
$beforeLedger = $statisticService->ledger(
|
||||
array_merge($input, ['date_range' => $dateRange2])
|
||||
);
|
||||
/** @var \Illuminate\Support\Collection */
|
||||
$lotteryTypeStatistics = LedgerItem::select(
|
||||
[
|
||||
'ledger_item_type_id',
|
||||
DB::raw('SUM(sales) as sales'),
|
||||
DB::raw('SUM(expenditure) as expenditure'),
|
||||
],
|
||||
)
|
||||
->filter(array_merge($input, ['date_range' => $dateRange1]), LedgerItemFilter::class)
|
||||
->whereIn('ledger_item_type_id', $lotteryTypes->pluck('key'))
|
||||
->groupBy(['ledger_item_type_id'])
|
||||
->get()
|
||||
->keyBy('ledger_item_type_id');
|
||||
|
||||
// 销售涨幅
|
||||
$salesGrowthRate = 0;
|
||||
|
|
@ -112,21 +124,6 @@ class StatisticsController extends Controller
|
|||
$salesGrowthRate = bcdiv(bcmul($diff, '100'), $beforeLedger['sales'], 2);
|
||||
}
|
||||
|
||||
/** @var \Illuminate\Database\Eloquent\Collection */
|
||||
$lotteryTypes = Keyword::where('parent_key', 'lottery_type')->oldest('sort')->get();
|
||||
|
||||
/** @var \Illuminate\Support\Collection */
|
||||
$lotteryTypeStatistics = LedgerItem::select([
|
||||
'ledger_item_type_id',
|
||||
DB::raw('SUM(sales) as sales'),
|
||||
DB::raw('SUM(expenditure) as expenditure'),
|
||||
])
|
||||
->filter(array_merge($input, ['date_range' => $dateRange1]), LedgerItemFilter::class)
|
||||
->whereIn('ledger_item_type_id', $lotteryTypes->pluck('key'))
|
||||
->groupBy(['ledger_item_type_id'])
|
||||
->get()
|
||||
->keyBy('ledger_item_type_id');
|
||||
|
||||
return array_merge($ledger, [
|
||||
'sales_growth_rate' => $salesGrowthRate,
|
||||
'lottery_types' => $lotteryTypes->map(function ($lotteryType) use ($lotteryTypeStatistics) {
|
||||
|
|
@ -157,10 +154,7 @@ class StatisticsController extends Controller
|
|||
],
|
||||
);
|
||||
|
||||
$input = array_merge(
|
||||
$this->filterInput($request),
|
||||
$request->only(['start_at', 'end_at']),
|
||||
);
|
||||
$input = $this->filterInput($request);
|
||||
|
||||
return $statisticService->storeRanking($input);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue