leftJoin('jenis_mobil as jm','jm.id','=','transaksi_parkir.id_kendaraan'); return $query; } public function harian(Request $request) { $tanggal = $request->input('tanggal'); $shift = $request->input('shift'); Log::info($shift); // $cashless = $request->input('cashless'); $cash = []; $cashless = []; // Mulai query dengan select dasar $payment = ['cash', 'cashless']; // Tentukan kolom tanggal berdasarkan input shift // $dateField = ($shift == 1) ? 'pklogin' : 'waktu_keluar'; // $query = TransaksiParkir::selectRaw('jm.id, jm.nama as vehicle, COUNT(*) as jml, SUM(bayar_keluar) as VALUE') // ->leftJoin('jenis_mobil as jm','jm.id','=','transaksi_parkir.id_kendaraan'); // $query->selectRaw("DATE($dateField) as tanggal"); // Terapkan filter tanggal berdasarkan input $totalTrans = 0; $totalIncome = 0; if ($shift === null || $shift === 0 || $shift === '0') { $dateField = 'waktu_keluar' ; } else { $dateField = 'pklogin'; } // Log::info('Memproses permintaan dengan perhitungan : ' . $dateField); // Cash payment initialize $queryCash = $this->getTrans(); if ($tanggal) { $queryCash->whereDate($dateField, '=', $tanggal); } Log::info('Find cash transaksi with params date : ' . $tanggal . ', and : ' . $dateField); $resultCash = $queryCash ->where(function ($q) { $q->whereRaw('cara_bayar <> 3') ->orWhereRaw('cara_bayar is null'); }) // ->where(function ($q) { // $q->where('status_transaksi', '-0') // ->orWhere('status_transaksi', '3'); // }) ->groupByRaw("jm.id, jm.nama") ->orderByRaw("jm.id, jm.nama") ->get(); // Log::info($resultCash->toSql()); $jmlCash = 0; $incomeCash = 0; foreach ($resultCash as $row) { $jmlCash += $row->jml; $incomeCash += $row->total_bayar; } // Cashless payment initialize $queryCashless = $this->getTrans(); if ($tanggal) { $queryCashless->whereDate($dateField, '=', $tanggal); } Log::info(' Cari data cashless dengan tanggal : ' . $tanggal); $resultCashless = $queryCashless // ->where(function ($q) { // $q->where('status_transaksi', '-0') // ->orWhere('status_transaksi','3'); // }) ->where('cara_bayar', 3) ->groupByRaw("jm.id, jm.nama") ->orderByRaw("jm.id, jm.nama") ->get(); Log::info($resultCashless); $jmlCashless = 0; $incomeCashless = 0; foreach ($resultCashless as $row) { $jmlCashless += $row->jml; $incomeCashless += $row->total_bayar; } $totalTrans = $jmlCash + $jmlCashless; $totalIncome = $incomeCash + $incomeCashless; // Log::info($incomeCashless); return response()->json([ 'status' => 'success', 'result' => [ 'cash' => $resultCash, 'cashless' => $resultCashless, ], 'total' => [ 'jumlah' => $totalTrans, 'income' => $totalIncome, ] ]); } } // $tanggal = $request->input('tanggal'); // $shift = $request->input('shift'); // $cashless = $request->input('cashless'); // $query = TransaksiParkir::selectRaw('COUNT (*) as jml, SUM(bayar_keluar) as VALUE'); // $dateField = ($shift == 1) ? 'pklogin' : 'waktu_keluar'; // $query->selectRaw("DATE($dateField) as tanggal"); // if ($tanggal) { // $query->whereDate($dateField, '=', $tanggal); // } // if ($cashless == 1) { // $query->where('cara_bayar', 3); // } else { // $query->where('cara_bayar', 2); // } // $query->groupBy('tanggal') // ->orderBy('tanggal'); // $result = $query->get(); // return response()->json([ // 'status' => 'success', // 'result' => $result, // ]);