Commit af4117b441d21a4e0b4c30377317cea0a112f3e6

Authored by Gracielle Oliver
1 parent 5e84c862

Update ReceberProcedimentoRN.php

Showing 1 changed file with 133 additions and 131 deletions   Show diff stats
rn/ReceberProcedimentoRN.php
1 <?php 1 <?php
2 require_once dirname(__FILE__) . '/../../../SEI.php'; 2 require_once dirname(__FILE__) . '/../../../SEI.php';
3 3
4 -//TODO: Implementar validação sobre tamanho do documento a ser recebido (Parâmetros SEI) 4 +//TODO: Implementar validação sobre tamanho do documento a ser recebido (Parâmetros SEI)
5 5
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 9
10 private $objProcessoEletronicoRN; 10 private $objProcessoEletronicoRN;
11 private $objInfraParametro; 11 private $objInfraParametro;
@@ -90,14 +90,14 @@ class ReceberProcedimentoRN extends InfraRN @@ -90,14 +90,14 @@ class ReceberProcedimentoRN extends InfraRN
90 error_log(__METHOD__.'('.$parNumIdentificacaoTramite.')'); 90 error_log(__METHOD__.'('.$parNumIdentificacaoTramite.')');
91 91
92 if (!isset($parNumIdentificacaoTramite)) { 92 if (!isset($parNumIdentificacaoTramite)) {
93 - throw new InfraException('Parâmetro $parNumIdentificacaoTramite não informado.'); 93 + throw new InfraException('Parâmetro $parNumIdentificacaoTramite não informado.');
94 } 94 }
95 95
96 96
97 - //TODO: Urgente: Verificar o status do trâmite e verificar se ele já foi salvo na base de dados 97 + //TODO: Urgente: Verificar o status do trâmite e verificar se ele já foi salvo na base de dados
98 $objMetadadosProcedimento = $this->objProcessoEletronicoRN->solicitarMetadados($parNumIdentificacaoTramite); 98 $objMetadadosProcedimento = $this->objProcessoEletronicoRN->solicitarMetadados($parNumIdentificacaoTramite);
99 99
100 - //!Substituir a unidade destinatária para a receptora (!1!) 100 + //!Substituir a unidade destinatária para a receptora (!1!)
101 if (isset($objMetadadosProcedimento->metadados->unidadeReceptora)) { 101 if (isset($objMetadadosProcedimento->metadados->unidadeReceptora)) {
102 $this->destinatarioReal = $objMetadadosProcedimento->metadados->destinatario->numeroDeIdentificacaoDaEstrutura; 102 $this->destinatarioReal = $objMetadadosProcedimento->metadados->destinatario->numeroDeIdentificacaoDaEstrutura;
103 $objMetadadosProcedimento->metadados->destinatario = $objMetadadosProcedimento->metadados->unidadeReceptora; 103 $objMetadadosProcedimento->metadados->destinatario = $objMetadadosProcedimento->metadados->unidadeReceptora;
@@ -108,13 +108,13 @@ class ReceberProcedimentoRN extends InfraRN @@ -108,13 +108,13 @@ class ReceberProcedimentoRN extends InfraRN
108 $strNumeroRegistro = $objMetadadosProcedimento->metadados->NRE; 108 $strNumeroRegistro = $objMetadadosProcedimento->metadados->NRE;
109 $objProcesso = $objMetadadosProcedimento->metadados->processo; 109 $objProcesso = $objMetadadosProcedimento->metadados->processo;
110 110
111 - //Verifica se processo já foi registrado para esse trâmite  
112 - //TODO: Avaliar também processos apensados 111 + //Verifica se processo já foi registrado para esse trâmite
  112 + //TODO: Avaliar também processos apensados
113 if($this->tramiteRegistrado($strNumeroRegistro, $parNumIdentificacaoTramite)) { 113 if($this->tramiteRegistrado($strNumeroRegistro, $parNumIdentificacaoTramite)) {
114 return ; 114 return ;
115 } 115 }
116 116
117 - // Validação dos dados do processo recebido 117 + // Validação dos dados do processo recebido
118 $objInfraException = new InfraException(); 118 $objInfraException = new InfraException();
119 $this->validarDadosDestinatario($objInfraException, $objMetadadosProcedimento); 119 $this->validarDadosDestinatario($objInfraException, $objMetadadosProcedimento);
120 $objInfraException->lancarValidacoes(); 120 $objInfraException->lancarValidacoes();
@@ -123,18 +123,18 @@ class ReceberProcedimentoRN extends InfraRN @@ -123,18 +123,18 @@ class ReceberProcedimentoRN extends InfraRN
123 $arrObjTramite = $this->objProcessoEletronicoRN->consultarTramites($parNumIdentificacaoTramite); 123 $arrObjTramite = $this->objProcessoEletronicoRN->consultarTramites($parNumIdentificacaoTramite);
124 $objTramite = $arrObjTramite[0]; 124 $objTramite = $arrObjTramite[0];
125 125
126 - //Obtém lista de componentes digitais que precisam ser obtidos 126 + //Obtém lista de componentes digitais que precisam ser obtidos
127 if(!is_array($objTramite->componenteDigitalPendenteDeRecebimento)){ 127 if(!is_array($objTramite->componenteDigitalPendenteDeRecebimento)){
128 $objTramite->componenteDigitalPendenteDeRecebimento = array($objTramite->componenteDigitalPendenteDeRecebimento); 128 $objTramite->componenteDigitalPendenteDeRecebimento = array($objTramite->componenteDigitalPendenteDeRecebimento);
129 } 129 }
130 130
131 - //Faz a validação do tamanho e espécie dos componentes digitais 131 + //Faz a validação do tamanho e espécie dos componentes digitais
132 $this->validarComponentesDigitais($objProcesso, $parNumIdentificacaoTramite); 132 $this->validarComponentesDigitais($objProcesso, $parNumIdentificacaoTramite);
133 133
134 - //Faz a validação da extensão dos componentes digitais a serem recebidos 134 + //Faz a validação da extensão dos componentes digitais a serem recebidos
135 $this->validarExtensaoComponentesDigitais($parNumIdentificacaoTramite, $objProcesso); 135 $this->validarExtensaoComponentesDigitais($parNumIdentificacaoTramite, $objProcesso);
136 136
137 - //Faz a validação das permissões de leitura e escrita 137 + //Faz a validação das permissões de leitura e escrita
138 $this->verificarPermissoesDiretorios($parNumIdentificacaoTramite); 138 $this->verificarPermissoesDiretorios($parNumIdentificacaoTramite);
139 139
140 $arrStrNomeDocumento = $this->listarMetaDadosComponentesDigitais($objProcesso); 140 $arrStrNomeDocumento = $this->listarMetaDadosComponentesDigitais($objProcesso);
@@ -142,7 +142,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -142,7 +142,7 @@ class ReceberProcedimentoRN extends InfraRN
142 //Instancia a RN que faz o recebimento dos componentes digitais 142 //Instancia a RN que faz o recebimento dos componentes digitais
143 $receberComponenteDigitalRN = new ReceberComponenteDigitalRN(); 143 $receberComponenteDigitalRN = new ReceberComponenteDigitalRN();
144 144
145 - //Cria o array que receberá os anexos após os arquivos físicos serem salvos 145 + //Cria o array que receberá os anexos após os arquivos físicos serem salvos
146 $arrAnexosComponentes = array(); 146 $arrAnexosComponentes = array();
147 147
148 //Cria o array com a lista de hash 148 //Cria o array com a lista de hash
@@ -159,7 +159,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -159,7 +159,7 @@ class ReceberProcedimentoRN extends InfraRN
159 159
160 //Obter os dados do componente digital 160 //Obter os dados do componente digital
161 $objComponenteDigital = $this->objProcessoEletronicoRN->receberComponenteDigital($parNumIdentificacaoTramite, $componentePendente, $objTramite->protocolo); 161 $objComponenteDigital = $this->objProcessoEletronicoRN->receberComponenteDigital($parNumIdentificacaoTramite, $componentePendente, $objTramite->protocolo);
162 - //Copia o componente para a pasta temporária 162 + //Copia o componente para a pasta temporária
163 $arrAnexosComponentes[$key][$componentePendente] = $receberComponenteDigitalRN->copiarComponenteDigitalPastaTemporaria($objComponenteDigital); 163 $arrAnexosComponentes[$key][$componentePendente] = $receberComponenteDigitalRN->copiarComponenteDigitalPastaTemporaria($objComponenteDigital);
164 $arrAnexosComponentes[$key]['recebido'] = false; 164 $arrAnexosComponentes[$key]['recebido'] = false;
165 165
@@ -177,7 +177,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -177,7 +177,7 @@ class ReceberProcedimentoRN extends InfraRN
177 $arrObjTramite = $this->objProcessoEletronicoRN->consultarTramites($parNumIdentificacaoTramite); 177 $arrObjTramite = $this->objProcessoEletronicoRN->consultarTramites($parNumIdentificacaoTramite);
178 $objTramite = $arrObjTramite[0]; 178 $objTramite = $arrObjTramite[0];
179 179
180 - //Verifica se o trâmite está recusado 180 + //Verifica se o trâmite está recusado
181 if($objTramite->situacaoAtual == ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO) { 181 if($objTramite->situacaoAtual == ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO) {
182 return; 182 return;
183 } 183 }
@@ -192,11 +192,11 @@ class ReceberProcedimentoRN extends InfraRN @@ -192,11 +192,11 @@ class ReceberProcedimentoRN extends InfraRN
192 $this->objProcedimentoAndamentoRN->setOpts($objProcedimentoDTO->getDblIdProcedimento(), $parNumIdentificacaoTramite, ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO)); 192 $this->objProcedimentoAndamentoRN->setOpts($objProcedimentoDTO->getDblIdProcedimento(), $parNumIdentificacaoTramite, ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO));
193 $this->objProcedimentoAndamentoRN->cadastrar('Obtendo metadados do processo', 'S'); 193 $this->objProcedimentoAndamentoRN->cadastrar('Obtendo metadados do processo', 'S');
194 194
195 - //Verificar se procedimento já existia na base de dados do sistema 195 + //Verificar se procedimento já existia na base de dados do sistema
196 //$dblIdProcedimento = $this->consultarProcedimentoExistente($strNumeroRegistro, $strProtocolo); 196 //$dblIdProcedimento = $this->consultarProcedimentoExistente($strNumeroRegistro, $strProtocolo);
197 197
198 //if(isset($dblIdProcedimento)){ 198 //if(isset($dblIdProcedimento)){
199 - //TODO: Tratar situação em que o processo (NUP) já existia na base do sistema mas não havia nenhum NRE registrado para ele 199 + //TODO: Tratar situação em que o processo (NUP) já existia na base do sistema mas não havia nenhum NRE registrado para ele
200 // $objProcedimentoDTO = $this->atualizarProcedimento($dblIdProcedimento, $objMetadadosProcedimento, $objProcesso); 200 // $objProcedimentoDTO = $this->atualizarProcedimento($dblIdProcedimento, $objMetadadosProcedimento, $objProcesso);
201 //} 201 //}
202 //else { 202 //else {
@@ -213,11 +213,11 @@ class ReceberProcedimentoRN extends InfraRN @@ -213,11 +213,11 @@ class ReceberProcedimentoRN extends InfraRN
213 213
214 214
215 215
216 - //TODO: Passar implementação para outra classe de negócio  
217 - //Verifica se o tramite se encontra na situação correta 216 + //TODO: Passar implementação para outra classe de negócio
  217 + //Verifica se o tramite se encontra na situação correta
