erp-construccion/docs/01-analisis-referencias/MAPEO-MAI-TO-MGN.md

478 lines
11 KiB
Markdown

# Mapeo de Modulos: MAI (Construccion) -> MGN (Generico)
**Documento:** Mapeo de Modulos entre ERP Construccion y ERP Generico
**Fecha:** 2025-11-24
**Responsable:** Architecture-Analyst
**Version:** 1.0.0
---
## Proposito
Este documento define el mapeo entre los modulos del ERP Construccion (prefijo MAI/MAE/MAA) y los modulos del ERP Generico (prefijo MGN), identificando que componentes son reutilizables y cuales son especificos de construccion.
## Resumen de Reutilizacion
| Tipo | Cantidad | % |
|------|----------|---|
| **Modulos 100% Genericos** | 5 | 29% |
| **Modulos Parcialmente Genericos** | 6 | 35% |
| **Modulos 100% Especificos** | 6 | 35% |
| **TOTAL** | **17** | 100% |
**Porcentaje Global de Reutilizacion:** 61%
---
## Mapeo Detallado
### FASE 1: Alcance Inicial (MAI-XXX)
#### MAI-001: Fundamentos -> MGN-001: Fundamentos
| Aspecto | Valor |
|---------|-------|
| **Reutilizacion** | 100% GENERICO |
| **Modulo Generico** | MGN-001 Fundamentos |
| **Componentes Genericos** | auth, users, roles, permissions, sessions |
| **Componentes Especificos** | Ninguno |
**Detalle:**
```yaml
tablas_genericas:
- auth.users
- auth.roles
- auth.permissions
- auth.user_roles
- auth.sessions
- auth.refresh_tokens
backend_generico:
- AuthModule
- UsersModule
- RolesModule
- PermissionsModule
frontend_generico:
- LoginPage
- UserManagement
- RoleManagement
```
---
#### MAI-002: Proyectos y Estructura -> MGN-009: Proyectos + ESPECIFICO
| Aspecto | Valor |
|---------|-------|
| **Reutilizacion** | 40% GENERICO / 60% ESPECIFICO |
| **Modulo Generico** | MGN-009 Proyectos (base) |
| **Componentes Genericos** | projects base, project_status |
| **Componentes Especificos** | fraccionamientos, etapas, manzanas, lotes, torres, prototipos |
**Detalle:**
```yaml
tablas_genericas:
- projects.projects (base)
- projects.project_members
tablas_especificas:
- construction.fraccionamientos
- construction.etapas
- construction.manzanas
- construction.lotes
- construction.torres
- construction.niveles
- construction.departamentos
- construction.prototipos
- construction.lote_prototipo
backend_especifico:
- FraccionamientosModule
- LotesModule
- PrototiposModule
- EstructuraObraModule
frontend_especifico:
- FraccionamientoForm
- LotesGrid
- PrototipoSelector
- EstructuraTree
```
---
#### MAI-003: Presupuestos y Control de Costos -> ESPECIFICO
| Aspecto | Valor |
|---------|-------|
| **Reutilizacion** | 0% - 100% ESPECIFICO |
| **Modulo Generico** | Ninguno |
| **Componentes Especificos** | presupuestos, APUs, conceptos, explosiones, control costos |
**Detalle:**
```yaml
tablas_especificas:
- construction.presupuestos
- construction.presupuesto_partidas
- construction.apus # Analisis de Precios Unitarios
- construction.apu_insumos
- construction.conceptos
- construction.explosiones_insumos
- construction.control_costos
- construction.comparativo_presupuestal
backend_especifico:
- PresupuestosModule
- APUsModule
- ControlCostosModule
frontend_especifico:
- PresupuestoEditor
- APUForm
- ComparativoPresupuestal
- ExplosionInsumos
```
---
#### MAI-004: Compras e Inventarios -> MGN-005 + MGN-006
| Aspecto | Valor |
|---------|-------|
| **Reutilizacion** | 80% GENERICO / 20% ESPECIFICO |
| **Modulos Genericos** | MGN-005 Inventario, MGN-006 Compras |
| **Componentes Genericos** | productos, almacenes, movimientos, ordenes compra, proveedores |
| **Componentes Especificos** | requisiciones obra, almacen por proyecto |
**Detalle:**
```yaml
tablas_genericas:
- inventory.products
- inventory.warehouses
- inventory.stock_moves
- inventory.stock_quants
- purchase.suppliers
- purchase.purchase_orders
- purchase.purchase_order_lines
tablas_especificas:
- construction.requisiciones_obra
- construction.requisicion_lineas
- construction.almacen_proyecto # Almacen por obra
backend_generico:
- ProductsModule
- WarehousesModule
- StockModule
- PurchaseModule
- SuppliersModule
backend_especifico:
- RequisicionesObraModule
frontend_especifico:
- RequisicionObraForm
- AlmacenProyectoView
```
---
#### MAI-005: Control de Obra y Avances -> ESPECIFICO
| Aspecto | Valor |
|---------|-------|
| **Reutilizacion** | 0% - 100% ESPECIFICO |
| **Modulo Generico** | Ninguno |
| **Componentes Especificos** | avances fisicos, % completado, bitacora, checkpoints |
**Detalle:**
```yaml
tablas_especificas:
- construction.avances_obra
- construction.avance_conceptos
- construction.bitacora_obra
- construction.checkpoints
- construction.fotos_avance
- construction.programa_obra # Gantt
backend_especifico:
- AvancesObraModule
- BitacoraModule
- ProgramaObraModule
frontend_especifico:
- AvanceCapture
- BitacoraView
- GanttChart
- FotosAvance
```
---
#### MAI-006: Reportes y Analytics -> MGN-014 + MGN-008
| Aspecto | Valor |
|---------|-------|
| **Reutilizacion** | 60% GENERICO / 40% ESPECIFICO |
| **Modulos Genericos** | MGN-014 Reportes, MGN-008 Analitica |
| **Componentes Genericos** | dashboards base, reportes financieros |
| **Componentes Especificos** | reportes obra, comparativos, avance grafico |
**Detalle:**
```yaml
generico:
- Dashboard base
- Reportes financieros (P&L, Balance)
- Contabilidad analitica por proyecto
- Graficas base (Chart.js)
especifico:
- Dashboard Director de Obra
- Dashboard Residente
- Reporte Avance Fisico vs Financiero
- Comparativo Presupuestal
- Curva S
- Reporte INFONAVIT
```
---
#### MAI-007: RRHH y Asistencias -> MGN-010: RRHH + ESPECIFICO
| Aspecto | Valor |
|---------|-------|
| **Reutilizacion** | 50% GENERICO / 50% ESPECIFICO |
| **Modulo Generico** | MGN-010 RRHH |
| **Componentes Genericos** | employees, contracts, departments |
| **Componentes Especificos** | asistencias GPS, biometrico, destajo |
**Detalle:**
```yaml
tablas_genericas:
- hr.employees
- hr.contracts
- hr.departments
- hr.job_positions
tablas_especificas:
- construction.asistencias
- construction.asistencia_gps
- construction.asistencia_biometrico
- construction.destajo
- construction.destajo_empleado
backend_especifico:
- AsistenciasModule (GPS)
- BiometricoModule
- DestajoModule
frontend_especifico:
- AsistenciaCapture (Mobile)
- GPSTracker
- DestajoCalculator
```
---
#### MAI-008: Estimaciones y Facturacion -> ESPECIFICO
| Aspecto | Valor |
|---------|-------|
| **Reutilizacion** | 20% GENERICO / 80% ESPECIFICO |
| **Modulo Generico** | MGN-004 Financiero (parcial) |
| **Componentes Especificos** | estimaciones, anticipos, retenciones, generadores |
**Detalle:**
```yaml
tablas_genericas:
- financial.invoices (base)
tablas_especificas:
- estimates.estimaciones
- estimates.estimacion_conceptos
- estimates.generadores
- estimates.anticipos
- estimates.retenciones
- estimates.amortizaciones
- estimates.workflow_estimacion
backend_especifico:
- EstimacionesModule
- GeneradoresModule
- AnticiposModule
- RetencionesModule
frontend_especifico:
- EstimacionForm
- GeneradorEditor
- AnticiposRetenciones
- WorkflowEstimacion
```
---
#### MAI-009: Calidad, Postventa y Garantias -> ESPECIFICO
| Aspecto | Valor |
|---------|-------|
| **Reutilizacion** | 10% GENERICO / 90% ESPECIFICO |
| **Componentes Especificos** | check-lists, punchlists, garantias, tickets postventa |
---
#### MAI-010: CRM Derechohabientes -> MGN-011 + MGN-013 + ESPECIFICO
| Aspecto | Valor |
|---------|-------|
| **Reutilizacion** | 40% GENERICO / 60% ESPECIFICO |
| **Modulos Genericos** | MGN-011 CRM (parcial), MGN-013 Portal |
| **Componentes Especificos** | derechohabientes INFONAVIT, asignacion vivienda |
---
#### MAI-011: INFONAVIT y Cumplimiento -> ESPECIFICO
| Aspecto | Valor |
|---------|-------|
| **Reutilizacion** | 0% - 100% ESPECIFICO |
| **Componentes Especificos** | reportes INFONAVIT, actas, cumplimiento regulatorio |
---
#### MAI-012: Contratos y Subcontratos -> ESPECIFICO
| Aspecto | Valor |
|---------|-------|
| **Reutilizacion** | 20% GENERICO / 80% ESPECIFICO |
| **Componentes Especificos** | contratos subcontratistas, destajo, penalizaciones |
---
#### MAI-013: Administracion y Seguridad -> MGN-001 + MGN-012
| Aspecto | Valor |
|---------|-------|
| **Reutilizacion** | 80% GENERICO / 20% ESPECIFICO |
| **Modulos Genericos** | MGN-001 Auth, MGN-012 Notificaciones |
---
### FASE 2: Enterprise (MAE-XXX)
#### MAE-014: Finanzas y Controlling -> MGN-004 + MGN-008
| Aspecto | Valor |
|---------|-------|
| **Reutilizacion** | 70% GENERICO / 30% ESPECIFICO |
---
#### MAE-015: Activos y Maquinaria -> ESPECIFICO
| Aspecto | Valor |
|---------|-------|
| **Reutilizacion** | 30% GENERICO / 70% ESPECIFICO |
---
#### MAE-016: Gestion Documental -> MGN-014 (parcial)
| Aspecto | Valor |
|---------|-------|
| **Reutilizacion** | 50% GENERICO / 50% ESPECIFICO |
---
### FASE 3: Avanzada (MAA-XXX)
#### MAA-017: Seguridad, Riesgos y HSE -> ESPECIFICO
| Aspecto | Valor |
|---------|-------|
| **Reutilizacion** | 0% - 100% ESPECIFICO |
---
## Matriz de Dependencias
```
MGN-001 (Fundamentos) <-- MAI-001 (100%)
<-- MAI-013 (80%)
MGN-004 (Financiero) <-- MAI-008 (20%)
<-- MAE-014 (70%)
MGN-005 (Inventario) <-- MAI-004 (80%)
MGN-006 (Compras) <-- MAI-004 (80%)
MGN-008 (Analitica) <-- MAI-006 (60%)
<-- MAE-014 (70%)
MGN-009 (Proyectos) <-- MAI-002 (40%)
MGN-010 (RRHH) <-- MAI-007 (50%)
MGN-011 (CRM) <-- MAI-010 (40%)
MGN-013 (Portal) <-- MAI-010 (40%)
MGN-014 (Reportes) <-- MAI-006 (60%)
<-- MAE-016 (50%)
```
---
## Estrategia de Implementacion
### Paso 1: Dependencias del ERP Generico
```json
{
"dependencies": {
"@erp-generic/auth": "^1.0.0",
"@erp-generic/core": "^1.0.0",
"@erp-generic/financial": "^1.0.0",
"@erp-generic/inventory": "^1.0.0",
"@erp-generic/purchasing": "^1.0.0",
"@erp-generic/analytics": "^1.0.0",
"@erp-generic/hr": "^1.0.0",
"@erp-generic/ui-components": "^1.0.0"
}
}
```
### Paso 2: Extension de Modulos Genericos
```typescript
// Ejemplo: Extender proyecto generico para construccion
import { Project } from '@erp-generic/projects';
export class Fraccionamiento extends Project {
etapas: Etapa[];
manzanas: Manzana[];
// Especifico de construccion
}
```
### Paso 3: Modulos Especificos de Construccion
```
@construccion/presupuestos
@construccion/estimaciones
@construccion/avances-obra
@construccion/infonavit
@construccion/calidad
```
---
## Referencias
- [ERP Generico - Lista de Modulos](/projects/erp-generic/docs/01-definicion-modulos/LISTA-MODULOS-ERP-GENERICO.md)
- [ERP Generico - Alcance por Modulo](/projects/erp-generic/docs/01-definicion-modulos/ALCANCE-POR-MODULO.md)
- [Retroalimentacion ERP Construccion](/projects/erp-generic/docs/01-definicion-modulos/RETROALIMENTACION-ERP-CONSTRUCCION.md)
---
**Ultima actualizacion:** 2025-11-24
**Version:** 1.0.0