REPORTE REQUERIMIENTO PERSONAL LIMA
Fuente: /var/www/html/qareportes/app/Http/Controllers/Cloud/RequerimientoPersonalController.php
1) Nombre del reporte
-
Nombre: Reporte Requerimiento Personal Lima
-
Código / Alias: report_requerimiento_personal_lima_
-
Responsable: Equipo de Reportes Cloud
-
Propósito (1 línea):
2) Alcance temporal
-
Campo(s) de fecha utilizados:
-
fecha_de_requerimiento (Requerimiento de Personal Lima)
-
creation (CV Filtrado)
-
fecha_entrevista (Entrevista)
-
fecha_inicio (Contrato de Trabajo)
-
Tipo de rango (diario / mensual / personalizado): Mensual (se recalculan por mes con range_days)
-
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)
3.1 Conexión / Base: CAPACITACION
-
Tabla / Recurso:
method/erpnext.education.doctype.requerimiento_de_personal_lima.api.report
-
Alias (si aplica): No aplica
-
Campos utilizados (clave → descripción):
-
name → Identificador de la solicitud
-
fecha_de_requerimiento → Fecha de requerimiento
-
_assign → Usuario asignado (reclutador)
-
compromiso_cobertura → Fecha compromiso de cobertura
-
documento_convocatoria → Documento de convocatoria
-
puesto → Puesto solicitado
-
estado_rp → Estado del requerimiento
-
Condiciones (WHERE) aplicadas: fecha_de_requerimiento BETWEEN date_start AND date_end
-
Tipo de unión con otras fuentes (JOIN y llave): Relación indirecta con CV Filtrado por campo documento_convocatoria
-
Observaciones (ej. particiones, índices): Uso de alias en campo (posicion_solicitada AS puesto).
3.2 Conexión / Base: CAPACITACION
-
Tabla / Recurso: CV Filtrado
-
Alias (si aplica): No aplica
-
Campos utilizados (clave → descripción):
-
name → Identificador de CV
-
numero_documento → Documento del postulante
-
nombre_solicitante → Nombre completo del postulante
-
puesto_oportunidad → puesto (alias)
-
oportunidad_empleo → Convocatoria vinculada
-
creation → Fecha de registro del CV
-
Condiciones (WHERE) aplicadas:oportunidad_empleo IN (documentos_convocatorias)
-
Tipo de unión con otras fuentes (JOIN y llave):
-
Relación con Requerimiento de Personal Lima por documento_convocatoria.
-
Relación con Entrevista por name (CV) → enlace_cv.
-
Observaciones (ej. particiones, índices): Uso de alias en campo (puesto_oportunidad AS puesto).
3.3 Conexión / Base: CAPACITACION
-
Tabla / Recurso: Entrevista
-
Alias (si aplica): No aplica
-
Campos utilizados (clave → descripción):
-
name → Identificador de entrevista
-
fecha_entrevista → Fecha de la entrevista
-
contratado → Estado de contratación (Sí/No)
-
numero_de_documento → Documento del postulante
-
puesto → Puesto ofertado
-
enlace_cv → Relación con CV filtrado
-
Condiciones (WHERE) aplicadas: enlace_cv IN (cv_filtrado_name)
-
Tipo de unión con otras fuentes (JOIN y llave):
-
Relación con CV Filtrado por enlace_cv.
-
Relación con Contrato de Trabajo por numero_de_documento.
-
Observaciones (ej. particiones, índices): Se usa para validar si el postulante fue contratado.
3.4 Conexión / Base: CAPACITACION
Tabla / Recurso: Contrato de Trabajo
Alias (si aplica): No aplica
-
Campos utilizados (clave → descripción):
-
name → Identificador de contrato
-
fecha_inicio → Fecha de inicio del contrato
-
labor → puesto (alias)
-
dni → Documento del trabajador
-
Condiciones (WHERE) aplicadas:
-
dni IN (entrevista_documento)
-
Tipo de unión con otras fuentes (JOIN y llave): Relación con Entrevista por dni.
-
Observaciones (ej. particiones, índices): Uso de alias en campo (labor AS puesto).
4) Filtros globales del reporte
-
Inclusiones (must-have):
-
Rango de fecha (date_start, date_end).
-
Consulta a tablas ERPNext: Requerimiento de Personal Lima, CV Filtrado, Entrevista, Contrato de Trabajo.
-
Respuesta del API CAPACITACION.
-
Exclusiones (reglas de descarte):
-
Se descartan CVs con fecha de creación (creation) anterior a fecha_de_requerimiento.
-
Reglas por estado / habilitado:
-
Solo entrevistas con contratado = "Contratado" son consideradas para contratos.
-
Parámetros externos (si el usuario puede filtrarlo):
-
date_start
-
date_end
5) Transformaciones y Reglas de negocio
-
Derivaciones de campos (cómo se calculan):
-
reclutador → se deriva de _assign parseado en JSON.
-
f_reclutamiento → puede ser compromiso_cobertura o creation del CV.
-
Mapeos de estado:
-
estado_rp se mapea desde la tabla Requerimiento de Personal Lima.
-
contratado se mapea desde la tabla Entrevista.
-
Reglas de validación (p.ej., sólo registros validados):
-
Si no existe la tabla destino se inserta un error en error_reports.
-
Validación de creación de tabla report_requerimiento_personal_lima_YYYY_MM.
-
Reglas condicionales (si X entonces Y):
-
Si no existe la tabla del mes actual → se crean hasta 12 meses atrás.
-
Si no existen CVs → se guarda registro con documento, nombre_completo, entrevista y contrato en None.
-
Si ocurre error → se inserta en emp_reportes_validation con status 0.
6) Estructura de salida
-
Tabla/archivo destino: report_requerimiento_personal_lima_YYYY_MM
-
Particionado / sufijo: report_requerimiento_personal_lima_YYYY_MM
-
Clave(s) primaria(s) o únicas: No aplica
-
Columnas del reporte (nombre → tipo → descripción):
-
rq_personal → VARCHAR(50) → ID del requerimiento de personal
-
f_solicitud → DATE → Fecha de solicitud
-
reclutador → VARCHAR(100) → Usuario asignado al requerimiento
-
puesto → VARCHAR(100) → Puesto solicitado
-
f_reclutamiento → DATETIME → Fecha compromiso de cobertura o creación del CV
-
estado_rp → VARCHAR(50) → Estado del requerimiento
-
documento → VARCHAR(50) → DNI del postulante
-
nombre_completo → VARCHAR(255) → Nombre del postulante
-
f_entrevista → DATE → Fecha de entrevista
-
f_contrato → DATE → Fecha de inicio del contrato
-
Ordenamiento por defecto: No se especifica ORDER BY
7) Frecuencia y operación
-
Frecuencia de actualización: PENDIENTE (Esperando info de Eduardo)
-
Ventana que recalcula (días/meses): Se recalcula desde el primer día al último día de cada mes.
-
Tamaño de lote / paginado (chunking): Los datos se procesan en lotes de 900 registros.
-
Tolerancia a fallos / reintentos: Los datos se procesan en lotes de 900 registros.
-
Tiempos de ejecución esperados: PENDIENTE (Esperando info de Eduardo)
8) Calidad y controles
-
Validaciones previas/post:
-
Previas: Verificar existencia de tabla destino (exist_table_bd).
-
Post: Registro en emp_reportes_validation con status=1 si es exitoso o status=0 si falla.
-
Controles de duplicados: No aplica control de duplicados.
-
Métricas de completitud (qué se monitorea):
-
Validación de estados de inserción en emp_reportes_validation (1 éxito, 0 fallo).
-
Validación de existencia de tabla destino.
9) Dependencias externas
-
APIs / servicios y endpoints:
-
API: APICAPACITACION
-
Servicio: Reporte Requerimiento de Personal Lima
-
Endpoint: method/erpnext.education.doctype.requerimiento_de_personal_lima.api.report
-
Autenticación / headers: No se encontró.
-
Mapeos y contratos de datos:
-
Mapeo: Datos del API se insertan en tabla report_requerimiento_personal_lima_YYYY_MM.
-
Contrato de datos: El API debe devolver los campos: name, fecha_de_requerimiento, _assign, compromiso_cobertura, documento_convocatoria, puesto, estado_rp.
10) Historial de cambios
2025-09-29 15:45 - Elian Franco Arroyo Rodas - Documentación inicial
No hay comentarios para mostrar
No hay comentarios para mostrar