delimiter $$

use `alcanced_jacob`$$

drop trigger /*!50032 IF EXISTS */ `tg_atendimento_protocol`$$

create
    /*!50017 DEFINER = 'alcanced_admin'@'%' */
    trigger `tg_atendimento_protocol` before insert on `provedor_atendimento` 
    for each row 
begin
  declare prev_protocolo int;
  
  select protocolo_provedor_atendimento into prev_protocolo from provedor_atendimento
  order by id_provedor_atendimento desc limit 1;
  
  if prev_protocolo is null
	then set new.protocolo_provedor_atendimento = concat(date_format(current_timestamp (), '%Y'), lpad (1, 4, '0'));
  elseif substr (prev_protocolo, 1, 4) <> date_format(current_timestamp, '%Y')
	then set new.protocolo_provedor_atendimento = concat(date_format (current_timestamp (), '%Y'), lpad (1, 4, '0'));  
  else set new.protocolo_provedor_atendimento = concat(date_format (current_timestamp (), '%Y'), lpad(trim(leading 0 from substr (prev_protocolo, 5, 4)) + 1, 4, '0'));
  end if;
end;
$$

delimiter ;