-- =============================================================================
-- RESTAURACAO das configuracoes individuais de ponto a partir do backup criado pelo ROLLBACK.
-- Uso: 1) execute a secao 1 (estrutura) de 20261024_ponto_individual.sql para recriar as colunas
--      2) defina o nome da tabela de backup (exibido pelo ROLLBACK):
--             SET @bk = 'Funcionario_ponto_cfg_bkp_AAAAMMDD_HHMMSS';
--      3) execute este arquivo.
-- Restaura SOMENTE as colunas novas e SOMENTE onde estao NULL (nunca sobrescreve o que ja foi preenchido).
-- =============================================================================
SET @s = IF(@bk IS NULL, 'SELECT ''Defina @bk antes de executar'' AS erro',
  CONCAT('UPDATE Funcionario f JOIN ', @bk, ' b ON b.id = f.id SET ',
  'f.tolerancia_ponto_min = COALESCE(f.tolerancia_ponto_min, b.tolerancia_ponto_min), f.ponto_batidas = COALESCE(f.ponto_batidas, b.ponto_batidas), f.ponto_perfil = COALESCE(f.ponto_perfil, b.ponto_perfil), f.ponto_hora_entrada = COALESCE(f.ponto_hora_entrada, b.ponto_hora_entrada), f.ponto_hora_almoco = COALESCE(f.ponto_hora_almoco, b.ponto_hora_almoco), f.ponto_hora_retorno = COALESCE(f.ponto_hora_retorno, b.ponto_hora_retorno), f.ponto_hora_saida = COALESCE(f.ponto_hora_saida, b.ponto_hora_saida), f.ponto_regras_desde = COALESCE(f.ponto_regras_desde, b.ponto_regras_desde)'));
PREPARE st FROM @s; EXECUTE st; DEALLOCATE PREPARE st;
