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 34 $numIdUnidadeAtual = SessaoSEI::getInstance()->getNumIdUnidadeAtual();
35 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 38 return array();
39 39 }
40 40  
41   - $objProcessoEletronicoRN = new ProcessoEletronicoRN();
  41 + $objProcessoEletronicoRN = new ProcessoEletronicoRN();*/
42 42  
43 43  
44 44 //Verifica se o processo encontra-se aberto na unidade atual
... ...
rn/PenTramiteProcessadoRN.php
... ... @@ -80,7 +80,7 @@ class PenTramiteProcessadoRN extends InfraRN {
80 80 if($objDTO->getStrTipo() == self::STR_TIPO_PROCESSO) {
81 81 // Recusa o tramite
82 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 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 54 * Motivo para recusar de tramite de componente digital que não foi enviado
55 55 */
56 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 64 * Motivo para recusar de tramite de componente digital
59 65 */
... ... @@ -63,6 +69,7 @@ class ProcessoEletronicoRN extends InfraRN {
63 69 "01" => "Formato de componente digital não suportado",
64 70 "02" => "Componente digital corrompido",
65 71 "03" => "Falta de componentes digitais",
  72 + "04" => "Espécie documental não mapeada no destinatário",
66 73 "99" => "Outro"
67 74 );
68 75  
... ...
rn/ReceberProcedimentoRN.php
... ... @@ -174,14 +174,7 @@ class ReceberProcedimentoRN extends InfraRN
174 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 180 // @join_tec US008.08 (#23092)
... ... @@ -340,8 +333,8 @@ class ReceberProcedimentoRN extends InfraRN
340 333 // Não achou, ou seja, não esta cadastrado na tabela, então não é
341 334 // aceito nesta unidade como válido
342 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 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 1146 $objProcedimentoDTO->setArrObjDocumentoDTO($arrObjDocumentoDTO);
1145 1147 }
... ...