input('tanggal'); $shift = $request->input('shift'); $harian = $request->input('harian'); 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' || $shift === false) { // $dateField = 'pklogin'; // } else { // $dateField = 'waktu_keluar' ; // } // if ($harian === null || $harian === 0 || $harian === '0' || $harian === false) { // $dateField = 'waktu_keluar' ; // } else { // $dateField = 'pklogin'; // } $isShift = ($shift !== null && $shift !== 0 && $shift !== '0' && $shift !== false); $isHarian = ($harian !== null && $harian !== 0 && $harian !== '0' && $harian !== false); if ($isHarian) { $dateField = 'waktu_keluar'; // harian aktif → pklogin } elseif ($isShift) { $dateField = 'pklogin'; // shift aktif → waktu_keluar } else { $dateField = 'waktu_keluar'; // default } // Log::info('Memproses permintaan dengan perhitungan : ' . $dateField); // Cash payment initialize $queryCash = $this->getTrans()->selectRaw('jm.id, jm.nama as vehicle, COUNT(*) as jml, SUM(bayar_keluar) as total_bayar') ->leftJoin('jenis_mobil as jm','jm.id','=','transaksi_parkir.id_kendaraan'); 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()->selectRaw('jm.id, jm.nama as vehicle, COUNT(*) as jml, SUM(bayar_keluar) as total_bayar') ->leftJoin('jenis_mobil as jm','jm.id','=','transaksi_parkir.id_kendaraan'); 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, ] ]); } public function payment(Request $request) { $tanggal = $request->input('tanggal'); $shift = $request->input('shift'); $harian = $request->input('harian'); Log::info($shift); $cash = []; $cashless = []; // Mulai query dengan select dasar $payment = ['cash', 'cashless']; $totalTrans = 0; $totalIncome = 0; $isShift = ($shift !== null && $shift !== 0 && $shift !== '0' && $shift !== false); $isHarian = ($harian !== null && $harian !== 0 && $harian !== '0' && $harian !== false); if ($isHarian) { $dateField = 'waktu_keluar'; // harian aktif → pklogin } elseif ($isShift) { $dateField = 'pklogin'; // shift aktif → waktu_keluar } else { $dateField = 'waktu_keluar'; // default } $queryCash = $this->getTrans()->selectRaw('rep_bank as payment, COUNT(*) as jml, SUM(bayar_keluar) as total_bayar'); 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'); }) ->groupByRaw("rep_bank") ->orderByRaw("rep_bank") ->get(); $jmlCash = 0; $incomeCash = 0; foreach ($resultCash as $row) { $jmlCash += $row->jml; $incomeCash += $row->total_bayar; } // Cashless payment initialize $queryCashless = $this->getTrans()->selectRaw('rep_bank as payment, COUNT(*) as jml, SUM(bayar_keluar) as total_bayar'); if ($tanggal) { $queryCashless->whereDate($dateField, '=', $tanggal); } Log::info(' Cari data cashless dengan tanggal : ' . $tanggal); $resultCashless = $queryCashless ->where('cara_bayar', 3) ->groupByRaw("rep_bank") ->orderByRaw("rep_bank") ->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, ] ]); } public function operator(Request $request) { $tanggal = $request->input('tanggal'); $shift = $request->input('shift'); $harian = $request->input('harian'); Log::info($shift); $cash = []; $cashless = []; // Mulai query dengan select dasar $payment = ['cash', 'cashless']; $totalTrans = 0; $totalIncome = 0; $isShift = ($shift !== null && $shift !== 0 && $shift !== '0' && $shift !== false); $isHarian = ($harian !== null && $harian !== 0 && $harian !== '0' && $harian !== false); if ($isHarian) { $dateField = 'waktu_keluar'; // harian aktif → pklogin } elseif ($isShift) { $dateField = 'pklogin'; // shift aktif → waktu_keluar } else { $dateField = 'waktu_keluar'; // default } $queryCash = $this->getTrans()->selectRaw('id_op_keluar as operator, p.nama, COUNT(*) as jml, SUM(bayar_keluar) as total_bayar') ->leftJoin('pegawai as p','p.nomer','=','transaksi_parkir.id_op_keluar'); 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'); }) ->groupByRaw("id_op_keluar, p.nama") ->orderByRaw("id_op_keluar, p.nama") ->get(); $jmlCash = 0; $incomeCash = 0; foreach ($resultCash as $row) { $jmlCash += $row->jml; $incomeCash += $row->total_bayar; } // Cashless payment initialize $queryCashless = $this->getTrans()->selectRaw('id_op_keluar as operator, p.nama, COUNT(*) as jml, SUM(bayar_keluar) as total_bayar') ->leftJoin('pegawai as p','p.nomer','=','transaksi_parkir.id_op_keluar'); if ($tanggal) { $queryCashless->whereDate($dateField, '=', $tanggal); } Log::info(' Cari data cashless dengan tanggal : ' . $tanggal); $resultCashless = $queryCashless ->where('cara_bayar', 3) ->groupByRaw("id_op_keluar, p.nama") ->orderByRaw("id_op_keluar, p.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, ] ]); } public function gate(Request $request) { $tanggal = $request->input('tanggal'); $shift = $request->input('shift'); $harian = $request->input('harian'); Log::info($shift); $cash = []; $cashless = []; // Mulai query dengan select dasar $payment = ['cash', 'cashless']; $totalTrans = 0; $totalIncome = 0; $isShift = ($shift !== null && $shift !== 0 && $shift !== '0' && $shift !== false); $isHarian = ($harian !== null && $harian !== 0 && $harian !== '0' && $harian !== false); if ($isHarian) { $dateField = 'waktu_keluar'; // harian aktif → pklogin } elseif ($isShift) { $dateField = 'pklogin'; // shift aktif → waktu_keluar } else { $dateField = 'waktu_keluar'; // default } $queryCash = $this->getTrans()->selectRaw('id_pintu_keluar as gate, np.nama, COUNT(*) as jml, SUM(bayar_keluar) as total_bayar') ->leftJoin('nama_pos as np','np.id','=','transaksi_parkir.id_pintu_keluar'); 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'); }) ->groupByRaw("id_pintu_keluar, np.nama") ->orderByRaw("id_pintu_keluar, np.nama") ->get(); $jmlCash = 0; $incomeCash = 0; foreach ($resultCash as $row) { $jmlCash += $row->jml; $incomeCash += $row->total_bayar; } // Cashless payment initialize $queryCashless = $this->getTrans()->selectRaw('id_pintu_keluar as gate, np.nama, COUNT(*) as jml, SUM(bayar_keluar) as total_bayar') ->leftJoin('nama_pos as np','np.id','=','transaksi_parkir.id_pintu_keluar'); if ($tanggal) { $queryCashless->whereDate($dateField, '=', $tanggal); } Log::info(' Cari data cashless dengan tanggal : ' . $tanggal); $resultCashless = $queryCashless ->where('cara_bayar', 3) ->groupByRaw("id_pintu_keluar, np.nama") ->orderByRaw("id_pintu_keluar, np.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, // ]);