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

272 lines
8.4 KiB
Markdown

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