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