Update BUMDes

This commit is contained in:
2026-11-05 19:20:05 +07:00
parent 9cdd178297
commit c55ff109a0
73 changed files with 6699 additions and 1548 deletions
+34 -13
View File
@@ -2,9 +2,10 @@
namespace App\Models\Bumdes;
use App\Models\Concerns\CatatAktivitas;
use App\Enums\Bumdes\JabatanBumdes;
use App\Enums\Pendidikan;
use App\Models\Concerns\CatatAktivitas;
use App\Models\Concerns\HasDeletedBy;
use App\Models\User;
use App\Models\Wilayah\DesaKelurahan;
use Carbon\Carbon;
@@ -15,7 +16,7 @@ use Illuminate\Database\Eloquent\SoftDeletes;
class PengurusBumdes extends Model
{
use SoftDeletes, CatatAktivitas;
use CatatAktivitas, HasDeletedBy, SoftDeletes;
protected $table = 'bumdes_pengurus';
@@ -38,13 +39,33 @@ class PengurusBumdes extends Model
'deleted_by',
];
protected $casts = [
'jenis_kelamin' => 'boolean',
'tanggal_lahir' => 'date',
'pendidikan_terakhir' => Pendidikan::class,
'tanggal_mulai_menjabat' => 'date',
'jabatan' => JabatanBumdes::class,
];
protected function casts(): array
{
return [
'jenis_kelamin' => 'boolean',
'tanggal_lahir' => 'date',
'pendidikan_terakhir' => Pendidikan::class,
'tanggal_mulai_menjabat' => 'date',
'jabatan' => JabatanBumdes::class,
];
}
protected static function booted(): void
{
static::deleting(function (self $pengurus) {
if (! $pengurus->isForceDeleting()) {
$pengurus->kelembagaanAktor()->each(fn ($data) => $data->delete());
}
});
}
public function profilLengkap(): bool
{
return $this->exists && collect([
'nama', 'tempat_lahir', 'tanggal_lahir', 'pendidikan_terakhir', 'alamat',
'desa_kelurahan_id', 'jabatan', 'lama_menjabat_tahun',
])->every(fn ($field) => filled($this->{$field})) && $this->jenis_kelamin !== null;
}
public function getUsiaAttribute(): ?int
{
@@ -58,7 +79,7 @@ class PengurusBumdes extends Model
public function getLamaMenjabatAttribute(): string
{
if (! is_null($this->lama_menjabat_tahun)) {
return $this->lama_menjabat_tahun . ' tahun';
return $this->lama_menjabat_tahun.' tahun';
}
if (! $this->tanggal_mulai_menjabat) {
@@ -75,15 +96,15 @@ class PengurusBumdes extends Model
$bagian = [];
if ($selisih->y > 0) {
$bagian[] = $selisih->y . ' tahun';
$bagian[] = $selisih->y.' tahun';
}
if ($selisih->m > 0) {
$bagian[] = $selisih->m . ' bulan';
$bagian[] = $selisih->m.' bulan';
}
if (empty($bagian)) {
return $selisih->d . ' hari';
return $selisih->d.' hari';
}
return implode(' ', $bagian);