Commit 8eafc82e7177db38ed673d3215f76a50bc100ebd
1 parent
a88d67fd
Exists in
master
and in
2 other branches
Ajuste na formatação dos recibos de envio/recebimento e correção do erro nos doc…
…umentos do tipo e-mail
Showing
10 changed files
with
168 additions
and
59 deletions
Show diff stats
| ... | ... | @@ -0,0 +1,19 @@ |
| 1 | +<? | |
| 2 | + | |
| 3 | +require_once dirname(__FILE__).'/../../../SEI.php'; | |
| 4 | + | |
| 5 | +class ReciboTramiteHashDTO extends InfraDTO { | |
| 6 | + | |
| 7 | + public function getStrNomeTabela() { | |
| 8 | + return "md_pen_recibo_tramite_hash"; | |
| 9 | + } | |
| 10 | + | |
| 11 | + public function montar() { | |
| 12 | + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'NumeroRegistro', 'numero_registro'); | |
| 13 | + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdTramite', 'id_tramite'); | |
| 14 | + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'HashComponenteDigital', 'hash_componente_digital'); | |
| 15 | + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'TipoRecibo', 'tipo_recibo'); | |
| 16 | + | |
| 17 | + } | |
| 18 | +} | |
| 19 | + | ... | ... |
dto/ReciboTramiteRecebidoDTO.php
| ... | ... | @@ -14,5 +14,6 @@ class ReciboTramiteRecebidoDTO extends InfraDTO { |
| 14 | 14 | $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdTramite', 'id_tramite'); |
| 15 | 15 | $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_DTH, 'Recebimento', 'dth_recebimento'); |
| 16 | 16 | $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'HashAssinatura', 'hash_assinatura'); |
| 17 | + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'CadeiaCertificado', 'cadeia_certificado'); | |
| 17 | 18 | } |
| 18 | 19 | } |
| 19 | 20 | \ No newline at end of file | ... | ... |
pen_procedimento_estado.php
| ... | ... | @@ -20,6 +20,7 @@ try { |
| 20 | 20 | |
| 21 | 21 | //$objSessaoSEI->validarLink(); |
| 22 | 22 | $objSessaoSEI->validarPermissao('pen_procedimento_expedir'); |
| 23 | + $objGenericoBD = new GenericoBD(BancoSEI::getInstance()); | |
| 23 | 24 | |
| 24 | 25 | if(array_key_exists('metodo', $_GET)) { |
| 25 | 26 | |
| ... | ... | @@ -49,21 +50,33 @@ try { |
| 49 | 50 | throw new InfraException('O recibo ainda não foi recebido.'); |
| 50 | 51 | } |
| 51 | 52 | |
| 52 | - | |
| 53 | + $objReciboTramiteHashDTO = new ReciboTramiteHashDTO(); | |
| 54 | + $objReciboTramiteHashDTO->setNumIdTramite($_GET['id_tramite']); | |
| 55 | + $objReciboTramiteHashDTO->setStrTipoRecibo(ProcessoEletronicoRN::$STA_TIPO_RECIBO_ENVIO); | |
| 56 | + $objReciboTramiteHashDTO->retStrHashComponenteDigital(); | |
| 57 | + | |
| 58 | + $arrObjReciboTramiteHashDTO = $objGenericoBD->listar($objReciboTramiteHashDTO); | |
| 59 | + | |
| 53 | 60 | foreach($arrObjReciboTramiteDTO as $objReciboTramiteDTO) { |
| 54 | 61 | |
| 55 | 62 | $dthTimeStamp = InfraData::getTimestamp($objReciboTramiteDTO->getDthRecebimento()); |
| 56 | 63 | |
| 57 | - print '<recibo>'; | |
| 64 | + print '<reciboDeEnvio>'; | |
| 58 | 65 | print '<IDT>'.$objReciboTramiteDTO->getNumIdTramite().'</IDT>'; |
| 59 | 66 | print '<NRE>'.$objReciboTramiteDTO->getStrNumeroRegistro().'</NRE>'; |
| 60 | - print '<dataDeRecebimento>'.date('c', $dthTimeStamp).'</dataDeRecebimento>'; | |
| 67 | + print '<dataDeRecebimentoDoUltimoComponenteDigital>'.date('c', $dthTimeStamp).'</dataDeRecebimentoDoUltimoComponenteDigital>'; | |
| 61 | 68 | |
| 62 | - $strHashAssinatura = $objReciboTramiteDTO->getStrHashAssinatura(); | |
| 63 | - if(!empty($strHashAssinatura)) { | |
| 64 | - print '<hashDoComponenteDigital>'.$strHashAssinatura.'</hashDoComponenteDigital>'; | |
| 69 | + if($arrObjReciboTramiteHashDTO && is_array($arrObjReciboTramiteHashDTO)){ | |
| 70 | + $arrObjReciboTramiteHashDTO = InfraArray::converterArrInfraDTO($arrObjReciboTramiteHashDTO, 'HashComponenteDigital'); | |
| 71 | + ksort($arrObjReciboTramiteHashDTO); | |
| 72 | + | |
| 73 | + foreach($arrObjReciboTramiteHashDTO as $hash){ | |
| 74 | + print '<hashDoComponenteDigital>'.$hash.'</hashDoComponenteDigital>'; | |
| 75 | + } | |
| 65 | 76 | } |
| 66 | - print '</recibo>'; | |
| 77 | + print '</reciboDeEnvio>'; | |
| 78 | + print '<cadeiaDoCertificado>'.$objReciboTramiteDTO->getStrCadeiaCertificado().'</cadeiaDoCertificado>'; | |
| 79 | + print '<hashDaAssinatura>'.$objReciboTramiteDTO->getStrHashAssinatura().'</hashDaAssinatura>'; | |
| 67 | 80 | } |
| 68 | 81 | |
| 69 | 82 | } |
| ... | ... | @@ -97,6 +110,19 @@ try { |
| 97 | 110 | throw new InfraException('O recibo ainda não foi recebido.'); |
| 98 | 111 | } |
| 99 | 112 | |
| 113 | + $objReciboTramiteHashDTO = new ReciboTramiteHashDTO(); | |
| 114 | + $objReciboTramiteHashDTO->setNumIdTramite($_GET['id_tramite']); | |
| 115 | + $objReciboTramiteHashDTO->retStrHashComponenteDigital(); | |
| 116 | + | |
| 117 | + if($_GET['id_tarefa'] == ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)){ | |
| 118 | + $objReciboTramiteHashDTO->setStrTipoRecibo(ProcessoEletronicoRN::$STA_TIPO_RECIBO_CONCLUSAO_RECEBIDO); | |
| 119 | + | |
| 120 | + }else{ | |
| 121 | + $objReciboTramiteHashDTO->setStrTipoRecibo(ProcessoEletronicoRN::$STA_TIPO_RECIBO_CONCLUSAO_ENVIADO); | |
| 122 | + | |
| 123 | + } | |
| 124 | + | |
| 125 | + $arrObjReciboTramiteHashDTO = $objGenericoBD->listar($objReciboTramiteHashDTO); | |
| 100 | 126 | |
| 101 | 127 | foreach($arrObjReciboTramiteDTO as $objReciboTramiteDTO) { |
| 102 | 128 | |
| ... | ... | @@ -108,10 +134,19 @@ try { |
| 108 | 134 | print '<dataDeRecebimento>'.date('c', $dthTimeStamp).'</dataDeRecebimento>'; |
| 109 | 135 | |
| 110 | 136 | $strHashAssinatura = $objReciboTramiteDTO->getStrHashAssinatura(); |
| 111 | - if(!empty($strHashAssinatura)) { | |
| 112 | - print '<hashDoComponenteDigital>'.$strHashAssinatura.'</hashDoComponenteDigital>'; | |
| 137 | + | |
| 138 | + if($arrObjReciboTramiteHashDTO && is_array($arrObjReciboTramiteHashDTO)){ | |
| 139 | + $arrObjReciboTramiteHashDTO = InfraArray::converterArrInfraDTO($arrObjReciboTramiteHashDTO, 'HashComponenteDigital'); | |
| 140 | + ksort($arrObjReciboTramiteHashDTO); | |
| 141 | + | |
| 142 | + foreach($arrObjReciboTramiteHashDTO as $hash){ | |
| 143 | + print '<hashDoComponenteDigital>'.$hash.'</hashDoComponenteDigital>'; | |
| 144 | + } | |
| 113 | 145 | } |
| 146 | + | |
| 114 | 147 | print '</recibo>'; |
| 148 | + print '<cadeiaDoCertificado>'.$objReciboTramiteDTO->getStrCadeiaCertificado().'</cadeiaDoCertificado>'; | |
| 149 | + print '<hashDaAssinatura>'.$objReciboTramiteDTO->getStrHashAssinatura().'</hashDaAssinatura>'; | |
| 115 | 150 | } |
| 116 | 151 | |
| 117 | 152 | } | ... | ... |
rn/EnviarReciboTramiteRN.php
| ... | ... | @@ -54,7 +54,7 @@ class EnviarReciboTramiteRN extends InfraRN |
| 54 | 54 | return $arrStrHashConteudo; |
| 55 | 55 | } |
| 56 | 56 | |
| 57 | - protected function cadastrarReciboTramiteRecebimento($strNumeroRegistro = '', $parNumIdTramite = 0, $strHashConteudo = ''){ | |
| 57 | + protected function cadastrarReciboTramiteRecebimento($strNumeroRegistro = '', $parNumIdTramite = 0, $strHashConteudo = '', $parArrayHash = array()){ | |
| 58 | 58 | |
| 59 | 59 | $objBD = new ReciboTramiteRecebidoBD($this->inicializarObjInfraIBanco()); |
| 60 | 60 | |
| ... | ... | @@ -69,6 +69,19 @@ class EnviarReciboTramiteRN extends InfraRN |
| 69 | 69 | $objDTO->setDthRecebimento(date('d/m/Y H:i:s')); |
| 70 | 70 | $objBD->cadastrar($objDTO); |
| 71 | 71 | } |
| 72 | + | |
| 73 | + foreach($parArrayHash as $strHashComponenteDigital){ | |
| 74 | + | |
| 75 | + $objReciboTramiteHashDTO = new ReciboTramiteHashDTO(); | |
| 76 | + $objReciboTramiteHashDTO->setStrNumeroRegistro($strNumeroRegistro); | |
| 77 | + $objReciboTramiteHashDTO->setNumIdTramite($parNumIdTramite); | |
| 78 | + $objReciboTramiteHashDTO->setStrHashComponenteDigital($strHashComponenteDigital); | |
| 79 | + $objReciboTramiteHashDTO->setStrTipoRecibo(ProcessoEletronicoRN::$STA_TIPO_RECIBO_CONCLUSAO_ENVIADO); | |
| 80 | + | |
| 81 | + $objBD->cadastrar($objReciboTramiteHashDTO); | |
| 82 | + } | |
| 83 | + | |
| 84 | + | |
| 72 | 85 | } |
| 73 | 86 | |
| 74 | 87 | public function enviarReciboTramiteProcesso($parNumIdTramite, $parArrayHash = null, $parDthRecebimento = null) |
| ... | ... | @@ -136,7 +149,7 @@ class EnviarReciboTramiteRN extends InfraRN |
| 136 | 149 | |
| 137 | 150 | //Envia o Recibo de salva no banco |
| 138 | 151 | $hashAssinatura = $this->objProcessoEletronicoRN->enviarReciboDeTramite($parNumIdTramite, $dthRecebimento, $strReciboTramite); |
| 139 | - $this->cadastrarReciboTramiteRecebimento($strNumeroRegistro, $parNumIdTramite, $hashAssinatura); | |
| 152 | + $this->cadastrarReciboTramiteRecebimento($strNumeroRegistro, $parNumIdTramite, $hashAssinatura, $parArrayHash); | |
| 140 | 153 | |
| 141 | 154 | } |
| 142 | 155 | ... | ... |
rn/ExpedirProcedimentoRN.php
| ... | ... | @@ -975,7 +975,7 @@ class ExpedirProcedimentoRN extends InfraRN { |
| 975 | 975 | $strConteudoAssinatura = $arrInformacaoArquivo['CONTEUDO']; |
| 976 | 976 | $hashDoComponenteDigital = hash($strAlgoritmoHash, $strConteudoAssinatura, true); |
| 977 | 977 | $hashDoComponenteDigital = base64_encode($hashDoComponenteDigital); |
| 978 | - | |
| 978 | + | |
| 979 | 979 | $objDocumento->componenteDigital = new stdClass(); |
| 980 | 980 | $objDocumento->componenteDigital->ordem = 1; |
| 981 | 981 | $objDocumento->componenteDigital->nome = utf8_encode($arrInformacaoArquivo["NOME"]); |
| ... | ... | @@ -1092,7 +1092,7 @@ class ExpedirProcedimentoRN extends InfraRN { |
| 1092 | 1092 | $objDocumentoDTO2 = new DocumentoDTO(); |
| 1093 | 1093 | $objDocumentoDTO2->setDblIdDocumento($objDocumentoDTO->getDblIdDocumento()); |
| 1094 | 1094 | $objDocumentoDTO2->setObjInfraSessao(SessaoSEI::getInstance()); |
| 1095 | - $objDocumentoDTO2->setStrLinkDownload('controlador.php?acao=documento_download_anexo'); | |
| 1095 | + // $objDocumentoDTO2->setStrLinkDownload('controlador.php?acao=documento_download_anexo'); | |
| 1096 | 1096 | |
| 1097 | 1097 | $objDocumentoRN = new DocumentoRN(); |
| 1098 | 1098 | $strResultado = $objDocumentoRN->consultarHtmlFormulario($objDocumentoDTO2); |
| ... | ... | @@ -1102,7 +1102,7 @@ class ExpedirProcedimentoRN extends InfraRN { |
| 1102 | 1102 | $arrInformacaoArquivo['TAMANHO'] = strlen($strResultado); |
| 1103 | 1103 | $arrInformacaoArquivo['MIME_TYPE'] = 'text/html'; |
| 1104 | 1104 | $arrInformacaoArquivo['ID_ANEXO'] = null; |
| 1105 | - | |
| 1105 | + | |
| 1106 | 1106 | } |
| 1107 | 1107 | |
| 1108 | 1108 | return $arrInformacaoArquivo; |
| ... | ... | @@ -1793,7 +1793,7 @@ class ExpedirProcedimentoRN extends InfraRN { |
| 1793 | 1793 | * @param int $parNumIdTramite |
| 1794 | 1794 | * @return bool |
| 1795 | 1795 | */ |
| 1796 | - private function receberReciboDeEnvio($parNumIdTramite){ | |
| 1796 | + protected function receberReciboDeEnvioControlado($parNumIdTramite){ | |
| 1797 | 1797 | |
| 1798 | 1798 | if (empty($parNumIdTramite)) { |
| 1799 | 1799 | return false; |
| ... | ... | @@ -1808,14 +1808,32 @@ class ExpedirProcedimentoRN extends InfraRN { |
| 1808 | 1808 | return false; |
| 1809 | 1809 | } |
| 1810 | 1810 | |
| 1811 | - $objReciboTramiteEnviadoDTO = $this->objProcessoEletronicoRN->receberReciboDeEnvio($parNumIdTramite); | |
| 1811 | + $objReciboEnvio = $this->objProcessoEletronicoRN->receberReciboDeEnvio($parNumIdTramite); | |
| 1812 | + $objDateTime = new DateTime($objReciboEnvio->reciboDeEnvio->dataDeRecebimentoDoUltimoComponenteDigital); | |
| 1812 | 1813 | |
| 1813 | - if (empty($objReciboTramiteEnviadoDTO)) { | |
| 1814 | - return false; | |
| 1815 | - } | |
| 1814 | + $objReciboTramiteDTO = new ReciboTramiteEnviadoDTO(); | |
| 1815 | + $objReciboTramiteDTO->setStrNumeroRegistro($objReciboEnvio->reciboDeEnvio->NRE); | |
| 1816 | + $objReciboTramiteDTO->setNumIdTramite($objReciboEnvio->reciboDeEnvio->IDT); | |
| 1817 | + $objReciboTramiteDTO->setDthRecebimento($objDateTime->format('d/m/Y H:i:s')); | |
| 1818 | + $objReciboTramiteDTO->setStrCadeiaCertificado($objReciboEnvio->cadeiaDoCertificado); | |
| 1819 | + $objReciboTramiteDTO->setStrHashAssinatura($objReciboEnvio->hashDaAssinatura); | |
| 1816 | 1820 | |
| 1817 | - $objGenericoBD->cadastrar($objReciboTramiteEnviadoDTO); | |
| 1821 | + $objGenericoBD->cadastrar($objReciboTramiteDTO); | |
| 1818 | 1822 | |
| 1823 | + if($objReciboEnvio->reciboDeEnvio->hashDoComponenteDigital && is_array($objReciboEnvio->reciboDeEnvio->hashDoComponenteDigital)){ | |
| 1824 | + | |
| 1825 | + foreach($objReciboEnvio->reciboDeEnvio->hashDoComponenteDigital as $strHashComponenteDigital){ | |
| 1826 | + | |
| 1827 | + $objReciboTramiteHashDTO = new ReciboTramiteHashDTO(); | |
| 1828 | + $objReciboTramiteHashDTO->setStrNumeroRegistro($objReciboEnvio->reciboDeEnvio->NRE); | |
| 1829 | + $objReciboTramiteHashDTO->setNumIdTramite($objReciboEnvio->reciboDeEnvio->IDT); | |
| 1830 | + $objReciboTramiteHashDTO->setStrHashComponenteDigital($strHashComponenteDigital); | |
| 1831 | + $objReciboTramiteHashDTO->setStrTipoRecibo(ProcessoEletronicoRN::$STA_TIPO_RECIBO_ENVIO); | |
| 1832 | + | |
| 1833 | + $objGenericoBD->cadastrar($objReciboTramiteHashDTO); | |
| 1834 | + } | |
| 1835 | + } | |
| 1836 | + | |
| 1819 | 1837 | return true; |
| 1820 | 1838 | } |
| 1821 | 1839 | ... | ... |
rn/PenAtualizadorRN.php
rn/PenAtualizarSeiRN.php
| ... | ... | @@ -899,5 +899,29 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { |
| 899 | 899 | $objInfraParametro->setValor('PEN_TAMANHO_MAXIMO_DOCUMENTO_EXPEDIDO', 50); |
| 900 | 900 | |
| 901 | 901 | } |
| 902 | + | |
| 903 | + protected function instalarV007R004S005WI002() { | |
| 904 | + | |
| 905 | + $objMetaBD = $this->inicializarObjMetaBanco(); | |
| 906 | + | |
| 907 | + $objMetaBD->criarTabela(array( | |
| 908 | + 'tabela' => 'md_pen_recibo_tramite_hash', | |
| 909 | + 'cols' => array( | |
| 910 | + 'numero_registro'=> array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), | |
| 911 | + 'id_tramite' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), | |
| 912 | + 'tipo_recibo' => array($objMetaBD->tipoTextoFixo(1), PenMetaBD::NNULLO), | |
| 913 | + 'hash_componente_digital ' => array($objMetaBD->tipoTextoVariavel(255), PenMetaBD::NNULLO) | |
| 914 | + ), | |
| 915 | + 'pk' => array('numero_registro', 'id_tramite', 'hash_componente_digital', 'tipo_recibo'), | |
| 916 | + 'fks' => array( | |
| 917 | + 'md_pen_tramite' => array(array('numero_registro', 'id_tramite'), array('numero_registro', 'id_tramite')) | |
| 918 | + ) | |
| 919 | + )); | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + $objMetaBD->adicionarColuna('md_pen_recibo_tramite_recebido', 'cadeia_certificado', $this->inicializarObjMetaBanco()->tipoTextoGrande(), PenMetaBD::SNULLO); | |
| 924 | + | |
| 925 | + } | |
| 902 | 926 | |
| 903 | 927 | } |
| 904 | 928 | \ No newline at end of file | ... | ... |
rn/ProcessoEletronicoRN.php
| ... | ... | @@ -13,13 +13,6 @@ class ProcessoEletronicoRN extends InfraRN { |
| 13 | 13 | public static $TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_EXTERNO = 'PEN_OPERACAO_EXTERNA'; |
| 14 | 14 | public static $TI_PROCESSO_ELETRONICO_PROCESSO_ABORTADO = 'PEN_EXPEDICAO_PROCESSO_ABORTADA'; |
| 15 | 15 | |
| 16 | - /* TAREFAS DE EXPEDIÇÃO DE DOCUMENTOS */ | |
| 17 | - //Está definindo o comportamento para a tarefa $TI_PROCESSO_BLOQUEADO | |
| 18 | - /*public static $TI_PROCESSO_ELETRONICO_DOCUMENTO_EXPEDIDO = 506; | |
| 19 | - public static $TI_PROCESSO_ELETRONICO_DOCUMENTO_RECEBIDO = 507; | |
| 20 | - public static $TI_PROCESSO_ELETRONICO_DOCUMENTO_RETRANSMITIDO = 508; | |
| 21 | - public static $TI_PROCESSO_ELETRONICO_DOCUMENTO_TRAMITE_CANCELADO = 509; | |
| 22 | - public static $TI_PROCESSO_ELETRONICO_DOCUMENTO_TRAMITE_RECUSADO = 510;*/ | |
| 23 | 16 | |
| 24 | 17 | /* NÍVEL DE SIGILO DE PROCESSOS E DOCUMENTOS */ |
| 25 | 18 | public static $STA_SIGILO_PUBLICO = '1'; |
| ... | ... | @@ -37,6 +30,10 @@ class ProcessoEletronicoRN extends InfraRN { |
| 37 | 30 | public static $STA_SITUACAO_TRAMITE_RECUSADO = 8; // Trâmite do processo recusado pelo destinatário (Situações 2, 3, 4) |
| 38 | 31 | public static $STA_SITUACAO_TRAMITE_CIENCIA_RECUSA = 9; // Remetente ciente da recusa do trâmite |
| 39 | 32 | |
| 33 | + public static $STA_TIPO_RECIBO_ENVIO = '1'; // Recibo de envio | |
| 34 | + public static $STA_TIPO_RECIBO_CONCLUSAO_ENVIADO = '2'; // Recibo de recebimento enviado | |
| 35 | + public static $STA_TIPO_RECIBO_CONCLUSAO_RECEBIDO = '3'; // Recibo de recebimento recebido | |
| 36 | + | |
| 40 | 37 | /* OPERAÇÕES DO HISTÓRICO DO PROCESSO */ |
| 41 | 38 | // 02 a 18 estão registrados na tabela rel_tarefa_operacao |
| 42 | 39 | public static $OP_OPERACAO_REGISTRO = "01"; |
| ... | ... | @@ -1156,21 +1153,7 @@ class ProcessoEletronicoRN extends InfraRN { |
| 1156 | 1153 | |
| 1157 | 1154 | $resultado = $this->getObjPenWs()->receberReciboDeTramite($parametro); |
| 1158 | 1155 | |
| 1159 | - $objReciboTramiteDTO = null; | |
| 1160 | - if(isset($resultado)) { | |
| 1161 | - $objConteudoDoReciboDeTramite = $resultado->conteudoDoReciboDeTramite; | |
| 1162 | - $objReciboTramiteDTO = new ReciboTramiteDTO(); | |
| 1163 | - $objReciboTramiteDTO->setStrNumeroRegistro($objConteudoDoReciboDeTramite->recibo->NRE); | |
| 1164 | - $objReciboTramiteDTO->setNumIdTramite($objConteudoDoReciboDeTramite->recibo->IDT); | |
| 1165 | - $objDateTime = new DateTime($objConteudoDoReciboDeTramite->recibo->dataDeRecebimento); | |
| 1166 | - $objReciboTramiteDTO->setDthRecebimento($objDateTime->format('d/m/Y H:i:s')); | |
| 1167 | - //TODO: Avaliar se o resultado corresponde à uma lista de hashs ou apenas um elemento | |
| 1168 | - //$objReciboTramiteDTO->setStrHashComponenteDigital(); | |
| 1169 | - $objReciboTramiteDTO->setStrCadeiaCertificado($objConteudoDoReciboDeTramite->cadeiaDoCertificado); | |
| 1170 | - $objReciboTramiteDTO->setStrHashAssinatura($objConteudoDoReciboDeTramite->hashDaAssinatura); | |
| 1171 | - } | |
| 1172 | - | |
| 1173 | - return $objReciboTramiteDTO; | |
| 1156 | + return $resultado; | |
| 1174 | 1157 | } |
| 1175 | 1158 | catch (\SoapFault $fault) { |
| 1176 | 1159 | $mensagem = $this->tratarFalhaWebService($fault); |
| ... | ... | @@ -1194,19 +1177,7 @@ class ProcessoEletronicoRN extends InfraRN { |
| 1194 | 1177 | |
| 1195 | 1178 | $resultado = $this->getObjPenWs()->receberReciboDeEnvio($parametro); |
| 1196 | 1179 | |
| 1197 | - if ($resultado && $resultado->conteudoDoReciboDeEnvio) { | |
| 1198 | - | |
| 1199 | - $objNodo = $resultado->conteudoDoReciboDeEnvio; | |
| 1200 | - $objReciboTramiteDTO = new ReciboTramiteEnviadoDTO(); | |
| 1201 | - $objReciboTramiteDTO->setStrNumeroRegistro($objNodo->reciboDeEnvio->NRE); | |
| 1202 | - $objReciboTramiteDTO->setNumIdTramite($objNodo->reciboDeEnvio->IDT); | |
| 1203 | - $objDateTime = new DateTime($objNodo->reciboDeEnvio->dataDeRecebimento); | |
| 1204 | - $objReciboTramiteDTO->setDthRecebimento($objDateTime->format('d/m/Y H:i:s')); | |
| 1205 | - $objReciboTramiteDTO->setStrCadeiaCertificado($objNodo->cadeiaDoCertificado); | |
| 1206 | - $objReciboTramiteDTO->setStrHashAssinatura($objNodo->hashDaAssinatura); | |
| 1207 | - | |
| 1208 | - return $objReciboTramiteDTO; | |
| 1209 | - } | |
| 1180 | + return $resultado->conteudoDoReciboDeEnvio; | |
| 1210 | 1181 | } |
| 1211 | 1182 | catch (\SoapFault $fault) { |
| 1212 | 1183 | $mensagem = $this->tratarFalhaWebService($fault); | ... | ... |
rn/ReceberReciboTramiteRN.php
| ... | ... | @@ -117,11 +117,21 @@ class ReceberReciboTramiteRN extends InfraRN |
| 117 | 117 | throw new InfraException('Parâmetro $parNumIdTramite não informado.'); |
| 118 | 118 | } |
| 119 | 119 | |
| 120 | - $objReciboTramiteDTO = $this->objProcessoEletronicoRN->receberReciboDeTramite($parNumIdTramite); | |
| 120 | + $objReciboTramite = $this->objProcessoEletronicoRN->receberReciboDeTramite($parNumIdTramite); | |
| 121 | 121 | |
| 122 | - if (!isset($objReciboTramiteDTO)) { | |
| 122 | + if (!$objReciboTramite) { | |
| 123 | 123 | throw new InfraException("Não foi possível obter recibo de conclusão do trâmite '$parNumIdTramite'"); |
| 124 | 124 | } |
| 125 | + | |
| 126 | + $objReciboTramite = $objReciboTramite->conteudoDoReciboDeTramite; | |
| 127 | + $objDateTime = new DateTime($objReciboTramite->recibo->dataDeRecebimento); | |
| 128 | + | |
| 129 | + $objReciboTramiteDTO = new ReciboTramiteDTO(); | |
| 130 | + $objReciboTramiteDTO->setStrNumeroRegistro($objReciboTramite->recibo->NRE); | |
| 131 | + $objReciboTramiteDTO->setNumIdTramite($objReciboTramite->recibo->IDT); | |
| 132 | + $objReciboTramiteDTO->setDthRecebimento($objDateTime->format('d/m/Y H:i:s')); | |
| 133 | + $objReciboTramiteDTO->setStrCadeiaCertificado($objReciboTramite->cadeiaDoCertificado); | |
| 134 | + $objReciboTramiteDTO->setStrHashAssinatura($objReciboTramite->hashDaAssinatura); | |
| 125 | 135 | |
| 126 | 136 | //Verifica se o trâmite do processo se encontra devidamente registrado no sistema |
| 127 | 137 | $objTramiteDTO = new TramiteDTO(); |
| ... | ... | @@ -144,6 +154,20 @@ class ReceberReciboTramiteRN extends InfraRN |
| 144 | 154 | |
| 145 | 155 | //Armazenar dados do recibo de conclusão do trãmite |
| 146 | 156 | $objReciboTramiteBD->cadastrar($objReciboTramiteDTO); |
| 157 | + | |
| 158 | + if ($objReciboTramite->recibo->hashDoComponenteDigital && is_array($objReciboTramite->recibo->hashDoComponenteDigital)) { | |
| 159 | + foreach ($objReciboTramite->recibo->hashDoComponenteDigital as $strHashComponenteDigital) { | |
| 160 | + | |
| 161 | + $objReciboTramiteHashDTO = new ReciboTramiteHashDTO(); | |
| 162 | + $objReciboTramiteHashDTO->setStrNumeroRegistro($objReciboTramite->recibo->NRE); | |
| 163 | + $objReciboTramiteHashDTO->setNumIdTramite($objReciboTramite->recibo->IDT); | |
| 164 | + $objReciboTramiteHashDTO->setStrHashComponenteDigital($strHashComponenteDigital); | |
| 165 | + $objReciboTramiteHashDTO->setStrTipoRecibo(ProcessoEletronicoRN::$STA_TIPO_RECIBO_CONCLUSAO_RECEBIDO); | |
| 166 | + | |
| 167 | + $objGenericoBD = new GenericoBD($this->getObjInfraIBanco()); | |
| 168 | + $objGenericoBD->cadastrar($objReciboTramiteHashDTO); | |
| 169 | + } | |
| 170 | + } | |
| 147 | 171 | |
| 148 | 172 | //ALTERA O ESTADO DO PROCEDIMENTO |
| 149 | 173 | try { | ... | ... |
rn/ReciboTramiteRN.php
| ... | ... | @@ -37,7 +37,8 @@ class ReciboTramiteRN extends InfraRN { |
| 37 | 37 | $objReciboTramiteDTO->retNumIdTramite(); |
| 38 | 38 | $objReciboTramiteDTO->retDthRecebimento(); |
| 39 | 39 | $objReciboTramiteDTO->retStrHashAssinatura(); |
| 40 | - | |
| 40 | + $objReciboTramiteDTO->retStrCadeiaCertificado(); | |
| 41 | + | |
| 41 | 42 | $objReciboTramiteBD = new ReciboTramiteBD($objInfraIBanco); |
| 42 | 43 | $arrObjDTO = $objReciboTramiteBD->listar($objReciboTramiteDTO); |
| 43 | 44 | break; |
| ... | ... | @@ -49,7 +50,8 @@ class ReciboTramiteRN extends InfraRN { |
| 49 | 50 | $objReciboTramiteDTO->retNumIdTramite(); |
| 50 | 51 | $objReciboTramiteDTO->retDthRecebimento(); |
| 51 | 52 | $objReciboTramiteDTO->retStrHashAssinatura(); |
| 52 | - | |
| 53 | + $objReciboTramiteDTO->retStrCadeiaCertificado(); | |
| 54 | + | |
| 53 | 55 | $objReciboTramiteBD = new ReciboTramiteRecebidoBD($objInfraIBanco); |
| 54 | 56 | $arrObjDTO = $objReciboTramiteBD->listar($objReciboTramiteDTO); |
| 55 | 57 | break; |
| ... | ... | @@ -66,6 +68,7 @@ class ReciboTramiteRN extends InfraRN { |
| 66 | 68 | $objReciboTramiteDTO->retNumIdTramite(); |
| 67 | 69 | $objReciboTramiteDTO->retDthRecebimento(); |
| 68 | 70 | $objReciboTramiteDTO->retStrHashAssinatura(); |
| 71 | + $objReciboTramiteDTO->retStrCadeiaCertificado(); | |
| 69 | 72 | |
| 70 | 73 | $objReciboTramiteBD = new ReciboTramiteRecebidoBD($this->getObjInfraIBanco()); |
| 71 | 74 | $arrObjDTO = $objReciboTramiteBD->listar($objReciboTramiteDTO); | ... | ... |