skor petani praktik budidaya
This commit is contained in:
@@ -138,9 +138,9 @@ class Petani extends Model
|
|||||||
return $this->hasMany(SurveySertifikasi::class, 'petani_id');
|
return $this->hasMany(SurveySertifikasi::class, 'petani_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function surveyProduktivitas(): HasOne
|
public function surveyProduktivitas(): HasMany
|
||||||
{
|
{
|
||||||
return $this->hasOne(SurveyProduktivitas::class, 'petani_id')->latestOfMany();
|
return $this->hasMany(SurveyProduktivitas::class, 'petani_id');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function lahans(): HasMany
|
public function lahans(): HasMany
|
||||||
|
|||||||
@@ -91,16 +91,29 @@ class PraktikBudidaya extends Model
|
|||||||
'updated_by' => $petani->updated_by
|
'updated_by' => $petani->updated_by
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$kebiasaan = $praktikBudidaya->kebiasaan_konservasi_tanah ? count($praktikBudidaya->kebiasaan_konservasi_tanah) : 0;
|
||||||
|
$pemahaman = $praktikBudidaya->pemahaman_manfaat_konservasi_tanah == 'Ya, tahu manfaatnya' ? 1 : 0;
|
||||||
|
$skor_konservasi_tanah = 0;
|
||||||
|
if ($kebiasaan == 0) {
|
||||||
|
$skor_konservasi_tanah = 1;
|
||||||
|
} elseif ($kebiasaan == 1 && $pemahaman == 0) {
|
||||||
|
$skor_konservasi_tanah = 2;
|
||||||
|
} elseif ($kebiasaan == 1 && $pemahaman == 1) {
|
||||||
|
$skor_konservasi_tanah = 3;
|
||||||
|
} elseif ($kebiasaan > 1 && $pemahaman == 0) {
|
||||||
|
$skor_konservasi_tanah = 4;
|
||||||
|
} elseif ($kebiasaan > 1 && $pemahaman == 1) {
|
||||||
|
$skor_konservasi_tanah = 5;
|
||||||
|
}
|
||||||
$skor->update([
|
$skor->update([
|
||||||
|
'skor_d2_k2_3_praktik_pemangkasan' => $praktikBudidaya->frekuensi_pemangkasan_utama,
|
||||||
'skor_d2_k2_3_praktik_pemangkasan' => $praktikBudidaya->frekuensi_pemangkasan_komoditas_utama,
|
|
||||||
'skor_d2_k2_4_praktik_pemupukan' => $praktikBudidaya->pemberian_pupuk,
|
'skor_d2_k2_4_praktik_pemupukan' => $praktikBudidaya->pemberian_pupuk,
|
||||||
'skor_d2_k2_5_pengendalian_opt' => $praktikBudidaya->metode_penanganan_hama_penyakit,
|
'skor_d2_k2_5_pengendalian_opt' => $praktikBudidaya->metode_penanganan_opt,
|
||||||
'skor_d2_k2_6_sanitasi_kebun' => $praktikBudidaya->frekuensi_sanitasi_lahan,
|
'skor_d2_k2_6_sanitasi_kebun' => $praktikBudidaya->frekuensi_sanitasi_lahan,
|
||||||
'skor_d2_k2_6b_pengelolaan_gulma' => $praktikBudidaya->penanganan_gulma,
|
'skor_d2_k2_6b_pengelolaan_gulma' => $praktikBudidaya->penanganan_gulma,
|
||||||
'skor_d2_k2_7_penglolaan_air_irigasi' => $praktikBudidaya->kondisi_pengelolaan_air_irigasi,
|
'skor_d2_k2_7_penglolaan_air_irigasi' => $praktikBudidaya->kondisi_pengelolaan_air,
|
||||||
//'skor_d2_k2_8_praktik_konservasi_tanah' => $praktikBudidaya->kebiasaan_konservasi_tanah,
|
'skor_d2_k2_8_praktik_konservasi_tanah' => $skor_konservasi_tanah,
|
||||||
//'skor_d2_k3_1_penentuan_pematangan' => $praktikBudidaya->
|
|
||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,6 +44,30 @@ class SurveyPanen extends Model
|
|||||||
'deleted_by',
|
'deleted_by',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
protected static function booted(): void
|
||||||
|
{
|
||||||
|
static::saved(function (SurveyPanen $survey) {
|
||||||
|
|
||||||
|
$petani = Petani::find($survey->petani_id);
|
||||||
|
$skor = SkorPetani::where('petani_id', $petani->id)->orderBy('id')->first();
|
||||||
|
if (!$skor) {
|
||||||
|
$petaniUid = $petani->uid;
|
||||||
|
$part = explode('-', $petaniUid);
|
||||||
|
$skor = SkorPetani::create([
|
||||||
|
'petani_id' => $petani->id,
|
||||||
|
'uid' => 'SKR-' . $part[1] . '-' . strtoupper(Str::random(10)),
|
||||||
|
'created_by' => $petani->created_by,
|
||||||
|
'updated_by' => $petani->updated_by
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$skor->update([
|
||||||
|
'skor_d2_k3_1_penentuan_pematangan' => $survey->dasar_penentuan_panen,
|
||||||
|
'skor_d2_k3_5_sortasi_awal_pemisahan_kualitas' => $survey->praktik_sortasi,
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public function petani(): BelongsTo
|
public function petani(): BelongsTo
|
||||||
{
|
{
|
||||||
return $this->belongsTo(Petani::class, 'petani_id');
|
return $this->belongsTo(Petani::class, 'petani_id');
|
||||||
|
|||||||
Reference in New Issue
Block a user