Commit 0d2ff516ef1a196dbd5fc6c9fa2907c62673b566

Authored by Guilherme Andrade Del Cantoni
1 parent 55907536

Correções de compatibilidade com SQLServer e compatibilidade de versão do módulo

.editorconfig 0 → 100644
@@ -0,0 +1,14 @@ @@ -0,0 +1,14 @@
  1 +# EditorConfig is awesome: http://EditorConfig.org
  2 +
  3 +# top-most EditorConfig file
  4 +root = true
  5 +
  6 +# Unix-style newlines with a newline ending every file
  7 +[*.php]
  8 +indent_style = space
  9 +indent_size = 4
  10 +end_of_line = crlf
  11 +insert_final_newline = true
  12 +charset = latin1
  13 +trim_trailing_whitespace = true
  14 +insert_final_newline = true
PENIntegracao.php
@@ -2,6 +2,8 @@ @@ -2,6 +2,8 @@
2 2
3 class PENIntegracao extends SeiIntegracao { 3 class PENIntegracao extends SeiIntegracao {
4 4
  5 + const COMPATIBILIDADE_MODULO_SEI = array('3.0.5', '3.0.6', '3.0.7', '3.0.8', '3.0.9', '3.0.11');
  6 +
5 private static $strDiretorio; 7 private static $strDiretorio;
6 8
7 public function getNome() { 9 public function getNome() {
@@ -9,9 +11,10 @@ class PENIntegracao extends SeiIntegracao { @@ -9,9 +11,10 @@ class PENIntegracao extends SeiIntegracao {
9 } 11 }
10 12
11 public function getVersao() { 13 public function getVersao() {
12 - return '1.1.1'; 14 + return '1.1.2';
13 } 15 }
14 16
  17 +
15 public function getInstituicao() { 18 public function getInstituicao() {
16 return 'Ministério do Planejamento - MPDG (Projeto Colaborativo no Portal do SPB)'; 19 return 'Ministério do Planejamento - MPDG (Projeto Colaborativo no Portal do SPB)';
17 } 20 }
@@ -21,7 +24,7 @@ class PENIntegracao extends SeiIntegracao { @@ -21,7 +24,7 @@ class PENIntegracao extends SeiIntegracao {
21 $objProcedimentoDTO = new ProcedimentoDTO(); 24 $objProcedimentoDTO = new ProcedimentoDTO();
22 $objProcedimentoDTO->setDblIdProcedimento($objSeiIntegracaoDTO->getIdProcedimento()); 25 $objProcedimentoDTO->setDblIdProcedimento($objSeiIntegracaoDTO->getIdProcedimento());
23 $objProcedimentoDTO->retTodos(); 26 $objProcedimentoDTO->retTodos();
24 - 27 +
25 $objProcedimentoRN = new ProcedimentoRN(); 28 $objProcedimentoRN = new ProcedimentoRN();
26 $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO); 29 $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO);
27 30
@@ -32,8 +35,8 @@ class PENIntegracao extends SeiIntegracao { @@ -32,8 +35,8 @@ class PENIntegracao extends SeiIntegracao {
32 $dblIdProcedimento = $objProcedimentoDTO->getDblIdProcedimento(); 35 $dblIdProcedimento = $objProcedimentoDTO->getDblIdProcedimento();
33 $numIdUsuario = SessaoSEI::getInstance()->getNumIdUsuario(); 36 $numIdUsuario = SessaoSEI::getInstance()->getNumIdUsuario();
34 $numIdUnidadeAtual = SessaoSEI::getInstance()->getNumIdUnidadeAtual(); 37 $numIdUnidadeAtual = SessaoSEI::getInstance()->getNumIdUnidadeAtual();
35 - $objInfraParametro = new InfraParametro(BancoSEI::getInstance());  
36 - 38 + $objInfraParametro = new InfraParametro(BancoSEI::getInstance());
  39 +
37 //Verifica se o processo encontra-se aberto na unidade atual 40 //Verifica se o processo encontra-se aberto na unidade atual
38 $objAtividadeRN = new AtividadeRN(); 41 $objAtividadeRN = new AtividadeRN();
39 $objPesquisaPendenciaDTO = new PesquisaPendenciaDTO(); 42 $objPesquisaPendenciaDTO = new PesquisaPendenciaDTO();
@@ -65,7 +68,7 @@ class PENIntegracao extends SeiIntegracao { @@ -65,7 +68,7 @@ class PENIntegracao extends SeiIntegracao {
65 if($objPenUnidadeRN->contar($objPenUnidadeDTO) != 0) { 68 if($objPenUnidadeRN->contar($objPenUnidadeDTO) != 0) {
66 $numTabBotao = $objPaginaSEI->getProxTabBarraComandosSuperior(); 69 $numTabBotao = $objPaginaSEI->getProxTabBarraComandosSuperior();
67 $strAcoesProcedimento .= '<a id="validar_expedir_processo" href="' . $objPaginaSEI->formatarXHTML($objSessaoSEI->assinarLink('controlador.php?acao=pen_procedimento_expedir&acao_origem=procedimento_visualizar&acao_retorno=arvore_visualizar&id_procedimento=' . $dblIdProcedimento . '&arvore=1')) . '" tabindex="' . $numTabBotao . '" class="botaoSEI"><img class="infraCorBarraSistema" src="' . $this->getDiretorioImagens() . '/pen_expedir_procedimento.gif" alt="Envio Externo de Processo" title="Envio Externo de Processo" /></a>'; 70 $strAcoesProcedimento .= '<a id="validar_expedir_processo" href="' . $objPaginaSEI->formatarXHTML($objSessaoSEI->assinarLink('controlador.php?acao=pen_procedimento_expedir&acao_origem=procedimento_visualizar&acao_retorno=arvore_visualizar&id_procedimento=' . $dblIdProcedimento . '&arvore=1')) . '" tabindex="' . $numTabBotao . '" class="botaoSEI"><img class="infraCorBarraSistema" src="' . $this->getDiretorioImagens() . '/pen_expedir_procedimento.gif" alt="Envio Externo de Processo" title="Envio Externo de Processo" /></a>';
68 - } 71 + }
69 } 72 }
70 73
71 //Apresenta o botão da página de recibos 74 //Apresenta o botão da página de recibos
@@ -80,20 +83,20 @@ class PENIntegracao extends SeiIntegracao { @@ -80,20 +83,20 @@ class PENIntegracao extends SeiIntegracao {
80 $strAcoesProcedimento .= '</a>'; 83 $strAcoesProcedimento .= '</a>';
81 } 84 }
82 } 85 }
83 - 86 +
84 //Apresenta o botão de cancelar trâmite 87 //Apresenta o botão de cancelar trâmite
85 $objAtividadeDTO = $objExpedirProcedimentoRN->verificarProcessoEmExpedicao($objSeiIntegracaoDTO->getIdProcedimento()); 88 $objAtividadeDTO = $objExpedirProcedimentoRN->verificarProcessoEmExpedicao($objSeiIntegracaoDTO->getIdProcedimento());
86 if ($objAtividadeDTO && $objAtividadeDTO->getNumIdTarefa() == ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)) { 89 if ($objAtividadeDTO && $objAtividadeDTO->getNumIdTarefa() == ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)) {
87 $strAcoesProcedimento .= '<a href="' . $objPaginaSEI->formatarXHTML($objSessaoSEI->assinarLink('controlador.php?acao=pen_procedimento_cancelar_expedir&acao_origem=procedimento_visualizar&acao_retorno=arvore_visualizar&id_procedimento=' . $dblIdProcedimento . '&arvore=1')) . '" tabindex="' . $numTabBotao . '" class="botaoSEI">'; 90 $strAcoesProcedimento .= '<a href="' . $objPaginaSEI->formatarXHTML($objSessaoSEI->assinarLink('controlador.php?acao=pen_procedimento_cancelar_expedir&acao_origem=procedimento_visualizar&acao_retorno=arvore_visualizar&id_procedimento=' . $dblIdProcedimento . '&arvore=1')) . '" tabindex="' . $numTabBotao . '" class="botaoSEI">';
88 $strAcoesProcedimento .= '<img class="infraCorBarraSistema" src="' . $this->getDiretorioImagens() . '/sei_desanexar_processo.gif" alt="Cancelar Tramitação Externa" title="Cancelar Tramitação Externa" />'; 91 $strAcoesProcedimento .= '<img class="infraCorBarraSistema" src="' . $this->getDiretorioImagens() . '/sei_desanexar_processo.gif" alt="Cancelar Tramitação Externa" title="Cancelar Tramitação Externa" />';
89 $strAcoesProcedimento .= '</a>'; 92 $strAcoesProcedimento .= '</a>';
90 - }  
91 - 93 + }
  94 +
92 return array($strAcoesProcedimento); 95 return array($strAcoesProcedimento);
93 } 96 }
94 97
95 public function montarIconeControleProcessos($arrObjProcedimentoAPI = array()) { 98 public function montarIconeControleProcessos($arrObjProcedimentoAPI = array()) {
96 - 99 +
97 $arrStrIcone = array(); 100 $arrStrIcone = array();
98 $arrDblIdProcedimento = array(); 101 $arrDblIdProcedimento = array();
99 102
@@ -131,7 +134,7 @@ class PENIntegracao extends SeiIntegracao { @@ -131,7 +134,7 @@ class PENIntegracao extends SeiIntegracao {
131 134
132 return $arrStrIcone; 135 return $arrStrIcone;
133 } 136 }
134 - 137 +
135 public function montarIconeProcesso(ProcedimentoAPI $objProcedimentoAP) { 138 public function montarIconeProcesso(ProcedimentoAPI $objProcedimentoAP) {
136 $dblIdProcedimento = $objProcedimentoAP->getIdProcedimento(); 139 $dblIdProcedimento = $objProcedimentoAP->getIdProcedimento();
137 140
@@ -146,15 +149,15 @@ class PENIntegracao extends SeiIntegracao { @@ -146,15 +149,15 @@ class PENIntegracao extends SeiIntegracao {
146 $objArvoreAcaoItemAPI->setHref('javascript:alert(\'Um trâmite para esse processo foi recusado\');'); 149 $objArvoreAcaoItemAPI->setHref('javascript:alert(\'Um trâmite para esse processo foi recusado\');');
147 150
148 $objArvoreAcaoItemAPI->setSinHabilitado('S'); 151 $objArvoreAcaoItemAPI->setSinHabilitado('S');
149 - 152 +
150 $objProcedimentoDTO = new ProcedimentoDTO(); 153 $objProcedimentoDTO = new ProcedimentoDTO();
151 $objProcedimentoDTO->setDblIdProcedimento($dblIdProcedimento); 154 $objProcedimentoDTO->setDblIdProcedimento($dblIdProcedimento);
152 $objProcedimentoDTO->retDblIdProcedimento(); 155 $objProcedimentoDTO->retDblIdProcedimento();
153 $objProcedimentoDTO->retStrStaEstadoProtocolo(); 156 $objProcedimentoDTO->retStrStaEstadoProtocolo();
154 - 157 +
155 $objProcedimentoBD = new ProcedimentoBD(BancoSEI::getInstance()); 158 $objProcedimentoBD = new ProcedimentoBD(BancoSEI::getInstance());
156 $arrObjProcedimentoDTO = $objProcedimentoBD->consultar($objProcedimentoDTO); 159 $arrObjProcedimentoDTO = $objProcedimentoBD->consultar($objProcedimentoDTO);
157 - 160 +
158 if (!empty($arrObjProcedimentoDTO)) { 161 if (!empty($arrObjProcedimentoDTO)) {
159 $dblIdProcedimento = $objProcedimentoDTO->getDblIdProcedimento(); 162 $dblIdProcedimento = $objProcedimentoDTO->getDblIdProcedimento();
160 $objPenProtocoloDTO = new PenProtocoloDTO(); 163 $objPenProtocoloDTO = new PenProtocoloDTO();
@@ -176,7 +179,7 @@ class PENIntegracao extends SeiIntegracao { @@ -176,7 +179,7 @@ class PENIntegracao extends SeiIntegracao {
176 } 179 }
177 180
178 public function montarIconeAcompanhamentoEspecial($arrObjProcedimentoDTO) { 181 public function montarIconeAcompanhamentoEspecial($arrObjProcedimentoDTO) {
179 - 182 +
180 } 183 }
181 184
182 public function getDiretorioImagens() { 185 public function getDiretorioImagens() {
@@ -203,110 +206,121 @@ class PENIntegracao extends SeiIntegracao { @@ -203,110 +206,121 @@ class PENIntegracao extends SeiIntegracao {
203 } 206 }
204 207
205 public static function getDiretorio() { 208 public static function getDiretorio() {
206 -  
207 -  
208 $arrConfig = ConfiguracaoSEI::getInstance()->getValor('SEI', 'Modulos'); 209 $arrConfig = ConfiguracaoSEI::getInstance()->getValor('SEI', 'Modulos');
209 $strModulo = $arrConfig['PENIntegracao']; 210 $strModulo = $arrConfig['PENIntegracao'];
210 -  
211 return "modulos/".$strModulo; 211 return "modulos/".$strModulo;
212 } 212 }
213 213
214 - public function processarControlador($strAcao) { 214 + public function processarControlador($strAcao)
  215 + {
  216 + //Configuração de páginas do contexto da árvore do processo para apresentação de erro de forma correta
  217 + $bolArvore = in_array($strAcao, array('pen_procedimento_expedir', 'pen_procedimento_estado'));
  218 + PaginaSEI::getInstance()->setBolArvore($bolArvore);
  219 +
  220 + if (strpos($strAcao, 'pen_') === false) {
  221 + return false;
  222 + }
  223 +
  224 + PENIntegracao::validarCompatibilidadeModulo();
  225 +
215 switch ($strAcao) { 226 switch ($strAcao) {
216 case 'pen_procedimento_expedir': 227 case 'pen_procedimento_expedir':
217 require_once dirname(__FILE__) . '/pen_procedimento_expedir.php'; 228 require_once dirname(__FILE__) . '/pen_procedimento_expedir.php';
218 - return true;  
219 - //TODO: Alterar nome do recurso para pen_procedimento_expedir_unidade_sel 229 + break;
  230 +
220 case 'pen_unidade_sel_expedir_procedimento': 231 case 'pen_unidade_sel_expedir_procedimento':
221 require_once dirname(__FILE__) . '/pen_unidade_sel_expedir_procedimento.php'; 232 require_once dirname(__FILE__) . '/pen_unidade_sel_expedir_procedimento.php';
222 - return true; 233 + break;
223 234
224 case 'pen_procedimento_processo_anexado': 235 case 'pen_procedimento_processo_anexado':
225 require_once dirname(__FILE__) . '/pen_procedimento_processo_anexado.php'; 236 require_once dirname(__FILE__) . '/pen_procedimento_processo_anexado.php';
226 - return true; 237 + break;
227 238
228 case 'pen_procedimento_cancelar_expedir': 239 case 'pen_procedimento_cancelar_expedir':
229 require_once dirname(__FILE__) . '/pen_procedimento_cancelar_expedir.php'; 240 require_once dirname(__FILE__) . '/pen_procedimento_cancelar_expedir.php';
230 - return true; 241 + break;
231 242
232 case 'pen_procedimento_expedido_listar': 243 case 'pen_procedimento_expedido_listar':
233 require_once dirname(__FILE__) . '/pen_procedimento_expedido_listar.php'; 244 require_once dirname(__FILE__) . '/pen_procedimento_expedido_listar.php';
234 - return true; 245 + break;
235 246
236 case 'pen_map_tipo_documento_envio_listar': 247 case 'pen_map_tipo_documento_envio_listar':
237 case 'pen_map_tipo_documento_envio_excluir': 248 case 'pen_map_tipo_documento_envio_excluir':
238 case 'pen_map_tipo_documento_envio_desativar': 249 case 'pen_map_tipo_documento_envio_desativar':
239 case 'pen_map_tipo_documento_envio_ativar': 250 case 'pen_map_tipo_documento_envio_ativar':
240 require_once dirname(__FILE__) . '/pen_map_tipo_documento_envio_listar.php'; 251 require_once dirname(__FILE__) . '/pen_map_tipo_documento_envio_listar.php';
241 - return true; 252 + break;
242 253
243 case 'pen_map_tipo_documento_envio_cadastrar': 254 case 'pen_map_tipo_documento_envio_cadastrar':
244 case 'pen_map_tipo_documento_envio_visualizar': 255 case 'pen_map_tipo_documento_envio_visualizar':
245 require_once dirname(__FILE__) . '/pen_map_tipo_documento_envio_cadastrar.php'; 256 require_once dirname(__FILE__) . '/pen_map_tipo_documento_envio_cadastrar.php';
246 - return true; 257 + break;
247 258
248 case 'pen_map_tipo_documento_recebimento_listar': 259 case 'pen_map_tipo_documento_recebimento_listar':
249 case 'pen_map_tipo_documento_recebimento_excluir': 260 case 'pen_map_tipo_documento_recebimento_excluir':
250 require_once dirname(__FILE__) . '/pen_map_tipo_documento_recebimento_listar.php'; 261 require_once dirname(__FILE__) . '/pen_map_tipo_documento_recebimento_listar.php';
251 - return true; 262 + break;
252 263
253 case 'pen_map_tipo_documento_recebimento_cadastrar': 264 case 'pen_map_tipo_documento_recebimento_cadastrar':
254 case 'pen_map_tipo_documento_recebimento_visualizar': 265 case 'pen_map_tipo_documento_recebimento_visualizar':
255 require_once dirname(__FILE__) . '/pen_map_tipo_documento_recebimento_cadastrar.php'; 266 require_once dirname(__FILE__) . '/pen_map_tipo_documento_recebimento_cadastrar.php';
256 - return true; 267 + break;
257 268
258 case 'pen_apensados_selecionar_expedir_procedimento': 269 case 'pen_apensados_selecionar_expedir_procedimento':
259 require_once dirname(__FILE__) . '/apensados_selecionar_expedir_procedimento.php'; 270 require_once dirname(__FILE__) . '/apensados_selecionar_expedir_procedimento.php';
260 - return true; 271 + break;
261 272
262 case 'pen_procedimento_estado': 273 case 'pen_procedimento_estado':
263 require_once dirname(__FILE__) . '/pen_procedimento_estado.php'; 274 require_once dirname(__FILE__) . '/pen_procedimento_estado.php';
264 - return true;  
265 - 275 + break;
  276 +
266 // Mapeamento de Hipóteses Legais de Envio 277 // Mapeamento de Hipóteses Legais de Envio
267 case 'pen_map_hipotese_legal_envio_cadastrar': 278 case 'pen_map_hipotese_legal_envio_cadastrar':
268 case 'pen_map_hipotese_legal_envio_visualizar': 279 case 'pen_map_hipotese_legal_envio_visualizar':
269 require_once dirname(__FILE__) . '/pen_map_hipotese_legal_envio_cadastrar.php'; 280 require_once dirname(__FILE__) . '/pen_map_hipotese_legal_envio_cadastrar.php';
270 - return true;  
271 - 281 + break;
  282 +
272 case 'pen_map_hipotese_legal_envio_listar': 283 case 'pen_map_hipotese_legal_envio_listar':
273 case 'pen_map_hipotese_legal_envio_excluir': 284 case 'pen_map_hipotese_legal_envio_excluir':
274 require_once dirname(__FILE__) . '/pen_map_hipotese_legal_envio_listar.php'; 285 require_once dirname(__FILE__) . '/pen_map_hipotese_legal_envio_listar.php';
275 - return true;  
276 - 286 + break;
  287 +
277 // Mapeamento de Hipóteses Legais de Recebimento 288 // Mapeamento de Hipóteses Legais de Recebimento
278 case 'pen_map_hipotese_legal_recebimento_cadastrar': 289 case 'pen_map_hipotese_legal_recebimento_cadastrar':
279 case 'pen_map_hipotese_legal_recebimento_visualizar': 290 case 'pen_map_hipotese_legal_recebimento_visualizar':
280 require_once dirname(__FILE__) . '/pen_map_hipotese_legal_recebimento_cadastrar.php'; 291 require_once dirname(__FILE__) . '/pen_map_hipotese_legal_recebimento_cadastrar.php';
281 - return true;  
282 - 292 + break;
  293 +
283 case 'pen_map_hipotese_legal_recebimento_listar': 294 case 'pen_map_hipotese_legal_recebimento_listar':
284 case 'pen_map_hipotese_legal_recebimento_excluir': 295 case 'pen_map_hipotese_legal_recebimento_excluir':
285 require_once dirname(__FILE__) . '/pen_map_hipotese_legal_recebimento_listar.php'; 296 require_once dirname(__FILE__) . '/pen_map_hipotese_legal_recebimento_listar.php';
286 - return true;  
287 - 297 + break;
  298 +
288 case 'pen_map_hipotese_legal_padrao_cadastrar': 299 case 'pen_map_hipotese_legal_padrao_cadastrar':
289 case 'pen_map_hipotese_legal_padrao_visualizar': 300 case 'pen_map_hipotese_legal_padrao_visualizar':
290 require_once dirname(__FILE__) . '/pen_map_hipotese_legal_padrao_cadastrar.php'; 301 require_once dirname(__FILE__) . '/pen_map_hipotese_legal_padrao_cadastrar.php';
291 - return true;  
292 - 302 + break;
  303 +
293 case 'pen_map_unidade_cadastrar': 304 case 'pen_map_unidade_cadastrar':
294 case 'pen_map_unidade_visualizar': 305 case 'pen_map_unidade_visualizar':
295 require_once dirname(__FILE__) . '/pen_map_unidade_cadastrar.php'; 306 require_once dirname(__FILE__) . '/pen_map_unidade_cadastrar.php';
296 - return true;  
297 - 307 + break;
  308 +
298 case 'pen_map_unidade_listar': 309 case 'pen_map_unidade_listar':
299 case 'pen_map_unidade_excluir': 310 case 'pen_map_unidade_excluir':
300 require_once dirname(__FILE__) . '/pen_map_unidade_listar.php'; 311 require_once dirname(__FILE__) . '/pen_map_unidade_listar.php';
301 - return true;  
302 - 312 + break;
  313 +
303 case 'pen_parametros_configuracao': 314 case 'pen_parametros_configuracao':
304 case 'pen_parametros_configuracao_salvar': 315 case 'pen_parametros_configuracao_salvar':
305 require_once dirname(__FILE__) . '/pen_parametros_configuracao.php'; 316 require_once dirname(__FILE__) . '/pen_parametros_configuracao.php';
306 - return true; 317 + break;
  318 + default:
  319 + return false;
  320 + break;
307 } 321 }
308 322
309 - return false; 323 + return true;
310 } 324 }
311 325
312 public function processarControladorAjax($strAcao) { 326 public function processarControladorAjax($strAcao) {
@@ -325,7 +339,7 @@ class PENIntegracao extends SeiIntegracao { @@ -325,7 +339,7 @@ class PENIntegracao extends SeiIntegracao {
325 break; 339 break;
326 340
327 case 'pen_apensados_auto_completar_expedir_procedimento': 341 case 'pen_apensados_auto_completar_expedir_procedimento':
328 - //TODO: Validar parâmetros passados via ajax 342 + //TODO: Validar parâmetros passados via ajax
329 $dblIdProcedimentoAtual = $_POST['id_procedimento_atual']; 343 $dblIdProcedimentoAtual = $_POST['id_procedimento_atual'];
330 $numIdUnidadeAtual = SessaoSEI::getInstance()->getNumIdUnidadeAtual(); 344 $numIdUnidadeAtual = SessaoSEI::getInstance()->getNumIdUnidadeAtual();
331 $arrObjProcedimentoDTO = ProcessoEletronicoINT::autoCompletarProcessosApensados($dblIdProcedimentoAtual, $numIdUnidadeAtual, $_POST['palavras_pesquisa']); 345 $arrObjProcedimentoDTO = ProcessoEletronicoINT::autoCompletarProcessosApensados($dblIdProcedimentoAtual, $numIdUnidadeAtual, $_POST['palavras_pesquisa']);
@@ -340,4 +354,10 @@ class PENIntegracao extends SeiIntegracao { @@ -340,4 +354,10 @@ class PENIntegracao extends SeiIntegracao {
340 return $xml; 354 return $xml;
341 } 355 }
342 356
343 -}  
344 \ No newline at end of file 357 \ No newline at end of file
  358 + public static function validarCompatibilidadeModulo($bolGerarExcecao = true, $strVersaoSEI = SEI_VERSAO) {
  359 + $objPENIntegracao = new PENIntegracao();
  360 + if(!in_array($strVersaoSEI, self::COMPATIBILIDADE_MODULO_SEI)) {
  361 + throw new InfraException(sprintf("Módulo %s (versão %s) não é compatível com a versão %s do SEI.", $objPENIntegracao->getNome(), $objPENIntegracao->getVersao(), $strVersaoSEI));
  362 + }
  363 + }
  364 +}
pen_procedimento_expedir.php
@@ -12,11 +12,11 @@ try { @@ -12,11 +12,11 @@ try {
12 12
13 $objSessaoSEI = SessaoSEI::getInstance(); 13 $objSessaoSEI = SessaoSEI::getInstance();
14 $objPaginaSEI = PaginaSEI::getInstance(); 14 $objPaginaSEI = PaginaSEI::getInstance();
15 - 15 +
16 $objSessaoSEI->validarLink(); 16 $objSessaoSEI->validarLink();
17 $objSessaoSEI->validarPermissao($_GET['acao']); 17 $objSessaoSEI->validarPermissao($_GET['acao']);
18 18
19 - 19 +
20 $strParametros = ''; 20 $strParametros = '';
21 $bolErrosValidacao = false; 21 $bolErrosValidacao = false;
22 $executarExpedicao = false; 22 $executarExpedicao = false;
@@ -41,21 +41,18 @@ try { @@ -41,21 +41,18 @@ try {
41 if (isset($_GET['executar'])) { 41 if (isset($_GET['executar'])) {
42 $executarExpedicao = filter_var($_GET['executar'], FILTER_VALIDATE_BOOLEAN); 42 $executarExpedicao = filter_var($_GET['executar'], FILTER_VALIDATE_BOOLEAN);
43 } 43 }
44 -  
45 -  
46 -  
47 - 44 +
48 //$objPaginaSEI->setBolExibirMensagens(false); 45 //$objPaginaSEI->setBolExibirMensagens(false);
49 46
50 //$resultProcessosAnexados = $objExpedirProcedimentosRN->consultarProcessosApensados($idProcedimento); 47 //$resultProcessosAnexados = $objExpedirProcedimentosRN->consultarProcessosApensados($idProcedimento);
51 - 48 +
52 //$strLinkAssuntosSelecao = $objSessaoSEI->assinarLink('controlador.php?acao=pen_procedimento_processo_anexado&tipo_selecao=2&id_object=objLupaAssuntos'); 49 //$strLinkAssuntosSelecao = $objSessaoSEI->assinarLink('controlador.php?acao=pen_procedimento_processo_anexado&tipo_selecao=2&id_object=objLupaAssuntos');
53 50
54 - 51 +
55 switch ($_GET['acao']) { 52 switch ($_GET['acao']) {
56 53
57 case 'pen_procedimento_expedir': 54 case 'pen_procedimento_expedir':
58 - 55 +
59 $strTitulo = 'Envio Externo de Processo'; 56 $strTitulo = 'Envio Externo de Processo';
60 $arrComandos[] = '<button type="button" accesskey="E" onclick="enviarForm(this)" value="Enviar" class="infraButton" style="width:8%;"><span class="infraTeclaAtalho">E</span>nviar</button>'; 57 $arrComandos[] = '<button type="button" accesskey="E" onclick="enviarForm(this)" value="Enviar" class="infraButton" style="width:8%;"><span class="infraTeclaAtalho">E</span>nviar</button>';
61 $arrComandos[] = '<button type="button" accesskey="C" name="btnCancelar" value="Cancelar" onclick="location.href=\'' . $objPaginaSEI->formatarXHTML($objSessaoSEI->assinarLink('controlador.php?acao=' . $objPaginaSEI->getAcaoRetorno() . '&acao_origem=' . $_GET['acao'] . '&acao_destino=' . $_GET['acao'] . $strParametros)) . '\';" class="infraButton"><span class="infraTeclaAtalho">C</span>ancelar</button>'; 58 $arrComandos[] = '<button type="button" accesskey="C" name="btnCancelar" value="Cancelar" onclick="location.href=\'' . $objPaginaSEI->formatarXHTML($objSessaoSEI->assinarLink('controlador.php?acao=' . $objPaginaSEI->getAcaoRetorno() . '&acao_origem=' . $_GET['acao'] . '&acao_destino=' . $_GET['acao'] . $strParametros)) . '\';" class="infraButton"><span class="infraTeclaAtalho">C</span>ancelar</button>';
@@ -64,57 +61,57 @@ try { @@ -64,57 +61,57 @@ try {
64 //Obter dados do repositório em que o SEI está registrado (Repositório de Origem) 61 //Obter dados do repositório em que o SEI está registrado (Repositório de Origem)
65 $objPenParametroRN = new PenParametroRN(); 62 $objPenParametroRN = new PenParametroRN();
66 $numIdRepositorioOrigem = $objPenParametroRN->getParametro('PEN_ID_REPOSITORIO_ORIGEM'); 63 $numIdRepositorioOrigem = $objPenParametroRN->getParametro('PEN_ID_REPOSITORIO_ORIGEM');
67 - 64 +
68 //Preparação dos dados para montagem da tela de expedição de processos 65 //Preparação dos dados para montagem da tela de expedição de processos
69 - $repositorios = $objExpedirProcedimentosRN->listarRepositoriosDeEstruturas(); 66 + $repositorios = $objExpedirProcedimentosRN->listarRepositoriosDeEstruturas();
70 $motivosDeUrgencia = $objExpedirProcedimentosRN->consultarMotivosUrgencia(); 67 $motivosDeUrgencia = $objExpedirProcedimentosRN->consultarMotivosUrgencia();
71 68
72 $idRepositorioSelecionado = (isset($numIdRepositorio)) ? $numIdRepositorio : ''; 69 $idRepositorioSelecionado = (isset($numIdRepositorio)) ? $numIdRepositorio : '';
73 $strItensSelRepositorioEstruturas = InfraINT::montarSelectArray('', 'Selecione', $idRepositorioSelecionado, $repositorios); 70 $strItensSelRepositorioEstruturas = InfraINT::montarSelectArray('', 'Selecione', $idRepositorioSelecionado, $repositorios);
74 - 71 +
75 $idMotivosUrgenciaSelecionado = (isset($idMotivosUrgenciaSelecionado)) ? $idMotivosUrgenciaSelecionado : ''; 72 $idMotivosUrgenciaSelecionado = (isset($idMotivosUrgenciaSelecionado)) ? $idMotivosUrgenciaSelecionado : '';
76 - $strItensSelMotivosUrgencia = InfraINT::montarSelectArray('', 'Selecione', $idMotivosUrgenciaSelecionado, $motivosDeUrgencia); 73 + $strItensSelMotivosUrgencia = InfraINT::montarSelectArray('', 'Selecione', $idMotivosUrgenciaSelecionado, $motivosDeUrgencia);
77 74
78 - $strLinkAjaxUnidade = $objSessaoSEI->assinarLink('controlador_ajax.php?acao_ajax=pen_unidade_auto_completar_expedir_procedimento'); 75 + $strLinkAjaxUnidade = $objSessaoSEI->assinarLink('controlador_ajax.php?acao_ajax=pen_unidade_auto_completar_expedir_procedimento');
79 $strLinkAjaxProcedimentoApensado = $objSessaoSEI->assinarLink('controlador_ajax.php?acao_ajax=pen_apensados_auto_completar_expedir_procedimento'); 76 $strLinkAjaxProcedimentoApensado = $objSessaoSEI->assinarLink('controlador_ajax.php?acao_ajax=pen_apensados_auto_completar_expedir_procedimento');
80 - 77 +
81 //$strLinkUnidadeSelecao = $objSessaoSEI->assinarLink('controlador.php?acao=pen_unidade_sel_expedir_procedimento&tipo_selecao=2&id_object=objLupaUnidades'); 78 //$strLinkUnidadeSelecao = $objSessaoSEI->assinarLink('controlador.php?acao=pen_unidade_sel_expedir_procedimento&tipo_selecao=2&id_object=objLupaUnidades');
82 //$strLinkRepositorioSelecao = $objSessaoSEI->assinarLink('controlador.php?acao=pen_repositorio_selecionar_expedir_procedimento&tipo_selecao=2&id_object=objLupaProcedimentosApensados'); 79 //$strLinkRepositorioSelecao = $objSessaoSEI->assinarLink('controlador.php?acao=pen_repositorio_selecionar_expedir_procedimento&tipo_selecao=2&id_object=objLupaProcedimentosApensados');
83 $strLinkProcedimentosApensadosSelecao = $objSessaoSEI->assinarLink('controlador.php?acao=pen_apensados_selecionar_expedir_procedimento&tipo_selecao=2&id_object=objLupaProcedimentosApensados&id_procedimento='.$idProcedimento.''); 80 $strLinkProcedimentosApensadosSelecao = $objSessaoSEI->assinarLink('controlador.php?acao=pen_apensados_selecionar_expedir_procedimento&tipo_selecao=2&id_object=objLupaProcedimentosApensados&id_procedimento='.$idProcedimento.'');
84 81
85 //TODO: Obter dados do repositório e unidade de orígem através de serviço do PEN 82 //TODO: Obter dados do repositório e unidade de orígem através de serviço do PEN
86 //Obtenção dos parâmetros selecionados pelo usuário 83 //Obtenção dos parâmetros selecionados pelo usuário
87 - 84 +
88 //TODO: Obter repositório de origem a partir dos parâmetros do sistema 85 //TODO: Obter repositório de origem a partir dos parâmetros do sistema
89 //$numIdRepositorioOrigem = 1; 86 //$numIdRepositorioOrigem = 1;
90 //$numIdUnidadeOrigem = 161313; 87 //$numIdUnidadeOrigem = 161313;
91 -  
92 - //TODO: Atualmente, o campo ID Unidade RH irá conter o código da unidade registrado no barramento. 88 +
  89 + //TODO: Atualmente, o campo ID Unidade RH irá conter o código da unidade registrado no barramento.
93 //A ideia é que no futura, o campo contenha o código do SIORG e busque no barramento qual o código da estrutura 90 //A ideia é que no futura, o campo contenha o código do SIORG e busque no barramento qual o código da estrutura
94 91
95 //$objSessaoSEI->getNumIdUnidadeAtual() 92 //$objSessaoSEI->getNumIdUnidadeAtual()
96 - $objUnidadeDTO = new PenUnidadeDTO(); 93 + $objUnidadeDTO = new PenUnidadeDTO();
97 $objUnidadeDTO->retNumIdUnidadeRH(); 94 $objUnidadeDTO->retNumIdUnidadeRH();
98 $objUnidadeDTO->setNumIdUnidade($objSessaoSEI->getNumIdUnidadeAtual()); 95 $objUnidadeDTO->setNumIdUnidade($objSessaoSEI->getNumIdUnidadeAtual());
99 - 96 +
100 $objUnidadeRN = new UnidadeRN(); 97 $objUnidadeRN = new UnidadeRN();
101 $objUnidadeDTO = $objUnidadeRN->consultarRN0125($objUnidadeDTO); 98 $objUnidadeDTO = $objUnidadeRN->consultarRN0125($objUnidadeDTO);
102 - 99 +
103 if (!$objUnidadeDTO) { 100 if (!$objUnidadeDTO) {
104 throw new InfraException("A unidade atual não foi mapeada."); 101 throw new InfraException("A unidade atual não foi mapeada.");
105 } 102 }
106 -  
107 - $numIdUnidadeOrigem = $objUnidadeDTO->getNumIdUnidadeRH(); 103 +
  104 + $numIdUnidadeOrigem = $objUnidadeDTO->getNumIdUnidadeRH();
108 $numIdProcedimento = $_POST['hdnIdProcedimento']; 105 $numIdProcedimento = $_POST['hdnIdProcedimento'];
109 $strProtocoloProcedimentoFormatado = $_POST['txtProtocoloExibir']; 106 $strProtocoloProcedimentoFormatado = $_POST['txtProtocoloExibir'];
110 $numIdRepositorio = $_POST['selRepositorioEstruturas']; 107 $numIdRepositorio = $_POST['selRepositorioEstruturas'];
111 $strRepositorio = (array_key_exists($numIdRepositorio, $repositorios) ? $repositorios[$numIdRepositorio] : ''); 108 $strRepositorio = (array_key_exists($numIdRepositorio, $repositorios) ? $repositorios[$numIdRepositorio] : '');
112 $numIdUnidadeDestino = $_POST['hdnIdUnidade']; 109 $numIdUnidadeDestino = $_POST['hdnIdUnidade'];
113 - $strNomeUnidadeDestino = $_POST['txtUnidade']; 110 + $strNomeUnidadeDestino = $_POST['txtUnidade'];
114 $numIdMotivoUrgente = $_POST['selMotivosUrgencia']; 111 $numIdMotivoUrgente = $_POST['selMotivosUrgencia'];
115 - $boolSinUrgente = $objPaginaSEI->getCheckbox($_POST['chkSinUrgente'], true, false); 112 + $boolSinUrgente = $objPaginaSEI->getCheckbox($_POST['chkSinUrgente'], true, false);
116 $arrIdProcedimentosApensados = $objPaginaSEI->getArrValuesSelect($_POST['hdnProcedimentosApensados']); 113 $arrIdProcedimentosApensados = $objPaginaSEI->getArrValuesSelect($_POST['hdnProcedimentosApensados']);
117 - 114 +
118 //Carregar dados do procedimento na primeiro acesso à página 115 //Carregar dados do procedimento na primeiro acesso à página
119 if (!isset($_POST['hdnIdProcedimento'])) { 116 if (!isset($_POST['hdnIdProcedimento'])) {
120 117
@@ -125,13 +122,13 @@ try { @@ -125,13 +122,13 @@ try {
125 // 122 //
126 // try { 123 // try {
127 // //Validação das pré-condições para que o processo possa ser expedido 124 // //Validação das pré-condições para que o processo possa ser expedido
128 -// $objInfraException = new InfraException(); 125 +// $objInfraException = new InfraException();
129 // $objExpedirProcedimentosRN->validarPreCondicoesExpedirProcedimento($objInfraException, $objProcedimentoDTO); 126 // $objExpedirProcedimentosRN->validarPreCondicoesExpedirProcedimento($objInfraException, $objProcedimentoDTO);
130 // $objInfraException->lancarValidacoes(); 127 // $objInfraException->lancarValidacoes();
131 // } catch(Exception $e){ 128 // } catch(Exception $e){
132 // $bolErrosValidacao = true; 129 // $bolErrosValidacao = true;
133 // $objPaginaSEI->processarExcecao($e); 130 // $objPaginaSEI->processarExcecao($e);
134 -// } 131 +// }
135 132
136 $numIdProcedimento = $objProcedimentoDTO->getDblIdProcedimento(); 133 $numIdProcedimento = $objProcedimentoDTO->getDblIdProcedimento();
137 $strProtocoloProcedimentoFormatado = $objProcedimentoDTO->getStrProtocoloProcedimentoFormatado(); 134 $strProtocoloProcedimentoFormatado = $objProcedimentoDTO->getStrProtocoloProcedimentoFormatado();
@@ -141,14 +138,14 @@ try { @@ -141,14 +138,14 @@ try {
141 // Executado dentro da window 138 // Executado dentro da window
142 //------------------------------------------------------------------ 139 //------------------------------------------------------------------
143 //Tratamento da ação de expedir o procedimento 140 //Tratamento da ação de expedir o procedimento
144 - if(isset($_POST['sbmExpedir'])) { 141 + if(isset($_POST['sbmExpedir'])) {
145 142
146 $strTituloPagina = "Envio externo do processo $strProtocoloProcedimentoFormatado"; 143 $strTituloPagina = "Envio externo do processo $strProtocoloProcedimentoFormatado";
147 - $objPaginaSEI->prepararBarraProgresso($strTitulo, $strTituloPagina);  
148 -  
149 - $objExpedirProcedimentoDTO = new ExpedirProcedimentoDTO();  
150 -  
151 - //TODO: Remover atribuição de tais parâmetros de 144 + $objPaginaSEI->prepararBarraProgresso($strTitulo, $strTituloPagina);
  145 +
  146 + $objExpedirProcedimentoDTO = new ExpedirProcedimentoDTO();
  147 +
  148 + //TODO: Remover atribuição de tais parâmetros de
152 $objExpedirProcedimentoDTO->setNumIdRepositorioOrigem($numIdRepositorioOrigem); 149 $objExpedirProcedimentoDTO->setNumIdRepositorioOrigem($numIdRepositorioOrigem);
153 $objExpedirProcedimentoDTO->setNumIdUnidadeOrigem($numIdUnidadeOrigem); 150 $objExpedirProcedimentoDTO->setNumIdUnidadeOrigem($numIdUnidadeOrigem);
154 151
@@ -165,10 +162,10 @@ try { @@ -165,10 +162,10 @@ try {
165 162
166 try { 163 try {
167 $respostaExpedir = $objExpedirProcedimentosRN->expedirProcedimento($objExpedirProcedimentoDTO); 164 $respostaExpedir = $objExpedirProcedimentosRN->expedirProcedimento($objExpedirProcedimentoDTO);
168 - 165 +
169 echo '<input type="button" onclick="javascript:window.close()" class="botao_fechar" value="Fechar" ' 166 echo '<input type="button" onclick="javascript:window.close()" class="botao_fechar" value="Fechar" '
170 . 'style="margin-left: 84%; margin-top: 4%;"/>'; //Botão para fechar a janela 167 . 'style="margin-left: 84%; margin-top: 4%;"/>'; //Botão para fechar a janela
171 - } catch(\Exception $e) { 168 + } catch(\Exception $e) {
172 $objPaginaSEI->processarExcecao($e); 169 $objPaginaSEI->processarExcecao($e);
173 } 170 }
174 171
@@ -181,11 +178,11 @@ try { @@ -181,11 +178,11 @@ try {
181 throw new InfraException("Ação '" . $_GET['acao'] . "' não reconhecida."); 178 throw new InfraException("Ação '" . $_GET['acao'] . "' não reconhecida.");
182 } 179 }
183 180
184 -} catch (Exception $e) { 181 +} catch (Exception $e) {
185 //$objPaginaSEI->finalizarBarraProgresso($objSessaoSEI->assinarLink('controlador.php?acao='.$objPaginaSEI->getAcaoRetorno().'&acao_origem='.$_GET['acao'].'#ID-'.$IdProcedimento)); 182 //$objPaginaSEI->finalizarBarraProgresso($objSessaoSEI->assinarLink('controlador.php?acao='.$objPaginaSEI->getAcaoRetorno().'&acao_origem='.$_GET['acao'].'#ID-'.$IdProcedimento));
186 //$objPaginaSEI->processarExcecao($e); 183 //$objPaginaSEI->processarExcecao($e);
187 throw new InfraException("Error Processing Request 11", $e); 184 throw new InfraException("Error Processing Request 11", $e);
188 - 185 +
189 } 186 }
190 187
191 $objPaginaSEI->montarDocType(); 188 $objPaginaSEI->montarDocType();
@@ -231,28 +228,28 @@ var objJanelaExpedir = null; @@ -231,28 +228,28 @@ var objJanelaExpedir = null;
231 var evnJanelaExpedir = null; 228 var evnJanelaExpedir = null;
232 229
233 function inicializar() { 230 function inicializar() {
234 - 231 +
235 objLupaProcedimentosApensados = new infraLupaSelect('selProcedimentosApensados','hdnProcedimentosApensados','<?=$strLinkProcedimentosApensadosSelecao ?>'); 232 objLupaProcedimentosApensados = new infraLupaSelect('selProcedimentosApensados','hdnProcedimentosApensados','<?=$strLinkProcedimentosApensadosSelecao ?>');
236 - 233 +
237 objAutoCompletarEstrutura = new infraAjaxAutoCompletar('hdnIdUnidade','txtUnidade','<?=$strLinkAjaxUnidade?>', "Nenhuma unidade foi encontrada"); 234 objAutoCompletarEstrutura = new infraAjaxAutoCompletar('hdnIdUnidade','txtUnidade','<?=$strLinkAjaxUnidade?>', "Nenhuma unidade foi encontrada");
238 objAutoCompletarEstrutura.bolExecucaoAutomatica = false; 235 objAutoCompletarEstrutura.bolExecucaoAutomatica = false;
239 objAutoCompletarEstrutura.mostrarAviso = true; 236 objAutoCompletarEstrutura.mostrarAviso = true;
240 //objAutoCompletarEstrutura.tamanhoMinimo = 3; 237 //objAutoCompletarEstrutura.tamanhoMinimo = 3;
241 - objAutoCompletarEstrutura.limparCampo = false; 238 + objAutoCompletarEstrutura.limparCampo = false;
242 //objAutoCompletarEstrutura.mostrarImagemVerificado = true; 239 //objAutoCompletarEstrutura.mostrarImagemVerificado = true;
243 objAutoCompletarEstrutura.tempoAviso = 10000000; 240 objAutoCompletarEstrutura.tempoAviso = 10000000;
244 241
245 objAutoCompletarEstrutura.prepararExecucao = function(){ 242 objAutoCompletarEstrutura.prepararExecucao = function(){
246 var selRepositorioEstruturas = document.getElementById('selRepositorioEstruturas'); 243 var selRepositorioEstruturas = document.getElementById('selRepositorioEstruturas');
247 var parametros = 'palavras_pesquisa=' + document.getElementById('txtUnidade').value; 244 var parametros = 'palavras_pesquisa=' + document.getElementById('txtUnidade').value;
248 - parametros += '&id_repositorio=' + selRepositorioEstruturas.options[selRepositorioEstruturas.selectedIndex].value 245 + parametros += '&id_repositorio=' + selRepositorioEstruturas.options[selRepositorioEstruturas.selectedIndex].value
249 return parametros; 246 return parametros;
250 }; 247 };
251 248
252 objAutoCompletarEstrutura.processarResultado = function(id,descricao,complemento){ 249 objAutoCompletarEstrutura.processarResultado = function(id,descricao,complemento){
253 - window.infraAvisoCancelar(); 250 + window.infraAvisoCancelar();
254 }; 251 };
255 - 252 +
256 $('#hdnIdUnidade2').click(function() { 253 $('#hdnIdUnidade2').click(function() {
257 objAutoCompletarEstrutura.executar(); 254 objAutoCompletarEstrutura.executar();
258 objAutoCompletarEstrutura.procurar(); 255 objAutoCompletarEstrutura.procurar();
@@ -367,28 +364,28 @@ function avaliarPreCondicoes() { @@ -367,28 +364,28 @@ function avaliarPreCondicoes() {
367 infraDesabilitarCamposDiv(document.getElementById('divProcedimentosApensados')); 364 infraDesabilitarCamposDiv(document.getElementById('divProcedimentosApensados'));
368 infraDesabilitarCamposDiv(document.getElementById('divSinUrgente')); 365 infraDesabilitarCamposDiv(document.getElementById('divSinUrgente'));
369 infraDesabilitarCamposDiv(document.getElementById('divMotivosUrgencia')); 366 infraDesabilitarCamposDiv(document.getElementById('divMotivosUrgencia'));
370 - 367 +
371 var smbExpedir = document.getElementById('sbmExpedir'); 368 var smbExpedir = document.getElementById('sbmExpedir');
372 smbExpedir.disabled = true; 369 smbExpedir.disabled = true;
373 - smbExpedir.className += ' infraReadOnly';  
374 - } 370 + smbExpedir.className += ' infraReadOnly';
  371 + }
375 } 372 }
376 373
377 /** 374 /**
378 * Simula o evento onclose do pop-up 375 * Simula o evento onclose do pop-up
379 - * 376 + *
380 * @return {null} 377 * @return {null}
381 */ 378 */
382 function monitorarJanela(){ 379 function monitorarJanela(){
383 - 380 +
384 if(objJanelaExpedir.closed) { 381 if(objJanelaExpedir.closed) {
385 - 382 +
386 window.clearInterval(evnJanelaExpedir); 383 window.clearInterval(evnJanelaExpedir);
387 - 384 +
388 jQuery('#divInfraModalFundo', window.parent.document).css('visibility', 'hidden'); 385 jQuery('#divInfraModalFundo', window.parent.document).css('visibility', 'hidden');
389 386
390 var strDestino = '<?php print $objSessaoSEI->assinarLink('controlador.php?acao=procedimento_trabalhar&acao_origem=procedimento_controlar&acao_retorno=procedimento_controlar&id_procedimento='.$idProcedimento); ?>'; 387 var strDestino = '<?php print $objSessaoSEI->assinarLink('controlador.php?acao=procedimento_trabalhar&acao_origem=procedimento_controlar&acao_retorno=procedimento_controlar&id_procedimento='.$idProcedimento); ?>';
391 - 388 +
392 if(strDestino) { 389 if(strDestino) {
393 window.top.location = strDestino; 390 window.top.location = strDestino;
394 } 391 }
@@ -397,22 +394,22 @@ function monitorarJanela(){ @@ -397,22 +394,22 @@ function monitorarJanela(){
397 394
398 /** 395 /**
399 * Gera a pop-up de expedir procedimento e cria os gatilho para o próprio fechamento 396 * Gera a pop-up de expedir procedimento e cria os gatilho para o próprio fechamento
400 - * 397 + *
401 * @return {null} 398 * @return {null}
402 */ 399 */
403 function abrirJanela(nome,largura,altura){ 400 function abrirJanela(nome,largura,altura){
404 - 401 +
405 var opcoes = 'location=0,status=0,resizable=0,scrollbars=1,width=' + largura + ',height=' + altura; 402 var opcoes = 'location=0,status=0,resizable=0,scrollbars=1,width=' + largura + ',height=' + altura;
406 var largura = largura || 100; 403 var largura = largura || 100;
407 var altura = altura || 100; 404 var altura = altura || 100;
408 - 405 +
409 var janela = window.open('', nome, opcoes); 406 var janela = window.open('', nome, opcoes);
410 - 407 +
411 try{ 408 try{
412 if (INFRA_CHROME>17) { 409 if (INFRA_CHROME>17) {
413 setTimeout(function() { 410 setTimeout(function() {
414 janela.moveTo(((screen.availWidth/2) - (largura/2)),((screen.availHeight/2) - (altura/2))); 411 janela.moveTo(((screen.availWidth/2) - (largura/2)),((screen.availHeight/2) - (altura/2)));
415 - },100); 412 + },100);
416 } 413 }
417 else { 414 else {
418 janela.moveTo(((screen.availWidth/2) - (largura/2)),((screen.availHeight/2) - (altura/2))); 415 janela.moveTo(((screen.availWidth/2) - (largura/2)),((screen.availHeight/2) - (altura/2)));
@@ -420,8 +417,8 @@ function abrirJanela(nome,largura,altura){ @@ -420,8 +417,8 @@ function abrirJanela(nome,largura,altura){
420 janela.focus(); 417 janela.focus();
421 } 418 }
422 catch(e){} 419 catch(e){}
423 -  
424 - 420 +
  421 +
425 infraJanelaModal = janela; 422 infraJanelaModal = janela;
426 423
427 var div = parent.document.getElementById('divInfraModalFundo'); 424 var div = parent.document.getElementById('divInfraModalFundo');
@@ -430,11 +427,11 @@ function abrirJanela(nome,largura,altura){ @@ -430,11 +427,11 @@ function abrirJanela(nome,largura,altura){
430 div = parent.document.createElement('div'); 427 div = parent.document.createElement('div');
431 div.id = 'divInfraModalFundo'; 428 div.id = 'divInfraModalFundo';
432 div.className = 'infraFundoTransparente'; 429 div.className = 'infraFundoTransparente';
433 - 430 +
434 if (INFRA_IE > 0 && INFRA_IE < 7){ 431 if (INFRA_IE > 0 && INFRA_IE < 7){
435 ifr = parent.document.createElement('iframe'); 432 ifr = parent.document.createElement('iframe');
436 ifr.className = 'infraFundoIE'; 433 ifr.className = 'infraFundoIE';
437 - div.appendChild(ifr); 434 + div.appendChild(ifr);
438 }else{ 435 }else{
439 div.onclick = function(){ 436 div.onclick = function(){
440 try{ 437 try{
@@ -442,19 +439,19 @@ function abrirJanela(nome,largura,altura){ @@ -442,19 +439,19 @@ function abrirJanela(nome,largura,altura){
442 }catch(exc){ } 439 }catch(exc){ }
443 } 440 }
444 } 441 }
445 - parent.document.body.appendChild(div); 442 + parent.document.body.appendChild(div);
446 } 443 }
447 - 444 +
448 if (INFRA_IE==0 || INFRA_IE>=7){ 445 if (INFRA_IE==0 || INFRA_IE>=7){
449 div.style.position = 'fixed'; 446 div.style.position = 'fixed';
450 } 447 }
451 - 448 +
452 div.style.width = parent.infraClientWidth() + 'px'; 449 div.style.width = parent.infraClientWidth() + 'px';
453 div.style.height = parent.infraClientHeight() + 'px'; 450 div.style.height = parent.infraClientHeight() + 'px';
454 div.style.visibility = 'visible'; 451 div.style.visibility = 'visible';
455 - 452 +
456 evnJanelaExpedir = window.setInterval('monitorarJanela()', 100); 453 evnJanelaExpedir = window.setInterval('monitorarJanela()', 100);
457 - 454 +
458 return janela; 455 return janela;
459 } 456 }
460 457
@@ -473,58 +470,58 @@ function abrirBarraProgresso(form, action, largura, altura){ @@ -473,58 +470,58 @@ function abrirBarraProgresso(form, action, largura, altura){
473 470
474 471
475 function enviarForm(el){ 472 function enviarForm(el){
476 - 473 +
477 var button = jQuery(el); 474 var button = jQuery(el);
478 var label = button.html(); 475 var label = button.html();
479 - 476 +
480 button.attr('disabled', 'disabled').html('Validando...'); 477 button.attr('disabled', 'disabled').html('Validando...');
481 478
482 var strUrl = '<?php print $objPaginaSEI->formatarXHTML($objSessaoSEI->assinarLink('controlador_ajax.php?acao_ajax=pen_procedimento_expedir_validar'.$strParametros)); ?>'; 479 var strUrl = '<?php print $objPaginaSEI->formatarXHTML($objSessaoSEI->assinarLink('controlador_ajax.php?acao_ajax=pen_procedimento_expedir_validar'.$strParametros)); ?>';
483 - var objData = {}; 480 + var objData = {};
484 481
485 jQuery.each(['txtProtocoloExibir', 'selRepositorioEstruturas', 'hdnIdUnidade'], function(index, name){ 482 jQuery.each(['txtProtocoloExibir', 'selRepositorioEstruturas', 'hdnIdUnidade'], function(index, name){
486 - 483 +
487 var objInput = jQuery('#' + name); 484 var objInput = jQuery('#' + name);
488 - 485 +
489 objData[name] = objInput.val(); 486 objData[name] = objInput.val();
490 }); 487 });
491 - 488 +
492 jQuery('option', 'select#selProcedimentosApensados').each(function(index, element){ 489 jQuery('option', 'select#selProcedimentosApensados').each(function(index, element){
493 - 490 +
494 objData['selProcedimentosApensados['+ index +']'] = jQuery(element).attr('value'); 491 objData['selProcedimentosApensados['+ index +']'] = jQuery(element).attr('value');
495 }); 492 });
496 - 493 +
497 jQuery.ajax({ 494 jQuery.ajax({
498 - 495 +
499 url:strUrl, 496 url:strUrl,
500 method:'POST', 497 method:'POST',
501 dataType:'json', 498 dataType:'json',
502 data:objData, 499 data:objData,
503 success:function(resp, textStatus, jqXHR) { 500 success:function(resp, textStatus, jqXHR) {
504 - 501 +
505 if(!resp.sucesso) { 502 if(!resp.sucesso) {
506 - 503 +
507 var strRespMensagem = "Verifique alguns erros no processo antes de tramitar:\n\n"; 504 var strRespMensagem = "Verifique alguns erros no processo antes de tramitar:\n\n";
508 - 505 +
509 jQuery.each(resp.erros, function(strProtocoloFormatado, arrStrMensagem){ 506 jQuery.each(resp.erros, function(strProtocoloFormatado, arrStrMensagem){
510 - 507 +
511 strRespMensagem += "Nr. Processo: " + strProtocoloFormatado + ".\n"; 508 strRespMensagem += "Nr. Processo: " + strProtocoloFormatado + ".\n";
512 - 509 +
513 jQuery.each(arrStrMensagem, function(index, strMensagem){ 510 jQuery.each(arrStrMensagem, function(index, strMensagem){
514 - 511 +
515 strRespMensagem += " - " + strMensagem + "\n"; 512 strRespMensagem += " - " + strMensagem + "\n";
516 }); 513 });
517 - 514 +
518 strRespMensagem += "\n"; 515 strRespMensagem += "\n";
519 }); 516 });
520 alert(strRespMensagem); 517 alert(strRespMensagem);
521 return false; 518 return false;
522 } 519 }
523 - var strAction = '<?php print $objPaginaSEI->formatarXHTML($objSessaoSEI->assinarLink('controlador.php?acao='.$_GET['acao'] . '&acao_origem=' . $_GET['acao'] . '&acao_destino=' . $_GET['acao'] .'&'.$strParametros.'&executar=1')); ?>'; 520 + var strAction = '<?php print $objPaginaSEI->formatarXHTML($objSessaoSEI->assinarLink('controlador.php?acao='.$_GET['acao'] . '&acao_origem=' . $_GET['acao'] . '&acao_destino=' . $_GET['acao'] .'&'.$strParametros.'&executar=1')); ?>';
524 abrirBarraProgresso(document.forms['frmExpedirProcedimento'], strAction, 600, 200); 521 abrirBarraProgresso(document.forms['frmExpedirProcedimento'], strAction, 600, 200);
525 } 522 }
526 }).done(function(){ 523 }).done(function(){
527 - 524 +
528 button.removeAttr('disabled').html(label); 525 button.removeAttr('disabled').html(label);
529 }); 526 });
530 } 527 }
@@ -542,55 +539,55 @@ $objPaginaSEI-&gt;abrirBody($strTitulo, &#39;onload=&quot;inicializar();&quot;&#39;); @@ -542,55 +539,55 @@ $objPaginaSEI-&gt;abrirBody($strTitulo, &#39;onload=&quot;inicializar();&quot;&#39;);
542 //$objPaginaSEI->montarBarraLocalizacao($strTitulo); 539 //$objPaginaSEI->montarBarraLocalizacao($strTitulo);
543 $objPaginaSEI->montarBarraComandosSuperior($arrComandos); 540 $objPaginaSEI->montarBarraComandosSuperior($arrComandos);
544 //$objPaginaSEI->montarAreaValidacao(); 541 //$objPaginaSEI->montarAreaValidacao();
545 -?> 542 +?>
546 <div id="divProtocoloExibir" class="infraAreaDados" style="height: 4.5em;"> 543 <div id="divProtocoloExibir" class="infraAreaDados" style="height: 4.5em;">
547 - <label id="lblProtocoloExibir" for="txtProtocoloExibir" accesskey="" class="infraLabelObrigatorio">Protocolo:</label> 544 + <label id="lblProtocoloExibir" for="txtProtocoloExibir" accesskey="" class="infraLabelObrigatorio">Protocolo:</label>
548 <input type="text" id="txtProtocoloExibir" name="txtProtocoloExibir" class="infraText infraReadOnly" readonly="readonly" value="<?=$strProtocoloProcedimentoFormatado; ?>" tabindex="<?= $objPaginaSEI->getProxTabDados() ?>" /> 545 <input type="text" id="txtProtocoloExibir" name="txtProtocoloExibir" class="infraText infraReadOnly" readonly="readonly" value="<?=$strProtocoloProcedimentoFormatado; ?>" tabindex="<?= $objPaginaSEI->getProxTabDados() ?>" />
549 </div> 546 </div>
550 547
551 <div id="divRepositorioEstruturas" class="infraAreaDados" style="height: 4.5em;"> 548 <div id="divRepositorioEstruturas" class="infraAreaDados" style="height: 4.5em;">
552 - <label id="lblRepositorioEstruturas" for="selRepositorioEstruturas" accesskey="" class="infraLabelObrigatorio">Repositório de Estruturas Organizacionais:</label> 549 + <label id="lblRepositorioEstruturas" for="selRepositorioEstruturas" accesskey="" class="infraLabelObrigatorio">Repositório de Estruturas Organizacionais:</label>
553 <select id="selRepositorioEstruturas" name="selRepositorioEstruturas" class="infraSelect" onchange="selecionarRepositorio();" tabindex="<?= $objPaginaSEI->getProxTabDados() ?>" > 550 <select id="selRepositorioEstruturas" name="selRepositorioEstruturas" class="infraSelect" onchange="selecionarRepositorio();" tabindex="<?= $objPaginaSEI->getProxTabDados() ?>" >
554 <?= $strItensSelRepositorioEstruturas ?> 551 <?= $strItensSelRepositorioEstruturas ?>
555 </select> 552 </select>
556 </div> 553 </div>
557 554
558 <div id="divUnidades" class="infraAreaDados" style="height: 4.5em;"> 555 <div id="divUnidades" class="infraAreaDados" style="height: 4.5em;">
559 - <label id="lblUnidades" for="selUnidades" class="infraLabelObrigatorio">Unidade:</label> 556 + <label id="lblUnidades" for="selUnidades" class="infraLabelObrigatorio">Unidade:</label>
560 <div class="alinhamentoBotaoImput"> 557 <div class="alinhamentoBotaoImput">
561 <input type="text" id="txtUnidade" name="txtUnidade" class="infraText infraReadOnly" disabled="disabled" value="<?=$strNomeUnidadeDestino ?>" tabindex="<?= $objPaginaSEI->getProxTabDados() ?>" value="" /> 558 <input type="text" id="txtUnidade" name="txtUnidade" class="infraText infraReadOnly" disabled="disabled" value="<?=$strNomeUnidadeDestino ?>" tabindex="<?= $objPaginaSEI->getProxTabDados() ?>" value="" />
562 - <button id="hdnIdUnidade2" type="button" class="infraText">Pesquisar</button> 559 + <button id="hdnIdUnidade2" type="button" class="infraText">Pesquisar</button>
563 </div> 560 </div>
564 -  
565 - <input type="hidden" id="hdnIdUnidade" name="hdnIdUnidade" class="infraText" value="<?=$numIdUnidadeDestino; ?>" /> 561 +
  562 + <input type="hidden" id="hdnIdUnidade" name="hdnIdUnidade" class="infraText" value="<?=$numIdUnidadeDestino; ?>" />
566 <?php /* ?><img id="imgLupaUnidades" src="/infra_css/imagens/lupa.gif" alt="Selecionar Unidades" title="Selecionar Unidades" class="infraImg" tabindex="<?= $objPaginaSEI->getProxTabDados() ?>" /><?php */ ?> 563 <?php /* ?><img id="imgLupaUnidades" src="/infra_css/imagens/lupa.gif" alt="Selecionar Unidades" title="Selecionar Unidades" class="infraImg" tabindex="<?= $objPaginaSEI->getProxTabDados() ?>" /><?php */ ?>
567 - 564 +
568 </div> 565 </div>
569 566
570 <div id="divProcedimentosApensados" class="infraAreaDados" style="height: 12em; display: none; "> 567 <div id="divProcedimentosApensados" class="infraAreaDados" style="height: 12em; display: none; ">
571 - <label id="lblProcedimentosApensados" for="selProcedimentosApensados" class="infraLabelObrigatorio">Processos Apensados:</label>  
572 - <input type="text" id="txtProcedimentoApensado" name="txtProcedimentoApensado" class="infraText" tabindex="<?= $objPaginaSEI->getProxTabDados() ?>" />  
573 - <input type="hidden" id="hdnIdProcedimentoApensado" name="hdnIdProcedimentoApensado" class="infraText" value="" />  
574 - <select id="selProcedimentosApensados" name="selProcedimentosApensados[ ]" size="4" multiple="multiple" class="infraSelect" tabindex="<?= $objPaginaSEI->getProxTabDados() ?>"></select>  
575 - <img id="imgLupaProcedimentosApensados" onclick="objLupaProcedimentosApensados.selecionar(700,500);" src="/infra_css/imagens/lupa.gif" alt="Selecionar Processos Apensados" title="Selecionar Processos Apensados" class="infraImg" tabindex="<?= $objPaginaSEI->getProxTabDados() ?>" /> 568 + <label id="lblProcedimentosApensados" for="selProcedimentosApensados" class="infraLabelObrigatorio">Processos Apensados:</label>
  569 + <input type="text" id="txtProcedimentoApensado" name="txtProcedimentoApensado" class="infraText" tabindex="<?= $objPaginaSEI->getProxTabDados() ?>" />
  570 + <input type="hidden" id="hdnIdProcedimentoApensado" name="hdnIdProcedimentoApensado" class="infraText" value="" />
  571 + <select id="selProcedimentosApensados" name="selProcedimentosApensados[ ]" size="4" multiple="multiple" class="infraSelect" tabindex="<?= $objPaginaSEI->getProxTabDados() ?>"></select>
  572 + <img id="imgLupaProcedimentosApensados" onclick="objLupaProcedimentosApensados.selecionar(700,500);" src="/infra_css/imagens/lupa.gif" alt="Selecionar Processos Apensados" title="Selecionar Processos Apensados" class="infraImg" tabindex="<?= $objPaginaSEI->getProxTabDados() ?>" />
576 <img id="imgExcluirProcedimentosApensados" onclick="objLupaProcedimentosApensados.remover();" src="/infra_css/imagens/remover.gif" alt="Remover Processo Apensado" title="Remover Processo Apensado" class="infraImg" tabindex="<?= $objPaginaSEI->getProxTabDados() ?>" /> 573 <img id="imgExcluirProcedimentosApensados" onclick="objLupaProcedimentosApensados.remover();" src="/infra_css/imagens/remover.gif" alt="Remover Processo Apensado" title="Remover Processo Apensado" class="infraImg" tabindex="<?= $objPaginaSEI->getProxTabDados() ?>" />
577 </div> 574 </div>
578 575
579 <div id="divSinUrgente" class="infraDivCheckbox"> 576 <div id="divSinUrgente" class="infraDivCheckbox">
580 - <input type="checkbox" id="chkSinUrgente" name="chkSinUrgente" class="infraCheckbox" onclick="selecionarUrgencia();" <?= $objPaginaSEI->setCheckbox($boolSinUrgente, true, false) ?> tabindex="<?= $objPaginaSEI->getProxTabDados() ?>" /> 577 + <input type="checkbox" id="chkSinUrgente" name="chkSinUrgente" class="infraCheckbox" onclick="selecionarUrgencia();" <?= $objPaginaSEI->setCheckbox($boolSinUrgente, true, false) ?> tabindex="<?= $objPaginaSEI->getProxTabDados() ?>" />
581 <label id="lblSinUrgente" for="chkSinUrgente" accesskey="" class="infraLabelCheckbox">Urgente</label> 578 <label id="lblSinUrgente" for="chkSinUrgente" accesskey="" class="infraLabelCheckbox">Urgente</label>
582 </div> 579 </div>
583 580
584 <div id="divMotivosUrgencia" class="infraAreaDados" style="height: 4.5em; display:none"> 581 <div id="divMotivosUrgencia" class="infraAreaDados" style="height: 4.5em; display:none">
585 - <label id="lblMotivosUrgencia" for="selMotivosUrgencia" accesskey="" class="infraLabel">Motivo da Urgência:</label> 582 + <label id="lblMotivosUrgencia" for="selMotivosUrgencia" accesskey="" class="infraLabel">Motivo da Urgência:</label>
586 <select id="selMotivosUrgencia" name="selMotivosUrgencia" class="infraSelect infraReadOnly" disabled="disabled" tabindex="<?= $objPaginaSEI->getProxTabDados() ?>"> 583 <select id="selMotivosUrgencia" name="selMotivosUrgencia" class="infraSelect infraReadOnly" disabled="disabled" tabindex="<?= $objPaginaSEI->getProxTabDados() ?>">
587 <?= $strItensSelMotivosUrgencia ?> 584 <?= $strItensSelMotivosUrgencia ?>
588 </select> 585 </select>
589 </div> 586 </div>
590 587
591 - <input type="hidden" id="hdnIdProcedimento" name="hdnIdProcedimento" value="<?=$numIdProcedimento ?>" />  
592 - <input type="hidden" id="hdnErrosValidacao" name="hdnErrosValidacao" value="<?=$bolErrosValidacao ?>" />  
593 - <input type="hidden" id="hdnProcedimentosApensados" name="hdnProcedimentosApensados" value="<?=$_POST['hdnProcedimentosApensados']?>" /> 588 + <input type="hidden" id="hdnIdProcedimento" name="hdnIdProcedimento" value="<?=$numIdProcedimento ?>" />
  589 + <input type="hidden" id="hdnErrosValidacao" name="hdnErrosValidacao" value="<?=$bolErrosValidacao ?>" />
  590 + <input type="hidden" id="hdnProcedimentosApensados" name="hdnProcedimentosApensados" value="<?=$_POST['hdnProcedimentosApensados']?>" />
594 <? 591 <?
595 //$objPaginaSEI->montarBarraComandosInferior($arrComandos); 592 //$objPaginaSEI->montarBarraComandosInferior($arrComandos);
596 ?> 593 ?>
@@ -599,4 +596,4 @@ $objPaginaSEI-&gt;montarBarraComandosSuperior($arrComandos); @@ -599,4 +596,4 @@ $objPaginaSEI-&gt;montarBarraComandosSuperior($arrComandos);
599 $objPaginaSEI->montarAreaDebug(); 596 $objPaginaSEI->montarAreaDebug();
600 $objPaginaSEI->fecharBody(); 597 $objPaginaSEI->fecharBody();
601 $objPaginaSEI->fecharHtml(); 598 $objPaginaSEI->fecharHtml();
602 -?>  
603 \ No newline at end of file 599 \ No newline at end of file
  600 +?>
rn/PENAgendamentoRN.php
@@ -174,7 +174,7 @@ class PENAgendamentoRN extends InfraRN { @@ -174,7 +174,7 @@ class PENAgendamentoRN extends InfraRN {
174 174
175 if ($objProcessoEletronico) { 175 if ($objProcessoEletronico) {
176 176
177 - //Busca o processo 177 + //Busca o processo
178 $objProtocolo = new PenProtocoloDTO(); 178 $objProtocolo = new PenProtocoloDTO();
179 $objProtocolo->setDblIdProtocolo($objProcessoEletronico->getDblIdProcedimento()); 179 $objProtocolo->setDblIdProtocolo($objProcessoEletronico->getDblIdProcedimento());
180 180
@@ -242,12 +242,12 @@ class PENAgendamentoRN extends InfraRN { @@ -242,12 +242,12 @@ class PENAgendamentoRN extends InfraRN {
242 $cont++; 242 $cont++;
243 $servico[] = 'ProcessarPendenciasRN.php'; 243 $servico[] = 'ProcessarPendenciasRN.php';
244 } 244 }
245 - 245 +
246 $strServicos = array_map(function($item){ return "- $item"; }, $servico); 246 $strServicos = array_map(function($item){ return "- $item"; }, $servico);
247 $strServicos = implode("\n", $strServicos); 247 $strServicos = implode("\n", $strServicos);
248 248
249 if ($cont > 0) { 249 if ($cont > 0) {
250 - $msg = "Identificada inconsistência nos serviços de integração com o Processo Eletrônico Nacional - PEN.\n" . 250 + $msg = "Identificada inconsistência nos serviços de integração com o Processo Eletrônico Nacional - PEN.\n" .
251 "Os seguintes serviços necessários para o correto funcionamento da integração não estão ativos: \n $strServicos \n\n" . 251 "Os seguintes serviços necessários para o correto funcionamento da integração não estão ativos: \n $strServicos \n\n" .
252 "Favor, entrar em contato com a equipe de suporte técnico."; 252 "Favor, entrar em contato com a equipe de suporte técnico.";
253 throw new InfraException($msg, $e); 253 throw new InfraException($msg, $e);
@@ -265,12 +265,14 @@ class PENAgendamentoRN extends InfraRN { @@ -265,12 +265,14 @@ class PENAgendamentoRN extends InfraRN {
265 */ 265 */
266 public function atualizarHipotesesLegais() { 266 public function atualizarHipotesesLegais() {
267 try { 267 try {
  268 +
  269 + PENIntegracao::validarCompatibilidadeModulo();
268 $objBD = new PenHipoteseLegalBD($this->inicializarObjInfraIBanco()); 270 $objBD = new PenHipoteseLegalBD($this->inicializarObjInfraIBanco());
269 $processoEletronicoRN = new ProcessoEletronicoRN(); 271 $processoEletronicoRN = new ProcessoEletronicoRN();
270 $hipotesesPen = $processoEletronicoRN->consultarHipotesesLegais(); 272 $hipotesesPen = $processoEletronicoRN->consultarHipotesesLegais();
271 273
272 if(empty($hipotesesPen)){ 274 if(empty($hipotesesPen)){
273 - throw new InfraException('Não foi possível obter as hipóteses legais dos serviços de integração'); 275 + throw new InfraException('Não foi possível obter as hipóteses legais dos serviços de integração');
274 } 276 }
275 277
276 //Para cada hipótese vinda do PEN será verificado a existencia. 278 //Para cada hipótese vinda do PEN será verificado a existencia.
rn/PendenciasTramiteRN.php
1 -<?php  
2 -  
3 -require_once dirname(__FILE__) . '/../../../SEI.php';  
4 -  
5 -error_reporting(E_ALL);  
6 -  
7 -//TODO: Modificar nome da classe e mtodo para outro mais apropriado  
8 -class PendenciasTramiteRN extends InfraRN {  
9 -  
10 - private static $instance = null;  
11 - private $strEnderecoServicoPendencias = null;  
12 - private $strLocalizacaoCertificadoDigital = null;  
13 - private $strSenhaCertificadoDigital = null;  
14 -  
15 - protected function inicializarObjInfraIBanco(){  
16 - return BancoSEI::getInstance();  
17 - }  
18 -  
19 - public static function getInstance() {  
20 - if (self::$instance == null) {  
21 - self::$instance = new PendenciasTramiteRN(ConfiguracaoSEI::getInstance(), SessaoSEI::getInstance(), BancoSEI::getInstance(), LogSEI::getInstance());  
22 - }  
23 -  
24 - return self::$instance;  
25 - }  
26 -  
27 - public function __construct() {  
28 - $objPenParametroRN = new PenParametroRN();  
29 -  
30 - $this->strLocalizacaoCertificadoDigital = $objPenParametroRN->getParametro('PEN_LOCALIZACAO_CERTIFICADO_DIGITAL');  
31 - $this->strEnderecoServicoPendencias = $objPenParametroRN->getParametro('PEN_ENDERECO_WEBSERVICE_PENDENCIAS');  
32 - //TODO: Urgente - Remover senha do certificado de autenticao dos servios do PEN da tabela de parâmetros  
33 - $this->strSenhaCertificadoDigital = $objPenParametroRN->getParametro('PEN_SENHA_CERTIFICADO_DIGITAL');  
34 -  
35 - if (InfraString::isBolVazia($this->strEnderecoServicoPendencias)) {  
36 - throw new InfraException('Endereço do serviço de pendências de trâmite do Processo Eletrônico Nacional (PEN) não informado.');  
37 - }  
38 -  
39 - if (!@file_get_contents($this->strLocalizacaoCertificadoDigital)) {  
40 - throw new InfraException("Certificado digital de autenticação do serviço de integração do Processo Eletrônico Nacional(PEN) não encontrado.");  
41 - }  
42 -  
43 - if (InfraString::isBolVazia($this->strSenhaCertificadoDigital)) {  
44 - throw new InfraException('Dados de autenticação do serviço de integração do Processo Eletrónico Nacional(PEN) não informados.');  
45 - }  
46 - }  
47 -  
48 - public function monitorarPendencias() {  
49 - try{  
50 - ini_set('max_execution_time','0');  
51 - ini_set('memory_limit','-1');  
52 -  
53 - InfraDebug::getInstance()->setBolLigado(true);  
54 - InfraDebug::getInstance()->setBolDebugInfra(false);  
55 - InfraDebug::getInstance()->setBolEcho(false);  
56 - InfraDebug::getInstance()->limpar();  
57 -  
58 - $objPenParametroRN = new PenParametroRN();  
59 - SessaoSEI::getInstance(false)->simularLogin('SEI', null, null, $objPenParametroRN->getParametro('PEN_UNIDADE_GERADORA_DOCUMENTO_RECEBIDO'));  
60 -  
61 - $numSeg = InfraUtil::verificarTempoProcessamento();  
62 - InfraDebug::getInstance()->gravar('MONITORANDO OS TRÂMITES PENDENTES ENVIADOS PARA O RGO (PEN)');  
63 - echo "[".date("d/m/Y H:i:s")."] Iniciando serviço de monitoramento de pendências de trâmites de processos...\n";  
64 -  
65 - try{  
66 - $numIdTramiteRecebido = 0;  
67 - $strStatusTramiteRecebido = '';  
68 - $numQuantidadeErroTramite = 0;  
69 - $arrQuantidadeErrosTramite = array();  
70 -  
71 - //TODO: Tratar quantidade de erros o sistema consecutivos para um tramite de processo  
72 - //Alcanado est quantidade, uma pendncia posterior dever ser obtida do barramento  
73 - while (true) {  
74 - $objPendenciaDTO = $this->obterPendenciasTramite($numIdTramiteRecebido);  
75 - if(isset($objPendenciaDTO)) {  
76 - if($numIdTramiteRecebido != $objPendenciaDTO->getNumIdentificacaoTramite() ||  
77 - $strStatusTramiteRecebido != $objPendenciaDTO->getStrStatus()) {  
78 - $numIdTramiteRecebido = $objPendenciaDTO->getNumIdentificacaoTramite();  
79 - $strStatusTramiteRecebido = $objPendenciaDTO->getStrStatus();  
80 - $this->enviarPendenciaFilaProcessamento($objPendenciaDTO);  
81 - }  
82 - }  
83 - sleep(5);  
84 - }  
85 - }  
86 - //TODO: Urgente: Tratar erro especfico de timeout e refazer a requisio  
87 - catch(Exception $e) {  
88 - $strAssunto = 'Erro monitorando pendências.';  
89 - $strErro = InfraException::inspecionar($e);  
90 - LogSEI::getInstance()->gravar($strAssunto."\n\n".$strErro);  
91 - }  
92 -  
93 - $numSeg = InfraUtil::verificarTempoProcessamento($numSeg);  
94 - InfraDebug::getInstance()->gravar('TEMPO TOTAL DE EXECUCAO: '.$numSeg.' s');  
95 - InfraDebug::getInstance()->gravar('FIM');  
96 - LogSEI::getInstance()->gravar(InfraDebug::getInstance()->getStrDebug());  
97 -  
98 - }  
99 - catch(Exception $e) {  
100 - InfraDebug::getInstance()->setBolLigado(false);  
101 - InfraDebug::getInstance()->setBolDebugInfra(false);  
102 - InfraDebug::getInstance()->setBolEcho(false);  
103 - throw new InfraException('Erro processando pendências de integração com o PEN - Processo Eletrônico Nacional.',$e);  
104 - }  
105 - }  
106 -  
107 - private function configurarRequisicao()  
108 - {  
109 - $curl = curl_init($this->strEnderecoServicoPendencias);  
110 - curl_setopt($curl, CURLOPT_URL, $this->strEnderecoServicoPendencias);  
111 - curl_setopt($curl, CURLOPT_HEADER, 0);  
112 - curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);  
113 - curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);  
114 - curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);  
115 - curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);  
116 - curl_setopt($curl, CURLOPT_SSLCERT, $this->strLocalizacaoCertificadoDigital);  
117 - curl_setopt($curl, CURLOPT_SSLCERTPASSWD, $this->strSenhaCertificadoDigital);  
118 - curl_setopt($curl, CURLOPT_TIMEOUT, 60); //timeout in seconds  
119 - return $curl;  
120 - }  
121 -  
122 - private function obterPendenciasTramite($parNumIdTramiteRecebido)  
123 - {  
124 - $resultado = null;  
125 - $curl = $this->configurarRequisicao();  
126 -  
127 - try{  
128 - if(isset($parNumIdTramiteRecebido)) {  
129 - curl_setopt($curl, CURLOPT_URL, $this->strEnderecoServicoPendencias . "?idTramiteDaPendenciaRecebida=" . $parNumIdTramiteRecebido);  
130 - }  
131 -  
132 - //A seguinte requisio ir aguardar a notificao do PEN sobre uma nova pendncia  
133 - //ou at o lanamento da exceo de timeout definido pela infraestrutura da soluo  
134 - //Ambos os comportamentos so esperados para a requisio abaixo.  
135 - $strResultadoJSON = curl_exec($curl);  
136 -  
137 - if(curl_errno($curl)) {  
138 - if (curl_errno($curl) != 28)  
139 - throw new InfraException("Erro na requisição do serviço de monitoramento de pendências. Curl: " . curl_errno($curl));  
140 - }  
141 -  
142 - if(!InfraString::isBolVazia($strResultadoJSON)) {  
143 - $strResultadoJSON = json_decode($strResultadoJSON);  
144 -  
145 - if(isset($strResultadoJSON) && $strResultadoJSON->encontrou) {  
146 - $objPendenciaDTO = new PendenciaDTO();  
147 - $objPendenciaDTO->setNumIdentificacaoTramite($strResultadoJSON->IDT);  
148 - $objPendenciaDTO->setStrStatus($strResultadoJSON->status);  
149 - $resultado = $objPendenciaDTO;  
150 - }  
151 - }  
152 - }  
153 - catch(Exception $e){  
154 - curl_close($curl);  
155 - throw $e;  
156 - }  
157 -  
158 - curl_close($curl);  
159 - return $resultado;  
160 - }  
161 -  
162 - private function enviarPendenciaFilaProcessamento($objPendencia)  
163 - {  
164 - if(isset($objPendencia)) {  
165 -  
166 - $client = new GearmanClient();  
167 - $client->addServer('localhost', 4730);  
168 - //$client->setCreatedCallback("create_change");  
169 - //$client->setDataCallback("data_change");  
170 - //$client->setStatusCallback("status_change");  
171 - //$client->setCompleteCallback("complete_change");  
172 - //$client->setFailCallback("fail_change");  
173 -  
174 - $strWorkload = strval($objPendencia->getNumIdentificacaoTramite());  
175 -  
176 - switch ($objPendencia->getStrStatus()) {  
177 -  
178 - case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_INICIADO:  
179 - $client->addTaskBackground('enviarComponenteDigital', $strWorkload, null);  
180 - break;  
181 -  
182 - case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_COMPONENTES_ENVIADOS_REMETENTE:  
183 - case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_METADADOS_RECEBIDO_DESTINATARIO:  
184 - case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_COMPONENTES_RECEBIDOS_DESTINATARIO:  
185 - $objPenParametroRN = new PenParametroRN();  
186 - $numTentativas = $objPenParametroRN->getParametro(PenTramiteProcessadoRN::PARAM_NUMERO_TENTATIVAS, false);  
187 - $numCont = 0;  
188 - // Executa sempre + 1 alm do configurado no parâmetro para executar a recusa  
189 - while($numCont <= $numTentativas) {  
190 - $client->addTaskBackground('receberProcedimento', $strWorkload, null);  
191 - $numCont++;  
192 - }  
193 - break;  
194 -  
195 - case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_ENVIADO_DESTINATARIO:  
196 - $objPenParametroRN = new PenParametroRN();  
197 - $numTentativas = $objPenParametroRN->getParametro(PenTramiteProcessadoRN::PARAM_NUMERO_TENTATIVAS, false);  
198 - $numCont = 0;  
199 -  
200 - while($numCont < $numTentativas) {  
201 - $client->addTaskBackground('receberReciboTramite', $strWorkload, null);  
202 - $numCont++;  
203 - }  
204 - break;  
205 -  
206 - case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE:  
207 - break;  
208 -  
209 - case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO:  
210 - break;  
211 -  
212 - case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO:  
213 - $client->addTaskBackground("receberTramitesRecusados", $strWorkload, null);;  
214 - break;  
215 -  
216 - default:  
217 - //TODO: Alterar lgica para no deixar de processar demais pendncias retornadas pelo PEN  
218 - throw new Exception('Situação do trâmite não pode ser identificada.');  
219 - break;  
220 - }  
221 -  
222 - $client->runTasks();  
223 - }  
224 - }  
225 -}  
226 -  
227 -SessaoSEI::getInstance(false);  
228 -PendenciasTramiteRN::getInstance()->monitorarPendencias(); 1 +<?php
  2 +
  3 +require_once dirname(__FILE__) . '/../../../SEI.php';
  4 +
  5 +error_reporting(E_ALL);
  6 +
  7 +//TODO: Modificar nome da classe e mtodo para outro mais apropriado
  8 +class PendenciasTramiteRN extends InfraRN {
  9 +
  10 + private static $instance = null;
  11 + private $strEnderecoServicoPendencias = null;
  12 + private $strLocalizacaoCertificadoDigital = null;
  13 + private $strSenhaCertificadoDigital = null;
  14 +
  15 + protected function inicializarObjInfraIBanco(){
  16 + return BancoSEI::getInstance();
  17 + }
  18 +
  19 + public static function getInstance() {
  20 + if (self::$instance == null) {
  21 + self::$instance = new PendenciasTramiteRN(ConfiguracaoSEI::getInstance(), SessaoSEI::getInstance(), BancoSEI::getInstance(), LogSEI::getInstance());
  22 + }
  23 +
  24 + return self::$instance;
  25 + }
  26 +
  27 + public function __construct() {
  28 + $objPenParametroRN = new PenParametroRN();
  29 +
  30 + $this->strLocalizacaoCertificadoDigital = $objPenParametroRN->getParametro('PEN_LOCALIZACAO_CERTIFICADO_DIGITAL');
  31 + $this->strEnderecoServicoPendencias = $objPenParametroRN->getParametro('PEN_ENDERECO_WEBSERVICE_PENDENCIAS');
  32 + //TODO: Urgente - Remover senha do certificado de autenticao dos servios do PEN da tabela de parâmetros
  33 + $this->strSenhaCertificadoDigital = $objPenParametroRN->getParametro('PEN_SENHA_CERTIFICADO_DIGITAL');
  34 +
  35 + if (InfraString::isBolVazia($this->strEnderecoServicoPendencias)) {
  36 + throw new InfraException('Endereço do serviço de pendências de trâmite do Processo Eletrônico Nacional (PEN) não informado.');
  37 + }
  38 +
  39 + if (!@file_get_contents($this->strLocalizacaoCertificadoDigital)) {
  40 + throw new InfraException("Certificado digital de autenticação do serviço de integração do Processo Eletrônico Nacional(PEN) não encontrado.");
  41 + }
  42 +
  43 + if (InfraString::isBolVazia($this->strSenhaCertificadoDigital)) {
  44 + throw new InfraException('Dados de autenticação do serviço de integração do Processo Eletrónico Nacional(PEN) não informados.');
  45 + }
  46 + }
  47 +
  48 + public function monitorarPendencias() {
  49 + try{
  50 + ini_set('max_execution_time','0');
  51 + ini_set('memory_limit','-1');
  52 +
  53 + InfraDebug::getInstance()->setBolLigado(false);
  54 + InfraDebug::getInstance()->setBolDebugInfra(false);
  55 + InfraDebug::getInstance()->setBolEcho(false);
  56 + InfraDebug::getInstance()->limpar();
  57 +
  58 + PENIntegracao::validarCompatibilidadeModulo();
  59 +
  60 + $objPenParametroRN = new PenParametroRN();
  61 + SessaoSEI::getInstance(false)->simularLogin('SEI', null, null, $objPenParametroRN->getParametro('PEN_UNIDADE_GERADORA_DOCUMENTO_RECEBIDO'));
  62 +
  63 + $numSeg = InfraUtil::verificarTempoProcessamento();
  64 + InfraDebug::getInstance()->gravar('MONITORANDO OS TRÂMITES PENDENTES ENVIADOS PARA O RGO (PEN)');
  65 + echo "[".date("d/m/Y H:i:s")."] Iniciando serviço de monitoramento de pendências de trâmites de processos...\n";
  66 +
  67 + try{
  68 + $numIdTramiteRecebido = 0;
  69 + $strStatusTramiteRecebido = '';
  70 + $numQuantidadeErroTramite = 0;
  71 + $arrQuantidadeErrosTramite = array();
  72 +
  73 + //TODO: Tratar quantidade de erros o sistema consecutivos para um tramite de processo
  74 + //Alcanado est quantidade, uma pendncia posterior dever ser obtida do barramento
  75 + while (true) {
  76 + $objPendenciaDTO = $this->obterPendenciasTramite($numIdTramiteRecebido);
  77 + if(isset($objPendenciaDTO)) {
  78 + if($numIdTramiteRecebido != $objPendenciaDTO->getNumIdentificacaoTramite() ||
  79 + $strStatusTramiteRecebido != $objPendenciaDTO->getStrStatus()) {
  80 + $numIdTramiteRecebido = $objPendenciaDTO->getNumIdentificacaoTramite();
  81 + $strStatusTramiteRecebido = $objPendenciaDTO->getStrStatus();
  82 + $this->enviarPendenciaFilaProcessamento($objPendenciaDTO);
  83 + }
  84 + }
  85 + sleep(5);
  86 + }
  87 + }
  88 + //TODO: Urgente: Tratar erro especfico de timeout e refazer a requisio
  89 + catch(Exception $e) {
  90 + $strAssunto = 'Erro monitorando pendências.';
  91 + $strErro = InfraException::inspecionar($e);
  92 + LogSEI::getInstance()->gravar($strAssunto."\n\n".$strErro);
  93 + }
  94 +
  95 + $numSeg = InfraUtil::verificarTempoProcessamento($numSeg);
  96 + InfraDebug::getInstance()->gravar('TEMPO TOTAL DE EXECUCAO: '.$numSeg.' s');
  97 + InfraDebug::getInstance()->gravar('FIM');
  98 + LogSEI::getInstance()->gravar(InfraDebug::getInstance()->getStrDebug());
  99 +
  100 + }
  101 + catch(Exception $e) {
  102 + InfraDebug::getInstance()->setBolLigado(false);
  103 + InfraDebug::getInstance()->setBolDebugInfra(false);
  104 + InfraDebug::getInstance()->setBolEcho(false);
  105 + throw new InfraException('Erro processando pendências de integração com o PEN - Processo Eletrônico Nacional.',$e);
  106 + }
  107 + }
  108 +
  109 + private function configurarRequisicao()
  110 + {
  111 + $curl = curl_init($this->strEnderecoServicoPendencias);
  112 + curl_setopt($curl, CURLOPT_URL, $this->strEnderecoServicoPendencias);
  113 + curl_setopt($curl, CURLOPT_HEADER, 0);
  114 + curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  115 + curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
  116 + curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
  117 + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  118 + curl_setopt($curl, CURLOPT_SSLCERT, $this->strLocalizacaoCertificadoDigital);
  119 + curl_setopt($curl, CURLOPT_SSLCERTPASSWD, $this->strSenhaCertificadoDigital);
  120 + curl_setopt($curl, CURLOPT_TIMEOUT, 60); //timeout in seconds
  121 + return $curl;
  122 + }
  123 +
  124 + private function obterPendenciasTramite($parNumIdTramiteRecebido)
  125 + {
  126 + $resultado = null;
  127 + $curl = $this->configurarRequisicao();
  128 +
  129 + try{
  130 + if(isset($parNumIdTramiteRecebido)) {
  131 + curl_setopt($curl, CURLOPT_URL, $this->strEnderecoServicoPendencias . "?idTramiteDaPendenciaRecebida=" . $parNumIdTramiteRecebido);
  132 + }
  133 +
  134 + //A seguinte requisio ir aguardar a notificao do PEN sobre uma nova pendncia
  135 + //ou at o lanamento da exceo de timeout definido pela infraestrutura da soluo
  136 + //Ambos os comportamentos so esperados para a requisio abaixo.
  137 + $strResultadoJSON = curl_exec($curl);
  138 +
  139 + if(curl_errno($curl)) {
  140 + if (curl_errno($curl) != 28)
  141 + throw new InfraException("Erro na requisição do serviço de monitoramento de pendências. Curl: " . curl_errno($curl));
  142 + }
  143 +
  144 + if(!InfraString::isBolVazia($strResultadoJSON)) {
  145 + $strResultadoJSON = json_decode($strResultadoJSON);
  146 +
  147 + if(isset($strResultadoJSON) && $strResultadoJSON->encontrou) {
  148 + $objPendenciaDTO = new PendenciaDTO();
  149 + $objPendenciaDTO->setNumIdentificacaoTramite($strResultadoJSON->IDT);
  150 + $objPendenciaDTO->setStrStatus($strResultadoJSON->status);
  151 + $resultado = $objPendenciaDTO;
  152 + }
  153 + }
  154 + }
  155 + catch(Exception $e){
  156 + curl_close($curl);
  157 + throw $e;
  158 + }
  159 +
  160 + curl_close($curl);
  161 + return $resultado;
  162 + }
  163 +
  164 + private function enviarPendenciaFilaProcessamento($objPendencia)
  165 + {
  166 + if(isset($objPendencia)) {
  167 +
  168 + $client = new GearmanClient();
  169 + $client->addServer('localhost', 4730);
  170 + //$client->setCreatedCallback("create_change");
  171 + //$client->setDataCallback("data_change");
  172 + //$client->setStatusCallback("status_change");
  173 + //$client->setCompleteCallback("complete_change");
  174 + //$client->setFailCallback("fail_change");
  175 +
  176 + $strWorkload = strval($objPendencia->getNumIdentificacaoTramite());
  177 +
  178 + switch ($objPendencia->getStrStatus()) {
  179 +
  180 + case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_INICIADO:
  181 + $client->addTaskBackground('enviarComponenteDigital', $strWorkload, null);
  182 + break;
  183 +
  184 + case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_COMPONENTES_ENVIADOS_REMETENTE:
  185 + case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_METADADOS_RECEBIDO_DESTINATARIO:
  186 + case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_COMPONENTES_RECEBIDOS_DESTINATARIO:
  187 + $objPenParametroRN = new PenParametroRN();
  188 + $numTentativas = $objPenParametroRN->getParametro(PenTramiteProcessadoRN::PARAM_NUMERO_TENTATIVAS, false);
  189 + $numCont = 0;
  190 + // Executa sempre + 1 alm do configurado no parâmetro para executar a recusa
  191 + while($numCont <= $numTentativas) {
  192 + $client->addTaskBackground('receberProcedimento', $strWorkload, null);
  193 + $numCont++;
  194 + }
  195 + break;
  196 +
  197 + case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_ENVIADO_DESTINATARIO:
  198 + $objPenParametroRN = new PenParametroRN();
  199 + $numTentativas = $objPenParametroRN->getParametro(PenTramiteProcessadoRN::PARAM_NUMERO_TENTATIVAS, false);
  200 + $numCont = 0;
  201 +
  202 + while($numCont < $numTentativas) {
  203 + $client->addTaskBackground('receberReciboTramite', $strWorkload, null);
  204 + $numCont++;
  205 + }
  206 + break;
  207 +
  208 + case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE:
  209 + break;
  210 +
  211 + case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO:
  212 + break;
  213 +
  214 + case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO:
  215 + $client->addTaskBackground("receberTramitesRecusados", $strWorkload, null);;
  216 + break;
  217 +
  218 + default:
  219 + //TODO: Alterar lgica para no deixar de processar demais pendncias retornadas pelo PEN
  220 + throw new Exception('Situação do trâmite não pode ser identificada.');
  221 + break;
  222 + }
  223 +
  224 + $client->runTasks();
  225 + }
  226 + }
  227 +}
  228 +
  229 +SessaoSEI::getInstance(false);
  230 +PendenciasTramiteRN::getInstance()->monitorarPendencias();
rn/ProcessarPendenciasRN.php
@@ -2,194 +2,176 @@ @@ -2,194 +2,176 @@
2 2
3 require_once dirname(__FILE__) . '/../../../SEI.php'; 3 require_once dirname(__FILE__) . '/../../../SEI.php';
4 4
5 -class ProcessarPendenciasRN extends InfraAgendamentoTarefa {  
6 -  
7 - private static $instance = null;  
8 - private $objGearmanWorker = null;  
9 -  
10 - protected function inicializarObjInfraIBanco(){  
11 - return BancoSEI::getInstance();  
12 - }  
13 -  
14 - public static function getInstance() {  
15 - if (self::$instance == null) {  
16 - self::$instance = new ProcessarPendenciasRN(ConfiguracaoSEI::getInstance(), SessaoSEI::getInstance(), BancoSEI::getInstance(), LogSEI::getInstance()); 5 +class ProcessarPendenciasRN extends InfraAgendamentoTarefa
  6 +{
  7 + private static $instance = null;
  8 + private $objGearmanWorker = null;
  9 +
  10 + protected function inicializarObjInfraIBanco()
  11 + {
  12 + return BancoSEI::getInstance();
17 } 13 }
18 - return self::$instance;  
19 - }  
20 -  
21 - public function __construct() {  
22 - //Configuração do worker do Gearman para realizar o processamento de tarefas  
23 - $this->objGearmanWorker = new GearmanWorker();  
24 - $this->objGearmanWorker->addServer('localhost', 4730);  
25 - $this->configurarCallbacks();  
26 - }  
27 -  
28 - public function processarPendencias()  
29 - {  
30 - try{  
31 - ini_set('max_execution_time','0');  
32 - ini_set('memory_limit','-1');  
33 -  
34 - InfraDebug::getInstance()->setBolLigado(true);  
35 - InfraDebug::getInstance()->setBolDebugInfra(true);  
36 - InfraDebug::getInstance()->setBolEcho(false);  
37 - InfraDebug::getInstance()->limpar();  
38 -  
39 - $objPenParametroRN = new PenParametroRN();  
40 - SessaoSEI::getInstance(false)->simularLogin('SEI', null, null, $objPenParametroRN->getParametro('PEN_UNIDADE_GERADORA_DOCUMENTO_RECEBIDO'));  
41 -  
42 - $numSeg = InfraUtil::verificarTempoProcessamento();  
43 -  
44 - InfraDebug::getInstance()->gravar('ANALISANDO OS TRÂMITES PENDENTES ENVIADOS PARA O ÓRGÃO (PEN)');  
45 - echo "[".date("d/m/Y H:i:s")."] Iniciando serviço de processamento de pendências de trâmites de processos...\n";  
46 -  
47 - while($this->objGearmanWorker->work())  
48 - {  
49 - if ($this->objGearmanWorker->returnCode() != GEARMAN_SUCCESS)  
50 - {  
51 - $strAssunto = 'Erro executando agendamentos';  
52 - $strErro = InfraException::inspecionar($e);  
53 - echo $strAssunto."\n\n".$strErro;  
54 - LogSEI::getInstance()->gravar($strAssunto."\n\n".$strErro);  
55 - break;  
56 - } 14 +
  15 + public static function getInstance()
  16 + {
  17 + if (self::$instance == null) {
  18 + self::$instance = new ProcessarPendenciasRN(ConfiguracaoSEI::getInstance(), SessaoSEI::getInstance(), BancoSEI::getInstance(), LogSEI::getInstance());
57 } 19 }
  20 + return self::$instance;
  21 + }
58 22
59 - $numSeg = InfraUtil::verificarTempoProcessamento($numSeg);  
60 - InfraDebug::getInstance()->gravar('TEMPO TOTAL DE EXECUCAO: '.$numSeg.' s');  
61 - InfraDebug::getInstance()->gravar('FIM');  
62 - LogSEI::getInstance()->gravar(InfraDebug::getInstance()->getStrDebug());  
63 - }  
64 - catch(Exception $e){  
65 - $strAssunto = 'Agendamento FALHOU';  
66 - $strErro = '';  
67 - $strErro .= 'Servidor: '.gethostname()."\n\n";  
68 - $strErro .= 'Data/Hora: '.InfraData::getStrDataHoraAtual()."\n\n";  
69 - $strErro .= 'Erro: '.InfraException::inspecionar($e);  
70 - LogSEI::getInstance()->gravar($strAssunto."\n\n".$strErro); 23 + public function __construct()
  24 + {
  25 + //Configuração do worker do Gearman para realizar o processamento de tarefas
  26 + $this->objGearmanWorker = new GearmanWorker();
  27 + $this->objGearmanWorker->addServer('localhost', 4730);
  28 + $this->configurarCallbacks();
71 } 29 }
72 - }  
73 -  
74 - private function configurarCallbacks()  
75 - {  
76 - //PROCESSAMENTO DE TAREFAS RELACIONADAS AO ENVIO DE UM PROCESSO ELETRÔNICO  
77 - //////////////////////////////////////////////////////////////////////////  
78 -  
79 - //Etapa 01 - Processamento de pendências envio dos metadados do processo  
80 - $this->objGearmanWorker->addFunction("enviarProcesso", function ($job) {  
81 -  
82 - InfraDebug::getInstance()->gravar("[".date("d/m/Y H:i:s")."] Processando tarefa [enviarProcesso] " . $job->workload());  
83 - //TODO: Implementar tarefa relacionada  
84 - //...  
85 -  
86 - //Agendamento de nova tarefa para envio dos componentes digitais do processo  
87 - //$this->objGearmanClient->addTask("enviarComponenteDigital", $numIdentificacaoTramite, null);  
88 -  
89 - });  
90 -  
91 - //Etapa 02 - Processamento de pendências envio dos componentes digitais do processo  
92 - $this->objGearmanWorker->addFunction("enviarComponenteDigital", function ($job) {  
93 -  
94 - InfraDebug::getInstance()->gravar("[".date("d/m/Y H:i:s")."] Processando tarefa [enviarComponenteDigital] " . $job->workload());  
95 - //TODO: Implementar tarefa relacionada  
96 - //...  
97 -  
98 - //Agendamento de nova tarefa para recebimento do recibo de envio do processo  
99 - //$this->objGearmanClient->addTask("receberReciboTramite", $numIdentificacaoTramite, null);  
100 -  
101 - });  
102 -  
103 - //Etapa 03 - Processamento de pendências de recebimento do recibo de envio do processo  
104 - $this->objGearmanWorker->addFunction("receberReciboTramite", function ($job) {  
105 -  
106 - $numIdentificacaoTramite = intval($job->workload());  
107 -  
108 - InfraDebug::getInstance()->gravar("[".date("d/m/Y H:i:s")."] Processando tarefa [receberReciboTramite] " . $job->workload());  
109 - //TODO: Implementar tarefa relacionada  
110 -  
111 - $objPenTramiteProcessadoRN = new PenTramiteProcessadoRN(PenTramiteProcessadoRN::STR_TIPO_RECIBO);  
112 -  
113 - if(!$objPenTramiteProcessadoRN->isProcedimentoRecebido($numIdentificacaoTramite)){  
114 -  
115 - $objReceberReciboTramiteRN = new ReceberReciboTramiteRN();  
116 - $objReceberReciboTramiteRN->receberReciboDeTramite($numIdentificacaoTramite); 30 +
  31 + public function processarPendencias()
  32 + {
  33 + try{
  34 + ini_set('max_execution_time','0');
  35 + ini_set('memory_limit','-1');
  36 +
  37 + InfraDebug::getInstance()->setBolLigado(false);
  38 + InfraDebug::getInstance()->setBolDebugInfra(false);
  39 + InfraDebug::getInstance()->setBolEcho(false);
  40 + InfraDebug::getInstance()->limpar();
  41 +
  42 + PENIntegracao::validarCompatibilidadeModulo();
  43 +
  44 + $objPenParametroRN = new PenParametroRN();
  45 + SessaoSEI::getInstance(false)->simularLogin('SEI', null, null, $objPenParametroRN->getParametro('PEN_UNIDADE_GERADORA_DOCUMENTO_RECEBIDO'));
  46 +
  47 + $numSeg = InfraUtil::verificarTempoProcessamento();
  48 +
  49 + InfraDebug::getInstance()->gravar('ANALISANDO OS TRÂMITES PENDENTES ENVIADOS PARA O ÓRGÃO (PEN)');
  50 + echo "[".date("d/m/Y H:i:s")."] Iniciando serviço de processamento de pendências de trâmites de processos...\n";
  51 +
  52 + while($this->objGearmanWorker->work())
  53 + {
  54 + if ($this->objGearmanWorker->returnCode() != GEARMAN_SUCCESS) {
  55 + $strErro = 'Erro no processamento de pendências do PEN. ErrorCode: ' . $this->objGearmanWorker->returnCode();
  56 + LogSEI::getInstance()->gravar($strErro);
  57 + break;
  58 + }
  59 + }
  60 +
  61 + $numSeg = InfraUtil::verificarTempoProcessamento($numSeg);
  62 + InfraDebug::getInstance()->gravar('TEMPO TOTAL DE EXECUCAO: '.$numSeg.' s');
  63 + InfraDebug::getInstance()->gravar('FIM');
  64 + LogSEI::getInstance()->gravar(InfraDebug::getInstance()->getStrDebug());
117 } 65 }
118 - });  
119 -  
120 -  
121 - //PROCESSAMENTO DE TAREFAS RELACIONADAS AO RECEBIMENTO DE UM PROCESSO ELETRÔNICO  
122 - //////////////////////////////////////////////////////////////////////////  
123 -  
124 - //Processamento de pendências de recebimento dos metadados do processo  
125 - $this->objGearmanWorker->addFunction("receberProcedimento", function ($job) {  
126 -  
127 - $numIdentificacaoTramite = intval($job->workload());  
128 -  
129 - InfraDebug::getInstance()->gravar("[".date("d/m/Y H:i:s")."] Processando tarefa [receberProcedimento] " . $job->workload());  
130 -  
131 - $objPenTramiteProcessadoRN = new PenTramiteProcessadoRN(PenTramiteProcessadoRN::STR_TIPO_PROCESSO);  
132 -  
133 - if(!$objPenTramiteProcessadoRN->isProcedimentoRecebido($numIdentificacaoTramite)){  
134 -  
135 - $objReceberProcedimentoRN = new ReceberProcedimentoRN();  
136 - $objReceberProcedimentoRN->receberProcedimento($numIdentificacaoTramite);  
137 -  
138 - //TODO: A próxima etapa deveria ser o recebimento dos componentes digitais, rotina tradada na função receberProcedimento(...)  
139 - //Agendamento de nova tarefa para envio do recibo de conclusão do trãmite  
140 - //ProcessarPendenciasRN::processarTarefa("enviarReciboTramiteProcesso", $job->workload());  
141 -  
142 - /* $objEnviarReciboTramiteRN = new EnviarReciboTramiteRN();  
143 - $objEnviarReciboTramiteRN->enviarReciboTramiteProcesso($numIdentificacaoTramite, $arrayHash);*/ 66 + catch(Exception $e) {
  67 + $strAssunto = 'Falha no processamento de pendências do PEN';
  68 + $strErro = '';
  69 + $strErro .= 'Servidor: '.gethostname()."\n\n";
  70 + $strErro .= 'Data/Hora: '.InfraData::getStrDataHoraAtual()."\n\n";
  71 + $strErro .= 'Erro: '.InfraException::inspecionar($e);
  72 + LogSEI::getInstance()->gravar($strAssunto."\n\n".$strErro);
144 } 73 }
145 - });  
146 -  
147 - // Verifica no barramento os procedimentos que foram enviados por esta unidade  
148 - // e foram recusados pelas mesmas  
149 - $this->objGearmanWorker->addFunction("receberTramitesRecusados", function ($job) {  
150 -  
151 - InfraDebug::getInstance()->gravar("[".date("d/m/Y H:i:s")."] Processando tarefa [receberRecusaTramite] " . $job->workload());  
152 - $numIdentificacaoTramite = intval($job->workload());  
153 -  
154 - $objReceberProcedimentoRN = new ReceberProcedimentoRN();  
155 - $objReceberProcedimentoRN->receberTramitesRecusados($numIdentificacaoTramite);  
156 - });  
157 -  
158 - //Processamento de pendências de recebimento dos componentes digitais do processo  
159 - $this->objGearmanWorker->addFunction("receberComponenteDigital", function ($job) {  
160 -  
161 - InfraDebug::getInstance()->gravar("[".date("d/m/Y H:i:s")."] Processando tarefa [receberComponenteDigital] " . $job->workload());  
162 - //TODO: A próxima etapa deveria ser o recebimento dos componentes digitais, rotina tradada na função receberProcedimento(...)  
163 - //...  
164 -  
165 - //Agendamento de nova tarefa para envio do recibo de conclusão do trâmite  
166 - ProcessarPendenciasRN::processarTarefa("enviarReciboTramiteProcesso", $job->workload());  
167 - //$this->objGearmanClient->addTaskBackground("enviarReciboTramiteProcesso", $numIdentificacaoTramite, null);  
168 - });  
169 -  
170 - //Processamento de pendências de envio do recibo de conclusão do trãmite do processo  
171 - $this->objGearmanWorker->addFunction("enviarReciboTramiteProcesso", function ($job) {  
172 -  
173 - InfraDebug::getInstance()->gravar("[".date("d/m/Y H:i:s")."] Processando tarefa [enviarReciboTramiteProcesso] " . $job->workload());  
174 -  
175 - $numIdentificacaoTramite = intval($job->workload());  
176 - $objEnviarReciboTramiteRN = new EnviarReciboTramiteRN();  
177 - $objEnviarReciboTramiteRN->enviarReciboTramiteProcesso($numIdentificacaoTramite);  
178 - });  
179 - }  
180 -  
181 - static function processarTarefa($strNomeTarefa, $strWorkload)  
182 - {  
183 - $objClient = new GearmanClient();  
184 - $objClient->addServer('localhost', 4730);  
185 - //$objClient->addTaskBackground($strNomeTarefa, $strWorkload);  
186 - //$objClient->runTasks();  
187 - $objClient->doBackground($strNomeTarefa, $strWorkload);  
188 - } 74 + }
  75 +
  76 + private function configurarCallbacks()
  77 + {
  78 +
  79 + //PROCESSAMENTO DE TAREFAS RELACIONADAS AO ENVIO DE UM PROCESSO ELETRÔNICO
  80 + //////////////////////////////////////////////////////////////////////////
  81 +
  82 + //Etapa 01 - Processamento de pendências envio dos metadados do processo
  83 + $this->objGearmanWorker->addFunction("enviarProcesso", function ($job) {
  84 +
  85 + InfraDebug::getInstance()->gravar("[".date("d/m/Y H:i:s")."] Processando tarefa [enviarProcesso] " . $job->workload());
  86 + //TODO: Implementar tarefa relacionada
  87 + //...
  88 +
  89 + //Agendamento de nova tarefa para envio dos componentes digitais do processo
  90 + //$this->objGearmanClient->addTask("enviarComponenteDigital", $numIdentificacaoTramite, null);
  91 + });
  92 +
  93 + //Etapa 02 - Processamento de pendências envio dos componentes digitais do processo
  94 + $this->objGearmanWorker->addFunction("enviarComponenteDigital", function ($job) {
  95 +
  96 + InfraDebug::getInstance()->gravar("[".date("d/m/Y H:i:s")."] Processando tarefa [enviarComponenteDigital] " . $job->workload());
  97 + //TODO: Implementar tarefa relacionada
  98 + //...
  99 +
  100 + //Agendamento de nova tarefa para recebimento do recibo de envio do processo
  101 + //$this->objGearmanClient->addTask("receberReciboTramite", $numIdentificacaoTramite, null);
  102 + });
  103 +
  104 + //Etapa 03 - Processamento de pendências de recebimento do recibo de envio do processo
  105 + $this->objGearmanWorker->addFunction("receberReciboTramite", function ($job) {
  106 + $numIdentificacaoTramite = intval($job->workload());
  107 + InfraDebug::getInstance()->gravar("[".date("d/m/Y H:i:s")."] Processando tarefa [receberReciboTramite] " . $job->workload());
  108 + $objPenTramiteProcessadoRN = new PenTramiteProcessadoRN(PenTramiteProcessadoRN::STR_TIPO_RECIBO);
  109 + if(!$objPenTramiteProcessadoRN->isProcedimentoRecebido($numIdentificacaoTramite)){
  110 + $objReceberReciboTramiteRN = new ReceberReciboTramiteRN();
  111 + $objReceberReciboTramiteRN->receberReciboDeTramite($numIdentificacaoTramite);
  112 + }
  113 + });
  114 +
  115 + //PROCESSAMENTO DE TAREFAS RELACIONADAS AO RECEBIMENTO DE UM PROCESSO ELETRÔNICO
  116 + //////////////////////////////////////////////////////////////////////////
  117 +
  118 + //Processamento de pendências de recebimento dos metadados do processo
  119 + $this->objGearmanWorker->addFunction("receberProcedimento", function ($job) {
  120 + try{
  121 + $numIdentificacaoTramite = intval($job->workload());
  122 + InfraDebug::getInstance()->gravar("[".date("d/m/Y H:i:s")."] Processando tarefa [receberProcedimento] " . $job->workload());
  123 + $objPenTramiteProcessadoRN = new PenTramiteProcessadoRN(PenTramiteProcessadoRN::STR_TIPO_PROCESSO);
  124 +
  125 + if(!$objPenTramiteProcessadoRN->isProcedimentoRecebido($numIdentificacaoTramite)){
  126 + $objReceberProcedimentoRN = new ReceberProcedimentoRN();
  127 + $objReceberProcedimentoRN->receberProcedimento($numIdentificacaoTramite);
  128 + }
  129 + }
  130 + catch(Exception $e){
  131 + LogSEI::getInstance()->gravar(InfraException::inspecionar($e));
  132 + $objProcessoEletronicoRN = new ProcessoEletronicoRN();
  133 + $strMensagem = ($e instanceof InfraException) ? $e->__toString() : $e->getMessage();
  134 + $objProcessoEletronicoRN->recusarTramite($numIdentificacaoTramite, $strMensagem, ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU);
  135 + }
  136 + });
  137 +
  138 + // Verifica no barramento os procedimentos que foram enviados por esta unidade e foram recusados pelas mesmas
  139 + $this->objGearmanWorker->addFunction("receberTramitesRecusados", function ($job) {
  140 + InfraDebug::getInstance()->gravar("[".date("d/m/Y H:i:s")."] Processando tarefa [receberRecusaTramite] " . $job->workload());
  141 + $numIdentificacaoTramite = intval($job->workload());
  142 + $objReceberProcedimentoRN = new ReceberProcedimentoRN();
  143 + $objReceberProcedimentoRN->receberTramitesRecusados($numIdentificacaoTramite);
  144 + });
  145 +
  146 + //Processamento de pendências de recebimento dos componentes digitais do processo
  147 + $this->objGearmanWorker->addFunction("receberComponenteDigital", function ($job) {
  148 +
  149 + InfraDebug::getInstance()->gravar("[".date("d/m/Y H:i:s")."] Processando tarefa [receberComponenteDigital] " . $job->workload());
  150 + //TODO: A próxima etapa deveria ser o recebimento dos componentes digitais, rotina tradada na função receberProcedimento(...)
  151 +
  152 + //Agendamento de nova tarefa para envio do recibo de conclusão do trâmite
  153 + ProcessarPendenciasRN::processarTarefa("enviarReciboTramiteProcesso", $job->workload());
  154 + //$this->objGearmanClient->addTaskBackground("enviarReciboTramiteProcesso", $numIdentificacaoTramite, null);
  155 + });
  156 +
  157 + //Processamento de pendências de envio do recibo de conclusão do trãmite do processo
  158 + $this->objGearmanWorker->addFunction("enviarReciboTramiteProcesso", function ($job) {
  159 + InfraDebug::getInstance()->gravar("[".date("d/m/Y H:i:s")."] Processando tarefa [enviarReciboTramiteProcesso] " . $job->workload());
  160 + $numIdentificacaoTramite = intval($job->workload());
  161 + $objEnviarReciboTramiteRN = new EnviarReciboTramiteRN();
  162 + $objEnviarReciboTramiteRN->enviarReciboTramiteProcesso($numIdentificacaoTramite);
  163 + });
  164 + }
  165 +
  166 + static function processarTarefa($strNomeTarefa, $strWorkload)
  167 + {
  168 + $objClient = new GearmanClient();
  169 + $objClient->addServer('localhost', 4730);
  170 + $objClient->doBackground($strNomeTarefa, $strWorkload);
  171 + }
189 } 172 }
190 173
191 -//TODO: Tratar envio de e-mail em caso de falhas de execução  
192 SessaoSEI::getInstance(false); 174 SessaoSEI::getInstance(false);
193 ProcessarPendenciasRN::getInstance()->processarPendencias(); 175 ProcessarPendenciasRN::getInstance()->processarPendencias();
194 176
195 -?>  
196 \ No newline at end of file 177 \ No newline at end of file
  178 +?>
rn/ProcessoEletronicoRN.php
1 <?php 1 <?php
2 -//@TODOJOIN: VERIFICAR SE NÃO EXISTEM TRY CATCH QUE OCULTAM ERROS. CASO EXISTAM CATCH COM EXEPTION DO PHP, RETIRALOS 2 +//@TODOJOIN: VERIFICAR SE NÃO EXISTEM TRY CATCH QUE OCULTAM ERROS. CASO EXISTAM CATCH COM EXEPTION DO PHP, RETIRALOS
3 class ProcessoEletronicoRN extends InfraRN { 3 class ProcessoEletronicoRN extends InfraRN {
4 4
5 //const PEN_WEBSERVICE_LOCATION = 'https://desenv-api-pen.intra.planejamento/interoperabilidade/soap/v1_1/'; 5 //const PEN_WEBSERVICE_LOCATION = 'https://desenv-api-pen.intra.planejamento/interoperabilidade/soap/v1_1/';
6 - 6 +
7 /* TAREFAS DE EXPEDIÇÃO DE PROCESSOS */ 7 /* TAREFAS DE EXPEDIÇÃO DE PROCESSOS */
8 //Está definindo o comportamento para a tarefa $TI_PROCESSO_EM_PROCESSAMENTO 8 //Está definindo o comportamento para a tarefa $TI_PROCESSO_EM_PROCESSAMENTO
9 public static $TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO = 'PEN_PROCESSO_EXPEDIDO'; 9 public static $TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO = 'PEN_PROCESSO_EXPEDIDO';
@@ -19,21 +19,21 @@ class ProcessoEletronicoRN extends InfraRN { @@ -19,21 +19,21 @@ class ProcessoEletronicoRN extends InfraRN {
19 public static $STA_SIGILO_RESTRITO = '2'; 19 public static $STA_SIGILO_RESTRITO = '2';
20 public static $STA_SIGILO_SIGILOSO = '3'; 20 public static $STA_SIGILO_SIGILOSO = '3';
21 21
22 - /* RELAÇÃO DE SITUAÇÕES POSSÍVEIS EM UM TRÂMITE */  
23 - public static $STA_SITUACAO_TRAMITE_INICIADO = 1; // Iniciado - Metadados recebidos pela solução  
24 - public static $STA_SITUACAO_TRAMITE_COMPONENTES_ENVIADOS_REMETENTE = 2; // Componentes digitais recebidos pela solução 22 + /* RELAÇÃO DE SITUAÇÕES POSSÍVEIS EM UM TRÂMITE */
  23 + public static $STA_SITUACAO_TRAMITE_INICIADO = 1; // Iniciado - Metadados recebidos pela solução
  24 + public static $STA_SITUACAO_TRAMITE_COMPONENTES_ENVIADOS_REMETENTE = 2; // Componentes digitais recebidos pela solução
25 public static $STA_SITUACAO_TRAMITE_METADADOS_RECEBIDO_DESTINATARIO = 3; // Metadados recebidos pelo destinatário 25 public static $STA_SITUACAO_TRAMITE_METADADOS_RECEBIDO_DESTINATARIO = 3; // Metadados recebidos pelo destinatário
26 public static $STA_SITUACAO_TRAMITE_COMPONENTES_RECEBIDOS_DESTINATARIO = 4; // Componentes digitais recebidos pelo destinatário 26 public static $STA_SITUACAO_TRAMITE_COMPONENTES_RECEBIDOS_DESTINATARIO = 4; // Componentes digitais recebidos pelo destinatário
27 public static $STA_SITUACAO_TRAMITE_RECIBO_ENVIADO_DESTINATARIO = 5; // Recibo de conclusão do trâmite enviado pelo destinatário do processo 27 public static $STA_SITUACAO_TRAMITE_RECIBO_ENVIADO_DESTINATARIO = 5; // Recibo de conclusão do trâmite enviado pelo destinatário do processo
28 public static $STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE = 6; // Recibo de conclusão do trâmite recebido pelo remetente do processo 28 public static $STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE = 6; // Recibo de conclusão do trâmite recebido pelo remetente do processo
29 - public static $STA_SITUACAO_TRAMITE_CANCELADO = 7; // Trâmite do processo ou documento cancelado pelo usuário (Qualquer situação diferente de 5 e 6) 29 + public static $STA_SITUACAO_TRAMITE_CANCELADO = 7; // Trâmite do processo ou documento cancelado pelo usuário (Qualquer situação diferente de 5 e 6)
30 public static $STA_SITUACAO_TRAMITE_RECUSADO = 8; // Trâmite do processo recusado pelo destinatário (Situações 2, 3, 4) 30 public static $STA_SITUACAO_TRAMITE_RECUSADO = 8; // Trâmite do processo recusado pelo destinatário (Situações 2, 3, 4)
31 public static $STA_SITUACAO_TRAMITE_CIENCIA_RECUSA = 9; // Remetente ciente da recusa do trâmite 31 public static $STA_SITUACAO_TRAMITE_CIENCIA_RECUSA = 9; // Remetente ciente da recusa do trâmite
32 32
33 public static $STA_TIPO_RECIBO_ENVIO = '1'; // Recibo de envio 33 public static $STA_TIPO_RECIBO_ENVIO = '1'; // Recibo de envio
34 public static $STA_TIPO_RECIBO_CONCLUSAO_ENVIADO = '2'; // Recibo de recebimento enviado 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 35 public static $STA_TIPO_RECIBO_CONCLUSAO_RECEBIDO = '3'; // Recibo de recebimento recebido
36 - 36 +
37 /* OPERAÇÕES DO HISTÓRICO DO PROCESSO */ 37 /* OPERAÇÕES DO HISTÓRICO DO PROCESSO */
38 // 02 a 18 estão registrados na tabela rel_tarefa_operacao 38 // 02 a 18 estão registrados na tabela rel_tarefa_operacao
39 public static $OP_OPERACAO_REGISTRO = "01"; 39 public static $OP_OPERACAO_REGISTRO = "01";
@@ -41,7 +41,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -41,7 +41,7 @@ class ProcessoEletronicoRN extends InfraRN {
41 41
42 42
43 const ALGORITMO_HASH_DOCUMENTO = 'SHA256'; 43 const ALGORITMO_HASH_DOCUMENTO = 'SHA256';
44 - 44 +
45 /** 45 /**
46 * Motivo para recusar de tramite de componente digital pelo formato 46 * Motivo para recusar de tramite de componente digital pelo formato
47 */ 47 */
@@ -54,17 +54,17 @@ class ProcessoEletronicoRN extends InfraRN { @@ -54,17 +54,17 @@ 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 - 57 +
58 /** 58 /**
59 * Espécie documentoal não mapeada 59 * Espécie documentoal não mapeada
60 */ 60 */
61 const MTV_RCSR_TRAM_CD_ESPECIE_NAO_MAPEADA = '03'; 61 const MTV_RCSR_TRAM_CD_ESPECIE_NAO_MAPEADA = '03';
62 - 62 +
63 /** 63 /**
64 * Motivo para recusar de tramite de componente digital 64 * Motivo para recusar de tramite de componente digital
65 */ 65 */
66 const MTV_RCSR_TRAM_CD_OUTROU = '99'; 66 const MTV_RCSR_TRAM_CD_OUTROU = '99';
67 - 67 +
68 public static $MOTIVOS_RECUSA = array( 68 public static $MOTIVOS_RECUSA = array(
69 "01" => "Formato de componente digital não suportado", 69 "01" => "Formato de componente digital não suportado",
70 "02" => "Componente digital corrompido", 70 "02" => "Componente digital corrompido",
@@ -72,7 +72,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -72,7 +72,7 @@ class ProcessoEletronicoRN extends InfraRN {
72 "04" => "Espécie documental não mapeada no destinatário", 72 "04" => "Espécie documental não mapeada no destinatário",
73 "99" => "Outro" 73 "99" => "Outro"
74 ); 74 );
75 - 75 +
76 76
77 private $strWSDL = null; 77 private $strWSDL = null;
78 private $objPenWs = null; 78 private $objPenWs = null;
@@ -80,7 +80,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -80,7 +80,7 @@ class ProcessoEletronicoRN extends InfraRN {
80 80
81 public function __construct() { 81 public function __construct() {
82 $objPenParametroRN = new PenParametroRN(); 82 $objPenParametroRN = new PenParametroRN();
83 - 83 +
84 $strEnderecoWebService = $objPenParametroRN->getParametro('PEN_ENDERECO_WEBSERVICE'); 84 $strEnderecoWebService = $objPenParametroRN->getParametro('PEN_ENDERECO_WEBSERVICE');
85 $strLocalizacaoCertificadoDigital = $objPenParametroRN->getParametro('PEN_LOCALIZACAO_CERTIFICADO_DIGITAL'); 85 $strLocalizacaoCertificadoDigital = $objPenParametroRN->getParametro('PEN_LOCALIZACAO_CERTIFICADO_DIGITAL');
86 $strSenhaCertificadoDigital = $objPenParametroRN->getParametro('PEN_SENHA_CERTIFICADO_DIGITAL'); 86 $strSenhaCertificadoDigital = $objPenParametroRN->getParametro('PEN_SENHA_CERTIFICADO_DIGITAL');
@@ -121,17 +121,17 @@ class ProcessoEletronicoRN extends InfraRN { @@ -121,17 +121,17 @@ class ProcessoEletronicoRN extends InfraRN {
121 { 121 {
122 return BancoSEI::getInstance(); 122 return BancoSEI::getInstance();
123 } 123 }
124 - 124 +
125 /** 125 /**
126 * Verifica se o uma url esta ativa 126 * Verifica se o uma url esta ativa
127 - * 127 + *
128 * @param string $strUrl url a ser testada 128 * @param string $strUrl url a ser testada
129 * @param string $strLocalCert local físico do certificado .pem 129 * @param string $strLocalCert local físico do certificado .pem
130 * @throws InfraException 130 * @throws InfraException
131 * @return null 131 * @return null
132 */ 132 */
133 private function testaUrl($strUrl = '', $strLocalCert = ''){ 133 private function testaUrl($strUrl = '', $strLocalCert = ''){
134 - 134 +
135 $arrParseUrl = parse_url($this->strWSDL); 135 $arrParseUrl = parse_url($this->strWSDL);
136 // é melhor a página inicial que todo o arquivo wsdl 136 // é melhor a página inicial que todo o arquivo wsdl
137 $strUrl = $arrParseUrl['scheme'].'://'.$arrParseUrl['host']; 137 $strUrl = $arrParseUrl['scheme'].'://'.$arrParseUrl['host'];
@@ -147,37 +147,37 @@ class ProcessoEletronicoRN extends InfraRN { @@ -147,37 +147,37 @@ class ProcessoEletronicoRN extends InfraRN {
147 throw new InfraException('Falha de comunicação com o Barramento de Serviços. Por favor, tente novamente mais tarde.', $e); 147 throw new InfraException('Falha de comunicação com o Barramento de Serviços. Por favor, tente novamente mais tarde.', $e);
148 } 148 }
149 } 149 }
150 - 150 +
151 public function testarDisponibilidade(){ 151 public function testarDisponibilidade(){
152 - 152 +
153 try{ 153 try{
154 $this->testaUrl($this->strWSDL, $this->options['local_cert']); 154 $this->testaUrl($this->strWSDL, $this->options['local_cert']);
155 return true; 155 return true;
156 } catch (Exception $ex) { 156 } catch (Exception $ex) {
157 return false; 157 return false;
158 } 158 }
159 - 159 +
160 } 160 }
161 - 161 +
162 private function getObjPenWs() { 162 private function getObjPenWs() {
163 -  
164 - if($this->objPenWs == null) { 163 +
  164 + if($this->objPenWs == null) {
165 $this->testaUrl($this->strWSDL, $this->options['local_cert']); 165 $this->testaUrl($this->strWSDL, $this->options['local_cert']);
166 try { 166 try {
167 - 167 +
168 $objConfig = ConfiguracaoSEI::getInstance(); 168 $objConfig = ConfiguracaoSEI::getInstance();
169 - 169 +
170 if($objConfig->isSetValor('SEI', 'LogPenWs')){ 170 if($objConfig->isSetValor('SEI', 'LogPenWs')){
171 - 171 +
172 $this->objPenWs = new LogPenWs($objConfig->getValor('SEI', 'LogPenWs'), $this->strWSDL, $this->options); 172 $this->objPenWs = new LogPenWs($objConfig->getValor('SEI', 'LogPenWs'), $this->strWSDL, $this->options);
173 } 173 }
174 else { 174 else {
175 - 175 +
176 $this->objPenWs = new BeSimple\SoapClient\SoapClient($this->strWSDL, $this->options); 176 $this->objPenWs = new BeSimple\SoapClient\SoapClient($this->strWSDL, $this->options);
177 } 177 }
178 } catch (Exception $e) { 178 } catch (Exception $e) {
179 throw new InfraException('Erro acessando serviço.', $e); 179 throw new InfraException('Erro acessando serviço.', $e);
180 - } 180 + }
181 } 181 }
182 182
183 return $this->objPenWs; 183 return $this->objPenWs;
@@ -198,7 +198,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -198,7 +198,7 @@ class ProcessoEletronicoRN extends InfraRN {
198 if(isset($result->repositoriosEncontrados->repositorio)){ 198 if(isset($result->repositoriosEncontrados->repositorio)){
199 199
200 if(!is_array($result->repositoriosEncontrados->repositorio)) { 200 if(!is_array($result->repositoriosEncontrados->repositorio)) {
201 - $result->repositoriosEncontrados->repositorio = array($result->repositoriosEncontrados->repositorio); 201 + $result->repositoriosEncontrados->repositorio = array($result->repositoriosEncontrados->repositorio);
202 } 202 }
203 203
204 foreach ($result->repositoriosEncontrados->repositorio as $repositorio) { 204 foreach ($result->repositoriosEncontrados->repositorio as $repositorio) {
@@ -211,7 +211,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -211,7 +211,7 @@ class ProcessoEletronicoRN extends InfraRN {
211 } 211 }
212 } 212 }
213 } catch(Exception $e){ 213 } catch(Exception $e){
214 - throw new InfraException("Erro durante obtenção dos repositórios", $e); 214 + throw new InfraException("Erro durante obtenção dos repositórios", $e);
215 } 215 }
216 216
217 return $objRepositorioDTO; 217 return $objRepositorioDTO;
@@ -231,7 +231,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -231,7 +231,7 @@ class ProcessoEletronicoRN extends InfraRN {
231 if(isset($result->repositoriosEncontrados->repositorio)){ 231 if(isset($result->repositoriosEncontrados->repositorio)){
232 232
233 if(!is_array($result->repositoriosEncontrados->repositorio)) { 233 if(!is_array($result->repositoriosEncontrados->repositorio)) {
234 - $result->repositoriosEncontrados->repositorio = array($result->repositoriosEncontrados->repositorio); 234 + $result->repositoriosEncontrados->repositorio = array($result->repositoriosEncontrados->repositorio);
235 } 235 }
236 236
237 foreach ($result->repositoriosEncontrados->repositorio as $repositorio) { 237 foreach ($result->repositoriosEncontrados->repositorio as $repositorio) {
@@ -243,7 +243,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -243,7 +243,7 @@ class ProcessoEletronicoRN extends InfraRN {
243 } 243 }
244 } 244 }
245 } catch(Exception $e){ 245 } catch(Exception $e){
246 - throw new InfraException("Erro durante obtenção dos repositórios", $e); 246 + throw new InfraException("Erro durante obtenção dos repositórios", $e);
247 } 247 }
248 248
249 return $arrObjRepositorioDTO; 249 return $arrObjRepositorioDTO;
@@ -257,30 +257,30 @@ class ProcessoEletronicoRN extends InfraRN { @@ -257,30 +257,30 @@ class ProcessoEletronicoRN extends InfraRN {
257 $parametros->filtroDeEstruturas->identificacaoDoRepositorioDeEstruturas = $idRepositorioEstrutura; 257 $parametros->filtroDeEstruturas->identificacaoDoRepositorioDeEstruturas = $idRepositorioEstrutura;
258 $parametros->filtroDeEstruturas->numeroDeIdentificacaoDaEstrutura = $numeroDeIdentificacaoDaEstrutura; 258 $parametros->filtroDeEstruturas->numeroDeIdentificacaoDaEstrutura = $numeroDeIdentificacaoDaEstrutura;
259 $parametros->filtroDeEstruturas->apenasAtivas = false; 259 $parametros->filtroDeEstruturas->apenasAtivas = false;
260 - 260 +
261 $result = $this->getObjPenWs()->consultarEstruturas($parametros); 261 $result = $this->getObjPenWs()->consultarEstruturas($parametros);
262 262
263 if ($result->estruturasEncontradas->totalDeRegistros == 1) { 263 if ($result->estruturasEncontradas->totalDeRegistros == 1) {
264 264
265 $arrObjEstrutura = is_array($result->estruturasEncontradas->estrutura) ? $result->estruturasEncontradas->estrutura : array($result->estruturasEncontradas->estrutura); 265 $arrObjEstrutura = is_array($result->estruturasEncontradas->estrutura) ? $result->estruturasEncontradas->estrutura : array($result->estruturasEncontradas->estrutura);
266 $objEstrutura = current($arrObjEstrutura); 266 $objEstrutura = current($arrObjEstrutura);
267 - 267 +
268 $objEstrutura->nome = utf8_decode($objEstrutura->nome); 268 $objEstrutura->nome = utf8_decode($objEstrutura->nome);
269 $objEstrutura->sigla = utf8_decode($objEstrutura->sigla); 269 $objEstrutura->sigla = utf8_decode($objEstrutura->sigla);
270 - 270 +
271 if ($bolRetornoRaw !== false) { 271 if ($bolRetornoRaw !== false) {
272 if (isset($objEstrutura->hierarquia) && isset($objEstrutura->hierarquia->nivel)) { 272 if (isset($objEstrutura->hierarquia) && isset($objEstrutura->hierarquia->nivel)) {
273 if (!is_array($objEstrutura->hierarquia->nivel)) { 273 if (!is_array($objEstrutura->hierarquia->nivel)) {
274 $objEstrutura->hierarquia->nivel = array($objEstrutura->hierarquia->nivel); 274 $objEstrutura->hierarquia->nivel = array($objEstrutura->hierarquia->nivel);
275 } 275 }
276 - 276 +
277 $objEstrutura->hierarquia->nivel = (array) $objEstrutura->hierarquia->nivel; 277 $objEstrutura->hierarquia->nivel = (array) $objEstrutura->hierarquia->nivel;
278 foreach ($objEstrutura->hierarquia->nivel as &$objNivel) { 278 foreach ($objEstrutura->hierarquia->nivel as &$objNivel) {
279 $objNivel->nome = utf8_decode($objNivel->nome); 279 $objNivel->nome = utf8_decode($objNivel->nome);
280 - } 280 + }
281 } 281 }
282 return $objEstrutura; 282 return $objEstrutura;
283 - } 283 + }
284 else { 284 else {
285 285
286 $objEstruturaDTO = new EstruturaDTO(); 286 $objEstruturaDTO = new EstruturaDTO();
@@ -293,27 +293,28 @@ class ProcessoEletronicoRN extends InfraRN { @@ -293,27 +293,28 @@ class ProcessoEletronicoRN extends InfraRN {
293 return $objEstruturaDTO; 293 return $objEstruturaDTO;
294 } 294 }
295 } 295 }
296 - } 296 + }
297 catch (Exception $e) { 297 catch (Exception $e) {
298 throw new InfraException("Erro durante obtenção das unidades", $e); 298 throw new InfraException("Erro durante obtenção das unidades", $e);
299 } 299 }
300 } 300 }
301 301
302 - public function listarEstruturas($idRepositorioEstrutura, $nome='') 302 + public function listarEstruturas($idRepositorioEstrutura, $nome='')
303 { 303 {
304 $arrObjEstruturaDTO = array(); 304 $arrObjEstruturaDTO = array();
305 305
306 try{ 306 try{
307 $idRepositorioEstrutura = filter_var($idRepositorioEstrutura, FILTER_SANITIZE_NUMBER_INT); 307 $idRepositorioEstrutura = filter_var($idRepositorioEstrutura, FILTER_SANITIZE_NUMBER_INT);
308 if(!$idRepositorioEstrutura) { 308 if(!$idRepositorioEstrutura) {
309 - throw new InfraException("Repositório de Estruturas inválido"); 309 + throw new InfraException("Repositório de Estruturas inválido");
310 } 310 }
311 311
312 $parametros = new stdClass(); 312 $parametros = new stdClass();
313 $parametros->filtroDeEstruturas = new stdClass(); 313 $parametros->filtroDeEstruturas = new stdClass();
314 $parametros->filtroDeEstruturas->identificacaoDoRepositorioDeEstruturas = $idRepositorioEstrutura; 314 $parametros->filtroDeEstruturas->identificacaoDoRepositorioDeEstruturas = $idRepositorioEstrutura;
315 $parametros->filtroDeEstruturas->apenasAtivas = false; 315 $parametros->filtroDeEstruturas->apenasAtivas = false;
316 - 316 +
  317 + $nome = trim($nome);
317 if(is_numeric($nome)) { 318 if(is_numeric($nome)) {
318 $parametros->filtroDeEstruturas->numeroDeIdentificacaoDaEstrutura = intval($nome); 319 $parametros->filtroDeEstruturas->numeroDeIdentificacaoDaEstrutura = intval($nome);
319 } else { 320 } else {
@@ -325,7 +326,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -325,7 +326,7 @@ class ProcessoEletronicoRN extends InfraRN {
325 if($result->estruturasEncontradas->totalDeRegistros > 0) { 326 if($result->estruturasEncontradas->totalDeRegistros > 0) {
326 327
327 if(!is_array($result->estruturasEncontradas->estrutura)) { 328 if(!is_array($result->estruturasEncontradas->estrutura)) {
328 - $result->estruturasEncontradas->estrutura = array($result->estruturasEncontradas->estrutura); 329 + $result->estruturasEncontradas->estrutura = array($result->estruturasEncontradas->estrutura);
329 } 330 }
330 331
331 foreach ($result->estruturasEncontradas->estrutura as $estrutura) { 332 foreach ($result->estruturasEncontradas->estrutura as $estrutura) {
@@ -336,25 +337,25 @@ class ProcessoEletronicoRN extends InfraRN { @@ -336,25 +337,25 @@ class ProcessoEletronicoRN extends InfraRN {
336 $item->setBolAtivo($estrutura->ativo); 337 $item->setBolAtivo($estrutura->ativo);
337 $item->setBolAptoParaReceberTramites($estrutura->aptoParaReceberTramites); 338 $item->setBolAptoParaReceberTramites($estrutura->aptoParaReceberTramites);
338 $item->setStrCodigoNoOrgaoEntidade($estrutura->codigoNoOrgaoEntidade); 339 $item->setStrCodigoNoOrgaoEntidade($estrutura->codigoNoOrgaoEntidade);
339 - 340 +
340 if(!empty($estrutura->hierarquia->nivel)) { 341 if(!empty($estrutura->hierarquia->nivel)) {
341 - 342 +
342 $array = array(); 343 $array = array();
343 - 344 +
344 foreach($estrutura->hierarquia->nivel as $nivel) { 345 foreach($estrutura->hierarquia->nivel as $nivel) {
345 - 346 +
346 $array[] = utf8_decode($nivel->sigla); 347 $array[] = utf8_decode($nivel->sigla);
347 } 348 }
348 - 349 +
349 $item->setArrHierarquia($array); 350 $item->setArrHierarquia($array);
350 } 351 }
351 - 352 +
352 $arrObjEstruturaDTO[] = $item; 353 $arrObjEstruturaDTO[] = $item;
353 } 354 }
354 - } 355 + }
355 356
356 } catch (Exception $e) { 357 } catch (Exception $e) {
357 - throw new InfraException("Erro durante obtenção das unidades", $e); 358 + throw new InfraException("Erro durante obtenção das unidades", $e);
358 } 359 }
359 360
360 return $arrObjEstruturaDTO; 361 return $arrObjEstruturaDTO;
@@ -380,7 +381,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -380,7 +381,7 @@ class ProcessoEletronicoRN extends InfraRN {
380 $xpath = new DOMXPath($dom); 381 $xpath = new DOMXPath($dom);
381 382
382 $rootNamespace = $dom->lookupNamespaceUri($dom->namespaceURI); 383 $rootNamespace = $dom->lookupNamespaceUri($dom->namespaceURI);
383 - $xpath->registerNamespace('x', $rootNamespace); 384 + $xpath->registerNamespace('x', $rootNamespace);
384 $entries = $xpath->query('/x:schema/x:simpleType[@name="motivoDaUrgencia"]/x:restriction/x:enumeration'); 385 $entries = $xpath->query('/x:schema/x:simpleType[@name="motivoDaUrgencia"]/x:restriction/x:enumeration');
385 386
386 $resultado = array(); 387 $resultado = array();
@@ -394,16 +395,16 @@ class ProcessoEletronicoRN extends InfraRN { @@ -394,16 +395,16 @@ class ProcessoEletronicoRN extends InfraRN {
394 } 395 }
395 396
396 return $resultado; 397 return $resultado;
397 - } 398 + }
398 399
399 - public function enviarProcesso($parametros) 400 + public function enviarProcesso($parametros)
400 { 401 {
401 try { 402 try {
402 //error_log("PARAMETROS:" . print_r($parametros, true)); 403 //error_log("PARAMETROS:" . print_r($parametros, true));
403 - return $this->getObjPenWs()->enviarProcesso($parametros); 404 + return $this->getObjPenWs()->enviarProcesso($parametros);
404 } catch (\SoapFault $fault) { 405 } catch (\SoapFault $fault) {
405 -  
406 - 406 +
  407 +
407 if (!empty($fault->detail->interoperabilidadeException->codigoErro) && $fault->detail->interoperabilidadeException->codigoErro == '0005') { 408 if (!empty($fault->detail->interoperabilidadeException->codigoErro) && $fault->detail->interoperabilidadeException->codigoErro == '0005') {
408 $mensagem = 'O código mapeado para a unidade ' . utf8_decode($parametros->novoTramiteDeProcesso->processo->documento[0]->produtor->unidade->nome) . ' está incorreto.'; 409 $mensagem = 'O código mapeado para a unidade ' . utf8_decode($parametros->novoTramiteDeProcesso->processo->documento[0]->produtor->unidade->nome) . ' está incorreto.';
409 } else { 410 } else {
@@ -416,7 +417,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -416,7 +417,7 @@ class ProcessoEletronicoRN extends InfraRN {
416 417
417 } catch (\Exception $e) { 418 } catch (\Exception $e) {
418 throw new InfraException("Error Processing Request", $e); 419 throw new InfraException("Error Processing Request", $e);
419 - } 420 + }
420 } 421 }
421 422
422 public function listarPendencias($bolTodasPendencias) 423 public function listarPendencias($bolTodasPendencias)
@@ -427,7 +428,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -427,7 +428,7 @@ class ProcessoEletronicoRN extends InfraRN {
427 try { 428 try {
428 $parametros = new stdClass(); 429 $parametros = new stdClass();
429 $parametros->filtroDePendencias = new stdClass(); 430 $parametros->filtroDePendencias = new stdClass();
430 - $parametros->filtroDePendencias->todasAsPendencias = $bolTodasPendencias; 431 + $parametros->filtroDePendencias->todasAsPendencias = $bolTodasPendencias;
431 $result = $this->getObjPenWs()->listarPendencias($parametros); 432 $result = $this->getObjPenWs()->listarPendencias($parametros);
432 433
433 if(isset($result->listaDePendencias->IDT)){ 434 if(isset($result->listaDePendencias->IDT)){
@@ -441,7 +442,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -441,7 +442,7 @@ class ProcessoEletronicoRN extends InfraRN {
441 $item->setNumIdentificacaoTramite($idt->_); 442 $item->setNumIdentificacaoTramite($idt->_);
442 $item->setStrStatus($idt->status); 443 $item->setStrStatus($idt->status);
443 $arrObjPendenciaDTO[] = $item; 444 $arrObjPendenciaDTO[] = $item;
444 - } 445 + }
445 } 446 }
446 } catch (\SoapFault $fault) { 447 } catch (\SoapFault $fault) {
447 $mensagem = $this->tratarFalhaWebService($fault); 448 $mensagem = $this->tratarFalhaWebService($fault);
@@ -451,13 +452,13 @@ class ProcessoEletronicoRN extends InfraRN { @@ -451,13 +452,13 @@ class ProcessoEletronicoRN extends InfraRN {
451 } 452 }
452 453
453 return $arrObjPendenciaDTO; 454 return $arrObjPendenciaDTO;
454 - } 455 + }
455 456
456 //TODO: Tratar cada um dos possíveis erros gerados pelos serviços de integração do PEN 457 //TODO: Tratar cada um dos possíveis erros gerados pelos serviços de integração do PEN
457 private function tratarFalhaWebService(SoapFault $fault) 458 private function tratarFalhaWebService(SoapFault $fault)
458 { 459 {
459 error_log('$e->faultcode:' . $fault->faultcode); 460 error_log('$e->faultcode:' . $fault->faultcode);
460 - error_log('$e->detail:' . print_r($fault->detail, true)); 461 + error_log('$e->detail:' . print_r($fault->detail, true));
461 462
462 $mensagem = $fault->getMessage(); 463 $mensagem = $fault->getMessage();
463 if(isset($fault->detail->interoperabilidadeException)){ 464 if(isset($fault->detail->interoperabilidadeException)){
@@ -477,13 +478,13 @@ class ProcessoEletronicoRN extends InfraRN { @@ -477,13 +478,13 @@ class ProcessoEletronicoRN extends InfraRN {
477 return $mensagem; 478 return $mensagem;
478 } 479 }
479 480
480 - public function construirCabecalho($strNumeroRegistro = null, $idRepositorioOrigem = 0, $idUnidadeOrigem = 0, $idRepositorioDestino = 0, 481 + public function construirCabecalho($strNumeroRegistro = null, $idRepositorioOrigem = 0, $idUnidadeOrigem = 0, $idRepositorioDestino = 0,
481 $idUnidadeDestino = 0, $urgente = false, $motivoUrgencia = 0, $enviarTodosDocumentos = false) 482 $idUnidadeDestino = 0, $urgente = false, $motivoUrgencia = 0, $enviarTodosDocumentos = false)
482 { 483 {
483 $cabecalho = new stdClass(); 484 $cabecalho = new stdClass();
484 485
485 if(isset($strNumeroRegistro)) { 486 if(isset($strNumeroRegistro)) {
486 - $cabecalho->NRE = $strNumeroRegistro; 487 + $cabecalho->NRE = $strNumeroRegistro;
487 } 488 }
488 489
489 $cabecalho->remetente = new stdClass(); 490 $cabecalho->remetente = new stdClass();
@@ -506,7 +507,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -506,7 +507,7 @@ class ProcessoEletronicoRN extends InfraRN {
506 try { 507 try {
507 //error_log('$this->getObjPenWs()->enviarComponenteDigital($parametros)'); 508 //error_log('$this->getObjPenWs()->enviarComponenteDigital($parametros)');
508 //error_log("||||||||||||||||||" . print_r($parametros, true)); 509 //error_log("||||||||||||||||||" . print_r($parametros, true));
509 - return $this->getObjPenWs()->enviarComponenteDigital($parametros); 510 + return $this->getObjPenWs()->enviarComponenteDigital($parametros);
510 511
511 } catch (\SoapFault $fault) { 512 } catch (\SoapFault $fault) {
512 //error_log("REQUEST:" . $this->getObjPenWs()->__getLastRequest()); 513 //error_log("REQUEST:" . $this->getObjPenWs()->__getLastRequest());
@@ -521,7 +522,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -521,7 +522,7 @@ class ProcessoEletronicoRN extends InfraRN {
521 } catch (\Exception $e) { 522 } catch (\Exception $e) {
522 523
523 throw new InfraException("Error Processing Request", $e); 524 throw new InfraException("Error Processing Request", $e);
524 - } 525 + }
525 526
526 } 527 }
527 528
@@ -529,9 +530,9 @@ class ProcessoEletronicoRN extends InfraRN { @@ -529,9 +530,9 @@ class ProcessoEletronicoRN extends InfraRN {
529 public function solicitarMetadados($parNumIdentificacaoTramite) { 530 public function solicitarMetadados($parNumIdentificacaoTramite) {
530 531
531 try 532 try
532 - { 533 + {
533 $parametros = new stdClass(); 534 $parametros = new stdClass();
534 - $parametros->IDT = $parNumIdentificacaoTramite; 535 + $parametros->IDT = $parNumIdentificacaoTramite;
535 return $this->getObjPenWs()->solicitarMetadados($parametros); 536 return $this->getObjPenWs()->solicitarMetadados($parametros);
536 } catch (\SoapFault $fault) { 537 } catch (\SoapFault $fault) {
537 $mensagem = $this->tratarFalhaWebService($fault); 538 $mensagem = $this->tratarFalhaWebService($fault);
@@ -542,10 +543,10 @@ class ProcessoEletronicoRN extends InfraRN { @@ -542,10 +543,10 @@ class ProcessoEletronicoRN extends InfraRN {
542 543
543 } catch (\Exception $e) { 544 } catch (\Exception $e) {
544 throw new InfraException("Error Processing Request", $e); 545 throw new InfraException("Error Processing Request", $e);
545 - }  
546 - } 546 + }
  547 + }
547 548
548 - public static function converterDataWebService($dataHoraSEI) 549 + public static function converterDataWebService($dataHoraSEI)
549 { 550 {
550 $resultado = ''; 551 $resultado = '';
551 if(isset($dataHoraSEI)){ 552 if(isset($dataHoraSEI)){
@@ -556,7 +557,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -556,7 +557,7 @@ class ProcessoEletronicoRN extends InfraRN {
556 return $resultado; 557 return $resultado;
557 } 558 }
558 559
559 - public static function converterDataSEI($dataHoraWebService) 560 + public static function converterDataSEI($dataHoraWebService)
560 { 561 {
561 $resultado = null; 562 $resultado = null;
562 if(isset($dataHoraWebService)){ 563 if(isset($dataHoraWebService)){
@@ -566,7 +567,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -566,7 +567,7 @@ class ProcessoEletronicoRN extends InfraRN {
566 567
567 return $resultado; 568 return $resultado;
568 } 569 }
569 - 570 +
570 public static function obterIdTarefaModulo($strIdTarefaModulo) 571 public static function obterIdTarefaModulo($strIdTarefaModulo)
571 { 572 {
572 $objTarefaDTO = new TarefaDTO(); 573 $objTarefaDTO = new TarefaDTO();
@@ -581,25 +582,25 @@ class ProcessoEletronicoRN extends InfraRN { @@ -581,25 +582,25 @@ class ProcessoEletronicoRN extends InfraRN {
581 }else{ 582 }else{
582 return false; 583 return false;
583 } 584 }
584 - 585 +
585 } 586 }
586 587
587 public function cadastrarTramiteDeProcesso($parDblIdProcedimento, $parStrNumeroRegistro, $parNumIdentificacaoTramite, $parDthRegistroTramite, $parObjProcesso, $parNumTicketComponentesDigitais = null, $parObjComponentesDigitaisSolicitados = null) 588 public function cadastrarTramiteDeProcesso($parDblIdProcedimento, $parStrNumeroRegistro, $parNumIdentificacaoTramite, $parDthRegistroTramite, $parObjProcesso, $parNumTicketComponentesDigitais = null, $parObjComponentesDigitaisSolicitados = null)
588 { 589 {
589 if(!isset($parDblIdProcedimento) || $parDblIdProcedimento == 0) { 590 if(!isset($parDblIdProcedimento) || $parDblIdProcedimento == 0) {
590 - throw new InfraException('Parâmetro $parDblIdProcedimento não informado.'); 591 + throw new InfraException('Parâmetro $parDblIdProcedimento não informado.');
591 } 592 }
592 593
593 if(!isset($parStrNumeroRegistro)) { 594 if(!isset($parStrNumeroRegistro)) {
594 - throw new InfraException('Parâmetro $parStrNumeroRegistro não informado.'); 595 + throw new InfraException('Parâmetro $parStrNumeroRegistro não informado.');
595 } 596 }
596 597
597 if(!isset($parNumIdentificacaoTramite) || $parNumIdentificacaoTramite == 0) { 598 if(!isset($parNumIdentificacaoTramite) || $parNumIdentificacaoTramite == 0) {
598 - throw new InfraException('Parâmetro $parStrNumeroRegistro não informado.'); 599 + throw new InfraException('Parâmetro $parStrNumeroRegistro não informado.');
599 } 600 }
600 601
601 if(!isset($parObjProcesso)) { 602 if(!isset($parObjProcesso)) {
602 - throw new InfraException('Parâmetro $objProcesso não informado.'); 603 + throw new InfraException('Parâmetro $objProcesso não informado.');
603 } 604 }
604 605
605 //Monta dados do processo eletrônico 606 //Monta dados do processo eletrônico
@@ -607,12 +608,12 @@ class ProcessoEletronicoRN extends InfraRN { @@ -607,12 +608,12 @@ class ProcessoEletronicoRN extends InfraRN {
607 $objProcessoEletronicoDTO->setStrNumeroRegistro($parStrNumeroRegistro); 608 $objProcessoEletronicoDTO->setStrNumeroRegistro($parStrNumeroRegistro);
608 $objProcessoEletronicoDTO->setDblIdProcedimento($parDblIdProcedimento); 609 $objProcessoEletronicoDTO->setDblIdProcedimento($parDblIdProcedimento);
609 610
610 - //Montar dados dos procedimentos apensados 611 + //Montar dados dos procedimentos apensados
611 if(isset($parObjProcesso->processoApensado)){ 612 if(isset($parObjProcesso->processoApensado)){
612 if(!is_array($parObjProcesso->processoApensado)){ 613 if(!is_array($parObjProcesso->processoApensado)){
613 $parObjProcesso->processoApensado = array($parObjProcesso->processoApensado); 614 $parObjProcesso->processoApensado = array($parObjProcesso->processoApensado);
614 } 615 }
615 - 616 +
616 $arrObjRelProcessoEletronicoApensadoDTO = array(); 617 $arrObjRelProcessoEletronicoApensadoDTO = array();
617 $objRelProcessoEletronicoApensadoDTO = null; 618 $objRelProcessoEletronicoApensadoDTO = null;
618 foreach ($parObjProcesso->processoApensado as $objProcessoApensado) { 619 foreach ($parObjProcesso->processoApensado as $objProcessoApensado) {
@@ -631,14 +632,14 @@ class ProcessoEletronicoRN extends InfraRN { @@ -631,14 +632,14 @@ class ProcessoEletronicoRN extends InfraRN {
631 $objTramiteDTO->setStrNumeroRegistro($parStrNumeroRegistro); 632 $objTramiteDTO->setStrNumeroRegistro($parStrNumeroRegistro);
632 $objTramiteDTO->setNumIdTramite($parNumIdentificacaoTramite); 633 $objTramiteDTO->setNumIdTramite($parNumIdentificacaoTramite);
633 $objTramiteDTO->setNumTicketEnvioComponentes($parNumTicketComponentesDigitais); 634 $objTramiteDTO->setNumTicketEnvioComponentes($parNumTicketComponentesDigitais);
634 - $objTramiteDTO->setDthRegistro($this->converterDataSEI($parDthRegistroTramite)); 635 + $objTramiteDTO->setDthRegistro($this->converterDataSEI($parDthRegistroTramite));
635 $objTramiteDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); 636 $objTramiteDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
636 $objTramiteDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); 637 $objTramiteDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario());
637 $objProcessoEletronicoDTO->setArrObjTramiteDTO(array($objTramiteDTO)); 638 $objProcessoEletronicoDTO->setArrObjTramiteDTO(array($objTramiteDTO));
638 639
639 //Monta dados dos componentes digitais 640 //Monta dados dos componentes digitais
640 $arrObjComponenteDigitalDTO = $this->montarDadosComponenteDigital($parStrNumeroRegistro, $parNumIdentificacaoTramite, $parObjProcesso, $parObjComponentesDigitaisSolicitados); 641 $arrObjComponenteDigitalDTO = $this->montarDadosComponenteDigital($parStrNumeroRegistro, $parNumIdentificacaoTramite, $parObjProcesso, $parObjComponentesDigitaisSolicitados);
641 - 642 +
642 $objTramiteDTO->setArrObjComponenteDigitalDTO($arrObjComponenteDigitalDTO); 643 $objTramiteDTO->setArrObjComponenteDigitalDTO($arrObjComponenteDigitalDTO);
643 $objProcessoEletronicoDTO = $this->cadastrarTramiteDeProcessoInterno($objProcessoEletronicoDTO); 644 $objProcessoEletronicoDTO = $this->cadastrarTramiteDeProcessoInterno($objProcessoEletronicoDTO);
644 645
@@ -650,11 +651,11 @@ class ProcessoEletronicoRN extends InfraRN { @@ -650,11 +651,11 @@ class ProcessoEletronicoRN extends InfraRN {
650 protected function cadastrarTramiteDeProcessoInternoControlado(ProcessoEletronicoDTO $parObjProcessoEletronicoDTO) { 651 protected function cadastrarTramiteDeProcessoInternoControlado(ProcessoEletronicoDTO $parObjProcessoEletronicoDTO) {
651 652
652 if(!isset($parObjProcessoEletronicoDTO)) { 653 if(!isset($parObjProcessoEletronicoDTO)) {
653 - throw new InfraException('Parâmetro $parObjProcessoEletronicoDTO não informado.'); 654 + throw new InfraException('Parâmetro $parObjProcessoEletronicoDTO não informado.');
654 } 655 }
655 656
656 $idProcedimento = $parObjProcessoEletronicoDTO->getDblIdProcedimento(); 657 $idProcedimento = $parObjProcessoEletronicoDTO->getDblIdProcedimento();
657 - 658 +
658 //Registra os dados do processo eletrônico 659 //Registra os dados do processo eletrônico
659 //TODO: Revisar a forma como o barramento tratar o NRE para os processos apensados 660 //TODO: Revisar a forma como o barramento tratar o NRE para os processos apensados
660 $objProcessoEletronicoDTOFiltro = new ProcessoEletronicoDTO(); 661 $objProcessoEletronicoDTOFiltro = new ProcessoEletronicoDTO();
@@ -667,7 +668,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -667,7 +668,7 @@ class ProcessoEletronicoRN extends InfraRN {
667 $objProcessoEletronicoDTO = $objProcessoEletronicoBD->consultar($objProcessoEletronicoDTOFiltro); 668 $objProcessoEletronicoDTO = $objProcessoEletronicoBD->consultar($objProcessoEletronicoDTOFiltro);
668 669
669 if(empty($objProcessoEletronicoDTO)) { 670 if(empty($objProcessoEletronicoDTO)) {
670 - 671 +
671 $objProcessoEletronicoDTO = $objProcessoEletronicoBD->cadastrar($objProcessoEletronicoDTOFiltro); 672 $objProcessoEletronicoDTO = $objProcessoEletronicoBD->cadastrar($objProcessoEletronicoDTOFiltro);
672 } 673 }
673 674
@@ -675,20 +676,20 @@ class ProcessoEletronicoRN extends InfraRN { @@ -675,20 +676,20 @@ class ProcessoEletronicoRN extends InfraRN {
675 if($parObjProcessoEletronicoDTO->isSetArrObjRelProcessoEletronicoApensado()) { 676 if($parObjProcessoEletronicoDTO->isSetArrObjRelProcessoEletronicoApensado()) {
676 677
677 $objRelProcessoEletronicoApensadoBD = new RelProcessoEletronicoApensadoBD($this->getObjInfraIBanco()); 678 $objRelProcessoEletronicoApensadoBD = new RelProcessoEletronicoApensadoBD($this->getObjInfraIBanco());
678 - 679 +
679 foreach ($parObjProcessoEletronicoDTO->getArrObjRelProcessoEletronicoApensado() as $objRelProcessoEletronicoApensadoDTOFiltro) { 680 foreach ($parObjProcessoEletronicoDTO->getArrObjRelProcessoEletronicoApensado() as $objRelProcessoEletronicoApensadoDTOFiltro) {
680 - 681 +
681 if($objRelProcessoEletronicoApensadoBD->contar($objRelProcessoEletronicoApensadoDTOFiltro) < 1){ 682 if($objRelProcessoEletronicoApensadoBD->contar($objRelProcessoEletronicoApensadoDTOFiltro) < 1){
682 -  
683 - $objRelProcessoEletronicoApensadoBD->cadastrar($objRelProcessoEletronicoApensadoDTOFiltro); 683 +
  684 + $objRelProcessoEletronicoApensadoBD->cadastrar($objRelProcessoEletronicoApensadoDTOFiltro);
684 } 685 }
685 } 686 }
686 } 687 }
687 688
688 //Registrar informações sobre o trâmite do processo 689 //Registrar informações sobre o trâmite do processo
689 $arrObjTramiteDTO = $parObjProcessoEletronicoDTO->getArrObjTramiteDTO(); 690 $arrObjTramiteDTO = $parObjProcessoEletronicoDTO->getArrObjTramiteDTO();
690 - $parObjTramiteDTO = $arrObjTramiteDTO[0];  
691 - 691 + $parObjTramiteDTO = $arrObjTramiteDTO[0];
  692 +
692 $objTramiteDTO = new TramiteDTO(); 693 $objTramiteDTO = new TramiteDTO();
693 $objTramiteDTO->retNumIdTramite(); 694 $objTramiteDTO->retNumIdTramite();
694 $objTramiteDTO->setStrNumeroRegistro($parObjTramiteDTO->getStrNumeroRegistro()); 695 $objTramiteDTO->setStrNumeroRegistro($parObjTramiteDTO->getStrNumeroRegistro());
@@ -699,57 +700,57 @@ class ProcessoEletronicoRN extends InfraRN { @@ -699,57 +700,57 @@ class ProcessoEletronicoRN extends InfraRN {
699 700
700 if($objTramiteDTO == null) { 701 if($objTramiteDTO == null) {
701 $objTramiteDTO = $objTramiteBD->cadastrar($parObjTramiteDTO); 702 $objTramiteDTO = $objTramiteBD->cadastrar($parObjTramiteDTO);
702 - } 703 + }
703 704
704 $objProcessoEletronicoDTO->setArrObjTramiteDTO(array($objTramiteDTO)); 705 $objProcessoEletronicoDTO->setArrObjTramiteDTO(array($objTramiteDTO));
705 706
706 //Registra informações sobre o componente digital do documento 707 //Registra informações sobre o componente digital do documento
707 $arrObjComponenteDigitalDTO = array(); 708 $arrObjComponenteDigitalDTO = array();
708 $objComponenteDigitalBD = new ComponenteDigitalBD($this->getObjInfraIBanco()); 709 $objComponenteDigitalBD = new ComponenteDigitalBD($this->getObjInfraIBanco());
709 - 710 +
710 $numOrdem = 1; 711 $numOrdem = 1;
711 - 712 +
712 foreach ($parObjTramiteDTO->getArrObjComponenteDigitalDTO() as $objComponenteDigitalDTO) { 713 foreach ($parObjTramiteDTO->getArrObjComponenteDigitalDTO() as $objComponenteDigitalDTO) {
713 - 714 +
714 $objComponenteDigitalDTOFiltro = new ComponenteDigitalDTO(); 715 $objComponenteDigitalDTOFiltro = new ComponenteDigitalDTO();
715 - 716 +
716 $objComponenteDigitalDTOFiltro->setStrNumeroRegistro($objComponenteDigitalDTO->getStrNumeroRegistro()); 717 $objComponenteDigitalDTOFiltro->setStrNumeroRegistro($objComponenteDigitalDTO->getStrNumeroRegistro());
717 - $objComponenteDigitalDTOFiltro->setDblIdProcedimento($objComponenteDigitalDTO->getDblIdProcedimento());  
718 - $objComponenteDigitalDTOFiltro->setDblIdDocumento($objComponenteDigitalDTO->getDblIdDocumento());  
719 - 718 + $objComponenteDigitalDTOFiltro->setDblIdProcedimento($objComponenteDigitalDTO->getDblIdProcedimento());
  719 + $objComponenteDigitalDTOFiltro->setDblIdDocumento($objComponenteDigitalDTO->getDblIdDocumento());
  720 +
720 if($objComponenteDigitalBD->contar($objComponenteDigitalDTOFiltro) > 0){ 721 if($objComponenteDigitalBD->contar($objComponenteDigitalDTOFiltro) > 0){
721 $numOrdem++; 722 $numOrdem++;
722 } 723 }
723 - 724 +
724 } 725 }
725 - 726 +
726 foreach ($parObjTramiteDTO->getArrObjComponenteDigitalDTO() as $objComponenteDigitalDTO) { 727 foreach ($parObjTramiteDTO->getArrObjComponenteDigitalDTO() as $objComponenteDigitalDTO) {
727 - 728 +
728 //Verifica se o documento foi inserido pelo trâmite atual 729 //Verifica se o documento foi inserido pelo trâmite atual
729 if($objComponenteDigitalDTO->getDblIdDocumento() != null){ 730 if($objComponenteDigitalDTO->getDblIdDocumento() != null){
730 - 731 +
731 $objComponenteDigitalDTO->setDblIdProcedimento($idProcedimento); 732 $objComponenteDigitalDTO->setDblIdProcedimento($idProcedimento);
732 - 733 +
733 $objComponenteDigitalDTOFiltro = new ComponenteDigitalDTO(); 734 $objComponenteDigitalDTOFiltro = new ComponenteDigitalDTO();
734 - 735 +
735 $objComponenteDigitalDTOFiltro->setStrNumeroRegistro($objComponenteDigitalDTO->getStrNumeroRegistro()); 736 $objComponenteDigitalDTOFiltro->setStrNumeroRegistro($objComponenteDigitalDTO->getStrNumeroRegistro());
736 - $objComponenteDigitalDTOFiltro->setDblIdProcedimento($objComponenteDigitalDTO->getDblIdProcedimento());  
737 - $objComponenteDigitalDTOFiltro->setDblIdDocumento($objComponenteDigitalDTO->getDblIdDocumento());  
738 - 737 + $objComponenteDigitalDTOFiltro->setDblIdProcedimento($objComponenteDigitalDTO->getDblIdProcedimento());
  738 + $objComponenteDigitalDTOFiltro->setDblIdDocumento($objComponenteDigitalDTO->getDblIdDocumento());
  739 +
739 if($objComponenteDigitalBD->contar($objComponenteDigitalDTOFiltro) < 1){ 740 if($objComponenteDigitalBD->contar($objComponenteDigitalDTOFiltro) < 1){
740 - 741 +
741 $objComponenteDigitalDTO->setNumOrdem($numOrdem); 742 $objComponenteDigitalDTO->setNumOrdem($numOrdem);
742 $objComponenteDigitalDTO->unSetStrDadosComplementares(); 743 $objComponenteDigitalDTO->unSetStrDadosComplementares();
743 $objComponenteDigitalDTO = $objComponenteDigitalBD->cadastrar($objComponenteDigitalDTO); 744 $objComponenteDigitalDTO = $objComponenteDigitalBD->cadastrar($objComponenteDigitalDTO);
744 $numOrdem++; 745 $numOrdem++;
745 } 746 }
746 else { 747 else {
747 - 748 +
748 //Verifica se foi setado o envio 749 //Verifica se foi setado o envio
749 if(!$objComponenteDigitalDTO->isSetStrSinEnviar()){ 750 if(!$objComponenteDigitalDTO->isSetStrSinEnviar()){
750 $objComponenteDigitalDTO->setStrSinEnviar('N'); 751 $objComponenteDigitalDTO->setStrSinEnviar('N');
751 } 752 }
752 - 753 +
753 // Muda a ID do tramite e o arquivo pode ser enviado 754 // Muda a ID do tramite e o arquivo pode ser enviado
754 $objComponenteDigitalBD->alterar($objComponenteDigitalDTO); 755 $objComponenteDigitalBD->alterar($objComponenteDigitalDTO);
755 } 756 }
@@ -765,17 +766,17 @@ class ProcessoEletronicoRN extends InfraRN { @@ -765,17 +766,17 @@ class ProcessoEletronicoRN extends InfraRN {
765 766
766 return $objProcessoEletronicoDTO; 767 return $objProcessoEletronicoDTO;
767 } 768 }
768 - 769 +
769 /** 770 /**
770 * Retorna o hash do objecto do solicitarMetadadosResponse 771 * Retorna o hash do objecto do solicitarMetadadosResponse
771 - * 772 + *
772 * @param object $objMeta tem que ser o componenteDigital->hash 773 * @param object $objMeta tem que ser o componenteDigital->hash
773 * @return string 774 * @return string
774 */ 775 */
775 public static function getHashFromMetaDados($objMeta){ 776 public static function getHashFromMetaDados($objMeta){
776 777
777 $strHashConteudo = ''; 778 $strHashConteudo = '';
778 - 779 +
779 if (isset($objMeta)) { 780 if (isset($objMeta)) {
780 $matches = array(); 781 $matches = array();
781 $strHashConteudo = (isset($objMeta->enc_value)) ? $objMeta->enc_value : $objMeta->_; 782 $strHashConteudo = (isset($objMeta->enc_value)) ? $objMeta->enc_value : $objMeta->_;
@@ -787,16 +788,16 @@ class ProcessoEletronicoRN extends InfraRN { @@ -787,16 +788,16 @@ class ProcessoEletronicoRN extends InfraRN {
787 788
788 return $strHashConteudo; 789 return $strHashConteudo;
789 } 790 }
790 -  
791 - private function montarDadosComponenteDigital($parStrNumeroRegistro, $parNumIdentificacaoTramite, $parObjProcesso, $parObjComponentesDigitaisSolicitados) 791 +
  792 + private function montarDadosComponenteDigital($parStrNumeroRegistro, $parNumIdentificacaoTramite, $parObjProcesso, $parObjComponentesDigitaisSolicitados)
792 { 793 {
793 //Monta dados dos componentes digitais 794 //Monta dados dos componentes digitais
794 $arrObjComponenteDigitalDTO = array(); 795 $arrObjComponenteDigitalDTO = array();
795 if(!is_array($parObjProcesso->documento)) { 796 if(!is_array($parObjProcesso->documento)) {
796 $parObjProcesso->documento = array($parObjProcesso->documento); 797 $parObjProcesso->documento = array($parObjProcesso->documento);
797 } 798 }
798 -  
799 - foreach ($parObjProcesso->documento as $objDocumento) { 799 +
  800 + foreach ($parObjProcesso->documento as $objDocumento) {
800 $objComponenteDigitalDTO = new ComponenteDigitalDTO(); 801 $objComponenteDigitalDTO = new ComponenteDigitalDTO();
801 $objComponenteDigitalDTO->setStrNumeroRegistro($parStrNumeroRegistro); 802 $objComponenteDigitalDTO->setStrNumeroRegistro($parStrNumeroRegistro);
802 $objComponenteDigitalDTO->setDblIdProcedimento($parObjProcesso->idProcedimentoSEI); //TODO: Error utilizar idProcedimentoSEI devido processos apensados 803 $objComponenteDigitalDTO->setDblIdProcedimento($parObjProcesso->idProcedimentoSEI); //TODO: Error utilizar idProcedimentoSEI devido processos apensados
@@ -807,12 +808,12 @@ class ProcessoEletronicoRN extends InfraRN { @@ -807,12 +808,12 @@ class ProcessoEletronicoRN extends InfraRN {
807 808
808 //Por enquanto, considera que o documento possui apenas um componente digital 809 //Por enquanto, considera que o documento possui apenas um componente digital
809 if(is_array($objDocumento->componenteDigital) && count($objDocumento->componenteDigital) != 1) { 810 if(is_array($objDocumento->componenteDigital) && count($objDocumento->componenteDigital) != 1) {
810 - throw new InfraException("Erro processando componentes digitais do processo " . $parObjProcesso->protocolo . "\n Somente é permitido o recebimento de documentos com apenas um Componente Digital."); 811 + throw new InfraException("Erro processando componentes digitais do processo " . $parObjProcesso->protocolo . "\n Somente é permitido o recebimento de documentos com apenas um Componente Digital.");
811 } 812 }
812 813
813 $objComponenteDigital = $objDocumento->componenteDigital; 814 $objComponenteDigital = $objDocumento->componenteDigital;
814 $objComponenteDigitalDTO->setStrNome($objComponenteDigital->nome); 815 $objComponenteDigitalDTO->setStrNome($objComponenteDigital->nome);
815 - 816 +
816 $strHashConteudo = static::getHashFromMetaDados($objComponenteDigital->hash); 817 $strHashConteudo = static::getHashFromMetaDados($objComponenteDigital->hash);
817 818
818 $objComponenteDigitalDTO->setStrHashConteudo($strHashConteudo); 819 $objComponenteDigitalDTO->setStrHashConteudo($strHashConteudo);
@@ -820,8 +821,8 @@ class ProcessoEletronicoRN extends InfraRN { @@ -820,8 +821,8 @@ class ProcessoEletronicoRN extends InfraRN {
820 $objComponenteDigitalDTO->setStrTipoConteudo($objComponenteDigital->tipoDeConteudo); 821 $objComponenteDigitalDTO->setStrTipoConteudo($objComponenteDigital->tipoDeConteudo);
821 $objComponenteDigitalDTO->setStrMimeType($objComponenteDigital->mimeType); 822 $objComponenteDigitalDTO->setStrMimeType($objComponenteDigital->mimeType);
822 $objComponenteDigitalDTO->setStrDadosComplementares($objComponenteDigital->dadosComplementaresDoTipoDeArquivo); 823 $objComponenteDigitalDTO->setStrDadosComplementares($objComponenteDigital->dadosComplementaresDoTipoDeArquivo);
823 -  
824 - //Registrar componente digital necessita ser enviado pelo trâmite espefífico //TODO: Teste $parObjComponentesDigitaisSolicitados aqui 824 +
  825 + //Registrar componente digital necessita ser enviado pelo trâmite espefífico //TODO: Teste $parObjComponentesDigitaisSolicitados aqui
825 if(isset($parObjComponentesDigitaisSolicitados)){ 826 if(isset($parObjComponentesDigitaisSolicitados)){
826 $arrObjItensSolicitados = is_array($parObjComponentesDigitaisSolicitados->processo) ? $parObjComponentesDigitaisSolicitados->processo : array($parObjComponentesDigitaisSolicitados->processo); 827 $arrObjItensSolicitados = is_array($parObjComponentesDigitaisSolicitados->processo) ? $parObjComponentesDigitaisSolicitados->processo : array($parObjComponentesDigitaisSolicitados->processo);
827 828
@@ -830,16 +831,16 @@ class ProcessoEletronicoRN extends InfraRN { @@ -830,16 +831,16 @@ class ProcessoEletronicoRN extends InfraRN {
830 $objItemSolicitado->hash = is_array($objItemSolicitado->hash) ? $objItemSolicitado->hash : array($objItemSolicitado->hash); 831 $objItemSolicitado->hash = is_array($objItemSolicitado->hash) ? $objItemSolicitado->hash : array($objItemSolicitado->hash);
831 832
832 if($objItemSolicitado->protocolo == $objComponenteDigitalDTO->getStrProtocolo() && in_array($strHashConteudo, $objItemSolicitado->hash) && !$objDocumento->retirado) { 833 if($objItemSolicitado->protocolo == $objComponenteDigitalDTO->getStrProtocolo() && in_array($strHashConteudo, $objItemSolicitado->hash) && !$objDocumento->retirado) {
833 - $objComponenteDigitalDTO->setStrSinEnviar("S"); 834 + $objComponenteDigitalDTO->setStrSinEnviar("S");
834 } 835 }
835 } 836 }
836 - } 837 + }
837 } 838 }
838 839
839 //TODO: Avaliar dados do tamanho do documento em bytes salvo na base de dados 840 //TODO: Avaliar dados do tamanho do documento em bytes salvo na base de dados
840 $objComponenteDigitalDTO->setNumTamanho($objComponenteDigital->tamanhoEmBytes); 841 $objComponenteDigitalDTO->setNumTamanho($objComponenteDigital->tamanhoEmBytes);
841 $objComponenteDigitalDTO->setNumIdAnexo($objComponenteDigital->idAnexo); 842 $objComponenteDigitalDTO->setNumIdAnexo($objComponenteDigital->idAnexo);
842 - 843 +
843 $arrObjComponenteDigitalDTO[] = $objComponenteDigitalDTO; 844 $arrObjComponenteDigitalDTO[] = $objComponenteDigitalDTO;
844 } 845 }
845 846
@@ -847,7 +848,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -847,7 +848,7 @@ class ProcessoEletronicoRN extends InfraRN {
847 if(isset($parObjProcesso->processoApensado) && count($parObjProcesso->processoApensado)) { 848 if(isset($parObjProcesso->processoApensado) && count($parObjProcesso->processoApensado)) {
848 foreach ($parObjProcesso->processoApensado as $objProcessoApensado) { 849 foreach ($parObjProcesso->processoApensado as $objProcessoApensado) {
849 $arrObj = $this->montarDadosComponenteDigital($parStrNumeroRegistro, $parNumIdentificacaoTramite, $objProcessoApensado, $parObjComponentesDigitaisSolicitados); 850 $arrObj = $this->montarDadosComponenteDigital($parStrNumeroRegistro, $parNumIdentificacaoTramite, $objProcessoApensado, $parObjComponentesDigitaisSolicitados);
850 - $arrObjComponenteDigitalDTO = array_merge($arrObjComponenteDigitalDTO, $arrObj); 851 + $arrObjComponenteDigitalDTO = array_merge($arrObjComponenteDigitalDTO, $arrObj);
851 } 852 }
852 } 853 }
853 854
@@ -855,16 +856,16 @@ class ProcessoEletronicoRN extends InfraRN { @@ -855,16 +856,16 @@ class ProcessoEletronicoRN extends InfraRN {
855 } 856 }
856 857
857 858
858 - public function receberComponenteDigital($parNumIdentificacaoTramite, $parStrHashComponenteDigital, $parStrProtocolo) 859 + public function receberComponenteDigital($parNumIdentificacaoTramite, $parStrHashComponenteDigital, $parStrProtocolo)
859 { 860 {
860 try 861 try
861 - { 862 + {
862 $parametros = new stdClass(); 863 $parametros = new stdClass();
863 $parametros->parametrosParaRecebimentoDeComponenteDigital = new stdClass(); 864 $parametros->parametrosParaRecebimentoDeComponenteDigital = new stdClass();
864 $parametros->parametrosParaRecebimentoDeComponenteDigital->identificacaoDoComponenteDigital = new stdClass(); 865 $parametros->parametrosParaRecebimentoDeComponenteDigital->identificacaoDoComponenteDigital = new stdClass();
865 $parametros->parametrosParaRecebimentoDeComponenteDigital->identificacaoDoComponenteDigital->IDT = $parNumIdentificacaoTramite; 866 $parametros->parametrosParaRecebimentoDeComponenteDigital->identificacaoDoComponenteDigital->IDT = $parNumIdentificacaoTramite;
866 $parametros->parametrosParaRecebimentoDeComponenteDigital->identificacaoDoComponenteDigital->protocolo = $parStrProtocolo; 867 $parametros->parametrosParaRecebimentoDeComponenteDigital->identificacaoDoComponenteDigital->protocolo = $parStrProtocolo;
867 - $parametros->parametrosParaRecebimentoDeComponenteDigital->identificacaoDoComponenteDigital->hashDoComponenteDigital = $parStrHashComponenteDigital; 868 + $parametros->parametrosParaRecebimentoDeComponenteDigital->identificacaoDoComponenteDigital->hashDoComponenteDigital = $parStrHashComponenteDigital;
868 869
869 return $this->getObjPenWs()->receberComponenteDigital($parametros); 870 return $this->getObjPenWs()->receberComponenteDigital($parametros);
870 871
@@ -880,40 +881,40 @@ class ProcessoEletronicoRN extends InfraRN { @@ -880,40 +881,40 @@ class ProcessoEletronicoRN extends InfraRN {
880 881
881 } catch (\Exception $e) { 882 } catch (\Exception $e) {
882 throw new InfraException("Error Processing Request", $e); 883 throw new InfraException("Error Processing Request", $e);
883 - }  
884 - } 884 + }
  885 + }
885 886
886 -  
887 887
888 - public function consultarTramites($parNumIdTramite = null, $parNumeroRegistro = null, $parNumeroUnidadeRemetente = null, $parNumeroUnidadeDestino = null, $parProtocolo = null, $parNumeroRepositorioEstruturas = null) 888 +
  889 + public function consultarTramites($parNumIdTramite = null, $parNumeroRegistro = null, $parNumeroUnidadeRemetente = null, $parNumeroUnidadeDestino = null, $parProtocolo = null, $parNumeroRepositorioEstruturas = null)
889 { 890 {
890 try 891 try
891 - { 892 + {
892 $arrObjTramite = array(); 893 $arrObjTramite = array();
893 $parametro = new stdClass(); 894 $parametro = new stdClass();
894 $parametro->filtroDeConsultaDeTramites = new stdClass(); 895 $parametro->filtroDeConsultaDeTramites = new stdClass();
895 $parametro->filtroDeConsultaDeTramites->IDT = $parNumIdTramite; 896 $parametro->filtroDeConsultaDeTramites->IDT = $parNumIdTramite;
896 - 897 +
897 if(!is_null($parNumeroRegistro)){ 898 if(!is_null($parNumeroRegistro)){
898 $parametro->filtroDeConsultaDeTramites->NRE = $parNumeroRegistro; 899 $parametro->filtroDeConsultaDeTramites->NRE = $parNumeroRegistro;
899 } 900 }
900 - 901 +
901 if(!is_null($parNumeroUnidadeRemetente) && !is_null($parNumeroRepositorioEstruturas)){ 902 if(!is_null($parNumeroUnidadeRemetente) && !is_null($parNumeroRepositorioEstruturas)){
902 $parametro->filtroDeConsultaDeTramites->remetente = new stdClass(); 903 $parametro->filtroDeConsultaDeTramites->remetente = new stdClass();
903 $parametro->filtroDeConsultaDeTramites->remetente->identificacaoDoRepositorioDeEstruturas = $parNumeroRepositorioEstruturas; 904 $parametro->filtroDeConsultaDeTramites->remetente->identificacaoDoRepositorioDeEstruturas = $parNumeroRepositorioEstruturas;
904 $parametro->filtroDeConsultaDeTramites->remetente->numeroDeIdentificacaoDaEstrutura = $parNumeroUnidadeRemetente; 905 $parametro->filtroDeConsultaDeTramites->remetente->numeroDeIdentificacaoDaEstrutura = $parNumeroUnidadeRemetente;
905 } 906 }
906 - 907 +
907 if(!is_null($parNumeroUnidadeDestino) && !is_null($parNumeroRepositorioEstruturas)){ 908 if(!is_null($parNumeroUnidadeDestino) && !is_null($parNumeroRepositorioEstruturas)){
908 $parametro->filtroDeConsultaDeTramites->destinatario = new stdClass(); 909 $parametro->filtroDeConsultaDeTramites->destinatario = new stdClass();
909 $parametro->filtroDeConsultaDeTramites->destinatario->identificacaoDoRepositorioDeEstruturas = $parNumeroRepositorioEstruturas; 910 $parametro->filtroDeConsultaDeTramites->destinatario->identificacaoDoRepositorioDeEstruturas = $parNumeroRepositorioEstruturas;
910 $parametro->filtroDeConsultaDeTramites->destinatario->numeroDeIdentificacaoDaEstrutura = $parNumeroUnidadeDestino; 911 $parametro->filtroDeConsultaDeTramites->destinatario->numeroDeIdentificacaoDaEstrutura = $parNumeroUnidadeDestino;
911 } 912 }
912 - 913 +
913 if(!is_null($parProtocolo)){ 914 if(!is_null($parProtocolo)){
914 $parametro->filtroDeConsultaDeTramites->protocolo = $parProtocolo; 915 $parametro->filtroDeConsultaDeTramites->protocolo = $parProtocolo;
915 } 916 }
916 - 917 +
917 $objTramitesEncontrados = $this->getObjPenWs()->consultarTramites($parametro); 918 $objTramitesEncontrados = $this->getObjPenWs()->consultarTramites($parametro);
918 919
919 if(isset($objTramitesEncontrados->tramitesEncontrados)) { 920 if(isset($objTramitesEncontrados->tramitesEncontrados)) {
@@ -932,13 +933,13 @@ class ProcessoEletronicoRN extends InfraRN { @@ -932,13 +933,13 @@ class ProcessoEletronicoRN extends InfraRN {
932 933
933 } catch (\Exception $e) { 934 } catch (\Exception $e) {
934 throw new InfraException("Error Processing Request", $e); 935 throw new InfraException("Error Processing Request", $e);
935 - }  
936 - }  
937 -  
938 - public function consultarTramitesProtocolo($parProtocoloFormatado) 936 + }
  937 + }
  938 +
  939 + public function consultarTramitesProtocolo($parProtocoloFormatado)
939 { 940 {
940 try 941 try
941 - { 942 + {
942 $arrObjTramite = array(); 943 $arrObjTramite = array();
943 $parametro = new stdClass(); 944 $parametro = new stdClass();
944 $parametro->filtroDeConsultaDeTramites = new stdClass(); 945 $parametro->filtroDeConsultaDeTramites = new stdClass();
@@ -962,13 +963,13 @@ class ProcessoEletronicoRN extends InfraRN { @@ -962,13 +963,13 @@ class ProcessoEletronicoRN extends InfraRN {
962 963
963 } catch (\Exception $e) { 964 } catch (\Exception $e) {
964 throw new InfraException("Error Processing Request", $e); 965 throw new InfraException("Error Processing Request", $e);
965 - } 966 + }
966 } 967 }
967 -  
968 - public function cienciaRecusa($parNumIdTramite) 968 +
  969 + public function cienciaRecusa($parNumIdTramite)
969 { 970 {
970 try 971 try
971 - { 972 + {
972 $parametro = new stdClass(); 973 $parametro = new stdClass();
973 $parametro->IDT = $parNumIdTramite; 974 $parametro->IDT = $parNumIdTramite;
974 975
@@ -980,12 +981,12 @@ class ProcessoEletronicoRN extends InfraRN { @@ -980,12 +981,12 @@ class ProcessoEletronicoRN extends InfraRN {
980 981
981 } catch (\Exception $e) { 982 } catch (\Exception $e) {
982 throw new InfraException("Error Processing Request", $e); 983 throw new InfraException("Error Processing Request", $e);
983 - } 984 + }
984 } 985 }
985 - 986 +
986 /** 987 /**
987 * Retorna o estado atual do procedimento no api-pen 988 * Retorna o estado atual do procedimento no api-pen
988 - * 989 + *
989 * @param integer $dblIdProcedimento 990 * @param integer $dblIdProcedimento
990 * @param integer $numIdRepositorio 991 * @param integer $numIdRepositorio
991 * @param integer $numIdEstrutura 992 * @param integer $numIdEstrutura
@@ -994,14 +995,14 @@ class ProcessoEletronicoRN extends InfraRN { @@ -994,14 +995,14 @@ class ProcessoEletronicoRN extends InfraRN {
994 public function consultarEstadoProcedimento($strProtocoloFormatado = '', $numIdRepositorio = null, $numIdEstrutura = null) { 995 public function consultarEstadoProcedimento($strProtocoloFormatado = '', $numIdRepositorio = null, $numIdEstrutura = null) {
995 996
996 $objBD = new GenericoBD($this->inicializarObjInfraIBanco()); 997 $objBD = new GenericoBD($this->inicializarObjInfraIBanco());
997 - 998 +
998 $objProtocoloDTO = new ProtocoloDTO(); 999 $objProtocoloDTO = new ProtocoloDTO();
999 $objProtocoloDTO->setStrProtocoloFormatado($strProtocoloFormatado); 1000 $objProtocoloDTO->setStrProtocoloFormatado($strProtocoloFormatado);
1000 $objProtocoloDTO->setNumMaxRegistrosRetorno(1); 1001 $objProtocoloDTO->setNumMaxRegistrosRetorno(1);
1001 $objProtocoloDTO->retDblIdProtocolo(); 1002 $objProtocoloDTO->retDblIdProtocolo();
1002 $objProtocoloDTO->retStrProtocoloFormatado(); 1003 $objProtocoloDTO->retStrProtocoloFormatado();
1003 $objProtocoloDTO->retStrStaEstado(); 1004 $objProtocoloDTO->retStrStaEstado();
1004 - 1005 +
1005 $objProtocoloDTO = $objBD->consultar($objProtocoloDTO); 1006 $objProtocoloDTO = $objBD->consultar($objProtocoloDTO);
1006 1007
1007 if (empty($objProtocoloDTO)) { 1008 if (empty($objProtocoloDTO)) {
@@ -1017,24 +1018,24 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1017,24 +1018,24 @@ class ProcessoEletronicoRN extends InfraRN {
1017 $objTramiteDTO->setOrd('Registro', InfraDTO::$TIPO_ORDENACAO_DESC); 1018 $objTramiteDTO->setOrd('Registro', InfraDTO::$TIPO_ORDENACAO_DESC);
1018 $objTramiteDTO->setNumMaxRegistrosRetorno(1); 1019 $objTramiteDTO->setNumMaxRegistrosRetorno(1);
1019 $objTramiteDTO->retNumIdTramite(); 1020 $objTramiteDTO->retNumIdTramite();
1020 - 1021 +
1021 $objTramiteBD = new TramiteBD($this->getObjInfraIBanco()); 1022 $objTramiteBD = new TramiteBD($this->getObjInfraIBanco());
1022 $arrObjTramiteDTO = $objTramiteBD->listar($objTramiteDTO); 1023 $arrObjTramiteDTO = $objTramiteBD->listar($objTramiteDTO);
1023 - 1024 +
1024 if(!$arrObjTramiteDTO){ 1025 if(!$arrObjTramiteDTO){
1025 throw new InfraException('Trâmite não encontrado'); 1026 throw new InfraException('Trâmite não encontrado');
1026 } 1027 }
1027 - 1028 +
1028 $objTramiteDTO = $arrObjTramiteDTO[0]; 1029 $objTramiteDTO = $arrObjTramiteDTO[0];
1029 - 1030 +
1030 $objFiltro = new stdClass(); 1031 $objFiltro = new stdClass();
1031 $objFiltro->filtroDeConsultaDeTramites = new stdClass(); 1032 $objFiltro->filtroDeConsultaDeTramites = new stdClass();
1032 $objFiltro->filtroDeConsultaDeTramites->IDT = $objTramiteDTO->getNumIdTramite(); 1033 $objFiltro->filtroDeConsultaDeTramites->IDT = $objTramiteDTO->getNumIdTramite();
1033 1034
1034 $objResultado = $this->getObjPenWs()->consultarTramites($objFiltro); 1035 $objResultado = $this->getObjPenWs()->consultarTramites($objFiltro);
1035 1036
1036 - $objTramitesEncontrados = $objResultado->tramitesEncontrados;  
1037 - 1037 + $objTramitesEncontrados = $objResultado->tramitesEncontrados;
  1038 +
1038 if (empty($objTramitesEncontrados) || !isset($objTramitesEncontrados->tramite)) { 1039 if (empty($objTramitesEncontrados) || !isset($objTramitesEncontrados->tramite)) {
1039 throw new InfraException(utf8_encode(sprintf('Nenhum tramite foi encontrado para o procedimento %s', $strProtocoloFormatado))); 1040 throw new InfraException(utf8_encode(sprintf('Nenhum tramite foi encontrado para o procedimento %s', $strProtocoloFormatado)));
1040 } 1041 }
@@ -1042,19 +1043,19 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1042,19 +1043,19 @@ class ProcessoEletronicoRN extends InfraRN {
1042 if(!is_array($objTramitesEncontrados->tramite)){ 1043 if(!is_array($objTramitesEncontrados->tramite)){
1043 $objTramitesEncontrados->tramite = array($objTramitesEncontrados->tramite); 1044 $objTramitesEncontrados->tramite = array($objTramitesEncontrados->tramite);
1044 } 1045 }
1045 - 1046 +
1046 $arrObjTramite = (array) $objTramitesEncontrados->tramite; 1047 $arrObjTramite = (array) $objTramitesEncontrados->tramite;
1047 - 1048 +
1048 $objTramite = array_pop($arrObjTramite); 1049 $objTramite = array_pop($arrObjTramite);
1049 - 1050 +
1050 if (empty($numIdRepositorio)) { 1051 if (empty($numIdRepositorio)) {
1051 $objPenParametroRN = new PenParametroRN(); 1052 $objPenParametroRN = new PenParametroRN();
1052 $numIdRepositorio = $objPenParametroRN->getParametro('PEN_ID_REPOSITORIO_ORIGEM'); 1053 $numIdRepositorio = $objPenParametroRN->getParametro('PEN_ID_REPOSITORIO_ORIGEM');
1053 - 1054 +
1054 } 1055 }
1055 1056
1056 if (empty($numIdEstrutura)) { 1057 if (empty($numIdEstrutura)) {
1057 - 1058 +
1058 $objPenUnidadeDTO = new PenUnidadeDTO(); 1059 $objPenUnidadeDTO = new PenUnidadeDTO();
1059 $objPenUnidadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); 1060 $objPenUnidadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
1060 $objPenUnidadeDTO->retNumIdUnidadeRH(); 1061 $objPenUnidadeDTO->retNumIdUnidadeRH();
@@ -1064,22 +1065,22 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1064,22 +1065,22 @@ class ProcessoEletronicoRN extends InfraRN {
1064 if (empty($objPenUnidadeDTO)) { 1065 if (empty($objPenUnidadeDTO)) {
1065 throw new InfraException(utf8_encode('Número da Unidade RH não foi encontrado')); 1066 throw new InfraException(utf8_encode('Número da Unidade RH não foi encontrado'));
1066 } 1067 }
1067 - 1068 +
1068 $numIdEstrutura = $objPenUnidadeDTO->getNumIdUnidadeRH(); 1069 $numIdEstrutura = $objPenUnidadeDTO->getNumIdUnidadeRH();
1069 } 1070 }
1070 1071
1071 if ($objTramite->remetente->numeroDeIdentificacaoDaEstrutura != $numIdEstrutura || 1072 if ($objTramite->remetente->numeroDeIdentificacaoDaEstrutura != $numIdEstrutura ||
1072 $objTramite->remetente->identificacaoDoRepositorioDeEstruturas != $numIdRepositorio) { 1073 $objTramite->remetente->identificacaoDoRepositorioDeEstruturas != $numIdRepositorio) {
1073 - 1074 +
1074 throw new InfraException(utf8_encode('O último trâmite desse processo não pertence a esse órgão')); 1075 throw new InfraException(utf8_encode('O último trâmite desse processo não pertence a esse órgão'));
1075 } 1076 }
1076 - 1077 +
1077 switch ($objTramite->situacaoAtual) { 1078 switch ($objTramite->situacaoAtual) {
1078 1079
1079 case static::$STA_SITUACAO_TRAMITE_RECIBO_ENVIADO_DESTINATARIO: 1080 case static::$STA_SITUACAO_TRAMITE_RECIBO_ENVIADO_DESTINATARIO:
1080 // @todo: caso command-line informar o procedimento que será executado 1081 // @todo: caso command-line informar o procedimento que será executado
1081 $objPenTramiteProcessadoRN = new PenTramiteProcessadoRN(PenTramiteProcessadoRN::STR_TIPO_RECIBO); 1082 $objPenTramiteProcessadoRN = new PenTramiteProcessadoRN(PenTramiteProcessadoRN::STR_TIPO_RECIBO);
1082 - 1083 +
1083 if(!$objPenTramiteProcessadoRN->isProcedimentoRecebido($objTramite->IDT)){ 1084 if(!$objPenTramiteProcessadoRN->isProcedimentoRecebido($objTramite->IDT)){
1084 1085
1085 $objReceberReciboTramiteRN = new ReceberReciboTramiteRN(); 1086 $objReceberReciboTramiteRN = new ReceberReciboTramiteRN();
@@ -1104,28 +1105,28 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1104,28 +1105,28 @@ class ProcessoEletronicoRN extends InfraRN {
1104 1105
1105 $objProtocoloDTO->setStrStaEstado(ProtocoloRN::$TE_NORMAL); 1106 $objProtocoloDTO->setStrStaEstado(ProtocoloRN::$TE_NORMAL);
1106 $objBD->alterar($objProtocoloDTO); 1107 $objBD->alterar($objProtocoloDTO);
1107 - 1108 +
1108 if($objTramite->situacaoAtual == static::$STA_SITUACAO_TRAMITE_COMPONENTES_RECEBIDOS_DESTINATARIO && $objTramite->situacaoAtual == static::$STA_SITUACAO_TRAMITE_METADADOS_RECEBIDO_DESTINATARIO){ 1109 if($objTramite->situacaoAtual == static::$STA_SITUACAO_TRAMITE_COMPONENTES_RECEBIDOS_DESTINATARIO && $objTramite->situacaoAtual == static::$STA_SITUACAO_TRAMITE_METADADOS_RECEBIDO_DESTINATARIO){
1109 $this->cancelarTramite($objTramite->IDT); 1110 $this->cancelarTramite($objTramite->IDT);
1110 } 1111 }
1111 -  
1112 - return PenConsoleRN::format(sprintf('Processo %s foi atualizado com sucesso', $objProtocoloDTO->getStrProtocoloFormatado()), 'blue'); 1112 +
  1113 + return PenConsoleRN::format(sprintf('Processo %s foi atualizado com sucesso', $objProtocoloDTO->getStrProtocoloFormatado()), 'blue');
1113 } 1114 }
1114 } 1115 }
1115 1116
1116 - public function enviarReciboDeTramite($parNumIdTramite, $parDthRecebimento, $parStrReciboTramite) 1117 + public function enviarReciboDeTramite($parNumIdTramite, $parDthRecebimento, $parStrReciboTramite)
1117 { 1118 {
1118 try 1119 try
1119 - { 1120 + {
1120 $strHashAssinatura = null; 1121 $strHashAssinatura = null;
1121 $objPrivatekey = openssl_pkey_get_private("file://".$this->strLocalCert, $this->strLocalCertPassword); 1122 $objPrivatekey = openssl_pkey_get_private("file://".$this->strLocalCert, $this->strLocalCertPassword);
1122 1123
1123 if ($objPrivatekey === FALSE) { 1124 if ($objPrivatekey === FALSE) {
1124 - throw new InfraException("Erro ao obter chave privada do certificado digital."); 1125 + throw new InfraException("Erro ao obter chave privada do certificado digital.");
1125 } 1126 }
1126 1127
1127 -  
1128 - openssl_sign($parStrReciboTramite, $strHashAssinatura, $objPrivatekey, 'sha256'); 1128 +
  1129 + openssl_sign($parStrReciboTramite, $strHashAssinatura, $objPrivatekey, 'sha256');
1129 $strHashDaAssinaturaBase64 = base64_encode($strHashAssinatura); 1130 $strHashDaAssinaturaBase64 = base64_encode($strHashAssinatura);
1130 1131
1131 $parametro = new stdClass(); 1132 $parametro = new stdClass();
@@ -1133,21 +1134,21 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1133,21 +1134,21 @@ class ProcessoEletronicoRN extends InfraRN {
1133 $parametro->dadosDoReciboDeTramite->IDT = $parNumIdTramite; 1134 $parametro->dadosDoReciboDeTramite->IDT = $parNumIdTramite;
1134 $parametro->dadosDoReciboDeTramite->dataDeRecebimento = $parDthRecebimento; 1135 $parametro->dadosDoReciboDeTramite->dataDeRecebimento = $parDthRecebimento;
1135 $parametro->dadosDoReciboDeTramite->hashDaAssinatura = $strHashDaAssinaturaBase64; 1136 $parametro->dadosDoReciboDeTramite->hashDaAssinatura = $strHashDaAssinaturaBase64;
1136 -  
1137 - 1137 +
  1138 +
1138 $this->getObjPenWs()->enviarReciboDeTramite($parametro); 1139 $this->getObjPenWs()->enviarReciboDeTramite($parametro);
1139 - 1140 +
1140 return $strHashDaAssinaturaBase64; 1141 return $strHashDaAssinaturaBase64;
1141 1142
1142 } catch (\SoapFault $fault) { 1143 } catch (\SoapFault $fault) {
1143 - 1144 +
1144 $strMensagem = '[ SOAP Request ]'.PHP_EOL; 1145 $strMensagem = '[ SOAP Request ]'.PHP_EOL;
1145 $strMensagem .= 'Method: enviarReciboDeTramite (FAIL)'.PHP_EOL; 1146 $strMensagem .= 'Method: enviarReciboDeTramite (FAIL)'.PHP_EOL;
1146 $strMensagem .= 'Request: '.$this->getObjPenWs()->__getLastRequest().PHP_EOL; 1147 $strMensagem .= 'Request: '.$this->getObjPenWs()->__getLastRequest().PHP_EOL;
1147 $strMensagem .= 'Response: '.$this->getObjPenWs()->__getLastResponse().PHP_EOL; 1148 $strMensagem .= 'Response: '.$this->getObjPenWs()->__getLastResponse().PHP_EOL;
1148 - 1149 +
1149 file_put_contents('/tmp/pen.log', $strMensagem.PHP_EOL, FILE_APPEND); 1150 file_put_contents('/tmp/pen.log', $strMensagem.PHP_EOL, FILE_APPEND);
1150 - 1151 +
1151 if(isset($objPrivatekey)){ 1152 if(isset($objPrivatekey)){
1152 openssl_free_key($objPrivatekey); 1153 openssl_free_key($objPrivatekey);
1153 } 1154 }
@@ -1167,51 +1168,51 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1167,51 +1168,51 @@ class ProcessoEletronicoRN extends InfraRN {
1167 } 1168 }
1168 1169
1169 throw new InfraException("Error Processing Request", $e); 1170 throw new InfraException("Error Processing Request", $e);
1170 - }  
1171 - } 1171 + }
  1172 + }
1172 1173
1173 - public function receberReciboDeTramite($parNumIdTramite) 1174 + public function receberReciboDeTramite($parNumIdTramite)
1174 { 1175 {
1175 try 1176 try
1176 - { 1177 + {
1177 $parametro = new stdClass(); 1178 $parametro = new stdClass();
1178 $parametro->IDT = $parNumIdTramite; 1179 $parametro->IDT = $parNumIdTramite;
1179 1180
1180 $resultado = $this->getObjPenWs()->receberReciboDeTramite($parametro); 1181 $resultado = $this->getObjPenWs()->receberReciboDeTramite($parametro);
1181 1182
1182 return $resultado; 1183 return $resultado;
1183 - } 1184 + }
1184 catch (\SoapFault $fault) { 1185 catch (\SoapFault $fault) {
1185 $mensagem = $this->tratarFalhaWebService($fault); 1186 $mensagem = $this->tratarFalhaWebService($fault);
1186 throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault); 1187 throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault);
1187 } catch (\Exception $e) { 1188 } catch (\Exception $e) {
1188 throw new InfraException("Error Processing Request", $e); 1189 throw new InfraException("Error Processing Request", $e);
1189 - }  
1190 - }  
1191 - 1190 + }
  1191 + }
  1192 +
1192 /** 1193 /**
1193 * Retorna um objeto DTO do recibo de envio do processo ao barramento 1194 * Retorna um objeto DTO do recibo de envio do processo ao barramento
1194 - * 1195 + *
1195 * @param int $parNumIdTramite 1196 * @param int $parNumIdTramite
1196 * @return ReciboTramiteEnviadoDTO 1197 * @return ReciboTramiteEnviadoDTO
1197 */ 1198 */
1198 public function receberReciboDeEnvio($parNumIdTramite) { 1199 public function receberReciboDeEnvio($parNumIdTramite) {
1199 - 1200 +
1200 try { 1201 try {
1201 $parametro = new stdClass(); 1202 $parametro = new stdClass();
1202 $parametro->IDT = $parNumIdTramite; 1203 $parametro->IDT = $parNumIdTramite;
1203 - 1204 +
1204 $resultado = $this->getObjPenWs()->receberReciboDeEnvio($parametro); 1205 $resultado = $this->getObjPenWs()->receberReciboDeEnvio($parametro);
1205 1206
1206 return $resultado->conteudoDoReciboDeEnvio; 1207 return $resultado->conteudoDoReciboDeEnvio;
1207 - } 1208 + }
1208 catch (\SoapFault $fault) { 1209 catch (\SoapFault $fault) {
1209 $mensagem = $this->tratarFalhaWebService($fault); 1210 $mensagem = $this->tratarFalhaWebService($fault);
1210 throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault); 1211 throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault);
1211 - } 1212 + }
1212 catch (\Exception $e) { 1213 catch (\Exception $e) {
1213 throw new InfraException("Error Processing Request", $e); 1214 throw new InfraException("Error Processing Request", $e);
1214 - } 1215 + }
1215 throw new InfraException("Error Processing Request", $e); 1216 throw new InfraException("Error Processing Request", $e);
1216 } 1217 }
1217 1218
@@ -1219,7 +1220,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1219,7 +1220,7 @@ class ProcessoEletronicoRN extends InfraRN {
1219 public function converterOperacaoDTO($objOperacaoPEN) 1220 public function converterOperacaoDTO($objOperacaoPEN)
1220 { 1221 {
1221 if(!isset($objOperacaoPEN)) { 1222 if(!isset($objOperacaoPEN)) {
1222 - throw new InfraException('Parâmetro $objOperacaoPEN não informado.'); 1223 + throw new InfraException('Parâmetro $objOperacaoPEN não informado.');
1223 } 1224 }
1224 1225
1225 $objOperacaoDTO = new OperacaoDTO(); 1226 $objOperacaoDTO = new OperacaoDTO();
@@ -1251,19 +1252,19 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1251,19 +1252,19 @@ class ProcessoEletronicoRN extends InfraRN {
1251 case "15": $objOperacaoDTO->setStrNome("Desmembramento"); break; 1252 case "15": $objOperacaoDTO->setStrNome("Desmembramento"); break;
1252 case "16": $objOperacaoDTO->setStrNome("Desentranhamento"); break; 1253 case "16": $objOperacaoDTO->setStrNome("Desentranhamento"); break;
1253 case "17": $objOperacaoDTO->setStrNome("Encerramento/abertura de volume no processo"); break; 1254 case "17": $objOperacaoDTO->setStrNome("Encerramento/abertura de volume no processo"); break;
1254 - case "18": $objOperacaoDTO->setStrNome("Registro de extravio"); break; 1255 + case "18": $objOperacaoDTO->setStrNome("Registro de extravio"); break;
1255 default: $objOperacaoDTO->setStrNome("Registro"); break; 1256 default: $objOperacaoDTO->setStrNome("Registro"); break;
1256 } 1257 }
1257 1258
1258 return $objOperacaoDTO; 1259 return $objOperacaoDTO;
1259 - } 1260 + }
1260 1261
1261 //TODO: Implementar mapeamento entre operações do PEN e tarefas do SEI 1262 //TODO: Implementar mapeamento entre operações do PEN e tarefas do SEI
1262 public function obterCodigoOperacaoPENMapeado($numIdTarefa) 1263 public function obterCodigoOperacaoPENMapeado($numIdTarefa)
1263 { 1264 {
1264 $strCodigoOperacao = self::$OP_OPERACAO_REGISTRO; 1265 $strCodigoOperacao = self::$OP_OPERACAO_REGISTRO;
1265 1266
1266 - if(isset($numIdTarefa) && $numIdTarefa != 0) { 1267 + if(isset($numIdTarefa) && $numIdTarefa != 0) {
1267 $objRelTarefaOperacaoDTO = new RelTarefaOperacaoDTO(); 1268 $objRelTarefaOperacaoDTO = new RelTarefaOperacaoDTO();
1268 $objRelTarefaOperacaoDTO->retStrCodigoOperacao(); 1269 $objRelTarefaOperacaoDTO->retStrCodigoOperacao();
1269 $objRelTarefaOperacaoDTO->setNumIdTarefa($numIdTarefa); 1270 $objRelTarefaOperacaoDTO->setNumIdTarefa($numIdTarefa);
@@ -1273,24 +1274,24 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1273,24 +1274,24 @@ class ProcessoEletronicoRN extends InfraRN {
1273 $objRelTarefaOperacaoDTO = $objRelTarefaOperacaoBD->consultar($objRelTarefaOperacaoDTO); 1274 $objRelTarefaOperacaoDTO = $objRelTarefaOperacaoBD->consultar($objRelTarefaOperacaoDTO);
1274 1275
1275 if($objRelTarefaOperacaoDTO != null) { 1276 if($objRelTarefaOperacaoDTO != null) {
1276 - $strCodigoOperacao = $objRelTarefaOperacaoDTO->getStrCodigoOperacao(); 1277 + $strCodigoOperacao = $objRelTarefaOperacaoDTO->getStrCodigoOperacao();
1277 } 1278 }
1278 } 1279 }
1279 1280
1280 return $strCodigoOperacao; 1281 return $strCodigoOperacao;
1281 - } 1282 + }
1282 1283
1283 //TODO: Implementar mapeamento entre operações do PEN e tarefas do SEI 1284 //TODO: Implementar mapeamento entre operações do PEN e tarefas do SEI
1284 public function obterIdTarefaSEIMapeado($strCodigoOperacao) 1285 public function obterIdTarefaSEIMapeado($strCodigoOperacao)
1285 { 1286 {
1286 return self::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_EXTERNO; 1287 return self::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_EXTERNO;
1287 - }  
1288 -  
1289 - 1288 + }
  1289 +
  1290 +
1290 /** 1291 /**
1291 * Cancela um tramite externo de um procedimento para outra unidade, gera 1292 * Cancela um tramite externo de um procedimento para outra unidade, gera
1292 * falha caso a unidade de destino já tenha começado a receber o procedimento. 1293 * falha caso a unidade de destino já tenha começado a receber o procedimento.
1293 - * 1294 + *
1294 * @param type $idTramite 1295 * @param type $idTramite
1295 * @param type $idProtocolo 1296 * @param type $idProtocolo
1296 * @throws Exception|InfraException 1297 * @throws Exception|InfraException
@@ -1308,18 +1309,18 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1308,18 +1309,18 @@ class ProcessoEletronicoRN extends InfraRN {
1308 //Requisita o cancelamento 1309 //Requisita o cancelamento
1309 $parametros = new stdClass(); 1310 $parametros = new stdClass();
1310 $parametros->IDT = $idTramite; 1311 $parametros->IDT = $idTramite;
1311 - 1312 +
1312 try{ 1313 try{
1313 $this->getObjPenWs()->cancelarEnvioDeTramite($parametros); 1314 $this->getObjPenWs()->cancelarEnvioDeTramite($parametros);
1314 - } 1315 + }
1315 catch(\SoapFault $e) { 1316 catch(\SoapFault $e) {
1316 throw new InfraException($e->getMessage(), null, $e); 1317 throw new InfraException($e->getMessage(), null, $e);
1317 - } 1318 + }
1318 } 1319 }
1319 - 1320 +
1320 /** 1321 /**
1321 * Método que faz a recusa de um trâmite 1322 * Método que faz a recusa de um trâmite
1322 - * 1323 + *
1323 * @param integer $idTramite 1324 * @param integer $idTramite
1324 * @param string $justificativa 1325 * @param string $justificativa
1325 * @param integer $motivo 1326 * @param integer $motivo
@@ -1328,7 +1329,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1328,7 +1329,7 @@ class ProcessoEletronicoRN extends InfraRN {
1328 */ 1329 */
1329 public function recusarTramite($idTramite, $justificativa, $motivo) { 1330 public function recusarTramite($idTramite, $justificativa, $motivo) {
1330 try { 1331 try {
1331 - 1332 +
1332 //@TODOJOIN: Adicionar a seguinte linha abaixo dessa : $parametros->recusaDeTramite = new stdClass() 1333 //@TODOJOIN: Adicionar a seguinte linha abaixo dessa : $parametros->recusaDeTramite = new stdClass()
1333 $parametros = new stdClass(); 1334 $parametros = new stdClass();
1334 $parametros->recusaDeTramite = new stdClass(); 1335 $parametros->recusaDeTramite = new stdClass();
@@ -1337,12 +1338,12 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1337,12 +1338,12 @@ class ProcessoEletronicoRN extends InfraRN {
1337 $parametros->recusaDeTramite->motivo = $motivo; 1338 $parametros->recusaDeTramite->motivo = $motivo;
1338 1339
1339 $resultado = $this->getObjPenWs()->recusarTramite($parametros); 1340 $resultado = $this->getObjPenWs()->recusarTramite($parametros);
1340 - 1341 +
1341 } catch (SoapFault $fault) { 1342 } catch (SoapFault $fault) {
1342 1343
1343 $mensagem = $this->tratarFalhaWebService($fault); 1344 $mensagem = $this->tratarFalhaWebService($fault);
1344 throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault); 1345 throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault);
1345 - 1346 +
1346 } catch (Exception $e) { 1347 } catch (Exception $e) {
1347 return $e->getMessage(); 1348 return $e->getMessage();
1348 } 1349 }
@@ -1357,7 +1358,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1357,7 +1358,7 @@ class ProcessoEletronicoRN extends InfraRN {
1357 1358
1358 $tramitePendenteBD = new TramitePendenteBD($this->getObjInfraIBanco()); 1359 $tramitePendenteBD = new TramitePendenteBD($this->getObjInfraIBanco());
1359 $tramitePendenteBD->cadastrar($tramitePendenteDTO); 1360 $tramitePendenteBD->cadastrar($tramitePendenteDTO);
1360 - 1361 +
1361 } catch (\InfraException $ex) { 1362 } catch (\InfraException $ex) {
1362 throw new InfraException($ex->getStrDescricao()); 1363 throw new InfraException($ex->getStrDescricao());
1363 } catch (\Exception $ex) { 1364 } catch (\Exception $ex) {
@@ -1370,38 +1371,38 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1370,38 +1371,38 @@ class ProcessoEletronicoRN extends InfraRN {
1370 //Obtem o id_rh que representa a unidade no barramento 1371 //Obtem o id_rh que representa a unidade no barramento
1371 $objPenParametroRN = new PenParametroRN(); 1372 $objPenParametroRN = new PenParametroRN();
1372 $numIdRespositorio = $objPenParametroRN->getParametro('PEN_ID_REPOSITORIO_ORIGEM'); 1373 $numIdRespositorio = $objPenParametroRN->getParametro('PEN_ID_REPOSITORIO_ORIGEM');
1373 - 1374 +
1374 //Obtem os dados da unidade 1375 //Obtem os dados da unidade
1375 $objPenUnidadeDTO = new PenUnidadeDTO(); 1376 $objPenUnidadeDTO = new PenUnidadeDTO();
1376 $objPenUnidadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); 1377 $objPenUnidadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
1377 $objPenUnidadeDTO->retNumIdUnidadeRH(); 1378 $objPenUnidadeDTO->retNumIdUnidadeRH();
1378 - 1379 +
1379 $objGenericoBD = new GenericoBD($this->inicializarObjInfraIBanco()); 1380 $objGenericoBD = new GenericoBD($this->inicializarObjInfraIBanco());
1380 $objPenUnidadeDTO = $objGenericoBD->consultar($objPenUnidadeDTO); 1381 $objPenUnidadeDTO = $objGenericoBD->consultar($objPenUnidadeDTO);
1381 - 1382 +
1382 //Obtem os dados do último trâmite desse processo no barramento 1383 //Obtem os dados do último trâmite desse processo no barramento
1383 $objProtocoloDTO = new ProtocoloDTO(); 1384 $objProtocoloDTO = new ProtocoloDTO();
1384 $objProtocoloDTO->setStrProtocoloFormatado($strProtocolo); 1385 $objProtocoloDTO->setStrProtocoloFormatado($strProtocolo);
1385 $objProtocoloDTO->retDblIdProtocolo(); 1386 $objProtocoloDTO->retDblIdProtocolo();
1386 - 1387 +
1387 $objProtocoloRN = new ProtocoloRN(); 1388 $objProtocoloRN = new ProtocoloRN();
1388 $objProtocoloDTO = $objProtocoloRN->consultarRN0186($objProtocoloDTO); 1389 $objProtocoloDTO = $objProtocoloRN->consultarRN0186($objProtocoloDTO);
1389 - 1390 +
1390 $objTramiteDTO = new TramiteDTO(); 1391 $objTramiteDTO = new TramiteDTO();
1391 $objTramiteDTO->setNumIdProcedimento($objProtocoloDTO->retDblIdProtocolo()); 1392 $objTramiteDTO->setNumIdProcedimento($objProtocoloDTO->retDblIdProtocolo());
1392 $objTramiteDTO->setOrd('Registro', InfraDTO::$TIPO_ORDENACAO_DESC); 1393 $objTramiteDTO->setOrd('Registro', InfraDTO::$TIPO_ORDENACAO_DESC);
1393 $objTramiteDTO->setNumMaxRegistrosRetorno(1); 1394 $objTramiteDTO->setNumMaxRegistrosRetorno(1);
1394 $objTramiteDTO->retNumIdTramite(); 1395 $objTramiteDTO->retNumIdTramite();
1395 - 1396 +
1396 $objTramiteBD = new TramiteBD($this->getObjInfraIBanco()); 1397 $objTramiteBD = new TramiteBD($this->getObjInfraIBanco());
1397 $arrObjTramiteDTO = $objTramiteBD->listar($objTramiteDTO); 1398 $arrObjTramiteDTO = $objTramiteBD->listar($objTramiteDTO);
1398 - 1399 +
1399 if(!$arrObjTramiteDTO){ 1400 if(!$arrObjTramiteDTO){
1400 return false; 1401 return false;
1401 } 1402 }
1402 - 1403 +
1403 $objTramiteDTO = $arrObjTramiteDTO[0]; 1404 $objTramiteDTO = $arrObjTramiteDTO[0];
1404 - 1405 +
1405 try { 1406 try {
1406 1407
1407 $parametro = (object)array( 1408 $parametro = (object)array(
@@ -1413,15 +1414,15 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1413,15 +1414,15 @@ class ProcessoEletronicoRN extends InfraRN {
1413 ), 1414 ),
1414 ) 1415 )
1415 ); 1416 );
1416 -  
1417 - 1417 +
  1418 +
1418 $objMeta = $this->getObjPenWs()->consultarTramites($parametro); 1419 $objMeta = $this->getObjPenWs()->consultarTramites($parametro);
1419 -  
1420 - 1420 +
  1421 +
1421 if($objMeta->tramitesEncontrados) { 1422 if($objMeta->tramitesEncontrados) {
1422 - 1423 +
1423 $arrObjMetaTramite = !is_array($objMeta->tramitesEncontrados->tramite) ? array($objMeta->tramitesEncontrados->tramite) : $objMeta->tramitesEncontrados->tramite; 1424 $arrObjMetaTramite = !is_array($objMeta->tramitesEncontrados->tramite) ? array($objMeta->tramitesEncontrados->tramite) : $objMeta->tramitesEncontrados->tramite;
1424 - 1425 +
1425 $objMetaTramite = $arrObjMetaTramite[0]; 1426 $objMetaTramite = $arrObjMetaTramite[0];
1426 1427
1427 switch($objMetaTramite->situacaoAtual){ 1428 switch($objMetaTramite->situacaoAtual){
@@ -1435,7 +1436,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1435,7 +1436,7 @@ class ProcessoEletronicoRN extends InfraRN {
1435 1436
1436 } 1437 }
1437 } 1438 }
1438 - 1439 +
1439 return false; 1440 return false;
1440 } 1441 }
1441 catch(SoapFault $e) { 1442 catch(SoapFault $e) {
@@ -1445,7 +1446,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1445,7 +1446,7 @@ class ProcessoEletronicoRN extends InfraRN {
1445 return false; 1446 return false;
1446 } 1447 }
1447 } 1448 }
1448 - 1449 +
1449 public function consultarHipotesesLegais() { 1450 public function consultarHipotesesLegais() {
1450 try{ 1451 try{
1451 $hipoteses = $this->getObjPenWs()->consultarHipotesesLegais(); 1452 $hipoteses = $this->getObjPenWs()->consultarHipotesesLegais();
@@ -1455,7 +1456,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1455,7 +1456,7 @@ class ProcessoEletronicoRN extends InfraRN {
1455 return $hipoteses; 1456 return $hipoteses;
1456 1457
1457 } catch(Exception $e){ 1458 } catch(Exception $e){
1458 - throw new InfraException("Erro durante obtenção da resposta das hipóteses legais", $e); 1459 + throw new InfraException("Erro durante obtenção da resposta das hipóteses legais", $e);
1459 } 1460 }
1460 } 1461 }
1461 1462
@@ -1466,7 +1467,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1466,7 +1467,7 @@ class ProcessoEletronicoRN extends InfraRN {
1466 }catch(Exception $e){ 1467 }catch(Exception $e){
1467 throw new InfraException('Erro contando Processos Externos.',$e); 1468 throw new InfraException('Erro contando Processos Externos.',$e);
1468 } 1469 }
1469 - } 1470 + }
1470 } 1471 }
1471 1472
1472 1473
rn/ProcessoExpedidoRN.php
@@ -13,70 +13,76 @@ class ProcessoExpedidoRN extends InfraRN { @@ -13,70 +13,76 @@ class ProcessoExpedidoRN extends InfraRN {
13 } 13 }
14 14
15 public function listarProcessoExpedido(ProtocoloDTO &$objProtocoloDTO) { 15 public function listarProcessoExpedido(ProtocoloDTO &$objProtocoloDTO) {
16 -  
17 -  
18 - $sql = "SELECT  
19 - p.id_protocolo,  
20 - p.protocolo_formatado,  
21 - a.id_unidade id_unidade,  
22 - atd.valor unidade_destino, 16 +
  17 + $bolSqlServer = $this->getObjInfraIBanco() instanceof InfraSqlServer;
  18 + $numLimit = $objProtocoloDTO->getNumMaxRegistrosRetorno();
  19 + $numOffset = $objProtocoloDTO->getNumPaginaAtual() * $objProtocoloDTO->getNumMaxRegistrosRetorno();
  20 +
  21 + $sql = "SELECT " .
  22 + (($bolSqlServer) ? "TOP $numLimit " : "") .
  23 + "
  24 + p.id_protocolo,
  25 + p.protocolo_formatado,
  26 + a.id_unidade id_unidade,
  27 + atd.valor unidade_destino,
23 us.id_usuario id_usuario, 28 us.id_usuario id_usuario,
24 us.nome nome_usuario, 29 us.nome nome_usuario,
25 a.dth_abertura 30 a.dth_abertura
26 - FROM protocolo p  
27 - INNER JOIN atividade a ON a.id_protocolo = p.id_protocolo 31 + FROM protocolo p
  32 + INNER JOIN atividade a ON a.id_protocolo = p.id_protocolo
28 INNER JOIN atributo_andamento atd ON a.id_atividade = atd.id_atividade AND atd.nome = 'UNIDADE_DESTINO' 33 INNER JOIN atributo_andamento atd ON a.id_atividade = atd.id_atividade AND atd.nome = 'UNIDADE_DESTINO'
29 INNER JOIN md_pen_processo_eletronico pe ON pe.id_procedimento = p.id_protocolo 34 INNER JOIN md_pen_processo_eletronico pe ON pe.id_procedimento = p.id_protocolo
30 INNER JOIN md_pen_tramite ptra ON ptra.numero_registro = pe.numero_registro 35 INNER JOIN md_pen_tramite ptra ON ptra.numero_registro = pe.numero_registro
31 INNER JOIN usuario us ON ptra.id_usuario = us.id_usuario 36 INNER JOIN usuario us ON ptra.id_usuario = us.id_usuario
32 - WHERE 37 + WHERE
33 p.sta_estado = " . $objProtocoloDTO->getStrStaEstado() . " 38 p.sta_estado = " . $objProtocoloDTO->getStrStaEstado() . "
34 - AND  
35 - a.id_tarefa = ". ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_EXTERNO) ."  
36 - AND 39 + AND
  40 + a.id_tarefa = ". ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_EXTERNO) ."
  41 + AND
37 ptra.dth_registro = (SELECT MAX(pt.dth_registro) dth_registro FROM md_pen_tramite pt WHERE pt.numero_registro = pe.numero_registro) 42 ptra.dth_registro = (SELECT MAX(pt.dth_registro) dth_registro FROM md_pen_tramite pt WHERE pt.numero_registro = pe.numero_registro)
38 - AND  
39 - NOT EXISTS (  
40 - SELECT at2.* FROM atividade as at2  
41 - WHERE at2.id_protocolo = p.id_protocolo  
42 - AND at2.id_tarefa = ". ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO) ."  
43 - AND at2.dth_abertura > a.dth_abertura ) 43 + AND
  44 + NOT EXISTS (
  45 + SELECT at2.* FROM atividade as at2
  46 + WHERE at2.id_protocolo = p.id_protocolo
  47 + AND at2.id_tarefa = ". ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO) ."
  48 + AND at2.dth_abertura > a.dth_abertura )
44 GROUP BY 49 GROUP BY
45 - p.id_protocolo, p.protocolo_formatado, a.id_unidade , atd.valor , us.id_usuario, us.nome, a.dth_abertura ORDER BY a.dth_abertura DESC LIMIT ".$objProtocoloDTO->getNumPaginaAtual() * $objProtocoloDTO->getNumMaxRegistrosRetorno().",".$objProtocoloDTO->getNumMaxRegistrosRetorno()." ";  
46 -  
47 -  
48 - $sqlCount = "SELECT 50 + p.id_protocolo, p.protocolo_formatado, a.id_unidade , atd.valor , us.id_usuario, us.nome, a.dth_abertura ORDER BY a.dth_abertura DESC ".
  51 + (($bolSqlServer) ? "OFFSET $numOffset ROWS" : "LIMIT ".$numOffset.",".$numLimit." ");
  52 +
  53 +
  54 + $sqlCount = "SELECT
49 count(*) total 55 count(*) total
50 - FROM protocolo p  
51 - INNER JOIN atividade a ON a.id_protocolo = p.id_protocolo 56 + FROM protocolo p
  57 + INNER JOIN atividade a ON a.id_protocolo = p.id_protocolo
52 INNER JOIN atributo_andamento atd ON a.id_atividade = atd.id_atividade AND atd.nome = 'UNIDADE_DESTINO' 58 INNER JOIN atributo_andamento atd ON a.id_atividade = atd.id_atividade AND atd.nome = 'UNIDADE_DESTINO'
53 INNER JOIN md_pen_processo_eletronico pe ON pe.id_procedimento = p.id_protocolo 59 INNER JOIN md_pen_processo_eletronico pe ON pe.id_procedimento = p.id_protocolo
54 INNER JOIN md_pen_tramite ptra ON ptra.numero_registro = pe.numero_registro 60 INNER JOIN md_pen_tramite ptra ON ptra.numero_registro = pe.numero_registro
55 INNER JOIN usuario us ON ptra.id_usuario = us.id_usuario 61 INNER JOIN usuario us ON ptra.id_usuario = us.id_usuario
56 - WHERE 62 + WHERE
57 p.sta_estado = " . $objProtocoloDTO->getStrStaEstado() . " 63 p.sta_estado = " . $objProtocoloDTO->getStrStaEstado() . "
58 - AND  
59 - a.id_tarefa = ". ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_EXTERNO) ."  
60 - AND 64 + AND
  65 + a.id_tarefa = ". ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_EXTERNO) ."
  66 + AND
61 ptra.dth_registro = (SELECT MAX(pt.dth_registro) dth_registro FROM md_pen_tramite pt WHERE pt.numero_registro = pe.numero_registro) 67 ptra.dth_registro = (SELECT MAX(pt.dth_registro) dth_registro FROM md_pen_tramite pt WHERE pt.numero_registro = pe.numero_registro)
62 - AND  
63 - NOT EXISTS (  
64 - SELECT at2.* FROM atividade as at2  
65 - WHERE at2.id_protocolo = p.id_protocolo  
66 - AND at2.id_tarefa = ". ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO) ." 68 + AND
  69 + NOT EXISTS (
  70 + SELECT at2.* FROM atividade as at2
  71 + WHERE at2.id_protocolo = p.id_protocolo
  72 + AND at2.id_tarefa = ". ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO) ."
67 AND at2.dth_abertura > a.dth_abertura ) "; 73 AND at2.dth_abertura > a.dth_abertura ) ";
68 -  
69 - 74 +
  75 +
70 76
71 $pag = $this->getObjInfraIBanco()->consultarSql($sql); 77 $pag = $this->getObjInfraIBanco()->consultarSql($sql);
72 $count = $this->getObjInfraIBanco()->consultarSql($sqlCount); 78 $count = $this->getObjInfraIBanco()->consultarSql($sqlCount);
73 $total = $count ? $count[0]['total'] : 0; 79 $total = $count ? $count[0]['total'] : 0;
74 - 80 +
75 $arrProcessosExpedidos = array(); 81 $arrProcessosExpedidos = array();
76 82
77 $objProtocoloDTO->setNumTotalRegistros($total); 83 $objProtocoloDTO->setNumTotalRegistros($total);
78 $objProtocoloDTO->setNumRegistrosPaginaAtual(count($pag)); 84 $objProtocoloDTO->setNumRegistrosPaginaAtual(count($pag));
79 - 85 +
80 foreach ($pag as $res) { 86 foreach ($pag as $res) {
81 $data = new \DateTime($res['dth_abertura']); 87 $data = new \DateTime($res['dth_abertura']);
82 $objProcessoExpedidoDTO = new ProcessoExpedidoDTO(); 88 $objProcessoExpedidoDTO = new ProcessoExpedidoDTO();
@@ -85,14 +91,10 @@ class ProcessoExpedidoRN extends InfraRN { @@ -85,14 +91,10 @@ class ProcessoExpedidoRN extends InfraRN {
85 $objProcessoExpedidoDTO->setStrNomeUsuario($res['nome_usuario']); 91 $objProcessoExpedidoDTO->setStrNomeUsuario($res['nome_usuario']);
86 $objProcessoExpedidoDTO->setDthExpedido($data->format('d/m/Y H:i:s')); 92 $objProcessoExpedidoDTO->setDthExpedido($data->format('d/m/Y H:i:s'));
87 $objProcessoExpedidoDTO->setStrDestino($res['unidade_destino']); 93 $objProcessoExpedidoDTO->setStrDestino($res['unidade_destino']);
88 -  
89 -  
90 -  
91 - 94 +
92 $arrProcessosExpedidos[] = $objProcessoExpedidoDTO; 95 $arrProcessosExpedidos[] = $objProcessoExpedidoDTO;
93 } 96 }
94 - 97 +
95 return $arrProcessosExpedidos; 98 return $arrProcessosExpedidos;
96 } 99 }
97 -  
98 } 100 }
rn/ReceberProcedimentoRN.php
@@ -3,6 +3,7 @@ require_once dirname(__FILE__) . &#39;/../../../SEI.php&#39;; @@ -3,6 +3,7 @@ require_once dirname(__FILE__) . &#39;/../../../SEI.php&#39;;
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 +
6 class ReceberProcedimentoRN extends InfraRN 7 class ReceberProcedimentoRN extends InfraRN
7 { 8 {
8 const STR_APENSACAO_PROCEDIMENTOS = 'Relacionamento representando a apensação de processos recebidos externamente'; 9 const STR_APENSACAO_PROCEDIMENTOS = 'Relacionamento representando a apensação de processos recebidos externamente';
@@ -11,7 +12,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -11,7 +12,7 @@ class ReceberProcedimentoRN extends InfraRN
11 private $objInfraParametro; 12 private $objInfraParametro;
12 private $objProcedimentoAndamentoRN; 13 private $objProcedimentoAndamentoRN;
13 private $documentosRetirados = array(); 14 private $documentosRetirados = array();
14 - 15 +
15 public $destinatarioReal = null; 16 public $destinatarioReal = null;
16 17
17 public function __construct() 18 public function __construct()
@@ -35,11 +36,11 @@ class ReceberProcedimentoRN extends InfraRN @@ -35,11 +36,11 @@ class ReceberProcedimentoRN extends InfraRN
35 } 36 }
36 37
37 public function fecharProcedimentoEmOutraUnidades(ProcedimentoDTO $objProcedimentoDTO, $parObjMetadadosProcedimento){ 38 public function fecharProcedimentoEmOutraUnidades(ProcedimentoDTO $objProcedimentoDTO, $parObjMetadadosProcedimento){
38 - 39 +
39 $objPenUnidadeDTO = new PenUnidadeDTO(); 40 $objPenUnidadeDTO = new PenUnidadeDTO();
40 $objPenUnidadeDTO->setNumIdUnidadeRH($parObjMetadadosProcedimento->metadados->destinatario->numeroDeIdentificacaoDaEstrutura); 41 $objPenUnidadeDTO->setNumIdUnidadeRH($parObjMetadadosProcedimento->metadados->destinatario->numeroDeIdentificacaoDaEstrutura);
41 $objPenUnidadeDTO->retNumIdUnidade(); 42 $objPenUnidadeDTO->retNumIdUnidade();
42 - 43 +
43 $objGenericoBD = new GenericoBD($this->inicializarObjInfraIBanco()); 44 $objGenericoBD = new GenericoBD($this->inicializarObjInfraIBanco());
44 $objPenUnidadeDTO = $objGenericoBD->consultar($objPenUnidadeDTO); 45 $objPenUnidadeDTO = $objGenericoBD->consultar($objPenUnidadeDTO);
45 46
@@ -63,40 +64,39 @@ class ReceberProcedimentoRN extends InfraRN @@ -63,40 +64,39 @@ class ReceberProcedimentoRN extends InfraRN
63 64
64 $objAtividadeRN = new AtividadeRN(); 65 $objAtividadeRN = new AtividadeRN();
65 $arrObjAtividadeDTO = (array)$objAtividadeRN->listarRN0036($objAtividadeDTO); 66 $arrObjAtividadeDTO = (array)$objAtividadeRN->listarRN0036($objAtividadeDTO);
66 - 67 +
67 $objInfraSessao = SessaoSEI::getInstance(); 68 $objInfraSessao = SessaoSEI::getInstance();
68 $numIdUnidade = $objInfraSessao->getNumIdUnidadeAtual(); 69 $numIdUnidade = $objInfraSessao->getNumIdUnidadeAtual();
69 - 70 +
70 foreach($arrObjAtividadeDTO as $objAtividadeDTO) { 71 foreach($arrObjAtividadeDTO as $objAtividadeDTO) {
71 72
72 $objInfraSessao->setNumIdUnidadeAtual($objAtividadeDTO->getNumIdUnidade()); 73 $objInfraSessao->setNumIdUnidadeAtual($objAtividadeDTO->getNumIdUnidade());
73 $objInfraSessao->trocarUnidadeAtual(); 74 $objInfraSessao->trocarUnidadeAtual();
74 - 75 +
75 $objProcedimentoRN = new ProcedimentoRN(); 76 $objProcedimentoRN = new ProcedimentoRN();
76 $objProcedimentoRN->concluir(array($objProcedimentoDTO)); 77 $objProcedimentoRN->concluir(array($objProcedimentoDTO));
77 } 78 }
78 $objInfraSessao->setNumIdUnidadeAtual($numIdUnidade); 79 $objInfraSessao->setNumIdUnidadeAtual($numIdUnidade);
79 $objInfraSessao->trocarUnidadeAtual(); 80 $objInfraSessao->trocarUnidadeAtual();
80 } 81 }
81 - 82 +
82 // TODO: Adicionar comandos de debug. Vide SeiWs.php gerarProcedimento 83 // TODO: Adicionar comandos de debug. Vide SeiWs.php gerarProcedimento
83 protected function receberProcedimentoControlado($parNumIdentificacaoTramite) 84 protected function receberProcedimentoControlado($parNumIdentificacaoTramite)
84 - {  
85 - $objPenParametroRN = new PenParametroRN();  
86 - SessaoSEI::getInstance(false)->simularLogin('SEI', null, null, $objPenParametroRN->getParametro('PEN_UNIDADE_GERADORA_DOCUMENTO_RECEBIDO'));  
87 - 85 + {
  86 + $objPenParametroRN = new PenParametroRN();
  87 + SessaoSEI::getInstance(false)->simularLogin('SEI', null, null, $objPenParametroRN->getParametro('PEN_UNIDADE_GERADORA_DOCUMENTO_RECEBIDO'));
  88 +
88 $objSeiRN = new SeiRN(); 89 $objSeiRN = new SeiRN();
89 - 90 +
90 error_log(__METHOD__.'('.$parNumIdentificacaoTramite.')'); 91 error_log(__METHOD__.'('.$parNumIdentificacaoTramite.')');
91 - 92 +
92 if (!isset($parNumIdentificacaoTramite)) { 93 if (!isset($parNumIdentificacaoTramite)) {
93 throw new InfraException('Parâmetro $parNumIdentificacaoTramite não informado.'); 94 throw new InfraException('Parâmetro $parNumIdentificacaoTramite não informado.');
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; 102 $this->destinatarioReal = $objMetadadosProcedimento->metadados->destinatario;
@@ -113,108 +113,108 @@ class ReceberProcedimentoRN extends InfraRN @@ -113,108 +113,108 @@ class ReceberProcedimentoRN extends InfraRN
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();
121 - 121 +
122 #############################INICIA O RECEBIMENTO DOS COMPONENTES DIGITAIS US010################################################ 122 #############################INICIA O RECEBIMENTO DOS COMPONENTES DIGITAIS US010################################################
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 -  
137 - //Faz a validação das permissões de leitura e escrita 136 +
  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);
141 - 141 +
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
149 $arrayHash = array(); 149 $arrayHash = array();
150 -  
151 - 150 +
  151 +
152 //Percorre os componentes que precisam ser recebidos 152 //Percorre os componentes que precisam ser recebidos
153 foreach($objTramite->componenteDigitalPendenteDeRecebimento as $key => $componentePendente){ 153 foreach($objTramite->componenteDigitalPendenteDeRecebimento as $key => $componentePendente){
154 - 154 +
155 if(!is_null($componentePendente)){ 155 if(!is_null($componentePendente)){
156 - 156 +
157 //Adiciona o hash do componente digital ao array 157 //Adiciona o hash do componente digital ao array
158 $arrayHash[] = $componentePendente; 158 $arrayHash[] = $componentePendente;
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 +
166 //Valida a integridade do hash 166 //Valida a integridade do hash
167 $receberComponenteDigitalRN->validarIntegridadeDoComponenteDigital($arrAnexosComponentes[$key][$componentePendente], $componentePendente, $parNumIdentificacaoTramite); 167 $receberComponenteDigitalRN->validarIntegridadeDoComponenteDigital($arrAnexosComponentes[$key][$componentePendente], $componentePendente, $parNumIdentificacaoTramite);
168 } 168 }
169 } 169 }
170 - 170 +
171 if(count($arrAnexosComponentes) > 0){ 171 if(count($arrAnexosComponentes) > 0){
172 - 172 +
173 $receberComponenteDigitalRN->setArrAnexos($arrAnexosComponentes); 173 $receberComponenteDigitalRN->setArrAnexos($arrAnexosComponentes);
174 } 174 }
175 #############################TERMINA O RECEBIMENTO DOS COMPONENTES DIGITAIS US010################################################ 175 #############################TERMINA O RECEBIMENTO DOS COMPONENTES DIGITAIS US010################################################
176 - 176 +
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 }
184 - 184 +
185 $objProcedimentoDTO = $this->registrarProcesso($strNumeroRegistro, $parNumIdentificacaoTramite, $objProcesso, $objMetadadosProcedimento); 185 $objProcedimentoDTO = $this->registrarProcesso($strNumeroRegistro, $parNumIdentificacaoTramite, $objProcesso, $objMetadadosProcedimento);
186 186
187 -  
188 187
189 -  
190 - 188 +
  189 +
  190 +
191 // @join_tec US008.08 (#23092) 191 // @join_tec US008.08 (#23092)
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 {
203 //TODO: Gerar Procedimento com status BLOQUEADO, aguardando o recebimento dos componentes digitais 203 //TODO: Gerar Procedimento com status BLOQUEADO, aguardando o recebimento dos componentes digitais
204 // $objProcedimentoDTO = $this->gerarProcedimento($objMetadadosProcedimento, $objProcesso); 204 // $objProcedimentoDTO = $this->gerarProcedimento($objMetadadosProcedimento, $objProcesso);
205 //} 205 //}
206 206
207 //TODO: Fazer o envio de cada um dos procedimentos apensados (Processo principal e seus apensados, caso exista) 207 //TODO: Fazer o envio de cada um dos procedimentos apensados (Processo principal e seus apensados, caso exista)
208 - //... 208 + //...
209 //TODO: Parei aqui!!! Recebimento de processos apensados 209 //TODO: Parei aqui!!! Recebimento de processos apensados
210 -  
211 - $objProcessoEletronicoDTO = $this->objProcessoEletronicoRN->cadastrarTramiteDeProcesso($objProcedimentoDTO->getDblIdProcedimento(), 210 +
  211 + $objProcessoEletronicoDTO = $this->objProcessoEletronicoRN->cadastrarTramiteDeProcesso($objProcedimentoDTO->getDblIdProcedimento(),
212 $strNumeroRegistro, $parNumIdentificacaoTramite, null, $objProcesso); 212 $strNumeroRegistro, $parNumIdentificacaoTramite, null, $objProcesso);
213 -  
214 213
215 - 214 +
  215 +
216 //TODO: Passar implementação para outra classe de negócio 216 //TODO: Passar implementação para outra classe de negócio
217 - //Verifica se o tramite se encontra na situação correta 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.");
@@ -222,18 +222,18 @@ class ReceberProcedimentoRN extends InfraRN @@ -222,18 +222,18 @@ class ReceberProcedimentoRN extends InfraRN
222 222
223 223
224 $objTramite = $arrObjTramite[0]; 224 $objTramite = $arrObjTramite[0];
225 - 225 +
226 226
227 if($objTramite->situacaoAtual != ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_COMPONENTES_RECEBIDOS_DESTINATARIO) { 227 if($objTramite->situacaoAtual != ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_COMPONENTES_RECEBIDOS_DESTINATARIO) {
228 return; 228 return;
229 } 229 }
230 -  
231 230
232 - 231 +
  232 +
233 // throw new InfraException("COMPONENTES DIGITAIS A SEREM ANEXADOS: ".var_export($arrayHash, true)); 233 // throw new InfraException("COMPONENTES DIGITAIS A SEREM ANEXADOS: ".var_export($arrayHash, true));
234 if(count($arrayHash) > 0){ 234 if(count($arrayHash) > 0){
235 -  
236 - //Obter dados dos componetes digitais 235 +
  236 + //Obter dados dos componetes digitais
237 $objComponenteDigitalDTO = new ComponenteDigitalDTO(); 237 $objComponenteDigitalDTO = new ComponenteDigitalDTO();
238 $objComponenteDigitalDTO->setStrNumeroRegistro($strNumeroRegistro); 238 $objComponenteDigitalDTO->setStrNumeroRegistro($strNumeroRegistro);
239 $objComponenteDigitalDTO->setNumIdTramite($parNumIdentificacaoTramite); 239 $objComponenteDigitalDTO->setNumIdTramite($parNumIdentificacaoTramite);
@@ -249,54 +249,54 @@ class ReceberProcedimentoRN extends InfraRN @@ -249,54 +249,54 @@ class ReceberProcedimentoRN extends InfraRN
249 $objComponenteDigitalDTO->retNumIdTramite(); 249 $objComponenteDigitalDTO->retNumIdTramite();
250 $objComponenteDigitalDTO->retStrNome(); 250 $objComponenteDigitalDTO->retStrNome();
251 $objComponenteDigitalDTO->retStrStaEstadoProtocolo(); 251 $objComponenteDigitalDTO->retStrStaEstadoProtocolo();
252 - 252 +
253 $objComponenteDigitalBD = new ComponenteDigitalBD($this->getObjInfraIBanco()); 253 $objComponenteDigitalBD = new ComponenteDigitalBD($this->getObjInfraIBanco());
254 $arrObjComponentesDigitaisDTO = $objComponenteDigitalBD->listar($objComponenteDigitalDTO); 254 $arrObjComponentesDigitaisDTO = $objComponenteDigitalBD->listar($objComponenteDigitalDTO);
255 - 255 +
256 // throw new InfraException('Componentes encontrados: '.var_export($arrObjComponentesDigitaisDTO, true)); 256 // throw new InfraException('Componentes encontrados: '.var_export($arrObjComponentesDigitaisDTO, true));
257 - 257 +
258 if ($objComponenteDigitalBD->contar($objComponenteDigitalDTO) > 0) { 258 if ($objComponenteDigitalBD->contar($objComponenteDigitalDTO) > 0) {
259 - 259 +
260 $objReceberComponenteDigitalRN = $receberComponenteDigitalRN; 260 $objReceberComponenteDigitalRN = $receberComponenteDigitalRN;
261 - 261 +
262 foreach($arrObjComponentesDigitaisDTO as $objComponenteDigitalDTOEnviado) { 262 foreach($arrObjComponentesDigitaisDTO as $objComponenteDigitalDTOEnviado) {
263 if($objComponenteDigitalDTOEnviado->getStrStaEstadoProtocolo() != ProtocoloRN::$TE_DOCUMENTO_CANCELADO){ 263 if($objComponenteDigitalDTOEnviado->getStrStaEstadoProtocolo() != ProtocoloRN::$TE_DOCUMENTO_CANCELADO){
264 - $strHash = $objComponenteDigitalDTOEnviado->getStrHashConteudo(); 264 + $strHash = $objComponenteDigitalDTOEnviado->getStrHashConteudo();
265 $strNomeDocumento = (array_key_exists($strHash, $arrStrNomeDocumento)) ? $arrStrNomeDocumento[$strHash]['especieNome'] : '[Desconhecido]'; 265 $strNomeDocumento = (array_key_exists($strHash, $arrStrNomeDocumento)) ? $arrStrNomeDocumento[$strHash]['especieNome'] : '[Desconhecido]';
266 - 266 +
267 $objReceberComponenteDigitalRN->receberComponenteDigital($objComponenteDigitalDTOEnviado); 267 $objReceberComponenteDigitalRN->receberComponenteDigital($objComponenteDigitalDTOEnviado);
268 268
269 // @join_tec US008.09 (#23092) 269 // @join_tec US008.09 (#23092)
270 $this->objProcedimentoAndamentoRN->cadastrar(sprintf('Recebendo %s %s', $strNomeDocumento, $objComponenteDigitalDTOEnviado->getStrProtocoloDocumentoFormatado()), 'S'); 270 $this->objProcedimentoAndamentoRN->cadastrar(sprintf('Recebendo %s %s', $strNomeDocumento, $objComponenteDigitalDTOEnviado->getStrProtocoloDocumentoFormatado()), 'S');
271 } 271 }
272 - 272 +
273 } 273 }
274 // @join_tec US008.10 (#23092) 274 // @join_tec US008.10 (#23092)
275 $this->objProcedimentoAndamentoRN->cadastrar('Todos os componentes digitais foram recebidos', 'S'); 275 $this->objProcedimentoAndamentoRN->cadastrar('Todos os componentes digitais foram recebidos', 'S');
276 276
277 }else{ 277 }else{
278 $this->objProcedimentoAndamentoRN->cadastrar('Nenhum componente digital para receber', 'S'); 278 $this->objProcedimentoAndamentoRN->cadastrar('Nenhum componente digital para receber', 'S');
279 - } 279 + }
280 } 280 }
281 } 281 }
282 - 282 +
283 //$this->fecharProcedimentoEmOutraUnidades($objProcedimentoDTO, $objMetadadosProcedimento); 283 //$this->fecharProcedimentoEmOutraUnidades($objProcedimentoDTO, $objMetadadosProcedimento);
284 - 284 +
285 $objEnviarReciboTramiteRN = new EnviarReciboTramiteRN(); 285 $objEnviarReciboTramiteRN = new EnviarReciboTramiteRN();
286 $objEnviarReciboTramiteRN->enviarReciboTramiteProcesso($parNumIdentificacaoTramite, $arrayHash); 286 $objEnviarReciboTramiteRN->enviarReciboTramiteProcesso($parNumIdentificacaoTramite, $arrayHash);
287 - 287 +
288 $objPenTramiteProcessadoRN = new PenTramiteProcessadoRN(PenTramiteProcessadoRN::STR_TIPO_PROCESSO); 288 $objPenTramiteProcessadoRN = new PenTramiteProcessadoRN(PenTramiteProcessadoRN::STR_TIPO_PROCESSO);
289 $objPenTramiteProcessadoRN->setRecebido($parNumIdentificacaoTramite); 289 $objPenTramiteProcessadoRN->setRecebido($parNumIdentificacaoTramite);
290 - 290 +
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 */
298 private function listarMetaDadosComponentesDigitais($objProcesso){ 298 private function listarMetaDadosComponentesDigitais($objProcesso){
299 - 299 +
300 $objMapBD = new GenericoBD($this->getObjInfraIBanco()); 300 $objMapBD = new GenericoBD($this->getObjInfraIBanco());
301 $arrMetadadoDocumento = array(); 301 $arrMetadadoDocumento = array();
302 $arrObjDocumento = is_array($objProcesso->documento) ? $objProcesso->documento : array($objProcesso->documento); 302 $arrObjDocumento = is_array($objProcesso->documento) ? $objProcesso->documento : array($objProcesso->documento);
@@ -304,7 +304,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -304,7 +304,7 @@ class ReceberProcedimentoRN extends InfraRN
304 foreach($arrObjDocumento as $objDocumento){ 304 foreach($arrObjDocumento as $objDocumento){
305 305
306 $strHash = ProcessoEletronicoRN::getHashFromMetaDados($objDocumento->componenteDigital->hash); 306 $strHash = ProcessoEletronicoRN::getHashFromMetaDados($objDocumento->componenteDigital->hash);
307 - 307 +
308 $objMapDTO = new PenRelTipoDocMapRecebidoDTO(true); 308 $objMapDTO = new PenRelTipoDocMapRecebidoDTO(true);
309 $objMapDTO->setNumMaxRegistrosRetorno(1); 309 $objMapDTO->setNumMaxRegistrosRetorno(1);
310 $objMapDTO->setNumCodigoEspecie($objDocumento->especie->codigo); 310 $objMapDTO->setNumCodigoEspecie($objDocumento->especie->codigo);
@@ -318,15 +318,15 @@ class ReceberProcedimentoRN extends InfraRN @@ -318,15 +318,15 @@ class ReceberProcedimentoRN extends InfraRN
318 else { 318 else {
319 $strNomeDocumento = $objMapDTO->getStrNomeSerie(); 319 $strNomeDocumento = $objMapDTO->getStrNomeSerie();
320 } 320 }
321 - 321 +
322 $arrMetadadoDocumento[$strHash] = array( 322 $arrMetadadoDocumento[$strHash] = array(
323 'especieNome' => $strNomeDocumento 323 'especieNome' => $strNomeDocumento
324 - ); 324 + );
325 } 325 }
326 - 326 +
327 return $arrMetadadoDocumento; 327 return $arrMetadadoDocumento;
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
@@ -334,7 +334,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -334,7 +334,7 @@ class ReceberProcedimentoRN extends InfraRN
334 private function validarComponentesDigitais($objProcesso, $parNumIdentificacaoTramite){ 334 private function validarComponentesDigitais($objProcesso, $parNumIdentificacaoTramite){
335 335
336 $arrObjDocumentos = is_array($objProcesso->documento) ? $objProcesso->documento : array($objProcesso->documento); 336 $arrObjDocumentos = is_array($objProcesso->documento) ? $objProcesso->documento : array($objProcesso->documento);
337 - 337 +
338 foreach($arrObjDocumentos as $objDocument){ 338 foreach($arrObjDocumentos as $objDocument){
339 339
340 $objPenRelTipoDocMapEnviadoDTO = new PenRelTipoDocMapRecebidoDTO(); 340 $objPenRelTipoDocMapEnviadoDTO = new PenRelTipoDocMapRecebidoDTO();
@@ -349,7 +349,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -349,7 +349,7 @@ class ReceberProcedimentoRN extends InfraRN
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); 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])); 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
355 355
@@ -362,10 +362,10 @@ class ReceberProcedimentoRN extends InfraRN @@ -362,10 +362,10 @@ class ReceberProcedimentoRN extends InfraRN
362 foreach($arrObjDocumentos as $objDocument) { 362 foreach($arrObjDocumentos as $objDocument) {
363 363
364 364
365 - if (is_null($objDocument->componenteDigital->tamanhoEmBytes) || $objDocument->componenteDigital->tamanhoEmBytes == 0){  
366 - 365 + if (is_null($objDocument->componenteDigital->tamanhoEmBytes) || $objDocument->componenteDigital->tamanhoEmBytes == 0){
  366 +
367 throw new InfraException('Tamanho de componente digital não informado.', null, 'RECUSA: '.ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU); 367 throw new InfraException('Tamanho de componente digital não informado.', null, 'RECUSA: '.ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_OUTROU);
368 - 368 +
369 } 369 }
370 370
371 if($objDocument->componenteDigital->tamanhoEmBytes > ($numTamDocExterno * 1024 * 1024)){ 371 if($objDocument->componenteDigital->tamanhoEmBytes > ($numTamDocExterno * 1024 * 1024)){
@@ -376,20 +376,20 @@ class ReceberProcedimentoRN extends InfraRN @@ -376,20 +376,20 @@ class ReceberProcedimentoRN extends InfraRN
376 376
377 } 377 }
378 } 378 }
379 - 379 +
380 } 380 }
381 381
382 382
383 private function registrarProcesso($parStrNumeroRegistro, $parNumIdentificacaoTramite, $parObjProcesso, $parObjMetadadosProcedimento) 383 private function registrarProcesso($parStrNumeroRegistro, $parNumIdentificacaoTramite, $parObjProcesso, $parObjMetadadosProcedimento)
384 { 384 {
385 -  
386 - 385 +
  386 +
387 // Validação dos dados do processo recebido 387 // Validação dos dados do processo recebido
388 $objInfraException = new InfraException(); 388 $objInfraException = new InfraException();
389 $this->validarDadosProcesso($objInfraException, $parObjProcesso); 389 $this->validarDadosProcesso($objInfraException, $parObjProcesso);
390 $this->validarDadosDocumentos($objInfraException, $parObjProcesso); 390 $this->validarDadosDocumentos($objInfraException, $parObjProcesso);
391 391
392 - //TODO: Regra de Negócio - Processos recebidos pelo Barramento não poderão disponibilizar a opção de reordenação e cancelamento de documentos 392 + //TODO: Regra de Negócio - Processos recebidos pelo Barramento não poderão disponibilizar a opção de reordenação e cancelamento de documentos
393 //para o usuário final, mesmo possuindo permissão para isso 393 //para o usuário final, mesmo possuindo permissão para isso
394 394
395 $objInfraException->lancarValidacoes(); 395 $objInfraException->lancarValidacoes();
@@ -398,18 +398,18 @@ class ReceberProcedimentoRN extends InfraRN @@ -398,18 +398,18 @@ class ReceberProcedimentoRN extends InfraRN
398 $dblIdProcedimento = $this->consultarProcedimentoExistente($parStrNumeroRegistro, $parObjProcesso->protocolo); 398 $dblIdProcedimento = $this->consultarProcedimentoExistente($parStrNumeroRegistro, $parObjProcesso->protocolo);
399 399
400 if(isset($dblIdProcedimento)){ 400 if(isset($dblIdProcedimento)){
401 - 401 +
402 //TODO: Tratar situação em que o processo (NUP) já existia na base do sistema mas não havia nenhum NRE registrado para ele 402 //TODO: Tratar situação em que o processo (NUP) já existia na base do sistema mas não havia nenhum NRE registrado para ele
403 - $objProcedimentoDTO = $this->atualizarProcedimento($dblIdProcedimento, $parObjMetadadosProcedimento, $parObjProcesso); 403 + $objProcedimentoDTO = $this->atualizarProcedimento($dblIdProcedimento, $parObjMetadadosProcedimento, $parObjProcesso);
404 } 404 }
405 - else {  
406 - 405 + else {
  406 +
407 //TODO: Gerar Procedimento com status BLOQUEADO, aguardando o recebimento dos componentes digitais 407 //TODO: Gerar Procedimento com status BLOQUEADO, aguardando o recebimento dos componentes digitais
408 $objProcedimentoDTO = $this->gerarProcedimento($parObjMetadadosProcedimento, $parObjProcesso); 408 $objProcedimentoDTO = $this->gerarProcedimento($parObjMetadadosProcedimento, $parObjProcesso);
409 } 409 }
410 410
411 //TODO: Fazer o envio de cada um dos procedimentos apensados (Processo principal e seus apensados, caso exista) 411 //TODO: Fazer o envio de cada um dos procedimentos apensados (Processo principal e seus apensados, caso exista)
412 - //... 412 + //...
413 413
414 //Chamada recursiva para registro dos processos apensados 414 //Chamada recursiva para registro dos processos apensados
415 if(isset($objProcesso->processoApensado)) { 415 if(isset($objProcesso->processoApensado)) {
@@ -419,7 +419,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -419,7 +419,7 @@ class ReceberProcedimentoRN extends InfraRN
419 419
420 foreach ($objProcesso->processoApensado as $objProcessoApensado) { 420 foreach ($objProcesso->processoApensado as $objProcessoApensado) {
421 $this->registrarProcesso($parStrNumeroRegistro, $parNumIdentificacaoTramite, $objProcessoApensado, $parObjMetadadosProcedimento); 421 $this->registrarProcesso($parStrNumeroRegistro, $parNumIdentificacaoTramite, $objProcessoApensado, $parObjMetadadosProcedimento);
422 - } 422 + }
423 } 423 }
424 424
425 return $objProcedimentoDTO; 425 return $objProcedimentoDTO;
@@ -437,7 +437,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -437,7 +437,7 @@ class ReceberProcedimentoRN extends InfraRN
437 437
438 private function consultarProcedimentoExistente($parStrNumeroRegistro, $parStrProtocolo = null) { 438 private function consultarProcedimentoExistente($parStrNumeroRegistro, $parStrProtocolo = null) {
439 439
440 - $dblIdProcedimento = null; 440 + $dblIdProcedimento = null;
441 441
442 $objProcessoEletronicoDTO = new ProcessoEletronicoDTO(); 442 $objProcessoEletronicoDTO = new ProcessoEletronicoDTO();
443 $objProcessoEletronicoDTO->retDblIdProcedimento(); 443 $objProcessoEletronicoDTO->retDblIdProcedimento();
@@ -455,31 +455,31 @@ class ReceberProcedimentoRN extends InfraRN @@ -455,31 +455,31 @@ class ReceberProcedimentoRN extends InfraRN
455 } 455 }
456 456
457 private function atualizarProcedimento($parDblIdProcedimento, $objMetadadosProcedimento, $objProcesso){ 457 private function atualizarProcedimento($parDblIdProcedimento, $objMetadadosProcedimento, $objProcesso){
458 -  
459 - 458 +
  459 +
460 if(!isset($parDblIdProcedimento)){ 460 if(!isset($parDblIdProcedimento)){
461 throw new InfraException('Parâmetro $parDblIdProcedimento não informado.'); 461 throw new InfraException('Parâmetro $parDblIdProcedimento não informado.');
462 - } 462 + }
463 463
464 if(!isset($objMetadadosProcedimento)){ 464 if(!isset($objMetadadosProcedimento)){
465 throw new InfraException('Parâmetro $objMetadadosProcedimento não informado.'); 465 throw new InfraException('Parâmetro $objMetadadosProcedimento não informado.');
466 } 466 }
467 -  
468 - 467 +
  468 +
469 if ($this->destinatarioReal) { 469 if ($this->destinatarioReal) {
470 $objDestinatario = $this->destinatarioReal; 470 $objDestinatario = $this->destinatarioReal;
471 } else { 471 } else {
472 $objDestinatario = $objMetadadosProcedimento->metadados->destinatario; 472 $objDestinatario = $objMetadadosProcedimento->metadados->destinatario;
473 } 473 }
474 - 474 +
475 //TODO: Refatorar código para criar método de pesquisa do procedimento e reutilizá-la 475 //TODO: Refatorar código para criar método de pesquisa do procedimento e reutilizá-la
476 476
477 //$objProcedimentoDTO = new ProcedimentoDTO(); 477 //$objProcedimentoDTO = new ProcedimentoDTO();
478 //$objProcedimentoDTO->setDblIdProcedimento($parDblIdProcedimento); 478 //$objProcedimentoDTO->setDblIdProcedimento($parDblIdProcedimento);
479 //$objProcedimentoDTO->retTodos(); 479 //$objProcedimentoDTO->retTodos();
480 - //$objProcedimentoDTO->retStrProtocoloProcedimentoFormatado(); 480 + //$objProcedimentoDTO->retStrProtocoloProcedimentoFormatado();
481 //$objProcedimentoDTO->setStrSinDocTodos('S'); 481 //$objProcedimentoDTO->setStrSinDocTodos('S');
482 - 482 +
483 //$objProcedimentoRN = new ProcedimentoRN(); 483 //$objProcedimentoRN = new ProcedimentoRN();
484 //$arrObjProcedimentoDTO = $objProcedimentoRN->listarCompleto($objProcedimentoDTO); 484 //$arrObjProcedimentoDTO = $objProcedimentoRN->listarCompleto($objProcedimentoDTO);
485 485
@@ -488,25 +488,25 @@ class ReceberProcedimentoRN extends InfraRN @@ -488,25 +488,25 @@ class ReceberProcedimentoRN extends InfraRN
488 //} 488 //}
489 489
490 //$objProcedimentoDTO = $arrObjProcedimentoDTO[0]; 490 //$objProcedimentoDTO = $arrObjProcedimentoDTO[0];
491 - 491 +
492 $objAtividadeDTO = new AtividadeDTO(); 492 $objAtividadeDTO = new AtividadeDTO();
493 $objAtividadeDTO->setStrIdTarefaModuloTarefa(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO); 493 $objAtividadeDTO->setStrIdTarefaModuloTarefa(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO);
494 $objAtividadeDTO->setDblIdProcedimentoProtocolo($parDblIdProcedimento); 494 $objAtividadeDTO->setDblIdProcedimentoProtocolo($parDblIdProcedimento);
495 $objAtividadeDTO->setOrd('Conclusao', InfraDTO::$TIPO_ORDENACAO_DESC); 495 $objAtividadeDTO->setOrd('Conclusao', InfraDTO::$TIPO_ORDENACAO_DESC);
496 $objAtividadeDTO->setNumMaxRegistrosRetorno(1); 496 $objAtividadeDTO->setNumMaxRegistrosRetorno(1);
497 $objAtividadeDTO->retNumIdUnidade(); 497 $objAtividadeDTO->retNumIdUnidade();
498 - 498 +
499 $objAtividadeRN = new AtividadeRN(); 499 $objAtividadeRN = new AtividadeRN();
500 $arrObjAtividadeDTO = $objAtividadeRN->listarRN0036($objAtividadeDTO); 500 $arrObjAtividadeDTO = $objAtividadeRN->listarRN0036($objAtividadeDTO);
501 $numIdUnidade = SessaoSEI::getInstance()->getNumIdUnidadeAtual(); 501 $numIdUnidade = SessaoSEI::getInstance()->getNumIdUnidadeAtual();
502 - 502 +
503 if($arrObjAtividadeDTO){ 503 if($arrObjAtividadeDTO){
504 $objAtividadeDTO = $arrObjAtividadeDTO[0]; 504 $objAtividadeDTO = $arrObjAtividadeDTO[0];
505 $numIdUnidade = $objAtividadeDTO->getNumIdUnidade(); 505 $numIdUnidade = $objAtividadeDTO->getNumIdUnidade();
506 } 506 }
507 - 507 +
508 $objSeiRN = new SeiRN(); 508 $objSeiRN = new SeiRN();
509 - 509 +
510 $objAtividadeDTO = new AtividadeDTO(); 510 $objAtividadeDTO = new AtividadeDTO();
511 $objAtividadeDTO->retDthConclusao(); 511 $objAtividadeDTO->retDthConclusao();
512 $objAtividadeDTO->setDblIdProtocolo($parDblIdProcedimento); 512 $objAtividadeDTO->setDblIdProtocolo($parDblIdProcedimento);
@@ -514,13 +514,13 @@ class ReceberProcedimentoRN extends InfraRN @@ -514,13 +514,13 @@ class ReceberProcedimentoRN extends InfraRN
514 514
515 $arrObjAtividadeDTO = $objAtividadeRN->listarRN0036($objAtividadeDTO); 515 $arrObjAtividadeDTO = $objAtividadeRN->listarRN0036($objAtividadeDTO);
516 $flgReabrir = true; 516 $flgReabrir = true;
517 - 517 +
518 foreach ($arrObjAtividadeDTO as $objAtividadeDTO) { 518 foreach ($arrObjAtividadeDTO as $objAtividadeDTO) {
519 if ($objAtividadeDTO->getDthConclusao() == null) { 519 if ($objAtividadeDTO->getDthConclusao() == null) {
520 $flgReabrir = false; 520 $flgReabrir = false;
521 } 521 }
522 } 522 }
523 - 523 +
524 $objProcedimentoDTO = new ProcedimentoDTO(); 524 $objProcedimentoDTO = new ProcedimentoDTO();
525 $objProcedimentoDTO->setDblIdProcedimento($parDblIdProcedimento); 525 $objProcedimentoDTO->setDblIdProcedimento($parDblIdProcedimento);
526 $objProcedimentoDTO->retTodos(); 526 $objProcedimentoDTO->retTodos();
@@ -528,40 +528,40 @@ class ReceberProcedimentoRN extends InfraRN @@ -528,40 +528,40 @@ class ReceberProcedimentoRN extends InfraRN
528 528
529 $objProcedimentoRN = new ProcedimentoRN(); 529 $objProcedimentoRN = new ProcedimentoRN();
530 $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO); 530 $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO);
531 - 531 +
532 $this->registrarAndamentoRecebimentoProcesso($objProcedimentoDTO, $objMetadadosProcedimento); 532 $this->registrarAndamentoRecebimentoProcesso($objProcedimentoDTO, $objMetadadosProcedimento);
533 -  
534 - 533 +
  534 +
535 if($flgReabrir){ 535 if($flgReabrir){
536 $objEntradaReabrirProcessoAPI = new EntradaReabrirProcessoAPI(); 536 $objEntradaReabrirProcessoAPI = new EntradaReabrirProcessoAPI();
537 $objEntradaReabrirProcessoAPI->setIdProcedimento($parDblIdProcedimento); 537 $objEntradaReabrirProcessoAPI->setIdProcedimento($parDblIdProcedimento);
538 $objSeiRN->reabrirProcesso($objEntradaReabrirProcessoAPI); 538 $objSeiRN->reabrirProcesso($objEntradaReabrirProcessoAPI);
539 } 539 }
540 - 540 +
541 //Cadastro das atividades para quando o destinatário é desviado pelo receptor (!3!) 541 //Cadastro das atividades para quando o destinatário é desviado pelo receptor (!3!)
542 if ($this->destinatarioReal->numeroDeIdentificacaoDaEstrutura) { 542 if ($this->destinatarioReal->numeroDeIdentificacaoDaEstrutura) {
543 $this->gerarAndamentoUnidadeReceptora($parDblIdProcedimento); 543 $this->gerarAndamentoUnidadeReceptora($parDblIdProcedimento);
544 } 544 }
545 545
546 - 546 +
547 $objEntradaDesbloquearProcessoAPI = new EntradaDesbloquearProcessoAPI(); 547 $objEntradaDesbloquearProcessoAPI = new EntradaDesbloquearProcessoAPI();
548 - $objEntradaDesbloquearProcessoAPI->setIdProcedimento($parDblIdProcedimento); 548 + $objEntradaDesbloquearProcessoAPI->setIdProcedimento($parDblIdProcedimento);
549 $objSeiRN->desbloquearProcesso($objEntradaDesbloquearProcessoAPI); 549 $objSeiRN->desbloquearProcesso($objEntradaDesbloquearProcessoAPI);
550 - 550 +
551 //TODO: Obter código da unidade através de mapeamento entre SEI e Barramento 551 //TODO: Obter código da unidade através de mapeamento entre SEI e Barramento
552 $objUnidadeDTO = $this->atribuirDadosUnidade($objProcedimentoDTO, $objDestinatario); 552 $objUnidadeDTO = $this->atribuirDadosUnidade($objProcedimentoDTO, $objDestinatario);
553 553
554 - $this->atribuirDocumentos($objProcedimentoDTO, $objProcesso, $objUnidadeDTO, $objMetadadosProcedimento); 554 + $this->atribuirDocumentos($objProcedimentoDTO, $objProcesso, $objUnidadeDTO, $objMetadadosProcedimento);
555 $this->registrarProcedimentoNaoVisualizado($objProcedimentoDTO); 555 $this->registrarProcedimentoNaoVisualizado($objProcedimentoDTO);
556 556
557 //TODO: Avaliar necessidade de restringir referência circular entre processos 557 //TODO: Avaliar necessidade de restringir referência circular entre processos
558 //TODO: Registrar que o processo foi recebido com outros apensados. Necessário para posterior reenvio 558 //TODO: Registrar que o processo foi recebido com outros apensados. Necessário para posterior reenvio
559 $this->atribuirProcessosApensados($objProcedimentoDTO, $objProcesso->processoApensado); 559 $this->atribuirProcessosApensados($objProcedimentoDTO, $objProcesso->processoApensado);
560 - 560 +
561 //Realiza a alteração dos metadados do processo 561 //Realiza a alteração dos metadados do processo
562 //TODO: Implementar alteração de todos os metadados 562 //TODO: Implementar alteração de todos os metadados
563 $this->alterarMetadadosProcedimento($objProcedimentoDTO->getDblIdProcedimento(), $objProcesso); 563 $this->alterarMetadadosProcedimento($objProcedimentoDTO->getDblIdProcedimento(), $objProcesso);
564 - 564 +
565 //TODO: Finalizar o envio do documento para a respectiva unidade 565 //TODO: Finalizar o envio do documento para a respectiva unidade
566 $this->enviarProcedimentoUnidade($objProcedimentoDTO, true); 566 $this->enviarProcedimentoUnidade($objProcedimentoDTO, true);
567 567
@@ -578,14 +578,14 @@ class ReceberProcedimentoRN extends InfraRN @@ -578,14 +578,14 @@ class ReceberProcedimentoRN extends InfraRN
578 578
579 579
580 } 580 }
581 - 581 +
582 private function gerarAndamentoUnidadeReceptora($parNumIdProcedimento) { 582 private function gerarAndamentoUnidadeReceptora($parNumIdProcedimento) {
583 - 583 +
584 $objUnidadeDTO = new PenUnidadeDTO(); 584 $objUnidadeDTO = new PenUnidadeDTO();
585 $objUnidadeDTO->setNumIdUnidadeRH($this->destinatarioReal->numeroDeIdentificacaoDaEstrutura); 585 $objUnidadeDTO->setNumIdUnidadeRH($this->destinatarioReal->numeroDeIdentificacaoDaEstrutura);
586 $objUnidadeDTO->setStrSinAtivo('S'); 586 $objUnidadeDTO->setStrSinAtivo('S');
587 $objUnidadeDTO->retStrDescricao(); //descricao 587 $objUnidadeDTO->retStrDescricao(); //descricao
588 - 588 +
589 $objUnidadeRN = new UnidadeRN(); 589 $objUnidadeRN = new UnidadeRN();
590 $objUnidadeDTO = $objUnidadeRN->consultarRN0125($objUnidadeDTO); 590 $objUnidadeDTO = $objUnidadeRN->consultarRN0125($objUnidadeDTO);
591 591
@@ -617,7 +617,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -617,7 +617,7 @@ class ReceberProcedimentoRN extends InfraRN
617 } 617 }
618 618
619 //TODO: Usar dados do destinatário em outro método específico para envio 619 //TODO: Usar dados do destinatário em outro método específico para envio
620 - // Dados do procedimento enviados pelos órgão externo integrado ao PEN 620 + // Dados do procedimento enviados pelos órgão externo integrado ao PEN
621 //$objProcesso = $objMetadadosProcedimento->metadados->processo; 621 //$objProcesso = $objMetadadosProcedimento->metadados->processo;
622 $objRemetente = $objMetadadosProcedimento->metadados->remetente; 622 $objRemetente = $objMetadadosProcedimento->metadados->remetente;
623 $objDestinatario = $objMetadadosProcedimento->metadados->destinatario; 623 $objDestinatario = $objMetadadosProcedimento->metadados->destinatario;
@@ -632,16 +632,16 @@ class ReceberProcedimentoRN extends InfraRN @@ -632,16 +632,16 @@ class ReceberProcedimentoRN extends InfraRN
632 $objProtocoloDTO->setDblIdProtocolo(null); 632 $objProtocoloDTO->setDblIdProtocolo(null);
633 $objProtocoloDTO->setStrDescricao(utf8_decode($objProcesso->descricao)); 633 $objProtocoloDTO->setStrDescricao(utf8_decode($objProcesso->descricao));
634 $objProtocoloDTO->setStrStaNivelAcessoLocal($this->obterNivelSigiloSEI($objProcesso->nivelDeSigilo)); 634 $objProtocoloDTO->setStrStaNivelAcessoLocal($this->obterNivelSigiloSEI($objProcesso->nivelDeSigilo));
635 - 635 +
636 if($this->obterNivelSigiloSEI($objProcesso->nivelDeSigilo) == ProtocoloRN::$NA_RESTRITO){ 636 if($this->obterNivelSigiloSEI($objProcesso->nivelDeSigilo) == ProtocoloRN::$NA_RESTRITO){
637 $objHipoteseLegalRecebido = new PenRelHipoteseLegalRecebidoRN(); 637 $objHipoteseLegalRecebido = new PenRelHipoteseLegalRecebidoRN();
638 $objPenParametroRN = new PenParametroRN(); 638 $objPenParametroRN = new PenParametroRN();
639 $numIdHipoteseLegalPadrao = $objPenParametroRN->getParametro('HIPOTESE_LEGAL_PADRAO'); 639 $numIdHipoteseLegalPadrao = $objPenParametroRN->getParametro('HIPOTESE_LEGAL_PADRAO');
640 - 640 +
641 if (!isset($objProcesso->hipoteseLegal) || (isset($objProcesso->hipoteseLegal) && empty($objProcesso->hipoteseLegal->identificacao))) { 641 if (!isset($objProcesso->hipoteseLegal) || (isset($objProcesso->hipoteseLegal) && empty($objProcesso->hipoteseLegal->identificacao))) {
642 $objProtocoloDTO->setNumIdHipoteseLegal($numIdHipoteseLegalPadrao); 642 $objProtocoloDTO->setNumIdHipoteseLegal($numIdHipoteseLegalPadrao);
643 } else { 643 } else {
644 - 644 +
645 $numIdHipoteseLegal = $objHipoteseLegalRecebido->getIdHipoteseLegalSEI($objProcesso->hipoteseLegal->identificacao); 645 $numIdHipoteseLegal = $objHipoteseLegalRecebido->getIdHipoteseLegalSEI($objProcesso->hipoteseLegal->identificacao);
646 if (empty($numIdHipoteseLegal)) { 646 if (empty($numIdHipoteseLegal)) {
647 $objProtocoloDTO->setNumIdHipoteseLegal($numIdHipoteseLegalPadrao); 647 $objProtocoloDTO->setNumIdHipoteseLegal($numIdHipoteseLegalPadrao);
@@ -650,7 +650,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -650,7 +650,7 @@ class ReceberProcedimentoRN extends InfraRN
650 } 650 }
651 } 651 }
652 } 652 }
653 - 653 +
654 $objProtocoloDTO->setStrProtocoloFormatado(utf8_decode($objProcesso->protocolo)); 654 $objProtocoloDTO->setStrProtocoloFormatado(utf8_decode($objProcesso->protocolo));
655 $objProtocoloDTO->setDtaGeracao($this->objProcessoEletronicoRN->converterDataSEI($objProcesso->dataHoraDeProducao)); 655 $objProtocoloDTO->setDtaGeracao($this->objProcessoEletronicoRN->converterDataSEI($objProcesso->dataHoraDeProducao));
656 $objProtocoloDTO->setArrObjAnexoDTO(array()); 656 $objProtocoloDTO->setArrObjAnexoDTO(array());
@@ -659,18 +659,18 @@ class ReceberProcedimentoRN extends InfraRN @@ -659,18 +659,18 @@ class ReceberProcedimentoRN extends InfraRN
659 //$objProtocoloDTO->setStrStaEstado(ProtocoloRN::$TE_BLOQUEADO); 659 //$objProtocoloDTO->setStrStaEstado(ProtocoloRN::$TE_BLOQUEADO);
660 $this->atribuirRemetente($objProtocoloDTO, $objRemetente); 660 $this->atribuirRemetente($objProtocoloDTO, $objRemetente);
661 $this->atribuirParticipantes($objProtocoloDTO, $objProcesso->interessado); 661 $this->atribuirParticipantes($objProtocoloDTO, $objProcesso->interessado);
662 -  
663 -  
664 - 662 +
  663 +
  664 +
665 $strDescricao = sprintf('Tipo de processo no órgão de origem: %s', utf8_decode($objProcesso->processoDeNegocio)).PHP_EOL; 665 $strDescricao = sprintf('Tipo de processo no órgão de origem: %s', utf8_decode($objProcesso->processoDeNegocio)).PHP_EOL;
666 $strDescricao .= $objProcesso->observacao; 666 $strDescricao .= $objProcesso->observacao;
667 - 667 +
668 $objObservacaoDTO = new ObservacaoDTO(); 668 $objObservacaoDTO = new ObservacaoDTO();
669 - 669 +
670 //!Criação da observação de aviso para qual é a real unidade emitida (!2!) 670 //!Criação da observação de aviso para qual é a real unidade emitida (!2!)
671 if ($this->destinatarioReal) { 671 if ($this->destinatarioReal) {
672 $objUnidadeDTO = new PenUnidadeDTO(); 672 $objUnidadeDTO = new PenUnidadeDTO();
673 - $objUnidadeDTO->setNumIdUnidadeRH($this->destinatarioReal->numeroDeIdentificacaoDaEstrutura); 673 + $objUnidadeDTO->setNumIdUnidadeRH($this->destinatarioReal->numeroDeIdentificacaoDaEstrutura);
674 $objUnidadeDTO->setStrSinAtivo('S'); 674 $objUnidadeDTO->setStrSinAtivo('S');
675 $objUnidadeDTO->retStrDescricao(); 675 $objUnidadeDTO->retStrDescricao();
676 676
@@ -680,48 +680,48 @@ class ReceberProcedimentoRN extends InfraRN @@ -680,48 +680,48 @@ class ReceberProcedimentoRN extends InfraRN
680 } else { 680 } else {
681 $objObservacaoDTO->setStrDescricao($strDescricao); 681 $objObservacaoDTO->setStrDescricao($strDescricao);
682 } 682 }
683 - 683 +
684 //throw new InfraException(var_export($objObservacaoDTO, true)); 684 //throw new InfraException(var_export($objObservacaoDTO, true));
685 - 685 +
686 $objProtocoloDTO->setArrObjObservacaoDTO(array($objObservacaoDTO)); 686 $objProtocoloDTO->setArrObjObservacaoDTO(array($objObservacaoDTO));
687 - 687 +
688 //Atribuição de dados do procedimento 688 //Atribuição de dados do procedimento
689 //TODO: Validar cada uma das informações de entrada do webservice 689 //TODO: Validar cada uma das informações de entrada do webservice
690 - $objProcedimentoDTO = new ProcedimentoDTO(); 690 + $objProcedimentoDTO = new ProcedimentoDTO();
691 $objProcedimentoDTO->setDblIdProcedimento(null); 691 $objProcedimentoDTO->setDblIdProcedimento(null);
692 - $objProcedimentoDTO->setObjProtocoloDTO($objProtocoloDTO); 692 + $objProcedimentoDTO->setObjProtocoloDTO($objProtocoloDTO);
693 $objProcedimentoDTO->setStrNomeTipoProcedimento(utf8_decode($objProcesso->processoDeNegocio)); 693 $objProcedimentoDTO->setStrNomeTipoProcedimento(utf8_decode($objProcesso->processoDeNegocio));
694 $objProcedimentoDTO->setDtaGeracaoProtocolo($this->objProcessoEletronicoRN->converterDataSEI($objProcesso->dataHoraDeProducao)); 694 $objProcedimentoDTO->setDtaGeracaoProtocolo($this->objProcessoEletronicoRN->converterDataSEI($objProcesso->dataHoraDeProducao));
695 $objProcedimentoDTO->setStrProtocoloProcedimentoFormatado(utf8_decode($objProcesso->protocolo)); 695 $objProcedimentoDTO->setStrProtocoloProcedimentoFormatado(utf8_decode($objProcesso->protocolo));
696 $objProcedimentoDTO->setStrSinGerarPendencia('S'); 696 $objProcedimentoDTO->setStrSinGerarPendencia('S');
697 // $objProcedimentoDTO->setNumVersaoLock(0); //TODO: Avaliar o comportamento desse campo no cadastro do processo 697 // $objProcedimentoDTO->setNumVersaoLock(0); //TODO: Avaliar o comportamento desse campo no cadastro do processo
698 $objProcedimentoDTO->setArrObjDocumentoDTO(array()); 698 $objProcedimentoDTO->setArrObjDocumentoDTO(array());
699 - 699 +
700 //TODO: Identificar o tipo de procedimento correto para atribuição ao novo processo 700 //TODO: Identificar o tipo de procedimento correto para atribuição ao novo processo
701 $objPenParametroRN = new PenParametroRN(); 701 $objPenParametroRN = new PenParametroRN();
702 $numIdTipoProcedimento = $objPenParametroRN->getParametro('PEN_TIPO_PROCESSO_EXTERNO'); 702 $numIdTipoProcedimento = $objPenParametroRN->getParametro('PEN_TIPO_PROCESSO_EXTERNO');
703 - $this->atribuirTipoProcedimento($objProcedimentoDTO, $numIdTipoProcedimento, $objProcesso->processoDeNegocio); 703 + $this->atribuirTipoProcedimento($objProcedimentoDTO, $numIdTipoProcedimento, $objProcesso->processoDeNegocio);
704 704
705 //TODO: Obter código da unidade através de mapeamento entre SEI e Barramento 705 //TODO: Obter código da unidade através de mapeamento entre SEI e Barramento
706 $objUnidadeDTO = $this->atribuirDadosUnidade($objProcedimentoDTO, $objDestinatario); 706 $objUnidadeDTO = $this->atribuirDadosUnidade($objProcedimentoDTO, $objDestinatario);
707 707
708 //TODO: Tratar processamento de atributos procedimento_cadastro:177 708 //TODO: Tratar processamento de atributos procedimento_cadastro:177
709 //... 709 //...
710 - 710 +
711 //TODO: Atribuir Dados do produtor do processo 711 //TODO: Atribuir Dados do produtor do processo
712 - //$this->atribuirProdutorProcesso($objProcesso,  
713 - // $objProcedimentoDTO->getNumIdUsuarioGeradorProtocolo(),  
714 - // $objProcedimentoDTO->getNumIdUnidadeGeradoraProtocolo()); 712 + //$this->atribuirProdutorProcesso($objProcesso,
  713 + // $objProcedimentoDTO->getNumIdUsuarioGeradorProtocolo(),
  714 + // $objProcedimentoDTO->getNumIdUnidadeGeradoraProtocolo());
  715 +
715 716
716 717
717 -  
718 718
719 //TODO:Adicionar demais informações do processo 719 //TODO:Adicionar demais informações do processo
720 //<protocoloAnterior> 720 //<protocoloAnterior>
721 //<historico> 721 //<historico>
722 - 722 +
723 //$objProcesso->idProcedimentoSEI = $dblIdProcedimento; 723 //$objProcesso->idProcedimentoSEI = $dblIdProcedimento;
724 - 724 +
725 //TODO: Avaliar necessidade de tal recurso 725 //TODO: Avaliar necessidade de tal recurso
726 //FeedSEIProtocolos::getInstance()->setBolAcumularFeeds(true); 726 //FeedSEIProtocolos::getInstance()->setBolAcumularFeeds(true);
727 727
@@ -735,9 +735,9 @@ class ReceberProcedimentoRN extends InfraRN @@ -735,9 +735,9 @@ class ReceberProcedimentoRN extends InfraRN
735 $objProcedimentoDTO->setDblIdProcedimento($objProcedimentoDTOGerado->getDblIdProcedimento()); 735 $objProcedimentoDTO->setDblIdProcedimento($objProcedimentoDTOGerado->getDblIdProcedimento());
736 736
737 $this->registrarAndamentoRecebimentoProcesso($objProcedimentoDTO, $objMetadadosProcedimento); 737 $this->registrarAndamentoRecebimentoProcesso($objProcedimentoDTO, $objMetadadosProcedimento);
738 - $this->atribuirDocumentos($objProcedimentoDTO, $objProcesso, $objUnidadeDTO, $objMetadadosProcedimento); 738 + $this->atribuirDocumentos($objProcedimentoDTO, $objProcesso, $objUnidadeDTO, $objMetadadosProcedimento);
739 $this->registrarProcedimentoNaoVisualizado($objProcedimentoDTOGerado); 739 $this->registrarProcedimentoNaoVisualizado($objProcedimentoDTOGerado);
740 - 740 +
741 //TODO: Avaliar necessidade de restringir referência circular entre processos 741 //TODO: Avaliar necessidade de restringir referência circular entre processos
742 //TODO: Registrar que o processo foi recebido com outros apensados. Necessário para posterior reenvio 742 //TODO: Registrar que o processo foi recebido com outros apensados. Necessário para posterior reenvio
743 $this->atribuirProcessosApensados($objProcedimentoDTO, $objProcesso->processoApensado); 743 $this->atribuirProcessosApensados($objProcedimentoDTO, $objProcesso->processoApensado);
@@ -758,37 +758,37 @@ class ReceberProcedimentoRN extends InfraRN @@ -758,37 +758,37 @@ class ReceberProcedimentoRN extends InfraRN
758 } 758 }
759 759
760 private function alterarMetadadosProcedimento($parNumIdProcedimento, $parObjMetadadoProcedimento){ 760 private function alterarMetadadosProcedimento($parNumIdProcedimento, $parObjMetadadoProcedimento){
761 - 761 +
762 //Realiza a alteração dos metadados do processo(Por hora, apenas do nível de sigilo e hipótese legal) 762 //Realiza a alteração dos metadados do processo(Por hora, apenas do nível de sigilo e hipótese legal)
763 $objProtocoloDTO = new ProtocoloDTO(); 763 $objProtocoloDTO = new ProtocoloDTO();
764 $objProtocoloDTO->setDblIdProtocolo($parNumIdProcedimento); 764 $objProtocoloDTO->setDblIdProtocolo($parNumIdProcedimento);
765 $objProtocoloDTO->setStrStaNivelAcessoLocal($this->obterNivelSigiloSEI($parObjMetadadoProcedimento->nivelDeSigilo)); 765 $objProtocoloDTO->setStrStaNivelAcessoLocal($this->obterNivelSigiloSEI($parObjMetadadoProcedimento->nivelDeSigilo));
766 - 766 +
767 if($parObjMetadadoProcedimento->hipoteseLegal && $parObjMetadadoProcedimento->hipoteseLegal->identificacao){ 767 if($parObjMetadadoProcedimento->hipoteseLegal && $parObjMetadadoProcedimento->hipoteseLegal->identificacao){
768 $objProtocoloDTO->setNumIdHipoteseLegal($this->obterHipoteseLegalSEI($parObjMetadadoProcedimento->hipoteseLegal->identificacao)); 768 $objProtocoloDTO->setNumIdHipoteseLegal($this->obterHipoteseLegalSEI($parObjMetadadoProcedimento->hipoteseLegal->identificacao));
769 } 769 }
770 - 770 +
771 $objProtocoloRN = new ProtocoloRN(); 771 $objProtocoloRN = new ProtocoloRN();
772 $objProtocoloRN->alterarRN0203($objProtocoloDTO); 772 $objProtocoloRN->alterarRN0203($objProtocoloDTO);
773 } 773 }
774 - 774 +
775 private function alterarMetadadosDocumento($parNumIdDocumento, $parObjMetadadoDocumento){ 775 private function alterarMetadadosDocumento($parNumIdDocumento, $parObjMetadadoDocumento){
776 //Realiza a alteração dos metadados do documento(Por hora, apenas do nível de sigilo e hipótese legal) 776 //Realiza a alteração dos metadados do documento(Por hora, apenas do nível de sigilo e hipótese legal)
777 $objProtocoloDTO = new ProtocoloDTO(); 777 $objProtocoloDTO = new ProtocoloDTO();
778 $objProtocoloDTO->setDblIdProtocolo($parNumIdDocumento); 778 $objProtocoloDTO->setDblIdProtocolo($parNumIdDocumento);
779 $objProtocoloDTO->setStrStaNivelAcessoLocal($this->obterNivelSigiloSEI($parObjMetadadoDocumento->nivelDeSigilo)); 779 $objProtocoloDTO->setStrStaNivelAcessoLocal($this->obterNivelSigiloSEI($parObjMetadadoDocumento->nivelDeSigilo));
780 - 780 +
781 if($parObjMetadadoDocumento->hipoteseLegal && $parObjMetadadoDocumento->hipoteseLegal->identificacao){ 781 if($parObjMetadadoDocumento->hipoteseLegal && $parObjMetadadoDocumento->hipoteseLegal->identificacao){
782 $objProtocoloDTO->setNumIdHipoteseLegal($this->obterHipoteseLegalSEI($parObjMetadadoDocumento->hipoteseLegal->identificacao)); 782 $objProtocoloDTO->setNumIdHipoteseLegal($this->obterHipoteseLegalSEI($parObjMetadadoDocumento->hipoteseLegal->identificacao));
783 } 783 }
784 - 784 +
785 $objProtocoloRN = new ProtocoloRN(); 785 $objProtocoloRN = new ProtocoloRN();
786 $objProtocoloRN->alterarRN0203($objProtocoloDTO); 786 $objProtocoloRN->alterarRN0203($objProtocoloDTO);
787 - 787 +
788 } 788 }
789 -  
790 -  
791 - private function removerAndamentosProcedimento($parObjProtocoloDTO) 789 +
  790 +
  791 + private function removerAndamentosProcedimento($parObjProtocoloDTO)
792 { 792 {
793 //TODO: Remover apenas as atividades geradas pelo recebimento do processo, não as atividades geradas anteriormente 793 //TODO: Remover apenas as atividades geradas pelo recebimento do processo, não as atividades geradas anteriormente
794 $objAtividadeDTO = new AtividadeDTO(); 794 $objAtividadeDTO = new AtividadeDTO();
@@ -797,16 +797,16 @@ class ReceberProcedimentoRN extends InfraRN @@ -797,16 +797,16 @@ class ReceberProcedimentoRN extends InfraRN
797 $objAtividadeDTO->setNumIdTarefa(TarefaRN::$TI_GERACAO_PROCEDIMENTO); 797 $objAtividadeDTO->setNumIdTarefa(TarefaRN::$TI_GERACAO_PROCEDIMENTO);
798 798
799 $objAtividadeRN = new AtividadeRN(); 799 $objAtividadeRN = new AtividadeRN();
800 - $objAtividadeRN->excluirRN0034($objAtividadeRN->listarRN0036($objAtividadeDTO)); 800 + $objAtividadeRN->excluirRN0034($objAtividadeRN->listarRN0036($objAtividadeDTO));
801 } 801 }
802 802
803 private function registrarAndamentoRecebimentoProcesso(ProcedimentoDTO $objProcedimentoDTO, $parObjMetadadosProcedimento) 803 private function registrarAndamentoRecebimentoProcesso(ProcedimentoDTO $objProcedimentoDTO, $parObjMetadadosProcedimento)
804 { 804 {
805 - //Processo recebido da entidade @ENTIDADE_ORIGEM@ - @REPOSITORIO_ORIGEM@ 805 + //Processo recebido da entidade @ENTIDADE_ORIGEM@ - @REPOSITORIO_ORIGEM@
806 //TODO: Atribuir atributos necessários para formação da mensagem do andamento 806 //TODO: Atribuir atributos necessários para formação da mensagem do andamento
807 - //TODO: Especificar quais andamentos serão registrados 807 + //TODO: Especificar quais andamentos serão registrados
808 $objRemetente = $parObjMetadadosProcedimento->metadados->remetente; 808 $objRemetente = $parObjMetadadosProcedimento->metadados->remetente;
809 - $objProcesso = $objMetadadosProcedimento->metadados->processo; 809 + $objProcesso = $objMetadadosProcedimento->metadados->processo;
810 810
811 $arrObjAtributoAndamentoDTO = array(); 811 $arrObjAtributoAndamentoDTO = array();
812 812
@@ -816,7 +816,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -816,7 +816,7 @@ class ReceberProcedimentoRN extends InfraRN
816 816
817 //TODO: Otimizar código. Apenas buscar no barramento os dados da estrutura 1 única vez (AtribuirRemetente também utiliza) 817 //TODO: Otimizar código. Apenas buscar no barramento os dados da estrutura 1 única vez (AtribuirRemetente também utiliza)
818 $objEstrutura = $this->objProcessoEletronicoRN->consultarEstrutura( 818 $objEstrutura = $this->objProcessoEletronicoRN->consultarEstrutura(
819 - $objRemetente->identificacaoDoRepositorioDeEstruturas, 819 + $objRemetente->identificacaoDoRepositorioDeEstruturas,
820 $objRemetente->numeroDeIdentificacaoDaEstrutura, 820 $objRemetente->numeroDeIdentificacaoDaEstrutura,
821 true 821 true
822 ); 822 );
@@ -832,19 +832,19 @@ class ReceberProcedimentoRN extends InfraRN @@ -832,19 +832,19 @@ class ReceberProcedimentoRN extends InfraRN
832 $objAtributoAndamentoDTO->setStrValor($objEstrutura->nome); 832 $objAtributoAndamentoDTO->setStrValor($objEstrutura->nome);
833 $objAtributoAndamentoDTO->setStrIdOrigem($objEstrutura->numeroDeIdentificacaoDaEstrutura); 833 $objAtributoAndamentoDTO->setStrIdOrigem($objEstrutura->numeroDeIdentificacaoDaEstrutura);
834 $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; 834 $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO;
835 - 835 +
836 if(isset($objEstrutura->hierarquia)) { 836 if(isset($objEstrutura->hierarquia)) {
837 - 837 +
838 $arrObjNivel = $objEstrutura->hierarquia->nivel; 838 $arrObjNivel = $objEstrutura->hierarquia->nivel;
839 - 839 +
840 $nome = ""; 840 $nome = "";
841 $siglasUnidades = array(); 841 $siglasUnidades = array();
842 $siglasUnidades[] = $objEstrutura->sigla; 842 $siglasUnidades[] = $objEstrutura->sigla;
843 - 843 +
844 foreach($arrObjNivel as $key => $objNivel){ 844 foreach($arrObjNivel as $key => $objNivel){
845 $siglasUnidades[] = $objNivel->sigla ; 845 $siglasUnidades[] = $objNivel->sigla ;
846 } 846 }
847 - 847 +
848 for($i = 1; $i <= 3; $i++){ 848 for($i = 1; $i <= 3; $i++){
849 if(isset($siglasUnidades[count($siglasUnidades) - 1])){ 849 if(isset($siglasUnidades[count($siglasUnidades) - 1])){
850 unset($siglasUnidades[count($siglasUnidades) - 1]); 850 unset($siglasUnidades[count($siglasUnidades) - 1]);
@@ -858,7 +858,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -858,7 +858,7 @@ class ReceberProcedimentoRN extends InfraRN
858 $nome .= $nomeUnidade." / "; 858 $nome .= $nomeUnidade." / ";
859 } 859 }
860 } 860 }
861 - 861 +
862 $objNivel = current($arrObjNivel); 862 $objNivel = current($arrObjNivel);
863 863
864 $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); 864 $objAtributoAndamentoDTO = new AtributoAndamentoDTO();
@@ -867,8 +867,8 @@ class ReceberProcedimentoRN extends InfraRN @@ -867,8 +867,8 @@ class ReceberProcedimentoRN extends InfraRN
867 $objAtributoAndamentoDTO->setStrIdOrigem($objNivel->numeroDeIdentificacaoDaEstrutura); 867 $objAtributoAndamentoDTO->setStrIdOrigem($objNivel->numeroDeIdentificacaoDaEstrutura);
868 $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; 868 $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO;
869 } 869 }
870 -  
871 - 870 +
  871 +
872 $objAtividadeDTO = new AtividadeDTO(); 872 $objAtividadeDTO = new AtividadeDTO();
873 $objAtividadeDTO->setDblIdProtocolo($objProcedimentoDTO->getDblIdProcedimento()); 873 $objAtividadeDTO->setDblIdProtocolo($objProcedimentoDTO->getDblIdProcedimento());
874 $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); 874 $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
@@ -878,26 +878,26 @@ class ReceberProcedimentoRN extends InfraRN @@ -878,26 +878,26 @@ class ReceberProcedimentoRN extends InfraRN
878 $objAtividadeDTO->setDthConclusao(null); 878 $objAtividadeDTO->setDthConclusao(null);
879 $objAtividadeDTO->setNumIdUsuarioConclusao(null); 879 $objAtividadeDTO->setNumIdUsuarioConclusao(null);
880 $objAtividadeDTO->setStrSinInicial('N'); 880 $objAtividadeDTO->setStrSinInicial('N');
881 - 881 +
882 $objAtividadeRN = new AtividadeRN(); 882 $objAtividadeRN = new AtividadeRN();
883 $objAtividadeRN->gerarInternaRN0727($objAtividadeDTO); 883 $objAtividadeRN->gerarInternaRN0727($objAtividadeDTO);
884 -  
885 -  
886 - 884 +
  885 +
  886 +
887 } 887 }
888 888
889 889
890 //TODO: Avaliar a necessidade de registrar os dados do remetente como participante do processo 890 //TODO: Avaliar a necessidade de registrar os dados do remetente como participante do processo
891 private function atribuirRemetente(ProtocoloDTO $objProtocoloDTO, $objRemetente) 891 private function atribuirRemetente(ProtocoloDTO $objProtocoloDTO, $objRemetente)
892 - {  
893 - $arrObjParticipantesDTO = array(); 892 + {
  893 + $arrObjParticipantesDTO = array();
894 if($objProtocoloDTO->isSetArrObjParticipanteDTO()) { 894 if($objProtocoloDTO->isSetArrObjParticipanteDTO()) {
895 - $arrObjParticipantesDTO = $objProtocoloDTO->getArrObjParticipanteDTO(); 895 + $arrObjParticipantesDTO = $objProtocoloDTO->getArrObjParticipanteDTO();
896 } 896 }
897 - 897 +
898 //Obtenção de detalhes do remetente na infraestrutura do PEN 898 //Obtenção de detalhes do remetente na infraestrutura do PEN
899 $objEstruturaDTO = $this->objProcessoEletronicoRN->consultarEstrutura( 899 $objEstruturaDTO = $this->objProcessoEletronicoRN->consultarEstrutura(
900 - $objRemetente->identificacaoDoRepositorioDeEstruturas, 900 + $objRemetente->identificacaoDoRepositorioDeEstruturas,
901 $objRemetente->numeroDeIdentificacaoDaEstrutura); 901 $objRemetente->numeroDeIdentificacaoDaEstrutura);
902 902
903 if(!empty($objEstruturaDTO)) { 903 if(!empty($objEstruturaDTO)) {
@@ -915,10 +915,10 @@ class ReceberProcedimentoRN extends InfraRN @@ -915,10 +915,10 @@ class ReceberProcedimentoRN extends InfraRN
915 915
916 916
917 private function atribuirParticipantes(ProtocoloDTO $objProtocoloDTO, $arrObjInteressados) 917 private function atribuirParticipantes(ProtocoloDTO $objProtocoloDTO, $arrObjInteressados)
918 - {  
919 - $arrObjParticipantesDTO = array(); 918 + {
  919 + $arrObjParticipantesDTO = array();
920 if($objProtocoloDTO->isSetArrObjParticipanteDTO()) { 920 if($objProtocoloDTO->isSetArrObjParticipanteDTO()) {
921 - $arrObjParticipantesDTO = $objProtocoloDTO->getArrObjParticipanteDTO(); 921 + $arrObjParticipantesDTO = $objProtocoloDTO->getArrObjParticipanteDTO();
922 } 922 }
923 923
924 if (!is_array($arrObjInteressados)) { 924 if (!is_array($arrObjInteressados)) {
@@ -961,11 +961,11 @@ class ReceberProcedimentoRN extends InfraRN @@ -961,11 +961,11 @@ class ReceberProcedimentoRN extends InfraRN
961 $objProcedimentoDTO->setNumIdTipoProcedimento($objTipoProcedimentoDTO->getNumIdTipoProcedimento()); 961 $objProcedimentoDTO->setNumIdTipoProcedimento($objTipoProcedimentoDTO->getNumIdTipoProcedimento());
962 $objProcedimentoDTO->setStrNomeTipoProcedimento($objTipoProcedimentoDTO->getStrNome()); 962 $objProcedimentoDTO->setStrNomeTipoProcedimento($objTipoProcedimentoDTO->getStrNome());
963 963
964 - //Busca e adiciona os assuntos sugeridos para o tipo informado 964 + //Busca e adiciona os assuntos sugeridos para o tipo informado
965 $objRelTipoProcedimentoAssuntoDTO = new RelTipoProcedimentoAssuntoDTO(); 965 $objRelTipoProcedimentoAssuntoDTO = new RelTipoProcedimentoAssuntoDTO();
966 $objRelTipoProcedimentoAssuntoDTO->retNumIdAssunto(); 966 $objRelTipoProcedimentoAssuntoDTO->retNumIdAssunto();
967 $objRelTipoProcedimentoAssuntoDTO->retNumSequencia(); 967 $objRelTipoProcedimentoAssuntoDTO->retNumSequencia();
968 - $objRelTipoProcedimentoAssuntoDTO->setNumIdTipoProcedimento($objProcedimentoDTO->getNumIdTipoProcedimento()); 968 + $objRelTipoProcedimentoAssuntoDTO->setNumIdTipoProcedimento($objProcedimentoDTO->getNumIdTipoProcedimento());
969 969
970 $objRelTipoProcedimentoAssuntoRN = new RelTipoProcedimentoAssuntoRN(); 970 $objRelTipoProcedimentoAssuntoRN = new RelTipoProcedimentoAssuntoRN();
971 $arrObjRelTipoProcedimentoAssuntoDTO = $objRelTipoProcedimentoAssuntoRN->listarRN0192($objRelTipoProcedimentoAssuntoDTO); 971 $arrObjRelTipoProcedimentoAssuntoDTO = $objRelTipoProcedimentoAssuntoRN->listarRN0192($objRelTipoProcedimentoAssuntoDTO);
@@ -982,7 +982,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -982,7 +982,7 @@ class ReceberProcedimentoRN extends InfraRN
982 } 982 }
983 983
984 protected function atribuirDadosUnidade(ProcedimentoDTO $objProcedimentoDTO, $objDestinatario){ 984 protected function atribuirDadosUnidade(ProcedimentoDTO $objProcedimentoDTO, $objDestinatario){
985 - 985 +
986 if(!isset($objDestinatario)){ 986 if(!isset($objDestinatario)){
987 throw new InfraException('Parâmetro $objDestinatario não informado.'); 987 throw new InfraException('Parâmetro $objDestinatario não informado.');
988 } 988 }
@@ -992,8 +992,8 @@ class ReceberProcedimentoRN extends InfraRN @@ -992,8 +992,8 @@ class ReceberProcedimentoRN extends InfraRN
992 if(!isset($objUnidadeDTOEnvio)) 992 if(!isset($objUnidadeDTOEnvio))
993 throw new InfraException('Unidade de destino não pode ser encontrada. Repositório: '.$objDestinatario->identificacaoDoRepositorioDeEstruturas.', Número: ' . $objDestinatario->numeroDeIdentificacaoDaEstrutura); 993 throw new InfraException('Unidade de destino não pode ser encontrada. Repositório: '.$objDestinatario->identificacaoDoRepositorioDeEstruturas.', Número: ' . $objDestinatario->numeroDeIdentificacaoDaEstrutura);
994 994
995 - $arrObjUnidadeDTO = array();  
996 - $arrObjUnidadeDTO[] = $objUnidadeDTOEnvio; 995 + $arrObjUnidadeDTO = array();
  996 + $arrObjUnidadeDTO[] = $objUnidadeDTOEnvio;
997 $objProcedimentoDTO->setArrObjUnidadeDTO($arrObjUnidadeDTO); 997 $objProcedimentoDTO->setArrObjUnidadeDTO($arrObjUnidadeDTO);
998 998
999 return $objUnidadeDTOEnvio; 999 return $objUnidadeDTOEnvio;
@@ -1003,8 +1003,8 @@ class ReceberProcedimentoRN extends InfraRN @@ -1003,8 +1003,8 @@ class ReceberProcedimentoRN extends InfraRN
1003 //TODO: Grande parte da regra de negócio se baseou em SEIRN:199 - incluirDocumento. 1003 //TODO: Grande parte da regra de negócio se baseou em SEIRN:199 - incluirDocumento.
1004 //Avaliar a refatoração para impedir a duplicação de código 1004 //Avaliar a refatoração para impedir a duplicação de código
1005 private function atribuirDocumentos($objProcedimentoDTO, $objProcesso, $objUnidadeDTO, $parObjMetadadosProcedimento) 1005 private function atribuirDocumentos($objProcedimentoDTO, $objProcesso, $objUnidadeDTO, $parObjMetadadosProcedimento)
1006 - {  
1007 - 1006 + {
  1007 +
1008 if(!isset($objProcesso)) { 1008 if(!isset($objProcesso)) {
1009 throw new InfraException('Parâmetro $objProcesso não informado.'); 1009 throw new InfraException('Parâmetro $objProcesso não informado.');
1010 } 1010 }
@@ -1019,14 +1019,14 @@ class ReceberProcedimentoRN extends InfraRN @@ -1019,14 +1019,14 @@ class ReceberProcedimentoRN extends InfraRN
1019 1019
1020 $arrObjDocumentos = $objProcesso->documento; 1020 $arrObjDocumentos = $objProcesso->documento;
1021 if(!is_array($arrObjDocumentos)) { 1021 if(!is_array($arrObjDocumentos)) {
1022 - $arrObjDocumentos = array($arrObjDocumentos); 1022 + $arrObjDocumentos = array($arrObjDocumentos);
1023 } 1023 }
1024 1024
1025 $strNumeroRegistro = $parObjMetadadosProcedimento->metadados->NRE; 1025 $strNumeroRegistro = $parObjMetadadosProcedimento->metadados->NRE;
1026 //$numTramite = $parObjMetadadosProcedimento->metadados->IDT; 1026 //$numTramite = $parObjMetadadosProcedimento->metadados->IDT;
1027 1027
1028 //Ordenação dos documentos conforme informado pelo remetente. Campo documento->ordem 1028 //Ordenação dos documentos conforme informado pelo remetente. Campo documento->ordem
1029 - usort($arrObjDocumentos, array("ReceberProcedimentoRN", "comparacaoOrdemDocumentos")); 1029 + usort($arrObjDocumentos, array("ReceberProcedimentoRN", "comparacaoOrdemDocumentos"));
1030 1030
1031 //Obter dados dos documentos já registrados no sistema 1031 //Obter dados dos documentos já registrados no sistema
1032 $objComponenteDigitalDTO = new ComponenteDigitalDTO(); 1032 $objComponenteDigitalDTO = new ComponenteDigitalDTO();
@@ -1043,32 +1043,32 @@ class ReceberProcedimentoRN extends InfraRN @@ -1043,32 +1043,32 @@ class ReceberProcedimentoRN extends InfraRN
1043 1043
1044 $objProtocoloBD = new ProtocoloBD($this->getObjInfraIBanco()); 1044 $objProtocoloBD = new ProtocoloBD($this->getObjInfraIBanco());
1045 $objSeiRN = new SeiRN(); 1045 $objSeiRN = new SeiRN();
1046 - 1046 +
1047 $arrObjDocumentoDTO = array(); 1047 $arrObjDocumentoDTO = array();
1048 - 1048 +
1049 foreach($arrObjDocumentos as $objDocumento){ 1049 foreach($arrObjDocumentos as $objDocumento){
1050 - 1050 +
1051 // @join_tec US027 (#3498) 1051 // @join_tec US027 (#3498)
1052 if(isset($objDocumento->retirado) && $objDocumento->retirado === true) { 1052 if(isset($objDocumento->retirado) && $objDocumento->retirado === true) {
1053 1053
1054 //$strHashConteudo = ProcessoEletronicoRN::getHashFromMetaDados($objDocumento->componenteDigital->hash); 1054 //$strHashConteudo = ProcessoEletronicoRN::getHashFromMetaDados($objDocumento->componenteDigital->hash);
1055 -  
1056 - 1055 +
  1056 +
1057 // Caso já esteja cadastrado, de um reenvio anterior, então move para bloqueado 1057 // Caso já esteja cadastrado, de um reenvio anterior, então move para bloqueado
1058 if(array_key_exists($objDocumento->ordem, $arrObjComponenteDigitalDTOIndexado)) { 1058 if(array_key_exists($objDocumento->ordem, $arrObjComponenteDigitalDTOIndexado)) {
1059 - 1059 +
1060 //Busca o ID do protocolo 1060 //Busca o ID do protocolo
1061 //$dblIdProtocolo = $arrStrHashConteudo[$strHashConteudo]; 1061 //$dblIdProtocolo = $arrStrHashConteudo[$strHashConteudo];
1062 $objComponenteIndexado = $arrObjComponenteDigitalDTOIndexado[$objDocumento->ordem]; 1062 $objComponenteIndexado = $arrObjComponenteDigitalDTOIndexado[$objDocumento->ordem];
1063 $dblIdProtocolo = $objComponenteIndexado->getDblIdDocumento(); 1063 $dblIdProtocolo = $objComponenteIndexado->getDblIdDocumento();
1064 - 1064 +
1065 //Instancia o DTO do protocolo 1065 //Instancia o DTO do protocolo
1066 $objProtocoloDTO = new ProtocoloDTO(); 1066 $objProtocoloDTO = new ProtocoloDTO();
1067 $objProtocoloDTO->setDblIdProtocolo($dblIdProtocolo); 1067 $objProtocoloDTO->setDblIdProtocolo($dblIdProtocolo);
1068 $objProtocoloDTO->retStrStaEstado(); 1068 $objProtocoloDTO->retStrStaEstado();
1069 - 1069 +
1070 $objProtocoloDTO = $objProtocoloBD->consultar($objProtocoloDTO); 1070 $objProtocoloDTO = $objProtocoloBD->consultar($objProtocoloDTO);
1071 - 1071 +
1072 if($objProtocoloDTO->getStrStaEstado() != ProtocoloRN::$TE_DOCUMENTO_CANCELADO){ 1072 if($objProtocoloDTO->getStrStaEstado() != ProtocoloRN::$TE_DOCUMENTO_CANCELADO){
1073 //Instancia o DTO do protocolo 1073 //Instancia o DTO do protocolo
1074 $objEntradaCancelarDocumentoAPI = new EntradaCancelarDocumentoAPI(); 1074 $objEntradaCancelarDocumentoAPI = new EntradaCancelarDocumentoAPI();
@@ -1076,12 +1076,12 @@ class ReceberProcedimentoRN extends InfraRN @@ -1076,12 +1076,12 @@ class ReceberProcedimentoRN extends InfraRN
1076 $objEntradaCancelarDocumentoAPI->setMotivo('Cancelado pelo remetente'); 1076 $objEntradaCancelarDocumentoAPI->setMotivo('Cancelado pelo remetente');
1077 1077
1078 $objSeiRN->cancelarDocumento($objEntradaCancelarDocumentoAPI); 1078 $objSeiRN->cancelarDocumento($objEntradaCancelarDocumentoAPI);
1079 - 1079 +
1080 } 1080 }
1081 -  
1082 - 1081 +
  1082 +
1083 continue; 1083 continue;
1084 - 1084 +
1085 } 1085 }
1086 //continue; 1086 //continue;
1087 } 1087 }
@@ -1096,8 +1096,8 @@ class ReceberProcedimentoRN extends InfraRN @@ -1096,8 +1096,8 @@ class ReceberProcedimentoRN extends InfraRN
1096 if(!isset($objDocumento->especie)){ 1096 if(!isset($objDocumento->especie)){
1097 throw new InfraException('Espécie do documento ['.$objDocumento->descricao.'] não informada.'); 1097 throw new InfraException('Espécie do documento ['.$objDocumento->descricao.'] não informada.');
1098 } 1098 }
1099 -  
1100 -//--------------------------------------------------------------------------------------------------- 1099 +
  1100 +//---------------------------------------------------------------------------------------------------
1101 1101
1102 $objDocumentoDTO = new DocumentoDTO(); 1102 $objDocumentoDTO = new DocumentoDTO();
1103 $objDocumentoDTO->setDblIdDocumento(null); 1103 $objDocumentoDTO->setDblIdDocumento(null);
@@ -1149,7 +1149,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1149,7 +1149,7 @@ class ReceberProcedimentoRN extends InfraRN
1149 $objDocumentoDTO->setObjProtocoloDTO($objProtocoloDTO); 1149 $objDocumentoDTO->setObjProtocoloDTO($objProtocoloDTO);
1150 $objProtocoloDTO->setDblIdProtocolo(null); 1150 $objProtocoloDTO->setDblIdProtocolo(null);
1151 $objProtocoloDTO->setStrStaProtocolo(ProtocoloRN::$TP_DOCUMENTO_RECEBIDO); 1151 $objProtocoloDTO->setStrStaProtocolo(ProtocoloRN::$TP_DOCUMENTO_RECEBIDO);
1152 - 1152 +
1153 if($objDocumento->descricao != '***'){ 1153 if($objDocumento->descricao != '***'){
1154 $objProtocoloDTO->setStrDescricao(utf8_decode($objDocumento->descricao)); 1154 $objProtocoloDTO->setStrDescricao(utf8_decode($objDocumento->descricao));
1155 $objDocumentoDTO->setStrNumero(utf8_decode($objDocumento->descricao)); 1155 $objDocumentoDTO->setStrNumero(utf8_decode($objDocumento->descricao));
@@ -1158,14 +1158,14 @@ class ReceberProcedimentoRN extends InfraRN @@ -1158,14 +1158,14 @@ class ReceberProcedimentoRN extends InfraRN
1158 $objDocumentoDTO->setStrNumero(""); 1158 $objDocumentoDTO->setStrNumero("");
1159 } 1159 }
1160 //TODO: Avaliar regra de formação do número do documento 1160 //TODO: Avaliar regra de formação do número do documento
1161 - 1161 +
1162 $objProtocoloDTO->setStrStaNivelAcessoLocal($this->obterNivelSigiloSEI($objDocumento->nivelDeSigilo)); 1162 $objProtocoloDTO->setStrStaNivelAcessoLocal($this->obterNivelSigiloSEI($objDocumento->nivelDeSigilo));
1163 $objProtocoloDTO->setDtaGeracao($this->objProcessoEletronicoRN->converterDataSEI($objDocumento->dataHoraDeProducao)); 1163 $objProtocoloDTO->setDtaGeracao($this->objProcessoEletronicoRN->converterDataSEI($objDocumento->dataHoraDeProducao));
1164 $objProtocoloDTO->setArrObjAnexoDTO(array()); 1164 $objProtocoloDTO->setArrObjAnexoDTO(array());
1165 $objProtocoloDTO->setArrObjRelProtocoloAssuntoDTO(array()); 1165 $objProtocoloDTO->setArrObjRelProtocoloAssuntoDTO(array());
1166 $objProtocoloDTO->setArrObjRelProtocoloProtocoloDTO(array()); 1166 $objProtocoloDTO->setArrObjRelProtocoloProtocoloDTO(array());
1167 $objProtocoloDTO->setArrObjParticipanteDTO(array()); 1167 $objProtocoloDTO->setArrObjParticipanteDTO(array());
1168 - 1168 +
1169 //TODO: Analisar se o modelo de dados do PEN possui destinatários específicos para os documentos 1169 //TODO: Analisar se o modelo de dados do PEN possui destinatários específicos para os documentos
1170 //caso não possua, analisar o repasse de tais informações via parãmetros adicionais 1170 //caso não possua, analisar o repasse de tais informações via parãmetros adicionais
1171 1171
@@ -1200,9 +1200,9 @@ class ReceberProcedimentoRN extends InfraRN @@ -1200,9 +1200,9 @@ class ReceberProcedimentoRN extends InfraRN
1200 $objReabrirProcessoDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); 1200 $objReabrirProcessoDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario());
1201 $objProcedimentoRN->reabrirRN0966($objReabrirProcessoDTO); 1201 $objProcedimentoRN->reabrirRN0966($objReabrirProcessoDTO);
1202 $bolReabriuAutomaticamente = true; 1202 $bolReabriuAutomaticamente = true;
1203 - } 1203 + }
1204 } 1204 }
1205 - 1205 +
1206 //$objOperacaoServicoDTO = new OperacaoServicoDTO(); 1206 //$objOperacaoServicoDTO = new OperacaoServicoDTO();
1207 //$this->adicionarCriteriosUnidadeProcessoDocumento ($objOperacaoServicoDTO,$objUnidadeDTO,$objProcedimentoDTO,$objDocumentoDTO); 1207 //$this->adicionarCriteriosUnidadeProcessoDocumento ($objOperacaoServicoDTO,$objUnidadeDTO,$objProcedimentoDTO,$objDocumentoDTO);
1208 //$objOperacaoServicoDTO->setNumStaOperacaoServico(OperacaoServicoRN::$TS_INCLUIR_DOCUMENTO); 1208 //$objOperacaoServicoDTO->setNumStaOperacaoServico(OperacaoServicoRN::$TS_INCLUIR_DOCUMENTO);
@@ -1227,7 +1227,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1227,7 +1227,7 @@ class ReceberProcedimentoRN extends InfraRN
1227 $objDocumentoDTO->getObjProtocoloDTO()->setStrStaGrauSigilo($objTipoProcedimentoDTO->getStrStaGrauSigiloSugestao()); 1227 $objDocumentoDTO->getObjProtocoloDTO()->setStrStaGrauSigilo($objTipoProcedimentoDTO->getStrStaGrauSigiloSugestao());
1228 $objDocumentoDTO->getObjProtocoloDTO()->setNumIdHipoteseLegal($objTipoProcedimentoDTO->getNumIdHipoteseLegalSugestao()); 1228 $objDocumentoDTO->getObjProtocoloDTO()->setNumIdHipoteseLegal($objTipoProcedimentoDTO->getNumIdHipoteseLegalSugestao());
1229 } 1229 }
1230 - 1230 +
1231 if ($this->obterNivelSigiloSEI($objDocumento->nivelDeSigilo) == ProtocoloRN::$NA_RESTRITO) { 1231 if ($this->obterNivelSigiloSEI($objDocumento->nivelDeSigilo) == ProtocoloRN::$NA_RESTRITO) {
1232 $objHipoteseLegalRecebido = new PenRelHipoteseLegalRecebidoRN(); 1232 $objHipoteseLegalRecebido = new PenRelHipoteseLegalRecebidoRN();
1233 $objPenParametroRN = new PenParametroRN(); 1233 $objPenParametroRN = new PenParametroRN();
@@ -1236,7 +1236,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1236,7 +1236,7 @@ class ReceberProcedimentoRN extends InfraRN
1236 if (!isset($objDocumento->hipoteseLegal) || (isset($objDocumento->hipoteseLegal) && empty($objDocumento->hipoteseLegal->identificacao))) { 1236 if (!isset($objDocumento->hipoteseLegal) || (isset($objDocumento->hipoteseLegal) && empty($objDocumento->hipoteseLegal->identificacao))) {
1237 $objDocumentoDTO->getObjProtocoloDTO()->setNumIdHipoteseLegal($numIdHipoteseLegalPadrao); 1237 $objDocumentoDTO->getObjProtocoloDTO()->setNumIdHipoteseLegal($numIdHipoteseLegalPadrao);
1238 } else { 1238 } else {
1239 - 1239 +
1240 $numIdHipoteseLegal = $objHipoteseLegalRecebido->getIdHipoteseLegalSEI($objDocumento->hipoteseLegal->identificacao); 1240 $numIdHipoteseLegal = $objHipoteseLegalRecebido->getIdHipoteseLegalSEI($objDocumento->hipoteseLegal->identificacao);
1241 if (empty($numIdHipoteseLegal)) { 1241 if (empty($numIdHipoteseLegal)) {
1242 $objDocumentoDTO->getObjProtocoloDTO()->setNumIdHipoteseLegal($numIdHipoteseLegalPadrao); 1242 $objDocumentoDTO->getObjProtocoloDTO()->setNumIdHipoteseLegal($numIdHipoteseLegalPadrao);
@@ -1245,7 +1245,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1245,7 +1245,7 @@ class ReceberProcedimentoRN extends InfraRN
1245 } 1245 }
1246 } 1246 }
1247 } 1247 }
1248 - 1248 +
1249 $objDocumentoDTO->getObjProtocoloDTO()->setArrObjParticipanteDTO($this->prepararParticipantes($objDocumentoDTO->getObjProtocoloDTO()->getArrObjParticipanteDTO())); 1249 $objDocumentoDTO->getObjProtocoloDTO()->setArrObjParticipanteDTO($this->prepararParticipantes($objDocumentoDTO->getObjProtocoloDTO()->getArrObjParticipanteDTO()));
1250 1250
1251 $objDocumentoRN = new DocumentoRN(); 1251 $objDocumentoRN = new DocumentoRN();
@@ -1253,13 +1253,13 @@ class ReceberProcedimentoRN extends InfraRN @@ -1253,13 +1253,13 @@ class ReceberProcedimentoRN extends InfraRN
1253 $strConteudoCodificado = $objDocumentoDTO->getStrConteudo(); 1253 $strConteudoCodificado = $objDocumentoDTO->getStrConteudo();
1254 $objDocumentoDTO->setStrConteudo(null); 1254 $objDocumentoDTO->setStrConteudo(null);
1255 //$objDocumentoDTO->setStrSinFormulario('N'); 1255 //$objDocumentoDTO->setStrSinFormulario('N');
1256 - 1256 +
1257 $objDocumentoDTO->getObjProtocoloDTO()->setNumIdUnidadeGeradora(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); 1257 $objDocumentoDTO->getObjProtocoloDTO()->setNumIdUnidadeGeradora(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
1258 $objDocumentoDTO->setStrSinBloqueado('S'); 1258 $objDocumentoDTO->setStrSinBloqueado('S');
1259 - 1259 +
1260 //TODO: Fazer a atribuição dos componentes digitais do processo a partir desse ponto 1260 //TODO: Fazer a atribuição dos componentes digitais do processo a partir desse ponto
1261 - $this->atribuirComponentesDigitais($objDocumentoDTO, $objDocumento->componenteDigital);  
1262 - $objDocumentoDTOGerado = $objDocumentoRN->cadastrarRN0003($objDocumentoDTO); 1261 + $this->atribuirComponentesDigitais($objDocumentoDTO, $objDocumento->componenteDigital);
  1262 + $objDocumentoDTOGerado = $objDocumentoRN->cadastrarRN0003($objDocumentoDTO);
1263 1263
1264 $objAtividadeDTOVisualizacao = new AtividadeDTO(); 1264 $objAtividadeDTOVisualizacao = new AtividadeDTO();
1265 $objAtividadeDTOVisualizacao->setDblIdProtocolo($objDocumentoDTO->getDblIdProcedimento()); 1265 $objAtividadeDTOVisualizacao->setDblIdProtocolo($objDocumentoDTO->getDblIdProcedimento());
@@ -1276,11 +1276,11 @@ class ReceberProcedimentoRN extends InfraRN @@ -1276,11 +1276,11 @@ class ReceberProcedimentoRN extends InfraRN
1276 1276
1277 $objDocumento->idDocumentoSEI = $objDocumentoDTO->getDblIdDocumento(); 1277 $objDocumento->idDocumentoSEI = $objDocumentoDTO->getDblIdDocumento();
1278 $arrObjDocumentoDTO[] = $objDocumentoDTO; 1278 $arrObjDocumentoDTO[] = $objDocumentoDTO;
1279 - 1279 +
1280 if(isset($objDocumento->retirado) && $objDocumento->retirado === true) { 1280 if(isset($objDocumento->retirado) && $objDocumento->retirado === true) {
1281 $this->documentosRetirados[] = $objDocumento->idDocumentoSEI; 1281 $this->documentosRetirados[] = $objDocumento->idDocumentoSEI;
1282 } 1282 }
1283 - 1283 +
1284 } 1284 }
1285 1285
1286 foreach($this->documentosRetirados as $documentoCancelado){ 1286 foreach($this->documentosRetirados as $documentoCancelado){
@@ -1293,23 +1293,23 @@ class ReceberProcedimentoRN extends InfraRN @@ -1293,23 +1293,23 @@ class ReceberProcedimentoRN extends InfraRN
1293 } 1293 }
1294 1294
1295 $objProcedimentoDTO->setArrObjDocumentoDTO($arrObjDocumentoDTO); 1295 $objProcedimentoDTO->setArrObjDocumentoDTO($arrObjDocumentoDTO);
1296 - 1296 +
1297 /* if($numIdUnidadeAtual != $numIdUnidadeGeradora){ 1297 /* if($numIdUnidadeAtual != $numIdUnidadeGeradora){
1298 - SessaoSEI::getInstance(false)->simularLogin('SEI', null, null, $numIdUnidadeAtual); 1298 + SessaoSEI::getInstance(false)->simularLogin('SEI', null, null, $numIdUnidadeAtual);
1299 } */ 1299 } */
1300 } 1300 }
1301 1301
1302 //TODO: Método deverá poderá ser transferido para a classe responsável por fazer o recebimento dos componentes digitais 1302 //TODO: Método deverá poderá ser transferido para a classe responsável por fazer o recebimento dos componentes digitais
1303 - private function atribuirComponentesDigitais(DocumentoDTO $parObjDocumentoDTO, $parArrObjComponentesDigitais) 1303 + private function atribuirComponentesDigitais(DocumentoDTO $parObjDocumentoDTO, $parArrObjComponentesDigitais)
1304 { 1304 {
1305 if(!isset($parArrObjComponentesDigitais)) { 1305 if(!isset($parArrObjComponentesDigitais)) {
1306 - throw new InfraException('Componentes digitais do documento não informado.'); 1306 + throw new InfraException('Componentes digitais do documento não informado.');
1307 } 1307 }
1308 1308
1309 //TODO: Aplicar mesmas validações realizadas no momento do upload de um documento InfraPagina::processarUpload 1309 //TODO: Aplicar mesmas validações realizadas no momento do upload de um documento InfraPagina::processarUpload
1310 //TODO: Avaliar a refatoração do código abaixo para impedir a duplicação de regras de negócios 1310 //TODO: Avaliar a refatoração do código abaixo para impedir a duplicação de regras de negócios
1311 -  
1312 - 1311 +
  1312 +
1313 $arrObjAnexoDTO = array(); 1313 $arrObjAnexoDTO = array();
1314 if($parObjDocumentoDTO->getObjProtocoloDTO()->isSetArrObjAnexoDTO()) { 1314 if($parObjDocumentoDTO->getObjProtocoloDTO()->isSetArrObjAnexoDTO()) {
1315 $arrObjAnexoDTO = $parObjDocumentoDTO->getObjProtocoloDTO()->getArrObjAnexoDTO(); 1315 $arrObjAnexoDTO = $parObjDocumentoDTO->getObjProtocoloDTO()->getArrObjAnexoDTO();
@@ -1353,7 +1353,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1353,7 +1353,7 @@ class ReceberProcedimentoRN extends InfraRN
1353 1353
1354 private function atribuirDataHoraDeRegistro(){ 1354 private function atribuirDataHoraDeRegistro(){
1355 1355
1356 - } 1356 + }
1357 1357
1358 private function cadastrarTramiteDeProcesso($objTramite, $objProcesso){ 1358 private function cadastrarTramiteDeProcesso($objTramite, $objProcesso){
1359 1359
@@ -1366,7 +1366,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1366,7 +1366,7 @@ class ReceberProcedimentoRN extends InfraRN
1366 } 1366 }
1367 1367
1368 $objDestinatario = $objMetadadosProcedimento->metadados->destinatario; 1368 $objDestinatario = $objMetadadosProcedimento->metadados->destinatario;
1369 - 1369 +
1370 $objPenParametroRN = new PenParametroRN(); 1370 $objPenParametroRN = new PenParametroRN();
1371 $numIdRepositorioOrigem = $objPenParametroRN->getParametro('PEN_ID_REPOSITORIO_ORIGEM'); 1371 $numIdRepositorioOrigem = $objPenParametroRN->getParametro('PEN_ID_REPOSITORIO_ORIGEM');
1372 $numIdRepositorioDestinoProcesso = $objDestinatario->identificacaoDoRepositorioDeEstruturas; 1372 $numIdRepositorioDestinoProcesso = $objDestinatario->identificacaoDoRepositorioDeEstruturas;
@@ -1379,7 +1379,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1379,7 +1379,7 @@ class ReceberProcedimentoRN extends InfraRN
1379 1379
1380 //Validação do unidade de destino do processo 1380 //Validação do unidade de destino do processo
1381 $objUnidadeDTO = new PenUnidadeDTO(); 1381 $objUnidadeDTO = new PenUnidadeDTO();
1382 - $objUnidadeDTO->setNumIdUnidadeRH($numeroDeIdentificacaoDaEstrutura); 1382 + $objUnidadeDTO->setNumIdUnidadeRH($numeroDeIdentificacaoDaEstrutura);
1383 $objUnidadeDTO->setStrSinAtivo('S'); 1383 $objUnidadeDTO->setStrSinAtivo('S');
1384 $objUnidadeDTO->retNumIdUnidade(); 1384 $objUnidadeDTO->retNumIdUnidade();
1385 1385
@@ -1387,8 +1387,8 @@ class ReceberProcedimentoRN extends InfraRN @@ -1387,8 +1387,8 @@ class ReceberProcedimentoRN extends InfraRN
1387 $objUnidadeDTO = $objUnidadeRN->consultarRN0125($objUnidadeDTO); 1387 $objUnidadeDTO = $objUnidadeRN->consultarRN0125($objUnidadeDTO);
1388 1388
1389 if(!isset($objUnidadeDTO)){ 1389 if(!isset($objUnidadeDTO)){
1390 - $objInfraException->adicionarValidacao("Unidade de destino [Estrutura: {$numeroDeIdentificacaoDaEstrutura}] não localizada.");  
1391 - } 1390 + $objInfraException->adicionarValidacao("Unidade de destino [Estrutura: {$numeroDeIdentificacaoDaEstrutura}] não configurada para receber trâmites externos.");
  1391 + }
1392 } 1392 }
1393 1393
1394 private function validarDadosRemetente(InfraException $objInfraException, $objMetadadosProcedimento){ 1394 private function validarDadosRemetente(InfraException $objInfraException, $objMetadadosProcedimento){
@@ -1397,7 +1397,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1397,7 +1397,7 @@ class ReceberProcedimentoRN extends InfraRN
1397 1397
1398 private function validarDadosProcesso(InfraException $objInfraException, $objMetadadosProcedimento){ 1398 private function validarDadosProcesso(InfraException $objInfraException, $objMetadadosProcedimento){
1399 1399
1400 - } 1400 + }
1401 1401
1402 private function validarDadosDocumentos(InfraException $objInfraException, $objMetadadosProcedimento){ 1402 private function validarDadosDocumentos(InfraException $objInfraException, $objMetadadosProcedimento){
1403 1403
@@ -1416,7 +1416,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1416,7 +1416,7 @@ class ReceberProcedimentoRN extends InfraRN
1416 break; 1416 break;
1417 } 1417 }
1418 } 1418 }
1419 - 1419 +
1420 private function obterHipoteseLegalSEI($parNumIdHipoteseLegalPEN) { 1420 private function obterHipoteseLegalSEI($parNumIdHipoteseLegalPEN) {
1421 //Atribuí a hipótese legal 1421 //Atribuí a hipótese legal
1422 $objHipoteseLegalRecebido = new PenRelHipoteseLegalRecebidoRN(); 1422 $objHipoteseLegalRecebido = new PenRelHipoteseLegalRecebidoRN();
@@ -1424,7 +1424,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1424,7 +1424,7 @@ class ReceberProcedimentoRN extends InfraRN
1424 $numIdHipoteseLegalPadrao = $objPenParametroRN->getParametro('HIPOTESE_LEGAL_PADRAO'); 1424 $numIdHipoteseLegalPadrao = $objPenParametroRN->getParametro('HIPOTESE_LEGAL_PADRAO');
1425 1425
1426 $numIdHipoteseLegal = $objHipoteseLegalRecebido->getIdHipoteseLegalSEI($parNumIdHipoteseLegalPEN); 1426 $numIdHipoteseLegal = $objHipoteseLegalRecebido->getIdHipoteseLegalSEI($parNumIdHipoteseLegalPEN);
1427 - 1427 +
1428 if (empty($numIdHipoteseLegal)) { 1428 if (empty($numIdHipoteseLegal)) {
1429 return $numIdHipoteseLegalPadrao; 1429 return $numIdHipoteseLegalPadrao;
1430 } else { 1430 } else {
@@ -1436,7 +1436,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1436,7 +1436,7 @@ class ReceberProcedimentoRN extends InfraRN
1436 private function obterUnidadeMapeada($numIdentificacaoDaEstrutura) 1436 private function obterUnidadeMapeada($numIdentificacaoDaEstrutura)
1437 { 1437 {
1438 $objUnidadeDTO = new PenUnidadeDTO(); 1438 $objUnidadeDTO = new PenUnidadeDTO();
1439 - $objUnidadeDTO->setNumIdUnidadeRH($numIdentificacaoDaEstrutura); 1439 + $objUnidadeDTO->setNumIdUnidadeRH($numIdentificacaoDaEstrutura);
1440 $objUnidadeDTO->setStrSinAtivo('S'); 1440 $objUnidadeDTO->setStrSinAtivo('S');
1441 $objUnidadeDTO->retNumIdUnidade(); 1441 $objUnidadeDTO->retNumIdUnidade();
1442 $objUnidadeDTO->retNumIdOrgao(); 1442 $objUnidadeDTO->retNumIdOrgao();
@@ -1447,9 +1447,9 @@ class ReceberProcedimentoRN extends InfraRN @@ -1447,9 +1447,9 @@ class ReceberProcedimentoRN extends InfraRN
1447 return $objUnidadeRN->consultarRN0125($objUnidadeDTO); 1447 return $objUnidadeRN->consultarRN0125($objUnidadeDTO);
1448 } 1448 }
1449 1449
1450 - 1450 +
1451 /** 1451 /**
1452 - * 1452 + *
1453 * @return SerieDTO 1453 * @return SerieDTO
1454 */ 1454 */
1455 private function obterSerieMapeada($numCodigoEspecie) 1455 private function obterSerieMapeada($numCodigoEspecie)
@@ -1462,7 +1462,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1462,7 +1462,7 @@ class ReceberProcedimentoRN extends InfraRN
1462 1462
1463 $objGenericoBD = new GenericoBD($this->getObjInfraIBanco()); 1463 $objGenericoBD = new GenericoBD($this->getObjInfraIBanco());
1464 $objMapDTO = $objGenericoBD->consultar($objMapDTO); 1464 $objMapDTO = $objGenericoBD->consultar($objMapDTO);
1465 - 1465 +
1466 if(empty($objMapDTO)) { 1466 if(empty($objMapDTO)) {
1467 $objMapDTO = new PenRelTipoDocMapRecebidoDTO(); 1467 $objMapDTO = new PenRelTipoDocMapRecebidoDTO();
1468 $objMapDTO->retNumIdSerie(); 1468 $objMapDTO->retNumIdSerie();
@@ -1484,7 +1484,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1484,7 +1484,7 @@ class ReceberProcedimentoRN extends InfraRN
1484 return $objSerieDTO; 1484 return $objSerieDTO;
1485 } 1485 }
1486 1486
1487 - private function relacionarProcedimentos($objProcedimentoDTO1, $objProcedimentoDTO2) 1487 + private function relacionarProcedimentos($objProcedimentoDTO1, $objProcedimentoDTO2)
1488 { 1488 {
1489 if(!isset($objProcedimentoDTO1) || !isset($objProcedimentoDTO1)) { 1489 if(!isset($objProcedimentoDTO1) || !isset($objProcedimentoDTO1)) {
1490 throw new InfraException('Parâmetro $objProcedimentoDTO não informado.'); 1490 throw new InfraException('Parâmetro $objProcedimentoDTO não informado.');
@@ -1524,10 +1524,10 @@ class ReceberProcedimentoRN extends InfraRN @@ -1524,10 +1524,10 @@ class ReceberProcedimentoRN extends InfraRN
1524 } else { 1524 } else {
1525 if ($objParticipanteDTO->getStrStaParticipacao()==ParticipanteRN::$TP_INTERESSADO) { 1525 if ($objParticipanteDTO->getStrStaParticipacao()==ParticipanteRN::$TP_INTERESSADO) {
1526 throw new InfraException('Interessado vazio ou nulo.'); 1526 throw new InfraException('Interessado vazio ou nulo.');
1527 - } 1527 + }
1528 else if ($objParticipanteDTO->getStrStaParticipacao()==ParticipanteRN::$TP_REMETENTE) { 1528 else if ($objParticipanteDTO->getStrStaParticipacao()==ParticipanteRN::$TP_REMETENTE) {
1529 throw new InfraException('Remetente vazio ou nulo.'); 1529 throw new InfraException('Remetente vazio ou nulo.');
1530 - } 1530 + }
1531 else if ($objParticipanteDTO->getStrStaParticipacao()==ParticipanteRN::$TP_DESTINATARIO) { 1531 else if ($objParticipanteDTO->getStrStaParticipacao()==ParticipanteRN::$TP_DESTINATARIO) {
1532 throw new InfraException('Destinatário vazio ou nulo.'); 1532 throw new InfraException('Destinatário vazio ou nulo.');
1533 } 1533 }
@@ -1566,7 +1566,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1566,7 +1566,7 @@ class ReceberProcedimentoRN extends InfraRN
1566 return $arrObjParticipanteDTO; 1566 return $arrObjParticipanteDTO;
1567 } 1567 }
1568 1568
1569 - private function registrarProcedimentoNaoVisualizado(ProcedimentoDTO $parObjProcedimentoDTO) 1569 + private function registrarProcedimentoNaoVisualizado(ProcedimentoDTO $parObjProcedimentoDTO)
1570 { 1570 {
1571 $objAtividadeDTOVisualizacao = new AtividadeDTO(); 1571 $objAtividadeDTOVisualizacao = new AtividadeDTO();
1572 $objAtividadeDTOVisualizacao->setDblIdProtocolo($parObjProcedimentoDTO->getDblIdProcedimento()); 1572 $objAtividadeDTOVisualizacao->setDblIdProtocolo($parObjProcedimentoDTO->getDblIdProcedimento());
@@ -1576,13 +1576,13 @@ class ReceberProcedimentoRN extends InfraRN @@ -1576,13 +1576,13 @@ class ReceberProcedimentoRN extends InfraRN
1576 $objAtividadeRN->atualizarVisualizacao($objAtividadeDTOVisualizacao); 1576 $objAtividadeRN->atualizarVisualizacao($objAtividadeDTOVisualizacao);
1577 } 1577 }
1578 1578
1579 - private function enviarProcedimentoUnidade(ProcedimentoDTO $parObjProcedimentoDTO, $retransmissao = false) 1579 + private function enviarProcedimentoUnidade(ProcedimentoDTO $parObjProcedimentoDTO, $retransmissao = false)
1580 { 1580 {
1581 $objAtividadeRN = new PenAtividadeRN(); 1581 $objAtividadeRN = new PenAtividadeRN();
1582 $objInfraException = new InfraException(); 1582 $objInfraException = new InfraException();
1583 1583
1584 if(!$parObjProcedimentoDTO->isSetArrObjUnidadeDTO() || count($parObjProcedimentoDTO->getArrObjUnidadeDTO()) == 0) { 1584 if(!$parObjProcedimentoDTO->isSetArrObjUnidadeDTO() || count($parObjProcedimentoDTO->getArrObjUnidadeDTO()) == 0) {
1585 - $objInfraException->lancarValidacao('Unidade de destino do processo não informada.'); 1585 + $objInfraException->lancarValidacao('Unidade de destino do processo não informada.');
1586 } 1586 }
1587 1587
1588 $arrObjUnidadeDTO = $parObjProcedimentoDTO->getArrObjUnidadeDTO(); 1588 $arrObjUnidadeDTO = $parObjProcedimentoDTO->getArrObjUnidadeDTO();
@@ -1626,18 +1626,18 @@ class ReceberProcedimentoRN extends InfraRN @@ -1626,18 +1626,18 @@ class ReceberProcedimentoRN extends InfraRN
1626 $objPesquisaPendenciaDTO->setDblIdProtocolo(array($objProcedimentoDTO->getDblIdProcedimento())); 1626 $objPesquisaPendenciaDTO->setDblIdProtocolo(array($objProcedimentoDTO->getDblIdProcedimento()));
1627 $objPesquisaPendenciaDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); 1627 $objPesquisaPendenciaDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario());
1628 $objPesquisaPendenciaDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); 1628 $objPesquisaPendenciaDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
1629 - 1629 +
1630 if($retransmissao){ 1630 if($retransmissao){
1631 $objAtividadeRN->setStatusPesquisa(false); 1631 $objAtividadeRN->setStatusPesquisa(false);
1632 - 1632 +
1633 } 1633 }
1634 - 1634 +
1635 $objAtividadeDTO2 = new AtividadeDTO(); 1635 $objAtividadeDTO2 = new AtividadeDTO();
1636 $objAtividadeDTO2->setDblIdProtocolo($objProcedimentoDTO->getDblIdProcedimento()); 1636 $objAtividadeDTO2->setDblIdProtocolo($objProcedimentoDTO->getDblIdProcedimento());
1637 $objAtividadeDTO2->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); 1637 $objAtividadeDTO2->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
1638 $objAtividadeDTO2->setDthConclusao(null); 1638 $objAtividadeDTO2->setDthConclusao(null);
1639 -  
1640 - 1639 +
  1640 +
1641 if ($objAtividadeRN->contarRN0035($objAtividadeDTO2) == 0) { 1641 if ($objAtividadeRN->contarRN0035($objAtividadeDTO2) == 0) {
1642 1642
1643 //reabertura automática 1643 //reabertura automática
@@ -1646,15 +1646,15 @@ class ReceberProcedimentoRN extends InfraRN @@ -1646,15 +1646,15 @@ class ReceberProcedimentoRN extends InfraRN
1646 $objReabrirProcessoDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); 1646 $objReabrirProcessoDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
1647 $objReabrirProcessoDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario()); 1647 $objReabrirProcessoDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario());
1648 $objProcedimentoRN->reabrirRN0966($objReabrirProcessoDTO); 1648 $objProcedimentoRN->reabrirRN0966($objReabrirProcessoDTO);
1649 -  
1650 - }  
1651 - 1649 +
  1650 + }
  1651 +
1652 //$objPenAtividadeRN = new PenAtividadeRN(); 1652 //$objPenAtividadeRN = new PenAtividadeRN();
1653 $arrObjProcedimentoDTO = $objAtividadeRN->listarPendenciasRN0754($objPesquisaPendenciaDTO); 1653 $arrObjProcedimentoDTO = $objAtividadeRN->listarPendenciasRN0754($objPesquisaPendenciaDTO);
1654 - 1654 +
1655 $objInfraException->lancarValidacoes(); 1655 $objInfraException->lancarValidacoes();
1656 -  
1657 - 1656 +
  1657 +
1658 $objEnviarProcessoDTO = new EnviarProcessoDTO(); 1658 $objEnviarProcessoDTO = new EnviarProcessoDTO();
1659 $objEnviarProcessoDTO->setArrAtividadesOrigem($arrObjProcedimentoDTO[0]->getArrObjAtividadeDTO()); 1659 $objEnviarProcessoDTO->setArrAtividadesOrigem($arrObjProcedimentoDTO[0]->getArrObjAtividadeDTO());
1660 1660
@@ -1664,10 +1664,10 @@ class ReceberProcedimentoRN extends InfraRN @@ -1664,10 +1664,10 @@ class ReceberProcedimentoRN extends InfraRN
1664 $objAtividadeDTO->setNumIdUsuarioOrigem(SessaoSEI::getInstance()->getNumIdUsuario()); 1664 $objAtividadeDTO->setNumIdUsuarioOrigem(SessaoSEI::getInstance()->getNumIdUsuario());
1665 $objAtividadeDTO->setNumIdUnidade($objUnidadeDTO->getNumIdUnidade()); 1665 $objAtividadeDTO->setNumIdUnidade($objUnidadeDTO->getNumIdUnidade());
1666 $objAtividadeDTO->setNumIdUnidadeOrigem(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); 1666 $objAtividadeDTO->setNumIdUnidadeOrigem(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
1667 - $objEnviarProcessoDTO->setArrAtividades(array($objAtividadeDTO));  
1668 - 1667 + $objEnviarProcessoDTO->setArrAtividades(array($objAtividadeDTO));
  1668 +
1669 $objPenParametroRN = new PenParametroRN(); 1669 $objPenParametroRN = new PenParametroRN();
1670 - 1670 +
1671 $objEnviarProcessoDTO->setStrSinManterAberto('N'); 1671 $objEnviarProcessoDTO->setStrSinManterAberto('N');
1672 $strEnviaEmailNotificacao = $objPenParametroRN->getParametro('PEN_ENVIA_EMAIL_NOTIFICACAO_RECEBIMENTO'); 1672 $strEnviaEmailNotificacao = $objPenParametroRN->getParametro('PEN_ENVIA_EMAIL_NOTIFICACAO_RECEBIMENTO');
1673 $objEnviarProcessoDTO->setStrSinEnviarEmailNotificacao($strEnviaEmailNotificacao); 1673 $objEnviarProcessoDTO->setStrSinEnviarEmailNotificacao($strEnviaEmailNotificacao);
@@ -1675,44 +1675,44 @@ class ReceberProcedimentoRN extends InfraRN @@ -1675,44 +1675,44 @@ class ReceberProcedimentoRN extends InfraRN
1675 $objEnviarProcessoDTO->setDtaPrazo(null); 1675 $objEnviarProcessoDTO->setDtaPrazo(null);
1676 $objEnviarProcessoDTO->setNumDias(null); 1676 $objEnviarProcessoDTO->setNumDias(null);
1677 $objEnviarProcessoDTO->setStrSinDiasUteis('N'); 1677 $objEnviarProcessoDTO->setStrSinDiasUteis('N');
1678 - 1678 +
1679 $objAtividadeRN->enviarRN0023($objEnviarProcessoDTO); 1679 $objAtividadeRN->enviarRN0023($objEnviarProcessoDTO);
1680 - 1680 +
1681 } 1681 }
1682 1682
1683 /* Essa é a função estática de comparação */ 1683 /* Essa é a função estática de comparação */
1684 static function comparacaoOrdemDocumentos($parDocumento1, $parDocumento2) 1684 static function comparacaoOrdemDocumentos($parDocumento1, $parDocumento2)
1685 { 1685 {
1686 $numOrdemDocumento1 = strtolower($parDocumento1->ordem); 1686 $numOrdemDocumento1 = strtolower($parDocumento1->ordem);
1687 - $numOrdemDocumento2 = strtolower($parDocumento2->ordem);  
1688 - return $numOrdemDocumento1 - $numOrdemDocumento2;  
1689 - }  
1690 -  
1691 - 1687 + $numOrdemDocumento2 = strtolower($parDocumento2->ordem);
  1688 + return $numOrdemDocumento1 - $numOrdemDocumento2;
  1689 + }
  1690 +
  1691 +
1692 public function receberTramitesRecusados($parNumIdentificacaoTramite) { 1692 public function receberTramitesRecusados($parNumIdentificacaoTramite) {
1693 1693
1694 if (empty($parNumIdentificacaoTramite)) { 1694 if (empty($parNumIdentificacaoTramite)) {
1695 throw new InfraException('Parâmetro $parNumIdentificacaoTramite não informado.'); 1695 throw new InfraException('Parâmetro $parNumIdentificacaoTramite não informado.');
1696 } 1696 }
1697 - 1697 +
1698 //Busca os dados do trâmite no barramento 1698 //Busca os dados do trâmite no barramento
1699 $tramite = $this->objProcessoEletronicoRN->consultarTramites($parNumIdentificacaoTramite); 1699 $tramite = $this->objProcessoEletronicoRN->consultarTramites($parNumIdentificacaoTramite);
1700 - 1700 +
1701 if(!isset($tramite[0])){ 1701 if(!isset($tramite[0])){
1702 throw new InfraException("Não foi encontrado o trâmite de número {$parNumIdentificacaoTramite} para realizar a ciência da recusa"); 1702 throw new InfraException("Não foi encontrado o trâmite de número {$parNumIdentificacaoTramite} para realizar a ciência da recusa");
1703 } 1703 }
1704 - 1704 +
1705 $tramite = $tramite[0]; 1705 $tramite = $tramite[0];
1706 - 1706 +
1707 $objTramiteDTO = new TramiteDTO(); 1707 $objTramiteDTO = new TramiteDTO();
1708 $objTramiteDTO->setNumIdTramite($parNumIdentificacaoTramite); 1708 $objTramiteDTO->setNumIdTramite($parNumIdentificacaoTramite);
1709 $objTramiteDTO->retNumIdUnidade(); 1709 $objTramiteDTO->retNumIdUnidade();
1710 - 1710 +
1711 $objTramiteBD = new TramiteBD(BancoSEI::getInstance()); 1711 $objTramiteBD = new TramiteBD(BancoSEI::getInstance());
1712 $objTramiteDTO = $objTramiteBD->consultar($objTramiteDTO); 1712 $objTramiteDTO = $objTramiteBD->consultar($objTramiteDTO);
1713 - 1713 +
1714 SessaoSEI::getInstance(false)->simularLogin('SEI', null, null, $objTramiteDTO->getNumIdUnidade()); 1714 SessaoSEI::getInstance(false)->simularLogin('SEI', null, null, $objTramiteDTO->getNumIdUnidade());
1715 - 1715 +
1716 //Busca os dados do procedimento 1716 //Busca os dados do procedimento
1717 $objProcessoEletronicoDTO = new ProcessoEletronicoDTO(); 1717 $objProcessoEletronicoDTO = new ProcessoEletronicoDTO();
1718 $objProcessoEletronicoDTO->setStrNumeroRegistro($tramite->NRE); 1718 $objProcessoEletronicoDTO->setStrNumeroRegistro($tramite->NRE);
@@ -1720,7 +1720,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1720,7 +1720,7 @@ class ReceberProcedimentoRN extends InfraRN
1720 1720
1721 $objProcessoEletronicoBD = new ProcessoEletronicoBD($this->getObjInfraIBanco()); 1721 $objProcessoEletronicoBD = new ProcessoEletronicoBD($this->getObjInfraIBanco());
1722 $objProcessoEletronicoDTO = $objProcessoEletronicoBD->consultar($objProcessoEletronicoDTO); 1722 $objProcessoEletronicoDTO = $objProcessoEletronicoBD->consultar($objProcessoEletronicoDTO);
1723 - 1723 +
1724 //Busca a última atividade de trâmite externo 1724 //Busca a última atividade de trâmite externo
1725 $objAtividadeDTO = new AtividadeDTO(); 1725 $objAtividadeDTO = new AtividadeDTO();
1726 $objAtividadeDTO->setDblIdProtocolo($objProcessoEletronicoDTO->getDblIdProcedimento()); 1726 $objAtividadeDTO->setDblIdProtocolo($objProcessoEletronicoDTO->getDblIdProcedimento());
@@ -1731,7 +1731,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1731,7 +1731,7 @@ class ReceberProcedimentoRN extends InfraRN
1731 1731
1732 $objAtividadeBD = new AtividadeBD($this->getObjInfraIBanco()); 1732 $objAtividadeBD = new AtividadeBD($this->getObjInfraIBanco());
1733 $objAtividadeDTO = $objAtividadeBD->consultar($objAtividadeDTO); 1733 $objAtividadeDTO = $objAtividadeBD->consultar($objAtividadeDTO);
1734 - 1734 +
1735 //Busca a unidade de destino 1735 //Busca a unidade de destino
1736 $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); 1736 $objAtributoAndamentoDTO = new AtributoAndamentoDTO();
1737 $objAtributoAndamentoDTO->setNumIdAtividade($objAtividadeDTO->getNumIdAtividade()); 1737 $objAtributoAndamentoDTO->setNumIdAtividade($objAtividadeDTO->getNumIdAtividade());
@@ -1740,7 +1740,7 @@ class ReceberProcedimentoRN extends InfraRN @@ -1740,7 +1740,7 @@ class ReceberProcedimentoRN extends InfraRN
1740 1740
1741 $objAtributoAndamentoBD = new AtributoAndamentoBD($this->getObjInfraIBanco()); 1741 $objAtributoAndamentoBD = new AtributoAndamentoBD($this->getObjInfraIBanco());
1742 $objAtributoAndamentoDTO = $objAtributoAndamentoBD->consultar($objAtributoAndamentoDTO); 1742 $objAtributoAndamentoDTO = $objAtributoAndamentoBD->consultar($objAtributoAndamentoDTO);
1743 - 1743 +
1744 //Monta o DTO de receber tramite recusado 1744 //Monta o DTO de receber tramite recusado
1745 $objReceberTramiteRecusadoDTO = new ReceberTramiteRecusadoDTO(); 1745 $objReceberTramiteRecusadoDTO = new ReceberTramiteRecusadoDTO();
1746 $objReceberTramiteRecusadoDTO->setNumIdTramite($parNumIdentificacaoTramite); 1746 $objReceberTramiteRecusadoDTO->setNumIdTramite($parNumIdentificacaoTramite);
@@ -1749,23 +1749,23 @@ class ReceberProcedimentoRN extends InfraRN @@ -1749,23 +1749,23 @@ class ReceberProcedimentoRN extends InfraRN
1749 $objReceberTramiteRecusadoDTO->setNumIdTarefa(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_RECUSADO)); 1749 $objReceberTramiteRecusadoDTO->setNumIdTarefa(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_RECUSADO));
1750 $objReceberTramiteRecusadoDTO->setStrMotivoRecusa(utf8_decode($tramite->justificativaDaRecusa)); 1750 $objReceberTramiteRecusadoDTO->setStrMotivoRecusa(utf8_decode($tramite->justificativaDaRecusa));
1751 $objReceberTramiteRecusadoDTO->setStrNomeUnidadeDestino($objAtributoAndamentoDTO->getStrValor()); 1751 $objReceberTramiteRecusadoDTO->setStrNomeUnidadeDestino($objAtributoAndamentoDTO->getStrValor());
1752 - 1752 +
1753 //Faz o tratamento do processo e do trâmite recusado 1753 //Faz o tratamento do processo e do trâmite recusado
1754 $this->receberTramiteRecusadoInterno($objReceberTramiteRecusadoDTO); 1754 $this->receberTramiteRecusadoInterno($objReceberTramiteRecusadoDTO);
1755 -  
1756 - 1755 +
  1756 +
1757 } 1757 }
1758 1758
1759 protected function receberTramiteRecusadoInternoControlado(ReceberTramiteRecusadoDTO $objReceberTramiteRecusadoDTO){ 1759 protected function receberTramiteRecusadoInternoControlado(ReceberTramiteRecusadoDTO $objReceberTramiteRecusadoDTO){
1760 -  
1761 - 1760 +
  1761 +
1762 //Realiza o desbloqueio do processo 1762 //Realiza o desbloqueio do processo
1763 $objEntradaDesbloquearProcessoAPI = new EntradaDesbloquearProcessoAPI(); 1763 $objEntradaDesbloquearProcessoAPI = new EntradaDesbloquearProcessoAPI();
1764 $objEntradaDesbloquearProcessoAPI->setIdProcedimento($objReceberTramiteRecusadoDTO->getNumIdProtocolo()); 1764 $objEntradaDesbloquearProcessoAPI->setIdProcedimento($objReceberTramiteRecusadoDTO->getNumIdProtocolo());
1765 - 1765 +
1766 $objSeiRN = new SeiRN(); 1766 $objSeiRN = new SeiRN();
1767 $objSeiRN->desbloquearProcesso($objEntradaDesbloquearProcessoAPI); 1767 $objSeiRN->desbloquearProcesso($objEntradaDesbloquearProcessoAPI);
1768 - 1768 +
1769 //Adiciona um andamento para o trâmite recusado 1769 //Adiciona um andamento para o trâmite recusado
1770 $arrObjAtributoAndamentoDTO = array(); 1770 $arrObjAtributoAndamentoDTO = array();
1771 1771
@@ -1774,104 +1774,104 @@ class ReceberProcedimentoRN extends InfraRN @@ -1774,104 +1774,104 @@ class ReceberProcedimentoRN extends InfraRN
1774 $objAtributoAndamentoDTO->setStrValor($objReceberTramiteRecusadoDTO->getStrMotivoRecusa()); 1774 $objAtributoAndamentoDTO->setStrValor($objReceberTramiteRecusadoDTO->getStrMotivoRecusa());
1775 $objAtributoAndamentoDTO->setStrIdOrigem($objReceberTramiteRecusadoDTO->getNumIdUnidadeOrigem()); 1775 $objAtributoAndamentoDTO->setStrIdOrigem($objReceberTramiteRecusadoDTO->getNumIdUnidadeOrigem());
1776 $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; 1776 $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO;
1777 -  
1778 - 1777 +
  1778 +
1779 $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); 1779 $objAtributoAndamentoDTO = new AtributoAndamentoDTO();
1780 $objAtributoAndamentoDTO->setStrNome('UNIDADE_DESTINO'); 1780 $objAtributoAndamentoDTO->setStrNome('UNIDADE_DESTINO');
1781 $objAtributoAndamentoDTO->setStrValor($objReceberTramiteRecusadoDTO->getStrNomeUnidadeDestino()); 1781 $objAtributoAndamentoDTO->setStrValor($objReceberTramiteRecusadoDTO->getStrNomeUnidadeDestino());
1782 $objAtributoAndamentoDTO->setStrIdOrigem($objReceberTramiteRecusadoDTO->getNumIdUnidadeOrigem()); 1782 $objAtributoAndamentoDTO->setStrIdOrigem($objReceberTramiteRecusadoDTO->getNumIdUnidadeOrigem());
1783 $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; 1783 $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO;
1784 1784
1785 - 1785 +
1786 $objAtividadeDTO = new AtividadeDTO(); 1786 $objAtividadeDTO = new AtividadeDTO();
1787 $objAtividadeDTO->setDblIdProtocolo($objReceberTramiteRecusadoDTO->getNumIdProtocolo()); 1787 $objAtividadeDTO->setDblIdProtocolo($objReceberTramiteRecusadoDTO->getNumIdProtocolo());
1788 $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); 1788 $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
1789 $objAtividadeDTO->setNumIdTarefa($objReceberTramiteRecusadoDTO->getNumIdTarefa()); 1789 $objAtividadeDTO->setNumIdTarefa($objReceberTramiteRecusadoDTO->getNumIdTarefa());
1790 $objAtividadeDTO->setArrObjAtributoAndamentoDTO($arrObjAtributoAndamentoDTO); 1790 $objAtividadeDTO->setArrObjAtributoAndamentoDTO($arrObjAtributoAndamentoDTO);
1791 - 1791 +
1792 $objAtividadeRN = new AtividadeRN(); 1792 $objAtividadeRN = new AtividadeRN();
1793 $objAtividadeRN->gerarInternaRN0727($objAtividadeDTO); 1793 $objAtividadeRN->gerarInternaRN0727($objAtividadeDTO);
1794 - 1794 +
1795 //Sinaliza na PenProtocolo que o processo obteve recusa 1795 //Sinaliza na PenProtocolo que o processo obteve recusa
1796 $objProtocolo = new PenProtocoloDTO(); 1796 $objProtocolo = new PenProtocoloDTO();
1797 $objProtocolo->setDblIdProtocolo($objReceberTramiteRecusadoDTO->getNumIdProtocolo()); 1797 $objProtocolo->setDblIdProtocolo($objReceberTramiteRecusadoDTO->getNumIdProtocolo());
1798 $objProtocolo->setStrSinObteveRecusa('S'); 1798 $objProtocolo->setStrSinObteveRecusa('S');
1799 - 1799 +
1800 $objProtocoloBD = new ProtocoloBD($this->getObjInfraIBanco()); 1800 $objProtocoloBD = new ProtocoloBD($this->getObjInfraIBanco());
1801 $objProtocoloBD->alterar($objProtocolo); 1801 $objProtocoloBD->alterar($objProtocolo);
1802 -  
1803 - 1802 +
  1803 +
1804 $this->objProcessoEletronicoRN->cienciaRecusa($objReceberTramiteRecusadoDTO->getNumIdTramite()); 1804 $this->objProcessoEletronicoRN->cienciaRecusa($objReceberTramiteRecusadoDTO->getNumIdTramite());
1805 - 1805 +
1806 1806
1807 } 1807 }
1808 -  
1809 -  
1810 - 1808 +
  1809 +
  1810 +
1811 /** 1811 /**
1812 - * Método que realiza a validação da extensão dos componentes digitais a serem recebidos  
1813 - * 1812 + * Método que realiza a validação da extensão dos componentes digitais a serem recebidos
  1813 + *
1814 * @param integer $parIdTramite 1814 * @param integer $parIdTramite
1815 * @param object $parObjProcesso 1815 * @param object $parObjProcesso
1816 * @throws InfraException 1816 * @throws InfraException
1817 */ 1817 */
1818 public function validarExtensaoComponentesDigitais($parIdTramite, $parObjProcesso){ 1818 public function validarExtensaoComponentesDigitais($parIdTramite, $parObjProcesso){
1819 - 1819 +
1820 //Armazena o array de documentos 1820 //Armazena o array de documentos
1821 $arrDocumentos = is_array($parObjProcesso->documento) ? $parObjProcesso->documento : array($parObjProcesso->documento) ; 1821 $arrDocumentos = is_array($parObjProcesso->documento) ? $parObjProcesso->documento : array($parObjProcesso->documento) ;
1822 -  
1823 - //Instancia o bd do arquivoExtensão 1822 +
  1823 + //Instancia o bd do arquivoExtensão
1824 $arquivoExtensaoBD = new ArquivoExtensaoBD($this->getObjInfraIBanco()); 1824 $arquivoExtensaoBD = new ArquivoExtensaoBD($this->getObjInfraIBanco());
1825 - 1825 +
1826 //Percorre os documentos 1826 //Percorre os documentos
1827 foreach($arrDocumentos as $documento){ 1827 foreach($arrDocumentos as $documento){
1828 -  
1829 - //Busca o nome do documento 1828 +
  1829 + //Busca o nome do documento
1830 $nomeDocumento = $documento->componenteDigital->nome; 1830 $nomeDocumento = $documento->componenteDigital->nome;
1831 - 1831 +
1832 //Busca pela extensão do documento 1832 //Busca pela extensão do documento
1833 $arrNomeDocumento = explode('.', $nomeDocumento); 1833 $arrNomeDocumento = explode('.', $nomeDocumento);
1834 $extDocumento = $arrNomeDocumento[count($arrNomeDocumento) - 1]; 1834 $extDocumento = $arrNomeDocumento[count($arrNomeDocumento) - 1];
1835 -  
1836 - //Verifica se a extensão do arquivo está cadastrada e ativa 1835 +
  1836 + //Verifica se a extensão do arquivo está cadastrada e ativa
1837 $arquivoExtensaoDTO = new ArquivoExtensaoDTO(); 1837 $arquivoExtensaoDTO = new ArquivoExtensaoDTO();
1838 $arquivoExtensaoDTO->setStrSinAtivo('S'); 1838 $arquivoExtensaoDTO->setStrSinAtivo('S');
1839 $arquivoExtensaoDTO->setStrExtensao($extDocumento); 1839 $arquivoExtensaoDTO->setStrExtensao($extDocumento);
1840 $arquivoExtensaoDTO->retStrExtensao(); 1840 $arquivoExtensaoDTO->retStrExtensao();
1841 - 1841 +
1842 if($arquivoExtensaoBD->contar($arquivoExtensaoDTO) == 0){ 1842 if($arquivoExtensaoBD->contar($arquivoExtensaoDTO) == 0){
1843 $this->objProcessoEletronicoRN->recusarTramite($parIdTramite, 'Componentes digitais com formato inválido no destinatário. ', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_FORMATO); 1843 $this->objProcessoEletronicoRN->recusarTramite($parIdTramite, 'Componentes digitais com formato inválido no destinatário. ', ProcessoEletronicoRN::MTV_RCSR_TRAM_CD_FORMATO);
1844 throw new InfraException("Processo recusado devido a existência de documento em formato {$extDocumento} não permitido pelo sistema. "); 1844 throw new InfraException("Processo recusado devido a existência de documento em formato {$extDocumento} não permitido pelo sistema. ");
1845 } 1845 }
1846 -  
1847 - 1846 +
  1847 +
1848 } 1848 }
1849 } 1849 }
1850 - 1850 +
1851 /** 1851 /**
1852 * Método que verifica as permissões de escrita nos diretórios utilizados no recebimento de processos e documentos 1852 * Método que verifica as permissões de escrita nos diretórios utilizados no recebimento de processos e documentos
1853 - * 1853 + *
1854 * @param integer $parIdTramite 1854 * @param integer $parIdTramite
1855 * @throws InfraException 1855 * @throws InfraException
1856 */ 1856 */
1857 public function verificarPermissoesDiretorios($parIdTramite){ 1857 public function verificarPermissoesDiretorios($parIdTramite){
1858 - 1858 +
1859 //Verifica se o usuário possui permissões de escrita no repositório de arquivos externos 1859 //Verifica se o usuário possui permissões de escrita no repositório de arquivos externos
1860 if(!is_writable(ConfiguracaoSEI::getInstance()->getValor('SEI', 'RepositorioArquivos'))){ 1860 if(!is_writable(ConfiguracaoSEI::getInstance()->getValor('SEI', 'RepositorioArquivos'))){
1861 - 1861 +
1862 $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); 1862 $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);
1863 throw new InfraException('O sistema não possui permissão de escrita no diretório de armazenamento de documentos externos'); 1863 throw new InfraException('O sistema não possui permissão de escrita no diretório de armazenamento de documentos externos');
1864 - 1864 +
1865 } 1865 }
1866 - 1866 +
1867 //Verifica se o usuário possui permissões de escrita no diretório temporário de arquivos 1867 //Verifica se o usuário possui permissões de escrita no diretório temporário de arquivos
1868 if(!is_writable(DIR_SEI_TEMP)){ 1868 if(!is_writable(DIR_SEI_TEMP)){
1869 - 1869 +
1870 $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); 1870 $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);
1871 throw new InfraException('O sistema não possui permissão de escrita no diretório de armazenamento de arquivos temporários do sistema.'); 1871 throw new InfraException('O sistema não possui permissão de escrita no diretório de armazenamento de arquivos temporários do sistema.');
1872 - 1872 +
1873 } 1873 }
1874 -  
1875 - 1874 +
  1875 +
1876 } 1876 }
1877 } 1877 }
rn/ReceberReciboTramiteRN.php
@@ -19,16 +19,16 @@ class ReceberReciboTramiteRN extends InfraRN @@ -19,16 +19,16 @@ class ReceberReciboTramiteRN extends InfraRN
19 { 19 {
20 return BancoSEI::getInstance(); 20 return BancoSEI::getInstance();
21 } 21 }
22 - 22 +
23 protected function registrarRecebimentoRecibo($numIdProcedimento, $strProtocoloFormatado, $numIdTramite) { 23 protected function registrarRecebimentoRecibo($numIdProcedimento, $strProtocoloFormatado, $numIdTramite) {
24 - 24 +
25 //REALIZA A CONCLUSÃO DO PROCESSO 25 //REALIZA A CONCLUSÃO DO PROCESSO
26 $objEntradaConcluirProcessoAPI = new EntradaConcluirProcessoAPI(); 26 $objEntradaConcluirProcessoAPI = new EntradaConcluirProcessoAPI();
27 $objEntradaConcluirProcessoAPI->setIdProcedimento($numIdProcedimento); 27 $objEntradaConcluirProcessoAPI->setIdProcedimento($numIdProcedimento);
28 - 28 +
29 $objSeiRN = new SeiRN(); 29 $objSeiRN = new SeiRN();
30 $objSeiRN->concluirProcesso($objEntradaConcluirProcessoAPI); 30 $objSeiRN->concluirProcesso($objEntradaConcluirProcessoAPI);
31 - 31 +
32 $arrObjAtributoAndamentoDTO = array(); 32 $arrObjAtributoAndamentoDTO = array();
33 33
34 $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); 34 $objAtributoAndamentoDTO = new AtributoAndamentoDTO();
@@ -38,33 +38,33 @@ class ReceberReciboTramiteRN extends InfraRN @@ -38,33 +38,33 @@ class ReceberReciboTramiteRN extends InfraRN
38 $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; 38 $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO;
39 39
40 $arrObjTramite = $this->objProcessoEletronicoRN->consultarTramites($numIdTramite); 40 $arrObjTramite = $this->objProcessoEletronicoRN->consultarTramites($numIdTramite);
41 - 41 +
42 $objTramite = array_pop($arrObjTramite); 42 $objTramite = array_pop($arrObjTramite);
43 - 43 +
44 $objEstrutura = $this->objProcessoEletronicoRN->consultarEstrutura( 44 $objEstrutura = $this->objProcessoEletronicoRN->consultarEstrutura(
45 - $objTramite->destinatario->identificacaoDoRepositorioDeEstruturas,  
46 - $objTramite->destinatario->numeroDeIdentificacaoDaEstrutura, 45 + $objTramite->destinatario->identificacaoDoRepositorioDeEstruturas,
  46 + $objTramite->destinatario->numeroDeIdentificacaoDaEstrutura,
47 true 47 true
48 ); 48 );
49 - 49 +
50 $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); 50 $objAtributoAndamentoDTO = new AtributoAndamentoDTO();
51 $objAtributoAndamentoDTO->setStrNome('UNIDADE_DESTINO'); 51 $objAtributoAndamentoDTO->setStrNome('UNIDADE_DESTINO');
52 $objAtributoAndamentoDTO->setStrValor($objEstrutura->nome); 52 $objAtributoAndamentoDTO->setStrValor($objEstrutura->nome);
53 $objAtributoAndamentoDTO->setStrIdOrigem($objEstrutura->numeroDeIdentificacaoDaEstrutura); 53 $objAtributoAndamentoDTO->setStrIdOrigem($objEstrutura->numeroDeIdentificacaoDaEstrutura);
54 $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; 54 $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO;
55 - 55 +
56 if(isset($objEstrutura->hierarquia)) { 56 if(isset($objEstrutura->hierarquia)) {
57 - 57 +
58 $arrObjNivel = $objEstrutura->hierarquia->nivel; 58 $arrObjNivel = $objEstrutura->hierarquia->nivel;
59 - 59 +
60 $nome = ""; 60 $nome = "";
61 $siglasUnidades = array(); 61 $siglasUnidades = array();
62 $siglasUnidades[] = $objEstrutura->sigla; 62 $siglasUnidades[] = $objEstrutura->sigla;
63 - 63 +
64 foreach($arrObjNivel as $key => $objNivel){ 64 foreach($arrObjNivel as $key => $objNivel){
65 $siglasUnidades[] = $objNivel->sigla ; 65 $siglasUnidades[] = $objNivel->sigla ;
66 } 66 }
67 - 67 +
68 for($i = 1; $i <= 3; $i++){ 68 for($i = 1; $i <= 3; $i++){
69 if(isset($siglasUnidades[count($siglasUnidades) - 1])){ 69 if(isset($siglasUnidades[count($siglasUnidades) - 1])){
70 unset($siglasUnidades[count($siglasUnidades) - 1]); 70 unset($siglasUnidades[count($siglasUnidades) - 1]);
@@ -78,7 +78,7 @@ class ReceberReciboTramiteRN extends InfraRN @@ -78,7 +78,7 @@ class ReceberReciboTramiteRN extends InfraRN
78 $nome .= $nomeUnidade." / "; 78 $nome .= $nomeUnidade." / ";
79 } 79 }
80 } 80 }
81 - 81 +
82 $objNivel = current($arrObjNivel); 82 $objNivel = current($arrObjNivel);
83 83
84 $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); 84 $objAtributoAndamentoDTO = new AtributoAndamentoDTO();
@@ -86,19 +86,19 @@ class ReceberReciboTramiteRN extends InfraRN @@ -86,19 +86,19 @@ class ReceberReciboTramiteRN extends InfraRN
86 $objAtributoAndamentoDTO->setStrValor($nome); 86 $objAtributoAndamentoDTO->setStrValor($nome);
87 $objAtributoAndamentoDTO->setStrIdOrigem($objNivel->numeroDeIdentificacaoDaEstrutura); 87 $objAtributoAndamentoDTO->setStrIdOrigem($objNivel->numeroDeIdentificacaoDaEstrutura);
88 $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; 88 $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO;
89 - 89 +
90 } 90 }
91 - 91 +
92 $objRepositorioDTO = $this->objProcessoEletronicoRN->consultarRepositoriosDeEstruturas($objTramite->destinatario->identificacaoDoRepositorioDeEstruturas); 92 $objRepositorioDTO = $this->objProcessoEletronicoRN->consultarRepositoriosDeEstruturas($objTramite->destinatario->identificacaoDoRepositorioDeEstruturas);
93 if(!empty($objRepositorioDTO)) { 93 if(!empty($objRepositorioDTO)) {
94 - 94 +
95 $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); 95 $objAtributoAndamentoDTO = new AtributoAndamentoDTO();
96 $objAtributoAndamentoDTO->setStrNome('REPOSITORIO_DESTINO'); 96 $objAtributoAndamentoDTO->setStrNome('REPOSITORIO_DESTINO');
97 $objAtributoAndamentoDTO->setStrValor($objRepositorioDTO->getStrNome()); 97 $objAtributoAndamentoDTO->setStrValor($objRepositorioDTO->getStrNome());
98 $objAtributoAndamentoDTO->setStrIdOrigem($objRepositorioDTO->getNumId()); 98 $objAtributoAndamentoDTO->setStrIdOrigem($objRepositorioDTO->getNumId());
99 $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO; 99 $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO;
100 } 100 }
101 - 101 +
102 $objAtividadeDTO = new AtividadeDTO(); 102 $objAtividadeDTO = new AtividadeDTO();
103 $objAtividadeDTO->setDblIdProtocolo($numIdProcedimento); 103 $objAtividadeDTO->setDblIdProtocolo($numIdProcedimento);
104 $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); 104 $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
@@ -111,20 +111,20 @@ class ReceberReciboTramiteRN extends InfraRN @@ -111,20 +111,20 @@ class ReceberReciboTramiteRN extends InfraRN
111 } 111 }
112 112
113 protected function receberReciboDeTramiteConectado($parNumIdTramite) { 113 protected function receberReciboDeTramiteConectado($parNumIdTramite) {
114 -  
115 - 114 +
  115 +
116 if (!isset($parNumIdTramite)) { 116 if (!isset($parNumIdTramite)) {
117 throw new InfraException('Parâmetro $parNumIdTramite não informado.'); 117 throw new InfraException('Parâmetro $parNumIdTramite não informado.');
118 } 118 }
119 119
120 $objReciboTramite = $this->objProcessoEletronicoRN->receberReciboDeTramite($parNumIdTramite); 120 $objReciboTramite = $this->objProcessoEletronicoRN->receberReciboDeTramite($parNumIdTramite);
121 - 121 +
122 if (!$objReciboTramite) { 122 if (!$objReciboTramite) {
123 throw new InfraException("Não foi possível obter recibo de conclusão do trâmite '$parNumIdTramite'"); 123 throw new InfraException("Não foi possível obter recibo de conclusão do trâmite '$parNumIdTramite'");
124 } 124 }
125 - 125 +
126 $objReciboTramite = $objReciboTramite->conteudoDoReciboDeTramite; 126 $objReciboTramite = $objReciboTramite->conteudoDoReciboDeTramite;
127 - $objDateTime = new DateTime($objReciboTramite->recibo->dataDeRecebimento); 127 + $objDateTime = new DateTime($objReciboTramite->recibo->dataDeRecebimento);
128 128
129 $objReciboTramiteDTO = new ReciboTramiteDTO(); 129 $objReciboTramiteDTO = new ReciboTramiteDTO();
130 $objReciboTramiteDTO->setStrNumeroRegistro($objReciboTramite->recibo->NRE); 130 $objReciboTramiteDTO->setStrNumeroRegistro($objReciboTramite->recibo->NRE);
@@ -137,11 +137,11 @@ class ReceberReciboTramiteRN extends InfraRN @@ -137,11 +137,11 @@ class ReceberReciboTramiteRN extends InfraRN
137 $objTramiteDTO = new TramiteDTO(); 137 $objTramiteDTO = new TramiteDTO();
138 $objTramiteDTO->setNumIdTramite($parNumIdTramite); 138 $objTramiteDTO->setNumIdTramite($parNumIdTramite);
139 $objTramiteDTO->retNumIdUnidade(); 139 $objTramiteDTO->retNumIdUnidade();
140 - 140 +
141 $objTramiteBD = new TramiteBD(BancoSEI::getInstance()); 141 $objTramiteBD = new TramiteBD(BancoSEI::getInstance());
142 142
143 if ($objTramiteBD->contar($objTramiteDTO) > 0) { 143 if ($objTramiteBD->contar($objTramiteDTO) > 0) {
144 - 144 +
145 $objTramiteDTO = $objTramiteBD->consultar($objTramiteDTO); 145 $objTramiteDTO = $objTramiteBD->consultar($objTramiteDTO);
146 SessaoSEI::getInstance(false)->simularLogin('SEI', null, null, $objTramiteDTO->getNumIdUnidade()); 146 SessaoSEI::getInstance(false)->simularLogin('SEI', null, null, $objTramiteDTO->getNumIdUnidade());
147 147
@@ -151,10 +151,10 @@ class ReceberReciboTramiteRN extends InfraRN @@ -151,10 +151,10 @@ class ReceberReciboTramiteRN extends InfraRN
151 151
152 $objReciboTramiteBD = new ReciboTramiteBD(BancoSEI::getInstance()); 152 $objReciboTramiteBD = new ReciboTramiteBD(BancoSEI::getInstance());
153 if ($objReciboTramiteBD->contar($objReciboTramiteDTOExistente) == 0) { 153 if ($objReciboTramiteBD->contar($objReciboTramiteDTOExistente) == 0) {
154 -  
155 - //Armazenar dados do recibo de conclusão do trãmite 154 +
  155 + //Armazenar dados do recibo de conclusão do trãmite
156 $objReciboTramiteBD->cadastrar($objReciboTramiteDTO); 156 $objReciboTramiteBD->cadastrar($objReciboTramiteDTO);
157 - 157 +
158 if ($objReciboTramite->recibo->hashDoComponenteDigital && is_array($objReciboTramite->recibo->hashDoComponenteDigital)) { 158 if ($objReciboTramite->recibo->hashDoComponenteDigital && is_array($objReciboTramite->recibo->hashDoComponenteDigital)) {
159 foreach ($objReciboTramite->recibo->hashDoComponenteDigital as $strHashComponenteDigital) { 159 foreach ($objReciboTramite->recibo->hashDoComponenteDigital as $strHashComponenteDigital) {
160 160
@@ -198,23 +198,21 @@ class ReceberReciboTramiteRN extends InfraRN @@ -198,23 +198,21 @@ class ReceberReciboTramiteRN extends InfraRN
198 198
199 $this->objProcedimentoAndamentoRN->setOpts($objProcessoEletronicoDTO->getDblIdProcedimento(), $parNumIdTramite, ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)); 199 $this->objProcedimentoAndamentoRN->setOpts($objProcessoEletronicoDTO->getDblIdProcedimento(), $parNumIdTramite, ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO));
200 $this->objProcedimentoAndamentoRN->cadastrar(sprintf('Trâmite do processo %s foi concluído', $objProtocoloDTO->getStrProtocoloFormatado()), 'S'); 200 $this->objProcedimentoAndamentoRN->cadastrar(sprintf('Trâmite do processo %s foi concluído', $objProtocoloDTO->getStrProtocoloFormatado()), 'S');
201 - 201 +
202 //Registra o recbimento do recibo no histórico e realiza a conclusão do processo 202 //Registra o recbimento do recibo no histórico e realiza a conclusão do processo
203 $this->registrarRecebimentoRecibo($objProtocoloDTO->getDblIdProtocolo(), $objProtocoloDTO->getStrProtocoloFormatado(), $parNumIdTramite); 203 $this->registrarRecebimentoRecibo($objProtocoloDTO->getDblIdProtocolo(), $objProtocoloDTO->getStrProtocoloFormatado(), $parNumIdTramite);
204 - 204 +
205 $objPenTramiteProcessadoRN = new PenTramiteProcessadoRN(PenTramiteProcessadoRN::STR_TIPO_RECIBO); 205 $objPenTramiteProcessadoRN = new PenTramiteProcessadoRN(PenTramiteProcessadoRN::STR_TIPO_RECIBO);
206 $objPenTramiteProcessadoRN->setRecebido($parNumIdTramite); 206 $objPenTramiteProcessadoRN->setRecebido($parNumIdTramite);
207 -  
208 - } catch (Exception $e) {  
209 -  
210 - $strMessage = 'Falha o modificar o estado do procedimento para bloqueado.';  
211 207
  208 + } catch (Exception $e) {
  209 + $strMessage = 'Falha ao modificar o estado do procedimento para bloqueado.';
212 LogSEI::getInstance()->gravar($strMessage . PHP_EOL . $e->getMessage() . PHP_EOL . $e->getTraceAsString()); 210 LogSEI::getInstance()->gravar($strMessage . PHP_EOL . $e->getMessage() . PHP_EOL . $e->getTraceAsString());
213 throw new InfraException($strMessage, $e); 211 throw new InfraException($strMessage, $e);
214 } 212 }
215 } 213 }
216 } 214 }
217 - 215 +
218 216
219 } 217 }
220 -}  
221 \ No newline at end of file 218 \ No newline at end of file
  219 +}