erp-core/docs/01-analisis-referencias/construccion/COMPONENTES-ESPECIFICOS.md

20 KiB

Componentes Específicos de Construcción (No Migrar)

Documento: Análisis de Componentes Específicos de Construcción Proyecto: ERP Construcción Fecha: 2025-11-23 Analista: Architecture-Analyst Estado: Completado


Introducción

Este documento identifica los componentes del ERP Construcción que son específicos de la industria de construcción y que NO deben migrarse al ERP Genérico, sino permanecer en el proyecto erp-construccion.

Criterios para Considerar un Componente Específico

Un componente se considera específico de construcción si cumple al menos 2 de los siguientes criterios:

  1. Lógica de Negocio Única: Contiene reglas de negocio exclusivas de construcción/INFONAVIT
  2. Entidades Únicas: Maneja entidades que solo existen en construcción (lotes, manzanas, prototipos de vivienda)
  3. Regulaciones Específicas: Implementa cumplimiento normativo específico (INFONAVIT, IMSS construcción)
  4. Cálculos Especializados: Realiza cálculos únicos de construcción (estimaciones, curva S, avances físicos)
  5. Bajo Potencial de Reutilización: Menos del 30% de otros proyectos lo necesitarían

1. COMPONENTES DE BASE DE DATOS ESPECÍFICOS

1.1 Schemas Específicos de Construcción

Schema Ubicación Descripción Razón Específica Permanece en
project_management construccion/database/ddl/ Proyectos, manzanas, lotes, prototipos de vivienda Estructura jerárquica única de fraccionamientos INFONAVIT erp-construccion
construction_management construccion/database/ddl/ Control de obra, avances físicos, recursos de construcción Lógica de control de obra específica erp-construccion
quality_management construccion/database/ddl/ Inspecciones, pruebas de calidad, postventa de vivienda QA específico de construcción erp-construccion
infonavit_management construccion/database/ddl/ Integración INFONAVIT, cumplimiento normativo Regulación específica México INFONAVIT erp-construccion

Total: 4 schemas específicos (de 7 totales)

1.2 Tablas Específicas por Schema

Schema: project_management (100% específico)

Tabla Descripción Razón Específica Permanece en
projects Proyectos de construcción Campos específicos: tipo_vivienda, normas_infonavit, etapa_obra erp-construccion
development_phases Fases de desarrollo (etapas de obra) Nomenclatura INFONAVIT, avances por etapa erp-construccion
blocks Manzanas del fraccionamiento Concepto único de urbanización erp-construccion
lots Lotes individuales Identificación catastral, escrituración erp-construccion
housing_prototypes Prototipos de vivienda Modelos de casa (1 recámara, 2 recámaras, etc.) erp-construccion
prototype_assignments Asignación de prototipo a lote Relación específica construcción erp-construccion
project_teams Equipos de proyecto Roles específicos: residente, maestro de obra erp-construccion
project_milestones Hitos de proyecto de construcción Hitos específicos: cimentación, estructura, acabados erp-construccion

Subtotal: 8 tablas específicas

Schema: construction_management (100% específico)

Tabla Descripción Razón Específica Permanece en
work_schedules Programas de obra Curva S, ruta crítica erp-construccion
work_schedule_items Conceptos del programa WBS específico de construcción erp-construccion
physical_progress Avances físicos de obra Cálculo % avance por concepto erp-construccion
progress_evidence Evidencias fotográficas de avance Geo-localización de fotos de obra erp-construccion
quality_checklists Checklists de calidad en obra Listas específicas de construcción erp-construccion
construction_resources Recursos de construcción Maquinaria, herramienta específica erp-construccion
labor_tracking Tracking de mano de obra Jornal, cuadrillas, destajistas erp-construccion
material_usage Consumo de materiales en obra Explosión de insumos por concepto erp-construccion

Subtotal: 8 tablas específicas

Schema: financial_management (10% específico)

Tabla Descripción Razón Específica Permanece en
construction_estimates Estimaciones de obra Documento específico: generadores, números erp-construccion

Subtotal: 1 tabla específica (el resto es genérico)

Schema: quality_management (100% específico)

