<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Factories\HasFactory;

/**
 * Class Empleado
 *
 * @property $id
 * @property $clave
 * @property $apellidoPaterno
 * @property $apellidoMaterno
 * @property $nombre
 * @property $puesto
 * @property $dependencia_id
 * @property $rfc
 * @property $estatus
 *
 * @property Dependencia $dependencium
 * @package App
 * @mixin \Illuminate\Database\Eloquent\Builder
 */
class Empleado extends Model
{
    use  HasFactory;


    protected $perPage = 20;

    /**
     * Attributes that should be mass-assignable.
     *
     * @var array
     */
    protected $fillable = [
        'clave', 'apellidoPaterno', 'apellidoMaterno', 'nombre', 'puesto',
        //  'dependencia_id', 
        'centro_trabajo_id', 'rfc', 'estatus_id'
    ];


    /**
     * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
     */
    // public function dependencia()
    // {
    //     return $this->belongsTo(\App\Models\Dependencia::class, 'dependencia_id', 'id');
    // }
    public function centro_trabajo()
    {
        return $this->belongsTo(\App\Models\CentroTrabajo::class, 'centro_trabajo_id', 'id');
    }
    public function bienes()
    {
        return $this->hasMany(Biene::class);
    }
    public function estatus()
    {
        return $this->belongsTo(Estatus::class, 'estatus_id', 'id');
    }
    // public static function getNextClave()
    // {
    //     $lastEmpleado = Empleado::orderBy('clave', 'desc')->first();
    //     if ($lastEmpleado) {
    //         $lastClave = $lastEmpleado->clave;
    //         $numero = (int) preg_replace('/\D/', '', $lastClave);
    //         $nuevo_numero = $numero + 1;
    //         $nueva_clave = str_pad($nuevo_numero, strlen($lastClave), '0', STR_PAD_LEFT);
    //         return $nueva_clave;
    //     } else {
    //         return '00001'; // Valor inicial si no hay registros previos
    //     }
    // }
}