218 $arrObjTramite = $this->objProcessoEletronicoRN->consultarTramites($parNumIdentificacaoTramite); 218 $arrObjTramite = $this->objProcessoEletronicoRN->consultarTramites($parNumIdentificacaoTramite);
219 if(!isset($arrObjTramite) || count($arrObjTramite) != 1) { 219 if(!isset($arrObjTramite) || count($arrObjTramite) != 1) {
220 - throw new InfraException("Trâmite não pode ser localizado pelo identificado $parNumIdentificacaoTramite."); 220 + throw new InfraException("Trâmite não pode ser localizado pelo identificado $parNumIdentificacaoTramite.");
221 } 221 }
222 222
223 223
@@ -291,7 +291,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -291,7 +291,7 @@ class ReceberProcedimentoRN extends InfraRN
291 } 291 }
292 292
293 /** 293 /**
294 - * Retorna um array com alguns metadados, onde o indice de é o hash do arquivo 294 + * Retorna um array com alguns metadados, onde o indice de é o hash do arquivo
295 * 295 *
296 * @return array[String] 296 * @return array[String]
297 */ 297 */
@@ -328,7 +328,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -328,7 +328,7 @@ class ReceberProcedimentoRN extends InfraRN
328 } 328 }
329 329
330 /** 330 /**
331 - * Valida cada componente digital, se não algum não for aceito recusa o tramite 331 + * Valida cada componente digital, se não algum não for aceito recusa o tramite
332 * do procedimento para esta unidade 332 * do procedimento para esta unidade
333 */ 333 */
334 private function validarComponentesDigitais($objProcesso, $parNumIdentificacaoTramite){ 334 private function validarComponentesDigitais($objProcesso, $parNumIdentificacaoTramite){
@@ -344,11 +344,11 @@ class ReceberProcedimentoRN extends InfraRN @@ -344,11 +344,11 @@ class ReceberProcedimentoRN extends InfraRN
344 $objProcessoEletronicoDB = new PenRelTipoDocMapRecebidoBD(BancoSEI::getInstance()); 344 $objProcessoEletronicoDB = new PenRelTipoDocMapRecebidoBD(BancoSEI::getInstance());
345 $numContador = (integer)$objProcessoEletronicoDB->contar($objPenRelTipoDocMapEnviadoDTO); 345 $numContador = (integer)$objProcessoEletronicoDB->contar($objPenRelTipoDocMapEnviadoDTO);
346 346
347 - // Não achou, ou seja, não esta cadastrado na tabela, então não é  
348 - // aceito nesta unidade como válido 347 + // Não achou, ou seja, não esta cadastrado na tabela, então não é
  348 + // aceito nesta unidade como válido
349 if($numContador <= 0) { 349 if($numContador <= 0) {
350 - $this->objProcessoEletronicoRN->recusarTramite($parNumIdentificacaoTramite, sprintf('Documento do tipo %s não está mapeado', utf8_decode($objDocument->especie->nomeNoProdutor)), ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_ESPECIE_NAO_MAPEADA);  
351 - 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])); 350 + $this->objProcessoEletronicoRN->recusarTramite($parNumIdentificacaoTramite, sprintf('Documento do tipo %s não está mapeado', utf8_decode($objDocument->especie->nomeNoProdutor)), ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_ESPECIE_NAO_MAPEADA);
  351 + 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]));
