<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Database\Eloquent\SoftDeletes;

class PlanMantenimiento extends Model
{
    use HasFactory, SoftDeletes;

    protected $table = 'planes_mantenimiento';
    protected $fillable = [
        'codigo', 'nombre', 'clase', 'area_id', 'sistema_id', 'equipo_id',
        'fecha_inicio', 'fecha_fin', 'descripcion', 'observaciones', 'activo', 'creado_por',
    ];
    protected $casts = [
        'activo' => 'boolean',
        'fecha_inicio' => 'date',
        'fecha_fin' => 'date',
    ];

    public function area(): BelongsTo { return $this->belongsTo(Area::class); }
    public function sistema(): BelongsTo { return $this->belongsTo(Sistema::class); }
    public function equipo(): BelongsTo { return $this->belongsTo(Equipo::class); }
    public function items(): HasMany { return $this->hasMany(PlanItem::class, 'plan_id'); }
    public function creador(): BelongsTo { return $this->belongsTo(User::class, 'creado_por'); }
}
