erp-construccion-database-v2/VALIDACION-DDL-INVENTARIOS.md
rckrdmrd bf97e26cdf Migración desde erp-construccion/database - Estándar multi-repo v2
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 08:11:21 -06:00

11 KiB

VALIDACION DDL vs INVENTARIOS - ERP CONSTRUCCION

Fecha: 2025-12-06 Version: 1.0.0 Generado por: Requirements-Analyst


RESUMEN EJECUTIVO

Metrica Inventarios DDL Real Estado
Schemas 6 (+ 3 pendientes) 7 implementados DISCREPANCIA
Tablas declaradas 57 65 DISCREPANCIA
HSE Schema "pendiente" 58 tablas implementadas DESACTUALIZADO
ENUMs 22 89 (22 base + 67 HSE) DESACTUALIZADO

Conclusion General

Los inventarios MASTER_INVENTORY.yml y DATABASE_INVENTORY.yml estan DESACTUALIZADOS respecto al DDL implementado. El schema HSE con 58 tablas y 67 ENUMs ya fue implementado pero los inventarios lo marcan como "pendiente".


1. ANALISIS DE OBJETOS DDL IMPLEMENTADOS

1.1 Schemas Creados (7 schemas de negocio)

Schema Origen Tablas ENUMs Estado
core construccion 2 0 Implementado
core_shared construccion 0 0 Implementado (funciones)
construction construccion 2 0 Implementado
hr construccion 3 0 Implementado
hse construccion 58 67 IMPLEMENTADO
estimates construccion 0 0 Schema vacio
infonavit construccion 0 0 Schema vacio

1.2 Tablas por Schema (Conteo Real del DDL)

core (2 tablas)

  • core.tenants - Multi-tenancy base
  • core.users - Usuarios base

construction (2 tablas)

  • construction.proyectos - Proyectos de desarrollo
  • construction.fraccionamientos - Obras/fraccionamientos

hr (3 tablas)

  • hr.employees - Empleados
  • hr.puestos - Catalogo de puestos
  • hr.employee_fraccionamientos - Asignacion empleados a obras

hse (58 tablas) - RF-MAA017-001 a RF-MAA017-008

RF-MAA017-001 Gestion de Incidentes (5 tablas):

  • hse.incidentes
  • hse.incidente_involucrados
  • hse.incidente_investigacion
  • hse.incidente_acciones
  • hse.incidente_evidencias

RF-MAA017-002 Control de Capacitaciones (6 tablas):

  • hse.capacitaciones
  • hse.capacitacion_matriz
  • hse.instructores
  • hse.capacitacion_sesiones
  • hse.capacitacion_asistentes
  • hse.constancias_dc3

RF-MAA017-003 Inspecciones de Seguridad (7 tablas):

  • hse.tipos_inspeccion
  • hse.checklist_items
  • hse.programa_inspecciones
  • hse.inspecciones
  • hse.inspeccion_evaluaciones
  • hse.hallazgos
  • hse.hallazgo_evidencias

RF-MAA017-004 Control de EPP (7 tablas):

  • hse.epp_catalogo
  • hse.epp_matriz_puesto
  • hse.epp_asignaciones
  • hse.epp_inspecciones
  • hse.epp_bajas
  • hse.epp_inventario
  • hse.epp_movimientos

RF-MAA017-005 Cumplimiento STPS (11 tablas):

  • hse.normas_stps
  • hse.norma_requisitos
  • hse.cumplimiento_obra
  • hse.comision_seguridad
  • hse.comision_integrantes
  • hse.comision_recorridos
  • hse.programa_seguridad
  • hse.programa_actividades
  • hse.documentos_stps
  • hse.auditorias

RF-MAA017-006 Gestion Ambiental (9 tablas):

  • hse.residuos_catalogo
  • hse.residuos_generacion
  • hse.almacen_temporal
  • hse.proveedores_ambientales
  • hse.manifiestos_residuos
  • hse.manifiesto_detalle
  • hse.impacto_ambiental
  • hse.quejas_ambientales

RF-MAA017-007 Permisos de Trabajo (8 tablas):

  • hse.tipos_permiso_trabajo
  • hse.permisos_trabajo
  • hse.permiso_personal
  • hse.permiso_autorizaciones
  • hse.permiso_checklist
  • hse.permiso_monitoreos
  • hse.permiso_eventos
  • hse.permiso_documentos

