80 lines
3.1 KiB
PHP
80 lines
3.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Kasir;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\DetailPesanan;
|
|
use App\Models\Pesanan;
|
|
use Carbon\Carbon;
|
|
use Illuminate\Http\Request;
|
|
|
|
class History extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
return view('pages.History.index');
|
|
}
|
|
|
|
public function getDataHistory(Request $request)
|
|
{
|
|
$nomor = 1;
|
|
$filter_tanggal_1 = $request->filter_tanggal_1;
|
|
$filter_tanggal_2 = $request->filter_tanggal_2;
|
|
$data = Pesanan::with(['detailPesanan', 'user'])
|
|
->when($filter_tanggal_1, function ($query) use ($filter_tanggal_1) {
|
|
return $query->whereDate('tanggal_pesanan', '>=', $filter_tanggal_1);
|
|
})
|
|
->when($filter_tanggal_2, function ($query) use ($filter_tanggal_2) {
|
|
return $query->whereDate('tanggal_pesanan', '<=', $filter_tanggal_2);
|
|
})
|
|
->when(!$filter_tanggal_1 && !$filter_tanggal_2, function ($query) {
|
|
return $query->whereDate('tanggal_pesanan', Carbon::today());
|
|
})
|
|
->orderBy('tanggal_pesanan', 'desc')
|
|
->get();
|
|
|
|
return datatables()
|
|
->of($data)
|
|
->addColumn('nomor', function ($data) use (&$nomor) {
|
|
return $nomor++;
|
|
})
|
|
->addColumn('nama_pemesan', function ($data) {
|
|
$nomor = $data->nomor_pemesan != null ? '(' . $data->nomor_pemesan . ')' : '';
|
|
return $data->nama_pemesan . ' ' . $nomor;
|
|
})
|
|
->addColumn('nomor_meja', function ($data) {
|
|
return $data->nomor_meja != null ? $data->nomor_meja : '-';
|
|
})
|
|
->addColumn('created_at', function ($data) {
|
|
return \Carbon\Carbon::parse($data->created_at)->format('d F Y H:i:s');
|
|
})
|
|
->addColumn('total_bayar_rp', function ($data) {
|
|
return 'Rp ' . number_format($data->total_bayar, 0, ',', '.');
|
|
})
|
|
->addColumn('grand_total_rp', function ($data) {
|
|
return 'Rp ' . number_format($data->grand_total, 0, ',', '.');
|
|
})
|
|
->addColumn('ubah', function ($data) {
|
|
return '<div class="btn-group">
|
|
<a href="javascript:void(0)" onclick="detail(\'' . $data->id . '\')"><span class="btn btn-xs btn-warning mr-1"><i class="fas fa-eye"></i></span></a>
|
|
<a href="javascript:void(0)" onclick="print(\'' . $data->id . '\')"><span class="btn btn-xs btn-success"><i class="fas fa-print"></i></span></a></div>';
|
|
})
|
|
->rawColumns(['nomor', 'nama_user', 'created_at', 'grand_total', 'ubah'])
|
|
->make(true);
|
|
}
|
|
|
|
public function print($id)
|
|
{
|
|
$pesanan = \App\Models\Pesanan::with('detailPesanan', 'user')->find($id);
|
|
|
|
return view('pages.Kasir.print_dapur', compact('pesanan'));
|
|
}
|
|
|
|
public function getDataDetailHistory(Request $request)
|
|
{
|
|
$data = Pesanan::with('detailPesanan')->find($request->id_pesanan);
|
|
|
|
return response()->json(['status' => true, 'data' => $data]);
|
|
}
|
|
}
|