add total statistics
This commit is contained in:
@@ -50,7 +50,7 @@ class FormVehicleController extends Controller
|
|||||||
$request->validate([
|
$request->validate([
|
||||||
'tanggal' => 'required',
|
'tanggal' => 'required',
|
||||||
'liter' => 'required',
|
'liter' => 'required',
|
||||||
'harga' => 'required',
|
'total' => 'required',
|
||||||
'jarak' => 'required',
|
'jarak' => 'required',
|
||||||
'tipe_bensin' => 'required|in:pertalite,pertamax',
|
'tipe_bensin' => 'required|in:pertalite,pertamax',
|
||||||
'nopol' => 'required',
|
'nopol' => 'required',
|
||||||
@@ -116,7 +116,7 @@ class FormVehicleController extends Controller
|
|||||||
'user_id' => auth()->user()->id,
|
'user_id' => auth()->user()->id,
|
||||||
'tanggal' => $request->tanggal,
|
'tanggal' => $request->tanggal,
|
||||||
'liter' => $request->liter,
|
'liter' => $request->liter,
|
||||||
'harga' => $request->harga,
|
'total' => $request->total,
|
||||||
'jarak' => $request->jarak,
|
'jarak' => $request->jarak,
|
||||||
'tipe_bensin' => $request->tipe_bensin,
|
'tipe_bensin' => $request->tipe_bensin,
|
||||||
'nopol' => $request->nopol,
|
'nopol' => $request->nopol,
|
||||||
@@ -125,6 +125,7 @@ class FormVehicleController extends Controller
|
|||||||
'bukti2' => $filePaths['bukti2'] ?? null,
|
'bukti2' => $filePaths['bukti2'] ?? null,
|
||||||
'bukti3' => $filePaths['bukti3'] ?? null,
|
'bukti3' => $filePaths['bukti3'] ?? null,
|
||||||
'account_number' => $kategori->account_number,
|
'account_number' => $kategori->account_number,
|
||||||
|
'status' => 'On Progress',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
session()->flash('success', 'Form has been created.');
|
session()->flash('success', 'Form has been created.');
|
||||||
@@ -153,7 +154,7 @@ class FormVehicleController extends Controller
|
|||||||
$request->validate([
|
$request->validate([
|
||||||
'tanggal' => 'required',
|
'tanggal' => 'required',
|
||||||
'liter' => 'required',
|
'liter' => 'required',
|
||||||
'harga' => 'required',
|
'total' => 'required',
|
||||||
'jarak' => 'required',
|
'jarak' => 'required',
|
||||||
'tipe_bensin' => 'required|in:pertalite,pertamax',
|
'tipe_bensin' => 'required|in:pertalite,pertamax',
|
||||||
'nopol' => 'required',
|
'nopol' => 'required',
|
||||||
@@ -218,7 +219,7 @@ class FormVehicleController extends Controller
|
|||||||
$form->update([
|
$form->update([
|
||||||
'tanggal' => $request->tanggal,
|
'tanggal' => $request->tanggal,
|
||||||
'liter' => $request->liter,
|
'liter' => $request->liter,
|
||||||
'harga' => $request->harga,
|
'total' => $request->total,
|
||||||
'jarak' => $request->jarak,
|
'jarak' => $request->jarak,
|
||||||
'tipe_bensin' => $request->tipe_bensin,
|
'tipe_bensin' => $request->tipe_bensin,
|
||||||
'nopol' => $request->nopol,
|
'nopol' => $request->nopol,
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ class FormVehicleRunningCost extends Model
|
|||||||
'user_id',
|
'user_id',
|
||||||
'tanggal',
|
'tanggal',
|
||||||
'liter',
|
'liter',
|
||||||
'harga',
|
'total',
|
||||||
'jarak',
|
'jarak',
|
||||||
'tipe_bensin',
|
'tipe_bensin',
|
||||||
'nopol',
|
'nopol',
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ return new class extends Migration
|
|||||||
$table->foreignId('user_id')->constrained('admins')->cascadeOnDelete();
|
$table->foreignId('user_id')->constrained('admins')->cascadeOnDelete();
|
||||||
$table->dateTime('tanggal');
|
$table->dateTime('tanggal');
|
||||||
$table->integer('liter');
|
$table->integer('liter');
|
||||||
$table->integer('harga');
|
$table->integer('total');
|
||||||
$table->integer('jarak');
|
$table->integer('jarak');
|
||||||
$table->string('tipe_bensin');
|
$table->string('tipe_bensin');
|
||||||
$table->string('nopol');
|
$table->string('nopol');
|
||||||
|
|||||||
@@ -20,6 +20,48 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<!-- Total Expense -->
|
||||||
|
<div class="col-lg-4 col-6">
|
||||||
|
<div class="small-box bg-info">
|
||||||
|
<div class="inner">
|
||||||
|
<h3>Rp {{ number_format($forms->sum('total'), 0, ',', '.') }}</h3>
|
||||||
|
<p>Total Expense</p>
|
||||||
|
</div>
|
||||||
|
<div class="icon">
|
||||||
|
<i class="fas fa-wallet"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Approved Expense -->
|
||||||
|
<div class="col-lg-4 col-6">
|
||||||
|
<div class="small-box bg-success">
|
||||||
|
<div class="inner">
|
||||||
|
<h3>Rp {{ number_format($forms->where('status', 'Approved')->sum('total'), 0, ',', '.') }}</h3>
|
||||||
|
<p>Approved Expenses</p>
|
||||||
|
</div>
|
||||||
|
<div class="icon">
|
||||||
|
<i class="fas fa-check-circle"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Pending Expense -->
|
||||||
|
<div class="col-lg-4 col-6">
|
||||||
|
<div class="small-box bg-warning">
|
||||||
|
<div class="inner">
|
||||||
|
<h3 class="text-white">Rp {{ number_format($forms->where('status', 'On Progress')->sum('total'), 0, ',', '.') }}</h3>
|
||||||
|
<p class="text-white">Pending Expenses</p>
|
||||||
|
</div>
|
||||||
|
<div class="icon">
|
||||||
|
<i class="fas fa-hourglass-half"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
<section class="content">
|
<section class="content">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="card card-primary card-outline">
|
<div class="card card-primary card-outline">
|
||||||
@@ -190,3 +232,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
@section('scripts')
|
||||||
|
<script>
|
||||||
|
if ($('#dataTable').length) {
|
||||||
|
$('#dataTable').DataTable({ responsive: true });
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
|
|||||||
@@ -20,6 +20,48 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<!-- Total Expense -->
|
||||||
|
<div class="col-lg-4 col-6">
|
||||||
|
<div class="small-box bg-info">
|
||||||
|
<div class="inner">
|
||||||
|
<h3>Rp {{ number_format($forms->sum('total'), 0, ',', '.') }}</h3>
|
||||||
|
<p>Total Expense</p>
|
||||||
|
</div>
|
||||||
|
<div class="icon">
|
||||||
|
<i class="fas fa-wallet"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Approved Expense -->
|
||||||
|
<div class="col-lg-4 col-6">
|
||||||
|
<div class="small-box bg-success">
|
||||||
|
<div class="inner">
|
||||||
|
<h3>Rp {{ number_format($forms->where('status', 'Approved')->sum('total'), 0, ',', '.') }}</h3>
|
||||||
|
<p>Approved Expenses</p>
|
||||||
|
</div>
|
||||||
|
<div class="icon">
|
||||||
|
<i class="fas fa-check-circle"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Pending Expense -->
|
||||||
|
<div class="col-lg-4 col-6">
|
||||||
|
<div class="small-box bg-warning">
|
||||||
|
<div class="inner">
|
||||||
|
<h3 class="text-white">Rp {{ number_format($forms->where('status', 'On Progress')->sum('total'), 0, ',', '.') }}</h3>
|
||||||
|
<p class="text-white">Pending Expenses</p>
|
||||||
|
</div>
|
||||||
|
<div class="icon">
|
||||||
|
<i class="fas fa-hourglass-half"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
<section class="content">
|
<section class="content">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="card card-primary card-outline">
|
<div class="card card-primary card-outline">
|
||||||
@@ -190,3 +232,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
@section('scripts')
|
||||||
|
<script>
|
||||||
|
if ($('#dataTable').length) {
|
||||||
|
$('#dataTable').DataTable({ responsive: true });
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
|
|||||||
@@ -20,6 +20,48 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<!-- Total Expense -->
|
||||||
|
<div class="col-lg-4 col-6">
|
||||||
|
<div class="small-box bg-info">
|
||||||
|
<div class="inner">
|
||||||
|
<h3>Rp {{ number_format($forms->sum('total'), 0, ',', '.') }}</h3>
|
||||||
|
<p>Total Expense</p>
|
||||||
|
</div>
|
||||||
|
<div class="icon">
|
||||||
|
<i class="fas fa-wallet"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Approved Expense -->
|
||||||
|
<div class="col-lg-4 col-6">
|
||||||
|
<div class="small-box bg-success">
|
||||||
|
<div class="inner">
|
||||||
|
<h3>Rp {{ number_format($forms->where('status', 'Approved')->sum('total'), 0, ',', '.') }}</h3>
|
||||||
|
<p>Approved Expenses</p>
|
||||||
|
</div>
|
||||||
|
<div class="icon">
|
||||||
|
<i class="fas fa-check-circle"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Pending Expense -->
|
||||||
|
<div class="col-lg-4 col-6">
|
||||||
|
<div class="small-box bg-warning">
|
||||||
|
<div class="inner">
|
||||||
|
<h3 class="text-white">Rp {{ number_format($forms->where('status', 'On Progress')->sum('total'), 0, ',', '.') }}</h3>
|
||||||
|
<p class="text-white">Pending Expenses</p>
|
||||||
|
</div>
|
||||||
|
<div class="icon">
|
||||||
|
<i class="fas fa-hourglass-half"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
<section class="content">
|
<section class="content">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="card card-primary card-outline">
|
<div class="card card-primary card-outline">
|
||||||
@@ -188,3 +230,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
@section('scripts')
|
||||||
|
<script>
|
||||||
|
if ($('#dataTable').length) {
|
||||||
|
$('#dataTable').DataTable({ responsive: true });
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
|
|||||||
@@ -20,6 +20,48 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<!-- Total Expense -->
|
||||||
|
<div class="col-lg-4 col-6">
|
||||||
|
<div class="small-box bg-info">
|
||||||
|
<div class="inner">
|
||||||
|
<h3>Rp {{ number_format($forms->sum('total'), 0, ',', '.') }}</h3>
|
||||||
|
<p>Total Expense</p>
|
||||||
|
</div>
|
||||||
|
<div class="icon">
|
||||||
|
<i class="fas fa-wallet"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Approved Expense -->
|
||||||
|
<div class="col-lg-4 col-6">
|
||||||
|
<div class="small-box bg-success">
|
||||||
|
<div class="inner">
|
||||||
|
<h3>Rp {{ number_format($forms->where('status', 'Approved')->sum('total'), 0, ',', '.') }}</h3>
|
||||||
|
<p>Approved Expenses</p>
|
||||||
|
</div>
|
||||||
|
<div class="icon">
|
||||||
|
<i class="fas fa-check-circle"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Pending Expense -->
|
||||||
|
<div class="col-lg-4 col-6">
|
||||||
|
<div class="small-box bg-warning">
|
||||||
|
<div class="inner">
|
||||||
|
<h3 class="text-white">Rp {{ number_format($forms->where('status', 'On Progress')->sum('total'), 0, ',', '.') }}</h3>
|
||||||
|
<p class="text-white">Pending Expenses</p>
|
||||||
|
</div>
|
||||||
|
<div class="icon">
|
||||||
|
<i class="fas fa-hourglass-half"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
<section class="content">
|
<section class="content">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="card card-primary card-outline">
|
<div class="card card-primary card-outline">
|
||||||
@@ -190,3 +232,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
@section('scripts')
|
||||||
|
<script>
|
||||||
|
if ($('#dataTable').length) {
|
||||||
|
$('#dataTable').DataTable({ responsive: true });
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
|
|||||||
@@ -40,8 +40,8 @@
|
|||||||
<input type="text" class="form-control" name="liter" required value="{{ old('liter') }}">
|
<input type="text" class="form-control" name="liter" required value="{{ old('liter') }}">
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Harga Bensin</label>
|
<label class="form-label">Total Harga Bensin</label>
|
||||||
<input type="string" class="form-control" name="harga" id="harga" required value="{{ old('harga') }}">
|
<input type="string" class="form-control" name="total" id="total" required value="{{ old('total') }}">
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Jarak</label>
|
<label class="form-label">Jarak</label>
|
||||||
@@ -90,7 +90,7 @@
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
new AutoNumeric('#harga', {
|
new AutoNumeric('#total', {
|
||||||
digitGroupSeparator: '.', // Pemisah ribuan
|
digitGroupSeparator: '.', // Pemisah ribuan
|
||||||
decimalCharacter: ',', // Karakter desimal (tidak digunakan karena tanpa desimal)
|
decimalCharacter: ',', // Karakter desimal (tidak digunakan karena tanpa desimal)
|
||||||
currencySymbol: 'Rp.', // Simbol mata uang
|
currencySymbol: 'Rp.', // Simbol mata uang
|
||||||
|
|||||||
@@ -40,8 +40,8 @@
|
|||||||
<input type="text" class="form-control" name="liter" required value="{{ $form->liter }}">
|
<input type="text" class="form-control" name="liter" required value="{{ $form->liter }}">
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Harga Bensin</label>
|
<label class="form-label">Total Harga Bensin</label>
|
||||||
<input type="string" class="form-control" name="harga" id="harga" required value="{{ $form->harga }}">
|
<input type="string" class="form-control" name="total" id="total" required value="{{ $form->total }}">
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label">Jarak</label>
|
<label class="form-label">Jarak</label>
|
||||||
@@ -88,7 +88,7 @@
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
new AutoNumeric('#harga', {
|
new AutoNumeric('#total', {
|
||||||
digitGroupSeparator: '.', // Pemisah ribuan
|
digitGroupSeparator: '.', // Pemisah ribuan
|
||||||
decimalCharacter: ',', // Karakter desimal (tidak digunakan karena tanpa desimal)
|
decimalCharacter: ',', // Karakter desimal (tidak digunakan karena tanpa desimal)
|
||||||
currencySymbol: 'Rp.', // Simbol mata uang
|
currencySymbol: 'Rp.', // Simbol mata uang
|
||||||
|
|||||||
@@ -20,6 +20,48 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<!-- Total Expense -->
|
||||||
|
<div class="col-lg-4 col-6">
|
||||||
|
<div class="small-box bg-info">
|
||||||
|
<div class="inner">
|
||||||
|
<h3>Rp {{ number_format($forms->sum('total'), 0, ',', '.') }}</h3>
|
||||||
|
<p>Total Expense</p>
|
||||||
|
</div>
|
||||||
|
<div class="icon">
|
||||||
|
<i class="fas fa-wallet"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Approved Expense -->
|
||||||
|
<div class="col-lg-4 col-6">
|
||||||
|
<div class="small-box bg-success">
|
||||||
|
<div class="inner">
|
||||||
|
<h3>Rp {{ number_format($forms->where('status', 'Approved')->sum('total'), 0, ',', '.') }}</h3>
|
||||||
|
<p>Approved Expenses</p>
|
||||||
|
</div>
|
||||||
|
<div class="icon">
|
||||||
|
<i class="fas fa-check-circle"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- Pending Expense -->
|
||||||
|
<div class="col-lg-4 col-6">
|
||||||
|
<div class="small-box bg-warning">
|
||||||
|
<div class="inner">
|
||||||
|
<h3 class="text-white">Rp {{ number_format($forms->where('status', 'On Progress')->sum('total'), 0, ',', '.') }}</h3>
|
||||||
|
<p class="text-white">Pending Expenses</p>
|
||||||
|
</div>
|
||||||
|
<div class="icon">
|
||||||
|
<i class="fas fa-hourglass-half"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
<section class="content">
|
<section class="content">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="card card-primary card-outline">
|
<div class="card card-primary card-outline">
|
||||||
@@ -44,7 +86,7 @@
|
|||||||
<th>Nama</th>
|
<th>Nama</th>
|
||||||
<th>Tanggal</th>
|
<th>Tanggal</th>
|
||||||
<th>Liter</th>
|
<th>Liter</th>
|
||||||
<th>Harga</th>
|
<th>Total</th>
|
||||||
<th>Jarak</th>
|
<th>Jarak</th>
|
||||||
<th>Tipe Bensin</th>
|
<th>Tipe Bensin</th>
|
||||||
<th>Nomor Polisi</th>
|
<th>Nomor Polisi</th>
|
||||||
@@ -69,7 +111,7 @@
|
|||||||
<td>{{ $item->user->name }}</td>
|
<td>{{ $item->user->name }}</td>
|
||||||
<td>{{ \Carbon\Carbon::parse($item->tanggal)->locale('id')->isoFormat('dddd, D MMMM Y HH:mm:ss') }}</td>
|
<td>{{ \Carbon\Carbon::parse($item->tanggal)->locale('id')->isoFormat('dddd, D MMMM Y HH:mm:ss') }}</td>
|
||||||
<td>{{ $item->liter }}</td>
|
<td>{{ $item->liter }}</td>
|
||||||
<td>{{ number_format($item->harga, 0, ',', '.') }}</td>
|
<td>{{ number_format($item->total, 0, ',', '.') }}</td>
|
||||||
<td>{{ $item->jarak }}</td>
|
<td>{{ $item->jarak }}</td>
|
||||||
<td>{{ $item->tipe_bensin }}</td>
|
<td>{{ $item->tipe_bensin }}</td>
|
||||||
<td>{{ $item->nopol }}</td>
|
<td>{{ $item->nopol }}</td>
|
||||||
@@ -192,3 +234,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
@section('scripts')
|
||||||
|
<script>
|
||||||
|
if ($('#dataTable').length) {
|
||||||
|
$('#dataTable').DataTable({ responsive: true });
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
|
|||||||
Reference in New Issue
Block a user