Commit eb157dd0 authored by dindarestika's avatar dindarestika
Browse files

rekap data penginapan

No related merge requests found
Showing with 290 additions and 34 deletions
+290 -34
......@@ -233,7 +233,7 @@ class EventController extends Controller
// $checkout_kode = $huruftiket . $urutantiket . uniqid();
$checkout_kode = $huruftiket . $urutantiket . $user_id . $now_tgl;
$kode_booking = $request->kode_booking;
// dd($totalbiaya);
BookingEvent::create([
'kode_tiket' => $checkout_kode,
......@@ -329,7 +329,7 @@ class EventController extends Controller
$review->kode_tiket = $checkout_kode;
$review->save();
Toastr::success('Berhasil pesan, gratis bisa langsung cetak invoice :) ', 'Success');
} else {
} elseif ($totalbiaya > 0) {
Tiket::create([
'kode' => $checkout_kode,
'user_id' => Auth::user()->id,
......
......@@ -530,7 +530,6 @@ class PaymentController extends Controller
$belumbayar = Detail_transaksi::where('id_produk', $kode_event)->where('status', '!=', 1)->get();
if (!$belumbayar == null) {
foreach ($belumbayar as $key => $dt) {
// dd($dt);
$tic = $dt->kode_tiket;
$tiket = Tiket::where('kode', $tic)->first();
if (!$tiket == null) {
......
......@@ -100,43 +100,53 @@ class RekapWController extends Controller
public function sortp(Request $request)
{
// dd($request);
date_default_timezone_set('Asia/Jakarta');
$tempat = Tempat::where('user_id', Auth::user()->petugas_id)->where('status', '1')->first();
$id_tempat = $tempat->id;
$default = $request->daterange;
// dd($default);
$startDate = Str::before($request->daterange, ' -');
$endDate = Str::after($request->daterange, '- ');
// $a = $startDate->date('d-m-Y');
$tgl_a = date('d F Y', strtotime($startDate));
$tgl_b = date('d F Y', strtotime($endDate));
// dd($tgl_a);
switch ($request->submit) {
case 'table':
$data = Detail_transaksi::get()
->where('tempat_id', $id_tempat)
->where('kedatangan', 1)
->where('status', 1)
->whereBetween('tanggal_a', [$startDate, $endDate]);
$total = 0;
$count = 0;
foreach ($data as $ct => $val) {
$count += 1;
$total += $val->harga;
if ($request->kategori == "villa") {
$data = Detail_transaksi::get()
->where('tempat_id', $id_tempat)
->where('kategori', 'villa')
->whereBetween('tanggal_a', [$startDate, $endDate]);
$total = 0;
$count = 0;
foreach ($data->where('status', 3) as $ct => $val) {
$count += 1;
$total += $val->harga;
}
foreach (Detail_transaksi::where('kategori', 'villa')->get() as $d)
return view('penginapan.rekap_penginapan', compact('tgl_a', 'tgl_b', 'data', 'count', 'default', 'total', 'd'));
}
if ($request->kategori == "penginapan") {
$data = Detail_transaksi::get()
->where('tempat_id', $id_tempat)
->where('kategori', 'penginapan')
->where('kedatangan', 1)
->where('status', 1)
->whereBetween('tanggal_a', [$startDate, $endDate]);
$total = 0;
$count = 0;
foreach ($data as $ct => $val) {
$count += 1;
$total += $val->harga;
}
foreach (Detail_transaksi::where('kategori', 'penginapan')->get() as $d)
return view('penginapan.rekap_penginapan', compact('tgl_a', 'tgl_b', 'data', 'count', 'default', 'total', 'd'));
break;
}
return view('penginapan.rekap', compact('tgl_a', 'tgl_b', 'data', 'count', 'default', 'total'));
break;
case 'download':
$data = Tiket::get()
// ->where('poli_id', auth()->user()->id)
->where('status', 1)
->whereBetween('date', [$startDate, $endDate]);
return Excel::download(new RekapExport(), 'rekap.xlsx');
break;
}
}
......@@ -458,7 +468,7 @@ class RekapWController extends Controller
}
return view('admin.booking.printrekap_event', compact('tempat', 'tgl_a', 'tgl_b', 'data', 'count', 'total'));
}
public function print_Villa(Request $request, $date)
public function rekap_villa(Request $request, $date)
{
$startDate = Str::before($request->date, ' -');
$endDate = Str::after($request->date, '- ');
......@@ -471,10 +481,30 @@ class RekapWController extends Controller
->whereBetween('tanggal_a', [$startDate, $endDate]);
$total = 0;
$count = 0;
foreach ($data as $ct => $val) {
foreach ($data->where('status', 3) as $ct => $val) {
$count += 1;
$total += $val->harga;
}
return view('admin.booking.printrekap_tempat', compact('tempat', 'tgl_a', 'tgl_b', 'data', 'count', 'total'));
}
public function rekap_hotel(Request $request, $date)
{
$startDate = Str::before($request->date, ' -');
$endDate = Str::after($request->date, '- ');
$tempat = Tempat::where('user_id', Auth::user()->petugas_id)->where('status', '1')->first();
$tgl_a = date('d F Y', strtotime($startDate));
$tgl_b = date('d F Y', strtotime($endDate));
$data = Detail_transaksi::get()
->where('tempat_id', $tempat->id)
->where('kedatangan', 1)
->where('status', 1)
->whereBetween('tanggal_a', [$startDate, $endDate]);
$total = 0;
$count = 0;
foreach ($data as $ct => $val) {
$count += 1;
$total += $val->harga;
}
return view('penginapan.printrekap', compact('tempat', 'tgl_a', 'tgl_b', 'data', 'count', 'total'));
}
}
public/images/1C5jFiyuDpJI7tT0OWHpYmsufM98SZbxIXMoRJbE.jpg

143 KB

public/images/9wNde8cfJFpFQqre7NDNGFacSJXeKJiWhNxAyAWG.jpg

48.6 KB

public/images/Cvpk5uhmMJEbKrf0mMYb1ksF6geHfpI1vuuzOVbB.jpg

132 KB

public/images/dMKE5v8tFBOcEBjZGmvRMF5chWcHil5H5CeF4zUl.jpg

48.6 KB

public/images/oGKSJOYeo0mVIsCq2mFZ14SaehNpAUluiax3qLhp.jpg

2.12 MB

public/images/uFi1VdpvRiBbeff73g2FXgFPJGORLUI9kSPUi3AS.png

470 KB

......@@ -90,14 +90,7 @@
@endphp
@if (!$pay == null)
@if ($pay->status_message == 'settlement')
Berhasil Dibayar,
@if ($data->status == 1)
Belum Check In
@elseif ($data->status == 2)
Belum Check Out
@elseif ($data->status == 3)
Selesai
@endif
Berhasil Dibayar
@elseif ($pay->status_message == 'pending')
Menunggu Dibayar
@elseif ($pay->status_message == 'expire')
......
......@@ -51,9 +51,12 @@
<i class="fas fa-calendar"></i>
</div>
</div>
<select class="form-select" name="kategori">
<option value="penginapan">Hotel</option>
<option value="villa">Villa</option>
</select>
<input type="text" class="form-control" id="daterange" name="daterange" />
<button class="btn btn-success" type="submit" name="submit" value="table">Search</button>
{{-- <button class="btn btn-primary" type="submit" name="submit" value="download">Export All</button> --}}
</div>
</div>
</form>
......
@extends('admin.layouts2.master')
@section('title', 'Rekap Data')
@section('content')
<header class="mb-3">
<a href="#" class="burger-btn d-block d-xl-none">
<i class="bi bi-justify fs-3"></i>
</a>
</header>
<script type="text/javascript" src="https://cdn.jsdelivr.net/jquery/latest/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/momentjs/latest/moment.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css" />
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.24/css/jquery.dataTables.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/1.7.0/css/buttons.dataTables.min.css">
<link rel="stylesheet" href="{{ asset('assets/vendors/simple-datatables/style.css') }}">
<script type="text/javascript" src="https://cdn.jsdelivr.net/jquery/latest/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/momentjs/latest/moment.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css" />
<div class="page-heading">
<div class="page-title">
<div class="row">
<div class="col-12 col-md-6 order-md-1 order-last">
<h3>Rekap Data Pemesanan</h3>
<p class="text-subtitle text-muted">Halaman untuk merekap data pesanan</p>
<form action="/penginapan/rekapp" method="post">
@csrf
<div class="form-group">
<h6>Range Waktu</h6>
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text">
<i class="fas fa-calendar"></i>
</div>
</div>
<select class="form-select" name="kategori">
<option value="penginapan">Hotel</option>
<option value="villa">Villa</option>
</select>
<input type="text" class="form-control" id="daterange" name="daterange" />
<button class="btn btn-success" type="submit" name="submit" value="table">Search</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
@isset($data)
<div class="card">
<div class="card-body">
<div class="card-header">
<h6> Data Rekap </h6>{{ $tgl_a }} Sampai {{ $tgl_b }} ({{ $count }} Pesanan Selesai)
<br>
Total Dana Selesai Rp. {{ number_format($total) }}
<br>
<br>
@if ($d->kategori == 'penginapan')
<a href="/penginapan/rekap/hotel/print/{{ $default }}"
onclick="return confirm('Mau di Print ?')"><i class="fas fa-print" style="font-size: 30px;"
target="blank"></i></span>
@elseif ($d->kategori == 'villa')
<a href="/penginapan/rekap/villa/print/{{ $default }}"
onclick="return confirm('Mau di Print ?')"><i class="fas fa-print" style="font-size: 30px;"
target="blank"></i></span>
</a>
@endif
&nbsp; &nbsp;
</div>
<div class="card-body table-responsive p-0">
<table class="table table-bordered" id="rekaps">
<thead>
<tr>
<th>#</th>
<th>Kode</th>
<th>User</th>
<th>Nama</th>
<th>Guest</th>
<th>Biaya</th>
<th>Status</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($data as $data)
<tr>
<td>
{{ $i++ }}
</td>
<td>
{{ $data->booking_id }}
</td>
<td>
{{ App\Models\User::where('id', $data->user_id)->pluck('name')->first() }}
</td>
<td>
{{ $data->name }}
</td>
<td>
{{ $data->jumlah }}
</td>
<td>
Rp. {{ number_format($data->harga) }}
</td>
<td>
@php
$pay = App\Models\Pay::where('kodeku', $data->kode_tiket)->first();
@endphp
@if (!$pay == null)
@if ($pay->status_message == 'settlement')
<button class="btn disabled btn-primary"> Berhasil Dibayar</button>
@elseif ($pay->status_message == 'pending')
<button class="btn disabled btn-warning"> Menunggu Dibayar</button>
@elseif ($pay->status_message == 'expire')
<button class="btn disabled btn-danger"> Expire</button>
@elseif ($pay->status_message == 'cancel')
<button class="btn disabled btn-danger"> Dibatalkan</button>
@endif
@else
<button class="btn disabled btn-warning"> Belum Membayar</button>
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
@endisset
<!-- DataTables -->
<script src="{{ url('vendor/datatables/jquery.dataTables.js') }}"></script>
<script src="{{ url('vendor/datatables-bs4/js/dataTables.bootstrap4.js') }}"></script>
<script src="https://cdn.datatables.net/buttons/1.6.1/js/dataTables.buttons.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.6.1/js/buttons.colVis.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.6.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/buttons/1.6.1/js/buttons.print.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.53/vfs_fonts.js"></script>
<script>
$(document).ready(function() {
var table = $('#rekaps').DataTable({
pageLength: 10,
processing: true,
serverSide: false,
dom: 'Blfrtip',
buttons: [{
extend: 'colvis',
postfixButtons: ['colvisRestore']
},
{
extend: 'copy',
text: '<i class="far fa-copy"></i> Copy'
},
{
extend: 'excel',
text: '<i class="far fa-file-excel"></i> Excel',
title: 'Rekap Excel'
},
{
extend: 'pdf',
text: '<i class="far fa-file-pdf"></i> Pdf',
title: 'Rekap PDF'
},
{
extend: 'csv',
text: '<i class="fas fa-file-csv"></i> CSV',
title: 'Rekap CSV'
},
{
extend: 'print',
text: '<i class="fas fa-print"></i> Print'
}
]
});
});
</script>
<script type="text/javascript">
$(function() {
var start = moment().subtract(29, 'days');
var end = moment();
function cb(start, end) {
$('#daterange span').html(start.format('MMMM D, YYYY') + ' - ' + end.format('MMMM D, YYYY'));
}
$('#daterange').daterangepicker({
format: 'YYYY-MM-DD',
startDate: start,
endDate: end,
ranges: {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1,
'month').endOf('month')]
}
}, cb);
cb(start, end);
$('#daterange').on('apply.daterangepicker', function(ev, picker) {
$(this).val(picker.startDate.format('YYYY-MM-DD') + ' - ' + picker.endDate.format(
'YYYY-MM-DD'));
});
});
</script>
@endsection
......@@ -273,6 +273,9 @@ Route::group([
Route::get('/rekapp', [RekapWController::class, 'rekappenginapan'])->name('rekapp.index');
Route::post('/rekapp', [RekapWController::class, 'sortp']);
Route::get('/rekapp/print/{date}', [RekapWController::class, 'printpenginapan'])->name('print.rekapp');
Route::get('/rekap/hotel/print/{date}', [RekapWController::class, 'rekap_hotel']);
Route::get('/rekap/villa/print/{date}', [RekapWController::class, 'rekap_villa']);
Route::patch('/update/datap/tempat{id}', [ATFController::class, 'updatepenginapan'])->name('update.data.tempat.penginapan');
Route::get('/jadwalkamar', [JadwalKamarController::class, 'index'])->name('jadwalkamar.index');
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment