Database de erp-vidrio-templado - Workspace V2
Base de Datos - ERP Vidrio Templado
Resumen
| Aspecto |
Valor |
| Schema principal |
vidrio |
| Tablas específicas |
14 |
| ENUMs |
5 |
| Hereda de ERP-Core |
144 tablas (12 schemas) |
Prerequisitos
- ERP-Core instalado con todos sus schemas
- Extensiones PostgreSQL: pg_trgm
Orden de Ejecución DDL
# 1. Instalar ERP-Core primero
cd apps/erp-core/database
./scripts/reset-database.sh
# 2. Instalar extensión 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-rls-functions.sql
psql $DATABASE_URL -f init/03-vidrio-tables.sql
Tablas Implementadas
Schema: vidrio (14 tablas)
| Tabla |
Módulo |
Descripción |
| glass_catalog |
VT-001 |
Catálogo de tipos de vidrio |
| process_catalog |
VT-001 |
Catálogo de procesos |
| production_orders |
VT-002 |
Órdenes de producción |
| production_lines |
VT-002 |
Líneas de producción |
| furnaces |
VT-003 |
Hornos de templado |
| furnace_batches |
VT-003 |
Lotes en horno |
| cutting_machines |
VT-003 |
Máquinas de corte |
| quality_tests |
VT-004 |
Tipos de prueba de calidad |
| quality_inspections |
VT-004 |
Inspecciones de calidad |
| quality_test_results |
VT-004 |
Resultados de pruebas |
| glass_lots |
VT-005 |
Lotes de vidrio |
| lot_consumption |
VT-005 |
Consumo de lotes |
| quotations |
VT-006 |
Cotizaciones |
| quotation_lines |
VT-006 |
Líneas de cotización |
ENUMs
| Enum |
Valores |
| glass_type |
clear, tinted, reflective, low_e, laminated, tempered |
| production_status |
draft, scheduled, in_progress, cutting, tempering, quality_check, completed, cancelled |
| furnace_status |
idle, preheating, heating, cooling, maintenance |
| inspection_result |
pending, passed, failed, conditional |
| quotation_status |
draft, sent, approved, rejected, expired |
Row Level Security
Todas las tablas tienen RLS con:
tenant_id = current_setting('app.current_tenant_id', true)::UUID
Funciones Específicas
vidrio.calculate_area_m2(width_mm, height_mm)
Calcula el área en metros cuadrados a partir de dimensiones en milímetros.
SELECT vidrio.calculate_area_m2(1500, 2000);
-- Resultado: 3.00 m²
Consideraciones Especiales
- Cálculos de área: Siempre en m² para costeo
- Trazabilidad: Lotes vinculados a piezas producidas
- Control de calidad: Pruebas obligatorias antes de entrega
- Capacidad hornos: Máximo área por batch configurable
Referencias