More code for #452

This commit is contained in:
James Cole 2016-12-11 16:38:21 +01:00
parent 8a7297e131
commit 553e9270e5
No known key found for this signature in database
GPG Key ID: C16961E655E74B5E

View File

@ -123,25 +123,22 @@ class AccountController extends Controller
$ids = $accounts->pluck('id')->toArray();
$startBalances = Steam::balancesById($ids, $start);
$endBalances = Steam::balancesById($ids, $end);
$chartData = [];
$accounts->each(
function (Account $account) use ($startBalances, $endBalances) {
foreach ($accounts as $account) {
$id = $account->id;
$startBalance = $startBalances[$id] ?? '0';
$endBalance = $endBalances[$id] ?? '0';
$diff = bcsub($endBalance, $startBalance);
if (bccomp($diff, '0') !== 0) {
$chartData[$account->name] = round($diff, 2);
$account->difference = round($diff, 2);
}
);
$accounts = $accounts->sortByDesc(
function (Account $account) {
return $account->difference;
}
);
$data = $this->generator->expenseAccounts($accounts, $start, $end);
arsort($chartData);
/** @var GeneratorInterface $generator */
$generator = app(GeneratorInterface::class);
$data = $generator->singleSet(trans('firefly.spent'), $chartData);
$cache->store($data);
return Response::json($data);
@ -362,6 +359,7 @@ class AccountController extends Controller
{
$start = clone session('start', Carbon::now()->startOfMonth());
$end = clone session('end', Carbon::now()->endOfMonth());
$chartData = [];
$cache = new CacheProperties;
$cache->addProperty($start);
$cache->addProperty($end);
@ -377,23 +375,24 @@ class AccountController extends Controller
$startBalances = Steam::balancesById($ids, $start);
$endBalances = Steam::balancesById($ids, $end);
$accounts->each(
function (Account $account) use ($startBalances, $endBalances) {
foreach ($accounts as $account) {
$id = $account->id;
$startBalance = $startBalances[$id] ?? '0';
$endBalance = $endBalances[$id] ?? '0';
$diff = bcsub($endBalance, $startBalance);
$diff = bcmul($diff, '-1');
$account->difference = round($diff, 2);
if (bccomp($diff, '0') !== 0) {
$chartData[$account->name] = round($diff, 2);
$account->difference = round($diff, 2);
}
);
$accounts = $accounts->sortByDesc(
function (Account $account) {
return $account->difference;
}
);
asort($chartData);
/** @var GeneratorInterface $generator */
$generator = app(GeneratorInterface::class);
$data = $generator->singleSet(trans('firefly.spent'), $chartData);
$cache->store($data);
$data = $this->generator->revenueAccounts($accounts, $start, $end);
$cache->store($data);