Files
pos_heidiver/app/Models/OrdenProduccion.php
T
2026-01-15 01:36:26 -05:00

58 lines
1.2 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class OrdenProduccion extends Model
{
use HasFactory;
protected $fillable = [
'numero_orden',
'prenda_modelo',
'referencia',
'cantidad_total',
'tela_id',
'fecha_inicio',
'fecha_entrega_estimada',
'estado',
];
public function tela()
{
return $this->belongsTo(Tela::class);
}
public function avanzarEstado(): void
{
$flujo = [
'en_corte',
'en_confeccion',
'en_tintoreria',
'en_acabados',
'finalizada',
];
$actual = array_search($this->estado, $flujo, true);
if ($actual !== false && isset($flujo[$actual + 1])) {
$this->update([
'estado' => $flujo[$actual + 1],
]);
}
}
protected static function booted()
{
static::creating(function ($orden) {
if (!$orden->numero_orden) {
$ultimoId = self::max('id') + 1;
$orden->numero_orden = 'OP-' . str_pad($ultimoId, 6, '0', STR_PAD_LEFT);
}
});
}
}