# 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:** 4\
**Page:** 1

<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 4, 2023, 5:55pm UTC](https://community.latromi.com.br/t/utilizacao-do-lpa-para-geracao-de-tarefas-com-o-workflow/1038/1 "2023-05-04T17:55:43Z")

</div>

Boa tarde

Com a nova funcionalidade do latromi o LPA como é possível utilizar a solução para a geração de novas tarefas do workflow ?

A necessidade que possuo hoje é gerar uma tarefa recorrente para o usuáio acesar um link e fazer uma validação.

---

<div class="post-metadata">

**Author:** ![Alessandra\_Raupp](https://community.latromi.com.br/user_avatar/community.latromi.com.br/alessandra_raupp/32/1670_2.png) [@Alessandra\_Raupp](https://community.latromi.com.br/u/Alessandra_Raupp)\
**Post date:** [Maio 5, 2023, 2:54pm UTC](https://community.latromi.com.br/t/utilizacao-do-lpa-para-geracao-de-tarefas-com-o-workflow/1038/2 "2023-05-05T14:54:01Z")

</div>

Bom dia @josimar.picoloto!

Elaboramos um exemplo de utilização do **LPA** para abrir uma tarefa recorrente no **Workflow**.  
No nosso exemplo, utilizaremos o **Controle de Estoque Mínimo** , ou seja, todas as vezes que determinado produto atingir a quantidade mínima de estoque, será aberta uma tarefa para que seja providenciado o seu reabastecimento.

- O primeiro passo é cadastrar a tarefa no menu LATROMI Workflow → Cadastro → Tipo de Tarefa.

- Com a tarefa criada, vamos configurar a automatização no LPA (menu LATROMI → LPA → Agendador de Tarefas). A figura abaixo apresenta a inclusão do agendamento da tarefa.

- A próxima etapa é o **Fluxo de Tarefas**. Neste exemplo, vamos utilizar um **Comando SQL**.

- Abaixo segue o código SQL utilizado:

Deste modo, a cada 30 segundos, o LPA irá rodar essa função e verificar se precisa ou não abrir uma nova tarefa. Quando a condição da função for atingida, ou seja, quando a quantidade de estoque atingir o estoque mínimo determinado, vai abrir a tarefa para o setor de Suprimentos.

Para conferir as demais possibilidades de uso do LPA, [clique aqui.](https://community.latromi.com.br/t/apresentando-o-lpa-latromi-process-automation/1025)

---

<div class="post-metadata">

**Author:** ![daniel.giacomelli](https://community.latromi.com.br/user_avatar/community.latromi.com.br/daniel.giacomelli/32/1476_2.png) [@daniel.giacomelli](https://community.latromi.com.br/u/daniel.giacomelli)\
**Post date:** [Maio 5, 2023, 3:21pm UTC](https://community.latromi.com.br/t/utilizacao-do-lpa-para-geracao-de-tarefas-com-o-workflow/1038/3 "2023-05-05T15:21:31Z")

</div>

Ótimo exemplo @Alessandra_Raupp! 👏

---

<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)
