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(); |