Perbaikan minor pada Laporan Member
This commit is contained in:
@@ -16,7 +16,7 @@ class MasterGateController extends Controller
|
||||
public function index()
|
||||
{
|
||||
|
||||
$Gate = NamaPos::all();
|
||||
$Gate = NamaPos::orderBy('id')->get();
|
||||
return view ('setup.gate.gate', compact('Gate'));
|
||||
}
|
||||
|
||||
|
||||
@@ -32,20 +32,22 @@ public function dataStiker(Request $request)
|
||||
'no_pol' => 'string|nullable',
|
||||
]);
|
||||
|
||||
$query = DB::table('mergetransaksistikerdetail as a')
|
||||
->leftJoin('stasiunkerja as b', 'a.unit_kerja', '=', 'b.kode')
|
||||
$query = DB::table('transaksi_stiker as a')
|
||||
->leftJoin('detail_transaksi_stiker as b', 'a.notrans', '=', 'b.notrans')
|
||||
->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('tarif_stiker as ts','ts.id_mobil','=','a.jenis_mobil')
|
||||
->leftJoin('tarif_stiker as ts', function ($join) {
|
||||
$join->on('ts.id_mobil', '=', 'a.jenis_mobil')
|
||||
->on('ts.jenis_langganan', '=', 'a.jenis_member');
|
||||
$join->on('ts.id_mobil', '=', 'b.jenis_mobil')
|
||||
->on('ts.jenis_langganan', '=', 'b.jenis_member');
|
||||
})
|
||||
->select('a.*', 'c.nama as jenis_langganan','b.nama as stasiunkerja','p.nama as petugas','ts.tarif')
|
||||
->whereBetween('a.tgl_edited', [
|
||||
->select('a.*', 'b.*', 'c.nama as jenis_langganan','d.nama as stasiunkerja','p.nama as petugas','ts.tarif')
|
||||
->whereBetween('a.tanggal', [
|
||||
$validated['tanggalAwal'] . ' 00:00:00',
|
||||
$validated['tanggalAkhir'] . ' 23:59:59'
|
||||
])
|
||||
->where('b.status', 1)
|
||||
|
||||
// 🔹 Conditional filters
|
||||
->when($request->name, fn ($q, $v) =>
|
||||
@@ -64,7 +66,9 @@ public function dataStiker(Request $request)
|
||||
|
||||
// 🪵 Debug (aktifkan hanya saat local)
|
||||
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([
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
<div class="col-md-12 grid-margin stretch-card">
|
||||
<div class="card">
|
||||
<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">
|
||||
<div class="form-group">
|
||||
<div class="row">
|
||||
@@ -110,7 +110,8 @@ class="btn btn-light btn-lg w-100">
|
||||
<th>Alamat / Email</th>
|
||||
<th>Jenis<br>Langganan</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>Jenis Trans</th>
|
||||
<th>Harga</th>
|
||||
@@ -260,10 +261,11 @@ class="btn btn-light btn-lg w-100">
|
||||
${row.awal.split(' ')[0] ?? ''}
|
||||
<small class="text-muted">s/d ${row.akhir.split(' ')[0] ?? ''}</small>
|
||||
</td>
|
||||
<td class="text-center">${jTrans(row.jenis_transaksi) ?? '-'}</td>
|
||||
<td class="text-center">${row.nopol ?? '-'}</td>
|
||||
<td>${row.jenis_member ?? '-'}</td>
|
||||
<td>${row.tarif ?? ''}</td>
|
||||
<td>${row.tgl_edited ?? ''}</td>
|
||||
<td>${row.tanggal ?? ''}</td>
|
||||
<td class="text-end">${row.petugas ?? ''}</td>
|
||||
</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) {
|
||||
return new Intl.NumberFormat('id-ID').format(angka || 0);
|
||||
}
|
||||
|
||||
@@ -20,6 +20,10 @@
|
||||
border: 0.1px solid black; /* Sets a 1px solid black border */
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.text-label {
|
||||
color: #000000;
|
||||
}
|
||||
/*
|
||||
.table-selectable tbody tr {
|
||||
cursor: pointer;
|
||||
@@ -174,7 +178,7 @@
|
||||
['printer1_conn', 'Printer Connection'],
|
||||
['printer1_spd', 'Printer Speed/Baudrate'],
|
||||
['video1_avail', 'Kamera Status'],
|
||||
['video1_conn', 'Video URL/Path'],
|
||||
['video1_conn', 'Kamera URL/Path'],
|
||||
['sound_avail', 'Sound Status'],
|
||||
['bg_avail', 'BGate Status'],
|
||||
['bg_conn', 'BGate Connection'],
|
||||
@@ -191,7 +195,7 @@
|
||||
|
||||
rows += `
|
||||
<tr>
|
||||
<td class="fw-semibold text-muted">${f1[1]}</td>
|
||||
<td class="fw-semibold text-muted text-label"><strong>${f1[1]}</strong></td>
|
||||
<td>
|
||||
<span class="view-mode">${formatValue(f1[0], r[f1[0]])}</span>
|
||||
<input type="text"
|
||||
|
||||
Reference in New Issue
Block a user