# Herencia de ERP Core - Vertical Construccion **Version:** 1.0.0 **Vertical:** Construccion **Nivel:** STANDALONE (proyecto independiente) **Version ERP-Core:** 1.2.0 **Ruta ERP-Core:** projects/erp-core **Herencia:** 60-70% de funcionalidad base de erp-core **Fecha Migracion:** 2025-12-27 --- ## RESUMEN DE HERENCIA Este documento especifica exactamente que hereda la vertical Construccion del ERP Core y como lo extiende. --- ## 1. MODULOS HEREDADOS (100%) Estos modulos se usan TAL CUAL del core, sin modificaciones: | Modulo Core | Codigo | Uso en Construccion | |-------------|--------|---------------------| | Auth | MGN-001 | Autenticacion JWT, OAuth, sessions | | Users | MGN-002 | Gestion de usuarios CRUD | | Roles | MGN-003 | RBAC, guards, decoradores | | Audit | MGN-007 | Auditoria, access logs | | Notifications | MGN-008 | Notificaciones in-app, email | | Reports | MGN-009 | Report builder basico | **Accion:** NO crear codigo para estos modulos. Usar directamente del core. --- ## 2. MODULOS HEREDADOS Y EXTENDIDOS Estos modulos heredan la base del core pero agregan funcionalidad especifica: ### MGN-004: Tenants → Empresas Constructoras ```yaml herencia_base: - Multi-tenancy basico - Aislamiento RLS - Subscripciones extension_construccion: - Constructora como tenant especializado - Campos adicionales: - rfc_constructora - licencia_construccion - registro_cmic - clasificacion_empresa (micro/pequena/mediana/grande) - Relaciones: - constructora → obras (1:N) - constructora → contratos (1:N) ``` ### MGN-005: Catalogs → Catalogos de Construccion ```yaml herencia_base: - CRUD de catalogos genericos - Estructura maestro-detalle extension_construccion: - Catalogo de conceptos de obra (OPUS style) - Catalogo de unidades de medida construccion - Catalogo de materiales de construccion - Catalogo de mano de obra especializada - Catalogo de equipo y maquinaria - Catalogo de APUs (Analisis de Precios Unitarios) ``` ### MGN-010: Financial → Contabilidad de Obra ```yaml herencia_base: - Plan de cuentas - Asientos contables - Periodos contables extension_construccion: - Cuentas por proyecto de obra - Centros de costo por etapa de obra - Integracion con estimaciones - Reportes financieros por obra ``` --- ## 3. ESPECIFICACIONES TRANSVERSALES HEREDADAS Del analisis de gaps vs Odoo 18, esta vertical hereda y usa: ### Obligatorias (Impacto Directo) | Especificacion | Gap | Uso | |----------------|-----|-----| | `SPEC-PROYECTOS-DEPENDENCIAS-BURNDOWN.md` | GAP-MGN-011 | Gestion de obras con dependencias | | `SPEC-MAIL-THREAD-TRACKING.md` | Patron tecnico | Tracking de comunicaciones en obras | | `SPEC-WIZARD-TRANSIENT-MODEL.md` | Patron tecnico | Wizards de generacion de estimaciones | | `SPEC-VALORACION-INVENTARIO.md` | GAP-MGN-005 | Valoracion de materiales en almacen | | `SPEC-TRAZABILIDAD-LOTES-SERIES.md` | GAP-MGN-005 | Trazabilidad de materiales | ### Recomendadas (Impacto Indirecto) | Especificacion | Gap | Uso | |----------------|-----|-----| | `SPEC-SISTEMA-SECUENCIAS.md` | GAP-MGN-004 | Foliado de contratos, estimaciones | | `SPEC-REPORTES-FINANCIEROS.md` | GAP-MGN-004 | Reportes de obra | | `SPEC-GASTOS-EMPLEADOS.md` | GAP-MGN-010 | Viaticos de residentes | | `SPEC-INTEGRACION-CALENDAR.md` | GAP-MGN-014 | Programacion de obra | **Ubicacion:** `erp-core/docs/04-modelado/especificaciones-tecnicas/transversal/` --- ## 4. WORKFLOWS HEREDADOS | Workflow | Aplicacion en Construccion | |----------|---------------------------| | `WORKFLOW-CIERRE-PERIODO-CONTABLE.md` | Cierre de periodo de obra | | `WORKFLOW-3-WAY-MATCH.md` | Validacion facturas vs entradas | | `WORKFLOW-PAGOS-ANTICIPADOS.md` | Anticipos de obra | --- ## 5. MODULOS PROPIOS (No heredados) Estos modulos son especificos de construccion y NO existen en el core: | Codigo | Modulo | Descripcion | |--------|--------|-------------| | MAI-002 | project_management | Gestion de obras | | MAI-003 | financial_management | Estimaciones, deductivas | | MAI-004 | contract_management | Contratos de obra | | MAI-005 | document_management | Control documental | | MAI-006 | bidding_management | Licitaciones | | MAI-007 | budget_management | Presupuestos de obra | | MAI-008 | warehouse_management | Almacen de obra | | MAI-009 | equipment_management | Maquinaria y equipo | | MAI-010 | quality_control | Control de calidad | | MAI-011 | safety_management | Seguridad industrial | --- ## 6. SCHEMAS DE BASE DE DATOS ### Heredados de Core (Usar directamente) ```yaml schemas_core: - auth (con extension vertical) - core_users - core_rbac - core_tenants (extendido) - core_catalogs (extendido) - core_audit - core_notifications ``` ### Propios de Construccion ```yaml schemas_vertical: - vertical_construccion - obras - contratos - estimaciones - presupuestos - almacen_obra - maquinaria - calidad - seguridad ``` --- ## 7. DEPENDENCIAS ENTRE MODULOS ``` ┌─────────────────┐ │ ERP CORE │ │ (60-70% base) │ └────────┬────────┘ │ ┌───────────────────┼───────────────────┐ │ │ │ ┌────▼────┐ ┌─────▼─────┐ ┌─────▼─────┐ │ Auth │ │ Tenants │ │ Financial │ │ (100%) │ │ (extendido)│ │(extendido)│ └────┬────┘ └─────┬─────┘ └─────┬─────┘ │ │ │ └───────────────────┼───────────────────┘ │ ┌────────▼────────┐ │ CONSTRUCCION │ │ (30-40% propio)│ └─────────────────┘ │ ┌───────────────────┼───────────────────┐ │ │ │ ┌────▼────┐ ┌─────▼─────┐ ┌─────▼─────┐ │ Obras │ │Estimaciones│ │ Almacen │ │ (propio)│ │ (propio) │ │ (propio) │ └─────────┘ └───────────┘ └──────────┘ ``` --- ## 8. REGLAS DE HERENCIA ### Al crear nuevo modulo vertical: 1. **Verificar si existe en core** - Si existe → EXTENDER, no duplicar - Si no existe → Crear en vertical 2. **Al extender modulo core:** - Heredar Entity base - Agregar campos con prefijo vertical - Mantener compatibilidad con interfaces core 3. **Al usar especificacion transversal:** - Leer spec completa antes de implementar - Adaptar a contexto de construccion - Documentar variaciones ### Al crear DDL: ```sql -- Schema vertical CREATE SCHEMA IF NOT EXISTS vertical_construccion; -- Tablas propias en schema vertical CREATE TABLE vertical_construccion.obras (...); -- Extensiones a core van en schema core con prefijo -- o como tabla relacionada en vertical ``` --- ## 9. ACTUALIZACIONES DEL CORE Cuando el core se actualiza: 1. **Revisar SUITE_MASTER_INVENTORY.yml** para cambios 2. **Verificar specs afectadas** en changelog 3. **Actualizar herencia** si hay nuevos modulos/specs 4. **Propagar cambios** a este documento --- ## 10. REFERENCIAS | Recurso | Ubicacion | |---------|-----------| | MASTER_INVENTORY Core | `erp-core/orchestration/inventarios/MASTER_INVENTORY.yml` | | Specs Transversales | `erp-core/docs/04-modelado/especificaciones-tecnicas/transversal/` | | Workflows | `erp-core/docs/04-modelado/workflows/` | | SUITE_MASTER_INVENTORY | `erp-suite/orchestration/inventarios/SUITE_MASTER_INVENTORY.yml` | | HERENCIA-DIRECTIVAS | `./HERENCIA-DIRECTIVAS.md` | --- *Sistema NEXUS + SIMCO v2.2.0* *Vertical: Construccion (Nivel 2B.2)* *Ultima actualizacion: 2025-12-08*