erp-construccion/orchestration/00-guidelines/HERENCIA-ERP-CORE.md

8.4 KiB

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

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

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

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)

schemas_core:
  - auth (con extension vertical)
  - core_users
  - core_rbac
  - core_tenants (extendido)
  - core_catalogs (extendido)
  - core_audit
  - core_notifications

Propios de Construccion

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:

-- 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