main
Jing Li 2024-04-23 15:09:36 +08:00
parent 3c5569ab09
commit cc6e4e817f
1 changed files with 30 additions and 17 deletions

View File

@ -197,25 +197,38 @@ class LedgerController extends Controller
->where('date', $date)
->first();
return [
'data' => $ledger ? $this->prepareLedger($ledger) : null,
];
}
$items = [];
if ($user->store->isLotteryStore()) {
/** @var \Illuminate\Database\Eloquent\Collection */
$lotteryTypes = Keyword::filter(['parent_key' => 'lottery_type'])
->oldest('sort')
->get();
$ledgerItems = collect();
if ($ledger) {
$ledgerItems = $ledger->items->keyBy('ledger_item_type_id');
}
$items = $lotteryTypes->map(function ($lotteryType) use ($ledgerItems) {
$ledgerItem = $ledgerItems->get($lotteryType->key);
return [
'id' => $lotteryType->key,
'name' => $lotteryType->name,
'sales' => $ledgerItem?->sales,
'expenditure' => $ledgerItem?->expenditure,
];
})->all();
}
protected function prepareLedger(Ledger $ledger)
{
return [
'date' => $ledger->date,
'items' => $ledger->items->map(fn ($item) => [
'id' => $item->ledger_item_type_id,
'sales' => $item->sales,
'expenditure' => $item->expenditure,
]),
'new_customers' => $ledger->new_customers,
'sales' => $ledger->sales,
'expenditure' => $ledger->expenditure,
'handover_amount' => $ledger->handover_amount,
'photos' => $ledger->photos,
'date' => $date,
'items' => $items,
'new_customers' => $ledger?->new_customers,
'sales' => $ledger?->sales,
'expenditure' => $ledger?->expenditure,
'handover_amount' => $ledger?->handover_amount,
'photos' => $ledger?->photos ?: [],
];
}
}