Perbaikan minor pada Laporan Member

This commit is contained in:
pand03
2026-04-07 12:46:07 +07:00
parent 1fea83be32
commit fbca98d18c
4 changed files with 33 additions and 15 deletions

View File

@@ -16,7 +16,7 @@ class MasterGateController extends Controller
public function index() public function index()
{ {
$Gate = NamaPos::all(); $Gate = NamaPos::orderBy('id')->get();
return view ('setup.gate.gate', compact('Gate')); return view ('setup.gate.gate', compact('Gate'));
} }

View File

@@ -32,20 +32,22 @@ public function dataStiker(Request $request)
'no_pol' => 'string|nullable', 'no_pol' => 'string|nullable',
]); ]);
$query = DB::table('mergetransaksistikerdetail as a') $query = DB::table('transaksi_stiker as a')
->leftJoin('stasiunkerja as b', 'a.unit_kerja', '=', 'b.kode') ->leftJoin('detail_transaksi_stiker as b', 'a.notrans', '=', 'b.notrans')
->leftJoin('jenis_langganan as c', 'a.jenis_langganan', '=', 'c.id') ->leftJoin('jenis_langganan as c', 'a.jenis_langganan', '=', 'c.id')
->leftJoin('stasiunkerja as d', 'a.unit_kerja', '=', 'd.kode')
->leftJoin('pegawai as p', 'a.operator', '=', 'p.nomer') ->leftJoin('pegawai as p', 'a.operator', '=', 'p.nomer')
// ->leftJoin('tarif_stiker as ts','ts.id_mobil','=','a.jenis_mobil') // ->leftJoin('tarif_stiker as ts','ts.id_mobil','=','a.jenis_mobil')
->leftJoin('tarif_stiker as ts', function ($join) { ->leftJoin('tarif_stiker as ts', function ($join) {
$join->on('ts.id_mobil', '=', 'a.jenis_mobil') $join->on('ts.id_mobil', '=', 'b.jenis_mobil')
->on('ts.jenis_langganan', '=', 'a.jenis_member'); ->on('ts.jenis_langganan', '=', 'b.jenis_member');
}) })
->select('a.*', 'c.nama as jenis_langganan','b.nama as stasiunkerja','p.nama as petugas','ts.tarif') ->select('a.*', 'b.*', 'c.nama as jenis_langganan','d.nama as stasiunkerja','p.nama as petugas','ts.tarif')
->whereBetween('a.tgl_edited', [ ->whereBetween('a.tanggal', [
$validated['tanggalAwal'] . ' 00:00:00', $validated['tanggalAwal'] . ' 00:00:00',
$validated['tanggalAkhir'] . ' 23:59:59' $validated['tanggalAkhir'] . ' 23:59:59'
]) ])
->where('b.status', 1)
// 🔹 Conditional filters // 🔹 Conditional filters
->when($request->name, fn ($q, $v) => ->when($request->name, fn ($q, $v) =>
@@ -64,7 +66,9 @@ public function dataStiker(Request $request)
// 🪵 Debug (aktifkan hanya saat local) // 🪵 Debug (aktifkan hanya saat local)
if (app()->isLocal()) { if (app()->isLocal()) {
Log::info('SQL Bindings', $query->getBindings()); // Log::info('SQL Bindings', $query->getBindings());
// Log::info('SQL Query', $query->toSql());
// dd($query->toSql(), $query->getBindings());
} }
return response()->json([ return response()->json([

View File

@@ -38,7 +38,7 @@
<div class="col-md-12 grid-margin stretch-card"> <div class="col-md-12 grid-margin stretch-card">
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<h4 class="card-title">Laporan Stiker Harian</h4> <h4 class="card-title">Laporan Stiker Harian ({{ $locationSettings->namalokasi }})</h4>
<form id="formTanggal"> <form id="formTanggal">
<div class="form-group"> <div class="form-group">
<div class="row"> <div class="row">
@@ -110,7 +110,8 @@ class="btn btn-light btn-lg w-100">
<th>Alamat / Email</th> <th>Alamat / Email</th>
<th>Jenis<br>Langganan</th> <th>Jenis<br>Langganan</th>
<th>Jenis<br>Stiker</th> <th>Jenis<br>Stiker</th>
<th width="15%">Periode</th> <th width="10%">Periode</th>
<th>Jenis Transaksi</th>
<th>No. Polisi<br>Terdaftar</th> <th>No. Polisi<br>Terdaftar</th>
<th>Jenis Trans</th> <th>Jenis Trans</th>
<th>Harga</th> <th>Harga</th>
@@ -260,10 +261,11 @@ class="btn btn-light btn-lg w-100">
${row.awal.split(' ')[0] ?? ''} ${row.awal.split(' ')[0] ?? ''}
<small class="text-muted">s/d ${row.akhir.split(' ')[0] ?? ''}</small> <small class="text-muted">s/d ${row.akhir.split(' ')[0] ?? ''}</small>
</td> </td>
<td class="text-center">${jTrans(row.jenis_transaksi) ?? '-'}</td>
<td class="text-center">${row.nopol ?? '-'}</td> <td class="text-center">${row.nopol ?? '-'}</td>
<td>${row.jenis_member ?? '-'}</td> <td>${row.jenis_member ?? '-'}</td>
<td>${row.tarif ?? ''}</td> <td>${row.tarif ?? ''}</td>
<td>${row.tgl_edited ?? ''}</td> <td>${row.tanggal ?? ''}</td>
<td class="text-end">${row.petugas ?? ''}</td> <td class="text-end">${row.petugas ?? ''}</td>
</tr> </tr>
`); `);
@@ -283,6 +285,14 @@ class="btn btn-light btn-lg w-100">
}); });
}); });
function jTrans(jenis_transaksi){
if (jenis_transaksi === 0) {
return 'BARU';
} else {
return 'PERPANJANGAN';
}
}
function rupiah(angka) { function rupiah(angka) {
return new Intl.NumberFormat('id-ID').format(angka || 0); return new Intl.NumberFormat('id-ID').format(angka || 0);
} }

View File

@@ -20,6 +20,10 @@
border: 0.1px solid black; /* Sets a 1px solid black border */ border: 0.1px solid black; /* Sets a 1px solid black border */
border-collapse: collapse; border-collapse: collapse;
} }
.text-label {
color: #000000;
}
/* /*
.table-selectable tbody tr { .table-selectable tbody tr {
cursor: pointer; cursor: pointer;
@@ -174,7 +178,7 @@
['printer1_conn', 'Printer Connection'], ['printer1_conn', 'Printer Connection'],
['printer1_spd', 'Printer Speed/Baudrate'], ['printer1_spd', 'Printer Speed/Baudrate'],
['video1_avail', 'Kamera Status'], ['video1_avail', 'Kamera Status'],
['video1_conn', 'Video URL/Path'], ['video1_conn', 'Kamera URL/Path'],
['sound_avail', 'Sound Status'], ['sound_avail', 'Sound Status'],
['bg_avail', 'BGate Status'], ['bg_avail', 'BGate Status'],
['bg_conn', 'BGate Connection'], ['bg_conn', 'BGate Connection'],
@@ -191,7 +195,7 @@
rows += ` rows += `
<tr> <tr>
<td class="fw-semibold text-muted">${f1[1]}</td> <td class="fw-semibold text-muted text-label"><strong>${f1[1]}</strong></td>
<td> <td>
<span class="view-mode">${formatValue(f1[0], r[f1[0]])}</span> <span class="view-mode">${formatValue(f1[0], r[f1[0]])}</span>
<input type="text" <input type="text"