Mudanças entre as edições de "Expressões"

De PJe
Ir para: navegação, pesquisa
(Restringir tipos de documentos disponíveis)
(Definir variável no fluxo)
Linha 22: Linha 22:
  
 
Configura para uso futuro no fluxo a variável minutaEmElaboração como sendo o documento em manutenção.
 
Configura para uso futuro no fluxo a variável minutaEmElaboração como sendo o documento em manutenção.
 +
 +
=== Restringir tipos de documentos disponíveis ===
 +
 +
<nowiki>#{taskInstanceUtil.setVariable('tiposDisponiveisIds','60,69,65,71')}</nowiki>
 +
 +
Restringe os tipos de documentos disponíveis para utilização no fluxo. Para que a restrição não mais ocorra no fluxo, deve-se apagar a variável.
  
 
== Excluir variável ==
 
== Excluir variável ==

Edição das 14h44min de 3 de setembro de 2013

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.


Conteúdo

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. Para que a restrição não mais ocorra no fluxo, deve-se apagar a variável.

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)

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

#{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' : '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 do tipo Correios (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)

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)

Verificação de expedientes eletrônicos

#{comunicacaoProcessualAction.getExpedientesEletronico().size() > 0 ? 'Encaminhar Via Sistema' : 'JoinComunicacao'}

Verifica se há expedientes do tipo eletrônico (nó de decisão)

== Centrais de mandado #{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)

Verificação de execução ou liquidaçã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)

Tipos de documentos na tarefa

#{tipoDocumento.set('Processo_fluxo_RevisarMinuta',63,62)}

Setar tipos de documentos que podem ser utilizados na tarefa (evento)

Para o minutar, esse set é desnecessário, visto que os tipos, para aquela tarefa, são sempre despacho, sentença e decisão.

Registro automático de movimentos

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

Exclusão de movimento

#{lancadorMovimentosService.excluirUltimoMovimento('51')}

Excluir o último registro do movimento processual (evento)

Exclusão de movimentos temporários

#{lancadorMovimentosService.apagarMovimentosTemporarios()}

Exclui movimentos serializados (evento)

Encaminhamento para posto avançado

#{postoAvancadoAction.encaminharParaPostoAvancado()}

Remete o processo para o posto avançado cadastrado para o OJ (evento)

Retorno do posto avançado para o órgão julgador

#{postoAvancadoAction.retornarParaOrgaoJulgador()}

Executa o método que efetiva o retorno do processo para o OJ principal do posto avançado

Meios de comunicação possíveis

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

Habilitar homologação da sentença

#{resultadoSentencaService.homologarResultadoSentenca()}

Habilitar o botão para homologação de sentenca (evento)

Exclusão de resultado não homologado

#{resultadoSentencaService.excluirResultadoSentencaNaoHomologado()}

Exclui o registro de resultado de sentença (evento)

Remessa e registro de movimento

#{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.

Deslocamento de processo para a presidência

Para realizar o deslocamento de um processo para a presidência no PJe, é necessário, como pré-condição, que se obtenha, no banco de dados, os identificadores do colegiado a que a presidência está vinculada, do próprio órgão presidência e do órgão julgador cargo (cargo judicial concreto) da presidência.
Após, devem ser criados dois nós de sistema, um para a ida, e outro para a volta. No meio, devem ser colocadas as atividades da presidência.
Eis a descrição ideal dos nós de ida e de volta:

  • 4 eventos na ida em nó de sistema. Os três primeiros, ao entrar no nó, para gravação do juízo de origem
<<<<<<< Nó de ida >>>>>>>>>>>>
-> tramitacaoProcessualService.gravaVariavel("pje:fluxo:identificador:orgaoOrigem", processoTrfHome.instance.orgaoJulgador.idOrgaoJulgador)
-> tramitacaoProcessualService.gravaVariavel("pje:fluxo:identificador:colegiadoOrigem",  
processoTrfHome.instance.orgaoJulgadorColegiado.idOrgaoJulgadorColegiado)
-> tramitacaoProcessualService.gravaVariavel("pje:fluxo:identificador:cargoOrigem",
processoTrfHome.instance.orgaoJulgadorCargo.idOrgaoJulgadorCargo)
Ao sair do nó de sistema
#{processoJudicialService.deslocarOrgaoJulgador(processoTrfHome.instance, 2 (id órgão presidência), 1 (id órgão julgador colegiado), 
18 (id do orgao julgador  cargo presidência)}
<<<<<<< Fim do nó de ida >>>>>>>>>>>>
  • Volta
<<<<<<< Nó de volta >>>>>>>>>>>>
Ao entrar no nó:
#{processoJudicialService.deslocarOrgaoJulgador(processoTrfHome.instance, 
tramitacaoProcessualService.recuperaVariavel("pje:fluxo:identificador:orgaoOrigem"),  
tramitacaoProcessualService.recuperaVariavel("pje:fluxo:identificador:colegiadoOrigem"), 
tramitacaoProcessualService.recuperaVariavel("pje:fluxo:identificador:cargoOrigem")}
Ao sair do nó
-> tramitacaoProcessualService.apagaVariavel("pje:fluxo:identificador:orgaoOrigem")
-> tramitacaoProcessualService.apagaVariavel("pje:fluxo:identificador:colegiadoOrigem")
-> tramitacaoProcessualService.apagaVariavel("pje:fluxo:identificador:cargoOrigem")
<<<<<<< Fim do nó de volta >>>>>>>>>>>>
Ferramentas pessoais
Espaços nominais

Variantes
Ações
Navegação
Informações Gerais
Aplicativos PJe
Manuais
Suporte
Ferramentas