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');
|
$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');
|
$dateRange2 = $request->input('before_start_at').','.$request->input('before_end_at');
|
||||||
|
$beforeLedger = $statisticService->ledger(array_merge($input, ['date_range' => $dateRange2]));
|
||||||
|
|
||||||
$ledger = $statisticService->ledger(
|
/** @var \Illuminate\Database\Eloquent\Collection */
|
||||||
array_merge($input, ['date_range' => $dateRange1])
|
$lotteryTypes = Keyword::where('parent_key', 'lottery_type')->oldest('sort')->get();
|
||||||
);
|
|
||||||
|
|
||||||
$beforeLedger = $statisticService->ledger(
|
/** @var \Illuminate\Support\Collection */
|
||||||
array_merge($input, ['date_range' => $dateRange2])
|
$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;
|
$salesGrowthRate = 0;
|
||||||
|
|
@ -112,21 +124,6 @@ class StatisticsController extends Controller
|
||||||
$salesGrowthRate = bcdiv(bcmul($diff, '100'), $beforeLedger['sales'], 2);
|
$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, [
|
return array_merge($ledger, [
|
||||||
'sales_growth_rate' => $salesGrowthRate,
|
'sales_growth_rate' => $salesGrowthRate,
|
||||||
'lottery_types' => $lotteryTypes->map(function ($lotteryType) use ($lotteryTypeStatistics) {
|
'lottery_types' => $lotteryTypes->map(function ($lotteryType) use ($lotteryTypeStatistics) {
|
||||||
|
|
@ -157,10 +154,7 @@ class StatisticsController extends Controller
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|
||||||
$input = array_merge(
|
$input = $this->filterInput($request);
|
||||||
$this->filterInput($request),
|
|
||||||
$request->only(['start_at', 'end_at']),
|
|
||||||
);
|
|
||||||
|
|
||||||
return $statisticService->storeRanking($input);
|
return $statisticService->storeRanking($input);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue