91 lines
2.8 KiB
Markdown
91 lines
2.8 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
# 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:
|
|
```sql
|
|
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.
|
|
|
|
```sql
|
|
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
|
|
|
|
- [HERENCIA-ERP-CORE.md](../orchestration/00-guidelines/HERENCIA-ERP-CORE.md)
|
|
- [DATABASE_INVENTORY.yml](../orchestration/inventarios/DATABASE_INVENTORY.yml)
|