erp-vidrio-templado/database
2026-01-04 06:12:11 -06:00
..
init Initial commit - erp-vidrio-templado 2026-01-04 06:12:11 -06:00
HERENCIA-ERP-CORE.md Initial commit - erp-vidrio-templado 2026-01-04 06:12:11 -06:00
README.md Initial commit - erp-vidrio-templado 2026-01-04 06:12:11 -06:00

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

  1. ERP-Core instalado con todos sus schemas
  2. 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