From 6b44c11181cc5877aa29607580c8f7206753033b Mon Sep 17 00:00:00 2001 From: Irwan Cahyono Date: Wed, 15 Jul 2026 11:44:38 +0700 Subject: [PATCH 1/2] header dan index --- .../Web/Produktivitas/PetaniController.php | 27 +++++++++++++++- ...26_07_15_110145_update_komoditas_table.php | 25 +++++++++++++++ .../views/components/summary-card.blade.php | 2 +- .../produktivitas/petani/header.blade.php | 8 ++--- .../produktivitas/petani/index.blade.php | 32 +++++++++++++++++++ 5 files changed, 88 insertions(+), 6 deletions(-) create mode 100644 database/migrations/2026_07_15_110145_update_komoditas_table.php diff --git a/app/Http/Controllers/Web/Produktivitas/PetaniController.php b/app/Http/Controllers/Web/Produktivitas/PetaniController.php index 6a176fd..92a99ef 100644 --- a/app/Http/Controllers/Web/Produktivitas/PetaniController.php +++ b/app/Http/Controllers/Web/Produktivitas/PetaniController.php @@ -15,6 +15,9 @@ use App\Models\Wilayah\Provinsi; use App\Models\Pertanian\Petani; use App\Models\Wilayah\DesaKelurahan; use App\Models\Pertanian\Komoditas; +use App\Models\Pertanian\Tanaman; +use App\Models\Pertanian\Lahan; +use App\Models\Pertanian\SkorPetani; use App\Enums\Pendidikan; use App\Enums\Pekerjaan; @@ -49,7 +52,29 @@ class PetaniController extends Controller $petani = $query->paginate($request->per_page ?? 10); - return view('produktivitas.petani.index', compact('petani', 'provinsi')); + $komoditas = Komoditas::where('is_utama', true)->get(); + $lahan = Lahan::whereIn('petani_id', $petani->pluck('id')) + ->whereIn('komoditas_id', $komoditas->pluck('id')) + ->get(); + $tanaman = Tanaman::whereIn('lahan_id', $lahan->pluck('id')) + ->whereIn('lahan_id', $lahan->pluck('id')) + ->get(); + + $case = " + CASE + WHEN skor_kesiapan_adopsi >= 4.0 THEN 'Penggerak' + WHEN skor_kesiapan_adopsi >= 3.0 THEN 'Perintis' + WHEN skor_kesiapan_adopsi >= 2.0 THEN 'Pemerhati' + WHEN skor_kesiapan_adopsi >= 1.0 THEN 'Pemula' + ELSE 'Belum Lengkap' + END + "; + $skor = SkorPetani::selectRaw("$case AS segmen, COUNT(*) AS total") + ->whereIn('petani_id', $petani->pluck('id')) + ->groupByRaw($case) + ->get(); + + return view('produktivitas.petani.index', compact('petani', 'provinsi', 'lahan', 'komoditas', 'tanaman', 'skor')); } public function create() diff --git a/database/migrations/2026_07_15_110145_update_komoditas_table.php b/database/migrations/2026_07_15_110145_update_komoditas_table.php new file mode 100644 index 0000000..41dd782 --- /dev/null +++ b/database/migrations/2026_07_15_110145_update_komoditas_table.php @@ -0,0 +1,25 @@ +boolean('is_utama')->default(false); + }); + } + + public function down(): void + { + Schema::table('master_komoditas', function (Blueprint $table) { + $table->dropColumn('is_utama'); + }); + } +}; diff --git a/resources/views/components/summary-card.blade.php b/resources/views/components/summary-card.blade.php index 901a701..7f5d918 100644 --- a/resources/views/components/summary-card.blade.php +++ b/resources/views/components/summary-card.blade.php @@ -4,7 +4,7 @@

{{ $title }}

-

{{ $count }}

+

{!! $count !!}

{{ $subtitle }}
diff --git a/resources/views/produktivitas/petani/header.blade.php b/resources/views/produktivitas/petani/header.blade.php index ec77916..70b8c67 100644 --- a/resources/views/produktivitas/petani/header.blade.php +++ b/resources/views/produktivitas/petani/header.blade.php @@ -127,7 +127,7 @@
- +
@@ -175,13 +175,13 @@ @if(!is_null($skorPraktik)) {{ $praktik }} @else - Belum isi + Belum terisi @endif

- + @@ -285,7 +285,7 @@ @if(!is_null($aksesPasar?->skor_pengalaman) && !is_null($aksesPasar->skor_kesadaran_premium)) {{ $pengalaman }} @else - Belum isi + Belum terisi @endif

