51 lines
1.5 KiB
PHP
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);
|
|
}
|
|
}
|
|
} |