-- Revisão completa Fase 05 - Benefícios e Faltas
-- Executar uma vez no banco bravasis_hub.
-- 1) Adiciona Cesta Básica ao catálogo de tipos.
ALTER TABLE beneficios_rh MODIFY COLUMN tipo ENUM('Vale Transporte','Vale Alimentação','Vale Refeição','Cesta Básica','Outro') NOT NULL DEFAULT 'Outro';

-- 2) Validação: um funcionário pode possuir simultaneamente vários benefícios.
SELECT funcionario_id, COUNT(*) AS beneficios_ativos
FROM funcionarios_beneficios_rh
WHERE ativo=1 AND data_inicio<=CURDATE() AND (data_fim IS NULL OR data_fim>=CURDATE())
GROUP BY funcionario_id
ORDER BY beneficios_ativos DESC;

-- 3) Validação da regra de desconto por falta.
SELECT id, funcionario_id, beneficio_id, descontar_falta, desconto_tipo, desconto_valor
FROM funcionarios_beneficios_rh
WHERE ativo=1 AND descontar_falta=1;

-- 4) Garante o tipo de benefício usado pela empresa.
INSERT INTO beneficios_rh (nome, codigo, tipo, forma_calculo, valor_padrao, permite_desconto, ativo)
SELECT 'Cesta Básica', 'CESTA-BASICA', 'Cesta Básica', 'Mensal', 0.00, 1, 1
WHERE NOT EXISTS (SELECT 1 FROM beneficios_rh WHERE nome='Cesta Básica');
