CREATE OR ALTER procedure sp_notificar_romaneio_pend ( romaneio integer) as declare variable romaneio_id integer; declare variable numero_notafiscal integer; declare variable empresa_id integer; declare variable produto_id integer; declare variable produto_tamanho varchar(5); declare variable status char(1); declare variable perda numeric(18,5); declare variable quantidade_b_romaneio numeric(18,5); declare variable quantidade_l_romaneio numeric(18,5); declare variable nfe_item_id integer; declare variable quantidade_nota numeric(18,5); declare variable produto_descricao varchar(100); declare variable razaosocial varchar(300); declare variable nomefantasia varchar(300); declare variable usuario_id integer; declare variable email varchar(200); declare variable corpo1 blob sub_type 1 segment size 80; declare variable corpo2 blob sub_type 1 segment size 80; declare variable tabela blob sub_type 1 segment size 80; declare variable assunto varchar(500); BEGIN ASSUNTO = 'ROMANEIO (DIVERGÊNCIA ROMANEIO/NOTA FISCAL)'; TABELA = ''|| ''|| ''|| ''|| ''|| ''|| ''|| ''; --NOTIFICAR FOR SELECT DISTINCT N.ROMANEIO_ID, N.NUMERO_NOTAFISCAL, N.EMPRESA_ID, N.PRODUTO_ID, N.PRODUTO_TAMANHO, N.STATUS, N.PERDA, N.QUANTIDADE_B_ROMANEIO, N.QUANTIDADE_L_ROMANEIO, N.NFE_ITEM_ID, N.QUANTIDADE_NOTA, N.PRODUTO_DESCRICAO, E.RAZAOSOCIAL, E.NOMEFANTASIA FROM VWROMANEIO_NOTA N, TBEMPRESA E WHERE N.STATUS > 1 AND N.QUANTIDADE_B_ROMANEIO <> N.QUANTIDADE_NOTA AND N.ROMANEIO_ID = :ROMANEIO AND E.CODIGO = N.EMPRESA_ID INTO ROMANEIO_ID, NUMERO_NOTAFISCAL, EMPRESA_ID, PRODUTO_ID, PRODUTO_TAMANHO, STATUS, PERDA, QUANTIDADE_B_ROMANEIO, QUANTIDADE_L_ROMANEIO, NFE_ITEM_ID, QUANTIDADE_NOTA, PRODUTO_DESCRICAO, RAZAOSOCIAL, NOMEFANTASIA DO BEGIN TABELA = TABELA||''; TABELA = TABELA||''; TABELA = TABELA||''; TABELA = TABELA||''; TABELA = TABELA||''; TABELA = TABELA||''; TABELA = TABELA||''; TABELA = TABELA||''; END CORPO1 = ''; CORPO1 = CORPO1 || '

'; CORPO1 = CORPO1 || '

[ABRIR NA WEB]

'; CORPO1 = CORPO1 || '
'; CORPO1 = CORPO1 || '

ID: '||COALESCE(:ROMANEIO_ID,'')||'

'; CORPO1 = CORPO1 || '

NF: '||COALESCE(:NUMERO_NOTAFISCAL,'')||'

'; CORPO1 = CORPO1 || '

EMPRESA: '||COALESCE(:EMPRESA_ID,'')||' - '||COALESCE(:RAZAOSOCIAL,'')||'

'; CORPO1 = CORPO1 || '
'; CORPO1 = CORPO1 || TABELA; CORPO1 = CORPO1 || '
IDPRODUTOPERDAQTD. BRUTAQTD. LIQUIDAQTD. NOTA
' || COALESCE(PRODUTO_ID ,'')||'' || COALESCE(PRODUTO_DESCRICAO ,'')||'' || COALESCE(PERDA ,'')||'' || COALESCE(QUANTIDADE_B_ROMANEIO ,'')||'' || COALESCE(QUANTIDADE_L_ROMANEIO ,'')||'' || COALESCE(QUANTIDADE_NOTA ,'')||'
'; CORPO2 = ''; CORPO2 = CORPO2 || '

'; CORPO2 = CORPO2 || '

[ABRIR NA WEB]

'; CORPO2 = CORPO2 || '
'; CORPO2 = CORPO2 || '

ID: '||COALESCE(:ROMANEIO_ID,'')||'

'; CORPO2 = CORPO2 || '

NF: '||COALESCE(:NUMERO_NOTAFISCAL,'')||'

'; CORPO2 = CORPO2 || '

EMPRESA: '||COALESCE(:EMPRESA_ID||' - '||:RAZAOSOCIAL,'')||'

'; CORPO2 = CORPO2 || '
'; CORPO2 = CORPO2 || '

DIVERGÊNCIA ENTRE QUANTIDADES NO ROMANEIO E NOTA FISCAL. PARA DETALHAMENTO, VERIFIQUE SEU E-MAIL OU CLIQUE NO LINK ACIMA.

'; CORPO2 = CORPO2 || ''; IF( COALESCE(:ROMANEIO_ID,0) > 0 )THEN BEGIN FOR SELECT U.EMAIL, U.CODIGO FROM TBCONTROLE_USUARIO O, TBUSUARIO U WHERE U.CODIGO = O.USUARIO_ID AND O.ID = 901 AND O.VALOR_EXT = '1' INTO :EMAIL, :USUARIO_ID DO BEGIN EXECUTE PROCEDURE SPI_NOTIFICAR( CURRENT_TIMESTAMP, :USUARIO_ID, :ASSUNTO, :CORPO1, 1, 0 ); EXECUTE PROCEDURE SPI_NOTIFICAR( CURRENT_TIMESTAMP, :USUARIO_ID, :ASSUNTO, :CORPO2, 0, 1 ); END END END;