352 } 352 }
353 } 353 }
354 354
@@ -362,15 +362,15 @@ class ReceberProcedimentoRN extends InfraRN @@ -362,15 +362,15 @@ class ReceberProcedimentoRN extends InfraRN
362 362
363 if (is_null($objDocument->componenteDigital->tamanhoEmBytes) || $objDocument->componenteDigital->tamanhoEmBytes == 0){ 363 if (is_null($objDocument->componenteDigital->tamanhoEmBytes) || $objDocument->componenteDigital->tamanhoEmBytes == 0){
364 364
365 - throw new InfraException('Tamanho de componente digital não informado.', null, 'RECUSA: '.ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU); 365 + throw new InfraException('Tamanho de componente digital não informado.', null, 'RECUSA: '.ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU);
366 366
367 } 367 }
368 368
369 if($objDocument->componenteDigital->tamanhoEmBytes > ($numTamDocExterno * 1024 * 1024)){ 369 if($objDocument->componenteDigital->tamanhoEmBytes > ($numTamDocExterno * 1024 * 1024)){
370 370
371 $numTamanhoMb = $objDocument->componenteDigital->tamanhoEmBytes / ( 1024 * 1024); 371 $numTamanhoMb = $objDocument->componenteDigital->tamanhoEmBytes / ( 1024 * 1024);
372 - $this->objProcessoEletronicoRN->recusarTramite($parNumIdentificacaoTramite, 'Componente digital não pode ultrapassar '.$numTamDocExterno.', o tamanho do anexo é '.$numTamanhoMb.' .', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU);  
373 - throw new InfraException('Componente digital não pode ultrapassar '.$numTamDocExterno.', o tamanho do anexo é '.$numTamanhoMb); 372 + $this->objProcessoEletronicoRN->recusarTramite($parNumIdentificacaoTramite, 'Componente digital não pode ultrapassar '.$numTamDocExterno.', o tamanho do anexo é '.$numTamanhoMb.' .', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU);
  373 + throw new InfraException('Componente digital não pode ultrapassar '.$numTamDocExterno.', o tamanho do anexo é '.$numTamanhoMb);
374 374
375 } 375 }
376 } 376 }
@@ -382,22 +382,22 @@ class ReceberProcedimentoRN extends InfraRN @@ -382,22 +382,22 @@ class ReceberProcedimentoRN extends InfraRN
382 { 382 {
383 383
384 384
385 - // Validação dos dados do processo recebido 385 + // Validação dos dados do processo recebido
386 $objInfraException = new InfraException(); 386 $objInfraException = new InfraException();
387 $this->validarDadosProcesso($objInfraException, $parObjProcesso); 387 $this->validarDadosProcesso($objInfraException, $parObjProcesso);
388 $this->validarDadosDocumentos($objInfraException, $parObjProcesso); 388 $this->validarDadosDocumentos($objInfraException, $parObjProcesso);
389 389
390 - //TODO: Regra de Negócio - Processos recebidos pelo Barramento não poderão disponibilizar a opção de reordenação e cancelamento de documentos  
391 - //para o usuário final, mesmo possuindo permissão para isso 390 + //TODO: Regra de Negócio - Processos recebidos pelo Barramento não poderão disponibilizar a opção de reordenação e cancelamento de documentos
  391 + //para o usuário final, mesmo possuindo permissão para isso
392 392
393 $objInfraException->lancarValidacoes(); 393 $objInfraException->lancarValidacoes();
394 394
395 - //Verificar se procedimento já existia na base de dados do sistema 395 + //Verificar se procedimento já existia na base de dados do sistema
396 $dblIdProcedimento = $this->consultarProcedimentoExistente($parStrNumeroRegistro, $parObjProcesso->protocolo); 396 $dblIdProcedimento = $this->consultarProcedimentoExistente($parStrNumeroRegistro, $parObjProcesso->protocolo);
397 397
398 if(isset($dblIdProcedimento)){ 398 if(isset($dblIdProcedimento)){
399 399
400 - //TODO: Tratar situação em que o processo (NUP) já existia na base do sistema mas não havia nenhum NRE registrado para ele 400 + //TODO: Tratar situação em que o processo (NUP) já existia na base do sistema mas não havia nenhum NRE registrado para ele
401 $objProcedimentoDTO = $this->atualizarProcedimento($dblIdProcedimento, $parObjMetadadosProcedimento, $parObjProcesso); 401 $objProcedimentoDTO = $this->atualizarProcedimento($dblIdProcedimento, $parObjMetadadosProcedimento, $parObjProcesso);
402 } 402 }
403 else { 403 else {
@@ -441,7 +441,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -441,7 +441,7 @@ class ReceberProcedimentoRN extends InfraRN
441 $objProcessoEletronicoDTO->retDblIdProcedimento(); 441 $objProcessoEletronicoDTO->retDblIdProcedimento();
442 $objProcessoEletronicoDTO->setStrNumeroRegistro($parStrNumeroRegistro); 442 $objProcessoEletronicoDTO->setStrNumeroRegistro($parStrNumeroRegistro);
443 443
444 - //TODO: Manter o padrão o sistema em chamar uma classe de regra de negócio (RN) e não diretamente um classe BD 444 + //TODO: Manter o padrão o sistema em chamar uma classe de regra de negócio (RN) e não diretamente um classe BD
445 $objProcessoEletronicoBD = new ProcessoEletronicoBD($this->getObjInfraIBanco()); 445 $objProcessoEletronicoBD = new ProcessoEletronicoBD($this->getObjInfraIBanco());
446 $objProcessoEletronicoDTO = $objProcessoEletronicoBD->consultar($objProcessoEletronicoDTO); 446 $objProcessoEletronicoDTO = $objProcessoEletronicoBD->consultar($objProcessoEletronicoDTO);
447 447
@@ -456,14 +456,16 @@ class ReceberProcedimentoRN extends InfraRN @@ -456,14 +456,16 @@ class ReceberProcedimentoRN extends InfraRN
456 456
457 457
458 if(!isset($parDblIdProcedimento)){ 458 if(!isset($parDblIdProcedimento)){
459 - throw new InfraException('Parâmetro $parDblIdProcedimento não informado.'); 459 + throw new InfraException('Parâmetro $parDblIdProcedimento não informado.');
460 } 460 }
461 461
462 if(!isset($objMetadadosProcedimento)){ 462 if(!isset($objMetadadosProcedimento)){
463 - throw new InfraException('Parâmetro $objMetadadosProcedimento não informado.'); 463 + throw new InfraException('Parâmetro $objMetadadosProcedimento não informado.');
464 } 464 }
  465 +
  466 + $objDestinatario = $objMetadadosProcedimento->metadados->destinatario;
465 467
466 - //TODO: Refatorar código para criar método de pesquisa do procedimento e reutilizá-la 468 + //TODO: Refatorar código para criar método de pesquisa do procedimento e reutilizá-la
467 469
468 //$objProcedimentoDTO = new ProcedimentoDTO(); 470 //$objProcedimentoDTO = new ProcedimentoDTO();
469 //$objProcedimentoDTO->setDblIdProcedimento($parDblIdProcedimento); 471 //$objProcedimentoDTO->setDblIdProcedimento($parDblIdProcedimento);
@@ -475,7 +477,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -475,7 +477,7 @@ class ReceberProcedimentoRN extends InfraRN
475 //$arrObjProcedimentoDTO = $objProcedimentoRN->listarCompleto($objProcedimentoDTO); 477 //$arrObjProcedimentoDTO = $objProcedimentoRN->listarCompleto($objProcedimentoDTO);
476 478
477 //if(count($arrObjProcedimentoDTO) == 0){ 479 //if(count($arrObjProcedimentoDTO) == 0){
478 - // throw new InfraException('Processo não pode ser localizado. ('.$parDblIdProcedimento.')'); 480 + // throw new InfraException('Processo não pode ser localizado. ('.$parDblIdProcedimento.')');
479 //} 481 //}
480 482
481 //$objProcedimentoDTO = $arrObjProcedimentoDTO[0]; 483 //$objProcedimentoDTO = $arrObjProcedimentoDTO[0];
@@ -535,14 +537,14 @@ class ReceberProcedimentoRN extends InfraRN @@ -535,14 +537,14 @@ class ReceberProcedimentoRN extends InfraRN
535 $objEntradaDesbloquearProcessoAPI->setIdProcedimento($parDblIdProcedimento); 537 $objEntradaDesbloquearProcessoAPI->setIdProcedimento($parDblIdProcedimento);
536 $objSeiRN->desbloquearProcesso($objEntradaDesbloquearProcessoAPI); 538 $objSeiRN->desbloquearProcesso($objEntradaDesbloquearProcessoAPI);
537 539
538 - //TODO: Obter código da unidade através de mapeamento entre SEI e Barramento 540 + //TODO: Obter código da unidade através de mapeamento entre SEI e Barramento
539 $objUnidadeDTO = $this->atribuirDadosUnidade($objProcedimentoDTO, $objDestinatario); 541 $objUnidadeDTO = $this->atribuirDadosUnidade($objProcedimentoDTO, $objDestinatario);
540 542
541 $this->atribuirDocumentos($objProcedimentoDTO, $objProcesso, $objUnidadeDTO, $objMetadadosProcedimento); 543 $this->atribuirDocumentos($objProcedimentoDTO, $objProcesso, $objUnidadeDTO, $objMetadadosProcedimento);
542 $this->registrarProcedimentoNaoVisualizado($objProcedimentoDTO); 544 $this->registrarProcedimentoNaoVisualizado($objProcedimentoDTO);
543 545
544 - //TODO: Avaliar necessidade de restringir referência circular entre processos  
545 - //TODO: Registrar que o processo foi recebido com outros apensados. Necessário para posterior reenvio 546 + //TODO: Avaliar necessidade de restringir referência circular entre processos
  547 + //TODO: Registrar que o processo foi recebido com outros apensados. Necessário para posterior reenvio
546 $this->atribuirProcessosApensados($objProcedimentoDTO, $objProcesso->processoApensado); 548 $this->atribuirProcessosApensados($objProcedimentoDTO, $objProcesso->processoApensado);
547 549
548 //TODO: Finalizar o envio do documento para a respectiva unidade 550 //TODO: Finalizar o envio do documento para a respectiva unidade
@@ -565,11 +567,11 @@ class ReceberProcedimentoRN extends InfraRN @@ -565,11 +567,11 @@ class ReceberProcedimentoRN extends InfraRN
565 private function gerarProcedimento($objMetadadosProcedimento, $objProcesso){ 567 private function gerarProcedimento($objMetadadosProcedimento, $objProcesso){
566 568
567 if(!isset($objMetadadosProcedimento)){ 569 if(!isset($objMetadadosProcedimento)){
568 - throw new InfraException('Parâmetro $objMetadadosProcedimento não informado.'); 570 + throw new InfraException('Parâmetro $objMetadadosProcedimento não informado.');
569 } 571 }
570 572
571 - //TODO: Usar dados do destinatário em outro método específico para envio  
572 - // Dados do procedimento enviados pelos órgão externo integrado ao PEN 573 + //TODO: Usar dados do destinatário em outro método específico para envio
  574 + // Dados do procedimento enviados pelos órgão externo integrado ao PEN
573 //$objProcesso = $objMetadadosProcedimento->metadados->processo; 575 //$objProcesso = $objMetadadosProcedimento->metadados->processo;
574 $objRemetente = $objMetadadosProcedimento->metadados->remetente; 576 $objRemetente = $objMetadadosProcedimento->metadados->remetente;
575 $objDestinatario = $objMetadadosProcedimento->metadados->destinatario; 577 $objDestinatario = $objMetadadosProcedimento->metadados->destinatario;
@@ -578,8 +580,8 @@ class ReceberProcedimentoRN extends InfraRN @@ -578,8 +580,8 @@ class ReceberProcedimentoRN extends InfraRN
578 //REMOVER APOS TESTES DO SISTEMA 580 //REMOVER APOS TESTES DO SISTEMA
579 //$objProcesso->protocolo = rand(100000000, 999999999); 581 //$objProcesso->protocolo = rand(100000000, 999999999);
580 582
581 - //Atribuição de dados do protocolo  
582 - //TODO: Validar cada uma das informações de entrada do webservice 583 + //Atribuição de dados do protocolo
  584 + //TODO: Validar cada uma das informações de entrada do webservice
583 $objProtocoloDTO = new ProtocoloDTO(); 585 $objProtocoloDTO = new ProtocoloDTO();
584 $objProtocoloDTO->setDblIdProtocolo(null); 586 $objProtocoloDTO->setDblIdProtocolo(null);
585 $objProtocoloDTO->setStrDescricao(utf8_decode($objProcesso->descricao)); 587 $objProtocoloDTO->setStrDescricao(utf8_decode($objProcesso->descricao));
@@ -614,12 +616,12 @@ class ReceberProcedimentoRN extends InfraRN @@ -614,12 +616,12 @@ class ReceberProcedimentoRN extends InfraRN
614 616
615 617
616 618
617 - $strDescricao = sprintf('Tipo de processo no órgão de origem: %s', utf8_decode($objProcesso->processoDeNegocio)).PHP_EOL; 619 + $strDescricao = sprintf('Tipo de processo no órgão de origem: %s', utf8_decode($objProcesso->processoDeNegocio)).PHP_EOL;
618 $strDescricao .= $objProcesso->observacao; 620 $strDescricao .= $objProcesso->observacao;
619 621
620 $objObservacaoDTO = new ObservacaoDTO(); 622 $objObservacaoDTO = new ObservacaoDTO();
621 623
622 - //!Criação da observação de aviso para qual é a real unidade emitida (!2!) 624 + //!Criação da observação de aviso para qual é a real unidade emitida (!2!)
623 if ($this->destinatarioReal) { 625 if ($this->destinatarioReal) {
624 $objUnidadeDTO = new PenUnidadeDTO(); 626 $objUnidadeDTO = new PenUnidadeDTO();
625 $objUnidadeDTO->setNumIdUnidadeRH($this->destinatarioReal); 627 $objUnidadeDTO->setNumIdUnidadeRH($this->destinatarioReal);
@@ -637,8 +639,8 @@ class ReceberProcedimentoRN extends InfraRN @@ -637,8 +639,8 @@ class ReceberProcedimentoRN extends InfraRN
637 639
638 $objProtocoloDTO->setArrObjObservacaoDTO(array($objObservacaoDTO)); 640 $objProtocoloDTO->setArrObjObservacaoDTO(array($objObservacaoDTO));
639 641
640 - //Atribuição de dados do procedimento  
641 - //TODO: Validar cada uma das informações de entrada do webservice 642 + //Atribuição de dados do procedimento
  643 + //TODO: Validar cada uma das informações de entrada do webservice
642 $objProcedimentoDTO = new ProcedimentoDTO(); 644 $objProcedimentoDTO = new ProcedimentoDTO();
643 $objProcedimentoDTO->setDblIdProcedimento(null); 645 $objProcedimentoDTO->setDblIdProcedimento(null);
644 $objProcedimentoDTO->setObjProtocoloDTO($objProtocoloDTO); 646 $objProcedimentoDTO->setObjProtocoloDTO($objProtocoloDTO);
@@ -649,12 +651,12 @@ class ReceberProcedimentoRN extends InfraRN @@ -649,12 +651,12 @@ class ReceberProcedimentoRN extends InfraRN
649 // $objProcedimentoDTO->setNumVersaoLock(0); //TODO: Avaliar o comportamento desse campo no cadastro do processo 651 // $objProcedimentoDTO->setNumVersaoLock(0); //TODO: Avaliar o comportamento desse campo no cadastro do processo
650 $objProcedimentoDTO->setArrObjDocumentoDTO(array()); 652 $objProcedimentoDTO->setArrObjDocumentoDTO(array());
651 653
652 - //TODO: Identificar o tipo de procedimento correto para atribuição ao novo processo 654 + //TODO: Identificar o tipo de procedimento correto para atribuição ao novo processo
653 $objPenParametroRN = new PenParametroRN(); 655 $objPenParametroRN = new PenParametroRN();
654 $numIdTipoProcedimento = $objPenParametroRN->getParametro('PEN_TIPO_PROCESSO_EXTERNO'); 656 $numIdTipoProcedimento = $objPenParametroRN->getParametro('PEN_TIPO_PROCESSO_EXTERNO');
655 $this->atribuirTipoProcedimento($objProcedimentoDTO, $numIdTipoProcedimento, $objProcesso->processoDeNegocio); 657 $this->atribuirTipoProcedimento($objProcedimentoDTO, $numIdTipoProcedimento, $objProcesso->processoDeNegocio);
656 658
657 - //TODO: Obter código da unidade através de mapeamento entre SEI e Barramento 659 + //TODO: Obter código da unidade através de mapeamento entre SEI e Barramento
658 $objUnidadeDTO = $this->atribuirDadosUnidade($objProcedimentoDTO, $objDestinatario); 660 $objUnidadeDTO = $this->atribuirDadosUnidade($objProcedimentoDTO, $objDestinatario);
659 661
660 //TODO: Tratar processamento de atributos procedimento_cadastro:177 662 //TODO: Tratar processamento de atributos procedimento_cadastro:177
@@ -668,7 +670,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -668,7 +670,7 @@ class ReceberProcedimentoRN extends InfraRN
668 670
669 671
670 672
671 - //TODO:Adicionar demais informações do processo 673 + //TODO:Adicionar demais informações do processo
672 //<protocoloAnterior> 674 //<protocoloAnterior>
673 //<historico> 675 //<historico>
674 676
@@ -677,11 +679,11 @@ class ReceberProcedimentoRN extends InfraRN @@ -677,11 +679,11 @@ class ReceberProcedimentoRN extends InfraRN
677 //TODO: Avaliar necessidade de tal recurso 679 //TODO: Avaliar necessidade de tal recurso
678 //FeedSEIProtocolos::getInstance()->setBolAcumularFeeds(true); 680 //FeedSEIProtocolos::getInstance()->setBolAcumularFeeds(true);
679 681
680 - //TODO: Analisar impacto do parâmetro SEI_HABILITAR_NUMERO_PROCESSO_INFORMADO no recebimento do processo 682 + //TODO: Analisar impacto do parâmetro SEI_HABILITAR_NUMERO_PROCESSO_INFORMADO no recebimento do processo
681 //$objSeiRN = new SeiRN(); 683 //$objSeiRN = new SeiRN();
682 //$objWSRetornoGerarProcedimentoDTO = $objSeiRN->gerarProcedimento($objWSEntradaGerarProcedimentoDTO); 684 //$objWSRetornoGerarProcedimentoDTO = $objSeiRN->gerarProcedimento($objWSEntradaGerarProcedimentoDTO);
683 685
684 - //TODO: Finalizar criação do procedimento 686 + //TODO: Finalizar criação do procedimento
685 $objProcedimentoRN = new ProcedimentoRN(); 687 $objProcedimentoRN = new ProcedimentoRN();
686 $objProcedimentoDTOGerado = $objProcedimentoRN->gerarRN0156($objProcedimentoDTO); 688 $objProcedimentoDTOGerado = $objProcedimentoRN->gerarRN0156($objProcedimentoDTO);
687 $objProcedimentoDTO->setDblIdProcedimento($objProcedimentoDTOGerado->getDblIdProcedimento()); 689 $objProcedimentoDTO->setDblIdProcedimento($objProcedimentoDTOGerado->getDblIdProcedimento());
@@ -690,8 +692,8 @@ class ReceberProcedimentoRN extends InfraRN @@ -690,8 +692,8 @@ class ReceberProcedimentoRN extends InfraRN
690 $this->atribuirDocumentos($objProcedimentoDTO, $objProcesso, $objUnidadeDTO, $objMetadadosProcedimento); 692 $this->atribuirDocumentos($objProcedimentoDTO, $objProcesso, $objUnidadeDTO, $objMetadadosProcedimento);
691 $this->registrarProcedimentoNaoVisualizado($objProcedimentoDTOGerado); 693 $this->registrarProcedimentoNaoVisualizado($objProcedimentoDTOGerado);
692 694
693 - //TODO: Avaliar necessidade de restringir referência circular entre processos  
694 - //TODO: Registrar que o processo foi recebido com outros apensados. Necessário para posterior reenvio 695 + //TODO: Avaliar necessidade de restringir referência circular entre processos
  696 + //TODO: Registrar que o processo foi recebido com outros apensados. Necessário para posterior reenvio
695 $this->atribuirProcessosApensados($objProcedimentoDTO, $objProcesso->processoApensado); 697 $this->atribuirProcessosApensados($objProcedimentoDTO, $objProcesso->processoApensado);
696 698
697 //TODO: Finalizar o envio do documento para a respectiva unidade 699 //TODO: Finalizar o envio do documento para a respectiva unidade
@@ -712,7 +714,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -712,7 +714,7 @@ class ReceberProcedimentoRN extends InfraRN
712 714
713 private function removerAndamentosProcedimento($parObjProtocoloDTO) 715 private function removerAndamentosProcedimento($parObjProtocoloDTO)
714 { 716 {
715 - //TODO: Remover apenas as atividades geradas pelo recebimento do processo, não as atividades geradas anteriormente 717 + //TODO: Remover apenas as atividades geradas pelo recebimento do processo, não as atividades geradas anteriormente
716 $objAtividadeDTO = new AtividadeDTO(); 718 $objAtividadeDTO = new AtividadeDTO();
717 $objAtividadeDTO->retNumIdAtividade(); 719 $objAtividadeDTO->retNumIdAtividade();
718 $objAtividadeDTO->setDblIdProtocolo($parObjProtocoloDTO->getDblIdProcedimento()); 720 $objAtividadeDTO->setDblIdProtocolo($parObjProtocoloDTO->getDblIdProcedimento());
@@ -725,18 +727,18 @@ class ReceberProcedimentoRN extends InfraRN @@ -725,18 +727,18 @@ class ReceberProcedimentoRN extends InfraRN
725 private function registrarAndamentoRecebimentoProcesso(ProcedimentoDTO $objProcedimentoDTO, $parObjMetadadosProcedimento) 727 private function registrarAndamentoRecebimentoProcesso(ProcedimentoDTO $objProcedimentoDTO, $parObjMetadadosProcedimento)
726 { 728 {
727 //Processo recebido da entidade @ENTIDADE_ORIGEM@ - @REPOSITORIO_ORIGEM@ 729 //Processo recebido da entidade @ENTIDADE_ORIGEM@ - @REPOSITORIO_ORIGEM@
728 - //TODO: Atribuir atributos necessários para formação da mensagem do andamento  
729 - //TODO: Especificar quais andamentos serão registrados 730 + //TODO: Atribuir atributos necessários para formação da mensagem do andamento
  731 + //TODO: Especificar quais andamentos serão registrados
730 $objRemetente = $parObjMetadadosProcedimento->metadados->remetente; 732 $objRemetente = $parObjMetadadosProcedimento->metadados->remetente;
731 $objProcesso = $objMetadadosProcedimento->metadados->processo; 733 $objProcesso = $objMetadadosProcedimento->metadados->processo;
732 734
733 $arrObjAtributoAndamentoDTO = array(); 735 $arrObjAtributoAndamentoDTO = array();
734 736
735 - //TODO: Otimizar código. Pesquisar 1 único elemento no barramento de serviços 737 + //TODO: Otimizar código. Pesquisar 1 único elemento no barramento de serviços
736 $objRepositorioDTO = $this->objProcessoEletronicoRN->consultarRepositoriosDeEstruturas( 738 $objRepositorioDTO = $this->objProcessoEletronicoRN->consultarRepositoriosDeEstruturas(
737 $objRemetente->identificacaoDoRepositorioDeEstruturas); 739 $objRemetente->identificacaoDoRepositorioDeEstruturas);
738 740
739 - //TODO: Otimizar código. Apenas buscar no barramento os dados da estrutura 1 única vez (AtribuirRemetente também utiliza) 741 + //TODO: Otimizar código. Apenas buscar no barramento os dados da estrutura 1 única vez (AtribuirRemetente também utiliza)
740 $objEstrutura = $this->objProcessoEletronicoRN->consultarEstrutura( 742 $objEstrutura = $this->objProcessoEletronicoRN->consultarEstrutura(
741 $objRemetente->identificacaoDoRepositorioDeEstruturas, 743 $objRemetente->identificacaoDoRepositorioDeEstruturas,
742 $objRemetente->numeroDeIdentificacaoDaEstrutura, 744 $objRemetente->numeroDeIdentificacaoDaEstrutura,
@@ -805,7 +807,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -805,7 +807,7 @@ class ReceberProcedimentoRN extends InfraRN
805 $objAtividadeRN->gerarInternaRN0727($objAtividadeDTO); 807 $objAtividadeRN->gerarInternaRN0727($objAtividadeDTO);
806 808
807 809
808 - //Cadastro das atividades para quando o destinatário é desviado pelo receptor (!3!) 810 + //Cadastro das atividades para quando o destinatário é desviado pelo receptor (!3!)
809 if ($this->destinatarioReal) { 811 if ($this->destinatarioReal) {
810 $objUnidadeDTO = new PenUnidadeDTO(); 812 $objUnidadeDTO = new PenUnidadeDTO();
811 $objUnidadeDTO->setNumIdUnidadeRH($this->destinatarioReal); 813 $objUnidadeDTO->setNumIdUnidadeRH($this->destinatarioReal);
@@ -845,7 +847,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -845,7 +847,7 @@ class ReceberProcedimentoRN extends InfraRN
845 $arrObjParticipantesDTO = $objProtocoloDTO->getArrObjParticipanteDTO(); 847 $arrObjParticipantesDTO = $objProtocoloDTO->getArrObjParticipanteDTO();
846 } 848 }
847 849
848 - //Obtenção de detalhes do remetente na infraestrutura do PEN 850 + //Obtenção de detalhes do remetente na infraestrutura do PEN
849 $objEstruturaDTO = $this->objProcessoEletronicoRN->consultarEstrutura( 851 $objEstruturaDTO = $this->objProcessoEletronicoRN->consultarEstrutura(
850 $objRemetente->identificacaoDoRepositorioDeEstruturas, 852 $objRemetente->identificacaoDoRepositorioDeEstruturas,
851 $objRemetente->numeroDeIdentificacaoDaEstrutura); 853 $objRemetente->numeroDeIdentificacaoDaEstrutura);
@@ -893,7 +895,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -893,7 +895,7 @@ class ReceberProcedimentoRN extends InfraRN
893 private function atribuirTipoProcedimento(ProcedimentoDTO $objProcedimentoDTO, $numIdTipoProcedimento) 895 private function atribuirTipoProcedimento(ProcedimentoDTO $objProcedimentoDTO, $numIdTipoProcedimento)
894 { 896 {
895 if(!isset($numIdTipoProcedimento)){ 897 if(!isset($numIdTipoProcedimento)){
896 - throw new InfraException('Parâmetro $numIdTipoProcedimento não informado.'); 898 + throw new InfraException('Parâmetro $numIdTipoProcedimento não informado.');
897 } 899 }
898 900
899 $objTipoProcedimentoDTO = new TipoProcedimentoDTO(); 901 $objTipoProcedimentoDTO = new TipoProcedimentoDTO();
@@ -905,7 +907,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -905,7 +907,7 @@ class ReceberProcedimentoRN extends InfraRN
905 $objTipoProcedimentoDTO = $objTipoProcedimentoRN->consultarRN0267($objTipoProcedimentoDTO); 907 $objTipoProcedimentoDTO = $objTipoProcedimentoRN->consultarRN0267($objTipoProcedimentoDTO);
906 908
907 if ($objTipoProcedimentoDTO==null){ 909 if ($objTipoProcedimentoDTO==null){
908 - throw new InfraException('Tipo de processo não encontrado.'); 910 + throw new InfraException('Tipo de processo não encontrado.');
909 } 911 }
910 912
911 $objProcedimentoDTO->setNumIdTipoProcedimento($objTipoProcedimentoDTO->getNumIdTipoProcedimento()); 913 $objProcedimentoDTO->setNumIdTipoProcedimento($objTipoProcedimentoDTO->getNumIdTipoProcedimento());
@@ -934,13 +936,13 @@ class ReceberProcedimentoRN extends InfraRN @@ -934,13 +936,13 @@ class ReceberProcedimentoRN extends InfraRN
934 protected function atribuirDadosUnidade(ProcedimentoDTO $objProcedimentoDTO, $objDestinatario){ 936 protected function atribuirDadosUnidade(ProcedimentoDTO $objProcedimentoDTO, $objDestinatario){
935 937
936 if(!isset($objDestinatario)){ 938 if(!isset($objDestinatario)){
937 - throw new InfraException('Parâmetro $objDestinatario não informado.'); 939 + throw new InfraException('Parâmetro $objDestinatario não informado.');
938 } 940 }
939 941
940 $objUnidadeDTOEnvio = $this->obterUnidadeMapeada($objDestinatario->numeroDeIdentificacaoDaEstrutura); 942 $objUnidadeDTOEnvio = $this->obterUnidadeMapeada($objDestinatario->numeroDeIdentificacaoDaEstrutura);
941 943
942 if(!isset($objUnidadeDTOEnvio)) 944 if(!isset($objUnidadeDTOEnvio))
943 - throw new InfraException('Unidade de destino não pode ser encontrada. Repositório: '.$objDestinatario->identificacaoDoRepositorioDeEstruturas.', Número: ' . $objDestinatario->numeroDeIdentificacaoDaEstrutura); 945 + throw new InfraException('Unidade de destino não pode ser encontrada. Repositório: '.$objDestinatario->identificacaoDoRepositorioDeEstruturas.', Número: ' . $objDestinatario->numeroDeIdentificacaoDaEstrutura);
944 946
945 $arrObjUnidadeDTO = array(); 947 $arrObjUnidadeDTO = array();
946 $arrObjUnidadeDTO[] = $objUnidadeDTOEnvio; 948 $arrObjUnidadeDTO[] = $objUnidadeDTOEnvio;
@@ -950,21 +952,21 @@ class ReceberProcedimentoRN extends InfraRN @@ -950,21 +952,21 @@ class ReceberProcedimentoRN extends InfraRN
950 } 952 }
951 953
952 954
953 - //TODO: Grande parte da regra de negócio se baseou em SEIRN:199 - incluirDocumento.  
954 - //Avaliar a refatoração para impedir a duplicação de código 955 + //TODO: Grande parte da regra de negócio se baseou em SEIRN:199 - incluirDocumento.
  956 + //Avaliar a refatoração para impedir a duplicação de código
955 private function atribuirDocumentos($objProcedimentoDTO, $objProcesso, $objUnidadeDTO, $parObjMetadadosProcedimento) 957 private function atribuirDocumentos($objProcedimentoDTO, $objProcesso, $objUnidadeDTO, $parObjMetadadosProcedimento)
956 { 958 {
957 959
958 if(!isset($objProcesso)) { 960 if(!isset($objProcesso)) {
959 - throw new InfraException('Parâmetro $objProcesso não informado.'); 961 + throw new InfraException('Parâmetro $objProcesso não informado.');
960 } 962 }
961 963
962 if(!isset($objUnidadeDTO)) { 964 if(!isset($objUnidadeDTO)) {
963 - throw new InfraException('Unidade responsável pelo documento não informada.'); 965 + throw new InfraException('Unidade responsável pelo documento não informada.');
964 } 966 }
965 967
966 if(!isset($objProcesso->documento)) { 968 if(!isset($objProcesso->documento)) {
967 - throw new InfraException('Lista de documentos do processo não informada.'); 969 + throw new InfraException('Lista de documentos do processo não informada.');
968 } 970 }
969 971
970 $arrObjDocumentos = $objProcesso->documento; 972 $arrObjDocumentos = $objProcesso->documento;
@@ -975,10 +977,10 @@ class ReceberProcedimentoRN extends InfraRN @@ -975,10 +977,10 @@ class ReceberProcedimentoRN extends InfraRN
975 $strNumeroRegistro = $parObjMetadadosProcedimento->metadados->NRE; 977 $strNumeroRegistro = $parObjMetadadosProcedimento->metadados->NRE;
976 //$numTramite = $parObjMetadadosProcedimento->metadados->IDT; 978 //$numTramite = $parObjMetadadosProcedimento->metadados->IDT;
977 979
978 - //Ordenação dos documentos conforme informado pelo remetente. Campo documento->ordem 980 + //Ordenação dos documentos conforme informado pelo remetente. Campo documento->ordem
979 usort($arrObjDocumentos, array("ReceberProcedimentoRN", "comparacaoOrdemDocumentos")); 981 usort($arrObjDocumentos, array("ReceberProcedimentoRN", "comparacaoOrdemDocumentos"));
980 982
981 - //Obter dados dos documentos já registrados no sistema 983 + //Obter dados dos documentos já registrados no sistema
982 $objComponenteDigitalDTO = new ComponenteDigitalDTO(); 984 $objComponenteDigitalDTO = new ComponenteDigitalDTO();
983 $objComponenteDigitalDTO->retNumOrdem(); 985 $objComponenteDigitalDTO->retNumOrdem();
984 $objComponenteDigitalDTO->retDblIdDocumento(); 986 $objComponenteDigitalDTO->retDblIdDocumento();
@@ -1003,7 +1005,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1003,7 +1005,7 @@ class ReceberProcedimentoRN extends InfraRN
1003 1005
1004 //$strHashConteudo = ProcessoEletronicoRN::getHashFromMetaDados($objDocumento->componenteDigital->hash); 1006 //$strHashConteudo = ProcessoEletronicoRN::getHashFromMetaDados($objDocumento->componenteDigital->hash);
1005 1007
1006 - // Caso já esteja cadastrado, de um reenvio anterior, então move para bloqueado 1008 + // Caso já esteja cadastrado, de um reenvio anterior, então move para bloqueado
1007 if(array_key_exists($objDocumento->ordem, $arrObjComponenteDigitalDTOIndexado)) { 1009 if(array_key_exists($objDocumento->ordem, $arrObjComponenteDigitalDTOIndexado)) {
1008 1010
1009 //Busca o ID do protocolo 1011 //Busca o ID do protocolo
@@ -1039,9 +1041,9 @@ class ReceberProcedimentoRN extends InfraRN @@ -1039,9 +1041,9 @@ class ReceberProcedimentoRN extends InfraRN
1039 continue; 1041 continue;
1040 } 1042 }
1041 1043
1042 - //Validação dos dados dos documentos 1044 + //Validação dos dados dos documentos
1043 if(!isset($objDocumento->especie)){ 1045 if(!isset($objDocumento->especie)){
1044 - throw new InfraException('Espécie do documento ['.$objDocumento->descricao.'] não informada.'); 1046 + throw new InfraException('Espécie do documento ['.$objDocumento->descricao.'] não informada.');
1045 } 1047 }
1046 1048
1047 //--------------------------------------------------------------------------------------------------- 1049 //---------------------------------------------------------------------------------------------------
@@ -1053,11 +1055,11 @@ class ReceberProcedimentoRN extends InfraRN @@ -1053,11 +1055,11 @@ class ReceberProcedimentoRN extends InfraRN
1053 $objSerieDTO = $this->obterSerieMapeada($objDocumento->especie->codigo); 1055 $objSerieDTO = $this->obterSerieMapeada($objDocumento->especie->codigo);
1054 1056
1055 if ($objSerieDTO==null){ 1057 if ($objSerieDTO==null){
1056 - throw new InfraException('Tipo de documento [Espécie '.$objDocumento->especie->codigo.'] não encontrado.'); 1058 + throw new InfraException('Tipo de documento [Espécie '.$objDocumento->especie->codigo.'] não encontrado.');
1057 } 1059 }
1058 1060
1059 if (InfraString::isBolVazia($objDocumento->dataHoraDeProducao)) { 1061 if (InfraString::isBolVazia($objDocumento->dataHoraDeProducao)) {
1060 - $objInfraException->lancarValidacao('Data do documento não informada.'); 1062 + $objInfraException->lancarValidacao('Data do documento não informada.');
1061 } 1063 }
1062 1064
1063 $objProcedimentoDTO2 = new ProcedimentoDTO(); 1065 $objProcedimentoDTO2 = new ProcedimentoDTO();
@@ -1077,7 +1079,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1077,7 +1079,7 @@ class ReceberProcedimentoRN extends InfraRN
1077 $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO2); 1079 $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO2);
1078 1080
1079 if ($objProcedimentoDTO==null){ 1081 if ($objProcedimentoDTO==null){
1080 - throw new InfraException('Processo ['.$objDocumentoDTO->getDblIdProcedimento().'] não encontrado.'); 1082 + throw new InfraException('Processo ['.$objDocumentoDTO->getDblIdProcedimento().'] não encontrado.');
1081 } 1083 }
1082 1084
1083 $objDocumentoDTO->setDblIdProcedimento($objProcedimentoDTO->getDblIdProcedimento()); 1085 $objDocumentoDTO->setDblIdProcedimento($objProcedimentoDTO->getDblIdProcedimento());
@@ -1104,7 +1106,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1104,7 +1106,7 @@ class ReceberProcedimentoRN extends InfraRN
1104 $objProtocoloDTO->setStrDescricao(""); 1106 $objProtocoloDTO->setStrDescricao("");
1105 $objDocumentoDTO->setStrNumero(""); 1107 $objDocumentoDTO->setStrNumero("");
1106 } 1108 }
1107 - //TODO: Avaliar regra de formação do número do documento 1109 + //TODO: Avaliar regra de formação do número do documento
1108 1110
1109 $objProtocoloDTO->setStrStaNivelAcessoLocal($this->obterNivelSigiloSEI($objDocumento->nivelDeSigilo)); 1111 $objProtocoloDTO->setStrStaNivelAcessoLocal($this->obterNivelSigiloSEI($objDocumento->nivelDeSigilo));
1110 $objProtocoloDTO->setDtaGeracao($this->objProcessoEletronicoRN->converterDataSEI($objDocumento->dataHoraDeProducao)); 1112 $objProtocoloDTO->setDtaGeracao($this->objProcessoEletronicoRN->converterDataSEI($objDocumento->dataHoraDeProducao));
@@ -1113,11 +1115,11 @@ class ReceberProcedimentoRN extends InfraRN @@ -1113,11 +1115,11 @@ class ReceberProcedimentoRN extends InfraRN
1113 $objProtocoloDTO->setArrObjRelProtocoloProtocoloDTO(array()); 1115 $objProtocoloDTO->setArrObjRelProtocoloProtocoloDTO(array());
1114 $objProtocoloDTO->setArrObjParticipanteDTO(array()); 1116 $objProtocoloDTO->setArrObjParticipanteDTO(array());
1115 1117
1116 - //TODO: Analisar se o modelo de dados do PEN possui destinatários específicos para os documentos  
1117 - //caso não possua, analisar o repasse de tais informações via parãmetros adicionais 1118 + //TODO: Analisar se o modelo de dados do PEN possui destinatários específicos para os documentos
  1119 + //caso não possua, analisar o repasse de tais informações via parãmetros adicionais
1118 1120
1119 $objObservacaoDTO = new ObservacaoDTO(); 1121 $objObservacaoDTO = new ObservacaoDTO();
1120 - $objObservacaoDTO->setStrDescricao("Número SEI do Documento na Origem: ".$objDocumento->produtor->numeroDeIdentificacao); 1122 + $objObservacaoDTO->setStrDescricao("Número SEI do Documento na Origem: ".$objDocumento->produtor->numeroDeIdentificacao);
1121 $objProtocoloDTO->setArrObjObservacaoDTO(array($objObservacaoDTO)); 1123 $objProtocoloDTO->setArrObjObservacaoDTO(array($objObservacaoDTO));
1122 1124
1123 1125
@@ -1128,10 +1130,10 @@ class ReceberProcedimentoRN extends InfraRN @@ -1128,10 +1130,10 @@ class ReceberProcedimentoRN extends InfraRN
1128 $objAtividadeDTO->setDblIdProtocolo($objDocumentoDTO->getDblIdProcedimento()); 1130 $objAtividadeDTO->setDblIdProtocolo($objDocumentoDTO->getDblIdProcedimento());
1129 $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); 1131 $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
1130 1132
1131 - //TODO: Possivelmente, essa regra é desnecessária já que o processo pode ser enviado para outra unidade do órgão através da expedição 1133 + //TODO: Possivelmente, essa regra é desnecessária já que o processo pode ser enviado para outra unidade do órgão através da expedição
1132 $objAtividadeRN = new AtividadeRN(); 1134 $objAtividadeRN = new AtividadeRN();
1133 if ($objAtividadeRN->contarRN0035($objAtividadeDTO) == 0) { 1135 if ($objAtividadeRN->contarRN0035($objAtividadeDTO) == 0) {
1134 - throw new InfraException('Unidade '.$objUnidadeDTO->getStrSigla().' não possui acesso ao Procedimento '.$objProcedimentoDTO->getStrProtocoloProcedimentoFormatado().'.'); 1136 + throw new InfraException('Unidade '.$objUnidadeDTO->getStrSigla().' não possui acesso ao Procedimento '.$objProcedimentoDTO->getStrProtocoloProcedimentoFormatado().'.');
1135 } 1137 }
1136 1138
1137 $objAtividadeDTO = new AtividadeDTO(); 1139 $objAtividadeDTO = new AtividadeDTO();
@@ -1140,7 +1142,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1140,7 +1142,7 @@ class ReceberProcedimentoRN extends InfraRN
1140 $objAtividadeDTO->setDthConclusao(null); 1142 $objAtividadeDTO->setDthConclusao(null);
1141 1143
1142 if ($objAtividadeRN->contarRN0035($objAtividadeDTO) == 0) { 1144 if ($objAtividadeRN->contarRN0035($objAtividadeDTO) == 0) {
1143 - //reabertura automática 1145 + //reabertura automática
1144 $objReabrirProcessoDTO = new ReabrirProcessoDTO(); 1146 $objReabrirProcessoDTO = new ReabrirProcessoDTO();
1145 $objReabrirProcessoDTO->setDblIdProcedimento($objDocumentoDTO->getDblIdProcedimento()); 1147 $objReabrirProcessoDTO->setDblIdProcedimento($objDocumentoDTO->getDblIdProcedimento());
1146 $objReabrirProcessoDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); 1148 $objReabrirProcessoDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
@@ -1157,7 +1159,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1157,7 +1159,7 @@ class ReceberProcedimentoRN extends InfraRN
1157 1159
1158 //$objOperacaoServicoRN = new OperacaoServicoRN(); 1160 //$objOperacaoServicoRN = new OperacaoServicoRN();
1159 //if ($objOperacaoServicoRN->contar($objOperacaoServicoDTO)==0){ 1161 //if ($objOperacaoServicoRN->contar($objOperacaoServicoDTO)==0){
1160 - // $objInfraException->lancarValidacao('Nenhuma operação configurada para inclusão de documento do Tipo ['.$objSerieDTO->getStrNome().'] no Tipo de Processo ['.$objProcedimentoDTO->getStrNomeTipoProcedimento().'] na Unidade ['.$objUnidadeDTO->getStrSigla().'] pelo Serviço ['.$objServicoDTO->getStrIdentificacao().'] do Sistema ['.$objServicoDTO->getStrSiglaUsuario().'].'); 1162 + // $objInfraException->lancarValidacao('Nenhuma operação configurada para inclusão de documento do Tipo ['.$objSerieDTO->getStrNome().'] no Tipo de Processo ['.$objProcedimentoDTO->getStrNomeTipoProcedimento().'] na Unidade ['.$objUnidadeDTO->getStrSigla().'] pelo Serviço ['.$objServicoDTO->getStrIdentificacao().'] do Sistema ['.$objServicoDTO->getStrSiglaUsuario().'].');
1161 //} 1163 //}
1162 1164
1163 $objTipoProcedimentoDTO = new TipoProcedimentoDTO(); 1165 $objTipoProcedimentoDTO = new TipoProcedimentoDTO();
@@ -1204,7 +1206,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1204,7 +1206,7 @@ class ReceberProcedimentoRN extends InfraRN
1204 $objDocumentoDTO->getObjProtocoloDTO()->setNumIdUnidadeGeradora(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); 1206 $objDocumentoDTO->getObjProtocoloDTO()->setNumIdUnidadeGeradora(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
1205 $objDocumentoDTO->setStrSinBloqueado('S'); 1207 $objDocumentoDTO->setStrSinBloqueado('S');
1206 1208
1207 - //TODO: Fazer a atribuição dos componentes digitais do processo a partir desse ponto 1209 + //TODO: Fazer a atribuição dos componentes digitais do processo a partir desse ponto
1208 $this->atribuirComponentesDigitais($objDocumentoDTO, $objDocumento->componenteDigital); 1210 $this->atribuirComponentesDigitais($objDocumentoDTO, $objDocumento->componenteDigital);
1209 $objDocumentoDTOGerado = $objDocumentoRN->cadastrarRN0003($objDocumentoDTO); 1211 $objDocumentoDTOGerado = $objDocumentoRN->cadastrarRN0003($objDocumentoDTO);
1210 1212
@@ -1246,15 +1248,15 @@ class ReceberProcedimentoRN extends InfraRN @@ -1246,15 +1248,15 @@ class ReceberProcedimentoRN extends InfraRN
1246 } */ 1248 } */
1247 } 1249 }
1248 1250
1249 - //TODO: Método deverá poderá ser transferido para a classe responsável por fazer o recebimento dos componentes digitais 1251 + //TODO: Método deverá poderá ser transferido para a classe responsável por fazer o recebimento dos componentes digitais
1250 private function atribuirComponentesDigitais(DocumentoDTO $parObjDocumentoDTO, $parArrObjComponentesDigitais) 1252 private function atribuirComponentesDigitais(DocumentoDTO $parObjDocumentoDTO, $parArrObjComponentesDigitais)
1251 { 1253 {
1252 if(!isset($parArrObjComponentesDigitais)) { 1254 if(!isset($parArrObjComponentesDigitais)) {
1253 - throw new InfraException('Componentes digitais do documento não informado.'); 1255 + throw new InfraException('Componentes digitais do documento não informado.');
1254 } 1256 }
1255 1257
1256 - //TODO: Aplicar mesmas validações realizadas no momento do upload de um documento InfraPagina::processarUpload  
1257 - //TODO: Avaliar a refatoração do código abaixo para impedir a duplicação de regras de negócios 1258 + //TODO: Aplicar mesmas validações realizadas no momento do upload de um documento InfraPagina::processarUpload
  1259 + //TODO: Avaliar a refatoração do código abaixo para impedir a duplicação de regras de negócios
1258 1260
1259 1261
1260 $arrObjAnexoDTO = array(); 1262 $arrObjAnexoDTO = array();
@@ -1275,7 +1277,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1275,7 +1277,7 @@ class ReceberProcedimentoRN extends InfraRN
1275 1277
1276 private function atribuirAssunto(ProtocoloDTO $objProtocoloDTO, $numIdAssunto) 1278 private function atribuirAssunto(ProtocoloDTO $objProtocoloDTO, $numIdAssunto)
1277 { 1279 {
1278 - //TODO: Removido. Serão utilizados os tipos de procedimento enviados atribuídos ao tipo de processo externo (PEN_TIPO_PROCESSO_EXTERNO) 1280 + //TODO: Removido. Serão utilizados os tipos de procedimento enviados atribuídos ao tipo de processo externo (PEN_TIPO_PROCESSO_EXTERNO)
1279 } 1281 }
1280 1282
1281 private function atribuirProcessosApensados(ProcedimentoDTO $objProtocoloDTO, $objProcedimento) 1283 private function atribuirProcessosApensados(ProcedimentoDTO $objProtocoloDTO, $objProcedimento)
@@ -1309,7 +1311,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1309,7 +1311,7 @@ class ReceberProcedimentoRN extends InfraRN
1309 private function validarDadosDestinatario(InfraException $objInfraException, $objMetadadosProcedimento){ 1311 private function validarDadosDestinatario(InfraException $objInfraException, $objMetadadosProcedimento){
1310 1312
1311 if(isset($objDestinatario)){ 1313 if(isset($objDestinatario)){
1312 - throw new InfraException("Parâmetro $objDestinatario não informado."); 1314 + throw new InfraException("Parâmetro $objDestinatario não informado.");
1313 } 1315 }
1314 1316
1315 $objDestinatario = $objMetadadosProcedimento->metadados->destinatario; 1317 $objDestinatario = $objMetadadosProcedimento->metadados->destinatario;
@@ -1319,12 +1321,12 @@ class ReceberProcedimentoRN extends InfraRN @@ -1319,12 +1321,12 @@ class ReceberProcedimentoRN extends InfraRN
1319 $numIdRepositorioDestinoProcesso = $objDestinatario->identificacaoDoRepositorioDeEstruturas; 1321 $numIdRepositorioDestinoProcesso = $objDestinatario->identificacaoDoRepositorioDeEstruturas;
1320 $numeroDeIdentificacaoDaEstrutura = $objDestinatario->numeroDeIdentificacaoDaEstrutura; 1322 $numeroDeIdentificacaoDaEstrutura = $objDestinatario->numeroDeIdentificacaoDaEstrutura;
1321 1323
1322 - //Validação do repositório de destino do processo 1324 + //Validação do repositório de destino do processo
1323 if($numIdRepositorioDestinoProcesso != $numIdRepositorioOrigem){ 1325 if($numIdRepositorioDestinoProcesso != $numIdRepositorioOrigem){
1324 - $objInfraException->adicionarValidacao("Identificação do repositório de origem do processo [$numIdRepositorioDestinoProcesso] não reconhecida."); 1326 + $objInfraException->adicionarValidacao("Identificação do repositório de origem do processo [$numIdRepositorioDestinoProcesso] não reconhecida.");
1325 } 1327 }
1326 1328
1327 - //Validação do unidade de destino do processo 1329 + //Validação do unidade de destino do processo
1328 $objUnidadeDTO = new PenUnidadeDTO(); 1330 $objUnidadeDTO = new PenUnidadeDTO();
1329 $objUnidadeDTO->setNumIdUnidadeRH($numeroDeIdentificacaoDaEstrutura); 1331 $objUnidadeDTO->setNumIdUnidadeRH($numeroDeIdentificacaoDaEstrutura);
1330 $objUnidadeDTO->setStrSinAtivo('S'); 1332 $objUnidadeDTO->setStrSinAtivo('S');
@@ -1334,7 +1336,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1334,7 +1336,7 @@ class ReceberProcedimentoRN extends InfraRN
1334 $objUnidadeDTO = $objUnidadeRN->consultarRN0125($objUnidadeDTO); 1336 $objUnidadeDTO = $objUnidadeRN->consultarRN0125($objUnidadeDTO);
1335 1337
1336 if(!isset($objUnidadeDTO)){ 1338 if(!isset($objUnidadeDTO)){
1337 - $objInfraException->adicionarValidacao("Unidade de destino [Estrutura: XXXX] não localizada."); 1339 + $objInfraException->adicionarValidacao("Unidade de destino [Estrutura: XXXX] não localizada.");
1338 $objInfraException->adicionarValidacao("Dados: {$numeroDeIdentificacaoDaEstrutura}"); 1340 $objInfraException->adicionarValidacao("Dados: {$numeroDeIdentificacaoDaEstrutura}");
1339 1341
1340 } 1342 }
@@ -1366,7 +1368,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1366,7 +1368,7 @@ class ReceberProcedimentoRN extends InfraRN
1366 } 1368 }
1367 } 1369 }
1368 1370
1369 - //TODO: Implementar o mapeamento entre as unidade do SEI e Barramento de Serviços (Secretaria de Saúde: 218794) 1371 + //TODO: Implementar o mapeamento entre as unidade do SEI e Barramento de Serviços (Secretaria de Saúde: 218794)
1370 private function obterUnidadeMapeada($numIdentificacaoDaEstrutura) 1372 private function obterUnidadeMapeada($numIdentificacaoDaEstrutura)
1371 { 1373 {
1372 $objUnidadeDTO = new PenUnidadeDTO(); 1374 $objUnidadeDTO = new PenUnidadeDTO();
@@ -1420,7 +1422,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1420,7 +1422,7 @@ class ReceberProcedimentoRN extends InfraRN
1420 private function relacionarProcedimentos($objProcedimentoDTO1, $objProcedimentoDTO2) 1422 private function relacionarProcedimentos($objProcedimentoDTO1, $objProcedimentoDTO2)
1421 { 1423 {
1422 if(!isset($objProcedimentoDTO1) || !isset($objProcedimentoDTO1)) { 1424 if(!isset($objProcedimentoDTO1) || !isset($objProcedimentoDTO1)) {
1423 - throw new InfraException('Parâmetro $objProcedimentoDTO não informado.'); 1425 + throw new InfraException('Parâmetro $objProcedimentoDTO não informado.');
1424 } 1426 }
1425 1427
1426 $objRelProtocoloProtocoloDTO = new RelProtocoloProtocoloDTO(); 1428 $objRelProtocoloProtocoloDTO = new RelProtocoloProtocoloDTO();
@@ -1433,8 +1435,8 @@ class ReceberProcedimentoRN extends InfraRN @@ -1433,8 +1435,8 @@ class ReceberProcedimentoRN extends InfraRN
1433 $objProcedimentoRN->relacionarProcedimentoRN1020($objRelProtocoloProtocoloDTO); 1435 $objProcedimentoRN->relacionarProcedimentoRN1020($objRelProtocoloProtocoloDTO);
1434 } 1436 }
1435 1437
1436 - //TODO: Método identico ao localizado na classe SeiRN:2214  
1437 - //Refatorar código para evitar problemas de manutenção 1438 + //TODO: Método identico ao localizado na classe SeiRN:2214
  1439 + //Refatorar código para evitar problemas de manutenção
1438 private function prepararParticipantes($arrObjParticipanteDTO) 1440 private function prepararParticipantes($arrObjParticipanteDTO)
1439 { 1441 {
1440 $objContatoRN = new ContatoRN(); 1442 $objContatoRN = new ContatoRN();
@@ -1462,7 +1464,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1462,7 +1464,7 @@ class ReceberProcedimentoRN extends InfraRN
1462 throw new InfraException('Remetente vazio ou nulo.'); 1464 throw new InfraException('Remetente vazio ou nulo.');
1463 } 1465 }
1464 else if ($objParticipanteDTO->getStrStaParticipacao()==ParticipanteRN::$TP_DESTINATARIO) { 1466 else if ($objParticipanteDTO->getStrStaParticipacao()==ParticipanteRN::$TP_DESTINATARIO) {
1465 - throw new InfraException('Destinatário vazio ou nulo.'); 1467 + throw new InfraException('Destinatário vazio ou nulo.');
1466 } 1468 }
1467 } 1469 }
1468 1470
@@ -1515,13 +1517,13 @@ class ReceberProcedimentoRN extends InfraRN @@ -1515,13 +1517,13 @@ class ReceberProcedimentoRN extends InfraRN
1515 $objInfraException = new InfraException(); 1517 $objInfraException = new InfraException();
1516 1518
1517 if(!$parObjProcedimentoDTO->isSetArrObjUnidadeDTO() || count($parObjProcedimentoDTO->getArrObjUnidadeDTO()) == 0) { 1519 if(!$parObjProcedimentoDTO->isSetArrObjUnidadeDTO() || count($parObjProcedimentoDTO->getArrObjUnidadeDTO()) == 0) {
1518 - $objInfraException->lancarValidacao('Unidade de destino do processo não informada.'); 1520 + $objInfraException->lancarValidacao('Unidade de destino do processo não informada.');
1519 } 1521 }
1520 1522
1521 $arrObjUnidadeDTO = $parObjProcedimentoDTO->getArrObjUnidadeDTO(); 1523 $arrObjUnidadeDTO = $parObjProcedimentoDTO->getArrObjUnidadeDTO();
1522 1524
1523 if(count($parObjProcedimentoDTO->getArrObjUnidadeDTO()) > 1) { 1525 if(count($parObjProcedimentoDTO->getArrObjUnidadeDTO()) > 1) {
1524 - $objInfraException->lancarValidacao('Não permitido a indicação de múltiplas unidades de destino para um processo recebido externamente.'); 1526 + $objInfraException->lancarValidacao('Não permitido a indicação de múltiplas unidades de destino para um processo recebido externamente.');
1525 } 1527 }
1526 1528
1527 $arrObjUnidadeDTO = array_values($parObjProcedimentoDTO->getArrObjUnidadeDTO()); 1529 $arrObjUnidadeDTO = array_values($parObjProcedimentoDTO->getArrObjUnidadeDTO());
@@ -1541,7 +1543,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1541,7 +1543,7 @@ class ReceberProcedimentoRN extends InfraRN
1541 $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO); 1543 $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO);
1542 1544
1543 if ($objProcedimentoDTO == null || $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo()==ProtocoloRN::$NA_SIGILOSO) { 1545 if ($objProcedimentoDTO == null || $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo()==ProtocoloRN::$NA_SIGILOSO) {
1544 - $objInfraException->lancarValidacao('Processo ['.$parObjProcedimentoDTO->getStrProtocoloProcedimentoFormatado().'] não encontrado.'); 1546 + $objInfraException->lancarValidacao('Processo ['.$parObjProcedimentoDTO->getStrProtocoloProcedimentoFormatado().'] não encontrado.');
1545 } 1547 }
1546 1548
1547 if ($objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo()==ProtocoloRN::$NA_RESTRITO) { 1549 if ($objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo()==ProtocoloRN::$NA_RESTRITO) {
@@ -1551,7 +1553,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1551,7 +1553,7 @@ class ReceberProcedimentoRN extends InfraRN
1551 1553
1552 $objAcessoRN = new AcessoRN(); 1554 $objAcessoRN = new AcessoRN();
1553 if ($objAcessoRN->contar($objAcessoDTO)==0) { 1555 if ($objAcessoRN->contar($objAcessoDTO)==0) {
1554 - // AVALIAR $objInfraException->adicionarValidacao('Unidade ['.$objUnidadeDTO->getStrSigla().'] não possui acesso ao processo ['.$objProcedimentoDTO->getStrProtocoloProcedimentoFormatado().'].'); 1556 + // AVALIAR $objInfraException->adicionarValidacao('Unidade ['.$objUnidadeDTO->getStrSigla().'] não possui acesso ao processo ['.$objProcedimentoDTO->getStrProtocoloProcedimentoFormatado().'].');
1555 } 1557 }
1556 } 1558 }
1557 1559
@@ -1573,7 +1575,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1573,7 +1575,7 @@ class ReceberProcedimentoRN extends InfraRN
1573 1575
1574 if ($objAtividadeRN->contarRN0035($objAtividadeDTO2) == 0) { 1576 if ($objAtividadeRN->contarRN0035($objAtividadeDTO2) == 0) {
1575 1577
1576 - //reabertura automática 1578 + //reabertura automática
1577 $objReabrirProcessoDTO = new ReabrirProcessoDTO(); 1579 $objReabrirProcessoDTO = new ReabrirProcessoDTO();
1578 $objReabrirProcessoDTO->setDblIdProcedimento($objAtividadeDTO2->getDblIdProtocolo()); 1580 $objReabrirProcessoDTO->setDblIdProcedimento($objAtividadeDTO2->getDblIdProtocolo());
1579 $objReabrirProcessoDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); 1581 $objReabrirProcessoDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
@@ -1613,7 +1615,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1613,7 +1615,7 @@ class ReceberProcedimentoRN extends InfraRN
1613 1615
1614 } 1616 }
1615 1617
1616 - /* Essa é a função estática de comparação */ 1618 + /* Essa é a função estática de comparação */
1617 static function comparacaoOrdemDocumentos($parDocumento1, $parDocumento2) 1619 static function comparacaoOrdemDocumentos($parDocumento1, $parDocumento2)
1618 { 1620 {
1619 $numOrdemDocumento1 = strtolower($parDocumento1->ordem); 1621 $numOrdemDocumento1 = strtolower($parDocumento1->ordem);
@@ -1625,14 +1627,14 @@ class ReceberProcedimentoRN extends InfraRN @@ -1625,14 +1627,14 @@ class ReceberProcedimentoRN extends InfraRN
1625 public function receberTramitesRecusados($parNumIdentificacaoTramite) { 1627 public function receberTramitesRecusados($parNumIdentificacaoTramite) {
1626 1628
1627 if (empty($parNumIdentificacaoTramite)) { 1629 if (empty($parNumIdentificacaoTramite)) {
1628 - throw new InfraException('Parâmetro $parNumIdentificacaoTramite não informado.'); 1630 + throw new InfraException('Parâmetro $parNumIdentificacaoTramite não informado.');
1629 } 1631 }
1630 1632
1631 - //Busca os dados do trâmite no barramento 1633 + //Busca os dados do trâmite no barramento
1632 $tramite = $this->objProcessoEletronicoRN->consultarTramites($parNumIdentificacaoTramite); 1634 $tramite = $this->objProcessoEletronicoRN->consultarTramites($parNumIdentificacaoTramite);
1633 1635
1634 if(!isset($tramite[0])){ 1636 if(!isset($tramite[0])){
1635 - throw new InfraException("Não foi encontrado o trâmite de número {$parNumIdentificacaoTramite} para realizar a ciência da recusa"); 1637 + throw new InfraException("Não foi encontrado o trâmite de número {$parNumIdentificacaoTramite} para realizar a ciência da recusa");
1636 } 1638 }
1637 1639
1638 $tramite = $tramite[0]; 1640 $tramite = $tramite[0];
@@ -1654,7 +1656,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1654,7 +1656,7 @@ class ReceberProcedimentoRN extends InfraRN
1654 $objProcessoEletronicoBD = new ProcessoEletronicoBD($this->getObjInfraIBanco()); 1656 $objProcessoEletronicoBD = new ProcessoEletronicoBD($this->getObjInfraIBanco());
1655 $objProcessoEletronicoDTO = $objProcessoEletronicoBD->consultar($objProcessoEletronicoDTO); 1657 $objProcessoEletronicoDTO = $objProcessoEletronicoBD->consultar($objProcessoEletronicoDTO);
1656 1658
1657 - //Busca a última atividade de expedição 1659 + //Busca a última atividade de expedição
1658 $objAtividadeDTO = new AtividadeDTO(); 1660 $objAtividadeDTO = new AtividadeDTO();
1659 $objAtividadeDTO->setDblIdProtocolo($objProcessoEletronicoDTO->getDblIdProcedimento()); 1661 $objAtividadeDTO->setDblIdProtocolo($objProcessoEletronicoDTO->getDblIdProcedimento());
1660 $objAtividadeDTO->setNumIdTarefa(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)); 1662 $objAtividadeDTO->setNumIdTarefa(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO));
@@ -1683,7 +1685,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1683,7 +1685,7 @@ class ReceberProcedimentoRN extends InfraRN
1683 $objReceberTramiteRecusadoDTO->setStrMotivoRecusa(utf8_decode($tramite->justificativaDaRecusa)); 1685 $objReceberTramiteRecusadoDTO->setStrMotivoRecusa(utf8_decode($tramite->justificativaDaRecusa));
1684 $objReceberTramiteRecusadoDTO->setStrNomeUnidadeDestino($objAtributoAndamentoDTO->getStrValor()); 1686 $objReceberTramiteRecusadoDTO->setStrNomeUnidadeDestino($objAtributoAndamentoDTO->getStrValor());
1685 1687
1686 - //Faz o tratamento do processo e do trâmite recusado 1688 + //Faz o tratamento do processo e do trâmite recusado
1687 $this->receberTramiteRecusadoInterno($objReceberTramiteRecusadoDTO); 1689 $this->receberTramiteRecusadoInterno($objReceberTramiteRecusadoDTO);
1688 1690
1689 1691
@@ -1699,7 +1701,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1699,7 +1701,7 @@ class ReceberProcedimentoRN extends InfraRN
1699 $objSeiRN = new SeiRN(); 1701 $objSeiRN = new SeiRN();
1700 $objSeiRN->desbloquearProcesso($objEntradaDesbloquearProcessoAPI); 1702 $objSeiRN->desbloquearProcesso($objEntradaDesbloquearProcessoAPI);
1701 1703
1702 - //Adiciona um andamento para o trâmite recusado 1704 + //Adiciona um andamento para o trâmite recusado
1703 $arrObjAtributoAndamentoDTO = array(); 1705 $arrObjAtributoAndamentoDTO = array();
1704 1706
1705 $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); 1707 $objAtributoAndamentoDTO = new AtributoAndamentoDTO();
@@ -1742,7 +1744,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1742,7 +1744,7 @@ class ReceberProcedimentoRN extends InfraRN
1742 1744
1743 1745
1744 /** 1746 /**
1745 - * Método que realiza a validação da extensão dos componentes digitais a serem recebidos 1747 + * Método que realiza a validação da extensão dos componentes digitais a serem recebidos
1746 * 1748 *
1747 * @param integer $parIdTramite 1749 * @param integer $parIdTramite
1748 * @param object $parObjProcesso 1750 * @param object $parObjProcesso
@@ -1753,7 +1755,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1753,7 +1755,7 @@ class ReceberProcedimentoRN extends InfraRN
1753 //Armazena o array de documentos 1755 //Armazena o array de documentos
1754 $arrDocumentos = is_array($parObjProcesso->documento) ? $parObjProcesso->documento : array($parObjProcesso->documento) ; 1756 $arrDocumentos = is_array($parObjProcesso->documento) ? $parObjProcesso->documento : array($parObjProcesso->documento) ;
1755 1757
1756 - //Instancia o bd do arquivoExtensão 1758 + //Instancia o bd do arquivoExtensão
1757 $arquivoExtensaoBD = new ArquivoExtensaoBD($this->getObjInfraIBanco()); 1759 $arquivoExtensaoBD = new ArquivoExtensaoBD($this->getObjInfraIBanco());
1758 1760
1759 //Percorre os documentos 1761 //Percorre os documentos
@@ -1762,19 +1764,19 @@ class ReceberProcedimentoRN extends InfraRN @@ -1762,19 +1764,19 @@ class ReceberProcedimentoRN extends InfraRN
1762 //Busca o nome do documento 1764 //Busca o nome do documento
1763 $nomeDocumento = $documento->componenteDigital->nome; 1765 $nomeDocumento = $documento->componenteDigital->nome;
1764 1766
1765 - //Busca pela extensão do documento 1767 + //Busca pela extensão do documento
1766 $arrNomeDocumento = explode('.', $nomeDocumento); 1768 $arrNomeDocumento = explode('.', $nomeDocumento);
1767 $extDocumento = $arrNomeDocumento[count($arrNomeDocumento) - 1]; 1769 $extDocumento = $arrNomeDocumento[count($arrNomeDocumento) - 1];
1768 1770
1769 - //Verifica se a extensão do arquivo está cadastrada e ativa 1771 + //Verifica se a extensão do arquivo está cadastrada e ativa
1770 $arquivoExtensaoDTO = new ArquivoExtensaoDTO(); 1772 $arquivoExtensaoDTO = new ArquivoExtensaoDTO();
1771 $arquivoExtensaoDTO->setStrSinAtivo('S'); 1773 $arquivoExtensaoDTO->setStrSinAtivo('S');
1772 $arquivoExtensaoDTO->setStrExtensao($extDocumento); 1774 $arquivoExtensaoDTO->setStrExtensao($extDocumento);
1773 $arquivoExtensaoDTO->retStrExtensao(); 1775 $arquivoExtensaoDTO->retStrExtensao();
1774 1776
1775 if($arquivoExtensaoBD->contar($arquivoExtensaoDTO) == 0){ 1777 if($arquivoExtensaoBD->contar($arquivoExtensaoDTO) == 0){
1776 - $this->objProcessoEletronicoRN->recusarTramite($parIdTramite, 'Componentes digitais com formato inválido no destinatário. ', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_FORMATO);  
1777 - throw new InfraException("Processo recusado devido a existência de documento em formato {$extDocumento} não permitido pelo sistema. "); 1778 + $this->objProcessoEletronicoRN->recusarTramite($parIdTramite, 'Componentes digitais com formato inválido no destinatário. ', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_FORMATO);
  1779 + throw new InfraException("Processo recusado devido a existência de documento em formato {$extDocumento} não permitido pelo sistema. ");
1778 } 1780 }
1779 1781
1780 1782
@@ -1782,26 +1784,26 @@ class ReceberProcedimentoRN extends InfraRN @@ -1782,26 +1784,26 @@ class ReceberProcedimentoRN extends InfraRN
1782 } 1784 }
1783 1785
1784 /** 1786 /**
1785 - * Método que verifica as permissões de escrita nos diretórios utilizados no recebimento de processos e documentos 1787 + * Método que verifica as permissões de escrita nos diretórios utilizados no recebimento de processos e documentos
1786 * 1788 *
1787 * @param integer $parIdTramite 1789 * @param integer $parIdTramite
1788 * @throws InfraException 1790 * @throws InfraException
1789 */ 1791 */
1790 public function verificarPermissoesDiretorios($parIdTramite){ 1792 public function verificarPermissoesDiretorios($parIdTramite){
1791 1793
1792 - //Verifica se o usuário possui permissões de escrita no repositório de arquivos externos 1794 + //Verifica se o usuário possui permissões de escrita no repositório de arquivos externos
1793 if(!is_writable(ConfiguracaoSEI::getInstance()->getValor('SEI', 'RepositorioArquivos'))){ 1795 if(!is_writable(ConfiguracaoSEI::getInstance()->getValor('SEI', 'RepositorioArquivos'))){
1794 1796
1795 - $this->objProcessoEletronicoRN->recusarTramite($parIdTramite, 'O sistema não possui permissão de escrita no diretório de armazenamento de documentos externos', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU);  
1796 - throw new InfraException('O sistema não possui permissão de escrita no diretório de armazenamento de documentos externos'); 1797 + $this->objProcessoEletronicoRN->recusarTramite($parIdTramite, 'O sistema não possui permissão de escrita no diretório de armazenamento de documentos externos', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU);
  1798 + throw new InfraException('O sistema não possui permissão de escrita no diretório de armazenamento de documentos externos');
1797 1799
1798 } 1800 }
1799 1801
1800 - //Verifica se o usuário possui permissões de escrita no diretório temporário de arquivos 1802 + //Verifica se o usuário possui permissões de escrita no diretório temporário de arquivos
1801 if(!is_writable(DIR_SEI_TEMP)){ 1803 if(!is_writable(DIR_SEI_TEMP)){
1802 1804
1803 - $this->objProcessoEletronicoRN->recusarTramite($parIdTramite, 'O sistema não possui permissão de escrita no diretório de armazenamento de arquivos temporários do sistema.', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU);  
1804 - throw new InfraException('O sistema não possui permissão de escrita no diretório de armazenamento de arquivos temporários do sistema.'); 1805 + $this->objProcessoEletronicoRN->recusarTramite($parIdTramite, 'O sistema não possui permissão de escrita no diretório de armazenamento de arquivos temporários do sistema.', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU);
  1806 + throw new InfraException('O sistema não possui permissão de escrita no diretório de armazenamento de arquivos temporários do sistema.');
1805 1807
1806 } 1808 }
1807 1809