REPORTE DE REQUERIMIENTO PERSONAL
FUENTE: /var/www/html/horario_salida/app/Http/Controllers/Cloud/ReportController.php
/var/www/html/qareportes/app/Http/Controllers/Cloud/ReportController.php
1) Nombre del reporte
-
Nombre: Reporte Requerimiento Personal
-
Código/Alias: report_requerimientos_personal_
-
Responsable: Equipo de Reportes Cloud
-
Propósito:
2) Alcance temporal
-
Campo(s) de fecha utilizados (base):
-
fecha_creacion
-
fecha_atencion
-
fecha_de_cierre_de_vacante
-
fecha_de_proceso
-
tiempo_de_cobertura
-
fecha_de_cubierto
-
Tipo de rango: firstDate [YYYY-MM]
-
Horas: No, se toma en cuenta el rango de fecha.
-
Zona horaria: Lima - Perú
3) Origen de datos (tablas/APIs)
-
Tablero: report_requerimientos_personal_YYYY_MM
-
Alias:
-
"fecha_creacion" => fechaPart[0]
-
"fecha_atencion" => fechaProcesoSolo
-
Campos utilizados (clave → descripción):
-
name → Identificador del requerimiento.
-
creation → Se transforma en fecha_creacion (solo la fecha, sin hora).
-
agencia → Agencia solicitante.
-
data_3 → Número de vacantes (n_vacantes).
-
tipo_de_reclutamiento → Tipo de reclutamiento.
-
estado_rp → Estado del requerimiento.
-
prioridad → Prioridad.
-
cv_aceptados → CV aceptados (vacío si NULL).
-
fecha_historial_atencion → Usado como fallback para fecha_atencion si no existe en $fechaProcesoData.
-
cv_filtrado → CV filtrados (vacío si NULL).
-
posicion_solicitada → Posición solicitada.
-
vacantes_cubiertas → Vacantes cubiertas.
-
fecha_de_cierre_de_vacante → Fecha de cierre.
-
sexo → Sexo solicitado.
-
turno → Turno solicitado.
-
compromiso_cobertura → Compromiso de cobertura.
-
tiempo_de_cobertura → Tiempo de cobertura.
-
fecha_de_cubierto → Fecha en que se cubrió la vacante.
-
_assign → JSON con asignados → convertido a string separado por comas.
-
branch_id → ID de sucursal.
4) Filtros globales del reporte
-
Inclusiones: Solo filtra o trae información de los 4 últimos meses. Lo mismo aplica para la api de Recursos humanos
-
Exclusiones: Ningún registro se descarta según estado, valores de campos o validación.
-
Estado: “estatus” → se asigna 1 por defecto a todos los registros
-
Parámetros externos: El único parámetro externo es el rango de fechas (dateCreationIni, dateCreationFin) que el usuario o quien llame la función puede definir.
5) Transformaciones y Reglas de negocio
-
Campos:
-
fecha_creacion: Extrae la fecha [YYYY-MM-DD]
-
fecha_de_proceso Extrae la fecha [YYYY-MM-DD]
-
fecha_atencion: Extrae la fecha [YYYY-MM-DD]
-
asignado_a: De un JSON a String
-
cv_filtrados: Si es Null se pasa a un string vacío
-
cv_aceptados: Si es Null se pasa a un string vacío
-
Estado: status: 1 → Activo por defecto
-
Validación:
-
cv_aceptados (El contenido del campo no debe ser igual a null)
-
cv_filtrados (El contenido del campo no debe ser igual a null)
6) Estructura de salida
-
Destino: report_requerimientos_personal_YYYY_MM
-
Particionado / sufijo: Cada mes (date = Y_m).
-
Columnas (nombre → tipo → descripción):
-
id →primary key → Auto incrementa
-
name → string → Nombre
-
fecha_creacion → date → fecha
-
agencia → string → Nombre
-
n_vacantes → string → Cantidad
-
tipo_reclutamiento → string → puede ser Null
-
estado → string → Nombre del estado
-
prioridad → string → Null
-
cv_aceptados → string → Null
-
fecha_atencion → date → Null
-
cv_filtrados → string → Null
-
posicion_solicitado →string → Null
-
vacantes_cubiertas →string → Null
-
fecha_de_cierre_de vacantes → string → Null
-
fecha_de_proceso →string → Null
-
sexo →string → Null
-
turno →string → Null
-
compromiso_de_cobertura →string → Null
-
tiempo_de_cobertura →string → Null
-
fecha_de_cubierto →string → Null
-
asignado_a →string → Null
-
id_sucursal →string → Null
-
created_date →dateTime→ Null
-
status → tintin(4) → default 1
-
Observación: hay campos con nombre fecha qué son tipos string
-
Condiciones: Trae toda la información sin condición
7) Frecuencia y operación
-
Ventada que recalcula(Días/meses): El rango se controla con los parámetros externos que se ingresen.
-
UTF-8: force_utf8mb4 = true.
8) Calidad y controles
-
Validaciones previas/post:
-
Se validan indirectamente fechas ingresadas en los parámetros.
-
Post: Se valida la respuesta de la API
-
Controles de duplicado: No se encontró.
-
Sobrescribe sobre la última información.
-
Métricas de completitud (qué se monitorea):
-
Existen pequeños controles que detectan los null y los transforman en strings vacíos
9) Dependencias externas
-
API: Descarga datos de la API de Recursos Humanos “api/report-requerimiento-personal-lima” en un rango del primer y último día.
-
Endpoint: APICAPCITACION method/send-query-database
-
Contrato: Retorna (name, agencia, tipo_reclutamiento, estado_erp, fecha_creacion)
10) Historial de cambios
2025-09-02 19:15 - Elian Franco Arroyo Rodas - Documentación inicial
No hay comentarios para mostrar
No hay comentarios para mostrar