Commit 7617c570d9a28723a9269f7fef9b45958df98126

Authored by Eduardo Heinske
1 parent e3a01544

Correção do recebimento de documento cancelado, mensagem da recusa e exibição do…

…s botões em caso de configuração errada do barramento
PENIntegracao.php
@@ -34,11 +34,11 @@ class PENIntegracao extends SeiIntegracao { @@ -34,11 +34,11 @@ class PENIntegracao extends SeiIntegracao {
34 $numIdUnidadeAtual = SessaoSEI::getInstance()->getNumIdUnidadeAtual(); 34 $numIdUnidadeAtual = SessaoSEI::getInstance()->getNumIdUnidadeAtual();
35 $objInfraParametro = new InfraParametro(BancoSEI::getInstance()); 35 $objInfraParametro = new InfraParametro(BancoSEI::getInstance());
36 36
37 - if(!file_exists($objInfraParametro->getValor('PEN_LOCALIZACAO_CERTIFICADO_DIGITAL'))){ 37 + /* if(!file_exists($objInfraParametro->getValor('PEN_LOCALIZACAO_CERTIFICADO_DIGITAL'))){
38 return array(); 38 return array();
39 } 39 }
40 40
41 - $objProcessoEletronicoRN = new ProcessoEletronicoRN(); 41 + $objProcessoEletronicoRN = new ProcessoEletronicoRN();*/
42 42
43 43
44 //Verifica se o processo encontra-se aberto na unidade atual 44 //Verifica se o processo encontra-se aberto na unidade atual
rn/PenTramiteProcessadoRN.php
@@ -80,7 +80,7 @@ class PenTramiteProcessadoRN extends InfraRN { @@ -80,7 +80,7 @@ class PenTramiteProcessadoRN extends InfraRN {
80 if($objDTO->getStrTipo() == self::STR_TIPO_PROCESSO) { 80 if($objDTO->getStrTipo() == self::STR_TIPO_PROCESSO) {
81 // Recusa o tramite 81 // Recusa o tramite
82 $objProcessoEletronicoRN = new ProcessoEletronicoRN(); 82 $objProcessoEletronicoRN = new ProcessoEletronicoRN();
83 - $objProcessoEletronicoRN->recusarTramite($dblIdTramite, 'Tramite recusado por falha do destinatário', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_FORMATO); 83 + $objProcessoEletronicoRN->recusarTramite($dblIdTramite, 'Tramite recusado por falha do destinatário', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU);
84 } 84 }
85 return true;// Mente que já foi recebido para não executar novamente 85 return true;// Mente que já foi recebido para não executar novamente
86 } 86 }
rn/ProcessoEletronicoRN.php
@@ -54,6 +54,12 @@ class ProcessoEletronicoRN extends InfraRN { @@ -54,6 +54,12 @@ class ProcessoEletronicoRN extends InfraRN {
54 * Motivo para recusar de tramite de componente digital que não foi enviado 54 * Motivo para recusar de tramite de componente digital que não foi enviado
55 */ 55 */
56 const MTV_RCSR_TRAM_CD_FALTA = '03'; 56 const MTV_RCSR_TRAM_CD_FALTA = '03';
  57 +
  58 + /**
  59 + * Espécie documentoal não mapeada
  60 + */
  61 + const MTV_RCSR_TRAM_CD_ESPECIE_NAO_MAPEADA = '04';
  62 +
57 /** 63 /**
58 * Motivo para recusar de tramite de componente digital 64 * Motivo para recusar de tramite de componente digital
59 */ 65 */
@@ -63,6 +69,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -63,6 +69,7 @@ class ProcessoEletronicoRN extends InfraRN {
63 "01" => "Formato de componente digital não suportado", 69 "01" => "Formato de componente digital não suportado",
64 "02" => "Componente digital corrompido", 70 "02" => "Componente digital corrompido",
65 "03" => "Falta de componentes digitais", 71 "03" => "Falta de componentes digitais",
  72 + "04" => "Espécie documental não mapeada no destinatário",
66 "99" => "Outro" 73 "99" => "Outro"
67 ); 74 );
68 75
rn/ReceberProcedimentoRN.php
@@ -174,14 +174,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -174,14 +174,7 @@ class ReceberProcedimentoRN extends InfraRN
174 $objProcedimentoDTO = $this->registrarProcesso($strNumeroRegistro, $parNumIdentificacaoTramite, $objProcesso, $objMetadadosProcedimento); 174 $objProcedimentoDTO = $this->registrarProcesso($strNumeroRegistro, $parNumIdentificacaoTramite, $objProcesso, $objMetadadosProcedimento);
175 175
176 176
177 - foreach($this->documentosRetirados as $documentoCancelado){  
178 - //Instancia o DTO do protocolo  
179 - $objEntradaCancelarDocumentoAPI = new EntradaCancelarDocumentoAPI();  
180 - $objEntradaCancelarDocumentoAPI->setIdDocumento($documentoCancelado);  
181 - $objEntradaCancelarDocumentoAPI->setMotivo('Cancelado pelo remetente');  
182 -  
183 - $objSeiRN->cancelarDocumento($objEntradaCancelarDocumentoAPI);  
184 - } 177 +
185 178
186 179
187 // @join_tec US008.08 (#23092) 180 // @join_tec US008.08 (#23092)
@@ -340,8 +333,8 @@ class ReceberProcedimentoRN extends InfraRN @@ -340,8 +333,8 @@ class ReceberProcedimentoRN extends InfraRN
340 // Não achou, ou seja, não esta cadastrado na tabela, então não é 333 // Não achou, ou seja, não esta cadastrado na tabela, então não é
341 // aceito nesta unidade como válido 334 // aceito nesta unidade como válido
342 if($numContador <= 0) { 335 if($numContador <= 0) {
343 - $this->objProcessoEletronicoRN->recusarTramite($parNumIdentificacaoTramite, sprintf('Documento do tipo %s não está mapeado', $objDocument->especie->nomeNoProdutor), ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_FORMATO);  
344 - throw new InfraException(sprintf('Documento do tipo %s não está mapeado. Motivo da Recusa no Barramento: %s', $objDocument->especie->nomeNoProdutor, ProcessoEletronicoRN::$MOTIVOS_RECUSA[ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_FORMATO])); 336 + $this->objProcessoEletronicoRN->recusarTramite($parNumIdentificacaoTramite, sprintf('Documento do tipo %s não está mapeado', $objDocument->especie->nomeNoProdutor), ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_ESPECIE_NAO_MAPEADA);
  337 + throw new InfraException(sprintf('Documento do tipo %s não está mapeado. Motivo da Recusa no Barramento: %s', $objDocument->especie->nomeNoProdutor, ProcessoEletronicoRN::$MOTIVOS_RECUSA[ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_ESPECIE_NAO_MAPEADA]));
345 } 338 }
346 } 339 }
347 340
@@ -1140,6 +1133,15 @@ class ReceberProcedimentoRN extends InfraRN @@ -1140,6 +1133,15 @@ class ReceberProcedimentoRN extends InfraRN
1140 } 1133 }
1141 1134
1142 } 1135 }
  1136 +
  1137 + foreach($this->documentosRetirados as $documentoCancelado){
  1138 + //Instancia o DTO do protocolo
  1139 + $objEntradaCancelarDocumentoAPI = new EntradaCancelarDocumentoAPI();
  1140 + $objEntradaCancelarDocumentoAPI->setIdDocumento($documentoCancelado);
  1141 + $objEntradaCancelarDocumentoAPI->setMotivo('Cancelado pelo remetente');
  1142 + $objSeiRN = new SeiRN();
  1143 + $objSeiRN->cancelarDocumento($objEntradaCancelarDocumentoAPI);
  1144 + }
1143 1145
1144 $objProcedimentoDTO->setArrObjDocumentoDTO($arrObjDocumentoDTO); 1146 $objProcedimentoDTO->setArrObjDocumentoDTO($arrObjDocumentoDTO);
1145 } 1147 }