RF-MAA017-008 Indicadores HSE (6 tablas):

  • hse.indicadores_config
  • hse.indicadores_meta_obra
  • hse.indicadores_valores
  • hse.horas_trabajadas
  • hse.dias_sin_accidente
  • hse.reportes_programados
  • hse.alertas_indicadores

1.3 ENUMs Implementados (89 total)

ENUMs HSE (67):

  • Incidentes: tipo_incidente, gravedad_incidente, estado_incidente, rol_involucrado, factor_causa
  • Capacitaciones: tipo_capacitacion, estado_sesion
  • Inspecciones: frecuencia, estado_inspeccion, resultado_evaluacion, gravedad_hallazgo, estado_hallazgo, tipo_evidencia
  • EPP: categoria_epp, estado_epp, estado_inspeccion_epp, motivo_baja_epp, tipo_movimiento_epp
  • STPS: estado_comision, rol_comision, representacion, estado_recorrido, estado_programa, tipo_actividad_programa, estado_actividad, tipo_documento_stps, tipo_auditoria, resultado_auditoria, estado_cumplimiento
  • Ambiental: categoria_residuo, unidad_residuo, estado_residuo, estado_almacen, tipo_proveedor_ambiental, estado_manifiesto, tipo_impacto, severidad, probabilidad, nivel_riesgo, estado_impacto, origen_queja, tipo_queja, estado_queja
  • Permisos: estado_permiso, rol_permiso, decision_autorizacion, momento_checklist, tipo_evento_permiso
  • Indicadores: tipo_indicador, frecuencia_calculo, periodo_tipo, estado_semaforo, fuente_horas, tipo_reporte_hse, formato_reporte, tipo_alerta_indicador

2. DISCREPANCIAS DETECTADAS

2.1 MASTER_INVENTORY.yml

Campo Valor Actual Valor Correcto Accion
metricas.database.schemas 6 7 Actualizar a 7
metricas.database.tablas 57 65 Actualizar a 65
metricas.database.enums 22 89 Actualizar a 89
schemas.hse.estado "pendiente" "implementado" Actualizar
schemas.hse.tablas 0 58 Actualizar a 58
schemas.hse.ddl "pendiente" "03-hse-schema-ddl.sql" Actualizar
modulos_fase_3.MAA-017.tablas 11 items 58 items Actualizar lista completa

2.2 DATABASE_INVENTORY.yml

Campo Valor Actual Valor Correcto Accion
resumen.schemas 6 7 Actualizar
resumen.tablas 57 65 Actualizar
resumen.enums 22 89 Actualizar
Schema hse No existe Agregar seccion completa FALTA
Tablas HSE 0 58 Agregar todas

2.3 Tablas Faltantes en Inventarios

Las siguientes 58 tablas HSE + 2 core + 2 construction + 3 hr = 65 tablas existen en DDL pero el inventario solo declara 57:

FALTANTES:

  • Todas las 58 tablas del schema hse
  • Las 2 tablas minimas de core (tenants, users)
  • La tabla hr.puestos
  • La tabla hr.employee_fraccionamientos
  • Las tablas de construction tienen nombres distintos en inventario vs DDL:
    • Inventario: fraccionamientos (sin proyecto_id directo)
    • DDL: proyectos + fraccionamientos (con proyecto_id)

3. TRAZABILIDAD RF -> DDL

3.1 Modulo MAA-017 Seguridad HSE

RF Nombre Tablas DDL Trazabilidad
RF-MAA017-001 Gestion de Incidentes 5 tablas COMPLETA
RF-MAA017-002 Control de Capacitaciones 6 tablas COMPLETA
RF-MAA017-003 Inspecciones de Seguridad 7 tablas COMPLETA
RF-MAA017-004 Control de EPP 7 tablas COMPLETA
RF-MAA017-005 Cumplimiento STPS 11 tablas COMPLETA
RF-MAA017-006 Gestion Ambiental 9 tablas COMPLETA
RF-MAA017-007 Permisos de Trabajo 8 tablas COMPLETA
RF-MAA017-008 Indicadores HSE 7 tablas COMPLETA

Total: 8 RFs -> 58 tablas + 67 ENUMs

3.2 Otros Modulos (Inventariados pero NO implementados en DDL)