Tabla Descripción Razón Específica Permanece en
quality_inspections Inspecciones de calidad Inspecciones específicas construcción erp-construccion
inspection_items Items de inspección Checklist construcción (cimentación, muros, etc.) erp-construccion
test_results Resultados de pruebas Pruebas de laboratorio (concreto, suelo) erp-construccion
non_conformities No conformidades Issues específicos de construcción erp-construccion
warranty_claims Reclamaciones de garantía Garantías de vivienda post-entrega erp-construccion
post_sale_services Servicios postventa Atención post-entrega de vivienda erp-construccion

Subtotal: 6 tablas específicas

Schema: infonavit_management (100% específico)

Tabla Descripción Razón Específica Permanece en
beneficiaries Derechohabientes INFONAVIT Específico México INFONAVIT erp-construccion
infonavit_credits Créditos INFONAVIT NSS, monto crédito, modalidad erp-construccion
lot_assignments Asignación lote a derechohabiente Proceso INFONAVIT de asignación erp-construccion
escrituracion Proceso de escrituración Trámite legal específico erp-construccion
delivery_acts Actas de entrega-recepción Documento legal entrega vivienda erp-construccion
infonavit_compliance Cumplimiento normativo INFONAVIT Reportes regulatorios erp-construccion
housing_subsidies Subsidios de vivienda Cofinavit, subsidios federales erp-construccion

Subtotal: 7 tablas específicas

Total Tablas Específicas: 30 tablas (de ~70 totales = 43%)


2. COMPONENTES DE BACKEND ESPECÍFICOS

2.1 Módulos Backend Específicos

Módulo Ubicación Descripción Razón Específica Permanece en
projects backend/src/modules/projects/ Gestión de proyectos de construcción Lógica de fraccionamientos, manzanas, lotes erp-construccion
budgets backend/src/modules/budgets/ Presupuestos de obra Explosión de insumos, APUs construcción erp-construccion
construction backend/src/modules/construction/ Control de obra y avances Curva S, ruta crítica, avances físicos erp-construccion
estimates backend/src/modules/estimates/ Estimaciones de obra Generadores, números generadores erp-construccion
quality backend/src/modules/quality/ Calidad y postventa QA específico construcción erp-construccion
infonavit backend/src/modules/infonavit/ Integración INFONAVIT API INFONAVIT, cumplimiento erp-construccion
beneficiaries backend/src/modules/beneficiaries/ CRM Derechohabientes Gestión específica INFONAVIT erp-construccion
contracts backend/src/modules/contracts/ Contratos de construcción Contratos obra, subcontratistas erp-construccion

Total: 8 módulos backend específicos (de ~13 totales = 62%)

2.2 Servicios Específicos

Servicio Archivo Descripción Razón Específica Permanece en
CurvaSCalculator services/curva-s.service.ts Cálculo de curva S Algoritmo específico construcción erp-construccion
PhysicalProgressCalculator services/progress.service.ts Cálculo de avances físicos Lógica de ponderación de conceptos erp-construccion
EstimateGenerator services/estimate.service.ts Generación de estimaciones Formato específico construcción erp-construccion
INFONAVITApiService services/infonavit-api.service.ts Integración API INFONAVIT API específica México erp-construccion
APUCalculator services/apu.service.ts Análisis de precios unitarios Explosión de insumos construcción erp-construccion

Total: 5 servicios específicos


3. COMPONENTES DE FRONTEND ESPECÍFICOS

3.1 Features Específicas

Feature Ubicación Descripción Razón Específica Permanece en
projects frontend/src/features/projects/ Gestión de proyectos de construcción UI específica: manzanas, lotes erp-construccion
construction frontend/src/features/construction/ Control de obra Dashboard curva S, avances erp-construccion
estimates frontend/src/features/estimates/ Estimaciones Generadores, formato específico erp-construccion
quality frontend/src/features/quality/ Calidad y postventa Checklists construcción erp-construccion
infonavit frontend/src/features/infonavit/ INFONAVIT UI derechohabientes, créditos erp-construccion
beneficiaries frontend/src/features/beneficiaries/ CRM Derechohabientes Pipeline ventas INFONAVIT erp-construccion

Total: 6 features específicas

3.2 Componentes UI Específicos