diff --git a/resources/views/produktivitas/petani/index.blade.php b/resources/views/produktivitas/petani/index.blade.php index 33dd94e..33ae852 100644 --- a/resources/views/produktivitas/petani/index.blade.php +++ b/resources/views/produktivitas/petani/index.blade.php @@ -2,6 +2,36 @@ @section('content')
+
+
+ +
+
+ +
+
+ +
+
+
Data Petani
@@ -40,6 +70,7 @@ Jenis Kelamin Usia Desa/Kelurahan + Komoditas Utama Segmentasi Aksi @@ -52,6 +83,7 @@ {{ $item->jenis_kelamin ? 'Laki-laki' : 'Perempuan' }} {{ $item->umur }} tahun {{ $item->desaKelurahan?->nama }}, {{ $item->desaKelurahan?->kecamatan?->nama }}, {{ $item->desaKelurahan?->kecamatan?->kabupatenKota?->nama }}, {{ $item->desaKelurahan?->kecamatan?->kabupatenKota?->provinsi?->nama }} + {{ $item->komoditas?->nama }} @if($item->segmen() == 'Penggerak') Penggerak From 2b3a0b7c58613bb22f39fd164923193d7ecb42b1 Mon Sep 17 00:00:00 2001 From: Irwan Cahyono Date: Wed, 15 Jul 2026 14:05:25 +0700 Subject: [PATCH 2/2] tanggal jqueryvalidation --- resources/views/produktivitas/petani/add.blade.php | 4 ++-- resources/views/produktivitas/petani/edit.blade.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/views/produktivitas/petani/add.blade.php b/resources/views/produktivitas/petani/add.blade.php index 1d53f37..15fbb69 100644 --- a/resources/views/produktivitas/petani/add.blade.php +++ b/resources/views/produktivitas/petani/add.blade.php @@ -329,7 +329,7 @@ ktp: { required: true, digits: true, minlength: 16, maxlength: 16 }, kk: { required: true, digits: true, minlength: 16, maxlength: 16 }, tempat_lahir: { required: true }, - tanggal_lahir: { required: true, date: true }, + tanggal_lahir: { required: true }, jenis_kelamin: { required: true }, pendidikan_terakhir: { required: true }, komoditas_id: { required: true }, @@ -349,7 +349,7 @@ ktp: { required: "NIK wajib diisi", digits: "NIK harus berupa angka", minlength: "NIK harus 16 digit", maxlength: "NIK harus 16 digit" }, kk: { digits: "No. KK harus berupa angka", minlength: "No. KK harus 16 digit", maxlength: "No. KK harus 16 digit" }, tempat_lahir: { required: "Tempat lahir wajib diisi" }, - tanggal_lahir: { required: "Tanggal lahir wajib diisi", date: "Format tanggal salah" }, + tanggal_lahir: { required: "Tanggal lahir wajib diisi" }, jenis_kelamin: { required: "Jenis kelamin wajib diisi" }, pendidikan_terakhir: { required: "Pendidikan terakhir wajib diisi" }, komoditas_id: { required: "Komoditas wajib diisi" }, diff --git a/resources/views/produktivitas/petani/edit.blade.php b/resources/views/produktivitas/petani/edit.blade.php index f7f8c64..cc3dd1b 100644 --- a/resources/views/produktivitas/petani/edit.blade.php +++ b/resources/views/produktivitas/petani/edit.blade.php @@ -334,7 +334,7 @@ ktp: { required: true, digits: true, minlength: 16, maxlength: 16 }, kk: { required: true, digits: true, minlength: 16, maxlength: 16 }, tempat_lahir: { required: true }, - tanggal_lahir: { required: true, date: true }, + tanggal_lahir: { required: true }, jenis_kelamin: { required: true }, pendidikan_terakhir: { required: true }, komoditas_id: { required: true }, @@ -354,7 +354,7 @@ ktp: { required: "NIK wajib diisi", digits: "NIK harus berupa angka", minlength: "NIK harus 16 digit", maxlength: "NIK harus 16 digit" }, kk: { required: "No. KK wajib diisi", digits: "No. KK harus berupa angka", minlength: "No. KK harus 16 digit", maxlength: "No. KK harus 16 digit" }, tempat_lahir: { required: "Tempat lahir wajib diisi" }, - tanggal_lahir: { required: "Tanggal lahir wajib diisi", date: "Format tanggal salah" }, + tanggal_lahir: { required: "Tanggal lahir wajib diisi" }, jenis_kelamin: { required: "Jenis kelamin wajib diisi" }, pendidikan_terakhir: { required: "Pendidikan terakhir wajib diisi" }, alamat: { required: "Alamat wajib diisi" },