This commit is contained in:
2026-07-14 09:20:46 +07:00
parent c4e3e460b1
commit 5b776b2ae8
6 changed files with 177 additions and 43 deletions
+7 -3
View File
@@ -8,6 +8,10 @@ use Illuminate\Support\Str;
use App\Models\User;
use App\Models\Pertanian\Petani;
use App\Models\Pertanian\SkorPetani;
use App\Enums\AksesPasar\PraktikFermentasi;
use App\Enums\AksesPasar\SaluranTerdahulu;
use App\Enums\AksesPasar\SkorPengalaman;
use App\Enums\AksesPasar\SkorKesadaranPremium;
class AksesPasar extends Model
{
@@ -58,9 +62,9 @@ class AksesPasar extends Model
]);
}
$skor->update([
'skor_d6_k1_6_pengalaman_menjual_ke_saluran_berbeda' => $aksesPasar->skor_pengalaman->value,
'skor_d6_k4_1_kesadaran_akses_pasar_premium' => $aksesPasar->skor_kesadaran_premium->value,
'skor_d6_k5_1_hambatan_mutu' => $aksesPasar->skor_kepercayaan_responden->value
'skor_d6_k1_6_pengalaman_menjual_ke_saluran_berbeda' => $aksesPasar->skor_pengalaman,
'skor_d6_k4_1_kesadaran_akses_pasar_premium' => $aksesPasar->skor_kesadaran_premium,
'skor_d6_k5_1_hambatan_mutu' => $aksesPasar->skor_kepercayaan_responden
]);
});
}
+31
View File
@@ -11,6 +11,9 @@ use App\Models\Pertanian\SurveyPanen;
use App\Models\Pertanian\SurveyPelatihan;
use App\Models\Pertanian\SurveyProduktivitas;
use App\Models\Pertanian\SurveySertifikasi;
use App\Models\Pertanian\SkorPetani;
use App\Models\Pertanian\AksesPasar;
use App\Models\Pertanian\HargaJualPanen;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
@@ -153,6 +156,11 @@ class Petani extends Model
return $this->hasOne(AksesPasar::class, 'petani_id');
}
public function hargaJualPanen(): HasMany
{
return $this->hasMany(HargaJualPanen::class, 'petani_id');
}
public function skorLahanTanaman(): ?float
{
if (! Schema::hasTable('map_lahan')) {
@@ -337,4 +345,27 @@ class Petani extends Model
{
return $value instanceof \BackedEnum ? $value->value : $value;
}
public function segmen(): ?string
{
$skor = $this->skor;
if (!$skor) {
return null;
}
if ($skor->skor_kesiapan_adopsi >= 4.0) {
return 'Penggerak';
} elseif ($skor->skor_kesiapan_adopsi >= 3.0) {
return 'Perintis';
} elseif ($skor->skor_kesiapan_adopsi >= 2.0) {
return 'Pemerhati';
} elseif ($skor->skor_kesiapan_adopsi >= 1.0) {
return 'Pemula';
} else {
return 'Belum tersegmentasi';
}
return 'Belum tersegmentasi';
}
}
+7 -7
View File
@@ -205,14 +205,14 @@ class SosialEkonomi extends Model
]);
}
$skor->update([
'skor_d4_k5_1_kepemilikan_rekening' => $sosialEkonomi->status_rekening_tabungan->value,
'skor_d4_k5_2_pengalaman_kredit_formal' => $sosialEkonomi->pengalaman_kredit_kebun->value,
'skor_d4_k5_3_kepemilikan_aset_produktif' => $sosialEkonomi->kondisi_aset_produktif->value,
'skor_d4_k5_4_akses_program_bantuan' => $sosialEkonomi->keterlibatan_program_keuangan_formal->value,
'skor_d4_k5_1_kepemilikan_rekening' => $sosialEkonomi->status_rekening_tabungan?->value,
'skor_d4_k5_2_pengalaman_kredit_formal' => $sosialEkonomi->pengalaman_kredit_kebun?->value,
'skor_d4_k5_3_kepemilikan_aset_produktif' => $sosialEkonomi->kondisi_aset_produktif?->value,
'skor_d4_k5_4_akses_program_bantuan' => $sosialEkonomi->keterlibatan_program_keuangan_formal?->value,
'skor_d4_k6_3_keberadaan_hutang_terkait_panen' => $sosialEkonomi->keterikatan_hutang_panen->value,
'skor_d4_k6_5a_praktik_ijon' => $sosialEkonomi->praktik_ijon->value,
'skor_d4_k6_5b_kebebasan_memilih_pembeli' => $sosialEkonomi->kebebasan_memilih_pembeli->value,
'skor_d4_k6_3_keberadaan_hutang_terkait_panen' => $sosialEkonomi->keterikatan_hutang_panen?->value,
'skor_d4_k6_5a_praktik_ijon' => $sosialEkonomi->praktik_ijon?->value,
'skor_d4_k6_5b_kebebasan_memilih_pembeli' => $sosialEkonomi->kebebasan_memilih_pembeli?->value,
]);
});
}