Componente Archivo Descripción Razón Específica Permanece en
LotSelector components/LotSelector.tsx Selector de lotes en manzana Visualización plano manzana erp-construccion
CurvaSChart components/CurvaSChart.tsx Gráfica curva S Chart específico construcción erp-construccion
ProgressTracker components/ProgressTracker.tsx Tracker de avances UI específica % avances erp-construccion
EstimateForm components/EstimateForm.tsx Formulario de estimación Generadores, conceptos obra erp-construccion
QualityChecklist components/QualityChecklist.tsx Checklist de calidad Items específicos construcción erp-construccion
PrototypeViewer components/PrototypeViewer.tsx Visualizador de prototipos Renders 3D de viviendas erp-construccion
INFONAVITForm components/INFONAVITForm.tsx Formulario INFONAVIT Campos específicos INFONAVIT erp-construccion

Total: 7 componentes UI específicos (de ~50 totales = 14%)

3.3 Páginas Específicas

Página Ruta Descripción Razón Específica Permanece en
Projects List /projects Lista de proyectos construcción Filtros específicos construcción erp-construccion
Project Detail /projects/:id Detalle proyecto (manzanas, lotes) Vista específica fraccionamiento erp-construccion
Budgets /budgets Presupuestos de obra APUs, explosión insumos erp-construccion
Construction Control /construction Control de obra Curva S, avances físicos erp-construccion
Estimates /estimates Estimaciones Generadores, formato específico erp-construccion
Quality /quality Calidad y postventa Inspecciones, garantías erp-construccion
INFONAVIT /infonavit Dashboard INFONAVIT Derechohabientes, créditos erp-construccion

Total: 7 páginas específicas (de ~30 totales = 23%)


4. LÓGICA DE NEGOCIO ESPECÍFICA

4.1 Cálculos Especializados

Cálculo Descripción Razón Específica Permanece en
Curva S Programación de obra con curva S Algoritmo específico construcción erp-construccion
Avance Físico Cálculo de % avance ponderado Ponderación por concepto y monto erp-construccion
Explosión de Insumos APU → Materiales/Mano de obra Análisis de precios unitarios erp-construccion
Estimación de Obra Generación de estimaciones Formato constructor/supervisor erp-construccion
Presupuesto de Prototipo Presupuesto base por m² Cálculo específico vivienda erp-construccion

4.2 Workflows Específicos

Workflow Descripción Razón Específica Permanece en
Licitación → Obra → Entrega Ciclo de vida proyecto construcción Estados específicos construcción erp-construccion
Asignación de Lotes Derechohabiente → Lote Proceso INFONAVIT erp-construccion
Estimación → Pago Flujo estimaciones de obra Formato y aprobaciones específicas erp-construccion
Inspección → Entrega Calidad y entrega de vivienda QA + acta entrega-recepción erp-construccion

4.3 Validaciones Específicas

Validación Descripción Razón Específica Permanece en
NSS válido Validar Número de Seguro Social Formato IMSS México erp-construccion
Crédito INFONAVIT Validar monto crédito vs precio vivienda Reglas INFONAVIT erp-construccion
% Avance Físico Validar avance ≤ 100% Lógica de control de obra erp-construccion
Lote disponible Validar lote no asignado Regla de asignación única erp-construccion

5. RESUMEN CUANTITATIVO

Categoría Componentes Específicos Componentes Totales % Específico
Schemas DB 4 7 57%
Tablas DB 30 70+ 43%
Módulos Backend 8 13 62%
Servicios Backend 5 12 42%
Features Frontend 6 10 60%
Componentes UI 7 50 14%
Páginas 7 30+ 23%
TOTAL 67 componentes 235+ componentes ~29%

Complemento:

  • Componentes Genéricos: 143 (61%)
  • Componentes Específicos: 67 (29%)
  • Componentes Compartidos (adaptables): 25 (10%)

6. COMPONENTES COMPARTIDOS (Adaptar con Configuración)

Existen componentes que podrían compartirse entre genérico y específico mediante configuración:

Componente Tipo Estrategia Ubicación
DataTable UI Genérico con columnas configurables erp-generic (shared)
Dashboard UI Template genérico + widgets específicos erp-generic (template) + erp-construccion (widgets)
Reports Backend Motor de reportes genérico + templates específicos erp-generic (engine) + erp-construccion (templates)
Notifications Backend Sistema genérico + eventos específicos erp-generic (system) + erp-construccion (events)
Workflows Backend Engine genérico + estados específicos erp-generic (engine) + erp-construccion (definitions)

