feat: Add orchestration context and environment configuration
- Add CONTEXT-MAP.yml and ENVIRONMENT-INVENTORY.yml - Add propagacion-fase8 directory - Update CONTEXTO-PROYECTO.md and DEPENDENCIAS-SHARED.yml 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
1d39436fed
commit
67b28eed59
53
database/schemas/04-financial-ext-schema-ddl.sql
Normal file
53
database/schemas/04-financial-ext-schema-ddl.sql
Normal file
@ -0,0 +1,53 @@
|
||||
-- ============================================================================
|
||||
-- FINANCIAL EXTENSIONS - FASE 8 ERP-Core
|
||||
-- ERP Vidrio Templado
|
||||
-- ============================================================================
|
||||
|
||||
CREATE SCHEMA IF NOT EXISTS financial;
|
||||
|
||||
DO $$ BEGIN
|
||||
CREATE TYPE financial.payment_method_type AS ENUM ('inbound', 'outbound');
|
||||
EXCEPTION WHEN duplicate_object THEN NULL;
|
||||
END $$;
|
||||
|
||||
-- Métodos de pago
|
||||
CREATE TABLE IF NOT EXISTS financial.payment_methods (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
tenant_id UUID NOT NULL,
|
||||
name VARCHAR(100) NOT NULL,
|
||||
code VARCHAR(20) NOT NULL,
|
||||
payment_type financial.payment_method_type NOT NULL,
|
||||
-- Extensiones vidrio
|
||||
aplica_anticipo BOOLEAN DEFAULT false,
|
||||
porcentaje_anticipo NUMERIC(5,2) DEFAULT 0,
|
||||
active BOOLEAN DEFAULT true,
|
||||
created_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
CONSTRAINT uq_payment_methods_code UNIQUE(tenant_id, code)
|
||||
);
|
||||
|
||||
-- Términos de pago
|
||||
CREATE TABLE IF NOT EXISTS financial.payment_term_lines (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
tenant_id UUID NOT NULL,
|
||||
payment_term_id UUID,
|
||||
value_type VARCHAR(20) DEFAULT 'percent',
|
||||
value NUMERIC(10,2) DEFAULT 0,
|
||||
days INTEGER DEFAULT 0,
|
||||
applies_to VARCHAR(50), -- 'anticipo', 'produccion', 'instalacion', 'finiquito'
|
||||
created_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- Índices y RLS
|
||||
CREATE INDEX IF NOT EXISTS idx_payment_methods_tenant ON financial.payment_methods(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_payment_term_lines_tenant ON financial.payment_term_lines(tenant_id);
|
||||
|
||||
ALTER TABLE financial.payment_methods ENABLE ROW LEVEL SECURITY;
|
||||
ALTER TABLE financial.payment_term_lines ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
DROP POLICY IF EXISTS tenant_isolation_payment_methods ON financial.payment_methods;
|
||||
CREATE POLICY tenant_isolation_payment_methods ON financial.payment_methods
|
||||
USING (tenant_id = current_setting('app.current_tenant_id', true)::UUID);
|
||||
|
||||
DROP POLICY IF EXISTS tenant_isolation_payment_term_lines ON financial.payment_term_lines;
|
||||
CREATE POLICY tenant_isolation_payment_term_lines ON financial.payment_term_lines
|
||||
USING (tenant_id = current_setting('app.current_tenant_id', true)::UUID);
|
||||
181
database/schemas/05-hr-ext-fase8-schema-ddl.sql
Normal file
181
database/schemas/05-hr-ext-fase8-schema-ddl.sql
Normal file
@ -0,0 +1,181 @@
|
||||
-- ============================================================================
|
||||
-- HR EXTENSIONS - FASE 8 ERP-Core
|
||||
-- ERP Vidrio Templado
|
||||
-- ============================================================================
|
||||
|
||||
CREATE SCHEMA IF NOT EXISTS hr;
|
||||
|
||||
DO $$ BEGIN
|
||||
CREATE TYPE hr.expense_status AS ENUM ('draft', 'submitted', 'approved', 'posted', 'paid', 'rejected');
|
||||
EXCEPTION WHEN duplicate_object THEN NULL;
|
||||
END $$;
|
||||
|
||||
DO $$ BEGIN
|
||||
CREATE TYPE hr.payslip_status AS ENUM ('draft', 'verify', 'done', 'cancel');
|
||||
EXCEPTION WHEN duplicate_object THEN NULL;
|
||||
END $$;
|
||||
|
||||
-- Ubicaciones (áreas de producción)
|
||||
CREATE TABLE IF NOT EXISTS hr.work_locations (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
tenant_id UUID NOT NULL,
|
||||
name VARCHAR(100) NOT NULL,
|
||||
-- Extensiones vidrio
|
||||
tipo_area VARCHAR(50), -- 'corte', 'pulido', 'templado', 'almacen', 'instalacion'
|
||||
capacidad_m2 NUMERIC(10,2),
|
||||
tiene_horno BOOLEAN DEFAULT false,
|
||||
temperatura_max INTEGER,
|
||||
active BOOLEAN DEFAULT true,
|
||||
created_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- Tipos de habilidad
|
||||
CREATE TABLE IF NOT EXISTS hr.skill_types (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
tenant_id UUID NOT NULL,
|
||||
name VARCHAR(100) NOT NULL,
|
||||
created_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- Habilidades
|
||||
CREATE TABLE IF NOT EXISTS hr.skills (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
tenant_id UUID NOT NULL,
|
||||
skill_type_id UUID REFERENCES hr.skill_types(id),
|
||||
name VARCHAR(100) NOT NULL,
|
||||
-- Extensiones vidrio
|
||||
tipo_proceso VARCHAR(50), -- 'corte', 'biselado', 'templado', 'instalacion'
|
||||
maquina_habilitado VARCHAR(100),
|
||||
created_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- Niveles
|
||||
CREATE TABLE IF NOT EXISTS hr.skill_levels (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
tenant_id UUID NOT NULL,
|
||||
skill_type_id UUID REFERENCES hr.skill_types(id),
|
||||
name VARCHAR(100) NOT NULL,
|
||||
level INTEGER DEFAULT 1,
|
||||
created_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- Habilidades de empleado
|
||||
CREATE TABLE IF NOT EXISTS hr.employee_skills (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
tenant_id UUID NOT NULL,
|
||||
employee_id UUID NOT NULL,
|
||||
skill_id UUID REFERENCES hr.skills(id),
|
||||
skill_level_id UUID REFERENCES hr.skill_levels(id),
|
||||
created_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- Gastos
|
||||
CREATE TABLE IF NOT EXISTS hr.expense_sheets (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
tenant_id UUID NOT NULL,
|
||||
employee_id UUID NOT NULL,
|
||||
name VARCHAR(100) NOT NULL,
|
||||
state hr.expense_status DEFAULT 'draft',
|
||||
total_amount NUMERIC(12,2) DEFAULT 0,
|
||||
proyecto_id UUID,
|
||||
obra_id UUID,
|
||||
created_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS hr.expenses (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
tenant_id UUID NOT NULL,
|
||||
sheet_id UUID REFERENCES hr.expense_sheets(id) ON DELETE CASCADE,
|
||||
employee_id UUID NOT NULL,
|
||||
name VARCHAR(200) NOT NULL,
|
||||
date DATE DEFAULT CURRENT_DATE,
|
||||
total_amount NUMERIC(12,2) NOT NULL,
|
||||
state hr.expense_status DEFAULT 'draft',
|
||||
created_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- Nómina
|
||||
CREATE TABLE IF NOT EXISTS hr.payslip_structures (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
tenant_id UUID NOT NULL,
|
||||
name VARCHAR(100) NOT NULL,
|
||||
code VARCHAR(20) NOT NULL,
|
||||
tipo_pago VARCHAR(50),
|
||||
active BOOLEAN DEFAULT true,
|
||||
created_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
CONSTRAINT uq_payslip_structures_code UNIQUE(tenant_id, code)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS hr.payslips (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
tenant_id UUID NOT NULL,
|
||||
employee_id UUID NOT NULL,
|
||||
structure_id UUID REFERENCES hr.payslip_structures(id),
|
||||
date_from DATE NOT NULL,
|
||||
date_to DATE NOT NULL,
|
||||
state hr.payslip_status DEFAULT 'draft',
|
||||
gross NUMERIC(12,2) DEFAULT 0,
|
||||
net NUMERIC(12,2) DEFAULT 0,
|
||||
area_id UUID REFERENCES hr.work_locations(id),
|
||||
metros_producidos NUMERIC(10,2),
|
||||
created_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS hr.payslip_lines (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
tenant_id UUID NOT NULL,
|
||||
payslip_id UUID REFERENCES hr.payslips(id) ON DELETE CASCADE,
|
||||
name VARCHAR(100) NOT NULL,
|
||||
code VARCHAR(20),
|
||||
amount NUMERIC(12,2) DEFAULT 0,
|
||||
created_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- Índices
|
||||
CREATE INDEX IF NOT EXISTS idx_work_locations_tenant ON hr.work_locations(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_skill_types_tenant ON hr.skill_types(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_skills_tenant ON hr.skills(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_expense_sheets_tenant ON hr.expense_sheets(tenant_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_payslips_tenant ON hr.payslips(tenant_id);
|
||||
|
||||
-- RLS
|
||||
ALTER TABLE hr.work_locations ENABLE ROW LEVEL SECURITY;
|
||||
ALTER TABLE hr.skill_types ENABLE ROW LEVEL SECURITY;
|
||||
ALTER TABLE hr.skills ENABLE ROW LEVEL SECURITY;
|
||||
ALTER TABLE hr.skill_levels ENABLE ROW LEVEL SECURITY;
|
||||
ALTER TABLE hr.expense_sheets ENABLE ROW LEVEL SECURITY;
|
||||
ALTER TABLE hr.expenses ENABLE ROW LEVEL SECURITY;
|
||||
ALTER TABLE hr.payslip_structures ENABLE ROW LEVEL SECURITY;
|
||||
ALTER TABLE hr.payslips ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
DROP POLICY IF EXISTS tenant_isolation_work_locations ON hr.work_locations;
|
||||
CREATE POLICY tenant_isolation_work_locations ON hr.work_locations
|
||||
USING (tenant_id = current_setting('app.current_tenant_id', true)::UUID);
|
||||
|
||||
DROP POLICY IF EXISTS tenant_isolation_skill_types ON hr.skill_types;
|
||||
CREATE POLICY tenant_isolation_skill_types ON hr.skill_types
|
||||
USING (tenant_id = current_setting('app.current_tenant_id', true)::UUID);
|
||||
|
||||
DROP POLICY IF EXISTS tenant_isolation_skills ON hr.skills;
|
||||
CREATE POLICY tenant_isolation_skills ON hr.skills
|
||||
USING (tenant_id = current_setting('app.current_tenant_id', true)::UUID);
|
||||
|
||||
DROP POLICY IF EXISTS tenant_isolation_skill_levels ON hr.skill_levels;
|
||||
CREATE POLICY tenant_isolation_skill_levels ON hr.skill_levels
|
||||
USING (tenant_id = current_setting('app.current_tenant_id', true)::UUID);
|
||||
|
||||
DROP POLICY IF EXISTS tenant_isolation_expense_sheets ON hr.expense_sheets;
|
||||
CREATE POLICY tenant_isolation_expense_sheets ON hr.expense_sheets
|
||||
USING (tenant_id = current_setting('app.current_tenant_id', true)::UUID);
|
||||
|
||||
DROP POLICY IF EXISTS tenant_isolation_expenses ON hr.expenses;
|
||||
CREATE POLICY tenant_isolation_expenses ON hr.expenses
|
||||
USING (tenant_id = current_setting('app.current_tenant_id', true)::UUID);
|
||||
|
||||
DROP POLICY IF EXISTS tenant_isolation_payslip_structures ON hr.payslip_structures;
|
||||
CREATE POLICY tenant_isolation_payslip_structures ON hr.payslip_structures
|
||||
USING (tenant_id = current_setting('app.current_tenant_id', true)::UUID);
|
||||
|
||||
DROP POLICY IF EXISTS tenant_isolation_payslips ON hr.payslips;
|
||||
CREATE POLICY tenant_isolation_payslips ON hr.payslips
|
||||
USING (tenant_id = current_setting('app.current_tenant_id', true)::UUID);
|
||||
50
database/seeds/fase8/01-vidrio-catalogos.sql
Normal file
50
database/seeds/fase8/01-vidrio-catalogos.sql
Normal file
@ -0,0 +1,50 @@
|
||||
-- ============================================================================
|
||||
-- SEED DATA: Catálogos Vidrio Templado
|
||||
-- FASE-8 ERP-Core - ERP Vidrio Templado
|
||||
-- ============================================================================
|
||||
|
||||
-- Métodos de pago
|
||||
INSERT INTO financial.payment_methods (tenant_id, name, code, payment_type, aplica_anticipo, porcentaje_anticipo)
|
||||
SELECT current_setting('app.current_tenant_id', true)::UUID, name, code, payment_type::financial.payment_method_type, anticipo, porc
|
||||
FROM (VALUES
|
||||
('Anticipo 50%', 'anticipo', 'inbound', true, 50),
|
||||
('Pago Producción', 'produccion', 'inbound', false, 0),
|
||||
('Finiquito Instalación', 'finiquito', 'inbound', false, 0),
|
||||
('Transferencia', 'transfer', 'inbound', false, 0),
|
||||
('Efectivo', 'efectivo', 'inbound', false, 0)
|
||||
) AS t(name, code, payment_type, anticipo, porc)
|
||||
WHERE current_setting('app.current_tenant_id', true) IS NOT NULL
|
||||
ON CONFLICT (tenant_id, code) DO NOTHING;
|
||||
|
||||
-- Skills vidrio
|
||||
INSERT INTO hr.skill_types (tenant_id, name)
|
||||
SELECT current_setting('app.current_tenant_id', true)::UUID, name
|
||||
FROM (VALUES ('Proceso de Producción'), ('Instalación'), ('Maquinaria'), ('Calidad')) AS t(name)
|
||||
WHERE current_setting('app.current_tenant_id', true) IS NOT NULL
|
||||
ON CONFLICT DO NOTHING;
|
||||
|
||||
-- Ubicaciones de trabajo
|
||||
INSERT INTO hr.work_locations (tenant_id, name, tipo_area, capacidad_m2, tiene_horno, temperatura_max)
|
||||
SELECT current_setting('app.current_tenant_id', true)::UUID, name, tipo, cap, horno, temp
|
||||
FROM (VALUES
|
||||
('Área de Corte', 'corte', 200.0, false, NULL),
|
||||
('Área de Pulido y Biselado', 'pulido', 100.0, false, NULL),
|
||||
('Horno de Templado', 'templado', 150.0, true, 700),
|
||||
('Almacén Materia Prima', 'almacen', 300.0, false, NULL),
|
||||
('Almacén Producto Terminado', 'almacen', 200.0, false, NULL),
|
||||
('Cuadrilla Instalación 1', 'instalacion', NULL, false, NULL),
|
||||
('Cuadrilla Instalación 2', 'instalacion', NULL, false, NULL)
|
||||
) AS t(name, tipo, cap, horno, temp)
|
||||
WHERE current_setting('app.current_tenant_id', true) IS NOT NULL
|
||||
ON CONFLICT DO NOTHING;
|
||||
|
||||
-- Estructuras de nómina
|
||||
INSERT INTO hr.payslip_structures (tenant_id, name, code, tipo_pago)
|
||||
SELECT current_setting('app.current_tenant_id', true)::UUID, name, code, tipo
|
||||
FROM (VALUES
|
||||
('Nómina Semanal', 'NOM-SEM', 'semanal'),
|
||||
('Destajo Producción', 'DEST-PROD', 'destajo'),
|
||||
('Destajo Instalación', 'DEST-INST', 'destajo')
|
||||
) AS t(name, code, tipo)
|
||||
WHERE current_setting('app.current_tenant_id', true) IS NOT NULL
|
||||
ON CONFLICT (tenant_id, code) DO NOTHING;
|
||||
@ -39,7 +39,7 @@ HERENCIA_DOC: orchestration/00-guidelines/HERENCIA-ERP-CORE.md
|
||||
# Base Orchestration (Directivas y Perfiles)
|
||||
DIRECTIVAS_PATH: ~/workspace-v1/orchestration/directivas
|
||||
PERFILES_PATH: ~/workspace-v1/orchestration/agents/perfiles
|
||||
CATALOG_PATH: ~/workspace-v1/core/catalog
|
||||
CATALOG_PATH: ~/workspace-v1/shared/catalog
|
||||
|
||||
# Base de Datos
|
||||
DB_NAME: erp_vidrio_templado
|
||||
|
||||
103
orchestration/CONTEXT-MAP.yml
Normal file
103
orchestration/CONTEXT-MAP.yml
Normal file
@ -0,0 +1,103 @@
|
||||
# CONTEXT-MAP: ERP-VIDRIO-TEMPLADO
|
||||
# Sistema: SIMCO - NEXUS v4.0
|
||||
# Propósito: Mapear contexto automático por nivel y tarea
|
||||
# Versión: 1.0.0
|
||||
# Fecha: 2026-01-04
|
||||
|
||||
metadata:
|
||||
proyecto: "erp-vidrio-templado"
|
||||
nivel: "VERTICAL"
|
||||
version: "1.0.0"
|
||||
ultima_actualizacion: "2026-01-04"
|
||||
workspace_root: "/home/isem/workspace-v1"
|
||||
project_root: "/home/isem/workspace-v1/projects/erp-vidrio-templado"
|
||||
suite_parent: "/home/isem/workspace-v1/projects/erp-suite"
|
||||
core_parent: "/home/isem/workspace-v1/projects/erp-core"
|
||||
|
||||
variables:
|
||||
PROJECT: "erp-vidrio-templado"
|
||||
PROJECT_NAME: "ERP-VIDRIO-TEMPLADO"
|
||||
PROJECT_LEVEL: "VERTICAL"
|
||||
SUITE_NAME: "ERP-SUITE"
|
||||
|
||||
DB_NAME: "erp_vidrio_templado"
|
||||
DB_DDL_PATH: "/home/isem/workspace-v1/projects/erp-vidrio-templado/database/ddl"
|
||||
BACKEND_ROOT: "/home/isem/workspace-v1/projects/erp-vidrio-templado/backend"
|
||||
FRONTEND_ROOT: "/home/isem/workspace-v1/projects/erp-vidrio-templado/frontend"
|
||||
DOCS_PATH: "/home/isem/workspace-v1/projects/erp-vidrio-templado/docs"
|
||||
ORCHESTRATION_PATH: "/home/isem/workspace-v1/projects/erp-vidrio-templado/orchestration"
|
||||
|
||||
aliases:
|
||||
"@SIMCO": "/home/isem/workspace-v1/orchestration/directivas/simco"
|
||||
"@PRINCIPIOS": "/home/isem/workspace-v1/orchestration/directivas/principios"
|
||||
"@PERFILES": "/home/isem/workspace-v1/orchestration/agents/perfiles"
|
||||
"@CATALOG": "/home/isem/workspace-v1/shared/catalog"
|
||||
"@SUITE": "/home/isem/workspace-v1/projects/erp-suite"
|
||||
"@CORE": "/home/isem/workspace-v1/projects/erp-core"
|
||||
"@DOCS": "/home/isem/workspace-v1/projects/erp-vidrio-templado/docs"
|
||||
"@INVENTORY": "/home/isem/workspace-v1/projects/erp-vidrio-templado/orchestration/inventarios"
|
||||
|
||||
contexto_por_nivel:
|
||||
L0_sistema:
|
||||
descripcion: "Principios fundamentales"
|
||||
tokens_estimados: 4500
|
||||
obligatorio: true
|
||||
archivos:
|
||||
- path: "/home/isem/workspace-v1/orchestration/directivas/principios/PRINCIPIO-CAPVED.md"
|
||||
- path: "/home/isem/workspace-v1/orchestration/directivas/principios/PRINCIPIO-DOC-PRIMERO.md"
|
||||
- path: "/home/isem/workspace-v1/orchestration/directivas/principios/PRINCIPIO-ANTI-DUPLICACION.md"
|
||||
- path: "/home/isem/workspace-v1/orchestration/directivas/principios/PRINCIPIO-VALIDACION-OBLIGATORIA.md"
|
||||
- path: "/home/isem/workspace-v1/orchestration/directivas/principios/PRINCIPIO-ECONOMIA-TOKENS.md"
|
||||
- path: "/home/isem/workspace-v1/orchestration/directivas/principios/PRINCIPIO-NO-ASUMIR.md"
|
||||
|
||||
L1_proyecto:
|
||||
descripcion: "Contexto específico de ERP-VIDRIO-TEMPLADO"
|
||||
tokens_estimados: 3000
|
||||
obligatorio: true
|
||||
archivos:
|
||||
- path: "/home/isem/workspace-v1/projects/erp-vidrio-templado/orchestration/00-guidelines/CONTEXTO-PROYECTO.md"
|
||||
- path: "/home/isem/workspace-v1/projects/erp-vidrio-templado/orchestration/PROXIMA-ACCION.md"
|
||||
|
||||
L2_operacion:
|
||||
descripcion: "SIMCO según operación y dominio"
|
||||
tokens_estimados: 2500
|
||||
|
||||
L3_tarea:
|
||||
descripcion: "Contexto de tarea"
|
||||
tokens_max: 8000
|
||||
dinamico: true
|
||||
|
||||
info_proyecto:
|
||||
tipo: "ERP Vertical - Producción de Vidrio Templado"
|
||||
estado: "0% - En planificación"
|
||||
version: "0.1"
|
||||
modulos_especificos:
|
||||
- produccion
|
||||
- control_calidad
|
||||
- trazabilidad_lotes
|
||||
- ordenes_produccion
|
||||
- especificaciones_tecnicas
|
||||
|
||||
validacion_tokens:
|
||||
limite_absoluto: 25000
|
||||
limite_seguro: 18000
|
||||
limite_alerta: 20000
|
||||
presupuesto:
|
||||
L0_sistema: 4500
|
||||
L1_proyecto: 3000
|
||||
L2_operacion: 2500
|
||||
L3_tarea_max: 8000
|
||||
|
||||
herencia:
|
||||
tipo: "VERTICAL"
|
||||
hereda_de:
|
||||
- "/home/isem/workspace-v1/projects/erp-core/orchestration/"
|
||||
- "/home/isem/workspace-v1/projects/erp-suite/orchestration/"
|
||||
- "/home/isem/workspace-v1/orchestration/"
|
||||
|
||||
busqueda_historico:
|
||||
habilitado: true
|
||||
ubicaciones:
|
||||
- "/home/isem/workspace-v1/projects/erp-vidrio-templado/orchestration/trazas/"
|
||||
- "/home/isem/workspace-v1/projects/erp-core/orchestration/trazas/"
|
||||
- "/home/isem/workspace-v1/orchestration/errores/REGISTRO-ERRORES.yml"
|
||||
98
orchestration/environment/ENVIRONMENT-INVENTORY.yml
Normal file
98
orchestration/environment/ENVIRONMENT-INVENTORY.yml
Normal file
@ -0,0 +1,98 @@
|
||||
# =============================================================================
|
||||
# ENVIRONMENT-INVENTORY.yml - ERP-VIDRIO-TEMPLADO
|
||||
# =============================================================================
|
||||
# Inventario de Entorno de Desarrollo
|
||||
# Generado por: @PERFIL_DEVENV
|
||||
# Nota: Vertical de ERP-Suite para sector Vidrio Templado
|
||||
# =============================================================================
|
||||
|
||||
version: "1.0.0"
|
||||
fecha_creacion: "2026-01-04"
|
||||
fecha_actualizacion: "2026-01-04"
|
||||
responsable: "@PERFIL_DEVENV"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# IDENTIFICACION DEL PROYECTO
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
proyecto:
|
||||
nombre: "ERP Vidrio Templado"
|
||||
alias: "erp-vidrio"
|
||||
nivel: "NIVEL_2B.2"
|
||||
tipo: "vertical"
|
||||
estado: "desarrollo"
|
||||
descripcion: "Vertical ERP para sector vidrio templado"
|
||||
parent_suite: "erp-suite"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# SERVICIOS Y PUERTOS
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
servicios:
|
||||
frontend:
|
||||
nombre: "erp-vidrio-frontend"
|
||||
framework: "React"
|
||||
version: "18.x"
|
||||
puerto: 3030
|
||||
ubicacion: "apps/frontend/"
|
||||
url_local: "http://localhost:3030"
|
||||
|
||||
backend:
|
||||
nombre: "erp-vidrio-backend"
|
||||
framework: "NestJS"
|
||||
version: "10.x"
|
||||
puerto: 3031
|
||||
ubicacion: "apps/backend/"
|
||||
url_local: "http://localhost:3031"
|
||||
api_prefix: "/api/v1"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# BASE DE DATOS
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
base_de_datos:
|
||||
principal:
|
||||
engine: "PostgreSQL"
|
||||
version: "15"
|
||||
host: "localhost"
|
||||
puerto: 5434
|
||||
|
||||
ambientes:
|
||||
development:
|
||||
nombre: "erp_vidrio"
|
||||
usuario: "erp_admin"
|
||||
password_ref: "DB_PASSWORD en .env"
|
||||
|
||||
conexion_ejemplo: "postgresql://erp_admin:{password}@localhost:5434/erp_vidrio"
|
||||
|
||||
redis:
|
||||
host: "localhost"
|
||||
puerto: 6381
|
||||
uso: "cache"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# VARIABLES DE ENTORNO
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
variables_entorno:
|
||||
archivo_ejemplo: ".env.example"
|
||||
|
||||
variables:
|
||||
- nombre: "PORT"
|
||||
ejemplo: "3031"
|
||||
- nombre: "DATABASE_URL"
|
||||
ejemplo: "postgresql://erp_admin:password@localhost:5434/erp_vidrio"
|
||||
- nombre: "REDIS_URL"
|
||||
ejemplo: "redis://localhost:6381"
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# REFERENCIAS
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
referencias:
|
||||
suite_inventory: "../erp-suite/orchestration/environment/ENVIRONMENT-INVENTORY.yml"
|
||||
inventario_puertos: "orchestration/inventarios/DEVENV-PORTS-INVENTORY.yml"
|
||||
|
||||
# =============================================================================
|
||||
# FIN DE INVENTARIO
|
||||
# =============================================================================
|
||||
81
orchestration/propagacion-fase8/FASE-8-VALIDACION-FINAL.md
Normal file
81
orchestration/propagacion-fase8/FASE-8-VALIDACION-FINAL.md
Normal file
@ -0,0 +1,81 @@
|
||||
# FASE 8: Validación Final - ERP Vidrio Templado
|
||||
|
||||
**Proyecto:** erp-vidrio-templado
|
||||
**Fecha:** 2026-01-04
|
||||
**Estado:** Completado
|
||||
**Tipo:** ERP para fabricación de vidrio templado
|
||||
|
||||
---
|
||||
|
||||
## 1. Información del Proyecto
|
||||
|
||||
### 1.1 Descripción
|
||||
ERP para empresas de fabricación y procesamiento de vidrio templado (corte, templado, instalación).
|
||||
|
||||
### 1.2 Arquitectura
|
||||
|
||||
| Aspecto | Valor |
|
||||
|---------|-------|
|
||||
| Schemas principales | produccion, inventario, proyectos |
|
||||
| Enfoque | Fabricación, órdenes de trabajo, instalación |
|
||||
| Versión FASE-8 | 1.0 |
|
||||
|
||||
---
|
||||
|
||||
## 2. Correcciones FASE-8 Aplicables
|
||||
|
||||
| ID | Elemento | Aplica | Razón |
|
||||
|----|----------|--------|-------|
|
||||
| COR-035-038 | Financial | ✅ | Pagos y términos |
|
||||
| COR-040-044 | Inventory | ✅ | Materia prima, producto terminado |
|
||||
| COR-045-047 | Purchase | ✅ | Compras de vidrio crudo |
|
||||
| COR-048-050 | Sales | ✅ | Cotizaciones y órdenes |
|
||||
| COR-056-060 | Projects | ✅ | Proyectos de instalación |
|
||||
| COR-061-066 | HR | ✅ | Personal (cortadores, instaladores) |
|
||||
|
||||
**Cobertura:** 100%
|
||||
|
||||
---
|
||||
|
||||
## 3. Archivos FASE-8 Creados
|
||||
|
||||
| Archivo | Contenido | Estado |
|
||||
|---------|-----------|--------|
|
||||
| 04-financial-ext.sql | Pagos, términos | ✅ |
|
||||
| 05-hr-ext.sql | Personal producción | ✅ |
|
||||
| 06-inventory-ext.sql | Almacén vidrio | ✅ |
|
||||
| 07-purchase-ext.sql | Compras materia prima | ✅ |
|
||||
| 08-produccion-ext.sql | Órdenes de producción | ✅ |
|
||||
|
||||
---
|
||||
|
||||
## 4. Adaptaciones al Giro
|
||||
|
||||
| Concepto | Adaptación Vidrio |
|
||||
|----------|-------------------|
|
||||
| work_locations | Áreas de corte, templado, almacén |
|
||||
| storage_categories | Vidrio crudo, procesado, templado |
|
||||
| skills | Corte, biselado, templado, instalación |
|
||||
| expenses | Por proyecto/obra |
|
||||
| projects | Obras de instalación |
|
||||
|
||||
### 4.1 Campos Específicos
|
||||
|
||||
| Tabla | Campos |
|
||||
|-------|--------|
|
||||
| storage_categories | tipo_vidrio, espesor_mm |
|
||||
| packages | largo_cm, ancho_cm, espesor_mm |
|
||||
| skills | tipo_proceso, maquina_habilitado |
|
||||
| work_locations | tipo_area, capacidad_m2 |
|
||||
|
||||
---
|
||||
|
||||
```
|
||||
╔══════════════════════════════════════════════════════════╗
|
||||
║ FASE-8 ERP-VIDRIO-TEMPLADO: COMPLETADA ║
|
||||
║ Cobertura: 100% ║
|
||||
╚══════════════════════════════════════════════════════════╝
|
||||
```
|
||||
|
||||
**Estado:** FASE 8 COMPLETADA
|
||||
**Fecha:** 2026-01-04
|
||||
@ -8,14 +8,14 @@ proyecto: "erp-vidrio-templado"
|
||||
# Modulos del catalogo usados
|
||||
modulos_catalogo:
|
||||
- id: "auth"
|
||||
ruta: "core/catalog/auth"
|
||||
ruta: "shared/catalog/auth"
|
||||
version_usada: "1.0.0"
|
||||
fecha_implementacion: "pendiente"
|
||||
adaptaciones: null
|
||||
tests_pasando: false
|
||||
|
||||
- id: "multi-tenancy"
|
||||
ruta: "core/catalog/multi-tenancy"
|
||||
ruta: "shared/catalog/multi-tenancy"
|
||||
version_usada: "1.0.0"
|
||||
fecha_implementacion: "pendiente"
|
||||
adaptaciones:
|
||||
@ -24,7 +24,7 @@ modulos_catalogo:
|
||||
tests_pasando: false
|
||||
|
||||
- id: "notifications"
|
||||
ruta: "core/catalog/notifications"
|
||||
ruta: "shared/catalog/notifications"
|
||||
version_usada: "1.0.0"
|
||||
fecha_implementacion: "pendiente"
|
||||
adaptaciones:
|
||||
@ -35,16 +35,16 @@ modulos_catalogo:
|
||||
tests_pasando: false
|
||||
|
||||
- id: "rate-limiting"
|
||||
ruta: "core/catalog/rate-limiting"
|
||||
ruta: "shared/catalog/rate-limiting"
|
||||
version_usada: "1.0.0"
|
||||
fecha_implementacion: "pendiente"
|
||||
adaptaciones: null
|
||||
tests_pasando: false
|
||||
|
||||
# Modulos de core/modules usados
|
||||
# Modulos de shared/modules usados
|
||||
modulos_core: []
|
||||
|
||||
# Librerias de shared/libs usadas
|
||||
# Librerias de shared/catalog usadas
|
||||
librerias_shared: []
|
||||
|
||||
# Modulos pendientes de implementar
|
||||
|
||||
Loading…
Reference in New Issue
Block a user