CREATE OR ALTER TRIGGER TTBCLIENTE_B1I_02 FOR TBCLIENTE
ACTIVE BEFORE INSERT POSITION 2
as
declare variable MENSAGEM1 Varchar(7000);
declare variable MENSAGEM2 Varchar(7000);
declare variable descricao1 Varchar(200);
declare variable descricao2 Varchar(200);
declare variable empresa Varchar(100);
declare variable produto Varchar(100);
declare variable usuario_id integer;
declare variable email Varchar(300);
declare variable url Varchar(300);
declare variable uf Varchar(10);
declare variable user_notificar Varchar(300);
declare variable flag Varchar(50);
begin

  if (new.ecommerce = 1 or new.ecommerce = 2) then
  begin

    if (new.ecommerce = 1) then
    begin
       :user_notificar = coalesce(FN_PARAMETRO('SISTEMA.USUARIOS_NOTIFICAR_ECOMMERCE'),0);
       :flag = 'ECOMMERCE';
    end

    if (new.ecommerce = 2) then
    begin
       :user_notificar = coalesce(FN_PARAMETRO('SISTEMA.USUARIOS_NOTIFICAR_LACLOFIT'),0);
       :flag = 'LACLOFIT';
    end

    :empresa = coalesce(new.razaosocial,'');
    :uf      = coalesce(new.uf,'');

    :url = coalesce((select first 1 n.valor_ext from tbcontrole_n n where n.id = 279 ),'https://gc.delfa.com.br');

    :descricao1 = 'Novo Cliente Cadastrado ('||:flag||')';
    :descricao2 = 'Novo Cliente Cadastrado ('||:flag||'), Cliente:'||:empresa||', UF:'||:uf;

    :MENSAGEM1  = 'Cliente: '||:empresa||'<br>'||
                  '<a href="'||:url||'/_12360?CLIENTE_ID='||new.codigo||'" target="_blank">Abrir Cliente</a>';
    
     :MENSAGEM2 = '';
    
     for
         select
            u.codigo,
            u.email
        from tbusuario u, (select OSPLIT from split(:user_notificar,',')) n
        
        where u.codigo = n.OSPLIT
     into
        :usuario_id,
        :email
     do begin
    
        INSERT INTO TBNOTIFICACAO (TIPO, USUARIO_ID, TODOS, MENU_ID, TITULO, LEITURA, ENVIO, DATA_HORA, EMITENTE, AGENDAMENTO, EXECUTADO, TABELA, TABELA_ID, MENSAGEM)
               VALUES (1, :usuario_id, 0, 0, :descricao1, 0, 0, current_timestamp, -1, current_timestamp, 0, 'TBCLIENTE', new.codigo, :MENSAGEM1||:MENSAGEM2);
    
    
        INSERT INTO TBEMAIL (EMAIL, USUARIO_ID, ASSUNTO, STATUS, DATAHORA, DATAHORA_ENVIO, FLAG, PAINEL_ID, CORPO)
             VALUES (:email, 0, :descricao2, 0, current_timestamp, null, 0, 0, :MENSAGEM1||:MENSAGEM2);
    
    
     end
  end

  if (NEW.BLOQUEIA_PEDIDO = '1' or NEW.BLOQUEIA_NOTAFISCAL = '1') then
      Begin
      New.Data_Bloqueio = Current_Date;
      End

  if (New.Etiqueta is NUll or Char_Length(New.Etiqueta) = 0) then
      New.Etiqueta = Left(Replace(New.razaosocial,' ',''),6);

End;