-- ============================================================
-- quoERP — Clave de Acceso SRI en Facturas de Venta
-- Migracion: 023_sri_access_key.sql
-- ============================================================
-- La clave de acceso es un numero de 49 digitos generado
-- automaticamente al emitir una factura. Sirve como numero
-- de autorizacion para la facturacion electronica del SRI.
--
-- Estructura del codigo numerico (posiciones 40-47, 8 digitos):
--   HH (hora, 2 dig) + MMM (minuto, 3 dig) + SSS (segundo, 3 dig)
--   Ejemplo: 14:05:03 -> 14005003
--
-- NOTA: El campo sri_number (VARCHAR 17) ya existe en la tabla
-- desde migracion 013 y almacena el numero en formato 001-001-000000001.
-- No se crea campo duplicado.
-- ============================================================

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- Clave de acceso de 49 digitos (Modulo 11)
ALTER TABLE sale_invoices
    ADD COLUMN IF NOT EXISTS sri_access_key VARCHAR(49) DEFAULT NULL
        COMMENT 'Clave de acceso SRI 49 digitos: DDMMAAAA+tipo+RUC+amb+est+pto+seq+HHmmmSSS+emision+mod11';

-- Tipo de ambiente en configuracion SRI
ALTER TABLE sri_invoice_config
    ADD COLUMN IF NOT EXISTS ambiente TINYINT(1) NOT NULL DEFAULT 2
        COMMENT '1=Pruebas (SRI), 2=Produccion';

SET FOREIGN_KEY_CHECKS = 1;

-- ─────────────────────────────────────────────────────────────
-- DESPUES DE EJECUTAR ESTA MIGRACION:
-- Ejecutar el script de inicializacion de claves existentes en:
--   Configuracion -> Numeracion SRI -> "Generar claves existentes"
-- O via: GET /admin/inicializar-claves-sri  (solo SuperAdmin)
-- ─────────────────────────────────────────────────────────────
