diff --git a/app/Services/DashboardService.php b/app/Services/DashboardService.php
index eeefaab..2443207 100644
--- a/app/Services/DashboardService.php
+++ b/app/Services/DashboardService.php
@@ -3,7 +3,9 @@
namespace Modules\Lpj\Services;
use Modules\Lpj\Models\Laporan;
-
+use Modules\Lpj\Models\Noc;
+use Modules\Lpj\Models\Permohonan;
+ use Illuminate\Support\Facades\DB;
class DashboardService
{
public function getDashboardData($start_date, $end_date)
@@ -11,11 +13,13 @@ class DashboardService
$countLpjInternal = $this->getTotalLpjInternal($start_date, $end_date);
$countLpjExternal = $this->getTotalLpjEksternal($start_date, $end_date);
$countResume = $this->getResumeCabang($start_date, $end_date);
+ $countPendapatan = $this->getPendapatanAppraisal($start_date, $end_date);
return [
'count_lpj_internal' => $countLpjInternal,
'count_lpj_eksternal' => $countLpjExternal,
- 'count_resume' => $countResume
+ 'count_resume' => $countResume,
+ 'count_pendapatan' => $countPendapatan
];
}
@@ -43,12 +47,16 @@ class DashboardService
$totalLaporan = Laporan::whereBetween('created_at', [$start_date, $end_date])
->count();
+ $totalDebitur = Permohonan::whereBetween('created_at', [$start_date, $end_date])
+ ->where('status', 'done')
+ ->distinct()
+ ->count('debiture_id');
$data[$month][$region] = [
'total_laporan' => $totalLaporan,
- 'total_debiture' => 20,
+ 'total_debiture' => $totalDebitur,
];
}
}
@@ -58,11 +66,37 @@ class DashboardService
- public function getPendapatanAppraisal()
- {
-
+ public function getPendapatanAppraisal($start_date, $end_date)
+{
+ $months = $this->getMonthly();
+ $data = [];
+
+ foreach ($months as $index => $month) {
+ $monthNumber = $index + 1;
+
+ if ($monthNumber > now()->month) {
+ // Bulan belum terjadi
+ $data[$month] = [
+ 'total_jumlah' => 0,
+ 'total_akumulasi' => 0,
+ ];
+ } else {
+ // Hitung jumlah nominal_bayar pada bulan ini
+ $totalJumlah = Noc::whereYear('tanggal_pembayaran', now()->year)
+ ->whereMonth('tanggal_pembayaran', $monthNumber)
+ ->sum('nominal_bayar');
+
+
+ $data[$month] = [
+ 'total_jumlah' => $totalJumlah,
+ 'total_akumulasi' => $totalJumlah,
+ ];
+ }
}
+ return $data;
+}
+
public function getResumeCabang($start_date, $end_date)
{
$regions = $this->getRegion();
@@ -72,7 +106,12 @@ class DashboardService
foreach ($status as $item) {
$data[$item] = [];
foreach ($regions as $region) {
- $totalLaporan = Laporan::where('created_at', '>=', $start_date)->where('created_at', '<=', $end_date)->count();
+ $totalLaporan = DB::table('laporan')
+ ->join('permohonan', 'laporan.permohonan_id', '=', 'permohonan.id')
+ ->where('permohonan.status', $item)
+ ->whereBetween('laporan.created_at', [$start_date, $end_date])
+ ->count();
+
$data[$item][$region] = [
'count_report' => $totalLaporan,
];
@@ -95,9 +134,15 @@ class DashboardService
];
} else {
$totalLaporan = Laporan::where('created_at', '>=', $start_date)->where('created_at', '<=', $end_date)->count();
+
+ $totalDebitur = Permohonan::whereBetween('created_at', [$start_date, $end_date])
+ ->where('status', 'done')
+ ->distinct()
+ ->count('debiture_id');
+
$data[$month] = [
'total_laporan' => $totalLaporan,
- 'total_debiture' => 20,
+ 'total_debiture' => $totalDebitur,
];
}
}
diff --git a/module.json b/module.json
index 3b35f65..fc81e7f 100644
--- a/module.json
+++ b/module.json
@@ -129,7 +129,7 @@
]
}, {
"title": "Laporan Biaya Lpj",
- "path": "",
+ "path": "laporan-biaya",
"icon": "ki-filled ki-filter-tablet text-lg text-primary",
"classes": "",
"attributes": [],
@@ -179,6 +179,58 @@
]
}
]
+ },{
+ "title": "Laporan Debitur",
+ "path": "laporan-debiture",
+ "icon": "ki-filled ki-filter-tablet text-lg text-primary",
+ "classes": "",
+ "attributes": [],
+ "permission": "",
+ "roles": [
+ "administrator",
+ "senior-officer"
+ ]
+ },
+ {
+ "title": "Laporan User",
+ "path": "laporan-user",
+ "icon": "ki-filled ki-filter-tablet text-lg text-primary",
+ "classes": "",
+ "attributes": [],
+ "permission": "",
+ "roles": [
+ "administrator",
+ "senior-officer"
+ ]
+ },
+ {
+ "title": "Laporan Monitoring so",
+ "path": "laporan-monitoring",
+ "icon": "ki-filled ki-filter-tablet text-lg text-primary",
+ "classes": "",
+ "attributes": [],
+ "permission": "",
+ "roles": [
+ "administrator",
+ "senior-officer"
+ ]
+ },
+ {
+ "title": "Laporan SLA Penilai",
+ "path": "laporan-sla-penilai",
+ "icon": "ki-filled ki-filter-tablet text-lg text-primary",
+ "classes": "",
+ "attributes": [],
+ "permission": "",
+ "roles": [
+ "administrator",
+ "pemohon-ao",
+ "pemohon-eo",
+ "admin",
+ "DD Appraisal",
+ "EO Appraisal",
+ "senior-officer"
+ ]
}
],
"otorisator": [
diff --git a/resources/views/dashboard/index.blade.php b/resources/views/dashboard/index.blade.php
index 8fb0a68..5b71ae7 100644
--- a/resources/views/dashboard/index.blade.php
+++ b/resources/views/dashboard/index.blade.php
@@ -18,7 +18,9 @@
-
+
@@ -100,7 +102,45 @@
-
+
+
+
+ |
+ Bulan
+ |
+
+ Jumlah
+ |
+
+ Akumulasi
+ |
+
+
+
+ @foreach ($dashboard['count_pendapatan'] as $month => $data)
+
+
+ |
+ {{ ucfirst($month) }}
+ |
+
+
+
+ {{ $data['total_jumlah'] ?? '-' }}
+ |
+
+
+
+ {{ $data['total_akumulasi'] ?? '-' }}
+ |
+
+ @endforeach
+
+
+
@@ -249,121 +289,5 @@
}
-
@endsection
diff --git a/resources/views/laporan-debiture/index.blade.php b/resources/views/laporan-debiture/index.blade.php
index f6577c3..3b36763 100644
--- a/resources/views/laporan-debiture/index.blade.php
+++ b/resources/views/laporan-debiture/index.blade.php
@@ -1,7 +1,7 @@
@extends('layouts.main')
@section('breadcrumbs')
- {{-- {{ Breadcrumbs::render('laporan-hasil-penilaian-jaminan-internal-external') }} --}}
+ {{ Breadcrumbs::render('laporan-debiture') }}
@endsection
@section('content')
diff --git a/resources/views/laporan-monitoring/index.blade.php b/resources/views/laporan-monitoring/index.blade.php
index e1ebf08..95ad19e 100644
--- a/resources/views/laporan-monitoring/index.blade.php
+++ b/resources/views/laporan-monitoring/index.blade.php
@@ -1,7 +1,7 @@
@extends('layouts.main')
@section('breadcrumbs')
- {{-- {{ Breadcrumbs::render('laporan-hasil-penilaian-jaminan-internal-external') }} --}}
+ {{ Breadcrumbs::render('laporan-monitoring') }}
@endsection
@section('content')
diff --git a/resources/views/laporan-monitoring/show.blade.php b/resources/views/laporan-monitoring/show.blade.php
index fad82ae..ca836b7 100644
--- a/resources/views/laporan-monitoring/show.blade.php
+++ b/resources/views/laporan-monitoring/show.blade.php
@@ -1,7 +1,7 @@
@extends('layouts.main')
@section('breadcrumbs')
- {{-- {{ Breadcrumbs::render('laporan-hasil-penilaian-jaminan-internal-external') }} --}}
+ {{ Breadcrumbs::render(request()->route()->getName()) }}
@endsection
@section('content')
diff --git a/resources/views/laporan-sla-penilai/index.blade.php b/resources/views/laporan-sla-penilai/index.blade.php
index 09a9b90..1515a15 100644
--- a/resources/views/laporan-sla-penilai/index.blade.php
+++ b/resources/views/laporan-sla-penilai/index.blade.php
@@ -1,7 +1,7 @@
@extends('layouts.main')
@section('breadcrumbs')
- {{-- {{ Breadcrumbs::render('laporan-penilaian-jaminan') }} --}}
+ {{ Breadcrumbs::render('laporan-sla-penilai') }}
@endsection
@section('content')
diff --git a/resources/views/laporan-user/index.blade.php b/resources/views/laporan-user/index.blade.php
index a9a9771..5f2e629 100644
--- a/resources/views/laporan-user/index.blade.php
+++ b/resources/views/laporan-user/index.blade.php
@@ -1,7 +1,7 @@
@extends('layouts.main')
@section('breadcrumbs')
- {{-- {{ Breadcrumbs::render('laporan-hasil-penilaian-jaminan-internal-external') }} --}}
+ {{ Breadcrumbs::render('laporan-user') }}
@endsection
@section('content')
diff --git a/routes/breadcrumbs.php b/routes/breadcrumbs.php
index 57a0d01..cb3e4b0 100644
--- a/routes/breadcrumbs.php
+++ b/routes/breadcrumbs.php
@@ -761,5 +761,26 @@ Breadcrumbs::for('rekap-harian-so', function ($trail) {
$trail->push('Rekap Harian');
});
+
+Breadcrumbs::for('laporan-user', function ($trail) {
+ $trail->push('Laporan User Pemohonan', route('laporan-user.index'));
+});
+
+Breadcrumbs::for('laporan-monitoring', function ($trail) {
+ $trail->push('Laporan Monitoring', route('laporan-monitoring.index'));
+});
+
+Breadcrumbs::for('laporan-monitoring.show', function ($trail) {
+ $trail->parent('laporan-monitoring');
+ $trail->push('Detail');
+});
+
+Breadcrumbs::for('laporan-debiture', function ($trail) {
+ $trail->push('Laporan Debiture', route('laporan-debiture.index'));
+});
+
+Breadcrumbs::for('laporan-sla-penilai', function ($trail) {
+ $trail->push('Laporan SLA Penilai', route('laporan-sla-penilai.index'));
+});
// add andy
require __DIR__ . '/breadcrumbs_registrasi.php';
diff --git a/routes/web.php b/routes/web.php
index 16b56c0..76e0df1 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -46,6 +46,12 @@ use Modules\Lpj\Http\Controllers\TujuanPenilaianKJPPController;
use Modules\Lpj\Http\Controllers\LaporanPenilaiJaminanController;
use Modules\Lpj\Http\Controllers\RekapHarianSoController;
use Modules\Lpj\Http\Controllers\LaporanBiayaInternalExternalController;
+use Modules\Lpj\Http\Controllers\LaporanMonitoringSoController;
+use Modules\Lpj\Http\Controllers\LaporanDebitureController;
+use Modules\Lpj\Http\Controllers\LaporanUserController;
+use Modules\Lpj\Http\Controllers\LaporanSLAPenilaiController;
+
+
// use Modules\Lpj\Http\Controllers\ActivityController;
@@ -725,13 +731,40 @@ Route::middleware(['auth'])->group(function () {
Route::get('/', [LaporanHasilPenilaianJaminanInternalExternalController::class, 'index'])->name('index');
});
+ // rekap harian so
Route::resource('rekap-harian-so', RekapHarianSoController::class);
+ // laporan biaya
Route::prefix('laporan-biaya')->name('laporan-biaya.')->group(function () {
Route::get('internal', [LaporanBiayaInternalExternalController::class, 'showLaporanBiayaInternal'])->name('internal.index');
Route::get('external', [LaporanBiayaInternalExternalController::class, 'showLaporanBiayaExternal'])->name('external.index');
-});
+ });
+ // laporan user
+ Route::prefix('laporan-user')->name('laporan-user.')->group(function () {
+ Route::get('/', [LaporanUserController::class, 'index'])->name('index');
+ Route::get('api/user-pemohon', [LaporanUserController::class, 'searchUserPemohon'])->name('api.user-pemohon');
+ Route::get('datatables', [LaporanUserController::class, 'dataTableForUserPemohon'])->name('datatables');
+ });
+
+ // laporan monitoring
+ Route::prefix('laporan-monitoring')->name('laporan-monitoring.')->group(function () {
+ Route::get('/', [LaporanMonitoringSoController::class, 'index'])->name('index');
+ Route::get('/{id}/detail', [LaporanMonitoringSoController::class, 'show'])->name('show');
+ Route::get('datatables/{id}', [LaporanMonitoringSoController::class, 'dataForDatatablePenilai'])->name('datatables');
+ });
+
+ // laporan debiture
+ Route::prefix('laporan-debiture')->name('laporan-debiture.')->group(function () {
+ Route::get('/', [LaporanDebitureController::class, 'index'])->name('index');
+ Route::get('datatables', [LaporanDebitureController::class, 'dataTableForDebiture'])->name('datatables');
+ });
+
+ // laporan sla
+ Route::prefix('laporan-sla-penilai')->name('laporan-sla-penilai.')->group(function () {
+ Route::get('/', [LaporanSLAPenilaiController::class, 'index'])->name('index');
+ Route::get('datatables', [LaporanSLAPenilaiController::class, 'dataForDatatableSLaPenilai'])->name('datatables');
+ });
});