Esse conteúdo foi migrado integralmente da antiga Wiki do PJe, e suas informações podem estar desatualizadas.
Expressões
Esta seção se destina a explicitar algumas expressões (EL) que devem ser usadas na construção de fluxos do PJe para atender determinadas situações.
Definir variável no fluxo
#{org.jboss.seam.bpm.processInstance.contextInstance.setVariable('<nome da variável>', <valor>)}
Configura para uso futuro no fluxo uma variável cujo nome seja <nome da variável>
para conter o valor especificado pelo valor respectivo.
Exemplos:
#{org.jboss.seam.bpm.processInstance.contextInstance.setVariable('pje:aguardaEstouroPrazo', 'true')}
#{org.jboss.seam.bpm.processInstance.contextInstance.setVariable('pje:aguardaFecharExpediente', 'true')}
#{taskInstanceUtil.setVariable('ocultarAssinatura', 'true')}
Definir minuta em elaboração
#{org.jboss.seam.bpm.processInstance.contextInstance.setVariable('minutaEmElaboracao', processoHome.idProcessoDocumento)}
Configura para uso futuro no fluxo a variável minutaEmElaboração como sendo o documento em manutenção.
Restringir tipos de documentos disponíveis
#{taskInstanceUtil.setVariable('tiposDisponiveisIds','60,69,65,71')}
Restringe os tipos de documentos disponíveis para utilização no fluxo aos tipos passados como parâmetro, desde que estejam definidos na instalação e estejam ativos. Para que a restrição não mais ocorra no fluxo, deve-se apagar a variável.
Deve ser utilizada, por exemplo, ao criar expedientes, para limitar os tipos de documentos que poderão ser utilizados na construção do expediente.
Excluir variável
#{org.jboss.seam.bpm.processInstance.contextInstance.deleteVariable('pje:aguardaEstouroPrazo')}
Exclui a variável criada anteriormente (evento)
#{org.jboss.seam.bpm.processInstance.contextInstance.deleteVariable('pje:aguardaCiencia')}
Exclui a variável criada anteriormente (evento)
#{processInstance.getContextInstance().deleteVariable('minutaEmElaboracao')}
Exclui a variável criada anteriormente (evento)
Apagar agrupamentos
#{org.jboss.seam.bpm.processInstance.contextInstance.deleteVariable('AgrupamentosLancadosTemporariamente')}
Apaga possíveis agrupamentos lançados temporiamente anteriormente
Apagar movimentos
#{org.jboss.seam.bpm.processInstance.contextInstance.deleteVariable('MovimentosLancadosTemporariamente')}
Apaga possíveis movimentos lançados temporiamente anteriormente
Configurar lançador de movimentações
#{lancadorMovimentosService.setCondicaoLancamentoMovimentosTemporarioNoFluxo('#{true}')}
Essa expressão configura o lançador de movimentações como associado à tarefa sendo configurada. Ao setar o parâmetro para "false", o usuário está dizendo que o lançamento da movimentação não precisará ser confirmado em tarefa futura. O contrário diz que uma tarefa futura confirmará o movimento.
Vincular modelo à tarefa
#{modeloDocumento.set('<nome de tarefa>',<código(s) do(s) modelo(s) a ser(em) vinculado(s)>)}
Configura os modelos de documento passíveis de serem utilizados pela tarefa cujo nome é < nome da tarefa >. No caso de serem mais de um modelo, os códigos devem ser separados por vírgula.
Exemplos:
Restringir modelos do PAC
#{modeloDocumento.set('Processo_Fluxo_prepararExpediente',60,69,65,71)}
Configura os modelos de documento passíveis cujos códigos são 60, 69, 65 e 71 para serem utilizadas na tarefa do PAC de preparar expediente.
Restringir modelos da minuta
#{modeloDocumento.set('minuta_ato_judicial',85,86,75,76)}
Configura os modelos de documento passíveis cujos códigos são 60, 69, 65 e 71 para serem utilizadas na tarefa do PAJ de minutar.
Verificação de audiências marcadas
#{processoTrfHome.instance.processoAudienciaList.size() > 0 ? 'Verificar providência a adotar' : 'Escolher providência inicial'}
Verifica se houve audiências marcadas e encaminha o fluxo para as tarefas "Verificar providência a adota" ou "Escolher providência inicial", conforme existência de audiência ou não, respectivamente.
Remover a exibição do botão GRAVAR na tarefa
No evento de criar tarefa crie a variável 'mostrarBotaoGravarNoFluxo', com o valor 'false'.
#{taskInstanceUtil.setVariable('mostrarBotaoGravarNoFluxo','false')}
Transição de saída padrão
#{taskInstanceUtil.setFrameDefaultTransition(' <nome da transição de saída padrão> ')}
Vinculação da transição de saída padrão da tarefa
Adicione sempre no evento Criar Tarefa
Exemplos:
Transição da saída padrão
#{taskInstanceUtil.setFrameDefaultTransition('Término')}
Na tarefa em que é utilizada, a transição de saída padrão passar a ser Término.
Transição de saída padrão da revisão
#{taskInstanceUtil.setFrameDefaultTransition('Confirmar movimentação')}
Na tarefa de revisão da minuta (Confirmar ato), a transição de saída padrão passar a ser Confirmar movimentação.
Atos de comunicação em aberto
#{atoComunicacaoService.getAtosComunicacaoAbertos(processoJudicialService.findById(org.jboss.seam.bpm.processInstance.contextInstance.getVariable('processo'))) != 0}
Verifica existência de atos de comunicação em aberto
#{atoComunicacaoService.getAtosComunicacaoAbertos(processoJudicialService.findById(org.jboss.seam.bpm.processInstance.contextInstance.getVariable('processo'))) == 0 ? 'Prazos vencidos' : 'Aguardando término dos prazos'}
Verifica se há atos de comunicação em aberto (nó de decisão)
Verificação de movimentos
#{processoTrfHome.existeMovimentoLancadoPorIdEvento(848)}
Verifica se há movimento lançado com aquele identificador
#{verificaEventoAction.verificarEventos(19, 28)}
Verifica se existem aqueles movimentos no processo
Existência de sentença líquida
#{resultadoSentencaService.isPossuiSentencaLiquida()}
Verifica se há sentença líquida lançada no processo
Quantidade de postos avançados
#{postoAvancadoAction.numeroDePostosDoOrgaoJulgador() > 0}
Verifica se o OJ possui posto avançado
#{postoAvancadoAction.numeroDePostosDoOrgaoJulgador() == 1 ? 'Encaminhar posto avançado' : 'Escolher posto avançado' }
Verfica a quantidade de postos avançados do OJ (nó de decisão)
Verificação de documento de magistrado assinado
#{!resultadoSentencaService.isUltimoSentencaDecisaoDespachoAssinado()}
Verifica se a última sentença, despacho ou decisão está assinada
Verificação de último documento do processo assinado
#{processoDocumentoHome.isUltimoDocumentoAssinado()}
Verifica se último documento do processo está assinado
Verificação de audiências
#{processoAudienciaHome.existeAudienciaPendenteProcesso()}
Verifica se há audiência pendente de ser realizada no processo
#{processoAudienciaHome.existeAudienciaPendenteProcesso() ? 'Operações da Audiência' : 'Designar Audiência'}
Verifica se há audiência pendente de ser realizada no processo (nó de decisão)
Recupera o posto avançado
#{processoTrfHome.instance.orgaoJulgador.postoAvancado}
Obtém o posto avançado do órgão julgador
Existência de carta precatória
#{comunicacaoProcessualAction.getExpedientesPrecatorias().size() > 0 ? 'Encaminhar Carta' : 'JoinComunicacao'}
Verifica se há expedientes do tipo carta precatória (nó de decisão)
Sentença
#{org.jboss.seam.bpm.processInstance.contextInstance.getVariable('tipoSentenca') == 'true' ? 'Partes cientes?' : 'Controle de prazos diversos'}
Verifica se a variável criada “tiposentenca” está setada para true (nó de decisão)
Expedientes para o diário
#{comunicacaoProcessualAction.getExpedientesDiario().size() > 0 ? 'Publicar DJE' : 'JoinComunicacao'}
Verifica se há expedientes enviados para o diário (nó de decisão)
Órgão público
#{processoJudicialService.findById(org.jboss.seam.bpm.processInstance.contextInstance.getVariable('processo')).haParteOrgaoPublico() ? 'Reexame necessário' : 'Registrar trânsito em julgado'}
Utilizado para verificar se há partes no processo do tipo órgão público
Expediente carta
#{comunicacaoProcessualAction.getExpedientesPrecatorias().size() > 0 ? 'Encaminhar carta' : 'JoinComunicacao'}
Verifica se há expedientes do tipo Carta
Expedientes para os correios
#{comunicacaoProcessualAction.getExpedientesCorreios().size() > 0 ? 'Imprimir Correspondência' : 'JoinComunicacao'}
Verifica se há expedientes do tipo Correios (nó de decisão)
Expediente edital
#{comunicacaoProcessualAction.getExpedientesEdital().size() > 0 ? 'Encaminhar Edital' : 'JoinComunicacao'}
Verifica se há expedientes do tipo edital (nó de decisão)
Expediente telefone
#{comunicacaoProcessualAction.getExpedientesTelefone().size() > 0 ? 'Registrar ciência' : 'JoinComunicacao'}
Verifica se há expedientes do tipo telefone (nó de decisão)
Expediente pessoal
#{comunicacaoProcessualAction.getExpedientesPessoal().size() > 0 ? 'Registrar ciência' : 'JoinComunicacao'}
Verifica se há expedientes do tipo pessoal (nó de decisão)
Nó de decisão para expediente pessoal/por telefone ou para expediente DJE
#{comunicacaoProcessualAction.getExpedientesTelefone().size() > 0 or comunicacaoProcessualAction.getExpedientesPessoal().size() > 0 ? 'Registrar ciência' : 'Publicar DJE'}
Verifica se o expediente é pessoal ou por telefone para envio para registro de ciência. Caso contrário, assume que o expediente é para o diário e envia para publicação.
Verificação de assunto do processo
#{competenciaClasseAssuntoHome.processoContemClasseAssunto('40;1116;991;992;993;990;261:55292') ? 'Iniciar Execução' : 'Verificar Valor'}
Verifica se há assunto cadastrado para processo (nó de decisão)
Documentos não apreciados
#{documentoJudicialService.haDocumentoNaoApreciado(org.jboss.seam.bpm.processInstance.contextInstance.getVariable('processo') ,62,23) ? 'Embargos de Declaração' : 'Aguardando prazo - recurso'}
#{documentoJudicialService.haDocumentoNaoApreciado(org.jboss.seam.bpm.processInstance.contextInstance.getVariable('processo') ,62,47,5,42) ? 'Analisar manifestação' : 'Há órgão público?'}
Verifica se há documento não apreciado (nó de decisão)
Verifica urgência ou sigilo
#{processoTrfHome.isEmPedidoSegredoJustica() or processoTrfHome.isEmPedidoUrgencia ? 'Apreciar Urgentes' : 'Triagem Inicial'}
Verifica se há pedido de urgência ou segredo de justiça (nó de decisão)
Expediente para central
#{comunicacaoProcessualAction.getExpedientesMandados().size() > 0 ? 'Tem uma Central?' : 'JoinComunicacao'}
Verifica se há expedientes do tipo mandado ou ofício (nó de decisão)
Expediente após sentença
#{processoExpedienteManager.existeExpedienteAposUltimaSentenca(org.jboss.seam.bpm.processInstance.contextInstance.getVariable('processo')) ? 'Aguardando ciência' : 'Aguardando prazo - ED'}
Verifica se há expedientes após última sentença do processo (nó de decisão)
Expedientes sem ciência
#{processoParteExpedienteManager.todosTomaramCiencia(org.jboss.seam.bpm.processInstance.contextInstance.getVariable('processo') ) ? 'Aguardando prazo - ED' : 'Aguardando ciência'}
Verifica se todos os destinatários já tomaram ciência (nó de decisão)
Verificação de faixa de valores
#{processoTrfHome.isViolacaoFaixaValores() ? 'Valor Incompatível' : 'Verificar Urgência'}
Verifica se há violação de faixa de valores no processo (nó de decisão)