25 lines
695 B
PHP
25 lines
695 B
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Services\OrderService;
|
|
use Barryvdh\DomPDF\Facade\Pdf;
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
|
|
class DeliveryNoteController extends Controller
|
|
{
|
|
public function __invoke(string $orderId, OrderService $service): Response
|
|
{
|
|
$order = $service->deliveryNoteData($orderId);
|
|
|
|
$total = collect($order['order_items'] ?? [])->sum(fn ($item) => (int) ($item['subtotal'] ?? 0));
|
|
|
|
$pdf = Pdf::loadView('pdf.delivery-note', [
|
|
'order' => $order,
|
|
'total' => $total,
|
|
])->setPaper('a5', 'landscape');
|
|
|
|
return $pdf->stream(str_replace('/', '-', $order['note_number']).'.pdf');
|
|
}
|
|
}
|