# Database Map - ERP Construccion **Proyecto:** ERP Construccion **Version:** 1.0 **Ultima Actualizacion:** 2025-12-12 **Total Schemas:** 7 **Total Tablas:** 110 --- ## NAVEGACION RAPIDA ``` database/ ├── _MAP.md # Este archivo (indice maestro) ├── schemas/ # DDL por schema │ ├── 01-construction-schema-ddl.sql # 24 tablas │ ├── 02-hr-schema-ddl.sql # 8 tablas │ ├── 03-hse-schema-ddl.sql # 58 tablas │ ├── 04-estimates-schema-ddl.sql # 8 tablas │ ├── 05-infonavit-schema-ddl.sql # 8 tablas │ ├── 06-inventory-ext-schema-ddl.sql # 4 tablas │ └── 07-purchase-ext-schema-ddl.sql # 5 tablas ├── init-scripts/ # Scripts de inicializacion │ └── 01-init-database.sql ├── migrations/ # Migraciones TypeORM ├── seeds/ # Datos de prueba └── HERENCIA-ERP-CORE.md # Referencia a ERP-Core ``` --- ## SCHEMAS OVERVIEW | # | Schema | Tablas | Descripcion | Estado | |---|--------|--------|-------------|--------| | 1 | `construction` | 24 | Proyectos, estructura, avances | ✅ DDL | | 2 | `hr` | 8 | RRHH, asistencias, cuadrillas | ✅ DDL | | 3 | `hse` | 58 | Seguridad, incidentes, EPP | ✅ DDL | | 4 | `estimates` | 8 | Estimaciones, anticipos | ✅ DDL | | 5 | `infonavit` | 8 | INFONAVIT, derechohabientes | ✅ DDL | | 6 | `inventory` | 4 | Extension inventario obra | ✅ DDL | | 7 | `purchase` | 5 | Extension compras obra | ✅ DDL | --- ## DETALLE POR SCHEMA ### 1. Schema: `construction` (24 tablas) **DDL:** `schemas/01-construction-schema-ddl.sql` #### Estructura de Proyecto (8 tablas) | Tabla | Descripcion | FK Principales | |-------|-------------|----------------| | `proyectos` | Proyectos/obras | `auth.tenants`, `auth.users` | | `fraccionamientos` | Fraccionamientos | `proyectos` | | `etapas` | Etapas de construccion | `fraccionamientos` | | `manzanas` | Manzanas | `etapas` | | `lotes` | Lotes/unidades | `manzanas`, `prototipos` | | `torres` | Torres (vertical) | `fraccionamientos` | | `niveles` | Niveles/pisos | `torres` | | `departamentos` | Departamentos | `niveles`, `prototipos` | | `prototipos` | Tipos de vivienda | `fraccionamientos` | #### Presupuestos (3 tablas) | Tabla | Descripcion | |-------|-------------| | `conceptos` | Catalogo de conceptos de obra | | `presupuestos` | Presupuestos maestros | | `presupuesto_partidas` | Partidas presupuestales | #### Programacion y Avances (5 tablas) | Tabla | Descripcion | |-------|-------------| | `programa_obra` | Programa general de obra | | `programa_actividades` | Actividades programadas | | `avances_obra` | Registro de avances | | `fotos_avance` | Evidencias fotograficas | | `bitacora_obra` | Bitacora de obra | #### Calidad (5 tablas) | Tabla | Descripcion | |-------|-------------| | `checklists` | Checklists de calidad | | `checklist_items` | Items de checklist | | `inspecciones` | Inspecciones de calidad | | `inspeccion_resultados` | Resultados | | `tickets_postventa` | Tickets de postventa | #### Contratos (3 tablas) | Tabla | Descripcion | |-------|-------------| | `subcontratistas` | Catalogo subcontratistas | | `contratos` | Contratos de obra | | `contrato_partidas` | Partidas contratadas | --- ### 2. Schema: `hr` (8 tablas) **DDL:** `schemas/02-hr-schema-ddl.sql` | Tabla | Descripcion | Caracteristicas | |-------|-------------|-----------------| | `employees` | Empleados base | Extension de core | | `employee_construction` | Extension construccion | Campos especificos | | `puestos` | Catalogo de puestos | - | | `asistencias` | Registro asistencias | GPS, biometrico | | `asistencia_biometrico` | Datos biometricos | - | | `geocercas` | Geocercas para GPS | PostGIS | | `destajo` | Trabajo a destajo | - | | `destajo_detalle` | Mediciones destajo | - | | `cuadrillas` | Cuadrillas de trabajo | - | | `cuadrilla_miembros` | Miembros de cuadrilla | - | | `employee_fraccionamientos` | Asignacion a fracc | - | --- ### 3. Schema: `hse` (58 tablas) **DDL:** `schemas/03-hse-schema-ddl.sql` #### Gestion de Incidentes (5 tablas) - `incidentes`, `incidente_involucrados`, `incidente_acciones` - `incidente_evidencias`, `incidente_causas` #### Control de Capacitaciones (6 tablas) - `capacitaciones`, `capacitacion_participantes`, `capacitacion_materiales` - `certificaciones`, `certificacion_empleados`, `plan_capacitacion` #### Inspecciones de Seguridad (7 tablas) - `inspecciones_seguridad`, `inspeccion_hallazgos` - `checklist_seguridad`, `checklist_seguridad_items` - `areas_riesgo`, `rondas_seguridad`, `ronda_puntos` #### Control de EPP (7 tablas) - `epp_catalogo`, `epp_asignaciones`, `epp_entregas` - `epp_devoluciones`, `epp_inspecciones` - `epp_vida_util`, `epp_stock` #### Cumplimiento STPS (11 tablas) - `normas_stps`, `requisitos_norma`, `cumplimiento_norma` - `auditorias_stps`, `auditoria_hallazgos` - `planes_accion`, `acciones_correctivas` - `comision_seguridad`, `comision_miembros` - `recorridos_comision`, `actas_comision` #### Gestion Ambiental (9 tablas) - `impactos_ambientales`, `residuos`, `residuo_movimientos` - `manifiestos_residuos`, `monitoreo_ambiental` - `permisos_ambientales`, `programas_ambientales` - `indicadores_ambientales`, `eventos_ambientales` #### Permisos de Trabajo (8 tablas) - `permisos_trabajo`, `permiso_riesgos`, `permiso_autorizaciones` - `permisos_altura`, `permisos_caliente`, `permisos_confinado` - `permisos_electrico`, `permisos_excavacion` #### Indicadores HSE (7 tablas) - `kpi_configuracion`, `kpi_valores`, `kpi_metas` - `dashboards_hse`, `alertas_hse` - `reportes_hse`, `estadisticas_periodo` --- ### 4. Schema: `estimates` (8 tablas) **DDL:** `schemas/04-estimates-schema-ddl.sql` | Tabla | Descripcion | |-------|-------------| | `estimaciones` | Estimaciones de obra | | `estimacion_conceptos` | Conceptos estimados | | `generadores` | Numeros generadores | | `anticipos` | Anticipos de obra | | `amortizaciones` | Amortizacion de anticipos | | `retenciones` | Retenciones (garantia, IMSS) | | `fondo_garantia` | Fondo de garantia | | `estimacion_workflow` | Workflow de aprobacion | --- ### 5. Schema: `infonavit` (8 tablas) **DDL:** `schemas/05-infonavit-schema-ddl.sql` | Tabla | Descripcion | |-------|-------------| | `registro_infonavit` | Registro RUV | | `oferta_vivienda` | Oferta registrada | | `derechohabientes` | Derechohabientes | | `asignacion_vivienda` | Asignaciones | | `actas` | Actas de entrega | | `acta_viviendas` | Viviendas en acta | | `reportes_infonavit` | Reportes RUV | | `historico_puntos` | Historico puntos ecologicos | --- ### 6. Schema: `inventory` Extension (4 tablas) **DDL:** `schemas/06-inventory-ext-schema-ddl.sql` | Tabla | Descripcion | |-------|-------------| | `almacenes_proyecto` | Almacenes por obra | | `requisiciones_obra` | Requisiciones desde obra | | `requisicion_lineas` | Lineas de requisicion | | `consumos_obra` | Consumos por lote/concepto | --- ### 7. Schema: `purchase` Extension (5 tablas) **DDL:** `schemas/07-purchase-ext-schema-ddl.sql` | Tabla | Descripcion | |-------|-------------| | `purchase_order_construction` | Extension OC | | `supplier_construction` | Extension proveedores | | `comparativo_cotizaciones` | Cuadro comparativo | | `comparativo_proveedores` | Proveedores en comparativo | | `comparativo_productos` | Productos cotizados | --- ## ORDEN DE EJECUCION DDL ```bash # Prerequisito: ERP-Core debe estar instalado # Schema auth.* y core.* deben existir # 1. Construction (base) psql $DATABASE_URL -f schemas/01-construction-schema-ddl.sql # 2. HR (depende de construction) psql $DATABASE_URL -f schemas/02-hr-schema-ddl.sql # 3. HSE (depende de construction y hr) psql $DATABASE_URL -f schemas/03-hse-schema-ddl.sql # 4. Estimates (depende de construction) psql $DATABASE_URL -f schemas/04-estimates-schema-ddl.sql # 5. INFONAVIT (depende de construction) psql $DATABASE_URL -f schemas/05-infonavit-schema-ddl.sql # 6. Inventory Extension (depende de construction) psql $DATABASE_URL -f schemas/06-inventory-ext-schema-ddl.sql # 7. Purchase Extension (depende de construction) psql $DATABASE_URL -f schemas/07-purchase-ext-schema-ddl.sql ``` --- ## RELACIONES PRINCIPALES ``` auth.tenants └── construction.proyectos └── construction.fraccionamientos ├── construction.etapas │ └── construction.manzanas │ └── construction.lotes ├── construction.torres (vertical) │ └── construction.niveles │ └── construction.departamentos ├── hr.employee_fraccionamientos │ └── hr.employees └── hse.incidentes └── hse.incidente_involucrados └── hr.employees ``` --- ## ENUMS UTILIZADOS Ver archivo: `backend/src/shared/constants/enums.constants.ts` Los principales enums estan definidos en: - `PROJECT_STATUS` - Estados de proyecto - `LOT_STATUS` - Estados de lote - `INCIDENT_SEVERITY` - Severidad de incidentes - `ESTIMATION_STATUS` - Estados de estimacion - `INFONAVIT_ASSIGNMENT_STATUS` - Estados INFONAVIT --- ## REFERENCIAS - **ERP-Core DDL:** `apps/erp-core/database/ddl/` - **Herencia:** `HERENCIA-ERP-CORE.md` - **Constantes SSOT:** `backend/src/shared/constants/database.constants.ts` --- **Mantenido por:** Architecture-Analyst **Actualizacion:** Manual al agregar/modificar schemas