<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class JatahCuti extends Model
{
    protected $table = 'jatah_cutis';

    protected $fillable = [
        'karyawan_id', 'tahun', 'jatah_hari', 'terpakai_hari',
    ];

    public function karyawan()
    {
        return $this->belongsTo(Karyawan::class);
    }

    public function getSisaHariAttribute(): int
    {
        return max(0, $this->jatah_hari - $this->terpakai_hari);
    }

    // Ambil atau buat jatah untuk karyawan & tahun tertentu
    public static function getOrCreate(int $karyawanId, int $tahun = null): self
    {
        $tahun = $tahun ?? now()->year;
        return self::firstOrCreate(
            ['karyawan_id' => $karyawanId, 'tahun' => $tahun],
            ['jatah_hari' => 12, 'terpakai_hari' => 0]
        );
    }
}