diff --git a/app/Http/Controllers/Web/Dashboard/DemografiPetaniController.php b/app/Http/Controllers/Web/Dashboard/DemografiPetaniController.php index b232255..1831b29 100644 --- a/app/Http/Controllers/Web/Dashboard/DemografiPetaniController.php +++ b/app/Http/Controllers/Web/Dashboard/DemografiPetaniController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Web\Dashboard; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Gate; use App\Models\Pertanian\Petani; use App\Models\Pertanian\Komoditas; @@ -15,6 +16,10 @@ class DemografiPetaniController extends Controller { public function index(Request $request) { + if (!Gate::any(['super_admin', 'admin', 'fasilitator'])) { + abort(403); + } + $petaniCounts = Petani::selectRaw(" COUNT(*) as total, COUNT(*) FILTER (WHERE jenis_kelamin = true) as laki, diff --git a/app/Http/Controllers/Web/Dashboard/IndikatorPertanianController.php b/app/Http/Controllers/Web/Dashboard/IndikatorPertanianController.php index 2ee1f22..1279bc3 100644 --- a/app/Http/Controllers/Web/Dashboard/IndikatorPertanianController.php +++ b/app/Http/Controllers/Web/Dashboard/IndikatorPertanianController.php @@ -103,7 +103,8 @@ class IndikatorPertanianController extends Controller private function summaryData(array $filters): array { $totalPetani = $this->applyPetaniFilters(Petani::query(), $filters)->count(); - $totalLuasLahan = ((float) $this->applyLahanFilters(Lahan::query(), $filters)->sum('luas_lahan')) / 10000; + // $totalLuasLahan = ((float) $this->applyLahanFilters(Lahan::query(), $filters)->sum('luas_lahan')) / 10000; + $totalLuasLahan = $this->applyLahanFilters(Lahan::has('petani'), $filters)->sum('luas_lahan'); $rataRataLuasLahan = $totalPetani > 0 ? $totalLuasLahan / $totalPetani : 0; diff --git a/app/Http/Controllers/Web/Dashboard/SurveyPetaniController.php b/app/Http/Controllers/Web/Dashboard/SurveyPetaniController.php index 00886c5..1f1ece3 100644 --- a/app/Http/Controllers/Web/Dashboard/SurveyPetaniController.php +++ b/app/Http/Controllers/Web/Dashboard/SurveyPetaniController.php @@ -63,7 +63,8 @@ class SurveyPetaniController extends Controller ->orderByDesc('petani_count') ->get(); - $totalPetani = (int) $komoditasCollection->sum('petani_count'); + // $totalPetani = (int) $komoditasCollection->sum('petani_count'); + $totalPetani = Petani::count(); $circumference = 2 * pi() * 46; $komoditas = $komoditasCollection @@ -144,8 +145,9 @@ class SurveyPetaniController extends Controller // Ringkasan lahan - $totalLuasLahan = ((float) Lahan::query() - ->sum('luas_lahan')) / 10000; + // $totalLuasLahan = ((float) Lahan::query() + // ->sum('luas_lahan')) / 10000; + $totalLuasLahan = Lahan::has('petani')->sum('luas_lahan'); // Jumlah tanaman berdasarkan komoditas petani diff --git a/resources/views/dashboard/indeks-petani.blade.php b/resources/views/dashboard/indeks-petani.blade.php index 36e4688..55074f5 100644 --- a/resources/views/dashboard/indeks-petani.blade.php +++ b/resources/views/dashboard/indeks-petani.blade.php @@ -124,6 +124,9 @@ $mapDesaSegmentasi = $segmentasiByDesa->map(function ($segmentasi, $desaId) use

{{ number_format($sumLahan, 2, ',', '.') }} ha

Total Luas Lahan

+ @php + $avgLahan = $sumLahan / $countPetani; + @endphp

rata-rata {{ number_format($avgLahan, 2, ',', '.') }} diff --git a/resources/views/layout/sidebar.blade.php b/resources/views/layout/sidebar.blade.php index bcbc985..ddead8d 100644 --- a/resources/views/layout/sidebar.blade.php +++ b/resources/views/layout/sidebar.blade.php @@ -55,7 +55,7 @@