272 lines
8.4 KiB
Markdown
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*
|