# 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