erp-construccion-database-v2/_MAP.md
rckrdmrd bf97e26cdf Migración desde erp-construccion/database - Estándar multi-repo v2
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 08:11:21 -06:00

307 lines
9.5 KiB
Markdown

# 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