Commit bb237619392e6c8a6f80f54735882d77ff8a1226
Exists in
master
and in
11 other branches
Merge remote-tracking branch 'origin/fix-95' into desenv
Showing
1 changed file
with
69 additions
and
76 deletions
Show diff stats
rn/ReceberProcedimentoRN.php
@@ -74,7 +74,7 @@ class ReceberProcedimentoRN extends InfraRN | @@ -74,7 +74,7 @@ class ReceberProcedimentoRN extends InfraRN | ||
74 | $objMetadadosProcedimento->metadados->destinatario->identificacaoDoRepositorioDeEstruturas = $unidadeReceptora->identificacaoDoRepositorioDeEstruturas; | 74 | $objMetadadosProcedimento->metadados->destinatario->identificacaoDoRepositorioDeEstruturas = $unidadeReceptora->identificacaoDoRepositorioDeEstruturas; |
75 | $objMetadadosProcedimento->metadados->destinatario->numeroDeIdentificacaoDaEstrutura = $unidadeReceptora->numeroDeIdentificacaoDaEstrutura; | 75 | $objMetadadosProcedimento->metadados->destinatario->numeroDeIdentificacaoDaEstrutura = $unidadeReceptora->numeroDeIdentificacaoDaEstrutura; |
76 | $numUnidadeReceptora = $unidadeReceptora->numeroDeIdentificacaoDaEstrutura; | 76 | $numUnidadeReceptora = $unidadeReceptora->numeroDeIdentificacaoDaEstrutura; |
77 | - $this->gravarLogDebug("Atribuindo unidade receptora $numUnidadeReceptora para o trâmite $parNumIdentificacaoTramite", 4); | 77 | + $this->gravarLogDebug("Atribuindo unidade centralizadora $numUnidadeReceptora para o trâmite $parNumIdentificacaoTramite", 4); |
78 | } | 78 | } |
79 | 79 | ||
80 | // Validação dos dados do processo recebido | 80 | // Validação dos dados do processo recebido |
@@ -260,13 +260,17 @@ class ReceberProcedimentoRN extends InfraRN | @@ -260,13 +260,17 @@ class ReceberProcedimentoRN extends InfraRN | ||
260 | $arrHashsComponentesDigitais = array(); | 260 | $arrHashsComponentesDigitais = array(); |
261 | $arrObjDocumento = is_array($parObjProtocolo->documento) ? $parObjProtocolo->documento : array($parObjProtocolo->documento); | 261 | $arrObjDocumento = is_array($parObjProtocolo->documento) ? $parObjProtocolo->documento : array($parObjProtocolo->documento); |
262 | foreach($arrObjDocumento as $objDocumento){ | 262 | foreach($arrObjDocumento as $objDocumento){ |
263 | - if(!isset($objDocumento->componenteDigital)){ | ||
264 | - throw new InfraException("Metadados do componente digital do documento de ordem {$objDocumento->ordem} não informado."); | ||
265 | - } | ||
266 | 263 | ||
267 | - $arrObjComponentesDigitais = is_array($objDocumento->componenteDigital) ? $objDocumento->componenteDigital : array($objDocumento->componenteDigital); | ||
268 | - foreach ($arrObjComponentesDigitais as $objComponenteDigital) { | ||
269 | - $arrHashsComponentesDigitais[] = ProcessoEletronicoRN::getHashFromMetaDados($objComponenteDigital->hash); | 264 | + //Desconsidera os componendes digitais de documentos cancelados |
265 | + if(!isset($objDocumento->retirado) || $objDocumento->retirado == false) { | ||
266 | + if(!isset($objDocumento->componenteDigital)){ | ||
267 | + throw new InfraException("Metadados do componente digital do documento de ordem {$objDocumento->ordem} não informado."); | ||
268 | + } | ||
269 | + | ||
270 | + $arrObjComponentesDigitais = is_array($objDocumento->componenteDigital) ? $objDocumento->componenteDigital : array($objDocumento->componenteDigital); | ||
271 | + foreach ($arrObjComponentesDigitais as $objComponenteDigital) { | ||
272 | + $arrHashsComponentesDigitais[] = ProcessoEletronicoRN::getHashFromMetaDados($objComponenteDigital->hash); | ||
273 | + } | ||
270 | } | 274 | } |
271 | } | 275 | } |
272 | 276 | ||
@@ -502,23 +506,8 @@ class ReceberProcedimentoRN extends InfraRN | @@ -502,23 +506,8 @@ class ReceberProcedimentoRN extends InfraRN | ||
502 | $objDestinatario = $objMetadadosProcedimento->metadados->destinatario; | 506 | $objDestinatario = $objMetadadosProcedimento->metadados->destinatario; |
503 | } | 507 | } |
504 | 508 | ||
505 | - //TODO: Refatorar código para criar método de pesquisa do procedimento e reutilizá-la | ||
506 | - | ||
507 | - //$objProcedimentoDTO = new ProcedimentoDTO(); | ||
508 | - //$objProcedimentoDTO->setDblIdProcedimento($parDblIdProcedimento); | ||
509 | - //$objProcedimentoDTO->retTodos(); | ||
510 | - //$objProcedimentoDTO->retStrProtocoloProcedimentoFormatado(); | ||
511 | - //$objProcedimentoDTO->setStrSinDocTodos('S'); | ||
512 | - | ||
513 | - //$objProcedimentoRN = new ProcedimentoRN(); | ||
514 | - //$arrObjProcedimentoDTO = $objProcedimentoRN->listarCompleto($objProcedimentoDTO); | ||
515 | - | ||
516 | - //if(count($arrObjProcedimentoDTO) == 0){ | ||
517 | - // throw new InfraException('Processo não pode ser localizado. ('.$parDblIdProcedimento.')'); | ||
518 | - //} | ||
519 | - | ||
520 | - //$objProcedimentoDTO = $arrObjProcedimentoDTO[0]; | ||
521 | - | 509 | + //Busca a unidade em ao qual o processo foi anteriormente expedido |
510 | + //Esta unidade deverá ser considerada para posterior desbloqueio do processo e reabertura | ||
522 | $objAtividadeDTO = new AtividadeDTO(); | 511 | $objAtividadeDTO = new AtividadeDTO(); |
523 | $objAtividadeDTO->setStrIdTarefaModuloTarefa(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO); | 512 | $objAtividadeDTO->setStrIdTarefaModuloTarefa(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO); |
524 | $objAtividadeDTO->setDblIdProcedimentoProtocolo($parDblIdProcedimento); | 513 | $objAtividadeDTO->setDblIdProcedimentoProtocolo($parDblIdProcedimento); |
@@ -535,68 +524,74 @@ class ReceberProcedimentoRN extends InfraRN | @@ -535,68 +524,74 @@ class ReceberProcedimentoRN extends InfraRN | ||
535 | $numIdUnidade = $objAtividadeDTO->getNumIdUnidade(); | 524 | $numIdUnidade = $objAtividadeDTO->getNumIdUnidade(); |
536 | } | 525 | } |
537 | 526 | ||
538 | - $objSeiRN = new SeiRN(); | 527 | + //Esta unidade deverá ser considerada para posterior desbloqueio do processo e reabertura |
528 | + SessaoSEI::getInstance()->setNumIdUnidadeAtual($numIdUnidade); | ||
539 | 529 | ||
540 | - $objAtividadeDTO = new AtividadeDTO(); | ||
541 | - $objAtividadeDTO->retDthConclusao(); | ||
542 | - $objAtividadeDTO->setDblIdProtocolo($parDblIdProcedimento); | ||
543 | - $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); | 530 | + try { |
531 | + $objSeiRN = new SeiRN(); | ||
532 | + $objAtividadeDTO = new AtividadeDTO(); | ||
533 | + $objAtividadeDTO->retDthConclusao(); | ||
534 | + $objAtividadeDTO->setDblIdProtocolo($parDblIdProcedimento); | ||
535 | + $objAtividadeDTO->setNumIdUnidade($numIdUnidade); | ||
544 | 536 | ||
545 | - $arrObjAtividadeDTO = $objAtividadeRN->listarRN0036($objAtividadeDTO); | ||
546 | - $flgReabrir = true; | 537 | + $arrObjAtividadeDTO = $objAtividadeRN->listarRN0036($objAtividadeDTO); |
538 | + $flgReabrir = true; | ||
547 | 539 | ||
548 | - foreach ($arrObjAtividadeDTO as $objAtividadeDTO) { | ||
549 | - if ($objAtividadeDTO->getDthConclusao() == null) { | ||
550 | - $flgReabrir = false; | 540 | + foreach ($arrObjAtividadeDTO as $objAtividadeDTO) { |
541 | + if ($objAtividadeDTO->getDthConclusao() == null) { | ||
542 | + $flgReabrir = false; | ||
543 | + } | ||
551 | } | 544 | } |
552 | - } | ||
553 | 545 | ||
554 | - $objProcedimentoDTO = new ProcedimentoDTO(); | ||
555 | - $objProcedimentoDTO->setDblIdProcedimento($parDblIdProcedimento); | ||
556 | - $objProcedimentoDTO->retTodos(); | ||
557 | - $objProcedimentoDTO->retStrProtocoloProcedimentoFormatado(); | ||
558 | - | ||
559 | - $objProcedimentoRN = new ProcedimentoRN(); | ||
560 | - $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO); | ||
561 | - | ||
562 | - $this->registrarAndamentoRecebimentoProcesso($objProcedimentoDTO, $objMetadadosProcedimento); | 546 | + $objProcedimentoDTO = new ProcedimentoDTO(); |
547 | + $objProcedimentoDTO->setDblIdProcedimento($parDblIdProcedimento); | ||
548 | + $objProcedimentoDTO->retTodos(); | ||
549 | + $objProcedimentoDTO->retStrProtocoloProcedimentoFormatado(); | ||
563 | 550 | ||
551 | + $objProcedimentoRN = new ProcedimentoRN(); | ||
552 | + $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO); | ||
564 | 553 | ||
565 | - if($flgReabrir){ | ||
566 | - $objEntradaReabrirProcessoAPI = new EntradaReabrirProcessoAPI(); | ||
567 | - $objEntradaReabrirProcessoAPI->setIdProcedimento($parDblIdProcedimento); | ||
568 | - $objSeiRN->reabrirProcesso($objEntradaReabrirProcessoAPI); | ||
569 | - } | 554 | + $this->registrarAndamentoRecebimentoProcesso($objProcedimentoDTO, $objMetadadosProcedimento); |
570 | 555 | ||
571 | - //Cadastro das atividades para quando o destinatário é desviado pelo receptor (!3!) | ||
572 | - if ($this->destinatarioReal->numeroDeIdentificacaoDaEstrutura) { | ||
573 | - $this->gerarAndamentoUnidadeReceptora($parDblIdProcedimento); | ||
574 | - } | 556 | + if($flgReabrir){ |
557 | + $objEntradaReabrirProcessoAPI = new EntradaReabrirProcessoAPI(); | ||
558 | + $objEntradaReabrirProcessoAPI->setIdProcedimento($parDblIdProcedimento); | ||
559 | + $objSeiRN->reabrirProcesso($objEntradaReabrirProcessoAPI); | ||
560 | + } | ||
575 | 561 | ||
576 | - $objEntradaDesbloquearProcessoAPI = new EntradaDesbloquearProcessoAPI(); | ||
577 | - $objEntradaDesbloquearProcessoAPI->setIdProcedimento($parDblIdProcedimento); | ||
578 | - $objSeiRN->desbloquearProcesso($objEntradaDesbloquearProcessoAPI); | 562 | + //Cadastro das atividades para quando o destinatário é desviado pelo receptor (!3!) |
563 | + if ($this->destinatarioReal->numeroDeIdentificacaoDaEstrutura) { | ||
564 | + $this->gerarAndamentoUnidadeReceptora($parDblIdProcedimento); | ||
565 | + } | ||
579 | 566 | ||
580 | - //TODO: Obter código da unidade através de mapeamento entre SEI e Barramento | ||
581 | - $objUnidadeDTO = $this->atribuirDadosUnidade($objProcedimentoDTO, $objDestinatario); | 567 | + $objEntradaDesbloquearProcessoAPI = new EntradaDesbloquearProcessoAPI(); |
568 | + $objEntradaDesbloquearProcessoAPI->setIdProcedimento($parDblIdProcedimento); | ||
569 | + $objSeiRN->desbloquearProcesso($objEntradaDesbloquearProcessoAPI); | ||
582 | 570 | ||
583 | - $this->atribuirDocumentos($objProcedimentoDTO, $objProcesso, $objUnidadeDTO, $objMetadadosProcedimento); | ||
584 | - $this->registrarProcedimentoNaoVisualizado($objProcedimentoDTO); | 571 | + //TODO: Obter código da unidade através de mapeamento entre SEI e Barramento |
572 | + $objUnidadeDTO = $this->atribuirDadosUnidade($objProcedimentoDTO, $objDestinatario); | ||
585 | 573 | ||
586 | - //TODO: Avaliar necessidade de restringir referência circular entre processos | ||
587 | - //TODO: Registrar que o processo foi recebido com outros apensados. Necessário para posterior reenvio | ||
588 | - $this->atribuirProcessosApensados($objProcedimentoDTO, $objProcesso->processoApensado); | 574 | + $this->atribuirDocumentos($objProcedimentoDTO, $objProcesso, $objUnidadeDTO, $objMetadadosProcedimento); |
575 | + $this->registrarProcedimentoNaoVisualizado($objProcedimentoDTO); | ||
589 | 576 | ||
590 | - //Realiza a alteração dos metadados do processo | ||
591 | - //TODO: Implementar alteração de todos os metadados | ||
592 | - $this->alterarMetadadosProcedimento($objProcedimentoDTO->getDblIdProcedimento(), $objProcesso); | 577 | + //TODO: Avaliar necessidade de restringir referência circular entre processos |
578 | + //TODO: Registrar que o processo foi recebido com outros apensados. Necessário para posterior reenvio | ||
579 | + $this->atribuirProcessosApensados($objProcedimentoDTO, $objProcesso->processoApensado); | ||
593 | 580 | ||
594 | - //TODO: Finalizar o envio do documento para a respectiva unidade | ||
595 | - $this->enviarProcedimentoUnidade($objProcedimentoDTO, true); | 581 | + //Realiza a alteração dos metadados do processo |
582 | + //TODO: Implementar alteração de todos os metadados | ||
583 | + $this->alterarMetadadosProcedimento($objProcedimentoDTO->getDblIdProcedimento(), $objProcesso); | ||
596 | 584 | ||
597 | - //$this->removerAndamentosProcedimento($objProcedimentoDTO); | ||
598 | - return $objProcedimentoDTO; | 585 | + //Finaliza o envio do documento para a respectiva unidade |
586 | + $this->enviarProcedimentoUnidade($objProcedimentoDTO, true); | ||
599 | 587 | ||
588 | + return $objProcedimentoDTO; | ||
589 | + | ||
590 | + } finally { | ||
591 | + $objPenParametroRN = new PenParametroRN(); | ||
592 | + $numUnidadeReceptora = $objPenParametroRN->getParametro('PEN_UNIDADE_GERADORA_DOCUMENTO_RECEBIDO'); | ||
593 | + SessaoSEI::getInstance()->setNumIdUnidadeAtual($numUnidadeReceptora); | ||
594 | + } | ||
600 | } | 595 | } |
601 | 596 | ||
602 | private function gerarAndamentoUnidadeReceptora($parNumIdProcedimento) { | 597 | private function gerarAndamentoUnidadeReceptora($parNumIdProcedimento) { |
@@ -1625,15 +1620,13 @@ $objAtividadeDTO2->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtua | @@ -1625,15 +1620,13 @@ $objAtividadeDTO2->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtua | ||
1625 | $objAtividadeDTO2->setDthConclusao(null); | 1620 | $objAtividadeDTO2->setDthConclusao(null); |
1626 | 1621 | ||
1627 | 1622 | ||
1628 | -if ($objAtividadeRN->contarRN0035($objAtividadeDTO2) == 0) { | ||
1629 | - | ||
1630 | - //reabertura automática | 1623 | +if ($objAtividadeRN->contarRN0035($objAtividadeDTO2) == 0) { |
1624 | + //reabertura automática | ||
1631 | $objReabrirProcessoDTO = new ReabrirProcessoDTO(); | 1625 | $objReabrirProcessoDTO = new ReabrirProcessoDTO(); |
1632 | - $objReabrirProcessoDTO->setDblIdProcedimento($objAtividadeDTO2->getDblIdProtocolo()); | ||
1633 | - $objReabrirProcessoDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); | 1626 | + $objReabrirProcessoDTO->setDblIdProcedimento($objAtividadeDTO2->getDblIdProtocolo()); |
1634 | $objReabrirProcessoDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); | 1627 | $objReabrirProcessoDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); |
1628 | + $objReabrirProcessoDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); | ||
1635 | $objProcedimentoRN->reabrirRN0966($objReabrirProcessoDTO); | 1629 | $objProcedimentoRN->reabrirRN0966($objReabrirProcessoDTO); |
1636 | - | ||
1637 | } | 1630 | } |
1638 | 1631 | ||
1639 | //$objPenAtividadeRN = new PenAtividadeRN(); | 1632 | //$objPenAtividadeRN = new PenAtividadeRN(); |