Commit 8d3e96cd7f4e4a25a55c198a043adf82ad1d620e

Authored by Nei Jobson da Costa Carneiro
1 parent d4eae54a

Atualizações pré versão 1.1 do Módulo.

sei/web/modulos/peticionamento/int/MdPetIntercorrenteINT.php
... ... @@ -16,113 +16,92 @@
16 16 * @param int $numeroProcesso
17 17 * @return string
18 18 * @since 28/11/2016
19   - * @author Jaqueline Mendes jaqueline.mendes@castgroup.com.br
20 19 */
21 20 public static function gerarXMLvalidacaoNumeroProcesso($numeroProcesso)
22 21 {
  22 + $xmlMensagemErro = '<Validacao><MensagemValidacao>%s</MensagemValidacao></Validacao>';
  23 + $strMsgProcessoNaoExiste = 'O número de processo indicado não existe no sistema. Verifique se o número está correto e completo, inclusive com o Dígito Verificador.';
  24 + $strMsgProcessoNaoAceitaPeticionamento = 'O processo indicado não aceita peticionamento intercorrente. Utilize o Peticionamento de Processo Novo para protocolizar sua demanda.';
23 25  
24 26 $objMdPetIntercorrenteRN = new MdPetIntercorrenteProcessoRN();
25 27 $objProtocoloDTO = new ProtocoloDTO();
26 28 $objProtocoloDTO->setStrProtocoloFormatadoPesquisa(InfraUtil::retirarFormatacao($numeroProcesso, false));
27 29 $objProtocoloDTO = $objMdPetIntercorrenteRN->pesquisarProtocoloFormatado($objProtocoloDTO);
28   -
29 30 $xml = '<Validacao>';
30 31  
31   - if (!is_null($objProtocoloDTO)) {
32   - $objProcedimentoDTO = new ProcedimentoDTO();
33   - $objProcedimentoRN = new ProcedimentoRN();
34   - $objProcedimentoDTO->setDblIdProcedimento($objProtocoloDTO->getDblIdProtocolo());
35   - $objProcedimentoDTO->retTodos(true);
36   - $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO);
37   - $msg = '';
38   -
39   - if (!is_null($objProcedimentoDTO)) {
40   -
41   - $unidadeValida = $objMdPetIntercorrenteRN->validarUnidadeProcesso($objProcedimentoDTO);
42   - $idProcedimento = $objProcedimentoDTO->getDblIdProcedimento();
43   -
44   - if ($unidadeValida) {
45   - $idTpProcedimento = $objProcedimentoDTO->getNumIdTipoProcedimento();
46   - $tpProcedimento = $objProcedimentoDTO->getStrNomeTipoProcedimento();
47   -
48   -
49   - //$processoIntercorrente = $contadorCriterioIntercorrente > 0 ? 'Direto no Processo Indicado.' : 'Em Processo Novo Relacionado ao Processo indicado';
50   -
51   - $objAtividadeDTO = new AtividadeDTO();
52   - $objAtividadeDTO->setDblIdProcedimentoProtocolo($objProcedimentoDTO->getDblIdProcedimento());
53   - $idUnidadeReabrirProcesso = $objMdPetIntercorrenteRN->retornaUltimaUnidadeProcessoConcluido($objAtividadeDTO);
54   -
55   - $unidadeDTO = new UnidadeDTO();
56   - $unidadeDTO->retTodos();
57   - $unidadeDTO->setBolExclusaoLogica(false);
58   - $unidadeDTO->setNumIdUnidade($idUnidadeReabrirProcesso);
59   - $unidadeRN = new UnidadeRN();
60   - $objUnidadeDTO = $unidadeRN->consultarRN0125($unidadeDTO);
61   -//ini_set('xdebug.var_display_max_depth', 10); ini_set('xdebug.var_display_max_children', 256); ini_set('xdebug.var_display_max_data', 1024); echo '<pre>';
62   -//var_dump($objUnidadeDTO); echo '</pre>'; exit;
63   - // $idUnidadeAbrirNovoProcesso = $objMdPetIntercorrenteRN->retornaUltimaUnidadeProcessoAberto($objProcedimentoDTO->getDblIdProcedimento());
64   - if($objUnidadeDTO->getStrSinAtivo() == 'N'){
65   - $idUnidadeReabrirProcesso = null;
66   - $objAtividadeRN = new MdPetIntercorrenteAtividadeRN();
67   - $arrObjUnidadeDTO = $objAtividadeRN->listarUnidadesTramitacao($objProcedimentoDTO);
68   -
69   - foreach ($arrObjUnidadeDTO as $itemObjUnidadeDTO) {
70   - if ($itemObjUnidadeDTO->getStrSinAtivo() == 'S') {
71   - $idUnidadeReabrirProcesso = $itemObjUnidadeDTO->getNumIdUnidade();
72   - }
73   - }
74   - }
75   -//ini_set('xdebug.var_display_max_depth', 10); ini_set('xdebug.var_display_max_children', 256); ini_set('xdebug.var_display_max_data', 1024); echo '<pre>';
76   -//var_dump($idUnidadeReabrirProcesso); echo '</pre>'; exit;
77   - if($idUnidadeReabrirProcesso == null) {
78   - $msg = 'O processo indicado não aceita peticionamento intercorrente. Utilize o Peticionamento de Processo Novo para protocolizar sua demanda.';
79   - } else {
80   - $objCriterioIntercorrenteDTO = new CriterioIntercorrentePeticionamentoDTO();
81   - $objCriterioIntercorrenteRN = new CriterioIntercorrentePeticionamentoRN();
82   - $objCriterioIntercorrenteDTO->setNumIdTipoProcedimento($idTpProcedimento);
83   - $objCriterioIntercorrenteDTO->setStrSinCriterioPadrao('N');
84   - $objCriterioIntercorrenteDTO->retTodos(true);
85   -
86   - $contadorCriterioIntercorrente = $objCriterioIntercorrenteRN->contar($objCriterioIntercorrenteDTO);
87   -
88   - $estadosReabrirRelacionado = array(ProtocoloRN::$TE_PROCEDIMENTO_SOBRESTADO, ProtocoloRN::$TE_PROCEDIMENTO_ANEXADO, ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO);
89   - /**
90   - * Verifica se:
91   - * 1 - Se o processo eh sigiloso (nivel de acesso global ou local eh igual a 2)
92   - * 2 - Se o Tipo do Processo do procedimento informado nao possui um intercorrente cadastrado(neste caso irah utilizar o Intercorrente Padrao)
93   - */
94   - $processoIntercorrente = 'Direto no Processo Indicado';
95   - if($contadorCriterioIntercorrente <= 0
96   - || $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo() == ProtocoloRN::$NA_SIGILOSO
97   - || $objProcedimentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_SIGILOSO
98   - || in_array($objProcedimentoDTO->getStrStaEstadoProtocolo(), $estadosReabrirRelacionado)){
99   - $processoIntercorrente = 'Em Processo Novo Relacionado ao Processo Indicado';
100   - }
101   -
102   - $urlValida = PaginaSEIExterna::getInstance()->formatarXHTML(SessaoSEIExterna::getInstance()->assinarLink('controlador_externo.php?id_procedimento=' . $idProcedimento . '&id_tipo_procedimento=' . $idTpProcedimento . '&acao=md_pet_intercorrente_usu_ext_assinar&tipo_selecao=2'));
103   -
104   - $xml .= '<IdTipoProcedimento>' . $idTpProcedimento . '</IdTipoProcedimento>';
105   - $xml .= '<IdProcedimento>' . $idProcedimento . '</IdProcedimento>';
106   - $xml .= '<numeroProcesso>' . $objProcedimentoDTO->getStrProtocoloProcedimentoFormatado() . '</numeroProcesso>';
107   - $xml .= '<TipoProcedimento> ' . $tpProcedimento . ' </TipoProcedimento>';
108   - $xml .= '<ProcessoIntercorrente>' . $processoIntercorrente . '</ProcessoIntercorrente>';
109   - $xml .= '<UrlValida>' . htmlentities($urlValida) . '</UrlValida>';
110   - }
111   - } else {
112   - $msg = 'O processo indicado não aceita peticionamento intercorrente. Utilize o Peticionamento de Processo Novo para protocolizar sua demanda.';
113   - //$xml .= '<MensagemValidacao>. $msg.</MensagemValidacao>';
  32 + if (! $objProtocoloDTO) {
  33 + return sprintf($xmlMensagemErro, $strMsgProcessoNaoExiste);
  34 + }
  35 +
  36 + $objProcedimentoDTO = new ProcedimentoDTO();
  37 + $objProcedimentoRN = new ProcedimentoRN();
  38 + $objProcedimentoDTO->setDblIdProcedimento($objProtocoloDTO->getDblIdProtocolo());
  39 + $objProcedimentoDTO->retTodos(true);
  40 + $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO);
  41 +
  42 + $unidadeValida = $objMdPetIntercorrenteRN->validarUnidadeProcesso($objProcedimentoDTO);
  43 +
  44 + if (! $unidadeValida) {
  45 + return sprintf($xmlMensagemErro, $strMsgProcessoNaoAceitaPeticionamento);
  46 + }
  47 +
  48 + $objAtividadeDTO = new AtividadeDTO();
  49 + $objAtividadeDTO->setDblIdProcedimentoProtocolo($objProcedimentoDTO->getDblIdProcedimento());
  50 + $idUnidadeReabrirProcesso = $objMdPetIntercorrenteRN->retornaUltimaUnidadeProcessoConcluido($objAtividadeDTO);
  51 +
  52 + $unidadeDTO = new UnidadeDTO();
  53 + $unidadeDTO->retTodos();
  54 + $unidadeDTO->setBolExclusaoLogica(false);
  55 + $unidadeDTO->setNumIdUnidade($idUnidadeReabrirProcesso);
  56 + $unidadeRN = new UnidadeRN();
  57 + $objUnidadeDTO = $unidadeRN->consultarRN0125($unidadeDTO);
  58 +
  59 + if($objUnidadeDTO->getStrSinAtivo() == 'N'){
  60 + $idUnidadeReabrirProcesso = null;
  61 + $objAtividadeRN = new MdPetIntercorrenteAtividadeRN();
  62 + $arrObjUnidadeDTO = $objAtividadeRN->listarUnidadesTramitacao($objProcedimentoDTO);
  63 +
  64 + foreach ($arrObjUnidadeDTO as $itemObjUnidadeDTO) {
  65 + if ($itemObjUnidadeDTO->getStrSinAtivo() == 'S') {
  66 + $idUnidadeReabrirProcesso = $itemObjUnidadeDTO->getNumIdUnidade();
114 67 }
115   - } else {
116   - $msg = 'O número de processo indicado não existe no sistema. Verifique se o número está correto e completo, inclusive com o Dígito Verificador.';
117 68 }
118   - } else {
119   - $msg = 'O número de processo indicado não existe no sistema. Verifique se o número está correto e completo, inclusive com o Dígito Verificador.';
  69 +
  70 + if($idUnidadeReabrirProcesso == null) {
  71 + return sprintf($xmlMensagemErro, $strMsgProcessoNaoAceitaPeticionamento);
  72 + }
120 73 }
121 74  
122   - if ($msg != '') {
123   - $xml .= '<MensagemValidacao>' . $msg . '</MensagemValidacao>';
  75 + $objCriterioIntercorrenteDTO = new CriterioIntercorrentePeticionamentoDTO();
  76 + $objCriterioIntercorrenteRN = new CriterioIntercorrentePeticionamentoRN();
  77 + $objCriterioIntercorrenteDTO->setNumIdTipoProcedimento($objProcedimentoDTO->getNumIdTipoProcedimento());
  78 + $objCriterioIntercorrenteDTO->setStrSinCriterioPadrao('N');
  79 + $objCriterioIntercorrenteDTO->retTodos(true);
  80 +
  81 + $contadorCriterioIntercorrente = $objCriterioIntercorrenteRN->contar($objCriterioIntercorrenteDTO);
  82 +
  83 + $estadosReabrirRelacionado = array(ProtocoloRN::$TE_PROCEDIMENTO_SOBRESTADO, ProtocoloRN::$TE_PROCEDIMENTO_ANEXADO, ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO);
  84 + /**
  85 + * Verifica se:
  86 + * 1 - Se o processo eh sigiloso (nivel de acesso global ou local eh igual a 2)
  87 + * 2 - Se o Tipo do Processo do procedimento informado nao possui um intercorrente cadastrado(neste caso irah utilizar o Intercorrente Padrao)
  88 + */
  89 + $processoIntercorrente = 'Direto no Processo Indicado';
  90 + if($contadorCriterioIntercorrente <= 0
  91 + || $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo() == ProtocoloRN::$NA_SIGILOSO
  92 + || $objProcedimentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_SIGILOSO
  93 + || in_array($objProcedimentoDTO->getStrStaEstadoProtocolo(), $estadosReabrirRelacionado)){
  94 + $processoIntercorrente = 'Em Processo Novo Relacionado ao Processo Indicado';
124 95 }
125 96  
  97 + $urlValida = PaginaSEIExterna::getInstance()->formatarXHTML(SessaoSEIExterna::getInstance()->assinarLink('controlador_externo.php?id_procedimento=' . $objProcedimentoDTO->getDblIdProcedimento() . '&id_tipo_procedimento=' . $objProcedimentoDTO->getNumIdTipoProcedimento() . '&acao=md_pet_intercorrente_usu_ext_assinar&tipo_selecao=2'));
  98 +
  99 + $xml .= '<IdTipoProcedimento>' . $objProcedimentoDTO->getNumIdTipoProcedimento() . '</IdTipoProcedimento>';
  100 + $xml .= '<IdProcedimento>' . $objProcedimentoDTO->getDblIdProcedimento() . '</IdProcedimento>';
  101 + $xml .= '<numeroProcesso>' . $objProcedimentoDTO->getStrProtocoloProcedimentoFormatado() . '</numeroProcesso>';
  102 + $xml .= '<TipoProcedimento> ' . $objProcedimentoDTO->getStrNomeTipoProcedimento() . ' </TipoProcedimento>';
  103 + $xml .= '<ProcessoIntercorrente>' . $processoIntercorrente . '</ProcessoIntercorrente>';
  104 + $xml .= '<UrlValida>' . htmlentities($urlValida) . '</UrlValida>';
126 105 $xml .= '</Validacao>';
127 106  
128 107 return $xml;
... ...
sei/web/modulos/peticionamento/md_pet_intercorrente_usu_ext_concluir.php
... ... @@ -206,143 +206,6 @@ function assinar(){
206 206 return false;
207 207 }
208 208  
209   -function assinar2(){
210   -
211   - if( isValido() ){
212   -
213   - var textoEspecificacao = window.opener.document.getElementById('txtEspecificacao').value;
214   - var nivelAcesso = window.opener.document.getElementById('nivelAcesso1').value;
215   -
216   - var campoHipLegal1 = window.opener.document.getElementById('hipoteseLegal1');
217   - var campoHipLegal2 = window.opener.document.getElementById('hipoteseLegal2');
218   - var campoHipLegal3 = window.opener.document.getElementById('hipoteseLegal3');
219   -
220   - var hipoteseLegal = null;
221   - var hipoteseLegal2 = null;
222   - var hipoteseLegal3 = null;
223   -
224   - if( campoHipLegal1 != null && campoHipLegal1 != undefined ){
225   - hipoteseLegal = campoHipLegal1.value;
226   - }
227   -
228   - if( campoHipLegal2 != null && campoHipLegal2 != undefined ){
229   - hipoteseLegal2 = window.opener.document.getElementById('hipoteseLegal2');
230   - }
231   -
232   - if( campoHipLegal3 != null && campoHipLegal3 != undefined ){
233   - hipoteseLegal3 = window.opener.document.getElementById('hipoteseLegal3');
234   - }
235   -
236   - if( hipoteseLegal2 != null && hipoteseLegal2 != undefined ){
237   - document.getElementById('hipoteseLegalDocEssencial').value = hipoteseLegal2.value;
238   - }
239   -
240   - if( hipoteseLegal3 != null && hipoteseLegal3 != undefined ){
241   - document.getElementById('hipoteseLegalDocComplementar').value = hipoteseLegal3.value;
242   - }
243   -
244   - document.getElementById('txtEspecificacaoDocPrincipal').value = textoEspecificacao;
245   - document.getElementById('nivelAcessoDocPrincipal').value = nivelAcesso;
246   - document.getElementById('grauSigiloDocPrincipal').value = nivelAcesso;
247   - document.getElementById('hipoteseLegalDocPrincipal').value = hipoteseLegal;
248   -
249   - //verificar se esta vindo uma lista de interessados
250   - var selInteressados = window.opener.document.getElementById('selInteressados');
251   - var hdnSelInteressadosIndicados = window.opener.document.getElementById('hdnListaInteressadosIndicados');
252   - var selInteressadosSelecionadosTxt = '';
253   -
254   - //verificar se esta a combo de UF (Unidades multiplas)
255   - var selUFAberturaProcesso = window.opener.document.getElementById('selUFAberturaProcesso');
256   -
257   - if( selUFAberturaProcesso != null ) {
258   - document.getElementById('hdnIdUnidadeMultiplaSelecionada').value = selUFAberturaProcesso.value;
259   - }
260   -
261   - // loop through options in select list
262   - if( selInteressados != null ) {
263   -
264   - for (var i=0, len=selInteressados.options.length; i<len; i++) {
265   -
266   - opt = selInteressados.options[i];
267   -
268   - // add to array of option elements to return from this function
269   - if( selInteressadosSelecionadosTxt != ''){
270   - selInteressadosSelecionadosTxt += ',';
271   - }
272   -
273   - selInteressadosSelecionadosTxt += opt.value;
274   -
275   - }
276   -
277   - document.getElementById('hdnListaInteressados').value = selInteressadosSelecionadosTxt;
278   -
279   - }
280   -
281   - //lista de interessados indicados por CPF/CNPJ
282   - if( hdnSelInteressadosIndicados != null && hdnSelInteressadosIndicados != "") {
283   -
284   - var hdnListaInteressadosIndicados = hdnSelInteressadosIndicados.value;
285   -
286   - //caractere de quebra de linha
287   - var arrHash = hdnListaInteressadosIndicados.split('¥');
288   - var quantidadeRegistro = arrHash.length;
289   -
290   - if( quantidadeRegistro == 0){
291   -
292   - //caractere de quebra de coluna
293   - var arrLocal = hdnListaInteressadosIndicados.split('±');
294   - var idContato = arrLocal[0];
295   -
296   - if( selInteressadosSelecionadosTxt != ''){
297   - selInteressadosSelecionadosTxt += ',';
298   - }
299   -
300   - selInteressadosSelecionadosTxt += idContato;
301   -
302   - } else if( quantidadeRegistro > 0 ){
303   -
304   - for(var i = 0; i < quantidadeRegistro ; i++ ){
305   -
306   - var arrLocal = arrHash[i].split('±');
307   - var idContato = arrLocal[0];
308   -
309   - if( selInteressadosSelecionadosTxt != ''){
310   - selInteressadosSelecionadosTxt += ',';
311   - }
312   -
313   - selInteressadosSelecionadosTxt += idContato;
314   -
315   - }
316   -
317   - }
318   -
319   - document.getElementById('hdnListaInteressados').value = selInteressadosSelecionadosTxt;
320   -
321   - }
322   -
323   - //obtendo valores das grids de documentos principais, essenciais e complementares
324   - var hdnDocPrincipal = window.opener.document.getElementById('hdnDocPrincipal');
325   - var hdnDocEssencial = window.opener.document.getElementById('hdnDocEssencial');
326   - var hdnDocComplementar = window.opener.document.getElementById('hdnDocComplementar');
327   -
328   - if( hdnDocPrincipal != null && hdnDocPrincipal != undefined){
329   - document.getElementById('hdnDocPrincipal').value = hdnDocPrincipal.value;
330   - }
331   -
332   - if( hdnDocEssencial != null && hdnDocEssencial != undefined){
333   - document.getElementById('hdnDocEssencial').value = hdnDocEssencial.value;
334   - }
335   -
336   - if( hdnDocComplementar != null && hdnDocComplementar != undefined){
337   - document.getElementById('hdnDocComplementar').value = hdnDocComplementar.value;
338   - }
339   -
340   - document.getElementById('frmConcluir').submit();
341   -
342   - }
343   -
344   -}
345   -
346 209 function callback(opt) {
347 210 selInteressadosSelecionados + ', ';
348 211 }
... ...
sei/web/modulos/peticionamento/rn/EmailNotificacaoPetIntercorrenteRN.php
... ... @@ -48,12 +48,29 @@ class EmailNotificacaoPetIntercorrenteRN extends EmailNotificacaoPeticionamentoR
48 48 $objOrgaoDTO->setStrSinAtivo('S');
49 49 $objOrgaoDTO = $orgaoRN->consultarRN1352( $objOrgaoDTO );
50 50  
51   - //pegar a lista de email da unidade, a unidade pode não ter, email unidade
52   - $objEmailUnidadeDTO = new EmailUnidadeDTO();
53   - $emailUnidadeRN = new EmailUnidadeRN();
54   - $objEmailUnidadeDTO->retStrEmail();
55   - $objEmailUnidadeDTO->setNumIdUnidade($objUnidadeDTO->getNumIdUnidade());
56   - $arrEmailUnidade = $emailUnidadeRN->listar($objEmailUnidadeDTO);
  51 + // Se Direto no Processo Indicado, não só unidade geradoras, mas todas abertas
  52 + if ($arrParametros['diretoProcessoIndicado']){
  53 + $objMdPetIntercorrenteProcessoRN = new MdPetIntercorrenteProcessoRN();
  54 + $arrObjAtividadeDTO = $objMdPetIntercorrenteProcessoRN->retornaUnidadesProcessoAberto( $arrParametros['id_procedimento'] );
  55 + $arrUnidade = InfraArray::converterArrInfraDTO($arrObjAtividadeDTO,'IdUnidade');
  56 +
  57 + $objEmailUnidadeDTO = new EmailUnidadeDTO();
  58 + $emailUnidadeRN = new EmailUnidadeRN();
  59 + $objEmailUnidadeDTO->retStrEmail();
  60 + $objEmailUnidadeDTO->adicionarCriterio(
  61 + array('IdUnidade'),
  62 + array(InfraDTO::$OPER_IN),
  63 + array( $arrUnidade )
  64 + );
  65 + $arrEmailUnidade = $emailUnidadeRN->listar($objEmailUnidadeDTO);
  66 + //pegar a lista de email da unidade, a unidade pode não ter, email unidade
  67 + }else{
  68 + $objEmailUnidadeDTO = new EmailUnidadeDTO();
  69 + $emailUnidadeRN = new EmailUnidadeRN();
  70 + $objEmailUnidadeDTO->retStrEmail();
  71 + $objEmailUnidadeDTO->setNumIdUnidade($objUnidadeDTO->getNumIdUnidade());
  72 + $arrEmailUnidade = $emailUnidadeRN->listar($objEmailUnidadeDTO);
  73 + }
57 74  
58 75 //obtendo o tipo de procedimento
59 76 $idTipoProc = $arrParametros['id_tipo_procedimento'];
... ...
sei/web/modulos/peticionamento/rn/MdPetIntercorrenteProcessoRN.php
... ... @@ -220,6 +220,80 @@ class MdPetIntercorrenteProcessoRN extends ProcessoPeticionamentoRN {
220 220 return $objUnidadeAPI->getIdUnidade();
221 221 }
222 222  
  223 + /**
  224 + * Função responsável por Retornar todas as unidades em que o processo está aberto
  225 + * buscado em: ProcedimentoINT.php - montarAcoesArvore() - linhas 766 a 870
  226 + * @param $idProcedimento
  227 + * @return AtividadeDTO $arrObjAtividadeDTO
  228 + * @since 07/03/2017
  229 + * @author CAST - castgroup.com.br
  230 + */
  231 + protected function retornaUnidadesProcessoAbertoConectado($idProcedimento){
  232 +
  233 + $arrAtividade = array();
  234 +
  235 + $objProcedimentoDTO = new ProcedimentoDTO();
  236 + $objProcedimentoDTO->setDblIdProcedimento($idProcedimento);
  237 + $objProcedimentoDTO->retStrStaNivelAcessoGlobalProtocolo();
  238 + $objProcedimentoDTO->retStrStaEstadoProtocolo();
  239 +
  240 + $objProcedimentoRN = new ProcedimentoRN();
  241 + $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO);
  242 + $strStaNivelAcessoGlobal = $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo();
  243 +
  244 + $bolFlagSobrestado = false;
  245 + if ($objProcedimentoDTO->getStrStaEstadoProtocolo()==ProtocoloRN::$TE_PROCEDIMENTO_SOBRESTADO){
  246 + $bolFlagSobrestado = true;
  247 + }
  248 +
  249 + $objAtividadeRN = new AtividadeRN();
  250 + $objAtividadeDTO = new AtividadeDTO();
  251 + $objAtividadeDTO->setDistinct(true);
  252 + $objAtividadeDTO->retNumIdUnidade();
  253 + $objAtividadeDTO->retStrSiglaUnidade();
  254 + $objAtividadeDTO->retStrDescricaoUnidade();
  255 +
  256 + $objAtividadeDTO->setOrdStrSiglaUnidade(InfraDTO::$TIPO_ORDENACAO_ASC);
  257 +
  258 + if ($strStaNivelAcessoGlobal==ProtocoloRN::$NA_SIGILOSO){
  259 + $objAtividadeDTO->retNumIdUsuario();
  260 + $objAtividadeDTO->retStrSiglaUsuario();
  261 + $objAtividadeDTO->retStrNomeUsuario();
  262 + }else{
  263 + $objAtividadeDTO->retNumIdUsuarioAtribuicao();
  264 + $objAtividadeDTO->retStrSiglaUsuarioAtribuicao();
  265 + $objAtividadeDTO->retStrNomeUsuarioAtribuicao();
  266 +
  267 + //ordena descendente pois no envio de processo que já existe na unidade e está atribuído ficará com mais de um andamento em aberto
  268 + //desta forma os andamentos com usuário nulo (envios do processo) serão listados depois
  269 + $objAtividadeDTO->setOrdStrSiglaUsuarioAtribuicao(InfraDTO::$TIPO_ORDENACAO_DESC);
  270 + }
  271 + $objAtividadeDTO->setDblIdProtocolo($idProcedimento);
  272 + $objAtividadeDTO->setDthConclusao(null);
  273 +
  274 + //sigiloso sem credencial nao considera o usuario atual
  275 + if ($strStaNivelAcessoGlobal==ProtocoloRN::$NA_SIGILOSO){
  276 + $objAcessoDTO = new AcessoDTO();
  277 + $objAcessoDTO->setDistinct(true);
  278 + $objAcessoDTO->retNumIdUsuario();
  279 + $objAcessoDTO->setDblIdProtocolo($dblIdProcedimento);
  280 + $objAcessoDTO->setStrStaTipo(AcessoRN::$TA_CREDENCIAL_PROCESSO);
  281 +
  282 + $objAcessoRN = new AcessoRN();
  283 + $arrObjAcessoDTO = $objAcessoRN->listar($objAcessoDTO);
  284 +
  285 + $objAtividadeDTO->setNumIdUsuario(InfraArray::converterArrInfraDTO($arrObjAcessoDTO,'IdUsuario'),InfraDTO::$OPER_IN);
  286 + }
  287 +
  288 + $arrObjAtividadeDTO = $objAtividadeRN->listarRN0036($objAtividadeDTO);
  289 +
  290 + if ($strStaNivelAcessoGlobal!=ProtocoloRN::$NA_SIGILOSO){
  291 + //filtra andamentos com indicação de usuário atribuído
  292 + $arrObjAtividadeDTO = InfraArray::distinctArrInfraDTO($arrObjAtividadeDTO,'SiglaUnidade');
  293 + }
  294 + return $arrObjAtividadeDTO;
  295 + }
  296 +
223 297 protected function incluirDocumentosApi($objProcedimentoDTO, $arrObjDocumentoAPI)
224 298 {
225 299 $arrObjReciboDocPet = array();
... ... @@ -575,6 +649,7 @@ class MdPetIntercorrenteProcessoRN extends ProcessoPeticionamentoRN {
575 649 * 1 - Se o processo eh sigiloso (nivel de acesso global ou local eh igual a 2)
576 650 * 2 - Se o Tipo do Processo do procedimento informado nao possui um intercorrente cadastrado(neste caso irah utilizar o Intercorrente Padrao)
577 651 */
  652 + $params['diretoProcessoIndicado']=false;
578 653 if ($objCriterioIntercorrenteDTO->getStrSinCriterioPadrao() == 'S'
579 654 || $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo() == ProtocoloRN::$NA_SIGILOSO
580 655 || $objProcedimentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_SIGILOSO
... ... @@ -601,6 +676,8 @@ class MdPetIntercorrenteProcessoRN extends ProcessoPeticionamentoRN {
601 676 $reaberturaRN->reabrirProcessoApi($objProcedimentoDTO);
602 677 }
603 678  
  679 + $params['diretoProcessoIndicado']=true;
  680 +
604 681 $this->setProcedimentoDTO($params['id_procedimento']);
605 682 }
606 683  
... ...