@extends('layouts.app')

@section('title', 'Recibir Orden de Compra | Veltrix v2')

@section('content')
    <div class="container py-4">
        <div class="d-flex justify-content-between align-items-center mb-3 flex-wrap gap-2">
            <h1 class="h4 mb-0">Recepcion de orden {{ $orden->numero }}</h1>
            <a href="{{ route('compras.ordenes.index') }}" class="btn btn-outline-secondary">Volver a ordenes</a>
        </div>

        @if ($errors->any())
            <div class="alert alert-danger">
                {{ $errors->first() }}
            </div>
        @endif

        <div class="row g-3 mb-4">
            <div class="col-12 col-md-4">
                <div class="card border-0 shadow-sm h-100">
                    <div class="card-body">
                        <h2 class="h6">Proveedor</h2>
                        <div>{{ $orden->proveedor?->nombre ?? 'N/A' }}</div>
                    </div>
                </div>
            </div>
            <div class="col-12 col-md-4">
                <div class="card border-0 shadow-sm h-100">
                    <div class="card-body">
                        <h2 class="h6">Sucursal</h2>
                        <div>{{ $orden->sucursal?->nombre ?? 'General' }}</div>
                    </div>
                </div>
            </div>
            <div class="col-12 col-md-4">
                <div class="card border-0 shadow-sm h-100">
                    <div class="card-body">
                        <h2 class="h6">Estado</h2>
                        <div class="text-capitalize">{{ $orden->estado }}</div>
                    </div>
                </div>
            </div>
        </div>

        <div class="card border-0 shadow-sm">
            <div class="card-body">
                @if ($orden->estado === 'anulada')
                    <div class="alert alert-warning mb-0">Esta orden esta anulada y no admite recepcion.</div>
                @elseif ($orden->estado === 'completa')
                    <div class="alert alert-success mb-0">Esta orden ya fue recibida completamente.</div>
                @else
                    <form action="{{ route('compras.ordenes.receive.store', $orden) }}" method="POST">
                        @csrf

                        <div class="row g-3 mb-4">
                            <div class="col-12 col-md-4">
                                <label class="form-label" for="numero_recepcion">Numero recepcion (opcional)</label>
                                <input class="form-control" id="numero_recepcion" name="numero_recepcion" maxlength="80" value="{{ old('numero_recepcion') }}">
                            </div>
                            <div class="col-12 col-md-4">
                                <label class="form-label" for="fecha_recepcion">Fecha recepcion</label>
                                <input class="form-control" id="fecha_recepcion" name="fecha_recepcion" type="datetime-local" value="{{ old('fecha_recepcion', now()->format('Y-m-d\TH:i')) }}" required>
                            </div>
                            <div class="col-12 col-md-4">
                                <label class="form-label" for="observacion">Observacion</label>
                                <input class="form-control" id="observacion" name="observacion" value="{{ old('observacion') }}">
                            </div>
                        </div>

                        <div class="table-responsive">
                            <table class="table align-middle mb-0">
                                <thead>
                                    <tr>
                                        <th>Producto</th>
                                        <th>Cantidad ordenada</th>
                                        <th>Recibida</th>
                                        <th>Pendiente</th>
                                        <th>Costo unit.</th>
                                        <th>Cantidad a recibir</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    @foreach ($orden->detalles as $detalle)
                                        @php
                                            $pending = (float) ($lineasPendientes[(string) $detalle->id] ?? 0);
                                        @endphp
                                        <tr>
                                            <td>{{ $detalle->producto?->nombre ?? 'N/A' }}</td>
                                            <td>{{ number_format((float) $detalle->cantidad, 2) }}</td>
                                            <td>{{ number_format((float) $detalle->cantidad_recibida, 2) }}</td>
                                            <td>{{ number_format($pending, 2) }}</td>
                                            <td>{{ number_format((float) $detalle->costo_unitario, 2) }}</td>
                                            <td style="min-width: 180px;">
                                                <input
                                                    class="form-control"
                                                    type="number"
                                                    step="0.01"
                                                    min="0"
                                                    max="{{ $pending }}"
                                                    name="lineas[{{ $detalle->id }}]"
                                                    value="{{ old('lineas.'.$detalle->id, $pending > 0 ? $pending : 0) }}"
                                                    @disabled($pending <= 0)
                                                >
                                            </td>
                                        </tr>
                                    @endforeach
                                </tbody>
                            </table>
                        </div>

                        <div class="mt-4">
                            <button class="btn btn-primary">Registrar recepcion y entrada a inventario</button>
                        </div>
                    </form>
                @endif
            </div>
        </div>
    </div>
@endsection
