Utilização do LPA para geração de tarefas com o Workflow

Obrigado @Alessandra_Raupp !

Aproveitando a funcionalidade acabei criando tambem um recurso para alerta via bot de whatsapp.

segue um breve exemplo da função!

DO LANGUAGE plpgsql
$BODY$
DECLARE
   restoquediesel RECORD;
  
BEGIN
   /* Query para verificar se algum estoque mínimo foi atingido */
   FOR restoquediesel IN
		select 
		empresa.nome as empresa
		,produto.descricao as produto
		,produto.quantidade as quantidadeestoque
		,case
			when produto.quantidade > produto.quantidadeestoquemaximo
				then 'Acima do Estoque Máximo'
			when produto.quantidade < produto.quantidadeestoqueminimo 
				then 'Abaixo do Estoque Mínimo'
			end variavel
		,produto.quantidadeestoqueminimo  as quantidadeestoqueminimo
		,produto.quantidadeestoquemaximo as quantidadeestoquemaximo
		,(select 
				TO_CHAR(produto_kardex.dtinc , 'DD/MM/YYYY') as dtmovimentacao
			from produto_kardex
			where produto_kardex.produto = '100001'
				and produto_kardex.empresa = 1
				order by produto_kardex.sequencia desc
				limit 1) as dtmovimentacao
	from produto
	
	left join empresa 
		on empresa.grupo  = produto.grupo 
		and empresa.codigo  = produto.empresa 
		
	where produto.codigo = '100001'
		and produto.empresa = 1
		
	loop
	if restoquediesel.quantidadeestoque > restoquediesel.quantidadeestoquemaximo or restoquediesel.quantidadeestoqueminimo < restoquediesel.quantidadeestoqueminimo then
			INSERT INTO silvestrin.bot_filaenviowhatsapp
				(
					dtinc
					,idtemplate
					,fonedestinatario
					,parametros
					)
					VALUES (
					CURRENT_TIMESTAMP
					,'14972410-fe75-4386-85cd-fd2a25930129'		
					,'5554981690465'
					,('{"usuario":'||TO_JSON('Amigo'::VARCHAR)||'
					  ,"produto":'||TO_JSON(restoquediesel.produto::VARCHAR)||'
					  ,"empresa":'||TO_JSON(restoquediesel.empresa::VARCHAR)||'
	    			  ,"variavel":'||TO_JSON(restoquediesel.variavel::VARCHAR)||'
                      ,"quantidadeestoque":'||TO_JSON(restoquediesel.quantidadeestoque::INT)||'
					  ,"dtmovimentacao":'||TO_JSON(restoquediesel.dtmovimentacao::date)||'}')::json 
					);								
	end if;	
END LOOP;
  
END;
$BODY$

image

3 curtidas