Total: 5 componentes compartidos/configurables


7. JUSTIFICACIÓN POR QUÉ NO MIGRAR

7.1 Bajo Potencial de Reutilización

Componentes de INFONAVIT:

  • Uso: Solo México, solo vivienda social
  • Proyectos que lo usarían: 1 (solo ERP Construcción)
  • Reutilización: 0%

Componentes de Fraccionamientos:

  • Uso: Específico de urbanización/vivienda horizontal
  • Proyectos que lo usarían: 1-2 (solo construcción, quizá inmobiliaria)
  • Reutilización: 10%

Componentes de Control de Obra:

  • Uso: Construcción, posiblemente manufactura por proyectos
  • Proyectos que lo usarían: 2 (construcción, mecánicas con adaptación)
  • Reutilización: 20%

7.2 Complejidad de Abstracción

Algunos componentes específicos son tan complejos que intentar abstraerlos al genérico resultaría en:

  1. Over-engineering: Demasiada complejidad para soportar edge cases
  2. Pérdida de simplicidad: El genérico se volvería complejo
  3. Mantenibilidad reducida: Difícil de mantener
  4. ROI negativo: Más esfuerzo de abstracción que beneficio

Ejemplos:

  • Curva S: Algoritmo complejo, específico construcción
  • Estimaciones: Formato muy específico, regulado
  • APUs: Explosión de insumos única construcción

8. ESTRATEGIA DE MANTENIMIENTO

8.1 Componentes Específicos en ERP Construcción

Ubicación:

projects/
└── erp-construccion/
    ├── apps/
    │   ├── backend/
    │   │   └── src/
    │   │       └── modules/
    │   │           ├── projects/       # Específico
    │   │           ├── construction/   # Específico
    │   │           ├── estimates/      # Específico
    │   │           ├── quality/        # Específico
    │   │           ├── infonavit/      # Específico
    │   │           └── beneficiaries/  # Específico
    │   │
    │   └── frontend/
    │       └── src/
    │           └── features/
    │               ├── projects/       # Específico
    │               ├── construction/   # Específico
    │               ├── estimates/      # Específico
    │               └── infonavit/      # Específico
    │
    └── database/
        └── ddl/
            ├── project_management/     # Específico
            ├── construction_management/ # Específico
            ├── quality_management/     # Específico
            └── infonavit_management/   # Específico

8.2 Dependencias con ERP Genérico

ERP Construcción depende de ERP Genérico:

// erp-construccion/package.json
{
  "dependencies": {
    "@erp-generic/core": "^1.0.0",          // Auth, RBAC, Companies
    "@erp-generic/financial": "^1.0.0",     // Contabilidad base
    "@erp-generic/purchasing": "^1.0.0",    // Compras base
    "@erp-generic/ui-components": "^1.0.0"  // Componentes UI
  }
}

Relación:

  • ERP Construcción EXTIENDE ERP Genérico
  • ERP Construcción NO modifica ERP Genérico
  • ERP Genérico es independiente de Construcción

9. CONCLUSIONES

9.1 Hallazgos Principales

  1. 29% de componentes son específicos: 67 de 235 componentes deben permanecer en ERP Construcción
  2. INFONAVIT es altamente específico: 7 tablas + 2 módulos + 2 features solo para México
  3. Control de Obra tiene potencial limitado: Solo 20% reutilización (construcción + mecánicas)
  4. UI es mayormente genérica: Solo 14% de componentes UI son específicos

9.2 Recomendaciones

  1. NO migrar componentes INFONAVIT: 0% reutilización en otros proyectos
  2. NO migrar componentes de fraccionamientos: Muy específicos de vivienda horizontal
  3. CONSIDERAR abstraer workflows: Motor de workflows genérico + estados específicos
  4. MANTENER separación clara: ERP Construcción extiende, no modifica Genérico

9.3 Validación de la Decisión

Criterios de éxito:

  • ERP Genérico NO contiene lógica de construcción
  • ERP Construcción puede evolucionar independientemente
  • Otros proyectos (Vidrio, Mecánicas) NO necesitan componentes específicos construcción
  • Mantenibilidad: Cada proyecto es responsable de su lógica específica

Fecha de Creación: 2025-11-23 Versión: 1.0 Estado: Completado Próximo Documento: MEJORAS-ARQUITECTONICAS.md