Commit cd67ddcb1649209e2eb22b1d9d7639f45a361110
1 parent
c71465bc
Exists in
feature-50
Implementação de recebimento de documentos avulsos para homologação
Showing
7 changed files
with
221 additions
and
107 deletions
Show diff stats
pen_procedimento_estado.php
| @@ -208,10 +208,13 @@ try { | @@ -208,10 +208,13 @@ try { | ||
| 208 | 208 | ||
| 209 | $arrAgruparProcedimentoAndamentoDTO = array(); | 209 | $arrAgruparProcedimentoAndamentoDTO = array(); |
| 210 | foreach($arrObjProcedimentoAndamentoDTO as &$objProcedimentoAndamentoDTO){ | 210 | foreach($arrObjProcedimentoAndamentoDTO as &$objProcedimentoAndamentoDTO){ |
| 211 | +// print_r($objProcedimentoAndamentoDTO->getNumTarefa()); die; | ||
| 211 | if(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO) == $objProcedimentoAndamentoDTO->getNumTarefa()) | 212 | if(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO) == $objProcedimentoAndamentoDTO->getNumTarefa()) |
| 212 | $numIdEstrutura = $objProcedimentoAndamentoDTO->getNumIdEstruturaDestino(); | 213 | $numIdEstrutura = $objProcedimentoAndamentoDTO->getNumIdEstruturaDestino(); |
| 213 | elseif (ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO) == $objProcedimentoAndamentoDTO->getNumTarefa()) | 214 | elseif (ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO) == $objProcedimentoAndamentoDTO->getNumTarefa()) |
| 214 | $numIdEstrutura = $objProcedimentoAndamentoDTO->getNumIdEstruturaOrigem(); | 215 | $numIdEstrutura = $objProcedimentoAndamentoDTO->getNumIdEstruturaOrigem(); |
| 216 | + elseif (ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_DOCUMENTO_AVULSO_RECEBIDO) == $objProcedimentoAndamentoDTO->getNumTarefa()) | ||
| 217 | + $numIdEstrutura = $objProcedimentoAndamentoDTO->getNumIdEstruturaOrigem(); | ||
| 215 | 218 | ||
| 216 | $key = $objProcedimentoAndamentoDTO->getDblIdTramite() . '-' . $numIdEstrutura . '-' . $objProcedimentoAndamentoDTO->getNumTarefa(); | 219 | $key = $objProcedimentoAndamentoDTO->getDblIdTramite() . '-' . $numIdEstrutura . '-' . $objProcedimentoAndamentoDTO->getNumTarefa(); |
| 217 | $arrAgruparProcedimentoAndamentoDTO[$key][] = $objProcedimentoAndamentoDTO; | 220 | $arrAgruparProcedimentoAndamentoDTO[$key][] = $objProcedimentoAndamentoDTO; |
rn/ExpedirProcedimentoRN.php
| @@ -2178,7 +2178,7 @@ class ExpedirProcedimentoRN extends InfraRN { | @@ -2178,7 +2178,7 @@ class ExpedirProcedimentoRN extends InfraRN { | ||
| 2178 | 2178 | ||
| 2179 | $objAtributoAndamentoDTOUser = new AtributoAndamentoDTO(); | 2179 | $objAtributoAndamentoDTOUser = new AtributoAndamentoDTO(); |
| 2180 | $objAtributoAndamentoDTOUser->setStrNome('USUARIO'); | 2180 | $objAtributoAndamentoDTOUser->setStrNome('USUARIO'); |
| 2181 | - $objAtributoAndamentoDTOUser->setStrIdOrigem(null); | 2181 | + $objAtributoAndamentoDTOUser->setStrIdOrigem(SessaoSEI::getInstance()->getNumIdUsuario()); |
| 2182 | $objAtributoAndamentoDTOUser->setStrValor(SessaoSEI::getInstance()->getStrNomeUsuario()); | 2182 | $objAtributoAndamentoDTOUser->setStrValor(SessaoSEI::getInstance()->getStrNomeUsuario()); |
| 2183 | 2183 | ||
| 2184 | $objAtividadeDTO->setArrObjAtributoAndamentoDTO(array($objAtributoAndamentoDTOHora, $objAtributoAndamentoDTOUser)); | 2184 | $objAtividadeDTO->setArrObjAtributoAndamentoDTO(array($objAtributoAndamentoDTOHora, $objAtributoAndamentoDTOUser)); |
rn/PenAtividadeRN.php
| @@ -80,6 +80,16 @@ class PenAtividadeRN extends AtividadeRN { | @@ -80,6 +80,16 @@ class PenAtividadeRN extends AtividadeRN { | ||
| 80 | $objReciboTramiteBD = new ReciboTramiteRecebidoBD($objBancoSEI); | 80 | $objReciboTramiteBD = new ReciboTramiteRecebidoBD($objBancoSEI); |
| 81 | $objReturn->bolReciboExiste = ($objReciboTramiteBD->contar($objReciboTramiteDTO) > 0) ? true : false; | 81 | $objReturn->bolReciboExiste = ($objReciboTramiteBD->contar($objReciboTramiteDTO) > 0) ? true : false; |
| 82 | break; | 82 | break; |
| 83 | + case ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_DOCUMENTO_AVULSO_RECEBIDO): | ||
| 84 | + $strMensagem = 'Recebimento do Documento %s remetido por %s'; | ||
| 85 | + $strNome = 'ENTIDADE_ORIGEM'; | ||
| 86 | + | ||
| 87 | + $objReciboTramiteDTO = new ReciboTramiteRecebidoDTO(); | ||
| 88 | + $objReciboTramiteDTO->setNumIdTramite($numIdTramite); | ||
| 89 | + | ||
| 90 | + $objReciboTramiteBD = new ReciboTramiteRecebidoBD($objBancoSEI); | ||
| 91 | + $objReturn->bolReciboExiste = ($objReciboTramiteBD->contar($objReciboTramiteDTO) > 0) ? true : false; | ||
| 92 | + break; | ||
| 83 | } | 93 | } |
| 84 | 94 | ||
| 85 | $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); | 95 | $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); |
rn/PenAtualizarSeiRN.php
| @@ -61,6 +61,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { | @@ -61,6 +61,7 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { | ||
| 61 | case '1.1.12': $this->instalarV1113(); | 61 | case '1.1.12': $this->instalarV1113(); |
| 62 | case '1.1.13': $this->instalarV1114(); | 62 | case '1.1.13': $this->instalarV1114(); |
| 63 | case '1.1.14': $this->instalarV1115(); | 63 | case '1.1.14': $this->instalarV1115(); |
| 64 | + case '1.1.16': $this->instalarV1115_feature50(); | ||
| 64 | 65 | ||
| 65 | break; | 66 | break; |
| 66 | default: | 67 | default: |
| @@ -1395,4 +1396,48 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { | @@ -1395,4 +1396,48 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { | ||
| 1395 | $objInfraParametroDTO->setStrValor('1.1.15'); | 1396 | $objInfraParametroDTO->setStrValor('1.1.15'); |
| 1396 | $objInfraParametroBD->alterar($objInfraParametroDTO); | 1397 | $objInfraParametroBD->alterar($objInfraParametroDTO); |
| 1397 | } | 1398 | } |
| 1399 | + | ||
| 1400 | + | ||
| 1401 | + protected function instalarV1115_feature50() | ||
| 1402 | + { | ||
| 1403 | + print_r('cadastra tarefa'); | ||
| 1404 | + | ||
| 1405 | + $objBD = new GenericoBD(BancoSEI::getInstance()); | ||
| 1406 | + $objDTO = new TarefaDTO(); | ||
| 1407 | + | ||
| 1408 | + $fnCadastrar = function($strNome = '', $strHistoricoCompleto = 'N', $strHistoricoCompleto = 'N', $strFecharAndamentosAbertos = 'N', $strLancarAndamentoFechado = 'N', $strPermiteProcessoFechado = 'N', $strIdTarefaModulo = '') use($objDTO, $objBD) { | ||
| 1409 | + | ||
| 1410 | + $objDTO->unSetTodos(); | ||
| 1411 | + $objDTO->setStrIdTarefaModulo($strIdTarefaModulo); | ||
| 1412 | + | ||
| 1413 | + if ($objBD->contar($objDTO) == 0) { | ||
| 1414 | + | ||
| 1415 | + $objUltimaTarefaDTO = new TarefaDTO(); | ||
| 1416 | + $objUltimaTarefaDTO->retNumIdTarefa(); | ||
| 1417 | + $objUltimaTarefaDTO->setNumMaxRegistrosRetorno(1); | ||
| 1418 | + $objUltimaTarefaDTO->setOrd('IdTarefa', InfraDTO::$TIPO_ORDENACAO_DESC); | ||
| 1419 | + $objUltimaTarefaDTO = $objBD->consultar($objUltimaTarefaDTO); | ||
| 1420 | + | ||
| 1421 | + $objDTO->setNumIdTarefa($objUltimaTarefaDTO->getNumIdTarefa() + 1); | ||
| 1422 | + $objDTO->setStrNome($strNome); | ||
| 1423 | + $objDTO->setStrSinHistoricoResumido($strHistoricoCompleto); | ||
| 1424 | + $objDTO->setStrSinHistoricoCompleto($strHistoricoCompleto); | ||
| 1425 | + $objDTO->setStrSinFecharAndamentosAbertos($strFecharAndamentosAbertos); | ||
| 1426 | + $objDTO->setStrSinLancarAndamentoFechado($strLancarAndamentoFechado); | ||
| 1427 | + $objDTO->setStrSinPermiteProcessoFechado($strPermiteProcessoFechado); | ||
| 1428 | + $objDTO->setStrIdTarefaModulo($strIdTarefaModulo); | ||
| 1429 | + $objBD->cadastrar($objDTO); | ||
| 1430 | + } | ||
| 1431 | + }; | ||
| 1432 | + | ||
| 1433 | + $fnCadastrar('Documento recebido da entidade @ENTIDADE_ORIGEM@ - @REPOSITORIO_ORIGEM@ (@PROCESSO@, @ENTIDADE_ORIGEM@, @UNIDADE_DESTINO@, @USUARIO@)', 'S', 'S', 'N', 'S', 'N', 'PEN_DOCUMENTO_AVULSO_RECEBIDO'); | ||
| 1434 | + | ||
| 1435 | +// //altera o parâmetro da versão de banco | ||
| 1436 | +// $objInfraParametroBD = new InfraParametroBD(BancoSEI::getInstance()); | ||
| 1437 | +// $objInfraParametroDTO = new InfraParametroDTO(); | ||
| 1438 | +// $objInfraParametroDTO->setStrNome(self::PARAMETRO_VERSAO_MODULO); | ||
| 1439 | +// $objInfraParametroDTO->setStrValor('1.1.XX'); | ||
| 1440 | +// $objInfraParametroBD->alterar($objInfraParametroDTO); | ||
| 1441 | + } | ||
| 1442 | + | ||
| 1398 | } | 1443 | } |
rn/ProcessoEletronicoRN.php
| @@ -12,6 +12,7 @@ class ProcessoEletronicoRN extends InfraRN { | @@ -12,6 +12,7 @@ class ProcessoEletronicoRN extends InfraRN { | ||
| 12 | public static $TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_RECUSADO = 'PEN_PROCESSO_RECUSADO'; | 12 | public static $TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_RECUSADO = 'PEN_PROCESSO_RECUSADO'; |
| 13 | public static $TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_EXTERNO = 'PEN_OPERACAO_EXTERNA'; | 13 | public static $TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_EXTERNO = 'PEN_OPERACAO_EXTERNA'; |
| 14 | public static $TI_PROCESSO_ELETRONICO_PROCESSO_ABORTADO = 'PEN_EXPEDICAO_PROCESSO_ABORTADA'; | 14 | public static $TI_PROCESSO_ELETRONICO_PROCESSO_ABORTADO = 'PEN_EXPEDICAO_PROCESSO_ABORTADA'; |
| 15 | + public static $TI_DOCUMENTO_AVULSO_RECEBIDO = 'PEN_DOCUMENTO_AVULSO_RECEBIDO'; | ||
| 15 | 16 | ||
| 16 | 17 | ||
| 17 | /* NÍVEL DE SIGILO DE PROCESSOS E DOCUMENTOS */ | 18 | /* NÍVEL DE SIGILO DE PROCESSOS E DOCUMENTOS */ |
| @@ -558,7 +559,7 @@ class ProcessoEletronicoRN extends InfraRN { | @@ -558,7 +559,7 @@ class ProcessoEletronicoRN extends InfraRN { | ||
| 558 | } | 559 | } |
| 559 | 560 | ||
| 560 | public function cadastrarTramiteDeProcesso($parDblIdProcedimento, $parStrNumeroRegistro, $parNumIdentificacaoTramite, $parStrStaTipoTramite, $parDthRegistroTramite, $parNumIdRepositorioOrigem, | 561 | public function cadastrarTramiteDeProcesso($parDblIdProcedimento, $parStrNumeroRegistro, $parNumIdentificacaoTramite, $parStrStaTipoTramite, $parDthRegistroTramite, $parNumIdRepositorioOrigem, |
| 561 | - $parNumIdEstruturaOrigem, $parNumIdRepositorioDestino, $parNumIdEstruturaDestino, $parObjProcesso, $parNumTicketComponentesDigitais = null, $parObjComponentesDigitaisSolicitados = null) | 562 | + $parNumIdEstruturaOrigem, $parNumIdRepositorioDestino, $parNumIdEstruturaDestino, $parObjProtocolo, $parNumTicketComponentesDigitais = null, $parObjComponentesDigitaisSolicitados = null) |
| 562 | { | 563 | { |
| 563 | 564 | ||
| 564 | if(!isset($parDblIdProcedimento) || $parDblIdProcedimento == 0) { | 565 | if(!isset($parDblIdProcedimento) || $parDblIdProcedimento == 0) { |
| @@ -593,7 +594,7 @@ class ProcessoEletronicoRN extends InfraRN { | @@ -593,7 +594,7 @@ class ProcessoEletronicoRN extends InfraRN { | ||
| 593 | throw new InfraException('Parâmetro $parNumIdEstruturaDestino não informado.'); | 594 | throw new InfraException('Parâmetro $parNumIdEstruturaDestino não informado.'); |
| 594 | } | 595 | } |
| 595 | 596 | ||
| 596 | - if(!isset($parObjProcesso)) { | 597 | + if(!isset($parObjProtocolo)) { |
| 597 | throw new InfraException('Parâmetro $objProcesso não informado.'); | 598 | throw new InfraException('Parâmetro $objProcesso não informado.'); |
| 598 | } | 599 | } |
| 599 | 600 | ||
| @@ -603,14 +604,14 @@ class ProcessoEletronicoRN extends InfraRN { | @@ -603,14 +604,14 @@ class ProcessoEletronicoRN extends InfraRN { | ||
| 603 | $objProcessoEletronicoDTO->setDblIdProcedimento($parDblIdProcedimento); | 604 | $objProcessoEletronicoDTO->setDblIdProcedimento($parDblIdProcedimento); |
| 604 | 605 | ||
| 605 | //Montar dados dos procedimentos apensados | 606 | //Montar dados dos procedimentos apensados |
| 606 | - if(isset($parObjProcesso->processoApensado)){ | ||
| 607 | - if(!is_array($parObjProcesso->processoApensado)){ | ||
| 608 | - $parObjProcesso->processoApensado = array($parObjProcesso->processoApensado); | 607 | + if(isset($parObjProtocolo->processoApensado)){ |
| 608 | + if(!is_array($parObjProtocolo->processoApensado)){ | ||
| 609 | + $parObjProtocolo->processoApensado = array($parObjProtocolo->processoApensado); | ||
| 609 | } | 610 | } |
| 610 | 611 | ||
| 611 | $arrObjRelProcessoEletronicoApensadoDTO = array(); | 612 | $arrObjRelProcessoEletronicoApensadoDTO = array(); |
| 612 | $objRelProcessoEletronicoApensadoDTO = null; | 613 | $objRelProcessoEletronicoApensadoDTO = null; |
| 613 | - foreach ($parObjProcesso->processoApensado as $objProcessoApensado) { | 614 | + foreach ($parObjProtocolo->processoApensado as $objProcessoApensado) { |
| 614 | $objRelProcessoEletronicoApensadoDTO = new RelProcessoEletronicoApensadoDTO(); | 615 | $objRelProcessoEletronicoApensadoDTO = new RelProcessoEletronicoApensadoDTO(); |
| 615 | $objRelProcessoEletronicoApensadoDTO->setStrNumeroRegistro($parStrNumeroRegistro); | 616 | $objRelProcessoEletronicoApensadoDTO->setStrNumeroRegistro($parStrNumeroRegistro); |
| 616 | $objRelProcessoEletronicoApensadoDTO->setDblIdProcedimentoApensado($objProcessoApensado->idProcedimentoSEI); | 617 | $objRelProcessoEletronicoApensadoDTO->setDblIdProcedimentoApensado($objProcessoApensado->idProcedimentoSEI); |
| @@ -637,7 +638,7 @@ class ProcessoEletronicoRN extends InfraRN { | @@ -637,7 +638,7 @@ class ProcessoEletronicoRN extends InfraRN { | ||
| 637 | $objProcessoEletronicoDTO->setArrObjTramiteDTO(array($objTramiteDTO)); | 638 | $objProcessoEletronicoDTO->setArrObjTramiteDTO(array($objTramiteDTO)); |
| 638 | 639 | ||
| 639 | //Monta dados dos componentes digitais | 640 | //Monta dados dos componentes digitais |
| 640 | - $arrObjComponenteDigitalDTO = $this->montarDadosComponenteDigital($parStrNumeroRegistro, $parNumIdentificacaoTramite, $parObjProcesso, $parObjComponentesDigitaisSolicitados); | 641 | + $arrObjComponenteDigitalDTO = $this->montarDadosComponenteDigital($parStrNumeroRegistro, $parNumIdentificacaoTramite, $parObjProtocolo, $parObjComponentesDigitaisSolicitados); |
| 641 | 642 | ||
| 642 | $objTramiteDTO->setArrObjComponenteDigitalDTO($arrObjComponenteDigitalDTO); | 643 | $objTramiteDTO->setArrObjComponenteDigitalDTO($arrObjComponenteDigitalDTO); |
| 643 | $objProcessoEletronicoDTO = $this->cadastrarTramiteDeProcessoInterno($objProcessoEletronicoDTO); | 644 | $objProcessoEletronicoDTO = $this->cadastrarTramiteDeProcessoInterno($objProcessoEletronicoDTO); |
| @@ -782,26 +783,31 @@ class ProcessoEletronicoRN extends InfraRN { | @@ -782,26 +783,31 @@ class ProcessoEletronicoRN extends InfraRN { | ||
| 782 | return $strHashConteudo; | 783 | return $strHashConteudo; |
| 783 | } | 784 | } |
| 784 | 785 | ||
| 785 | - private function montarDadosComponenteDigital($parStrNumeroRegistro, $parNumIdentificacaoTramite, $parObjProcesso, $parObjComponentesDigitaisSolicitados) | 786 | + private function montarDadosComponenteDigital($parStrNumeroRegistro, $parNumIdentificacaoTramite, $parObjProtocolo, $parObjComponentesDigitaisSolicitados) |
| 786 | { | 787 | { |
| 787 | //Monta dados dos componentes digitais | 788 | //Monta dados dos componentes digitais |
| 788 | $arrObjComponenteDigitalDTO = array(); | 789 | $arrObjComponenteDigitalDTO = array(); |
| 789 | - if(!is_array($parObjProcesso->documento)) { | ||
| 790 | - $parObjProcesso->documento = array($parObjProcesso->documento); | ||
| 791 | - } | ||
| 792 | 790 | ||
| 793 | - foreach ($parObjProcesso->documento as $objDocumento) { | 791 | + $arrObjDocumento = array(); |
| 792 | + if(isset($parObjProtocolo->documento)){ | ||
| 793 | + $arrObjDocumento = is_array($parObjProtocolo->documento) ? $parObjProtocolo->documento : array($parObjProtocolo->documento); | ||
| 794 | + } else { | ||
| 795 | + $arrObjDocumento = array($parObjProtocolo); | ||
| 796 | + } | ||
| 797 | + | ||
| 798 | + | ||
| 799 | + foreach ($arrObjDocumento as $objDocumento) { | ||
| 794 | $objComponenteDigitalDTO = new ComponenteDigitalDTO(); | 800 | $objComponenteDigitalDTO = new ComponenteDigitalDTO(); |
| 795 | $objComponenteDigitalDTO->setStrNumeroRegistro($parStrNumeroRegistro); | 801 | $objComponenteDigitalDTO->setStrNumeroRegistro($parStrNumeroRegistro); |
| 796 | - $objComponenteDigitalDTO->setDblIdProcedimento($parObjProcesso->idProcedimentoSEI); //TODO: Error utilizar idProcedimentoSEI devido processos apensados | 802 | + $objComponenteDigitalDTO->setDblIdProcedimento($parObjProtocolo->idProcedimentoSEI); //TODO: Error utilizar idProcedimentoSEI devido processos apensados |
| 797 | $objComponenteDigitalDTO->setDblIdDocumento($objDocumento->idDocumentoSEI); | 803 | $objComponenteDigitalDTO->setDblIdDocumento($objDocumento->idDocumentoSEI); |
| 798 | $objComponenteDigitalDTO->setNumOrdem($objDocumento->ordem); | 804 | $objComponenteDigitalDTO->setNumOrdem($objDocumento->ordem); |
| 799 | $objComponenteDigitalDTO->setNumIdTramite($parNumIdentificacaoTramite); | 805 | $objComponenteDigitalDTO->setNumIdTramite($parNumIdentificacaoTramite); |
| 800 | - $objComponenteDigitalDTO->setStrProtocolo($parObjProcesso->protocolo); | 806 | + $objComponenteDigitalDTO->setStrProtocolo($parObjProtocolo->protocolo); |
| 801 | 807 | ||
| 802 | //Por enquanto, considera que o documento possui apenas um componente digital | 808 | //Por enquanto, considera que o documento possui apenas um componente digital |
| 803 | if(is_array($objDocumento->componenteDigital) && count($objDocumento->componenteDigital) != 1) { | 809 | if(is_array($objDocumento->componenteDigital) && count($objDocumento->componenteDigital) != 1) { |
| 804 | - throw new InfraException("Erro processando componentes digitais do processo " . $parObjProcesso->protocolo . "\n Somente é permitido o recebimento de documentos com apenas um Componente Digital."); | 810 | + throw new InfraException("Erro processando componentes digitais do processo " . $parObjProtocolo->protocolo . "\n Somente é permitido o recebimento de documentos com apenas um Componente Digital."); |
| 805 | } | 811 | } |
| 806 | 812 | ||
| 807 | $objComponenteDigital = $objDocumento->componenteDigital; | 813 | $objComponenteDigital = $objDocumento->componenteDigital; |
| @@ -838,8 +844,8 @@ class ProcessoEletronicoRN extends InfraRN { | @@ -838,8 +844,8 @@ class ProcessoEletronicoRN extends InfraRN { | ||
| 838 | } | 844 | } |
| 839 | 845 | ||
| 840 | //Chamada recursiva sobre os documentos dos processos apensados | 846 | //Chamada recursiva sobre os documentos dos processos apensados |
| 841 | - if(isset($parObjProcesso->processoApensado) && count($parObjProcesso->processoApensado)) { | ||
| 842 | - foreach ($parObjProcesso->processoApensado as $objProcessoApensado) { | 847 | + if(isset($parObjProtocolo->processoApensado) && count($parObjProtocolo->processoApensado)) { |
| 848 | + foreach ($parObjProtocolo->processoApensado as $objProcessoApensado) { | ||
| 843 | $arrObj = $this->montarDadosComponenteDigital($parStrNumeroRegistro, $parNumIdentificacaoTramite, $objProcessoApensado, $parObjComponentesDigitaisSolicitados); | 849 | $arrObj = $this->montarDadosComponenteDigital($parStrNumeroRegistro, $parNumIdentificacaoTramite, $objProcessoApensado, $parObjComponentesDigitaisSolicitados); |
| 844 | $arrObjComponenteDigitalDTO = array_merge($arrObjComponenteDigitalDTO, $arrObj); | 850 | $arrObjComponenteDigitalDTO = array_merge($arrObjComponenteDigitalDTO, $arrObj); |
| 845 | } | 851 | } |
rn/ReceberProcedimentoRN.php
| @@ -6,6 +6,8 @@ require_once dirname(__FILE__) . '/../../../SEI.php'; | @@ -6,6 +6,8 @@ require_once dirname(__FILE__) . '/../../../SEI.php'; | ||
| 6 | class ReceberProcedimentoRN extends InfraRN | 6 | class ReceberProcedimentoRN extends InfraRN |
| 7 | { | 7 | { |
| 8 | const STR_APENSACAO_PROCEDIMENTOS = 'Relacionamento representando a apensação de processos recebidos externamente'; | 8 | const STR_APENSACAO_PROCEDIMENTOS = 'Relacionamento representando a apensação de processos recebidos externamente'; |
| 9 | + const TIPO_PROTOCOLO_PROCESSO = 'P'; | ||
| 10 | + const TIPO_PROTOCOLO_DOCUMENTO_AVULSO = 'D'; | ||
| 9 | 11 | ||
| 10 | private $objProcessoEletronicoRN; | 12 | private $objProcessoEletronicoRN; |
| 11 | private $objInfraParametro; | 13 | private $objInfraParametro; |
| @@ -63,12 +65,16 @@ class ReceberProcedimentoRN extends InfraRN | @@ -63,12 +65,16 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 63 | $objDocumento = $objMetadadosProcedimento->metadados->documento; | 65 | $objDocumento = $objMetadadosProcedimento->metadados->documento; |
| 64 | 66 | ||
| 65 | $objProtocolo = isset($objProcesso) ? $objProcesso : $objDocumento; | 67 | $objProtocolo = isset($objProcesso) ? $objProcesso : $objDocumento; |
| 68 | + $objProtocolo->staTipoProtocolo = isset($objProcesso) ? self::TIPO_PROTOCOLO_PROCESSO : self::TIPO_PROTOCOLO_DOCUMENTO_AVULSO; | ||
| 66 | 69 | ||
| 67 | - $this->objProcedimentoAndamentoRN->setOpts($strNumeroRegistro, $parNumIdentificacaoTramite, ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO)); | 70 | + $strIdTarefa = isset($objProcesso) ? ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO : ProcessoEletronicoRN::$TI_DOCUMENTO_AVULSO_RECEBIDO; |
| 71 | + $numIdTarefa = ProcessoEletronicoRN::obterIdTarefaModulo($strIdTarefa); | ||
| 72 | + | ||
| 73 | + $this->objProcedimentoAndamentoRN->setOpts($strNumeroRegistro, $parNumIdentificacaoTramite, $numIdTarefa); | ||
| 68 | $this->objProcedimentoAndamentoRN->cadastrar(ProcedimentoAndamentoDTO::criarAndamento('Iniciando recebimento de processo externo', 'S')); | 74 | $this->objProcedimentoAndamentoRN->cadastrar(ProcedimentoAndamentoDTO::criarAndamento('Iniciando recebimento de processo externo', 'S')); |
| 69 | 75 | ||
| 70 | //Tratamento para evitar o recebimento simultâneo do mesmo procedimento em serviços/processos concorrentes | 76 | //Tratamento para evitar o recebimento simultâneo do mesmo procedimento em serviços/processos concorrentes |
| 71 | - $this->sincronizarRecebimentoProcessos($strNumeroRegistro, $parNumIdentificacaoTramite); | 77 | + $this->sincronizarRecebimentoProcessos($strNumeroRegistro, $parNumIdentificacaoTramite, $numIdTarefa); |
| 72 | 78 | ||
| 73 | //Verifica se processo já foi registrado para esse trâmite | 79 | //Verifica se processo já foi registrado para esse trâmite |
| 74 | if($this->tramiteRecebimentoRegistrado($strNumeroRegistro, $parNumIdentificacaoTramite)) { | 80 | if($this->tramiteRecebimentoRegistrado($strNumeroRegistro, $parNumIdentificacaoTramite)) { |
| @@ -148,8 +154,8 @@ class ReceberProcedimentoRN extends InfraRN | @@ -148,8 +154,8 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 148 | $objProcedimentoDTO = $this->registrarProcesso($strNumeroRegistro, $parNumIdentificacaoTramite, $objProtocolo, $objMetadadosProcedimento); | 154 | $objProcedimentoDTO = $this->registrarProcesso($strNumeroRegistro, $parNumIdentificacaoTramite, $objProtocolo, $objMetadadosProcedimento); |
| 149 | 155 | ||
| 150 | // @join_tec US008.08 (#23092) | 156 | // @join_tec US008.08 (#23092) |
| 151 | - $this->objProcedimentoAndamentoRN->setOpts($strNumeroRegistro, $parNumIdentificacaoTramite, ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO), $objProcedimentoDTO->getDblIdProcedimento()); | ||
| 152 | - $this->objProcedimentoAndamentoRN->cadastrar(ProcedimentoAndamentoDTO::criarAndamento('Obtendo metadados do processo', 'S')); | 157 | + $this->objProcedimentoAndamentoRN->setOpts($strNumeroRegistro, $parNumIdentificacaoTramite, $numIdTarefa, $objProcedimentoDTO->getDblIdProcedimento()); |
| 158 | + $this->objProcedimentoAndamentoRN->cadastrar(ProcedimentoAndamentoDTO::criarAndamento('Obtendo metadados do protocolo', 'S')); | ||
| 153 | 159 | ||
| 154 | $this->gravarLogDebug("Registrando trâmite externo do processo", 4); | 160 | $this->gravarLogDebug("Registrando trâmite externo do processo", 4); |
| 155 | $objProcessoEletronicoDTO = $this->objProcessoEletronicoRN->cadastrarTramiteDeProcesso( | 161 | $objProcessoEletronicoDTO = $this->objProcessoEletronicoRN->cadastrarTramiteDeProcesso( |
| @@ -162,7 +168,7 @@ class ReceberProcedimentoRN extends InfraRN | @@ -162,7 +168,7 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 162 | $objMetadadosProcedimento->metadados->remetente->numeroDeIdentificacaoDaEstrutura, | 168 | $objMetadadosProcedimento->metadados->remetente->numeroDeIdentificacaoDaEstrutura, |
| 163 | $objMetadadosProcedimento->metadados->destinatario->identificacaoDoRepositorioDeEstruturas, | 169 | $objMetadadosProcedimento->metadados->destinatario->identificacaoDoRepositorioDeEstruturas, |
| 164 | $objMetadadosProcedimento->metadados->destinatario->numeroDeIdentificacaoDaEstrutura, | 170 | $objMetadadosProcedimento->metadados->destinatario->numeroDeIdentificacaoDaEstrutura, |
| 165 | - $objProcesso); | 171 | + $objProtocolo); |
| 166 | 172 | ||
| 167 | //Verifica se o tramite se encontra na situação correta | 173 | //Verifica se o tramite se encontra na situação correta |
| 168 | $arrObjTramite = $this->objProcessoEletronicoRN->consultarTramites($parNumIdentificacaoTramite); | 174 | $arrObjTramite = $this->objProcessoEletronicoRN->consultarTramites($parNumIdentificacaoTramite); |
| @@ -585,37 +591,6 @@ class ReceberProcedimentoRN extends InfraRN | @@ -585,37 +591,6 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 585 | return $objProcedimentoDTO; | 591 | return $objProcedimentoDTO; |
| 586 | } | 592 | } |
| 587 | 593 | ||
| 588 | - private function gerarAndamentoUnidadeReceptora($parNumIdProcedimento) | ||
| 589 | - { | ||
| 590 | - $objUnidadeDTO = new PenUnidadeDTO(); | ||
| 591 | - $objUnidadeDTO->setNumIdUnidadeRH($this->destinatarioReal->numeroDeIdentificacaoDaEstrutura); | ||
| 592 | - $objUnidadeDTO->setStrSinAtivo('S'); | ||
| 593 | - $objUnidadeDTO->retStrDescricao(); //descricao | ||
| 594 | - | ||
| 595 | - $objUnidadeRN = new UnidadeRN(); | ||
| 596 | - $objUnidadeDTO = $objUnidadeRN->consultarRN0125($objUnidadeDTO); | ||
| 597 | - | ||
| 598 | - $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); | ||
| 599 | - $objAtributoAndamentoDTO->setStrNome('DESCRICAO'); | ||
| 600 | - $objAtributoAndamentoDTO->setStrValor('Processo remetido para a unidade ' . $objUnidadeDTO->getStrDescricao()); | ||
| 601 | - $objAtributoAndamentoDTO->setStrIdOrigem($this->destinatarioReal->numeroDeIdentificacaoDaEstrutura); | ||
| 602 | - | ||
| 603 | - $arrObjAtributoAndamentoDTO = array($objAtributoAndamentoDTO); | ||
| 604 | - | ||
| 605 | - $objAtividadeDTO = new AtividadeDTO(); | ||
| 606 | - $objAtividadeDTO->setDblIdProtocolo($parNumIdProcedimento); | ||
| 607 | - $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); | ||
| 608 | - $objAtividadeDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); | ||
| 609 | - $objAtividadeDTO->setNumIdTarefa(TarefaRN::$TI_ATUALIZACAO_ANDAMENTO); | ||
| 610 | - $objAtividadeDTO->setArrObjAtributoAndamentoDTO($arrObjAtributoAndamentoDTO); | ||
| 611 | - $objAtividadeDTO->setDthConclusao(null); | ||
| 612 | - $objAtividadeDTO->setNumIdUsuarioConclusao(null); | ||
| 613 | - $objAtividadeDTO->setStrSinInicial('N'); | ||
| 614 | - | ||
| 615 | - $objAtividadeRN = new AtividadeRN(); | ||
| 616 | - $objAtividadeRN->gerarInternaRN0727($objAtividadeDTO); | ||
| 617 | - } | ||
| 618 | - | ||
| 619 | private function gerarProcedimento($objMetadadosProcedimento, $parObjProtocolo) | 594 | private function gerarProcedimento($objMetadadosProcedimento, $parObjProtocolo) |
| 620 | { | 595 | { |
| 621 | if(!isset($objMetadadosProcedimento)){ | 596 | if(!isset($objMetadadosProcedimento)){ |
| @@ -657,9 +632,12 @@ class ReceberProcedimentoRN extends InfraRN | @@ -657,9 +632,12 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 657 | } | 632 | } |
| 658 | } | 633 | } |
| 659 | 634 | ||
| 660 | - $objProtocoloDTO->setStrProtocoloFormatado(utf8_decode($parObjProtocolo->protocolo)); | 635 | + // O protocolo formatado do novo processo somente deverá reutilizar o número definido pelo Remetente em caso de |
| 636 | + // trâmites de processos. No caso de recebimento de documentos avulsos, o número do novo processo sempre deverá ser | ||
| 637 | + // gerado pelo destinatário, conforme regras definidas em legislação vigente | ||
| 638 | + $strProtocoloFormatado = ($parObjProtocolo->staTipoProtocolo == self::TIPO_PROTOCOLO_PROCESSO) ? $parObjProtocolo->protocolo : null; | ||
| 639 | + $objProtocoloDTO->setStrProtocoloFormatado(utf8_decode($strProtocoloFormatado)); | ||
| 661 | $objProtocoloDTO->setDtaGeracao($this->objProcessoEletronicoRN->converterDataSEI($parObjProtocolo->dataHoraDeProducao)); | 640 | $objProtocoloDTO->setDtaGeracao($this->objProcessoEletronicoRN->converterDataSEI($parObjProtocolo->dataHoraDeProducao)); |
| 662 | -// $objProtocoloDTO->setDtaGeracao($this->objProcessoEletronicoRN->converterDataSEI($parObjProtocolo->dataHoraDeProducao)); | ||
| 663 | $objProtocoloDTO->setArrObjAnexoDTO(array()); | 641 | $objProtocoloDTO->setArrObjAnexoDTO(array()); |
| 664 | $objProtocoloDTO->setArrObjRelProtocoloAssuntoDTO(array()); | 642 | $objProtocoloDTO->setArrObjRelProtocoloAssuntoDTO(array()); |
| 665 | $objProtocoloDTO->setArrObjRelProtocoloProtocoloDTO(array()); | 643 | $objProtocoloDTO->setArrObjRelProtocoloProtocoloDTO(array()); |
| @@ -696,7 +674,7 @@ class ReceberProcedimentoRN extends InfraRN | @@ -696,7 +674,7 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 696 | $objProcedimentoDTO->setDblIdProcedimento(null); | 674 | $objProcedimentoDTO->setDblIdProcedimento(null); |
| 697 | $objProcedimentoDTO->setObjProtocoloDTO($objProtocoloDTO); | 675 | $objProcedimentoDTO->setObjProtocoloDTO($objProtocoloDTO); |
| 698 | $objProcedimentoDTO->setDtaGeracaoProtocolo($this->objProcessoEletronicoRN->converterDataSEI($parObjProtocolo->dataHoraDeProducao)); | 676 | $objProcedimentoDTO->setDtaGeracaoProtocolo($this->objProcessoEletronicoRN->converterDataSEI($parObjProtocolo->dataHoraDeProducao)); |
| 699 | - $objProcedimentoDTO->setStrProtocoloProcedimentoFormatado(utf8_decode($parObjProtocolo->protocolo)); | 677 | + $objProcedimentoDTO->setStrProtocoloProcedimentoFormatado(utf8_decode($strProtocoloFormatado)); |
| 700 | $objProcedimentoDTO->setStrSinGerarPendencia('S'); | 678 | $objProcedimentoDTO->setStrSinGerarPendencia('S'); |
| 701 | $objProcedimentoDTO->setArrObjDocumentoDTO(array()); | 679 | $objProcedimentoDTO->setArrObjDocumentoDTO(array()); |
| 702 | 680 | ||
| @@ -731,8 +709,19 @@ class ReceberProcedimentoRN extends InfraRN | @@ -731,8 +709,19 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 731 | 709 | ||
| 732 | //TODO: Finalizar criação do procedimento | 710 | //TODO: Finalizar criação do procedimento |
| 733 | $objProcedimentoRN = new ProcedimentoRN(); | 711 | $objProcedimentoRN = new ProcedimentoRN(); |
| 734 | - $objProcedimentoDTOGerado = $objProcedimentoRN->gerarRN0156($objProcedimentoDTO); | 712 | + |
| 713 | + try{ | ||
| 714 | + //Alterado contexto de unidade atual para a unidade de destino do processo para que o núcleo do SEI possa | ||
| 715 | + //gerar o número de processo correto do destino e não o número da unidade de recebimento do processo | ||
| 716 | + SessaoSEI::getInstance(false)->setNumIdUnidadeAtual($objUnidadeDTO->getNumIdUnidade()); | ||
| 717 | + $objProcedimentoDTOGerado = $objProcedimentoRN->gerarRN0156($objProcedimentoDTO); | ||
| 718 | + } | ||
| 719 | + finally{ | ||
| 720 | + SessaoSEI::getInstance(false)->setNumIdUnidadeAtual($objPenParametroRN->getParametro('PEN_UNIDADE_GERADORA_DOCUMENTO_RECEBIDO')); | ||
| 721 | + } | ||
| 722 | + | ||
| 735 | $objProcedimentoDTO->setDblIdProcedimento($objProcedimentoDTOGerado->getDblIdProcedimento()); | 723 | $objProcedimentoDTO->setDblIdProcedimento($objProcedimentoDTOGerado->getDblIdProcedimento()); |
| 724 | + $objProcedimentoDTO->setStrProtocoloProcedimentoFormatado($objProcedimentoDTO->getObjProtocoloDTO()->getStrProtocoloFormatado()); | ||
| 736 | 725 | ||
| 737 | $this->registrarAndamentoRecebimentoProcesso($objProcedimentoDTO, $objMetadadosProcedimento); | 726 | $this->registrarAndamentoRecebimentoProcesso($objProcedimentoDTO, $objMetadadosProcedimento); |
| 738 | $this->atribuirDocumentos($objProcedimentoDTO, $parObjProtocolo, $objUnidadeDTO, $objMetadadosProcedimento); | 727 | $this->atribuirDocumentos($objProcedimentoDTO, $parObjProtocolo, $objUnidadeDTO, $objMetadadosProcedimento); |
| @@ -749,6 +738,37 @@ class ReceberProcedimentoRN extends InfraRN | @@ -749,6 +738,37 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 749 | return $objProcedimentoDTO; | 738 | return $objProcedimentoDTO; |
| 750 | } | 739 | } |
| 751 | 740 | ||
| 741 | + private function gerarAndamentoUnidadeReceptora($parNumIdProcedimento) | ||
| 742 | + { | ||
| 743 | + $objUnidadeDTO = new PenUnidadeDTO(); | ||
| 744 | + $objUnidadeDTO->setNumIdUnidadeRH($this->destinatarioReal->numeroDeIdentificacaoDaEstrutura); | ||
| 745 | + $objUnidadeDTO->setStrSinAtivo('S'); | ||
| 746 | + $objUnidadeDTO->retStrDescricao(); //descricao | ||
| 747 | + | ||
| 748 | + $objUnidadeRN = new UnidadeRN(); | ||
| 749 | + $objUnidadeDTO = $objUnidadeRN->consultarRN0125($objUnidadeDTO); | ||
| 750 | + | ||
| 751 | + $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); | ||
| 752 | + $objAtributoAndamentoDTO->setStrNome('DESCRICAO'); | ||
| 753 | + $objAtributoAndamentoDTO->setStrValor('Processo remetido para a unidade ' . $objUnidadeDTO->getStrDescricao()); | ||
| 754 | + $objAtributoAndamentoDTO->setStrIdOrigem($this->destinatarioReal->numeroDeIdentificacaoDaEstrutura); | ||
| 755 | + | ||
| 756 | + $arrObjAtributoAndamentoDTO = array($objAtributoAndamentoDTO); | ||
| 757 | + | ||
| 758 | + $objAtividadeDTO = new AtividadeDTO(); | ||
| 759 | + $objAtividadeDTO->setDblIdProtocolo($parNumIdProcedimento); | ||
| 760 | + $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); | ||
| 761 | + $objAtividadeDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); | ||
| 762 | + $objAtividadeDTO->setNumIdTarefa(TarefaRN::$TI_ATUALIZACAO_ANDAMENTO); | ||
| 763 | + $objAtividadeDTO->setArrObjAtributoAndamentoDTO($arrObjAtributoAndamentoDTO); | ||
| 764 | + $objAtividadeDTO->setDthConclusao(null); | ||
| 765 | + $objAtividadeDTO->setNumIdUsuarioConclusao(null); | ||
| 766 | + $objAtividadeDTO->setStrSinInicial('N'); | ||
| 767 | + | ||
| 768 | + $objAtividadeRN = new AtividadeRN(); | ||
| 769 | + $objAtividadeRN->gerarInternaRN0727($objAtividadeDTO); | ||
| 770 | + } | ||
| 771 | + | ||
| 752 | private function alterarMetadadosProcedimento($parNumIdProcedimento, $parObjMetadadoProcedimento) | 772 | private function alterarMetadadosProcedimento($parNumIdProcedimento, $parObjMetadadoProcedimento) |
| 753 | { | 773 | { |
| 754 | //Realiza a alteração dos metadados do processo(Por hora, apenas do nível de sigilo e hipótese legal) | 774 | //Realiza a alteração dos metadados do processo(Por hora, apenas do nível de sigilo e hipótese legal) |
| @@ -797,7 +817,9 @@ class ReceberProcedimentoRN extends InfraRN | @@ -797,7 +817,9 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 797 | //TODO: Atribuir atributos necessários para formação da mensagem do andamento | 817 | //TODO: Atribuir atributos necessários para formação da mensagem do andamento |
| 798 | //TODO: Especificar quais andamentos serão registrados | 818 | //TODO: Especificar quais andamentos serão registrados |
| 799 | $objRemetente = $parObjMetadadosProcedimento->metadados->remetente; | 819 | $objRemetente = $parObjMetadadosProcedimento->metadados->remetente; |
| 800 | - $objProcesso = $objMetadadosProcedimento->metadados->processo; | 820 | + $objProcesso = $parObjMetadadosProcedimento->metadados->processo; |
| 821 | + $objDocumento = $parObjMetadadosProcedimento->metadados->documento; | ||
| 822 | + $objProtocolo = isset($objProcesso) ? $objProcesso : $objDocumento; | ||
| 801 | 823 | ||
| 802 | $arrObjAtributoAndamentoDTO = array(); | 824 | $arrObjAtributoAndamentoDTO = array(); |
| 803 | 825 | ||
| @@ -824,6 +846,32 @@ class ReceberProcedimentoRN extends InfraRN | @@ -824,6 +846,32 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 824 | $objAtributoAndamentoDTO->setStrIdOrigem($objEstrutura->numeroDeIdentificacaoDaEstrutura); | 846 | $objAtributoAndamentoDTO->setStrIdOrigem($objEstrutura->numeroDeIdentificacaoDaEstrutura); |
| 825 | $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; | 847 | $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; |
| 826 | 848 | ||
| 849 | + $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); | ||
| 850 | + $objAtributoAndamentoDTO->setStrNome('PROCESSO'); | ||
| 851 | + $objAtributoAndamentoDTO->setStrValor($objProtocolo->protocolo); | ||
| 852 | + $objAtributoAndamentoDTO->setStrIdOrigem(null); | ||
| 853 | + $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; | ||
| 854 | + | ||
| 855 | + $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); | ||
| 856 | + $objAtributoAndamentoDTO->setStrNome('USUARIO'); | ||
| 857 | + $objAtributoAndamentoDTO->setStrValor(SessaoSEI::getInstance()->getStrNomeUsuario()); | ||
| 858 | + $objAtributoAndamentoDTO->setStrIdOrigem(SessaoSEI::getInstance()->getNumIdUsuario()); | ||
| 859 | + $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; | ||
| 860 | + | ||
| 861 | + //Obtém dados da unidade de destino atribuída anteriormente para o protocolo | ||
| 862 | + if($objProcedimentoDTO->isSetArrObjUnidadeDTO() && count($objProcedimentoDTO->getArrObjUnidadeDTO()) == 1) { | ||
| 863 | + $arrObjUnidadesDestinoDTO = $objProcedimentoDTO->getArrObjUnidadeDTO(); | ||
| 864 | + $objUnidadesDestinoDTO = $arrObjUnidadesDestinoDTO[0]; | ||
| 865 | + $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); | ||
| 866 | + $objAtributoAndamentoDTO->setStrNome('UNIDADE_DESTINO'); | ||
| 867 | + $objAtributoAndamentoDTO->setStrValor($objUnidadesDestinoDTO->getStrDescricao()); | ||
| 868 | + $objAtributoAndamentoDTO->setStrIdOrigem($objUnidadesDestinoDTO->getNumIdUnidade()); | ||
| 869 | + $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; | ||
| 870 | + } | ||
| 871 | + | ||
| 872 | + | ||
| 873 | + | ||
| 874 | + | ||
| 827 | if(isset($objEstrutura->hierarquia)) { | 875 | if(isset($objEstrutura->hierarquia)) { |
| 828 | $arrObjNivel = $objEstrutura->hierarquia->nivel; | 876 | $arrObjNivel = $objEstrutura->hierarquia->nivel; |
| 829 | 877 | ||
| @@ -862,7 +910,10 @@ class ReceberProcedimentoRN extends InfraRN | @@ -862,7 +910,10 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 862 | $objAtividadeDTO->setDblIdProtocolo($objProcedimentoDTO->getDblIdProcedimento()); | 910 | $objAtividadeDTO->setDblIdProtocolo($objProcedimentoDTO->getDblIdProcedimento()); |
| 863 | $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); | 911 | $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); |
| 864 | $objAtividadeDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); | 912 | $objAtividadeDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); |
| 865 | - $objAtividadeDTO->setNumIdTarefa(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO)); | 913 | + |
| 914 | + $strIdTarefa = isset($objProcesso) ? ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO : ProcessoEletronicoRN::$TI_DOCUMENTO_AVULSO_RECEBIDO; | ||
| 915 | + | ||
| 916 | + $objAtividadeDTO->setNumIdTarefa(ProcessoEletronicoRN::obterIdTarefaModulo($strIdTarefa)); | ||
| 866 | $objAtividadeDTO->setArrObjAtributoAndamentoDTO($arrObjAtributoAndamentoDTO); | 917 | $objAtividadeDTO->setArrObjAtributoAndamentoDTO($arrObjAtributoAndamentoDTO); |
| 867 | $objAtividadeDTO->setDthConclusao(null); | 918 | $objAtividadeDTO->setDthConclusao(null); |
| 868 | $objAtividadeDTO->setNumIdUsuarioConclusao(null); | 919 | $objAtividadeDTO->setNumIdUsuarioConclusao(null); |
| @@ -1092,6 +1143,7 @@ class ReceberProcedimentoRN extends InfraRN | @@ -1092,6 +1143,7 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 1092 | $objProcedimentoDTO2->retStrNomeTipoProcedimento(); | 1143 | $objProcedimentoDTO2->retStrNomeTipoProcedimento(); |
| 1093 | $objProcedimentoDTO2->adicionarCriterio(array('IdProcedimento','ProtocoloProcedimentoFormatado','ProtocoloProcedimentoFormatadoPesquisa'), | 1144 | $objProcedimentoDTO2->adicionarCriterio(array('IdProcedimento','ProtocoloProcedimentoFormatado','ProtocoloProcedimentoFormatadoPesquisa'), |
| 1094 | array(InfraDTO::$OPER_IGUAL,InfraDTO::$OPER_IGUAL,InfraDTO::$OPER_IGUAL), | 1145 | array(InfraDTO::$OPER_IGUAL,InfraDTO::$OPER_IGUAL,InfraDTO::$OPER_IGUAL), |
| 1146 | + //TODO: Possivelmente, a pesquisa pelos campos ProtocoloProcedimentoFormatado e ProtocoloProcedimentoFormatadoPesquisa está incorreta | ||
| 1095 | array($objDocumentoDTO->getDblIdProcedimento(),$objDocumentoDTO->getDblIdProcedimento(),$objDocumentoDTO->getDblIdProcedimento()), | 1147 | array($objDocumentoDTO->getDblIdProcedimento(),$objDocumentoDTO->getDblIdProcedimento(),$objDocumentoDTO->getDblIdProcedimento()), |
| 1096 | array(InfraDTO::$OPER_LOGICO_OR,InfraDTO::$OPER_LOGICO_OR)); | 1148 | array(InfraDTO::$OPER_LOGICO_OR,InfraDTO::$OPER_LOGICO_OR)); |
| 1097 | 1149 | ||
| @@ -1305,8 +1357,8 @@ class ReceberProcedimentoRN extends InfraRN | @@ -1305,8 +1357,8 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 1305 | 1357 | ||
| 1306 | $objProcedimentoDTOApensado = null; | 1358 | $objProcedimentoDTOApensado = null; |
| 1307 | foreach ($objProcedimento->processoApensado as $processoApensado){ | 1359 | foreach ($objProcedimento->processoApensado as $processoApensado){ |
| 1308 | - $objProcedimentoDTOApensado = $this->gerarProcedimento($objMetadadosProcedimento, $processoApensado); | ||
| 1309 | - $this->relacionarProcedimentos($objProcedimentoDTOPrincipal, $objProcedimentoDTOApensado); | 1360 | + $objProcedimentoDTOApensado = $this->gerarProcedimento($objProcedimento, $processoApensado); |
| 1361 | + $this->relacionarProcedimentos($objProcedimento, $objProcedimentoDTOApensado); | ||
| 1310 | $this->registrarProcedimentoNaoVisualizado($objProcedimentoDTOApensado); | 1362 | $this->registrarProcedimentoNaoVisualizado($objProcedimentoDTOApensado); |
| 1311 | } | 1363 | } |
| 1312 | } | 1364 | } |
| @@ -1542,8 +1594,6 @@ class ReceberProcedimentoRN extends InfraRN | @@ -1542,8 +1594,6 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 1542 | $objInfraException->lancarValidacao('Unidade de destino do processo não informada.'); | 1594 | $objInfraException->lancarValidacao('Unidade de destino do processo não informada.'); |
| 1543 | } | 1595 | } |
| 1544 | 1596 | ||
| 1545 | - $arrObjUnidadeDTO = $parObjProcedimentoDTO->getArrObjUnidadeDTO(); | ||
| 1546 | - | ||
| 1547 | if(count($parObjProcedimentoDTO->getArrObjUnidadeDTO()) > 1) { | 1597 | if(count($parObjProcedimentoDTO->getArrObjUnidadeDTO()) > 1) { |
| 1548 | $objInfraException->lancarValidacao('Não permitido a indicação de múltiplas unidades de destino para um processo recebido externamente.'); | 1598 | $objInfraException->lancarValidacao('Não permitido a indicação de múltiplas unidades de destino para um processo recebido externamente.'); |
| 1549 | } | 1599 | } |
| @@ -1558,7 +1608,6 @@ class ReceberProcedimentoRN extends InfraRN | @@ -1558,7 +1608,6 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 1558 | $objProcedimentoDTO->retNumIdTipoProcedimento(); | 1608 | $objProcedimentoDTO->retNumIdTipoProcedimento(); |
| 1559 | $objProcedimentoDTO->retStrNomeTipoProcedimento(); | 1609 | $objProcedimentoDTO->retStrNomeTipoProcedimento(); |
| 1560 | $objProcedimentoDTO->retStrStaNivelAcessoGlobalProtocolo(); | 1610 | $objProcedimentoDTO->retStrStaNivelAcessoGlobalProtocolo(); |
| 1561 | - // $objProcedimentoDTO->retStrStaEstadoProtocolo(); | ||
| 1562 | $objProcedimentoDTO->setStrProtocoloProcedimentoFormatado($parObjProcedimentoDTO->getStrProtocoloProcedimentoFormatado()); | 1611 | $objProcedimentoDTO->setStrProtocoloProcedimentoFormatado($parObjProcedimentoDTO->getStrProtocoloProcedimentoFormatado()); |
| 1563 | 1612 | ||
| 1564 | $objProcedimentoRN = new ProcedimentoRN(); | 1613 | $objProcedimentoRN = new ProcedimentoRN(); |
| @@ -1722,6 +1771,44 @@ class ReceberProcedimentoRN extends InfraRN | @@ -1722,6 +1771,44 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 1722 | } | 1771 | } |
| 1723 | } | 1772 | } |
| 1724 | 1773 | ||
| 1774 | + /** | ||
| 1775 | + * Método que realiza a validação da extensão dos componentes digitais a serem recebidos | ||
| 1776 | + * | ||
| 1777 | + * @param integer $parIdTramite | ||
| 1778 | + * @param object $parObjProtocolo | ||
| 1779 | + * @throws InfraException | ||
| 1780 | + */ | ||
| 1781 | + public function validarExtensaoComponentesDigitais($parIdTramite, $parObjProtocolo) | ||
| 1782 | + { | ||
| 1783 | + //Armazena o array de documentos | ||
| 1784 | + $arrDocumentos = $this->obterDocumentosProtocolo($parObjProtocolo); | ||
| 1785 | + | ||
| 1786 | + //Instancia o bd do arquivoExtensão | ||
| 1787 | + $arquivoExtensaoBD = new ArquivoExtensaoBD($this->getObjInfraIBanco()); | ||
| 1788 | + | ||
| 1789 | + //Percorre os documentos | ||
| 1790 | + foreach($arrDocumentos as $documento){ | ||
| 1791 | + | ||
| 1792 | + //Busca o nome do documento | ||
| 1793 | + $nomeDocumento = $documento->componenteDigital->nome; | ||
| 1794 | + | ||
| 1795 | + //Busca pela extensão do documento | ||
| 1796 | + $arrNomeDocumento = explode('.', $nomeDocumento); | ||
| 1797 | + $extDocumento = $arrNomeDocumento[count($arrNomeDocumento) - 1]; | ||
| 1798 | + | ||
| 1799 | + //Verifica se a extensão do arquivo está cadastrada e ativa | ||
| 1800 | + $arquivoExtensaoDTO = new ArquivoExtensaoDTO(); | ||
| 1801 | + $arquivoExtensaoDTO->setStrSinAtivo('S'); | ||
| 1802 | + $arquivoExtensaoDTO->setStrExtensao($extDocumento); | ||
| 1803 | + $arquivoExtensaoDTO->retStrExtensao(); | ||
| 1804 | + | ||
| 1805 | + if($arquivoExtensaoBD->contar($arquivoExtensaoDTO) == 0){ | ||
| 1806 | + $this->objProcessoEletronicoRN->recusarTramite($parIdTramite, 'Componentes digitais com formato inválido no destinatário. ', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_FORMATO); | ||
| 1807 | + throw new InfraException("Processo recusado devido a existência de documento em formato {$extDocumento} não permitido pelo sistema. "); | ||
| 1808 | + } | ||
| 1809 | + } | ||
| 1810 | + } | ||
| 1811 | + | ||
| 1725 | protected function receberTramiteRecusadoInternoControlado(ReceberTramiteRecusadoDTO $objReceberTramiteRecusadoDTO) | 1812 | protected function receberTramiteRecusadoInternoControlado(ReceberTramiteRecusadoDTO $objReceberTramiteRecusadoDTO) |
| 1726 | { | 1813 | { |
| 1727 | //Realiza o desbloqueio do processo | 1814 | //Realiza o desbloqueio do processo |
| @@ -1776,44 +1863,6 @@ class ReceberProcedimentoRN extends InfraRN | @@ -1776,44 +1863,6 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 1776 | } | 1863 | } |
| 1777 | 1864 | ||
| 1778 | /** | 1865 | /** |
| 1779 | - * Método que realiza a validação da extensão dos componentes digitais a serem recebidos | ||
| 1780 | - * | ||
| 1781 | - * @param integer $parIdTramite | ||
| 1782 | - * @param object $parObjProtocolo | ||
| 1783 | - * @throws InfraException | ||
| 1784 | - */ | ||
| 1785 | - public function validarExtensaoComponentesDigitais($parIdTramite, $parObjProtocolo) | ||
| 1786 | - { | ||
| 1787 | - //Armazena o array de documentos | ||
| 1788 | - $arrDocumentos = $this->obterDocumentosProtocolo($parObjProtocolo); | ||
| 1789 | - | ||
| 1790 | - //Instancia o bd do arquivoExtensão | ||
| 1791 | - $arquivoExtensaoBD = new ArquivoExtensaoBD($this->getObjInfraIBanco()); | ||
| 1792 | - | ||
| 1793 | - //Percorre os documentos | ||
| 1794 | - foreach($arrDocumentos as $documento){ | ||
| 1795 | - | ||
| 1796 | - //Busca o nome do documento | ||
| 1797 | - $nomeDocumento = $documento->componenteDigital->nome; | ||
| 1798 | - | ||
| 1799 | - //Busca pela extensão do documento | ||
| 1800 | - $arrNomeDocumento = explode('.', $nomeDocumento); | ||
| 1801 | - $extDocumento = $arrNomeDocumento[count($arrNomeDocumento) - 1]; | ||
| 1802 | - | ||
| 1803 | - //Verifica se a extensão do arquivo está cadastrada e ativa | ||
| 1804 | - $arquivoExtensaoDTO = new ArquivoExtensaoDTO(); | ||
| 1805 | - $arquivoExtensaoDTO->setStrSinAtivo('S'); | ||
| 1806 | - $arquivoExtensaoDTO->setStrExtensao($extDocumento); | ||
| 1807 | - $arquivoExtensaoDTO->retStrExtensao(); | ||
| 1808 | - | ||
| 1809 | - if($arquivoExtensaoBD->contar($arquivoExtensaoDTO) == 0){ | ||
| 1810 | - $this->objProcessoEletronicoRN->recusarTramite($parIdTramite, 'Componentes digitais com formato inválido no destinatário. ', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_FORMATO); | ||
| 1811 | - throw new InfraException("Processo recusado devido a existência de documento em formato {$extDocumento} não permitido pelo sistema. "); | ||
| 1812 | - } | ||
| 1813 | - } | ||
| 1814 | - } | ||
| 1815 | - | ||
| 1816 | - /** | ||
| 1817 | * Método que verifica as permissões de escrita nos diretórios utilizados no recebimento de processos e documentos | 1866 | * Método que verifica as permissões de escrita nos diretórios utilizados no recebimento de processos e documentos |
| 1818 | * | 1867 | * |
| 1819 | * @param integer $parIdTramite | 1868 | * @param integer $parIdTramite |
| @@ -1835,13 +1884,13 @@ class ReceberProcedimentoRN extends InfraRN | @@ -1835,13 +1884,13 @@ class ReceberProcedimentoRN extends InfraRN | ||
| 1835 | } | 1884 | } |
| 1836 | } | 1885 | } |
| 1837 | 1886 | ||
| 1838 | - private function sincronizarRecebimentoProcessos($parStrNumeroRegistro, $parNumIdentificacaoTramite) | 1887 | + private function sincronizarRecebimentoProcessos($parStrNumeroRegistro, $parNumIdentificacaoTramite, $parNumIdTarefa) |
| 1839 | { | 1888 | { |
| 1840 | $objProcedimentoAndamentoDTO = new ProcedimentoAndamentoDTO(); | 1889 | $objProcedimentoAndamentoDTO = new ProcedimentoAndamentoDTO(); |
| 1841 | $objProcedimentoAndamentoDTO->retDblIdAndamento(); | 1890 | $objProcedimentoAndamentoDTO->retDblIdAndamento(); |
| 1842 | $objProcedimentoAndamentoDTO->setStrNumeroRegistro($parStrNumeroRegistro); | 1891 | $objProcedimentoAndamentoDTO->setStrNumeroRegistro($parStrNumeroRegistro); |
| 1843 | $objProcedimentoAndamentoDTO->setDblIdTramite($parNumIdentificacaoTramite); | 1892 | $objProcedimentoAndamentoDTO->setDblIdTramite($parNumIdentificacaoTramite); |
| 1844 | - $objProcedimentoAndamentoDTO->setNumTarefa(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO)); | 1893 | + $objProcedimentoAndamentoDTO->setNumTarefa($parNumIdTarefa); |
| 1845 | $objProcedimentoAndamentoDTO->setNumMaxRegistrosRetorno(1); | 1894 | $objProcedimentoAndamentoDTO->setNumMaxRegistrosRetorno(1); |
| 1846 | 1895 | ||
| 1847 | $objProcedimentoAndamentoBD = new ProcedimentoAndamentoBD($this->getObjInfraIBanco()); | 1896 | $objProcedimentoAndamentoBD = new ProcedimentoAndamentoBD($this->getObjInfraIBanco()); |
rn/ReciboTramiteRN.php
| @@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
| 3 | require_once dirname(__FILE__) . '/../../../SEI.php'; | 3 | require_once dirname(__FILE__) . '/../../../SEI.php'; |
| 4 | 4 | ||
| 5 | /** | 5 | /** |
| 6 | - * Repostório da entidade ReciboTramite | 6 | + * Repost�rio da entidade ReciboTramite |
| 7 | * | 7 | * |
| 8 | * @author Join Tecnologia | 8 | * @author Join Tecnologia |
| 9 | */ | 9 | */ |
| @@ -18,7 +18,7 @@ class ReciboTramiteRN extends InfraRN { | @@ -18,7 +18,7 @@ class ReciboTramiteRN extends InfraRN { | ||
| 18 | } | 18 | } |
| 19 | 19 | ||
| 20 | /** | 20 | /** |
| 21 | - * retorna um array de recibos de tramites ( geralmente é somente um ) | 21 | + * retorna um array de recibos de tramites ( geralmente � somente um ) |
| 22 | * | 22 | * |
| 23 | * @param string $strAtividade pode ser RECEBER ou ENVIAR | 23 | * @param string $strAtividade pode ser RECEBER ou ENVIAR |
| 24 | * @return array | 24 | * @return array |
| @@ -44,6 +44,7 @@ class ReciboTramiteRN extends InfraRN { | @@ -44,6 +44,7 @@ class ReciboTramiteRN extends InfraRN { | ||
| 44 | break; | 44 | break; |
| 45 | 45 | ||
| 46 | case ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO): | 46 | case ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO): |
| 47 | + case ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_DOCUMENTO_AVULSO_RECEBIDO): | ||
| 47 | $objReciboTramiteDTO = new ReciboTramiteRecebidoDTO(); | 48 | $objReciboTramiteDTO = new ReciboTramiteRecebidoDTO(); |
| 48 | $objReciboTramiteDTO->setNumIdTramite($numIdTramite); | 49 | $objReciboTramiteDTO->setNumIdTramite($numIdTramite); |
| 49 | $objReciboTramiteDTO->retStrNumeroRegistro(); | 50 | $objReciboTramiteDTO->retStrNumeroRegistro(); |