Atribuir atividade a usuário específico com base em valor digitado

Boa tarde! alguém poderia me ajudar nessa duvida. Tenho que através de um gateway enviar para um usuário se o valor no campo for menor que 5000 e se for maior enviar para outro usuário. Já tentei de varias maneiras e nenhuma da certo.

image

image

image

Estou quebrando a cabeça já faz um tempo e até agora não achei como resolver, prfv se alguém puder me dar uma luz só pra eu entender como faço ou se tem outra maneira eu agradeço

Olá @kaue tudo bem? Para fazer isso tem que criar um mecanismo de atribuição customizado. Segue um exemplo rápido que acredito que te atenda

Clique com o botão direito no projeto e escolha as opções New>Other. Depois selecione Fluig > Mecanismo Customizado Fluig
image

Aperte Next, crie um código e uma descrição e Finish. O arquivo vai ser criado na pasta mechanisms no projeto

No código coloca o seguinte:

function resolve(process,colleague){
	var userList = new java.util.ArrayList();
	var value = hAPI.getCardValue("processoValidado");

	if (value < 5000) {
		userList.add('matricula_usuario_1');
	} else {
		userList.add('matricula_usuario_2');
	}

	return userList;

}

Envia o mecanismo para o servidor, depois relaciona ele a atividade.

Para mais detalhes, da uma olhada da documentação Mecanismo de atribuição personalizado - TOTVS Fluig - TDN

Testa aí… Abraço.

2 curtidas

Muito obrigado pela dica, me ajudou demais :smile:

Outra duvida aqui kkkk

O campo que quero pegar o valor do preenchimento pra ativar esse mecanismo é esse aqui:

 <div class="col-md-1">
					      <label for="valor" >Previsão Orçamentária</label>
	  					  <input type="text" id="valor" class="form-control" name="valor" readonly="readonly">
					  </div>

Quero que quando eu preencher esse campo no formulário, esse mecanismo de atribuição veja se o valor foi > 5000 ou <5000.

ai deixei assim:

function resolve(process,colleague){
	var userList = new java.util.ArrayList();
	var value = hAPI.getCardValue("valor");

	if (value < 5000) {
		userList.add('matricula_usuario_1'); // matricula demonstrativa
	} else {
		userList.add('matricula_usuario_2');  // matricula demonstrativa
	}

	return userList;

}


Porém ainda não está funcionando, tenho que mudar algo no html?

1 curtida

Utilizo de outra forma, bem simples:
parseFloat(hAPI.getCardValue(“valor”))>10000

1 curtida

Tentei seu método porém ainda não manda para nenhum dos usuários que seria para encaminhar .

Fiz algo errado? O valor que estou querendo pegar para verificar se é > 5000 seria esse aqui:

<div class="col-md-1">
					      <label for="valor" >Previsão Orçamentária</label>
	  					  <input type="text" id="valor" class="form-control" name="valor" readonly="readonly">
					  </div>

o problema pode ser o valor que está tentando passar,

o parseFloat() converte a string em numero (converte “5000” em 5000),
também pode ser casas decimais, estas devem ser separadas por ponto,
ex:
certo: 5000.00 ou 5000
errado: 5000,00 ou 5.000

Obrigado a todos! não sei o motivo mas hoje funcionou os dois métodos e olha que não mudei nada kkkkkk.

Vlw pela ajuda.

1 curtida