[ 'jenisLangganan' => DB::table('jenis_langganan')->get(), 'jenisStiker' => DB::table('stasiunkerja')->get(), ] ]); } public function dataStiker(Request $request) { // 🔐 Validasi dasar $validated = $request->validate([ 'tanggalAwal' => 'required|date', 'tanggalAkhir' => 'required|date', 'jenis_langganan' => 'array|nullable', 'jenis_stiker' => 'array|nullable', 'name' => 'string|nullable', 'no_pol' => 'string|nullable', ]); $query = DB::table('mergetransaksistikerdetail as a') ->leftJoin('stasiunkerja as b', 'a.unit_kerja', '=', 'b.kode') ->leftJoin('jenis_langganan as c', 'a.jenis_langganan', '=', 'c.id') ->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'); }) ->select('a.*', 'c.nama as jenis_langganan','b.nama as stasiunkerja','p.nama as petugas','ts.tarif') ->whereBetween('a.tgl_edited', [ $validated['tanggalAwal'] . ' 00:00:00', $validated['tanggalAkhir'] . ' 23:59:59' ]) // 🔹 Conditional filters ->when($request->name, fn ($q, $v) => $q->where('a.nama', 'ILIKE', "%{$v}%") ) ->when($request->no_pol, fn ($q, $v) => $q->where('a.nopol', 'ILIKE', "%{$v}%") ) ->when($request->jenis_langganan, fn ($q, $v) => $q->whereIn('a.jenis_langganan', $v) ) ->when($request->jenis_stiker, fn ($q, $v) => $q->whereIn('a.unit_kerja', $v) ) ->orderBy('a.nama'); // 🪵 Debug (aktifkan hanya saat local) if (app()->isLocal()) { Log::info('SQL Bindings', $query->getBindings()); } return response()->json([ 'success' => true, 'data' => $query->get(), ]); } } // public function laporanStikerHarian() // { // $jenisLangganan = DB::table('jenis_langganan')->get(); // $jenisStiker = DB::table('stasiunkerja')->get(); // $filterSelect = [ // 'jenisLangganan' => $jenisLangganan, // 'jenisStiker' => $jenisStiker // ]; // return view ('report.stiker.stiker-harian', compact('filterSelect')); // } // public function dataStiker (Request $request) // { // Log::info($request->jenis_langganan); // $jenisLangganan = $request->jenis_langganan; // $stasiunKerja = $request->jenis_stiker; // $nama = $request->name; // $nopol = $request->no_pol; // $startDate = $request->tanggalAwal; // $endDate = $request->tanggalAKhir; // Log::info($startDate); // Log::info($endDate); // $query = DB::table('mergetransaksistikerdetail as a') // ->leftJoin('stasiunkerja as b', 'a.unit_kerja', '=', 'b.kode') // ->whereBetween('a.tgl_edited', [ // $startDate . ' 00:00:00', // $endDate . ' 23:59:59']) // ->select( // 'a.*', // 'b.nama as jenis_langganan' // ); // if (!empty($nama)) { // $query->where('a.nama', 'LIKE', '%' . $nama . '%'); // } // if (!empty($nopol)) { // $query->where('a.nopol', 'LIKE', '%' . $nopol . '%'); // } // if (!empty($jenisLangganan)) { // $query->whereIn('a.jenis_langganan', $jenisLangganan); // } // if (!empty($stasiunKerja)) { // $query->whereIn('a.unit_kerja', $stasiunKerja); // } // Log::info($query->getBindings()); // $data = $query->get(); // return response()->json([ // 'success' => true, // 'data' => $data, // ]); // }