up
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\OrdenProduccionResource\Pages;
|
||||
|
||||
use App\Filament\Resources\OrdenProduccionResource;
|
||||
use App\Models\OrdenProduccion;
|
||||
use Filament\Resources\Pages\Page;
|
||||
use Filament\Infolists\Infolist;
|
||||
use Filament\Infolists\Components\{Section, TextEntry, Grid};
|
||||
|
||||
class VerFlujoOjalesPresillas extends Page
|
||||
{
|
||||
protected static string $resource = OrdenProduccionResource::class;
|
||||
|
||||
protected static string $view = 'filament.resources.orden-produccion-resource.pages.ver-flujo-ojales-presillas';
|
||||
|
||||
protected static ?string $title = 'Flujo de Ojales y Prensillas';
|
||||
|
||||
public OrdenProduccion $record;
|
||||
|
||||
public function mount(int | string $record): void
|
||||
{
|
||||
$this->record = OrdenProduccion::findOrFail($record);
|
||||
}
|
||||
|
||||
public function getFlujoData(): array
|
||||
{
|
||||
$op = $this->record;
|
||||
|
||||
// Datos de Confección
|
||||
$cantidadRecibidaConfeccion = $op->confecciones()
|
||||
->whereNotNull('fecha_recepcion')
|
||||
->sum('cantidad_recibida');
|
||||
|
||||
// Datos de Ojales
|
||||
$ojales = $op->ojales;
|
||||
$ojalesData = $ojales->map(function ($ojal) {
|
||||
return [
|
||||
'cantidad' => $ojal->cantidad_enviada,
|
||||
'proveedor' => $ojal->proveedor?->nombre ?? 'Sin proveedor',
|
||||
'operario' => $ojal->usuarioAsignado?->name ?? '-',
|
||||
'terminado' => $ojal->terminada,
|
||||
'fecha' => $ojal->fecha_envio?->format('d/m/Y') ?? '-',
|
||||
];
|
||||
});
|
||||
|
||||
$ojalesTerminados = $ojales->where('terminada', true)->sum('cantidad_enviada');
|
||||
$ojalesPendientes = $ojales->where('terminada', false)->sum('cantidad_enviada');
|
||||
|
||||
// Datos de Prensillas
|
||||
$prensillas = $op->prensillas;
|
||||
$prensillasData = $prensillas->map(function ($prensilla) {
|
||||
return [
|
||||
'cantidad' => $prensilla->cantidad_enviada,
|
||||
'proveedor' => $prensilla->proveedor?->nombre ?? 'Sin proveedor',
|
||||
'operario' => $prensilla->usuarioAsignado?->name ?? '-',
|
||||
'terminado' => $prensilla->terminada,
|
||||
'fecha' => $prensilla->fecha_envio?->format('d/m/Y') ?? '-',
|
||||
];
|
||||
});
|
||||
|
||||
$prensillasTerminadas = $prensillas->where('terminada', true)->sum('cantidad_enviada');
|
||||
$prensillasPendientes = $prensillas->where('terminada', false)->sum('cantidad_enviada');
|
||||
|
||||
// Verificación de ambos procesos
|
||||
$verificacion = $op->verificarProcesosCompletos();
|
||||
|
||||
return [
|
||||
'confeccion_recibida' => $cantidadRecibidaConfeccion,
|
||||
'ojales' => [
|
||||
'total' => $ojales->sum('cantidad_enviada'),
|
||||
'terminados' => $ojalesTerminados,
|
||||
'pendientes' => $ojalesPendientes,
|
||||
'registros' => $ojalesData,
|
||||
],
|
||||
'prensillas' => [
|
||||
'total' => $prensillas->sum('cantidad_enviada'),
|
||||
'terminadas' => $prensillasTerminadas,
|
||||
'pendientes' => $prensillasPendientes,
|
||||
'registros' => $prensillasData,
|
||||
],
|
||||
'verificacion' => $verificacion,
|
||||
'disponible_tintoreria' => $op->getCantidadDisponibleParaTintoreria(),
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user