79 lines
2.3 KiB
PHP
79 lines
2.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Api\V1;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\TransaksiParkir;
|
|
use Illuminate\Http\Request;
|
|
|
|
class LaporanController extends Controller
|
|
{
|
|
public function harian(Request $request)
|
|
{
|
|
|
|
$tanggal = $request->input('tanggal');
|
|
$shift = $request->input('shift');
|
|
$cashless = $request->input('cashless');
|
|
|
|
// Mulai query dengan select dasar
|
|
|
|
// Tentukan kolom tanggal berdasarkan input shift
|
|
// $dateField = ($shift == 1) ? 'pklogin' : 'waktu_keluar';
|
|
$dateField = ($shift == null) ? 'waktu_keluar' : 'pklogin';
|
|
$query = TransaksiParkir::selectRaw('DATE(' . $dateField . ') as tanggal, COUNT(*) as jml, SUM(bayar_keluar) as VALUE');
|
|
// $query->selectRaw("DATE($dateField) as tanggal");
|
|
|
|
// Terapkan filter tanggal berdasarkan input
|
|
if ($tanggal) {
|
|
$query->whereDate($dateField, '=', $tanggal);
|
|
}
|
|
|
|
// Terapkan filter cara bayar
|
|
if ($cashless == 1) {
|
|
$query->where('cara_bayar', 3);
|
|
}
|
|
|
|
// Terapkan grouping dan sorting
|
|
// $query->groupBy('tanggal')
|
|
// ->orderBy('tanggal');
|
|
|
|
$query->groupByRaw("DATE($dateField)")
|
|
->orderByRaw("DATE($dateField)");
|
|
|
|
|
|
$result = $query->get();
|
|
|
|
return response()->json([
|
|
'status' => 'success',
|
|
'result' => $result,
|
|
]);
|
|
|
|
// $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,
|
|
// ]);
|
|
}
|
|
}
|