control/desembarque/pendientes - [pendientes]
🧾 Descripción
Este servicio retorna la lista de órdenes de servicio (OSE) que aún tienen paquetes pendientes por desembarcar en una unidad específica (cap_id).
Combina información de embarques, desembarques, órdenes de servicio, detalles de OS, atributos, terminales y datos de personas.
Permite aplicar filtro por número de guía y soporta paginación.
Es un servicio crítico para la vista de desembarques pendientes.
🚀 Endpoint
📥 Request Body
Parámetros
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| cap_id | number | ✔ Sí | ID de la unidad de carga programada. |
| pagina | number | ✔ Sí | Número de página a listar. |
| guia | string | ✘ No | Filtra por número de guía del cliente. |
🔐 Seguridad
Requiere autenticación estándar usada en los endpoints del backend (middleware Laravel).
No se valida explícitamente dentro del método.
🧠 Flujo del Servicio (resumen real)
1. Validación inicial
-
cap_ides obligatorio. -
Define paginación con
limit = 15.
2. Obtener embarques asociados al cap_id
Consulta tabla emp_embarque_historial:
-
Se filtra por:
-
estado activo (
status = 1) -
paquete habilitado (
emb_estado_paquete = 1) -
carg_id igual al cap_id
-
Si no hay embarques:
“Aún no se ha embarcado nada en esta unidad.”
Se arma:
-
Lista de OSE (
ose_ids) -
Información del embarque por OSE:
-
estado de guía
-
cantidad de paquetes embarcados
-
cantidad total de paquetes
-
3. Obtener desembarques del mismo cap_id
Consulta tabla emp_desembarque_historial similares filtros:
Se arma:
-
Lista de desembarques por OSE:
-
estado de guía
-
paquetes desembarcados
-
total de paquetes
-
4. Obtener órdenes de servicio relacionadas
Consulta:
Si no encuentra OS → “No ha embarcado nada aun”
5. Obtener terminales (origen y destino)
Convierte IDs a:
-
nombre
-
alias (para construir la ruta)
6. Obtener detalle de OS
Consulta emp_os_detalle:
Agrupa por:
-
OSE
-
Tipo
Construye por OSE:
-
contenido:
"cantidad tipo" -
cantidad total sumada
7. Obtener atributos de tipo de pago
Convierte tipo_pago → abreviatura usando tabla emp_atributos.
8. Integrar datos (núcleo del servicio)
Por cada OS:
-
Si existe desembarque:
-
Calcula paquetes pendientes = total – desembarcados
-
Marca guía como
"GUIA EMBARCADA"o"SIN GUIA"
-
-
Si no existe desembarque:
-
Paquetes pendientes = total del detalle
-
-
Si cantidad pendiente es
0→ se omite del resultado final. -
Se construye:
-
contenido
-
cantidad total
-
cantidad pendiente
-
ruta origen → destino
-
nombre de terminales
-
Si después de filtrar no hay OS pendientes:
→ “No hay desembarques pendientes”
9. Obtener nombres de remitentes
Consulta emp_persona usando los DNIs encontrados:
Reemplaza el DNI por nombre completo.
✔ 10. Respuesta Final
Devuelve toda la data procesada.
📤 Response 200 – Ejemplo
❗ Posibles Errores
1. No envía cap_id
2. No hay embarques
3. No hay órdenes
4. No hay desembarques pendientes
📚 Schemas (estructuras usadas)
emp_embarque_historial
emp_desembarque_historial
emp_ordenservicio
Campos usados:
No hay comentarios para mostrar
No hay comentarios para mostrar