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

**URL:** <https://community.latromi.com.br/t/utilizacao-do-lpa-para-geracao-de-tarefas-com-o-workflow/1038>\
**Category:** Ajuda & Suporte\
**Tags:** workflow, lpa\
**Created:** [Maio 4, 2023, 5:55pm UTC](https://community.latromi.com.br/t/utilizacao-do-lpa-para-geracao-de-tarefas-com-o-workflow/1038 "2023-05-04T17:55:43Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![josimar.picoloto](https://community.latromi.com.br/user_avatar/community.latromi.com.br/josimar.picoloto/32/1102_2.png) [@josimar.picoloto](https://community.latromi.com.br/u/josimar.picoloto)\
**Post date:** [Maio 9, 2023, 4:50pm UTC](https://community.latromi.com.br/t/utilizacao-do-lpa-para-geracao-de-tarefas-com-o-workflow/1038/4 "2023-05-09T16:50:29Z")

</div>

Obrigado @Alessandra_Raupp !

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

segue um breve exemplo da função!

```sql
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](https://community.latromi.com.br/uploads/default/original/2X/b/ba159624a2eb8d7974a4c3b3f0e54a41e617e88f.png)

---

_[View the full topic](https://community.latromi.com.br/t/utilizacao-do-lpa-para-geracao-de-tarefas-com-o-workflow/1038)._
