# Herencia de Base de Datos - ERP Core -> Vidrio Templado

**Fecha:** 2025-12-08
**Versión:** 1.0
**Vertical:** Vidrio Templado
**Nivel:** 2B.2

---

## RESUMEN

La vertical de Vidrio Templado hereda los schemas base del ERP Core y extiende con schemas específicos del dominio de producción de vidrio.

**Ubicación DDL Core:** `apps/erp-core/database/ddl/`

---

## ARQUITECTURA DE HERENCIA

```
┌─────────────────────────────────────────────────────────────────┐
│                        ERP CORE (Base)                          │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐   │
│  │  auth   │ │  core   │ │financial│ │inventory│ │ purchase │   │
│  │ 26 tbl  │ │ 12 tbl  │ │ 15 tbl  │ │ 15 tbl  │ │  8 tbl   │   │
│  └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘   │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐                           │
│  │ sales   │ │analytics│ │ system   │                           │
│  │  6 tbl  │ │  5 tbl  │ │ 10 tbl   │                           │
│  └─────────┘ └─────────┘ └─────────┘                            │
│                        TOTAL: ~97 tablas heredadas              │
└─────────────────────────────────────────────────────────────────┘
                              │
                              │ HEREDA
                              ▼
┌─────────────────────────────────────────────────────────────────┐
│                VIDRIO TEMPLADO (Extensiones)                    │
│  ┌───────────────┐ ┌───────────────┐ ┌───────────────┐         │
│  │  production   │ │    quality    │ │    glass      │         │
│  │  management   │ │   control     │ │  inventory    │         │
│  │   (hornos)    │ │ (inspección)  │ │   (lotes)     │         │
│  └───────────────┘ └───────────────┘ └───────────────┘         │
│                   EXTENSIONES: ~25 tablas (planificadas)        │
└─────────────────────────────────────────────────────────────────┘
```

---

## SCHEMAS HEREDADOS DEL CORE

| Schema | Tablas | Uso en Vidrio Templado |
|--------|--------|------------------------|
| `auth` | 26 | Autenticación, usuarios, roles, permisos |
| `core` | 12 | Partners (clientes), catálogos |
| `financial` | 15 | Facturas, cuentas contables |
| `inventory` | 15 | Base para materia prima y producto terminado |
| `purchase` | 8 | Compras de materiales |
| `sales` | 6 | Cotizaciones, órdenes de venta |
| `analytics` | 5 | Centros de costo |
| `system` | 10 | Mensajes, notificaciones |

**Total heredado:** ~97 tablas

---

## SCHEMAS ESPECÍFICOS DE VIDRIO TEMPLADO (Planificados)

### 1. Schema `production` (estimado 10+ tablas)

**Propósito:** Gestión de producción y hornos de templado

```sql
-- Tablas principales planificadas:
production.production_orders      -- Órdenes de producción
production.production_lines       -- Líneas de producción (hornos)
production.work_orders           -- Órdenes de trabajo
production.cutting_plans         -- Planes de corte
production.oven_schedules        -- Programación de hornos
production.temperature_logs      -- Registros de temperatura
```

### 2. Schema `quality` (estimado 8+ tablas)

**Propósito:** Control de calidad y trazabilidad

```sql
-- Tablas principales planificadas:
quality.inspections              -- Inspecciones de calidad
quality.defect_types             -- Catálogo de defectos
quality.quality_tests            -- Pruebas de calidad
quality.certifications           -- Certificaciones de producto
quality.non_conformities         -- No conformidades
```

### 3. Schema `glass` (estimado 7+ tablas)

**Propósito:** Inventario especializado de vidrio

```sql
-- Extiende: inventory schema del core
glass.glass_types                -- Tipos de vidrio
glass.glass_lots                 -- Lotes de producción
glass.glass_dimensions           -- Dimensiones estándar
glass.raw_materials              -- Materia prima
```

---

## SPECS DEL CORE APLICABLES

**Documento detallado:** `orchestration/00-guidelines/HERENCIA-SPECS-CORE.md`

### Correcciones de DDL Core (2025-12-08)

El DDL del ERP-Core fue corregido para resolver FK inválidas:

1. **stock_valuation_layers**: Campos `journal_entry_id` y `journal_entry_line_id` (antes `account_move_*`)
2. **stock_move_consume_rel**: Nueva tabla de trazabilidad (antes `move_line_consume_rel`)
3. **category_stock_accounts**: FK corregida a `core.product_categories`
4. **product_categories**: ALTERs ahora apuntan a schema `core`

### SPECS Obligatorias

| Spec Core | Aplicación en Vidrio Templado | SP | Estado |
|-----------|------------------------------|----:|--------|
| SPEC-SISTEMA-SECUENCIAS | Foliado de órdenes y lotes | 8 | ✅ DDL LISTO |
| SPEC-VALORACION-INVENTARIO | Costeo de materia prima y producto | 21 | ✅ DDL LISTO |
| SPEC-SEGURIDAD-API-KEYS-PERMISOS | Control de acceso | 31 | ✅ DDL LISTO |
| SPEC-TRAZABILIDAD-LOTES-SERIES | Lotes de producción de vidrio | 13 | ✅ DDL LISTO |
| SPEC-PRICING-RULES | Precios por dimensiones y tipo | 8 | PENDIENTE |
| SPEC-PROYECTOS-DEPENDENCIAS-BURNDOWN | Control de producción | 13 | PENDIENTE |
| SPEC-MAIL-THREAD-TRACKING | Historial de órdenes | 13 | PENDIENTE |
| SPEC-WIZARD-TRANSIENT-MODEL | Wizards de corte y templado | 8 | PENDIENTE |

### SPECS Opcionales

| Spec Core | Decisión | Razón |
|-----------|----------|-------|
| SPEC-INVENTARIOS-CICLICOS | EVALUAR | Útil para materia prima |
| SPEC-FIRMA-ELECTRONICA-NOM151 | EVALUAR | Certificados de calidad |

### SPECS No Aplican

| Spec Core | Razón |
|-----------|-------|
| SPEC-INTEGRACION-CALENDAR | No requiere calendario externo |
| SPEC-CONSOLIDACION-FINANCIERA | Negocio de una sola planta |

---

## ORDEN DE EJECUCIÓN DDL (Futuro)

```bash
# PASO 1: Cargar ERP Core (base)
cd apps/erp-core/database
./scripts/reset-database.sh --force

# PASO 2: Cargar extensiones de Vidrio Templado
cd apps/verticales/vidrio-templado/database
psql $DATABASE_URL -f init/00-extensions.sql
psql $DATABASE_URL -f init/01-create-schemas.sql
psql $DATABASE_URL -f init/02-production-tables.sql
psql $DATABASE_URL -f init/03-quality-tables.sql
psql $DATABASE_URL -f init/04-glass-inventory.sql
```

---

## MAPEO DE NOMENCLATURA

| Core | Vidrio Templado |
|------|-----------------|
| `core.partners` | Clientes, proveedores |
| `inventory.products` | Producto terminado base |
| `inventory.locations` | Almacenes de vidrio |
| `sales.sale_orders` | Pedidos de vidrio |
| `purchase.purchase_orders` | Compras de materia prima |

---

## REFERENCIAS

- ERP Core DDL: `apps/erp-core/database/ddl/`
- ERP Core README: `apps/erp-core/database/README.md`
- Directivas: `orchestration/directivas/`
- Inventarios: `orchestration/inventarios/`

---

**Documento de herencia oficial**
**Última actualización:** 2025-12-08