Modulo Tablas Inventario Tablas DDL Estado
MAI-002 8 2 (proyectos, fraccionamientos) PARCIAL
MAI-003 3 0 SIN DDL
MAI-004 9 0 SIN DDL
MAI-005 5 0 SIN DDL
MAI-007 8 3 (employees, puestos, employee_fracc) PARCIAL
MAI-008 8 0 SIN DDL
MAI-009 5 0 SIN DDL
MAI-010 1 0 SIN DDL
MAI-011 7 0 SIN DDL
MAI-012 3 0 SIN DDL

4. POLITICA DE CARGA LIMPIA

4.1 Cumplimiento

Check Estado Detalle
No carpeta migrations/ OK No existe
No archivos fix-*.sql OK No existen
No archivos migration-*.sql OK No existen
Existe drop-and-recreate-database.sh OK Existe y es ejecutable
DDL en schemas/ OK 3 archivos SQL
Archivo init existe OK init-scripts/01-init-database.sql

Resultado: POLITICA CUMPLIDA (6/6 checks)

4.2 Archivos DDL Actuales

database/
├── init-scripts/
│   └── 01-init-database.sql      # Extensiones, schemas base, funciones core
├── schemas/
│   ├── 01-construction-schema-ddl.sql  # proyectos, fraccionamientos
│   ├── 02-hr-schema-ddl.sql            # employees, puestos, employee_fracc
│   └── 03-hse-schema-ddl.sql           # 58 tablas HSE
├── drop-and-recreate-database.sh       # Script carga limpia
└── validate-clean-load-policy.sh       # Validador de politica

5. ACCIONES REQUERIDAS

5.1 Prioridad ALTA (Inventarios Desactualizados)

  1. Actualizar MASTER_INVENTORY.yml:

    • Cambiar schemas.hse.estado de "pendiente" a "implementado"
    • Cambiar schemas.hse.tablas de 0 a 58
    • Agregar schemas.hse.ddl: 03-hse-schema-ddl.sql
    • Actualizar conteos globales
  2. Actualizar DATABASE_INVENTORY.yml:

    • Agregar seccion completa para schema hse con 58 tablas
    • Agregar 67 ENUMs de HSE
    • Actualizar conteos en resumen

5.2 Prioridad MEDIA (Completar DDL Faltante)

Los siguientes schemas tienen tablas inventariadas pero NO implementadas:

Schema Tablas Faltantes DDL Requerido
construction 22 tablas construction-schema-ddl.sql (expandir)
estimates 8 tablas estimates-schema-ddl.sql (crear)
infonavit 8 tablas infonavit-schema-ddl.sql (crear)
hr 5 tablas hr-schema-ddl.sql (expandir)
inventory 4 tablas inventory-ext-schema-ddl.sql (crear)
purchase 5 tablas purchase-ext-schema-ddl.sql (crear)

5.3 Prioridad BAJA (Documentacion)

  • Crear TRACEABILITY.yml por modulo cuando se implemente
  • Actualizar README de database/ con estructura actual

6. RESUMEN FINAL

Estado Actual

DDL Implementado:
├── core: 2 tablas (tenants, users)
├── construction: 2 tablas
├── hr: 3 tablas
├── hse: 58 tablas + 67 ENUMs  ← IMPLEMENTADO (inventario dice "pendiente")
├── estimates: schema vacio
├── infonavit: schema vacio
├── inventory: schema vacio
└── purchase: schema vacio

Total: 65 tablas, 89 ENUMs

Inventarios Declaran

MASTER + DATABASE_INVENTORY:
├── construction: 24 tablas (22 sin DDL)
├── estimates: 8 tablas (sin DDL)
├── infonavit: 8 tablas (sin DDL)
├── hr: 8 tablas (5 sin DDL)
├── inventory: 4 tablas (sin DDL)
├── purchase: 5 tablas (sin DDL)
└── hse: "pendiente" (INCORRECTO - tiene 58 tablas)

Total declarado: 57 tablas, 22 ENUMs

Gap Analysis

Categoria Inventario DDL Real Diferencia
Tablas 57 65 +8 (HSE +58, otros -50)
ENUMs 22 89 +67 (todos HSE)
Schemas implementados 6 7 +1 (hse)

Documento generado automaticamente como parte de la validacion de Sprint 0.