# REPORTE DE PERDIDAS

Fuente: App\\Http\\Controllers\\Cloud\\Reports\\Perdidas

/var/www/html/qareportes

## 1) Nombre del reporte

- Nombre: Reporte de Pérdidas
- Código/Alias: report\_perdidas
- Responsable: Equipo de Reportes Cloud
- Propósito:

## 2) Alcance temporal

- Campo(s) de fecha utilizados (base):
- os.ose\_fhpreferenciapartida (Fecha de traslado)
- inc. fhcrea (Fecha creación incidencia)

- Tipo de rango: Personalizado (entre firstDate y secondDate)
- Horas: No, se toma en cuenta el rango de fecha.
- Zona horaria: Lima - Perú

## 3) Origen de datos (tablas/APIs)

### 3.1 Terminales

- Conexión/Base: empresarial
- Tabla: emp\_terminal
- JOIN: LEFT JOIN emp\_ordendeservicio os ON inc.inc\_idos = os.ose\_id
- Campos:
- ter\_nombre (Nombre de la terminal)
- ter\_id (ID de la terminal)
- ter\_habilitado (Estado de la terminal)

- Condiciones: Trae toda la información sin condición

3.2 Incidencias

- Conexión/Base: empresarial
- Tabla: emp\_incidencias
- Campos:
- ose\_fhpreferenciapartida (Fecha de traslado)
- ose\_nroguiacliente (Numero de guia)
- ose\_termorigenatencion (Terminal de Origen)
- ose\_termdestinoentrega (terminal de Destino)
- fhcrea (Fecha Creación Incidencia)
- inc\_descripcion (Descripcion/ subtipo)
- inc\_tipo (Tipo de incidencia)
- inc\_responsable\_terminal (Terminal responsable)


- Condiciones: inc.fhcrea \[first\_date\] BETWEEN \[second\_date\]

3.2 Reclamos

- Conexión/Base: empresarial
- Tabla: emp\_reclamos
- Campos:
- Campo vacío “ ” (Fecha de traslado)
- rec\_numeroguia (Numero de guia)
- Campo vacío “ ” (Origen)
- Campo vacío “ ” (Destino)
- fecharegistro (Fecha Creacion incidencia)
- PERDIDA (Subtipo)
- tipo\_reclamo (Tipo)
- Sucursal (Terminal responsable)

- Condiciones: inc.fecharegistro \[first\_date\] BETWEEN \[second\_date\]

3.3 Orden de servicio

- Conexión/Base: empresarial
- Tabla: emp\_ordenservicio
- Campos:
- ose\_id (ID de Guia)
- ose\_termorigenatencion (Terminal Origen)
- ose\_termdestinoentrega (Terminal Destino)
- ose\_fhpreferenciapartida (Fecha Traslado)
- ose\_nroguiacliente (Numero de Guia)

- Condiciones: No se aplican condiciones

## 4) Filtros globales del reporte

- Inclusiones:
- Exclusiones:
- Reglas habilitado/estado:
- inc.rec\_numeroguia = “ ” (Obligatorio/ NO NULL)
- inc.tipo\_reclamo = “RECLAMO” (Tipo)

- Parámetros externos: firstDate, secondDate.

## 5) Transformaciones y Reglas de negocio

- Tablas Por meses: concatena el prefijo report\_centralizacion\_perdidas\_ + con el formato “Y-M”
- Tipo:
- REVISAR se mostrará como INCIDENCIA
- COMPENSACIONES se mostrara como COMPENSACION

- Fechas:
- fecha\_crea\_incidencia → \[YYYY-MM-DD\]
- fecha\_traslado → \[YYYY-MM-DD\]

- Terminal:
- ID terminal Origen → Nombre de Terminal Origen
- ID terminal Destino → Nombre de Terminal Destino

- General:
- fecha\_traslado → \[YYYY-MM-DD\]

- Estado: status → 1
- Crea un formato: date\[YYYY-MM-DD H:I:S\]

## 6) Estructura de salida

- Destino: report\_centalizacion\_perdidas (tabla de reportes)
- Particionado / sufijo: por mes ($month = Y\_m).
- Escritura: writeReport('report\_centalizacion\_perdidas',$detail, true, 'fecha', $partition\_month)
- Columnas (nombre → tipo → descripción): No cuenTa con columnas
- Orden por defecto:
- inc.fhcrea (fecha de creación de la incidencia) desc
- inc.fecharegistro ( Fecha de creación de la incidencia) desc


## 7) Frecuencia y operación

- Ejecución normal: No tiene método update()
- Chunking:
- IDs (n\_ids\_guias) en bloques de 2000 (array\_chunk).
- 

- Reintentos: rename\_retries = 4, rename\_backoff\_ms = 300.
- UTF-8: force\_utf8mb4 = true.

## 8) Calidad y controles

Controles, filtros o condiciones establecidas

- Sólo incluye incidencias o reclamos según fecha filtrada
- Fecha de creación y fecha de registro \[$first\_date, $second\_date\]

- No considera en el reporte registros eliminados
- Solo se considera los registros con una orden de servicio vinculado
- Solo se consideran incidencias tipo \["REVISAR","COMPENSACIONES"\]
- Solo consideran reclamos con tipo de reclamos \["RECLAMO”\]
- Se considera las incidencias con tipo de descripción:
- "ROBO: MERCADERIA ROBADA POR INTERNO",
- "MERCADERIA EXTRAVIADA.",
- "MERCADERIA EXTRAVIADA",
- "FALTANTE INTERNO",
- "1.4 M. FALTANTE: FALTANTE INTERNO",
- "1. M. FALTANTE: AUN NO SE SABE DONDE ESTA."


## 9) Dependencias externas

- No consume información externa

## 10) Historial de cambios

2025-09-02 13:06 - Elian Franco Arroyo Rodas - Documentación inicial