revisi jumlahpetani

This commit is contained in:
2026-08-19 01:57:52 +07:00
parent 8fbf68e6ef
commit 530c297b53
5 changed files with 26 additions and 8 deletions
@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Web\Dashboard;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Gate;
use App\Models\Pertanian\Petani; use App\Models\Pertanian\Petani;
use App\Models\Pertanian\Komoditas; use App\Models\Pertanian\Komoditas;
@@ -15,6 +16,10 @@ class DemografiPetaniController extends Controller
{ {
public function index(Request $request) public function index(Request $request)
{ {
if (!Gate::any(['super_admin', 'admin', 'fasilitator'])) {
abort(403);
}
$petaniCounts = Petani::selectRaw(" $petaniCounts = Petani::selectRaw("
COUNT(*) as total, COUNT(*) as total,
COUNT(*) FILTER (WHERE jenis_kelamin = true) as laki, COUNT(*) FILTER (WHERE jenis_kelamin = true) as laki,
@@ -103,7 +103,8 @@ class IndikatorPertanianController extends Controller
private function summaryData(array $filters): array private function summaryData(array $filters): array
{ {
$totalPetani = $this->applyPetaniFilters(Petani::query(), $filters)->count(); $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 $rataRataLuasLahan = $totalPetani > 0
? $totalLuasLahan / $totalPetani ? $totalLuasLahan / $totalPetani
: 0; : 0;
@@ -63,7 +63,8 @@ class SurveyPetaniController extends Controller
->orderByDesc('petani_count') ->orderByDesc('petani_count')
->get(); ->get();
$totalPetani = (int) $komoditasCollection->sum('petani_count'); // $totalPetani = (int) $komoditasCollection->sum('petani_count');
$totalPetani = Petani::count();
$circumference = 2 * pi() * 46; $circumference = 2 * pi() * 46;
$komoditas = $komoditasCollection $komoditas = $komoditasCollection
@@ -144,8 +145,9 @@ class SurveyPetaniController extends Controller
// Ringkasan lahan // Ringkasan lahan
$totalLuasLahan = ((float) Lahan::query() // $totalLuasLahan = ((float) Lahan::query()
->sum('luas_lahan')) / 10000; // ->sum('luas_lahan')) / 10000;
$totalLuasLahan = Lahan::has('petani')->sum('luas_lahan');
// Jumlah tanaman berdasarkan komoditas petani // Jumlah tanaman berdasarkan komoditas petani
@@ -124,6 +124,9 @@ $mapDesaSegmentasi = $segmentasiByDesa->map(function ($segmentasi, $desaId) use
<h4 class="mb-0">{{ number_format($sumLahan, 2, ',', '.') }} ha</h4> <h4 class="mb-0">{{ number_format($sumLahan, 2, ',', '.') }} ha</h4>
</div> </div>
<p class="mb-1">Total Luas Lahan</p> <p class="mb-1">Total Luas Lahan</p>
@php
$avgLahan = $sumLahan / $countPetani;
@endphp
<p class="mb-0"> <p class="mb-0">
<small class="text-body-warning">rata-rata</small> <small class="text-body-warning">rata-rata</small>
<span class="text-heading fw-medium">{{ number_format($avgLahan, 2, ',', '.') }}</span> <span class="text-heading fw-medium">{{ number_format($avgLahan, 2, ',', '.') }}</span>
+11 -4
View File
@@ -55,7 +55,7 @@
<li class="menu-item active open"> <li class="menu-item active open">
<a href="javascript:void(0);" class="menu-link menu-toggle"> <a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon icon-base ti tabler-smart-home"></i> <i class="menu-icon icon-base ti tabler-smart-home"></i>
<div data-i18n="Dashboards">Dashboards</div> <div data-i18n="Dashboard">Dashboard</div>
</a> </a>
@if(in_array($userRole, ['super_admin', 'admin']) && env('APP_NAME') == 'AgroMonev') @if(in_array($userRole, ['super_admin', 'admin']) && env('APP_NAME') == 'AgroMonev')
@@ -69,6 +69,13 @@
@endif @endif
@if(in_array($userRole, ['super_admin', 'admin']) && env('APP_NAME') == 'AgroMonev') @if(in_array($userRole, ['super_admin', 'admin']) && env('APP_NAME') == 'AgroMonev')
<ul class="menu-sub">
<li class="menu-item {{ request()->routeIs('dashboard.indeks-petani') ? 'active' : '' }}">
<a href="{{ route('dashboard.indeks-petani') }}" class="menu-link">
<div data-i18n="Indeks Petani">Indeks Petani</div>
</a>
</li>
</ul>
<ul class="menu-sub"> <ul class="menu-sub">
<li class="menu-item {{ request()->routeIs('dashboard.demografi-petani') ? 'active' : '' }}"> <li class="menu-item {{ request()->routeIs('dashboard.demografi-petani') ? 'active' : '' }}">
<a href="{{ route('dashboard.demografi-petani') }}" class="menu-link"> <a href="{{ route('dashboard.demografi-petani') }}" class="menu-link">
@@ -93,15 +100,15 @@
</a> </a>
</li> </li>
</ul> </ul>
<ul class="menu-sub"> <!-- <ul class="menu-sub">
<li class="menu-item {{ request()->routeIs('dashboard.petani') ? 'active' : '' }}"> <li class="menu-item {{ request()->routeIs('dashboard.petani') ? 'active' : '' }}">
<a href="{{ route('dashboard.petani') }}" class="menu-link"> <a href="{{ route('dashboard.petani') }}" class="menu-link">
<div data-i18n="Profil Petani">Profil Petani</div> <div data-i18n="Profil Petani">Profil Petani</div>
</a> </a>
</li> </li>
</ul> </ul> -->
@endif @endif
@if(in_array($userRole, ['super_admin', 'admin']) && env('APP_NAME') == 'AgroMonev') @if(in_array($userRole, ['super_admin', 'admin']) && env('APP_NAME') == 'AgroMonev-xx')
<ul class="menu-sub"> <ul class="menu-sub">
<li class="menu-item {{ request()->routeIs('dashboard.bumdes') ? 'active' : '' }}"> <li class="menu-item {{ request()->routeIs('dashboard.bumdes') ? 'active' : '' }}">
<a href="{{ route('dashboard.bumdes') }}" class="menu-link"> <a href="{{ route('dashboard.bumdes') }}" class="menu-link">