-- Configuracion de alertas de cambio de estado de pedido por tipo de usuario.
-- Cada fila indica si un tipo de usuario debe recibir toast+beep cuando un
-- pedido pasa al id_estado dado. El filtrado por "panel actual" es automatico
-- en el frontend (no necesita columna adicional).

SET SESSION sql_mode = '';

CREATE TABLE IF NOT EXISTS config_alertas_pedido (
    id_tipo_usuario INT NOT NULL,
    id_estado       INT NOT NULL,
    activa          TINYINT(1) NOT NULL DEFAULT 0,
    PRIMARY KEY (id_tipo_usuario, id_estado)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Seed: defaults razonables.
-- Tipos: 1=Admin, 2=General, 3=Telefonista, 4=Armador, 5=Facturador, 6=Controlador, 10=Developer
-- Estados: 0=Pendiente, 1=Para armar, 3=Para facturar, 4=Para controlar,
--          5=Para enviar, 6=Enviado, 7=Para reenviar, 10=Con faltantes,
--          15=Esperando faltantes, 16=Para terminar de armar

-- Admin (1): todas activas
INSERT IGNORE INTO config_alertas_pedido (id_tipo_usuario, id_estado, activa) VALUES
(1, 0, 1), (1, 1, 1), (1, 3, 1), (1, 4, 1), (1, 5, 1), (1, 6, 1),
(1, 7, 1), (1, 10, 1), (1, 15, 1), (1, 16, 1);

-- Developer (10): todas activas
INSERT IGNORE INTO config_alertas_pedido (id_tipo_usuario, id_estado, activa) VALUES
(10, 0, 1), (10, 1, 1), (10, 3, 1), (10, 4, 1), (10, 5, 1), (10, 6, 1),
(10, 7, 1), (10, 10, 1), (10, 15, 1), (10, 16, 1);

-- Armador (4): estados relevantes al armado
INSERT IGNORE INTO config_alertas_pedido (id_tipo_usuario, id_estado, activa) VALUES
(4, 0, 0), (4, 1, 1), (4, 3, 0), (4, 4, 0), (4, 5, 0), (4, 6, 0),
(4, 7, 0), (4, 10, 1), (4, 15, 1), (4, 16, 1);

-- Facturador (5): facturacion + controlar
INSERT IGNORE INTO config_alertas_pedido (id_tipo_usuario, id_estado, activa) VALUES
(5, 0, 0), (5, 1, 0), (5, 3, 1), (5, 4, 1), (5, 5, 0), (5, 6, 0),
(5, 7, 0), (5, 10, 0), (5, 15, 0), (5, 16, 0);

-- Controlador (6): controlar + enviar
INSERT IGNORE INTO config_alertas_pedido (id_tipo_usuario, id_estado, activa) VALUES
(6, 0, 0), (6, 1, 0), (6, 3, 0), (6, 4, 1), (6, 5, 1), (6, 6, 0),
(6, 7, 0), (6, 10, 0), (6, 15, 0), (6, 16, 0);

-- General (2): desactivadas por defecto
INSERT IGNORE INTO config_alertas_pedido (id_tipo_usuario, id_estado, activa) VALUES
(2, 0, 0), (2, 1, 0), (2, 3, 0), (2, 4, 0), (2, 5, 0), (2, 6, 0),
(2, 7, 0), (2, 10, 0), (2, 15, 0), (2, 16, 0);

-- Telefonista (3): desactivadas por defecto
INSERT IGNORE INTO config_alertas_pedido (id_tipo_usuario, id_estado, activa) VALUES
(3, 0, 0), (3, 1, 0), (3, 3, 0), (3, 4, 0), (3, 5, 0), (3, 6, 0),
(3, 7, 0), (3, 10, 0), (3, 15, 0), (3, 16, 0);

SET SESSION sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
