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:
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.
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 Processo_Fluxo_prepararExpediente.
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.
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
Exemplos:
Transição de 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.
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
Existência do movimento
#{processoTrfHome.existeMovimentoLancadoPorIdEvento(848)}
Verifica se há movimento lançado com aquele identificador
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' : 'JoinComunicação'}
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' : 'Joincomunicação'}
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
Expedientes para os correios
#{comunicacaoProcessualAction.getExpedientesCorreios().size() > 0 ? 'Imprimir Correspondência' : 'JoinComunicacao'}
Verifica se há expedientes enviados para correio (nó de decisão)
Expediente edital
#{comunicacaoProcessualAction.getExpedientesEdital().size() > 0 ? 'Encaminhar Edital' : 'JoinComunicação'}
Verifica se há expedientes do tipo edital (nó de decisã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)
Verificação de atos de comunicação em aberto - nó de decisão
#{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)
Documentos não apreciados
#{documentoJudicialService.haDocumentoNaoApreciado(org.jboss.seam.bpm.processInstance.contextInstance.getVariable('processo') ,62,23) ? 'Embargos de Declaração' : 'Aguardando prazo - recurso'}
#{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)
#{comunicacaoProcessualAction.getExpedientesMandados().size() > 0 ? 'Tem uma Central?' : 'JoinComunicacao'}
Verifica se há expedientes do tipo mandado ou ofício (nó de decisão)
#{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)
#{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)
#{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)
#{processoTrfHome.isViolacaoFaixaValores() ? 'Valor Incompatível' : 'Verificar Urgência'}
Verifica se há violação de faixa de valores no processo (nó de decisão)
#{comunicacaoProcessualAction.getExpedientesCorreios().size() > 0 ? 'Imprimir Correspondência' : 'JoinComunicação'}
Verifica se há expedientes do tipo correios (nó de decisão)
#{comunicacaoProcessualAction.getExpedientesEletronico().size() > 0 ? 'Encaminhar Via Sistema' : 'JoinComunicacao'}
Verifica se há expedientes do tipo eletrônico (nó de decisão)
#{conectorMandados.haVariasCentraisMandado() ? 'Selecionar Central de Mandado' : 'Encaminhar Central Mandados'}
Verifica se há mais de uma central de mandado vinculado ao OJ (nó de decisão)
#{(processoTrfHome.isProcessoExecucao() )?'Iniciar Execução':(processoTrfHome.isProcessoLiquidacao() ? 'Iniciar Liquidação' : 'Verificar Valor')}
Verifica se é processo de execução ou é processo de liquidação (nó de decisão)
#{taskInstanceUtil.setFrameDefaultTransition('Término')}
Setar a transição padrão para a tarefa (evento)
#{modeloDocumento.set('Processo_Fluxo_prepararExpediente',14,56,69,8,92,93,161,216,217,218)}
Setar modelos de documentos a serem utilizados para a tarefa (evento)
#{tipoDocumento.set('minutaEmElaboracao',63,62)}
Setar tipos de documentos que podem ser utilizados na tarefa (evento)
#{preencherMovimento.deCodigo(51).comComplementoDeCodigo(3).doTipoDominio().preencherComElementoDeCodigo(36).lancarMovimento()}
Registrar movimento automaticamente (evento)
#{preencherMovimento.deCodigo(123).comComplementoDeCodigo(7).doTipoDominio().preencherComElementoDeCodigo(7051).comComplementoDeCodigo(18).doTipoDominio().preencherComElementoDeCodigo(38).lancarMovimento()}
Registrar movimento automaticamente (evento)
#{preencherMovimento.deCodigo(848).lancarMovimento()}
Registrar movimento automaticamente (evento)
#{org.jboss.seam.bpm.processInstance.contextInstance.setVariable('pje:aguardaEstouroPrazo', 'true')}
Cria a variável setando o valor inicial (evento)
#{org.jboss.seam.bpm.processInstance.contextInstance.setVariable('pje:aguardaFecharExpediente', 'true')}
Cria a variável setando o valor inicial (evento)
#{taskInstanceUtil.setVariable('ocultarAssinatura', 'true')}
Cria a variável setando o valor inicial (evento)
#{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)
#{lancadorMovimentosService.excluirUltimoMovimento('51')}
Excluir o último registro do movimento processual (evento)
#{lancadorMovimentosService.apagarMovimentosTemporarios()}
Exclui movimentos serializados (evento)
#{postoAvancadoAction.encaminharParaPostoAvancado()}
Remete o processo para o Posto avançado cadastrado para o OJ (evento)
#{postoAvancadoAction.retornarParaOrgaoJulgador()}
Executa o método que efetiva o retorno do processo para o OJ principal do posto avançado
#{preparaAtoComunicacaoAction.setMeiosComunicacao('P,E,C,M,L')}
Setar os meios de comunicação possíveis de uso no preparar ato de comunicação (evento)
#{preparaAtoComunicacaoAction.setMeiosComunicacao('P,D,E,C,M,L')}
Setar os meios de comunicação possíveis de uso no preparar ato de comunicação (evento)
#{resultadoSentencaService.homologarResultadoSentenca()}
Habilitar o botão para homologação de sentenca (evento)
#{resultadoSentencaService.excluirResultadoSentencaNaoHomologado()}
Exclui o registro de resultado de sentença (evento)
#{comunicacaoProcessualAction.enviarExpedientesLancarMovimentos('C', 'processoExpedienteAtual', '#{preencherMovimento.deCodigo(60).comComplementoDeCodigo(4).preencherComObjeto(processoExpedienteAtual.getProcessoDocumento().getTipoProcessoDocumento()).comComplementoDeCodigo(13).doTipoDominio().preencherComElementoDeCodigo(7030).lancarMovimento()}')}
Remete o expediente e registra o movimento processual de forma automatizada (evento)
#{comunicacaoProcessualAction.enviarExpedientesLancarMovimentos('M', 'processoExpedienteAtual', '#{preencherMovimento.deCodigo(60).comComplementoDeCodigo(4).preencherComObjeto(processoExpedienteAtual.getProcessoDocumento().getTipoProcessoDocumento()).comComplementoDeCodigo(13).doTipoDominio().preencherComElementoDeCodigo(7030).lancarMovimento()}#{preencherMovimento.deCodigo(50079).comComplementoDeCodigo(5037).doTipoDominio().preencherComElementoDeCodigo(7238).comComplementoDeCodigo(7).doTipoDominio().preencherComElementoDeCodigo(7051).comComplementoDeCodigo(18).doTipoDominio().preencherComElementoDeCodigo(7084).lancarMovimento()}')}
Remete o expediente e registra o movimento processual de forma automatizada (evento)
#{comunicacaoProcessualAction.enviarExpedientesLancarMovimentos('E', 'processoExpedienteAtual', '#{preencherMovimento.deCodigo(60).comComplementoDeCodigo(4).preencherComObjeto(processoExpedienteAtual.getProcessoDocumento().getTipoProcessoDocumento()).comComplementoDeCodigo(13).doTipoDominio().preencherComElementoDeCodigo(7030).lancarMovimento()}')}
Remete o expediente e registra o movimento processual de forma automatizada (evento)
Preparar e enviar remessa para instância superior
Restringir código de tipo de documento para envio de remessa ao STF
#{taskInstanceUtil.setVariable('pje:fluxo:remessaSTF:tipoDocumento:codigo>',<código(s) do(s) tipos(s) de documento(s) permitido(s)>)}
Configura os códigos dos tipos de documentos permitidos na preparação de remessa a ser enviada ao STF. A variável pje:fluxo:remessaSTF:tipoDocumento:codigo deve ser criada na tarefa responsável pela preparação dessa remessa. No caso de serem mais de um código, os códigos devem ser separados por vírgula. É importante destacar que, cada instância (1o grau, 2o grau) terá um conjunto de códigos permitidos na tarefa em questão. A Resolução 490/2012 do STF regulamenta os códigos de tipos de documentos homologados pelo STF.
Restringir código de tipo de documento para envio de remessa ao STJ
< esta configuração ainda será definida >
Definir remessa de manifestação processual para envio à instância superior
[CONFERIR] #{org.jboss.seam.bpm.processInstance.contextInstance.setVariable('pje:processo:remessaManifestacaoProcessual', '<informar aqui a sigla da instância superior>')}
Configura para uso futuro no fluxo a variável pje:processo:remessaManifestacaoProcessual como sendo a remessa de manifestação processual preparada para envio à instância superior definida no parâmetro <informar aqui a sigla da instância superior>, esse parâmetro deve ser configurado com 'STF' se for remeter para o STF ou 'STJ' se for remeter para o STJ.
Lista de documentos
Quando o processo é físico, o advogado autor apresenta DUAS cópias da petição inicial. Uma delas será encaminhada conjuntamente com a intimação inicial ao Reclamado. No processo eletrônico esse custo (milhares de processos x milhares de folhas) será da Justiça do Trabalho que tem de imprimir a inicial para encaminhar a notificação ao(s) reclamado(s). O TRT13, dentre outros, solucionou o problema colocando códigos de acesso aos documentos no corpo da notificação, de forma que o reclamado é instruído a acessar o documento e fazer o download. Manda-se apenas uma única folha. Inclusive o formato, preparado para dobrar em tres partes onde a 1a parte exposta contém o endereço do destinatário. Anexo envio exemplo.
Criar variável com lista de documentos (códigos de acesso) para compor Notificação Inicial e assim não ter que imprimir a petição inicial para envio via correio
#{processoTrfHome.tabelaHashDocumentos}
Verificar se o processo chegou via MNI
#{intercomunicacaoService.processoAutuadoViaMNI(processoTrfHome.instance)}
Retorna verdadeiro se o processo chegou via MNI.
Definir um procedimento manual que deve ser feito pela instância de primeiro grau quando a instância de segundo grau devolve um processo que não foi remetido via MNI
No fluxo, após a atividade que devolve o processo para o primeiro grau, incluir um nó de decisão com a expressão abaixo:
#{intercomunicacaoService.processoAutuadoViaMNI(processoTrfHome.instance)?'Recebimento do processo':'Fim'}
onde: 'Recebimento do processo' corresponde ao nome da tarefa que será executada pela instância de primeiro grau depois que a instância de segundo grau devolver o processo. Esta atividade só será executada se o processo devolvido não tiver chegado no segundo grau via MNI. 'Fim' corresponde ao nó de término.
Assim, se o processo foi remetido para o segundo grau sem usar MNI, quando o segundo grau devolver o processo para o primeiro grau, o primeiro grau terá que executar a atividade 'Recebimento do processo'. Mas quando o processo foi remetido para o segundo grau por meio do MNI, quando o segundo grau devolver o processo para o primeiro grau, nenhuma intervenção manual será necessária.