Kasir/app/Http/Controllers/StrukController.php
2025-09-18 15:59:48 +07:00

51 lines
1.5 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Transaksi;
use Barryvdh\DomPDF\Facade\Pdf;
use Carbon\Carbon;
class StrukController extends Controller
{
public function cetak(int $id)
{
try {
$data = Transaksi::with(['itemTransaksi.produk.foto', 'sales'])
->find($id);
if (!$data) {
return response()->json(['error'=>'Transaksi tidak ditemukan'], 404);
}
// Debug: Let's see what data structure we have
// dd([
// 'transaksi' => $data->toArray(),
// 'item_count' => $data->itemTransaksi->count(),
// 'has_sales' => $data->sales ? true : false,
// ]);
// After debugging, uncomment this:
$pdf = Pdf::loadView('exports.struk', $data->toArray())
->setPaper([0, 0, 1224 * 0.75, 528 * 0.75], 'landscape')
->setOptions([
'isHtml5ParserEnabled' => true,
'isRemoteEnabled' => true,
'defaultFont' => 'DejaVu Sans'
]);
$filename = 'Struk_' . $data->kode_transaksi . '.pdf';
return $pdf->download($filename);
} catch (\Exception $e) {
return response()->json([
'error' => 'Debug Error',
'message' => $e->getMessage(),
'line' => $e->getLine(),
'file' => $e->getFile()
], 500);
}
}
}