Ir al contenido principal

REPORTE NOTA DE ENTREGA

Fuente:  /var/www/html/qareportes/app/Http/Controllers/Cloud/RecursosHumanosController.php

1) Nombre del reporte

  • Nombre: Reporte Nota de Entrega

  • Código / Alias: report_nota_entrega

  • Responsable:  Equipo de Reportes Cloud

  • Propósito (1 línea):


2) Alcance temporal

  • Campo(s) de fecha utilizados: 

    • fecha_inicio

    • fecha_fin

  • Tipo de rango (diario / mensual / personalizado):  Mensual

  • Inclusión de horas (sí/no). Si sí: [00:00:00 – 23:59:59]

  • Zona horaria: La del servidor 


3) Origen de datos (tablas/APIs)

  • Conexión / Base: APICDTALLERES

  • Tabla / Recurso: tabDelivery Note

  • Alias (si aplica): del

  • Campos utilizados (clave → descripción):

    • name → Identificador del registro

    • customer →Cliente

    • status → Estados del registro

    • currency → Tipo de Moneda

    • lr_date → Fecha

    • item_code  → Código de producto

    • item_name → Nombre del producto

    • qty → Cantidad relacionada al producto

    • rate → Precio PEN

    • amount → Importe PEN

    • vehiculo → Placa vehículo


  • Condiciones (WHERE) aplicadas: Filtra registros que tenga posting_date (fecha de creación) dentro del rango establecido (fecha_inicio y fecha_fin)

  • Tipo de unión con otras fuentes (JOIN y llave): El doctype Nota de entrega(tabDelivery Note as del) y su tabla hija(tabDelivery Note Item as itm) se unirán si del.name = itm.parent

  • Observaciones (ej. particiones, índices): sin OBS



4) Filtros globales del reporte

  • Inclusiones (must-have): 

    • Rango de fecha (fecha_inicio, fecha_fin)

    • Consulta de SQL a los campos de las tablas: tabDelivery Note y tabDelivery Note Item

    • Respuesta de la API


  • Exclusiones (reglas de descarte):

    • Se descartan registros con fecha de creación, fuera del rango de fecha establecido(fecha_inicio, fecha_fin)

  • Reglas por estado / habilitado: No aplica

  • Parámetros externos (si el usuario puede filtrarlo): Aplica con fecha_inicio y fecha_fin


5) Transformaciones y Reglas de negocio

  • Derivaciones de campos (cómo se calculan): no aplica

  • Mapeos de estado: En baseReport se guarda logs con estados 0 = error y 1 = exitoso

  • Reglas de validación (p.ej., sólo registros validados): Si no se especifica el rango de fecha no se ejecuta el servicio.

  • Reglas condicionales (si X entonces Y): no aplica


6) Estructura de salida

  • Tabla/archivo destino:  report_nota_entrega

  • Particionado / sufijo: no aplica

  • Clave(s) primaria(s) o únicas: no aplica

  • Columnas del reporte (nombre → tipo → descripción):

    • id → INT AUTO_INCREMENT PRIMARY KEY → Identificador único de la fila

    • name → VARCHAR(50) → Nombre o identificador

    • customer → VARCHAR(200) → Nombre o código del cliente

    • estado → VARCHAR(50) → Estado del documento o registro

    • currency → VARCHAR(50) → Moneda utilizada en la transacción

    • lr_date → VARCHAR(50) → Fecha de la guía o documento relacionado

    • item_code → VARCHAR(255) → Código del ítem

    • item_name → VARCHAR(255) → Nombre del ítem

    • qty → VARCHAR(10) → Cantidad

    • rate → VARCHAR(10) → Tarifa o precio unitario

    • amount → VARCHAR(10) → Importe total

    • vehiculo → VARCHAR(10) → Identificador o referencia del vehículo

    • periodo → VARCHAR(10) → Período asociado

    • created_date → DATETIME DEFAULT CURRENT_TIMESTAMP → Fecha de inserción en el datawarehouse

    • status → tinyint(4) DEFAULT '1' → Estado del registro (1 = activo, 0 = inactivo)


  • Ordenamiento por defecto: no aplica


7) Frecuencia y operación

  • Frecuencia de actualización: Cada que se ejecuta el servicio

  • Ventana que recalcula (días/meses): no aplica

  • Tamaño de lote / paginado (chunking):  Los inserts se hacen en lotes de 900 registros máximo.

  • Tolerancia a fallos / reintentos: try catch para la inserción de datos.

  • Tiempos de ejecución esperados: Dependerá de la cantidad de datos.


8) Calidad y controles

  • Validaciones previas/post: Se valida el ingreso de la fecha_inicio y fecha_fin

  • Controles de duplicados: no aplica

  • Métricas de completitud (qué se monitorea):  

    • Se monitorea la inserción de datos en la tabla. En caso no se inserte correctamente, se guarda un log en la tabla error_reports, emp_reportes_validation.

    • Se crea un log con estado (1 = exitoso  ó  0 = error) Que confirma el estado de la creación de la tabla.


9) Dependencias externas

  • APIs / servicios y endpoints: APICDTALLERES

    • API: APICDTALLERES = https://erp-cd-talleres-qa-21-02-2025.shalom.com.pe/api/

    • Servicio: Consulta de Campos(tabDelivery Note)

    • endpoin: method/send-query-database

  • Autenticación / headers: Se define el siguiente header:

  • $options = [

  •    'headers' => [

  •        "Accept" => "application/json",

  •        "Content-Type" => "application/json"

  •    ]

  • ];


  • Mapeos y contratos de datos: 

    • Mapeo: En el punto 6 se ve el mapeo de datos, como llega del API y como se guarda en la BD:

      • ejm: "name" => "VARCHAR(50) NULL, ",

    • Contrato de datos: El API debe  entregar todos los campos indicados en el punto 6.



10) Historial de cambios

2025-09-23 13:48 - Elian Franco Arroyo Rodas - Documentación inicial