@extends('layouts.admin') @section('content')

Farmacia y Botiquín Clínico DevMedic

Gestión integral de medicamentos, control de inventario, stock crítico y dispensación. Módulo Activo

{{ $totalMedicamentos }}

Medicamentos en Catálogo

Ver Inventario

{{ number_format($totalUnidades) }}

Unidades Físicas en Stock

Valor: ${{ number_format($valorInventario, 2) }}

{{ $stockBajoCount }}

{{ $stockBajoCount > 0 ? 'Medicamentos en Stock Bajo' : 'Stock en Nivel Óptimo' }}

Filtrar Críticos

{{ $proximosVencerCount + $vencidosCount }}

{{ $vencidosCount > 0 ? $vencidosCount . ' Vencidos / ' . $proximosVencerCount . ' Por Vencer' : 'Por Vencer (≤ 60 días)' }}

Ver Alertas de Fecha

Alertas de Stock Bajo o Agotado

@if($medicamentosStockBajo->isEmpty())
Inventario en buen nivel

No hay medicamentos por debajo del stock mínimo.

@else
@foreach($medicamentosStockBajo as $med) @endforeach
Medicamento Laboratorio Stock Mínimo Acción
{{ $med->nombre_comercial }}
{{ $med->concentracion }} - {{ $med->forma_farmaceutica }}
{{ $med->laboratorio ?: 'No especificado' }} @if($med->stock <= 0) AGOTADO (0) @else {{ $med->stock }} unids. @endif {{ $med->stock_minimo }}
@endif

Próximos a Vencer (Dentro de 60 días)

@if($medicamentosProximosVencer->isEmpty())
Sin alertas de caducidad

No hay medicamentos próximos a vencer en los próximos 60 días.

@else
@foreach($medicamentosProximosVencer as $med) @php $dias = \Carbon\Carbon::today()->diffInDays($med->fecha_vencimiento, false); @endphp @endforeach
Medicamento Lote F. Vencimiento Días Restantes Stock
{{ $med->nombre_comercial }}
{{ $med->concentracion }}
{{ $med->lote ?: 'S/L' }} {{ $med->fecha_vencimiento ? $med->fecha_vencimiento->format('d/m/Y') : 'N/A' }} @if($dias <= 0) ¡VENCIDO! @elseif($dias <= 30) {{ $dias }} días @else {{ $dias }} días @endif {{ $med->stock }} unids.
@endif

Últimas Ventas Realizadas

@if($ultimasVentas->isEmpty())
No hay ventas registradas aún
Registrar Primera Venta
@else
@foreach($ultimasVentas as $v) @endforeach
Comprobante Cliente / Paciente Fecha Total Acción
{{ $v->nro_comprobante }} @if($v->estado == 'ANULADA') Anulada @endif {{ $v->cliente_nombre }} {{ $v->created_at->format('d/m/Y H:i') }} ${{ number_format($v->total, 2) }}
@endif

Movimientos Recientes de Kardex

@if($ultimosMovimientos->isEmpty())

Sin movimientos recientes.

@else
@foreach($ultimosMovimientos as $mov) @endforeach
Fecha Medicamento Tipo Cantidad Stock Resultante
{{ $mov->created_at->format('d/m/Y H:i') }} {{ $mov->medicamento ? $mov->medicamento->nombre_comercial : 'Medicamento Eliminado' }}
{{ $mov->motivo ?: 'Sin motivo' }}
@if($mov->tipo == 'INGRESO') INGRESO @elseif($mov->tipo == 'VENTA') VENTA @elseif($mov->tipo == 'EGRESO' || $mov->tipo == 'MERMA_VENCIMIENTO') EGRESO @else AJUSTE @endif {{ in_array($mov->tipo, ['VENTA', 'EGRESO', 'MERMA_VENCIMIENTO']) ? '-' : '+' }}{{ $mov->cantidad }} {{ $mov->stock_posterior }}
@endif
@endsection