Commit a21c492bc87b79fd2e3a1aa1eecfdd8f23b88415

Authored by Starlone Passos
1 parent df194b98

Removendo codigos desnecessarios

Showing 1 changed file with 0 additions and 2348 deletions   Show diff stats
rn/MdEstatisticasVersaoRN.php
@@ -73,27 +73,17 @@ class MdEstatisticasVersaoRN extends InfraRN { @@ -73,27 +73,17 @@ class MdEstatisticasVersaoRN extends InfraRN {
73 //Rotinas de criação de tabelas do módulo 73 //Rotinas de criação de tabelas do módulo
74 //... 74 //...
75 75
76 -  
77 -  
78 BancoSEI::getInstance()->executarSql('update infra_parametro set valor=\'' . MdEstatisticasVersaoRN::MD_ESTATISTICAS_VERSAO . '\' where nome=\'MD_ESTATISTICAS_VERSAO\''); 76 BancoSEI::getInstance()->executarSql('update infra_parametro set valor=\'' . MdEstatisticasVersaoRN::MD_ESTATISTICAS_VERSAO . '\' where nome=\'MD_ESTATISTICAS_VERSAO\'');
79 } 77 }
80 78
81 -  
82 //Versão 1.1.0 79 //Versão 1.1.0
83 // if (substr($strVersaoAtual,0,3) == '1.0' && MdEstatisticasVersaoRN::MD_ESTATISTICAS_VERSAO == '1.1.0') { 80 // if (substr($strVersaoAtual,0,3) == '1.0' && MdEstatisticasVersaoRN::MD_ESTATISTICAS_VERSAO == '1.1.0') {
84 // //Rotinas de criação/atualização de tabelas do módulo 81 // //Rotinas de criação/atualização de tabelas do módulo
85 // //... 82 // //...
86 83
87 -  
88 -  
89 // BancoSEI::getInstance()->executarSql('update infra_parametro set valor=\'' . MdEstatisticasVersaoRN::MD_ESTATISTICAS_VERSAO . '\' where nome=\'MD_ESTATISTICAS_VERSAO\''); 84 // BancoSEI::getInstance()->executarSql('update infra_parametro set valor=\'' . MdEstatisticasVersaoRN::MD_ESTATISTICAS_VERSAO . '\' where nome=\'MD_ESTATISTICAS_VERSAO\'');
90 // } 85 // }
91 86
92 -  
93 -  
94 -  
95 -  
96 -  
97 $this->finalizar('FIM',false); 87 $this->finalizar('FIM',false);
98 88
99 }catch(Exception $e){ 89 }catch(Exception $e){
@@ -103,2343 +93,5 @@ class MdEstatisticasVersaoRN extends InfraRN { @@ -103,2343 +93,5 @@ class MdEstatisticasVersaoRN extends InfraRN {
103 throw new InfraException('Erro atualizando versão.', $e); 93 throw new InfraException('Erro atualizando versão.', $e);
104 } 94 }
105 } 95 }
106 -  
107 - protected function fixCredencialAssinaturaControlado() {  
108 - try {  
109 - InfraDebug::getInstance()->gravar('ATUALIZANDO CREDENCIAIS DE ASSINATURA...');  
110 -  
111 - //corrige situações onde o processo continua no Controle de Processos após renúncia ou conclusão  
112 -  
113 - //busca atividades de concessão de credencial para assinatura onde não existem mais os documentos  
114 - $sql = 'select atividade.id_atividade, protocolo.protocolo_formatado,' . BancoSEI::getInstance()->formatarSelecaoDbl('atividade', 'id_protocolo', null) . ',atividade.id_usuario,atividade.id_unidade, atributo_andamento.id_origem  
115 - from atividade, atributo_andamento, protocolo, acesso  
116 - where atividade.id_atividade=atributo_andamento.id_atividade  
117 - and atividade.id_tarefa=' . TarefaRN::$TI_CONCESSAO_CREDENCIAL_ASSINATURA . '  
118 - and atributo_andamento.nome=' . BancoSEI::getInstance()->formatarGravacaoStr('DOCUMENTO') . '  
119 - and not exists (select documento.id_documento from documento where documento.id_documento=atributo_andamento.id_origem)  
120 - and atividade.id_protocolo=protocolo.id_protocolo  
121 - and protocolo.sta_nivel_acesso_global=' . BancoSEI::getInstance()->formatarGravacaoStr(ProtocoloRN::$NA_SIGILOSO) . '  
122 - and acesso.id_protocolo=atividade.id_protocolo  
123 - and acesso.id_unidade=atividade.id_unidade  
124 - and acesso.id_usuario=atividade.id_usuario  
125 - and acesso.sta_tipo=' . BancoSEI::getInstance()->formatarGravacaoStr(AcessoRN::$TA_CREDENCIAL_ASSINATURA_PROCESSO);  
126 -  
127 - $rs1 = BancoSEI::getInstance()->consultarSql($sql);  
128 -  
129 - InfraDebug::getInstance()->setBolDebugInfra(false);  
130 -  
131 - if (count($rs1)) {  
132 -  
133 - foreach ($rs1 as $item) {  
134 -  
135 - $numIdAtividade = $item['id_atividade'];  
136 - $dblIdProtocolo = $item['id_protocolo'];  
137 - $numIdUsuario = $item['id_usuario'];  
138 - $numIdUnidade = $item['id_unidade'];  
139 - $strIdOrigem = $item['id_origem'];  
140 -  
141 - //verificando se o usuario/unidade possui outras credenciais de assinatura em documentos existentes do processo  
142 -  
143 - $sql = 'select count(*) as total  
144 - from atividade, atributo_andamento  
145 - where atividade.id_atividade=atributo_andamento.id_atividade  
146 - and atividade.id_tarefa=' . TarefaRN::$TI_CONCESSAO_CREDENCIAL_ASSINATURA . '  
147 - and atributo_andamento.nome=' . BancoSEI::getInstance()->formatarGravacaoStr('DOCUMENTO') . '  
148 - and exists (select documento.id_documento from documento where documento.id_documento=atributo_andamento.id_origem)  
149 - and atividade.id_protocolo=' . $dblIdProtocolo . '  
150 - and atividade.id_usuario=' . $numIdUsuario . '  
151 - and atividade.id_unidade=' . $numIdUnidade;  
152 -  
153 - $rs2 = BancoSEI::getInstance()->consultarSql($sql);  
154 -  
155 - if ($rs2[0]['total'] == 0) {  
156 -  
157 - InfraDebug::getInstance()->gravar($item['protocolo_formatado'].', credencial de assinatura '.$numIdAtividade);  
158 -  
159 - //remove registros de acesso associados com credencial de assinatura para o usuario/unidade/processo  
160 -  
161 -  
162 - BancoSEI::getInstance()->executarSql('delete from acesso  
163 - where id_usuario=' . $numIdUsuario . '  
164 - and id_unidade=' . $numIdUnidade . '  
165 - and (id_protocolo=' . $dblIdProtocolo . ' or id_protocolo in (select id_documento from documento where id_procedimento=' . $dblIdProtocolo . '))  
166 - and sta_tipo=' . BancoSEI::getInstance()->formatarGravacaoStr(AcessoRN::$TA_CREDENCIAL_ASSINATURA_PROCESSO));  
167 -  
168 -  
169 - //busca identificador da última atividade do usuário no processo  
170 - $rs3 = BancoSEI::getInstance()->consultarSql('select max(id_atividade) as ultima  
171 - from atividade  
172 - where id_usuario=' . $numIdUsuario . '  
173 - and id_unidade=' . $numIdUnidade . '  
174 - and id_protocolo=' . $dblIdProtocolo);  
175 -  
176 - if ($rs3[0]['ultima']) {  
177 -  
178 - //busca dados da ultima atividade  
179 - $rs4 = BancoSEI::getInstance()->consultarSql('select id_atividade, id_tarefa, dth_abertura, dth_conclusao, id_usuario, id_unidade  
180 - from atividade  
181 - where id_atividade=' . $rs3[0]['ultima']);  
182 -  
183 - //se a última ação do usuário foi renúnciar ao processo mas ele continua aberto no Controle de Processos  
184 - if ($rs4[0]['id_tarefa'] == TarefaRN::$TI_PROCESSO_RENUNCIA_CREDENCIAL && BancoSEI::getInstance()->formatarLeituraDth($rs4[0]['dth_conclusao']) == null) {  
185 -  
186 - //finaliza pendencia para sumir do controle de processos  
187 - BancoSEI::getInstance()->executarSql('update atividade  
188 - set dth_conclusao=' . BancoSEI::getInstance()->formatarGravacaoDth(BancoSEI::getInstance()->formatarLeituraDth($rs4[0]['dth_abertura'])) . '  
189 - where id_atividade=' . $rs4[0]['id_atividade']);  
190 - }  
191 - }  
192 - }  
193 -  
194 - //busca atividade de exclusão do documento  
195 - $objAtributoAndamentoDTO = new AtributoAndamentoDTO();  
196 - $objAtributoAndamentoDTO->retNumIdAtividade();  
197 - $objAtributoAndamentoDTO->retDthAberturaAtividade();  
198 - $objAtributoAndamentoDTO->retNumIdUsuarioOrigemAtividade();  
199 - $objAtributoAndamentoDTO->retStrSiglaUsuarioOrigemAtividade();  
200 - $objAtributoAndamentoDTO->retStrNomeUsuarioOrigemAtividade();  
201 - $objAtributoAndamentoDTO->retNumIdUnidadeOrigemAtividade();  
202 - $objAtributoAndamentoDTO->setStrNome('DOCUMENTO');  
203 - $objAtributoAndamentoDTO->setStrIdOrigem($strIdOrigem);  
204 - $objAtributoAndamentoDTO->setNumIdTarefaAtividade(TarefaRN::$TI_EXCLUSAO_DOCUMENTO);  
205 - $objAtributoAndamentoDTO->setDblIdProtocoloAtividade($dblIdProtocolo);  
206 -  
207 - $objAtributoAndamentoRN = new AtributoAndamentoRN();  
208 - $objAtributoAndamentoDTOExclusao = $objAtributoAndamentoRN->consultarRN1366($objAtributoAndamentoDTO);  
209 -  
210 - if ($objAtributoAndamentoDTOExclusao != null) {  
211 -  
212 - //anular a credencial de assinatura no documento que foi excluído  
213 - $objAtividadeDTO = new AtividadeDTO();  
214 - $objAtividadeDTO->setNumIdTarefa(TarefaRN::$TI_CONCESSAO_CREDENCIAL_ASSINATURA_ANULADA);  
215 - $objAtividadeDTO->setNumIdAtividade($numIdAtividade);  
216 - $objAtividadeBD = new AtividadeBD(BancoSEI::getInstance());  
217 - $objAtividadeBD->alterar($objAtividadeDTO);  
218 -  
219 - $objAtributoAndamentoDTO = new AtributoAndamentoDTO();  
220 - $objAtributoAndamentoDTO->setStrNome('USUARIO_ANULACAO');  
221 - $objAtributoAndamentoDTO->setStrValor($objAtributoAndamentoDTOExclusao->getStrSiglaUsuarioOrigemAtividade() . '¥' . $objAtributoAndamentoDTOExclusao->getStrNomeUsuarioOrigemAtividade());  
222 - $objAtributoAndamentoDTO->setStrIdOrigem($objAtributoAndamentoDTOExclusao->getNumIdUsuarioOrigemAtividade());  
223 - $objAtributoAndamentoDTO->setNumIdAtividade($numIdAtividade);  
224 - $objAtributoAndamentoRN->cadastrarRN1363($objAtributoAndamentoDTO);  
225 -  
226 - $objAtributoAndamentoDTO = new AtributoAndamentoDTO();  
227 - $objAtributoAndamentoDTO->setStrNome('DATA_HORA');  
228 - $objAtributoAndamentoDTO->setStrValor($objAtributoAndamentoDTOExclusao->getDthAberturaAtividade());  
229 - $objAtributoAndamentoDTO->setStrIdOrigem($objAtributoAndamentoDTOExclusao->getNumIdAtividade()); //id do andamento que causou a anulação  
230 - $objAtributoAndamentoDTO->setNumIdAtividade($numIdAtividade);  
231 - $objAtributoAndamentoRN->cadastrarRN1363($objAtributoAndamentoDTO);  
232 - }  
233 - }  
234 - }  
235 -  
236 - unset($rs1);  
237 -  
238 - InfraDebug::getInstance()->setBolDebugInfra(true);  
239 -  
240 -  
241 - $objAtividadeRN = new AtividadeRN();  
242 - $objAtributoAndamentoRN = new AtributoAndamentoRN();  
243 -  
244 - //busca atividades de concessão de credencial para assinatura onde o usuário não tem credencial no processo  
245 - $sql = 'select atividade.id_atividade, protocolo.protocolo_formatado,' . BancoSEI::getInstance()->formatarSelecaoDbl('atividade', 'id_protocolo', null) . ',atividade.id_usuario,atividade.id_unidade  
246 - from atividade, protocolo, acesso  
247 - where atividade.id_tarefa=' . TarefaRN::$TI_CONCESSAO_CREDENCIAL_ASSINATURA . '  
248 - and not exists (select acesso.id_protocolo from acesso where acesso.id_protocolo=atividade.id_protocolo and acesso.id_usuario=atividade.id_usuario and acesso.id_unidade=atividade.id_unidade and acesso.sta_tipo='.BancoSEI::getInstance()->formatarGravacaoStr(AcessoRN::$TA_CREDENCIAL_PROCESSO).')  
249 - and atividade.id_protocolo=protocolo.id_protocolo  
250 - and protocolo.sta_nivel_acesso_global=' . BancoSEI::getInstance()->formatarGravacaoStr(ProtocoloRN::$NA_SIGILOSO) . '  
251 - and acesso.id_protocolo=atividade.id_protocolo  
252 - and acesso.id_unidade=atividade.id_unidade  
253 - and acesso.id_usuario=atividade.id_usuario  
254 - and acesso.sta_tipo=' . BancoSEI::getInstance()->formatarGravacaoStr(AcessoRN::$TA_CREDENCIAL_ASSINATURA_PROCESSO);  
255 -  
256 - $rs1 = BancoSEI::getInstance()->consultarSql($sql);  
257 -  
258 - InfraDebug::getInstance()->setBolDebugInfra(false);  
259 -  
260 - if (count($rs1)) {  
261 -  
262 - foreach ($rs1 as $item) {  
263 -  
264 - $numIdAtividade = $item['id_atividade'];  
265 - $dblIdProtocolo = $item['id_protocolo'];  
266 - $numIdUsuario = $item['id_usuario'];  
267 - $numIdUnidade = $item['id_unidade'];  
268 -  
269 - //verificando se o usuario/unidade possui outras credenciais de assinatura em documentos existentes do processo  
270 -  
271 - //busca identificador da última atividade do usuário no processo  
272 - $rs2 = BancoSEI::getInstance()->consultarSql('select max(id_atividade) as ultima  
273 - from atividade  
274 - where id_usuario=' . $numIdUsuario . '  
275 - and id_unidade=' . $numIdUnidade . '  
276 - and id_protocolo=' . $dblIdProtocolo);  
277 -  
278 - if ($rs2[0]['ultima']) {  
279 -  
280 - $objAtividadeDTOUltima = new AtividadeDTO();  
281 - $objAtividadeDTOUltima->retNumIdAtividade();  
282 - $objAtividadeDTOUltima->retDthAbertura();  
283 - $objAtividadeDTOUltima->retDthConclusao();  
284 - $objAtividadeDTOUltima->retNumIdUsuario();  
285 - $objAtividadeDTOUltima->retStrSiglaUsuario();  
286 - $objAtividadeDTOUltima->retStrNomeUsuario();  
287 - $objAtividadeDTOUltima->retNumIdUnidade();  
288 - $objAtividadeDTOUltima->retNumIdTarefa();  
289 - $objAtividadeDTOUltima->retStrNomeTarefa();  
290 - $objAtividadeDTOUltima->setNumIdAtividade($rs2[0]['ultima']);  
291 -  
292 - $objAtividadeDTOUltima = $objAtividadeRN->consultarRN0033($objAtividadeDTOUltima);  
293 -  
294 - //se a última ação do usuário foi renúnciar ao processo mas ele continua aberto no Controle de Processos  
295 - if ($objAtividadeDTOUltima->getNumIdTarefa() == TarefaRN::$TI_PROCESSO_RENUNCIA_CREDENCIAL && $objAtividadeDTOUltima->getDthConclusao() == null) {  
296 -  
297 - InfraDebug::getInstance()->gravar($item['protocolo_formatado'].', credencial de assinatura '.$objAtividadeDTOUltima->getNumIdAtividade());  
298 -  
299 - //finaliza pendencia para sumir do controle de processos  
300 - BancoSEI::getInstance()->executarSql('update atividade  
301 - set dth_conclusao=' . BancoSEI::getInstance()->formatarGravacaoDth($objAtividadeDTOUltima->getDthAbertura()) . '  
302 - where id_atividade=' . $objAtividadeDTOUltima->getNumIdAtividade());  
303 -  
304 -  
305 - //remove registros de acesso associados com credencial de assinatura para o usuario/unidade/processo  
306 - BancoSEI::getInstance()->executarSql('delete from acesso  
307 - where id_usuario=' . $numIdUsuario . '  
308 - and id_unidade=' . $numIdUnidade . '  
309 - and (id_protocolo=' . $dblIdProtocolo . ' or id_protocolo in (select id_documento from documento where id_procedimento=' . $dblIdProtocolo . '))  
310 - and sta_tipo=' . BancoSEI::getInstance()->formatarGravacaoStr(AcessoRN::$TA_CREDENCIAL_ASSINATURA_PROCESSO));  
311 -  
312 -  
313 - //anular a credencial de assinatura  
314 - $objAtividadeDTO = new AtividadeDTO();  
315 - $objAtividadeDTO->setNumIdTarefa(TarefaRN::$TI_CONCESSAO_CREDENCIAL_ASSINATURA_ANULADA);  
316 - $objAtividadeDTO->setNumIdAtividade($numIdAtividade);  
317 - $objAtividadeBD = new AtividadeBD(BancoSEI::getInstance());  
318 - $objAtividadeBD->alterar($objAtividadeDTO);  
319 -  
320 - $objAtributoAndamentoDTO = new AtributoAndamentoDTO();  
321 - $objAtributoAndamentoDTO->setStrNome('USUARIO_ANULACAO');  
322 - $objAtributoAndamentoDTO->setStrValor($objAtividadeDTOUltima->getStrSiglaUsuario() . '¥' . $objAtividadeDTOUltima->getStrNomeUsuario());  
323 - $objAtributoAndamentoDTO->setStrIdOrigem($objAtividadeDTOUltima->getNumIdUsuario());  
324 - $objAtributoAndamentoDTO->setNumIdAtividade($numIdAtividade);  
325 - $objAtributoAndamentoRN->cadastrarRN1363($objAtributoAndamentoDTO);  
326 -  
327 - $objAtributoAndamentoDTO = new AtributoAndamentoDTO();  
328 - $objAtributoAndamentoDTO->setStrNome('DATA_HORA');  
329 - $objAtributoAndamentoDTO->setStrValor($objAtividadeDTOUltima->getDthAbertura());  
330 - $objAtributoAndamentoDTO->setStrIdOrigem($objAtividadeDTOUltima->getNumIdAtividade()); //id do andamento que causou a anulação  
331 - $objAtributoAndamentoDTO->setNumIdAtividade($numIdAtividade);  
332 - $objAtributoAndamentoRN->cadastrarRN1363($objAtributoAndamentoDTO);  
333 - }  
334 - }  
335 - }  
336 - }  
337 -  
338 - unset($rs1);  
339 -  
340 - InfraDebug::getInstance()->setBolDebugInfra(true);  
341 -  
342 - }catch(Exception $e){  
343 - throw new InfraException('Erro corrigindo credenciais de assinatura.', $e);  
344 - }  
345 - }  
346 -  
347 - protected function fixSenhaBcryptControlado(){  
348 - try {  
349 - InfraDebug::getInstance()->gravar('ATUALIZANDO SENHAS DE USUARIOS EXTERNOS...');  
350 -  
351 -  
352 - InfraDebug::getInstance()->setBolDebugInfra(false);  
353 - $objUsuarioDTO = new UsuarioDTO();  
354 - $objUsuarioRN = new UsuarioRN();  
355 - $objUsuarioBD = new UsuarioBD(BancoSEI::getInstance());  
356 - $objUsuarioDTO->setBolExclusaoLogica(false);  
357 - $objUsuarioDTO->setStrStaTipo(array(2, 3), InfraDTO::$OPER_IN);  
358 - $objUsuarioDTO->retNumIdUsuario();  
359 - $objUsuarioDTO->retStrSenha();  
360 - $arrObjUsuarioDTO = $objUsuarioRN->listarRN0490($objUsuarioDTO);  
361 -  
362 - $objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance());  
363 - $objInfraMetaBD->alterarColuna('usuario','senha',$objInfraMetaBD->tipoTextoFixo(60),'null');  
364 -  
365 - $bcrypt = new InfraBcrypt();  
366 -  
367 - $numRegistros = count($arrObjUsuarioDTO);  
368 - $n = 0;  
369 - foreach ($arrObjUsuarioDTO as $objUsuarioDTO) {  
370 -  
371 - if ((++$n >=100 && $n%100==0) || $n==$numRegistros){  
372 - InfraDebug::getInstance()->gravar('USUARIOS: '.$n.' DE '.$numRegistros);  
373 - }  
374 -  
375 - $objUsuarioDTO->setStrSenha($bcrypt->hash($objUsuarioDTO->getStrSenha()));  
376 - $objUsuarioBD->alterar($objUsuarioDTO);  
377 - }  
378 - InfraDebug::getInstance()->setBolDebugInfra(true);  
379 -  
380 - }catch(Exception $e){  
381 - throw new InfraException('Erro migrando senhas de usuários externos.', $e);  
382 - }  
383 - }  
384 -  
385 - protected function fixUsuariosSemContatoControlado(){  
386 - try {  
387 - InfraDebug::getInstance()->gravar('ATUALIZANDO USUÁRIOS SEM CONTATO...');  
388 -  
389 - $rs = BancoSEI::getInstance()->consultarSql('select '.  
390 - BancoSEI::getInstance()->formatarSelecaoNum('usuario','id_usuario ','idusuario') .','.  
391 - BancoSEI::getInstance()->formatarSelecaoStr('usuario','sigla','siglausuario') .','.  
392 - BancoSEI::getInstance()->formatarSelecaoStr('usuario','nome','nomeusuario') .','.  
393 - BancoSEI::getInstance()->formatarSelecaoDbl('usuario', 'cpf', 'cpfusuario') .','.  
394 - BancoSEI::getInstance()->formatarSelecaoStr('usuario','sta_tipo','statipousuario') .','.  
395 - BancoSEI::getInstance()->formatarSelecaoStr('orgao','sigla','siglaorgao') .  
396 - ' from usuario, orgao where usuario.id_orgao=orgao.id_orgao and usuario.id_contato is null');  
397 -  
398 - $objInfraParametro = new InfraParametro(BancoSEI::getInstance());  
399 -  
400 - foreach($rs as $usuario) {  
401 -  
402 - $numIdUsuario = BancoSEI::getInstance()->formatarLeituraNum($usuario['idusuario']);  
403 - $strSiglaUsuario = BancoSEI::getInstance()->formatarLeituraStr($usuario['siglausuario']);  
404 - $strNomeUsuario = BancoSEI::getInstance()->formatarLeituraStr($usuario['nomeusuario']);  
405 - $dblCpfUsuario = BancoSEI::getInstance()->formatarLeituraDbl($usuario['cpfusuario']);  
406 - $strStaTipo = BancoSEI::getInstance()->formatarLeituraStr($usuario['statipousuario']);  
407 - $strSiglaOrgao = BancoSEI::getInstance()->formatarLeituraStr($usuario['siglaorgao']);  
408 -  
409 -  
410 - if ($strStaTipo == UsuarioRN::$TU_SISTEMA) {  
411 -  
412 - $numIdTipoContato = $objInfraParametro->getValor('ID_TIPO_CONTATO_SISTEMAS');  
413 -  
414 - } else if ($strStaTipo == UsuarioRN::$TU_EXTERNO || $strStaTipo == UsuarioRN::$TU_EXTERNO_PENDENTE) {  
415 -  
416 - if (!$objInfraParametro->isSetValor($strSiglaOrgao . '_ID_TIPO_CONTATO_USUARIOS_EXTERNOS')) {  
417 - $objTipoContatoDTO = new TipoContatoDTO();  
418 - $objTipoContatoDTO->setNumIdTipoContato(null);  
419 - $objTipoContatoDTO->setStrNome('Usuários Externos ' . $strSiglaOrgao);  
420 - $objTipoContatoDTO->setStrDescricao('Usuários Externos ' . $strSiglaOrgao);  
421 - $objTipoContatoDTO->setStrStaAcesso(TipoContatoRN::$TA_CONSULTA_RESUMIDA);  
422 - $objTipoContatoDTO->setStrSinSistema('S');  
423 - $objTipoContatoDTO->setStrSinAtivo('S');  
424 -  
425 - $objTipoContatoRN = new TipoContatoRN();  
426 - $objTipoContatoDTO = $objTipoContatoRN->cadastrarRN0334($objTipoContatoDTO);  
427 -  
428 - $objRelUnidadeTipoContatoDTO = new RelUnidadeTipoContatoDTO();  
429 - $objRelUnidadeTipoContatoDTO->setNumIdTipoContato($objTipoContatoDTO->getNumIdTipoContato());  
430 - $objRelUnidadeTipoContatoDTO->setNumIdUnidade($objInfraParametro->getValor('ID_UNIDADE_TESTE'));  
431 - $objRelUnidadeTipoContatoDTO->setStrStaAcesso(TipoContatoRN::$TA_ALTERACAO);  
432 -  
433 - $objRelUnidadeTipoContatoRN = new RelUnidadeTipoContatoRN();  
434 - $objRelUnidadeTipoContatoRN->cadastrarRN0545($objRelUnidadeTipoContatoDTO);  
435 -  
436 - $objInfraParametro->setValor($strSiglaOrgao . '_ID_TIPO_CONTATO_USUARIOS_EXTERNOS', $objTipoContatoDTO->getNumIdTipoContato());  
437 - }  
438 -  
439 - $numIdTipoContato = $objInfraParametro->getValor($strSiglaOrgao . '_ID_TIPO_CONTATO_USUARIOS_EXTERNOS');  
440 -  
441 - } else {  
442 - if (!$objInfraParametro->isSetValor($strSiglaOrgao . '_ID_TIPO_CONTATO_USUARIOS')) {  
443 - $objTipoContatoDTO = new TipoContatoDTO();  
444 - $objTipoContatoDTO->setNumIdTipoContato(null);  
445 - $objTipoContatoDTO->setStrNome('Usuários ' . $strSiglaOrgao);  
446 - $objTipoContatoDTO->setStrDescricao('Usuários ' . $strSiglaOrgao);  
447 - $objTipoContatoDTO->setStrStaAcesso(TipoContatoRN::$TA_CONSULTA_RESUMIDA);  
448 - $objTipoContatoDTO->setStrSinSistema('S');  
449 - $objTipoContatoDTO->setStrSinAtivo('S');  
450 -  
451 - $objTipoContatoRN = new TipoContatoRN();  
452 - $objTipoContatoDTO = $objTipoContatoRN->cadastrarRN0334($objTipoContatoDTO);  
453 -  
454 - $objRelUnidadeTipoContatoDTO = new RelUnidadeTipoContatoDTO();  
455 - $objRelUnidadeTipoContatoDTO->setNumIdTipoContato($objTipoContatoDTO->getNumIdTipoContato());  
456 - $objRelUnidadeTipoContatoDTO->setNumIdUnidade($objInfraParametro->getValor('ID_UNIDADE_TESTE'));  
457 - $objRelUnidadeTipoContatoDTO->setStrStaAcesso(TipoContatoRN::$TA_ALTERACAO);  
458 -  
459 - $objRelUnidadeTipoContatoRN = new RelUnidadeTipoContatoRN();  
460 - $objRelUnidadeTipoContatoRN->cadastrarRN0545($objRelUnidadeTipoContatoDTO);  
461 -  
462 - $objInfraParametro->setValor($strSiglaOrgao . '_ID_TIPO_CONTATO_USUARIOS', $objTipoContatoDTO->getNumIdTipoContato());  
463 - }  
464 -  
465 - $numIdTipoContato = $objInfraParametro->getValor($strSiglaOrgao . '_ID_TIPO_CONTATO_USUARIOS');  
466 - }  
467 -  
468 - $objContatoDTO = new ContatoDTO();  
469 - $objContatoDTO->retNumIdContato();  
470 - $objContatoDTO->setStrSigla($strSiglaUsuario);  
471 - $objContatoDTO->setStrNome($strNomeUsuario);  
472 - $objContatoDTO->setNumIdTipoContato($numIdTipoContato);  
473 -  
474 - $objContatoRN = new ContatoRN();  
475 - $objContatoDTO = $objContatoRN->consultarRN0324($objContatoDTO);  
476 -  
477 - if ($objContatoDTO == null) {  
478 -  
479 - $objContatoDTO = new ContatoDTO();  
480 -  
481 - $objContatoDTO->setNumIdContato(null);  
482 - $objContatoDTO->setNumIdTipoContato($numIdTipoContato);  
483 - $objContatoDTO->setNumIdContatoAssociado(null);  
484 - $objContatoDTO->setStrStaNatureza(ContatoRN::$TN_PESSOA_FISICA);  
485 - $objContatoDTO->setDblCnpj(null);  
486 - $objContatoDTO->setNumIdCargo(null);  
487 - $objContatoDTO->setStrSigla($strSiglaUsuario);  
488 - $objContatoDTO->setStrNome($strNomeUsuario);  
489 - $objContatoDTO->setDtaNascimento(null);  
490 - $objContatoDTO->setStrStaGenero(null);  
491 - $objContatoDTO->setDblCpf($dblCpfUsuario);  
492 - $objContatoDTO->setDblRg(null);  
493 - $objContatoDTO->setStrOrgaoExpedidor(null);  
494 - $objContatoDTO->setStrMatricula(null);  
495 - $objContatoDTO->setStrMatriculaOab(null);  
496 - $objContatoDTO->setStrEndereco(null);  
497 - $objContatoDTO->setStrComplemento(null);  
498 -  
499 - if ($strStaTipo == UsuarioRN::$TU_EXTERNO || $strStaTipo == UsuarioRN::$TU_EXTERNO_PENDENTE) {  
500 - $objContatoDTO->setStrEmail($strSiglaUsuario);  
501 - } else {  
502 - $objContatoDTO->setStrEmail(null);  
503 - }  
504 -  
505 - $objContatoDTO->setStrSitioInternet(null);  
506 - $objContatoDTO->setStrTelefoneFixo(null);  
507 - $objContatoDTO->setStrTelefoneCelular(null);  
508 - $objContatoDTO->setStrBairro(null);  
509 - $objContatoDTO->setNumIdUf(null);  
510 - $objContatoDTO->setNumIdCidade(null);  
511 - $objContatoDTO->setNumIdPais(null);  
512 - $objContatoDTO->setStrCep(null);  
513 - $objContatoDTO->setStrObservacao(null);  
514 - $objContatoDTO->setStrSinEnderecoAssociado('N');  
515 - $objContatoDTO->setStrSinAtivo('S');  
516 - $objContatoDTO->setStrStaOperacao('REPLICACAO');  
517 -  
518 - $objContatoDTO = $objContatoRN->cadastrarRN0322($objContatoDTO);  
519 - }  
520 -  
521 - BancoSEI::getInstance()->executarSql('update usuario set id_contato='.$objContatoDTO->getNumIdContato().' where id_usuario='.$numIdUsuario);  
522 - }  
523 -  
524 - }catch(Exception $e){  
525 - throw new InfraException('Erro tratando usuários sem contato.', $e);  
526 - }  
527 - }  
528 -  
529 - protected function fixSinalizadorSistemaControlado(){  
530 - try {  
531 - InfraDebug::getInstance()->gravar('ATUALIZANDO SINALIZADOR DE SISTEMA PARA TIPOS DE CONTATO...');  
532 -  
533 - $objInfraParametro = new InfraParametro(BancoSEI::getInstance());  
534 -  
535 - $objTipoContatoRN = new TipoContatoRN();  
536 -  
537 - $numIdTipoContato = $objInfraParametro->getValor('ID_TIPO_CONTATO_SISTEMAS', false);  
538 - if (!InfraString::isBolVazia($numIdTipoContato)) {  
539 - $objTipoContatoDTO = new TipoContatoDTO();  
540 - $objTipoContatoDTO->setBolExclusaoLogica(false);  
541 - $objTipoContatoDTO->setNumIdTipoContato($numIdTipoContato);  
542 - if ($objTipoContatoRN->contarRN0353($objTipoContatoDTO)) {  
543 - BancoSEI::getInstance()->executarSql('update tipo_contato set sin_sistema=\'S\' where id_tipo_contato=' . $numIdTipoContato);  
544 - }  
545 - }  
546 -  
547 - $rs = BancoSEI::getInstance()->consultarSql('select sigla from orgao order by sigla');  
548 -  
549 - $arrChavesTiposContatos = array('_ID_TIPO_CONTATO_USUARIOS','_ID_TIPO_CONTATO_UNIDADES','_ID_TIPO_CONTATO_USUARIOS_EXTERNOS');  
550 -  
551 - foreach($rs as $orgao){  
552 - foreach($arrChavesTiposContatos as $strChaveTipoContato) {  
553 - $numIdTipoContato = $objInfraParametro->getValor(BancoSEI::getInstance()->formatarLeituraStr($orgao['sigla']) . $strChaveTipoContato, false);  
554 - if (!InfraString::isBolVazia($numIdTipoContato)) {  
555 - $objTipoContatoDTO = new TipoContatoDTO();  
556 - $objTipoContatoDTO->setBolExclusaoLogica(false);  
557 - $objTipoContatoDTO->setNumIdTipoContato($numIdTipoContato);  
558 - if ($objTipoContatoRN->contarRN0353($objTipoContatoDTO)) {  
559 - BancoSEI::getInstance()->executarSql('update tipo_contato set sin_sistema=\'S\' where id_tipo_contato=' . $numIdTipoContato);  
560 - }  
561 - }  
562 - }  
563 - }  
564 -  
565 - }catch(Exception $e){  
566 - throw new InfraException('Erro sinalizando tipos de contato de sistemas.', $e);  
567 - }  
568 - }  
569 -  
570 - protected function fixSinalizadorPesquisaControlado(){  
571 - try {  
572 - InfraDebug::getInstance()->gravar('ATUALIZANDO SINALIZADOR DE PESQUISA PARA TIPOS DE CONTATO...');  
573 -  
574 - $objInfraParametro = new InfraParametro(BancoSEI::getInstance());  
575 -  
576 - $numIdTipoContato = $objInfraParametro->getValor('ID_TIPO_CONTATO_SISTEMAS', false);  
577 - if (!InfraString::isBolVazia($numIdTipoContato)) {  
578 - BancoSEI::getInstance()->executarSql('update tipo_contato set sta_acesso=\''.TipoContatoRN::$TA_NENHUM.'\' where id_tipo_contato=' . $numIdTipoContato);  
579 - }  
580 -  
581 - $numIdTipoContato = $objInfraParametro->getValor('ID_TIPO_CONTATO_TEMPORARIO', false);  
582 - if (!InfraString::isBolVazia($numIdTipoContato)) {  
583 - BancoSEI::getInstance()->executarSql('update tipo_contato set sta_acesso=\''.TipoContatoRN::$TA_CONSULTA_RESUMIDA.'\' where id_tipo_contato=' . $numIdTipoContato);  
584 - }  
585 -  
586 - $numIdTipoContato = $objInfraParametro->getValor('ID_TIPO_CONTATO_OUVIDORIA', false);  
587 - if (!InfraString::isBolVazia($numIdTipoContato)) {  
588 - BancoSEI::getInstance()->executarSql('update tipo_contato set sta_acesso=\''.TipoContatoRN::$TA_NENHUM.'\' where id_tipo_contato=' . $numIdTipoContato);  
589 - }  
590 -  
591 - $rs = BancoSEI::getInstance()->consultarSql('select sigla from orgao order by sigla');  
592 -  
593 - foreach($rs as $orgao){  
594 -  
595 - $strSiglaOrgao = BancoSEI::getInstance()->formatarLeituraStr($orgao['sigla']);  
596 -  
597 - $numIdTipoContato = $objInfraParametro->getValor($strSiglaOrgao . '_ID_TIPO_CONTATO_USUARIOS', false);  
598 - if (!InfraString::isBolVazia($numIdTipoContato)) {  
599 - BancoSEI::getInstance()->executarSql('update tipo_contato set sta_acesso=\''.TipoContatoRN::$TA_CONSULTA_RESUMIDA.'\' where id_tipo_contato=' . $numIdTipoContato);  
600 - }  
601 -  
602 - $numIdTipoContato = $objInfraParametro->getValor($strSiglaOrgao . '_ID_TIPO_CONTATO_USUARIOS_EXTERNOS', false);  
603 - if (!InfraString::isBolVazia($numIdTipoContato)) {  
604 - BancoSEI::getInstance()->executarSql('update tipo_contato set sta_acesso=\''.TipoContatoRN::$TA_CONSULTA_RESUMIDA.'\' where id_tipo_contato=' . $numIdTipoContato);  
605 - }  
606 -  
607 - $numIdTipoContato = $objInfraParametro->getValor($strSiglaOrgao . '_ID_TIPO_CONTATO_UNIDADES', false);  
608 - if (!InfraString::isBolVazia($numIdTipoContato)) {  
609 - BancoSEI::getInstance()->executarSql('update tipo_contato set sta_acesso=\''.TipoContatoRN::$TA_CONSULTA_COMPLETA.'\' where id_tipo_contato=' . $numIdTipoContato);  
610 - }  
611 - }  
612 -  
613 - }catch(Exception $e){  
614 - throw new InfraException('Erro sinalizando tipo de pesquisa de contatos.', $e);  
615 - }  
616 - }  
617 -  
618 - protected function fixAtualizarContatosUnidadesControlado(){  
619 - try {  
620 - InfraDebug::getInstance()->gravar('ATUALIZANDO CONTATOS DE UNIDADES...');  
621 -  
622 - $rs = BancoSEI::getInstance()->consultarSql('select '.  
623 - BancoSEI::getInstance()->formatarSelecaoNum('unidade', 'id_contato', 'idcontatounidade').','.  
624 - BancoSEI::getInstance()->formatarSelecaoStr('unidade', 'endereco', 'enderecounidade').','.  
625 - BancoSEI::getInstance()->formatarSelecaoStr('unidade', 'complemento', 'complementounidade').','.  
626 - BancoSEI::getInstance()->formatarSelecaoStr('unidade', 'bairro', 'bairrounidade').','.  
627 - BancoSEI::getInstance()->formatarSelecaoNum('unidade', 'id_uf', 'idufunidade').','.  
628 - BancoSEI::getInstance()->formatarSelecaoNum('unidade', 'id_cidade', 'idcidadeunidade').','.  
629 - BancoSEI::getInstance()->formatarSelecaoStr('unidade', 'cep', 'cepunidade').','.  
630 - BancoSEI::getInstance()->formatarSelecaoStr('unidade', 'telefone', 'telefoneunidade').','.  
631 - BancoSEI::getInstance()->formatarSelecaoStr('unidade', 'sitio_internet', 'sitiointernetunidade').','.  
632 - BancoSEI::getInstance()->formatarSelecaoStr('unidade', 'observacao', 'observacaounidade').  
633 - ' from unidade');  
634 -  
635 - $objPaisDTO = new PaisDTO();  
636 - $objPaisDTO->retNumIdPais();  
637 - $objPaisDTO->retStrNome();  
638 -  
639 - $objPaisRN = new PaisRN();  
640 - $arrObjPaisDTO = $objPaisRN->listar($objPaisDTO);  
641 -  
642 - $numIdPaisBrasil = null;  
643 - foreach($arrObjPaisDTO as $objPaisDTO){  
644 - if (InfraString::transformarCaixaAlta($objPaisDTO->getStrNome())=='BRASIL'){  
645 - $numIdPaisBrasil = $objPaisDTO->getNumIdPais();  
646 - break;  
647 - }  
648 - }  
649 -  
650 - InfraDebug::getInstance()->setBolDebugInfra(false);  
651 - foreach($rs as $unidade){  
652 - BancoSEI::getInstance()->executarSql('update contato set '.  
653 - 'endereco='.BancoSEI::getInstance()->formatarGravacaoStr(BancoSEI::getInstance()->formatarLeituraStr($unidade['enderecounidade'])).','.  
654 - 'complemento='.BancoSEI::getInstance()->formatarGravacaoStr(BancoSEI::getInstance()->formatarLeituraStr($unidade['complementounidade'])).','.  
655 - 'bairro='.BancoSEI::getInstance()->formatarGravacaoStr(BancoSEI::getInstance()->formatarLeituraStr($unidade['bairrounidade'])).','.  
656 - 'id_uf='.BancoSEI::getInstance()->formatarGravacaoNum(BancoSEI::getInstance()->formatarLeituraNum($unidade['idufunidade'])).','.  
657 - 'id_cidade='.BancoSEI::getInstance()->formatarGravacaoNum(BancoSEI::getInstance()->formatarLeituraNum($unidade['idcidadeunidade'])).','.  
658 - 'id_pais='.BancoSEI::getInstance()->formatarGravacaoNum($numIdPaisBrasil).','.  
659 - 'cep='.BancoSEI::getInstance()->formatarGravacaoStr(BancoSEI::getInstance()->formatarLeituraStr($unidade['cepunidade'])).','.  
660 - 'telefone_fixo='.BancoSEI::getInstance()->formatarGravacaoStr(BancoSEI::getInstance()->formatarLeituraStr($unidade['telefoneunidade'])).','.  
661 - 'sitio_internet='.BancoSEI::getInstance()->formatarGravacaoStr(BancoSEI::getInstance()->formatarLeituraStr($unidade['sitiointernetunidade'])).','.  
662 - 'observacao='.BancoSEI::getInstance()->formatarGravacaoStr(BancoSEI::getInstance()->formatarLeituraStr($unidade['observacaounidade'])).  
663 - ' where id_contato='.BancoSEI::getInstance()->formatarLeituraNum($unidade['idcontatounidade']));  
664 - }  
665 - InfraDebug::getInstance()->setBolDebugInfra(true);  
666 -  
667 - }catch(Exception $e){  
668 - throw new InfraException('Erro atualizando contatos de unidades.', $e);  
669 - }  
670 - }  
671 -  
672 - protected function fixCriarOrgaosContatosControlado(){  
673 - try {  
674 - InfraDebug::getInstance()->gravar('CRIANDO CONTATOS PARA ORGAOS...');  
675 -  
676 - $rs = BancoSEI::getInstance()->consultarSql('select '.  
677 - BancoSEI::getInstance()->formatarSelecaoNum('orgao', 'id_orgao', 'idorgao').','.  
678 - BancoSEI::getInstance()->formatarSelecaoStr('orgao', 'sigla', 'siglaorgao').','.  
679 - BancoSEI::getInstance()->formatarSelecaoStr('orgao', 'descricao', 'descricaoorgao').','.  
680 - BancoSEI::getInstance()->formatarSelecaoStr('orgao', 'endereco', 'enderecoorgao').','.  
681 - BancoSEI::getInstance()->formatarSelecaoStr('orgao', 'complemento', 'complementoorgao').','.  
682 - BancoSEI::getInstance()->formatarSelecaoStr('orgao', 'bairro', 'bairroorgao').','.  
683 - BancoSEI::getInstance()->formatarSelecaoNum('uf', 'id_uf', 'iduforgao').','.  
684 - BancoSEI::getInstance()->formatarSelecaoNum('cidade', 'id_cidade', 'idcidadeorgao').','.  
685 - BancoSEI::getInstance()->formatarSelecaoStr('orgao', 'cep', 'ceporgao').','.  
686 - BancoSEI::getInstance()->formatarSelecaoStr('orgao', 'telefone', 'telefoneorgao').','.  
687 - BancoSEI::getInstance()->formatarSelecaoStr('orgao', 'email', 'emailorgao').','.  
688 - BancoSEI::getInstance()->formatarSelecaoStr('orgao', 'sitio_internet', 'sitiointernetorgao').  
689 - ' from orgao left join (cidade left join uf on cidade.id_uf=uf.id_uf) on orgao.id_cidade=cidade.id_cidade');  
690 -  
691 - $objInfraParametro = new InfraParametro(BancoSEI::getInstance());  
692 -  
693 - $objTipoContatoDTO = new TipoContatoDTO();  
694 - $objTipoContatoDTO->setNumIdTipoContato(null);  
695 - $objTipoContatoDTO->setStrNome('Órgãos');  
696 - $objTipoContatoDTO->setStrDescricao('Órgãos');  
697 - $objTipoContatoDTO->setStrStaAcesso(TipoContatoRN::$TA_CONSULTA_COMPLETA);  
698 - $objTipoContatoDTO->setStrSinSistema('S');  
699 - $objTipoContatoDTO->setStrSinAtivo('S');  
700 -  
701 - $objTipoContatoRN = new TipoContatoRN();  
702 - $objTipoContatoDTO = $objTipoContatoRN->cadastrarRN0334($objTipoContatoDTO);  
703 -  
704 - $numIdTipoContato = $objTipoContatoDTO->getNumIdTipoContato();  
705 -  
706 - $objRelUnidadeTipoContatoDTO = new RelUnidadeTipoContatoDTO();  
707 - $objRelUnidadeTipoContatoDTO->setNumIdTipoContato($objTipoContatoDTO->getNumIdTipoContato());  
708 - $objRelUnidadeTipoContatoDTO->setNumIdUnidade($objInfraParametro->getValor('ID_UNIDADE_TESTE'));  
709 - $objRelUnidadeTipoContatoDTO->setStrStaAcesso(TipoContatoRN::$TA_ALTERACAO);  
710 -  
711 - $objRelUnidadeTipoContatoRN = new RelUnidadeTipoContatoRN();  
712 - $objRelUnidadeTipoContatoRN->cadastrarRN0545($objRelUnidadeTipoContatoDTO);  
713 -  
714 - BancoSEI::getInstance()->executarSql('insert into infra_parametro (nome,valor) values (\'ID_TIPO_CONTATO_ORGAOS\',\''.$numIdTipoContato.'\')');  
715 -  
716 - $objPaisDTO = new PaisDTO();  
717 - $objPaisDTO->retNumIdPais();  
718 - $objPaisDTO->retStrNome();  
719 -  
720 - $objPaisRN = new PaisRN();  
721 - $arrObjPaisDTO = $objPaisRN->listar($objPaisDTO);  
722 -  
723 - $numIdPaisBrasil = null;  
724 - foreach($arrObjPaisDTO as $objPaisDTO){  
725 - if (InfraString::transformarCaixaAlta($objPaisDTO->getStrNome())=='BRASIL'){  
726 - $numIdPaisBrasil = $objPaisDTO->getNumIdPais();  
727 - break;  
728 - }  
729 - }  
730 -  
731 - $objContatoRN = new ContatoRN();  
732 -  
733 - foreach($rs as $orgao) {  
734 -  
735 - $objContatoDTO = new ContatoDTO();  
736 -  
737 - $objContatoDTO->setNumIdContato(null);  
738 - $objContatoDTO->setNumIdTipoContato($numIdTipoContato);  
739 - $objContatoDTO->setNumIdContatoAssociado(null);  
740 - $objContatoDTO->setStrStaNatureza(ContatoRN::$TN_PESSOA_JURIDICA);  
741 - $objContatoDTO->setDblCnpj(null);  
742 - $objContatoDTO->setNumIdCargo(null);  
743 - $objContatoDTO->setStrSigla(BancoSEI::getInstance()->formatarLeituraStr($orgao['siglaorgao']));  
744 - $objContatoDTO->setStrNome(BancoSEI::getInstance()->formatarLeituraStr($orgao['descricaoorgao']));  
745 - $objContatoDTO->setDtaNascimento(null);  
746 - $objContatoDTO->setStrStaGenero(null);  
747 - $objContatoDTO->setDblCpf(null);  
748 - $objContatoDTO->setDblRg(null);  
749 - $objContatoDTO->setStrOrgaoExpedidor(null);  
750 - $objContatoDTO->setStrMatricula(null);  
751 - $objContatoDTO->setStrMatriculaOab(null);  
752 - $objContatoDTO->setStrEndereco(BancoSEI::getInstance()->formatarLeituraStr($orgao['enderecoorgao']));  
753 - $objContatoDTO->setStrComplemento(BancoSEI::getInstance()->formatarLeituraStr($orgao['complementoorgao']));  
754 - $objContatoDTO->setStrEmail(BancoSEI::getInstance()->formatarLeituraStr($orgao['emailorgao']));  
755 - $objContatoDTO->setStrSitioInternet(BancoSEI::getInstance()->formatarLeituraStr($orgao['sitiointernetorgao']));  
756 - $objContatoDTO->setStrTelefoneFixo(BancoSEI::getInstance()->formatarLeituraStr($orgao['telefoneorgao']));  
757 - $objContatoDTO->setStrTelefoneCelular(null);  
758 - $objContatoDTO->setStrBairro(BancoSEI::getInstance()->formatarLeituraStr($orgao['bairroorgao']));  
759 - $objContatoDTO->setNumIdUf(BancoSEI::getInstance()->formatarLeituraNum($orgao['iduforgao']));  
760 - $objContatoDTO->setNumIdCidade(BancoSEI::getInstance()->formatarLeituraNum($orgao['idcidadeorgao']));  
761 - $objContatoDTO->setNumIdPais($numIdPaisBrasil);  
762 - $objContatoDTO->setStrCep(BancoSEI::getInstance()->formatarLeituraStr($orgao['ceporgao']));  
763 - $objContatoDTO->setStrObservacao(null);  
764 - $objContatoDTO->setStrSinEnderecoAssociado('N');  
765 - $objContatoDTO->setStrSinAtivo('S');  
766 - $objContatoDTO->setStrStaOperacao('REPLICACAO');  
767 -  
768 - $objContatoDTO = $objContatoRN->cadastrarRN0322($objContatoDTO);  
769 -  
770 - BancoSEI::getInstance()->executarSql('update orgao set id_contato='.$objContatoDTO->getNumIdContato().' where id_orgao='.BancoSEI::getInstance()->formatarLeituraNum($orgao['idorgao']));  
771 - }  
772 -  
773 - }catch(Exception $e){  
774 - throw new InfraException('Erro criando contatos para órgãos.', $e);  
775 - }  
776 - }  
777 -  
778 - public function fixContatoCidadeUfPais(){  
779 - try {  
780 - InfraDebug::getInstance()->gravar('ATUALIZANDO CIDADE, UF E PAIS EM CONTATOS...');  
781 -  
782 - $rs = BancoSEI::getInstance()->consultarSql('select '.  
783 - BancoSEI::getInstance()->formatarSelecaoNum('contato', 'id_contato', 'idcontato').','.  
784 - BancoSEI::getInstance()->formatarSelecaoStr('contato', 'nome_cidade', 'nomecidadecontato').','.  
785 - BancoSEI::getInstance()->formatarSelecaoStr('contato', 'sigla_estado', 'siglaestadocontato').','.  
786 - BancoSEI::getInstance()->formatarSelecaoStr('contato', 'nome_pais', 'nomepaiscontato').  
787 - ' from contato');  
788 -  
789 - $objPaisDTO = new PaisDTO();  
790 - $objPaisDTO->retNumIdPais();  
791 - $objPaisDTO->retStrNome();  
792 -  
793 - $objPaisRN = new PaisRN();  
794 - $arrObjPaisDTO = $objPaisRN->listar($objPaisDTO);  
795 -  
796 - $numIdPaisBrasil = null;  
797 - foreach($arrObjPaisDTO as $objPaisDTO){  
798 - $objPaisDTO->setStrNome(InfraString::transformarCaixaAlta($objPaisDTO->getStrNome()));  
799 -  
800 - if ($objPaisDTO->getStrNome()=='BRASIL'){  
801 - $numIdPaisBrasil = $objPaisDTO->getNumIdPais();  
802 - }  
803 - }  
804 -  
805 - $arrObjPaisDTO = InfraArray::indexarArrInfraDTO($arrObjPaisDTO,'Nome');  
806 -  
807 - $objUfDTO = new UfDTO();  
808 - $objUfDTO->retNumIdPais();  
809 - $objUfDTO->retNumIdUf();  
810 - $objUfDTO->retStrSigla();  
811 -  
812 - $objUfRN = new UfRN();  
813 - $arrObjUfDTO = $objUfRN->listarRN0401($objUfDTO);  
814 -  
815 - foreach($arrObjUfDTO as $objUfDTO){  
816 - $objUfDTO->setStrSigla(InfraString::transformarCaixaAlta($objUfDTO->getStrSigla()));  
817 - }  
818 -  
819 - $arrObjUfDTO = InfraArray::indexarArrInfraDTO($arrObjUfDTO,'Sigla',true);  
820 -  
821 - $objCidadeDTO = new CidadeDTO();  
822 - $objCidadeDTO->retNumIdPais();  
823 - $objCidadeDTO->retNumIdUf();  
824 - $objCidadeDTO->retNumIdCidade();  
825 - $objCidadeDTO->retStrNome();  
826 -  
827 - $objCidadeRN = new CidadeRN();  
828 - $arrObjCidadeDTO = $objCidadeRN->listarRN0410($objCidadeDTO);  
829 -  
830 - foreach($arrObjCidadeDTO as $objCidadeDTO){  
831 - $objCidadeDTO->setStrNome(InfraString::transformarCaixaAlta($objCidadeDTO->getStrNome()));  
832 - }  
833 -  
834 - $arrObjCidadeDTO = InfraArray::indexarArrInfraDTO($arrObjCidadeDTO,'Nome',true);  
835 -  
836 - $numRegistros = count($rs);  
837 - $n = 0;  
838 - InfraDebug::getInstance()->setBolDebugInfra(false);  
839 - foreach($rs as $contato) {  
840 -  
841 - if ((++$n >=1000 && $n%1000==0) || $n==$numRegistros){  
842 - InfraDebug::getInstance()->gravar('CONTATOS: '.$n.' DE '.$numRegistros);  
843 - }  
844 -  
845 - $numIdContato = BancoSEI::getInstance()->formatarLeituraNum($contato['idcontato']);  
846 - $strNomeCidade = trim(InfraString::transformarCaixaAlta(BancoSEI::getInstance()->formatarLeituraStr($contato['nomecidadecontato'])));  
847 - $strSiglaEstado = trim(InfraString::transformarCaixaAlta(BancoSEI::getInstance()->formatarLeituraStr($contato['siglaestadocontato'])));  
848 - $strNomePais = trim(InfraString::transformarCaixaAlta(BancoSEI::getInstance()->formatarLeituraStr($contato['nomepaiscontato'])));  
849 -  
850 - $numIdPais = $numIdPaisBrasil;  
851 - if ($strNomePais!=null && isset($arrObjPaisDTO[$strNomePais])){  
852 - $numIdPais = $arrObjPaisDTO[$strNomePais]->getNumIdPais();  
853 - }  
854 -  
855 - $numIdUf = null;  
856 - if ($strSiglaEstado!=null && isset($arrObjUfDTO[$strSiglaEstado])){  
857 - foreach($arrObjUfDTO[$strSiglaEstado] as $objUfDTO){  
858 - if ($objUfDTO->getNumIdPais()==$numIdPais){  
859 - $numIdUf = $objUfDTO->getNumIdUf();  
860 - break;  
861 - }  
862 - }  
863 - }  
864 -  
865 - $numIdCidade = null;  
866 - if ($strNomeCidade!=null && isset($arrObjCidadeDTO[$strNomeCidade])){  
867 - foreach($arrObjCidadeDTO[$strNomeCidade] as $objCidadeDTO){  
868 - if ($objCidadeDTO->getNumIdPais()==$numIdPais && ($numIdUf==null || $numIdUf==$objCidadeDTO->getNumIdUf())){  
869 - $numIdCidade = $objCidadeDTO->getNumIdCidade();  
870 - break;  
871 - }  
872 - }  
873 - }  
874 -  
875 - BancoSEI::getInstance()->executarSql('update contato set id_pais='.BancoSEI::getInstance()->formatarGravacaoNum($numIdPais).', id_uf='.BancoSEI::getInstance()->formatarGravacaoNum($numIdUf).',id_cidade='.BancoSEI::getInstance()->formatarGravacaoNum($numIdCidade).' where id_contato='.BancoSEI::getInstance()->formatarGravacaoNum($numIdContato));  
876 - }  
877 - InfraDebug::getInstance()->setBolDebugInfra(true);  
878 -  
879 - }catch(Exception $e){  
880 - throw new InfraException('Erro atualizando cidade, uf e pais em contatos.', $e);  
881 - }  
882 - }  
883 -  
884 - protected function fixAssociarUsuariosOrgaosControlado(){  
885 - try {  
886 - InfraDebug::getInstance()->gravar('ASSOCIANDO CONTATOS DE ORGAOS E USUARIOS...');  
887 -  
888 - $objUsuarioDTO = new UsuarioDTO();  
889 - $objUsuarioDTO->setBolExclusaoLogica(false);  
890 - $objUsuarioDTO->retNumIdOrgao();  
891 - $objUsuarioDTO->retNumIdContato();  
892 - $objUsuarioDTO->setStrStaTipo(UsuarioRN::$TU_SIP);  
893 -  
894 - $objUsuarioRN = new UsuarioRN();  
895 - $arrObjUsuarioDTO = $objUsuarioRN->listarRN0490($objUsuarioDTO);  
896 -  
897 - $objOrgaoDTO = new OrgaoDTO();  
898 - $objOrgaoDTO->setBolExclusaoLogica(false);  
899 - $objOrgaoDTO->retNumIdOrgao();  
900 - $objOrgaoDTO->retNumIdContato();  
901 -  
902 - $objOrgaoRN = new OrgaoRN();  
903 - $arrObjOrgaoDTO = InfraArray::indexarArrInfraDTO($objOrgaoRN->listarRN1353($objOrgaoDTO),'IdOrgao');  
904 -  
905 - $objContatoBD = new ContatoBD(BancoSEI::getInstance());  
906 -  
907 - $numRegistros = count($arrObjUsuarioDTO);  
908 - $n = 0;  
909 -  
910 - InfraDebug::getInstance()->setBolDebugInfra(false);  
911 - foreach($arrObjUsuarioDTO as $objUsuarioDTO) {  
912 -  
913 - if ((++$n >=500 && $n%500==0) || $n==$numRegistros){  
914 - InfraDebug::getInstance()->gravar('USUARIOS: '.$n.' DE '.$numRegistros);  
915 - }  
916 -  
917 - $dto = new ContatoDTO();  
918 - $dto->setNumIdContatoAssociado($arrObjOrgaoDTO[$objUsuarioDTO->getNumIdOrgao()]->getNumIdContato());  
919 - $dto->setStrSinEnderecoAssociado('S');  
920 - $dto->setNumIdContato($objUsuarioDTO->getNumIdContato());  
921 - $objContatoBD->alterar($dto);  
922 - }  
923 - InfraDebug::getInstance()->setBolDebugInfra(true);  
924 -  
925 - }catch(Exception $e){  
926 - throw new InfraException('Erro associando contatos de usuários com órgãos.', $e);  
927 - }  
928 - }  
929 -  
930 - protected function fixAssociarUnidadesOrgaosControlado(){  
931 - try {  
932 - InfraDebug::getInstance()->gravar('ASSOCIANDO CONTATOS DE ORGAOS E UNIDADES...');  
933 -  
934 - $objUnidadeDTO = new UnidadeDTO();  
935 - $objUnidadeDTO->setBolExclusaoLogica(false);  
936 - $objUnidadeDTO->retNumIdOrgao();  
937 - $objUnidadeDTO->retNumIdContato();  
938 -  
939 - $objUnidadeRN = new UnidadeRN();  
940 - $arrObjUnidadeDTO = $objUnidadeRN->listarRN0127($objUnidadeDTO);  
941 -  
942 - $objOrgaoDTO = new OrgaoDTO();  
943 - $objOrgaoDTO->setBolExclusaoLogica(false);  
944 - $objOrgaoDTO->retNumIdOrgao();  
945 - $objOrgaoDTO->retNumIdContato();  
946 -  
947 - $objOrgaoRN = new OrgaoRN();  
948 - $arrObjOrgaoDTO = InfraArray::indexarArrInfraDTO($objOrgaoRN->listarRN1353($objOrgaoDTO),'IdOrgao');  
949 -  
950 - $objContatoBD = new ContatoBD(BancoSEI::getInstance());  
951 -  
952 - $numRegistros = count($arrObjUnidadeDTO);  
953 - $n = 0;  
954 -  
955 - InfraDebug::getInstance()->setBolDebugInfra(false);  
956 - foreach($arrObjUnidadeDTO as $objUnidadeDTO) {  
957 -  
958 - if ((++$n >=100 && $n%100==0) || $n==$numRegistros){  
959 - InfraDebug::getInstance()->gravar('UNIDADES: '.$n.' DE '.$numRegistros);  
960 - }  
961 -  
962 - $dto = new ContatoDTO();  
963 - $dto->setNumIdContatoAssociado($arrObjOrgaoDTO[$objUnidadeDTO->getNumIdOrgao()]->getNumIdContato());  
964 - $dto->setStrSinEnderecoAssociado('N');  
965 - $dto->setNumIdContato($objUnidadeDTO->getNumIdContato());  
966 - $objContatoBD->alterar($dto);  
967 - }  
968 - InfraDebug::getInstance()->setBolDebugInfra(true);  
969 -  
970 - }catch(Exception $e){  
971 - throw new InfraException('Erro associando contatos de unidades com órgãos.', $e);  
972 - }  
973 - }  
974 -  
975 - public function fixControleInterno(){  
976 - try {  
977 -  
978 - InfraDebug::getInstance()->gravar('PROCESSANDO DADOS DE CONTROLE INTERNO...');  
979 -  
980 - //obtem processos restritos com acesso automatico  
981 - $objAtividadeDTO = new AtividadeDTO();  
982 - $objAtividadeDTO->setDistinct(true);  
983 - $objAtividadeDTO->retDblIdProtocolo();  
984 - $objAtividadeDTO->setStrStaNivelAcessoGlobalProtocolo(ProtocoloRN::$NA_RESTRITO);  
985 - $objAtividadeDTO->setNumIdTarefa(49);  
986 -  
987 - $objAtividadeRN = new AtividadeRN();  
988 - $arrIdProcessos = InfraArray::converterArrInfraDTO($objAtividadeRN->listarRN0036($objAtividadeDTO),'IdProtocolo');  
989 -  
990 - $objRelProtocoloProtocoloRN = new RelProtocoloProtocoloRN();  
991 -  
992 - $numRegistros = count($arrIdProcessos);  
993 - $n = 0;  
994 - InfraDebug::getInstance()->setBolDebugInfra(false);  
995 -  
996 - InfraDebug::getInstance()->gravar('REMOVENDO DADOS DE CONTROLE INTERNO ANTIGOS DE PROCESSOS...');  
997 -  
998 - foreach($arrIdProcessos as $dblIdProcesso) {  
999 -  
1000 - if ((++$n >=100 && $n%100==0) || $n==$numRegistros){  
1001 - InfraDebug::getInstance()->gravar($n.' DE '.$numRegistros);  
1002 - }  
1003 -  
1004 - //busca processos anexados  
1005 - $objRelProtocoloProtocoloDTO = new RelProtocoloProtocoloDTO();  
1006 - $objRelProtocoloProtocoloDTO->retDblIdProtocolo2();  
1007 - $objRelProtocoloProtocoloDTO->setStrStaAssociacao(RelProtocoloProtocoloRN::$TA_PROCEDIMENTO_ANEXADO);  
1008 - $objRelProtocoloProtocoloDTO->setDblIdProtocolo1($dblIdProcesso);  
1009 - $arrObjRelProtocoloProtocoloDTO = $objRelProtocoloProtocoloRN->listarRN0187($objRelProtocoloProtocoloDTO);  
1010 -  
1011 - $arrIdProtocolos = InfraArray::converterArrInfraDTO($arrObjRelProtocoloProtocoloDTO, 'IdProtocolo2');  
1012 - $arrIdProtocolos[] = $dblIdProcesso;  
1013 -  
1014 - //busca unidades de controle com acesso neste processo  
1015 - $objAtividadeDTO = new AtividadeDTO();  
1016 - $objAtividadeDTO->retNumIdUnidade();  
1017 - $objAtividadeDTO->setNumIdTarefa(49);  
1018 - $objAtividadeDTO->setDblIdProtocolo($dblIdProcesso);  
1019 - $arrIdUnidades = InfraArray::converterArrInfraDTO($objAtividadeRN->listarRN0036($objAtividadeDTO), 'IdUnidade');  
1020 -  
1021 - //remove andamentos de acesso automatico do processo  
1022 - BancoSEI::getInstance()->executarSql('delete from atividade where id_protocolo='.$dblIdProcesso.' and id_tarefa=49');  
1023 -  
1024 - //busca outros andamentos das unidades (se existirem)  
1025 - $objAtividadeDTO = new AtividadeDTO();  
1026 - $objAtividadeDTO->setDistinct(true);  
1027 - $objAtividadeDTO->retNumIdUnidade();  
1028 - $objAtividadeDTO->setDblIdProtocolo($dblIdProcesso);  
1029 - $objAtividadeDTO->setNumIdUnidade($arrIdUnidades,InfraDTO::$OPER_IN);  
1030 - $arrIdUnidadesOutroAndamento = InfraArray::converterArrInfraDTO($objAtividadeRN->listarRN0036($objAtividadeDTO), 'IdUnidade');  
1031 -  
1032 - //remove acessos das unidades que nao possuem outros andamentos  
1033 - foreach ($arrIdUnidades as $numIdUnidade) {  
1034 - if (!in_array($numIdUnidade,$arrIdUnidadesOutroAndamento)){  
1035 - BancoSEI::getInstance()->executarSql('delete from acesso where sta_tipo=\'R\' and id_unidade=' . $numIdUnidade . ' and id_protocolo='.$dblIdProcesso);  
1036 - }  
1037 - }  
1038 - }  
1039 - InfraDebug::getInstance()->setBolDebugInfra(true);  
1040 -  
1041 - //remove andamentos de acesso automatico de processos com nivel de acesso publico/sigiloso  
1042 - BancoSEI::getInstance()->executarSql('delete from atividade where id_tarefa=49');  
1043 -  
1044 - BancoSEI::getInstance()->executarSql('delete from tarefa where id_tarefa=49');  
1045 -  
1046 - $objControleInternoDTO = new ControleInternoDTO();  
1047 - $objControleInternoDTO->setDistinct(true);  
1048 - $objControleInternoDTO->retNumIdUnidadeControle();  
1049 - $objControleInternoDTO->retNumIdOrgaoControlado();  
1050 - $objControleInternoDTO->retNumIdTipoProcedimentoControlado();  
1051 - $objControleInternoDTO->setNumIdTipoProcedimentoControlado(null, InfraDTO::$OPER_DIFERENTE);  
1052 -  
1053 - $objControleInternoRN = new ControleInternoRN();  
1054 - $arrObjControleInternoDTO = InfraArray::indexarArrInfraDTO($objControleInternoRN->listar($objControleInternoDTO),'IdUnidadeControle',true);  
1055 -  
1056 -  
1057 - $objProcedimentoRN = new ProcedimentoRN();  
1058 - $objDocumentoRN = new DocumentoRN();  
1059 - $objAcessoRN = new AcessoRN();  
1060 -  
1061 - $arrProcessosControleInterno = array();  
1062 -  
1063 - InfraDebug::getInstance()->setBolDebugInfra(false);  
1064 -  
1065 - foreach($arrObjControleInternoDTO as $numIdUnidade => $arrObjControleInternoDTOUnidade) {  
1066 -  
1067 - foreach ($arrObjControleInternoDTOUnidade as $objControleInternoDTO) {  
1068 -  
1069 - InfraDebug::getInstance()->gravar('CRITERIO TIPO DE PROCESSO: '.$numIdUnidade.' / '.$objControleInternoDTO->getNumIdOrgaoControlado().' / '.$objControleInternoDTO->getNumIdTipoProcedimentoControlado());  
1070 -  
1071 - $objProcedimentoDTO = new ProcedimentoDTO();  
1072 - $objProcedimentoDTO->retDblIdProcedimento();  
1073 - $objProcedimentoDTO->setNumIdTipoProcedimento($objControleInternoDTO->getNumIdTipoProcedimentoControlado());  
1074 - $objProcedimentoDTO->setNumIdOrgaoUnidadeGeradoraProtocolo($objControleInternoDTO->getNumIdOrgaoControlado());  
1075 - $objProcedimentoDTO->setStrStaNivelAcessoGlobalProtocolo(ProtocoloRN::$NA_RESTRITO);  
1076 - $arrIdProcedimentoPartes = array_chunk(InfraArray::converterArrInfraDTO($objProcedimentoRN->listarRN0278($objProcedimentoDTO), 'IdProcedimento'), 100);  
1077 -  
1078 - if (count($arrIdProcedimentoPartes)) {  
1079 -  
1080 - $dto = new ControleInternoDTO();  
1081 - $dto->retNumIdControleInterno();  
1082 - $dto->setNumIdOrgaoControlado($objControleInternoDTO->getNumIdOrgaoControlado());  
1083 - $dto->setNumIdTipoProcedimentoControlado($objControleInternoDTO->getNumIdTipoProcedimentoControlado());  
1084 - $dto->setNumIdUnidadeControle($numIdUnidade);  
1085 - $arr = $objControleInternoRN->listar($dto);  
1086 -  
1087 - foreach($arr as $dto) {  
1088 - foreach ($arrIdProcedimentoPartes as $arrIdProcedimento) {  
1089 - $arrObjAcessoDTO = array();  
1090 - foreach ($arrIdProcedimento as $dblIdProcedimento) {  
1091 - if (!isset($arrProcessosControleInterno[$dblIdProcedimento][$numIdUnidade][$dto->getNumIdControleInterno()])) {  
1092 - $objAcessoDTO = new AcessoDTO();  
1093 - $objAcessoDTO->setNumIdAcesso(null);  
1094 - $objAcessoDTO->setNumIdUnidade($numIdUnidade);  
1095 - $objAcessoDTO->setNumIdUsuario(null);  
1096 - $objAcessoDTO->setDblIdProtocolo($dblIdProcedimento);  
1097 - $objAcessoDTO->setNumIdControleInterno($dto->getNumIdControleInterno());  
1098 - $objAcessoDTO->setStrStaTipo(AcessoRN::$TA_CONTROLE_INTERNO);  
1099 - $arrObjAcessoDTO[] = $objAcessoDTO;  
1100 -  
1101 - $arrProcessosControleInterno[$dblIdProcedimento][$numIdUnidade][$dto->getNumIdControleInterno()] = 0;  
1102 - }  
1103 - }  
1104 - $objAcessoRN->cadastrarMultiplo($arrObjAcessoDTO);  
1105 - }  
1106 - }  
1107 - }  
1108 - }  
1109 - }  
1110 -  
1111 - $objControleInternoDTO = new ControleInternoDTO();  
1112 - $objControleInternoDTO->setDistinct(true);  
1113 - $objControleInternoDTO->retNumIdUnidadeControle();  
1114 - $objControleInternoDTO->retNumIdOrgaoControlado();  
1115 - $objControleInternoDTO->retNumIdSerieControlada();  
1116 - $objControleInternoDTO->setNumIdSerieControlada(null,InfraDTO::$OPER_DIFERENTE);  
1117 -  
1118 - $objControleInternoRN = new ControleInternoRN();  
1119 - $arrObjControleInternoDTO = InfraArray::indexarArrInfraDTO($objControleInternoRN->listar($objControleInternoDTO),'IdUnidadeControle',true);  
1120 -  
1121 - foreach($arrObjControleInternoDTO as $numIdUnidade => $arrObjControleInternoDTOUnidade) {  
1122 -  
1123 - foreach ($arrObjControleInternoDTOUnidade as $objControleInternoDTO) {  
1124 -  
1125 - InfraDebug::getInstance()->gravar('CRITERIO TIPO DE DOCUMENTO: '.$numIdUnidade.' / '.$objControleInternoDTO->getNumIdOrgaoControlado().' / '.$objControleInternoDTO->getNumIdSerieControlada());  
1126 -  
1127 - $objDocumentoDTO = new DocumentoDTO();  
1128 - $objDocumentoDTO->setDistinct(true);  
1129 - $objDocumentoDTO->retDblIdProcedimento();  
1130 - $objDocumentoDTO->setNumIdSerie($objControleInternoDTO->getNumIdSerieControlada());  
1131 - $objDocumentoDTO->setNumIdOrgaoUnidadeGeradoraProtocolo($objControleInternoDTO->getNumIdOrgaoControlado());  
1132 - $objDocumentoDTO->setStrStaNivelAcessoGlobalProtocolo(ProtocoloRN::$NA_RESTRITO);  
1133 - $arrIdProcedimentoPartes = array_chunk(InfraArray::converterArrInfraDTO($objDocumentoRN->listarRN0008($objDocumentoDTO),'IdProcedimento'),100);  
1134 -  
1135 - if (count($arrIdProcedimentoPartes)) {  
1136 -  
1137 - $dto = new ControleInternoDTO();  
1138 - $dto->retNumIdControleInterno();  
1139 - $dto->setNumIdOrgaoControlado($objControleInternoDTO->getNumIdOrgaoControlado());  
1140 - $dto->setNumIdSerieControlada($objControleInternoDTO->getNumIdSerieControlada());  
1141 - $dto->setNumIdUnidadeControle($numIdUnidade);  
1142 - $arr = $objControleInternoRN->listar($dto);  
1143 -  
1144 - foreach($arr as $dto) {  
1145 -  
1146 - foreach ($arrIdProcedimentoPartes as $arrIdProcedimento) {  
1147 - $arrObjAcessoDTO = array();  
1148 - foreach ($arrIdProcedimento as $dblIdProcedimento) {  
1149 - if (!isset($arrProcessosControleInterno[$dblIdProcedimento][$numIdUnidade][$dto->getNumIdControleInterno()])) {  
1150 - $objAcessoDTO = new AcessoDTO();  
1151 - $objAcessoDTO->setNumIdAcesso(null);  
1152 - $objAcessoDTO->setNumIdUnidade($numIdUnidade);  
1153 - $objAcessoDTO->setNumIdUsuario(null);  
1154 - $objAcessoDTO->setDblIdProtocolo($dblIdProcedimento);  
1155 - $objAcessoDTO->setNumIdControleInterno($dto->getNumIdControleInterno());  
1156 - $objAcessoDTO->setStrStaTipo(AcessoRN::$TA_CONTROLE_INTERNO);  
1157 - $arrObjAcessoDTO[] = $objAcessoDTO;  
1158 -  
1159 - $arrProcessosControleInterno[$dblIdProcedimento][$numIdUnidade][$dto->getNumIdControleInterno()] = 0;  
1160 - }  
1161 - }  
1162 - $objAcessoRN->cadastrarMultiplo($arrObjAcessoDTO);  
1163 - }  
1164 - }  
1165 - }  
1166 - }  
1167 - }  
1168 -  
1169 - $numRegistros = count($arrProcessosControleInterno);  
1170 -  
1171 - $n = 0;  
1172 - foreach($arrProcessosControleInterno as $dblIdProcedimento => $arrIdUnidades) {  
1173 -  
1174 - if ((++$n >=500 && $n%500==0) || $n==$numRegistros){  
1175 - InfraDebug::getInstance()->gravar('VERIFICANDO PROCESSOS ANEXADOS: '.$n.' DE '.$numRegistros);  
1176 - }  
1177 -  
1178 - $objRelProtocoloProtocoloDTO = new RelProtocoloProtocoloDTO();  
1179 - $objRelProtocoloProtocoloDTO->retDblIdProtocolo1();  
1180 - $objRelProtocoloProtocoloDTO->setStrStaAssociacao(RelProtocoloProtocoloRN::$TA_PROCEDIMENTO_ANEXADO);  
1181 - $objRelProtocoloProtocoloDTO->setDblIdProtocolo2($dblIdProcedimento);  
1182 - $objRelProtocoloProtocoloDTO = $objRelProtocoloProtocoloRN->consultarRN0841($objRelProtocoloProtocoloDTO);  
1183 -  
1184 - if ($objRelProtocoloProtocoloDTO!=null){  
1185 - $dblIdProcessoPai = $objRelProtocoloProtocoloDTO->getDblIdProtocolo1();  
1186 - }else{  
1187 - $dblIdProcessoPai = $dblIdProcedimento;  
1188 - }  
1189 -  
1190 - $objRelProtocoloProtocoloDTO = new RelProtocoloProtocoloDTO();  
1191 - $objRelProtocoloProtocoloDTO->retDblIdProtocolo2();  
1192 - $objRelProtocoloProtocoloDTO->setStrStaAssociacao(RelProtocoloProtocoloRN::$TA_PROCEDIMENTO_ANEXADO);  
1193 - $objRelProtocoloProtocoloDTO->setDblIdProtocolo1($dblIdProcessoPai);  
1194 -  
1195 - $objRelProtocoloProtocoloRN = new RelProtocoloProtocoloRN();  
1196 - $arrIdProcessos = InfraArray::converterArrInfraDTO($objRelProtocoloProtocoloRN->listarRN0187($objRelProtocoloProtocoloDTO), 'IdProtocolo2');  
1197 -  
1198 - $arrIdProcessos[] = $dblIdProcessoPai;  
1199 -  
1200 - foreach($arrIdProcessos as $dblIdProcessosAnexosOuAnexados) {  
1201 - foreach (array_keys($arrIdUnidades) as $numIdUnidade) {  
1202 - foreach(array_keys($arrIdUnidades[$numIdUnidade]) as $numIdControleInterno) {  
1203 - if (!isset($arrProcessosControleInterno[$dblIdProcessosAnexosOuAnexados][$numIdUnidade][$numIdControleInterno])) {  
1204 -  
1205 - $objAcessoDTO = new AcessoDTO();  
1206 - $objAcessoDTO->setNumIdAcesso(null);  
1207 - $objAcessoDTO->setNumIdUnidade($numIdUnidade);  
1208 - $objAcessoDTO->setNumIdUsuario(null);  
1209 - $objAcessoDTO->setDblIdProtocolo($dblIdProcessosAnexosOuAnexados);  
1210 - $objAcessoDTO->setNumIdControleInterno($numIdControleInterno);  
1211 - $objAcessoDTO->setStrStaTipo(AcessoRN::$TA_CONTROLE_INTERNO);  
1212 - $objAcessoRN->cadastrar($objAcessoDTO);  
1213 - $arrProcessosControleInterno[$dblIdProcessosAnexosOuAnexados][$numIdUnidade][$numIdControleInterno] = 0;  
1214 - }  
1215 - }  
1216 - }  
1217 - }  
1218 - }  
1219 -  
1220 - InfraDebug::getInstance()->setBolDebugInfra(true);  
1221 -  
1222 - }catch(Exception $e){  
1223 - throw new InfraException('Erro processando dados de Controle Interno.', $e);  
1224 - }  
1225 - }  
1226 -  
1227 - protected function fixPopularCargoTratamentoVocativoControlado(){  
1228 -  
1229 - try{  
1230 -  
1231 - InfraDebug::getInstance()->gravar('POPULANDO CARGOS, TRATAMENTOS E VOCATIVOS...');  
1232 -  
1233 - InfraDebug::getInstance()->setBolDebugInfra(false);  
1234 -  
1235 - $strConteudo = 'A Sua Excelência o Senhor;Almirante da Marinha do Brasil;Senhor Almirante;M  
1236 - A Sua Excelência o Senhor;Brigadeiro da Força Aérea Brasileira;Senhor Brigadeiro;M  
1237 - Ao Senhor;Chefe de Gabinete;Senhor Chefe de Gabinete;M  
1238 - Ao Senhor;Cidadão;Senhor;M  
1239 - A Senhora;Cidadão;Senhora;F  
1240 - A Sua Excelência o Senhor;Cônsul;Senhor Cônsul;M  
1241 - A Sua Excelência a Senhora;Consulesa;Senhora Consulesa;F  
1242 - Ao Senhor;Coordenador;Senhor Coordenador;M  
1243 - A Senhora;Coordenadora;Senhora Coordenadora;F  
1244 - A Senhora;Coordenadora-Geral;Senhora Coordenadora-Geral;F  
1245 - Ao Senhor;Coordenador-Geral;Senhor Coordenador-Geral;M  
1246 - A Sua Excelência a Senhora;Delegada de Polícia;Senhora Delegada;F  
1247 - A Sua Excelência a Senhora;Delegada de Polícia Federal;Senhora Delegada;F  
1248 - A Sua Excelência o Senhor;Delegado de Polícia;Senhor Delegado;M  
1249 - A Sua Excelência o Senhor;Delegado de Polícia Federal;Senhor Delegado;M  
1250 - A Sua Excelência a Senhora;Deputada Estadual;Senhora Deputada;F  
1251 - A Sua Excelência a Senhora;Deputada Federal;Senhora Deputada;F  
1252 - A Sua Excelência o Senhor;Deputado Estadual;Senhor Deputado;M  
1253 - A Sua Excelência o Senhor;Deputado Federal;Senhor Deputado;M  
1254 - A Sua Excelência o Senhor;Desembargador de Justiça;Senhor Desembargador;M  
1255 - A Sua Excelência o Senhor;Desembargador Federal;Senhor Desembargador;M  
1256 - A Sua Excelência a Senhora;Desembargadora de Justiça;Senhora Desembargadora;F  
1257 - A Sua Excelência a Senhora;Desembargadora Federal;Senhora Desembargadora;F  
1258 - Ao Senhor;Diretor;Senhor Diretor;M  
1259 - A Senhora;Diretora;Senhora Diretora;F  
1260 - A Sua Excelência o Senhor;Embaixador;Senhor Embaixador;M  
1261 - A Sua Excelência a Senhora;Embaixadora;Senhora Embaixadora;F  
1262 - A Sua Excelência o Senhor;General do Exército Brasileiro;Senhor General;M  
1263 - A Sua Excelência o Senhor;Governador;Senhor Governador;M  
1264 - A Sua Excelência a Senhora;Governadora;Senhora Governadora;F  
1265 - A Sua Excelência o Senhor;Juiz de Direito;Senhor Juiz;M  
1266 - A Sua Excelência o Senhor;Juiz Federal;Senhor Juiz;M  
1267 - A Sua Excelência a Senhora;Juíza de Direito;Senhora Juíza;F  
1268 - A Sua Excelência a Senhora;Juíza Federal;Senhora Juíza;F  
1269 - A Sua Excelência o Senhor;Marechal do Exército Brasileiro;Senhor Marechal;M  
1270 - A Sua Excelência a Senhora;Ministra de Estado;Senhora Ministra;F  
1271 - A Sua Excelência o Senhor;Ministro de Estado;Senhor Chefe da Casa Militar;M  
1272 - A Sua Excelência o Senhor;Ministro de Estado;Senhor Ministro;M  
1273 - A Sua Excelência a Senhora;Prefeita Municipal;Senhora Prefeita;F  
1274 - A Sua Excelência o Senhor;Prefeito Municipal;Senhor Prefeito;M  
1275 - A Senhora;Presidenta;Senhora Presidenta;F  
1276 - A Sua Excelência a Senhora;Presidenta da Assembleia Legislativa;Senhora Presidenta da Assembleia Legislativa;F  
1277 - A Sua Excelência a Senhora;Presidenta da Câmara Legislativa;Senhora Presidenta da Câmara Legislativa;F  
1278 - A Sua Excelência a Senhora;Presidenta da Câmara Municipal;Senhora Presidenta da Câmara Municipal;F  
1279 - A Sua Excelência a Senhora;Presidenta da República;Excelentíssima Senhora Presidenta da República;F  
1280 - A Sua Excelência a Senhora;Presidenta do Congresso Nacional;Excelentíssima Senhora Presidenta;F  
1281 - A Sua Excelência a Senhora;Presidenta do Supremo Tribunal Federal;Excelentíssima Senhora Presidenta;F  
1282 - Ao Senhor;Presidente;Senhor Presidente;M  
1283 - A Sua Excelência o Senhor;Presidente da Assembleia Legislativa;Senhor Presidente da Assembleia Legislativa;M  
1284 - A Sua Excelência o Senhor;Presidente da Câmara Legislativa;Senhor Presidente da Câmara Legislativa;M  
1285 - A Sua Excelência o Senhor;Presidente da Câmara Municipal;Senhor Presidente da Câmara Municipal;M  
1286 - A Sua Excelência o Senhor;Presidente da República;Excelentíssimo Senhor Presidente da República;M  
1287 - A Sua Excelência o Senhor;Presidente do Congresso Nacional;Excelentíssimo Senhor Presidente;M  
1288 - A Sua Excelência o Senhor;Presidente do Supremo Tribunal Federal;Excelentíssimo Senhor Presidente;M  
1289 - A Sua Excelência o Senhor;Procurador da República;Senhor Procurador;M  
1290 - A Sua Excelência a Senhora;Procuradora da República;Senhora Procuradora;F  
1291 - A Sua Excelência o Senhor;Procurador do Estado;Senhor Procurador;M  
1292 - A Sua Excelência a Senhora;Procuradora do Estado;Senhora Procuradora;F  
1293 - A Sua Excelência o Senhor;Promotor de Justiça;Senhor Promotor;M  
1294 - A Sua Excelência a Senhora;Promotora de Justiça;Senhora Promotora;F  
1295 - Ao Senhor;Reitor;Magnífico Reitor;M  
1296 - A Senhora;Reitora;Magnífica Reitora;F  
1297 - A Senhora;Secretária;Senhora Secretária;F  
1298 - A Sua Excelência a Senhora;Secretária de Estado;Senhora Secretária;F  
1299 - Ao Senhor;Secretário;Senhor Secretário;M  
1300 - A Sua Excelência o Senhor;Secretário de Estado;Senhor Secretário;M  
1301 - A Sua Excelência o Senhor;Secretário-Adjunto;Senhor Secretário;M  
1302 - A Sua Excelência o Senhor;Secretário-Executivo;Senhor Secretário;M  
1303 - A Sua Excelência o Senhor;Secretário-Executivo Adjunto;Senhor Secretário;M  
1304 - A Sua Excelência o Senhor;Secretário-Executivo Substituto;Senhor Secretário;M  
1305 - A Sua Excelência o Senhor;Senador da República;Senhor Senador;M  
1306 - A Sua Excelência a Senhora;Senadora da República;Senhora Senadora;F  
1307 - Ao Senhor;Superintendente;Senhor Superintendente;M  
1308 - A Senhora;Superintendente;Senhora Superintendente;F  
1309 - Ao Senhor;Vereador;Senhor Vereador;M  
1310 - A Senhora;Vereadora;Senhora Vereadora;F  
1311 - Ao Senhor;Vice-Presidente;Senhor Vice-Presidente;M  
1312 - A Sua Excelência o Senhor;Vice-Presidente da República;Senhor Vice-Presidente da República;M  
1313 - Ao Senhor;Vice-Reitor;Senhor Vice-Reitor;M  
1314 - A Senhora;Vice-Reitora;Senhora Vice-Reitora;F  
1315 - Ao Senhor;Gerente;Senhor Gerente;M  
1316 - A Senhora;Gerente;Senhora Gerente;F';  
1317 -  
1318 -$arrLinhas = explode("\n",$strConteudo);  
1319 -  
1320 -$objTratamentoRN = new TratamentoRN();  
1321 -$objCargoRN = new CargoRN();  
1322 -$objVocativoRN = new VocativoRN();  
1323 -  
1324 -$arrIdTratamento = array();  
1325 -$arrIdVocativo = array();  
1326 -  
1327 -foreach($arrLinhas as $strLinha){  
1328 - $arrColunas = explode(';', $strLinha);  
1329 -  
1330 - $arrColunas[0] = trim($arrColunas[0]);  
1331 - $arrColunas[1] = trim($arrColunas[1]);  
1332 - $arrColunas[2] = trim($arrColunas[2]);  
1333 - $arrColunas[3] = trim($arrColunas[3]);  
1334 -  
1335 - $objCargoDTO = new CargoDTO();  
1336 - $objCargoDTO->setBolExclusaoLogica(false);  
1337 - $objCargoDTO->retNumIdCargo();  
1338 - $objCargoDTO->setStrExpressao($arrColunas[1]);  
1339 -  
1340 - $objCargoDTO->adicionarCriterio(array('StaGenero','StaGenero'),  
1341 - array(InfraDTO::$OPER_IGUAL, InfraDTO::$OPER_IGUAL),  
1342 - array(null, $arrColunas[3]),  
1343 - InfraDTO::$OPER_LOGICO_OR);  
1344 -  
1345 - $objCargoDTO->setNumMaxRegistrosRetorno(1);  
1346 -  
1347 - if ($objCargoRN->consultarRN0301($objCargoDTO) == null) {  
1348 -  
1349 - if (!isset($arrIdTratamento[$arrColunas[0]])) {  
1350 -  
1351 - $objTratamentoDTO = new TratamentoDTO();  
1352 - $objTratamentoDTO->setBolExclusaoLogica(false);  
1353 - $objTratamentoDTO->retNumIdTratamento();  
1354 - $objTratamentoDTO->setStrExpressao($arrColunas[0]);  
1355 - $objTratamentoDTO->setNumMaxRegistrosRetorno(1);  
1356 - $objTratamentoDTO = $objTratamentoRN->consultarRN0317($objTratamentoDTO);  
1357 -  
1358 - if ($objTratamentoDTO == null) {  
1359 - $objTratamentoDTO = new TratamentoDTO();  
1360 - $objTratamentoDTO->setNumIdTratamento(null);  
1361 - $objTratamentoDTO->setStrExpressao($arrColunas[0]);  
1362 - $objTratamentoDTO->setStrSinAtivo('S');  
1363 - $objTratamentoDTO = $objTratamentoRN->cadastrarRN0315($objTratamentoDTO);  
1364 - }  
1365 -  
1366 - $arrIdTratamento[$arrColunas[0]] = $objTratamentoDTO->getNumIdTratamento();  
1367 - }  
1368 -  
1369 - if (!isset($arrIdVocativo[$arrColunas[2]])) {  
1370 -  
1371 - $objVocativoDTO = new VocativoDTO();  
1372 - $objVocativoDTO->setBolExclusaoLogica(false);  
1373 - $objVocativoDTO->retNumIdVocativo();  
1374 - $objVocativoDTO->setStrExpressao($arrColunas[2]);  
1375 - $objVocativoDTO->setNumMaxRegistrosRetorno(1);  
1376 - $objVocativoDTO = $objVocativoRN->consultarRN0309($objVocativoDTO);  
1377 -  
1378 - if ($objVocativoDTO == null) {  
1379 - $objVocativoDTO = new VocativoDTO();  
1380 - $objVocativoDTO->setNumIdVocativo(null);  
1381 - $objVocativoDTO->setStrExpressao($arrColunas[2]);  
1382 - $objVocativoDTO->setStrSinAtivo('S');  
1383 - $objVocativoDTO = $objVocativoRN->cadastrarRN0307($objVocativoDTO);  
1384 - }  
1385 -  
1386 - $arrIdVocativo[$arrColunas[2]] = $objVocativoDTO->getNumIdVocativo();  
1387 - }  
1388 -  
1389 - $objCargoDTO = new CargoDTO();  
1390 - $objCargoDTO->setNumIdCargo(null);  
1391 - $objCargoDTO->setStrExpressao($arrColunas[1]);  
1392 - $objCargoDTO->setNumIdTratamento($arrIdTratamento[$arrColunas[0]]);  
1393 - $objCargoDTO->setNumIdVocativo($arrIdVocativo[$arrColunas[2]]);  
1394 - $objCargoDTO->setStrStaGenero($arrColunas[3]);  
1395 - $objCargoDTO->setStrSinAtivo('S');  
1396 - $objCargoRN->cadastrarRN0299($objCargoDTO);  
1397 - }  
1398 -}  
1399 -  
1400 -InfraDebug::getInstance()->setBolDebugInfra(true);  
1401 -  
1402 - }catch(Exception $e){  
1403 - throw new InfraException('Erro populando dados de Cargo, Tratamento e Vocativo.', $e);  
1404 - }  
1405 - }  
1406 -  
1407 - public function migrarDadosDocumentos(){  
1408 -  
1409 - try{  
1410 -  
1411 - $rsProtocolos = BancoSEI::getInstance()->consultarSql('select '.BancoSEI::getInstance()->formatarSelecaoDbl('protocolo', 'id_protocolo', 'idprotocolo').' from protocolo where sta_protocolo='.BancoSEI::getInstance()->formatarGravacaoStr(ProtocoloRN::$TP_DOCUMENTO_GERADO));  
1412 -  
1413 - $rsAssinaturas = BancoSEI::getInstance()->consultarSql('select distinct '.BancoSEI::getInstance()->formatarSelecaoDbl('assinatura', 'id_documento', 'idprotocolo').' from assinatura inner join protocolo on assinatura.id_documento=protocolo.id_protocolo and protocolo.sta_protocolo='.BancoSEI::getInstance()->formatarGravacaoStr(ProtocoloRN::$TP_DOCUMENTO_RECEBIDO));  
1414 -  
1415 - $rsProtocolos = array_merge($rsProtocolos, $rsAssinaturas);  
1416 -  
1417 - $numRegistros = count($rsProtocolos);  
1418 - $n = 0;  
1419 -  
1420 - $objDocumentoConteudoBD = new DocumentoConteudoBD(BancoSEI::getInstance());  
1421 -  
1422 -  
1423 - InfraDebug::getInstance()->setBolDebugInfra(false);  
1424 - foreach($rsProtocolos as $item){  
1425 -  
1426 - $dblIdProtocolo = BancoSEI::getInstance()->formatarLeituraDbl($item['idprotocolo']);  
1427 -  
1428 - if ((++$n >=1000 && $n%1000==0) || $n==$numRegistros){  
1429 - InfraDebug::getInstance()->gravar('MIGRANDO DADOS DE DOCUMENTOS: '.$n.' DE '.$numRegistros);  
1430 - }  
1431 -  
1432 - $rs = BancoSEI::getInstance()->consultarSql('select '.  
1433 - BancoSEI::getInstance()->formatarSelecaoNum('documento', 'conteudo', 'documentoconteudo').','.  
1434 - BancoSEI::getInstance()->formatarSelecaoStr('documento', 'conteudo_assinatura', 'conteudoassinatura').','.  
1435 - BancoSEI::getInstance()->formatarSelecaoStr('documento', 'crc_assinatura', 'crcassinatura').','.  
1436 - BancoSEI::getInstance()->formatarSelecaoStr('documento', 'qr_code_assinatura', 'qrcodeassinatura').  
1437 - ' from documento where id_documento='.BancoSEI::getInstance()->formatarGravacaoDbl($dblIdProtocolo));  
1438 -  
1439 -  
1440 - if (count($rs)==1) {  
1441 -  
1442 - $objDocumentoConteudoDTO = new DocumentoConteudoDTO();  
1443 - $objDocumentoConteudoDTO->setStrConteudo(BancoSEI::getInstance()->formatarLeituraStr($rs[0]['documentoconteudo']));  
1444 - $objDocumentoConteudoDTO->setStrConteudoAssinatura(BancoSEI::getInstance()->formatarLeituraStr($rs[0]['conteudoassinatura']));  
1445 - $objDocumentoConteudoDTO->setStrCrcAssinatura(BancoSEI::getInstance()->formatarLeituraStr($rs[0]['crcassinatura']));  
1446 - $objDocumentoConteudoDTO->setStrQrCodeAssinatura(BancoSEI::getInstance()->formatarLeituraStr($rs[0]['qrcodeassinatura']));  
1447 - $objDocumentoConteudoDTO->setDblIdDocumento($dblIdProtocolo);  
1448 - $objDocumentoConteudoBD->cadastrar($objDocumentoConteudoDTO);  
1449 -  
1450 - BancoSEI::getInstance()->executarSql('update documento set conteudo=null,conteudo_assinatura=null,crc_assinatura=null,qr_code_assinatura=null where id_documento=' . BancoSEI::getInstance()->formatarGravacaoDbl($dblIdProtocolo));  
1451 - }  
1452 - }  
1453 - InfraDebug::getInstance()->setBolDebugInfra(true);  
1454 - }catch(Exception $e){  
1455 - throw new InfraException('Erro migrando conteúdo de documentos internos.', $e);  
1456 - }  
1457 - }  
1458 -  
1459 - public function fixSinAtivoContatos(){  
1460 -  
1461 - try{  
1462 -  
1463 - InfraDebug::getInstance()->setBolDebugInfra(false);  
1464 -  
1465 - $objContatoDTO = new ContatoDTO();  
1466 - $objContatoDTO->setBolExclusaoLogica(false);  
1467 - $objContatoDTO->retNumIdContato();  
1468 - $objContatoDTO->retStrSinAtivo();  
1469 -  
1470 - $objContatoRN = new ContatoRN();  
1471 - $arrObjContatoDTO = InfraArray::indexarArrInfraDTO($objContatoRN->listarRN0325($objContatoDTO),'IdContato');  
1472 -  
1473 - $objContatoBD = new ContatoBD(BancoSEI::getInstance());  
1474 -  
1475 - InfraDebug::getInstance()->gravar('ORGAOS...');  
1476 -  
1477 - $objOrgaoDTO = new OrgaoDTO();  
1478 - $objOrgaoDTO->setBolExclusaoLogica(false);  
1479 - $objOrgaoDTO->retNumIdContato();  
1480 - $objOrgaoDTO->retStrSinAtivo();  
1481 -  
1482 - $objOrgaoRN = new OrgaoRN();  
1483 - $arrObjOrgaoDTO = InfraArray::indexarArrInfraDTO($objOrgaoRN->listarRN1353($objOrgaoDTO),'IdContato');  
1484 -  
1485 - $n = 0;  
1486 - foreach($arrObjOrgaoDTO as $numIdContato => $objOrgaoDTO){  
1487 - if ($arrObjContatoDTO[$numIdContato]->getStrSinAtivo()!=$objOrgaoDTO->getStrSinAtivo()){  
1488 - $objContatoDTO = new ContatoDTO();  
1489 - $objContatoDTO->setStrSinAtivo($objOrgaoDTO->getStrSinAtivo());  
1490 - $objContatoDTO->setNumIdContato($numIdContato);  
1491 - $objContatoBD->alterar($objContatoDTO);  
1492 - $n++;  
1493 - }  
1494 - }  
1495 - InfraDebug::getInstance()->gravar($n.' REGISTROS ATUALIZADOS');  
1496 -  
1497 -  
1498 - InfraDebug::getInstance()->gravar('UNIDADES...');  
1499 -  
1500 - $objUnidadeDTO = new UnidadeDTO();  
1501 - $objUnidadeDTO->setBolExclusaoLogica(false);  
1502 - $objUnidadeDTO->retNumIdContato();  
1503 - $objUnidadeDTO->retStrSinAtivo();  
1504 -  
1505 - $objUnidadeRN = new UnidadeRN();  
1506 - $arrObjUnidadeDTO = InfraArray::indexarArrInfraDTO($objUnidadeRN->listarRN0127($objUnidadeDTO),'IdContato');  
1507 -  
1508 - $n = 0;  
1509 - foreach($arrObjUnidadeDTO as $numIdContato => $objUnidadeDTO){  
1510 - if ($arrObjContatoDTO[$numIdContato]->getStrSinAtivo()!=$objUnidadeDTO->getStrSinAtivo()){  
1511 - $objContatoDTO = new ContatoDTO();  
1512 - $objContatoDTO->setStrSinAtivo($objUnidadeDTO->getStrSinAtivo());  
1513 - $objContatoDTO->setNumIdContato($numIdContato);  
1514 - $objContatoBD->alterar($objContatoDTO);  
1515 - $n++;  
1516 - }  
1517 - }  
1518 - InfraDebug::getInstance()->gravar($n.' REGISTROS ATUALIZADOS');  
1519 -  
1520 - InfraDebug::getInstance()->gravar('USUARIOS...');  
1521 -  
1522 - $objUsuarioDTO = new UsuarioDTO();  
1523 - $objUsuarioDTO->setBolExclusaoLogica(false);  
1524 - $objUsuarioDTO->retNumIdContato();  
1525 -  
1526 - $objUsuarioRN = new UsuarioRN();  
1527 - $arrIdContatoUsuarios = InfraArray::converterArrInfraDTO($objUsuarioRN->listarRN0490($objUsuarioDTO),'IdContato');  
1528 -  
1529 - $n = 0;  
1530 - foreach($arrIdContatoUsuarios as $numIdContato){  
1531 - if ($arrObjContatoDTO[$numIdContato]->getStrSinAtivo()=='N') {  
1532 - $objContatoDTO = new ContatoDTO();  
1533 - $objContatoDTO->setStrSinAtivo('S');  
1534 - $objContatoDTO->setNumIdContato($numIdContato);  
1535 - $objContatoBD->alterar($objContatoDTO);  
1536 - $n++;  
1537 - }  
1538 - }  
1539 - InfraDebug::getInstance()->gravar($n.' REGISTROS ATUALIZADOS');  
1540 -  
1541 - InfraDebug::getInstance()->setBolDebugInfra(true);  
1542 -  
1543 - }catch(Exception $e){  
1544 - throw new InfraException('Erro sincronizando sinalizadores de exclusão lógica.', $e);  
1545 - }  
1546 - }  
1547 -  
1548 - public function fixPontoControle(){  
1549 -  
1550 - try{  
1551 -  
1552 - InfraDebug::getInstance()->setBolDebugInfra(false);  
1553 -  
1554 - $rs = BancoSEI::getInstance()->consultarSql('select '.BancoSEI::getInstance()->formatarSelecaoNum('atributo_andamento_situacao', 'id_andamento_situacao', null).','.BancoSEI::getInstance()->formatarSelecaoStr('atributo_andamento_situacao', 'id_origem', null).' from atributo_andamento_situacao where id_origem is not null');  
1555 -  
1556 -  
1557 - $objSituacaoDTO = new SituacaoDTO();  
1558 - $objSituacaoDTO->setBolExclusaoLogica(false);  
1559 - $objSituacaoDTO->retNumIdSituacao();  
1560 -  
1561 - $objSituacaoRN = new SituacaoRN();  
1562 - $arrIdSituacoes = InfraArray::converterArrInfraDTO($objSituacaoRN->listar($objSituacaoDTO),'IdSituacao');  
1563 -  
1564 - $numRegistros = count($rs);  
1565 - $n = 0;  
1566 - $objAndamentoSituacaoBD = new AndamentoSituacaoBD(BancoSEI::getInstance());  
1567 - foreach($rs as $item){  
1568 -  
1569 - if ((++$n >=100 && $n%100==0) || $n==$numRegistros){  
1570 - InfraDebug::getInstance()->gravar('PONTOS DE CONTROLE [ATRIBUTOS]: '.$n.' DE '.$numRegistros);  
1571 - }  
1572 -  
1573 - if (in_array(BancoSEI::getInstance()->formatarLeituraStr($item['id_origem']),$arrIdSituacoes)) {  
1574 - $objAndamentoSituacaoDTO = new AndamentoSituacaoDTO();  
1575 - $objAndamentoSituacaoDTO->setNumIdAndamentoSituacao(BancoSEI::getInstance()->formatarLeituraNum($item['id_andamento_situacao']));  
1576 - $objAndamentoSituacaoDTO->setNumIdSituacao(BancoSEI::getInstance()->formatarLeituraStr($item['id_origem']));  
1577 - $objAndamentoSituacaoBD->alterar($objAndamentoSituacaoDTO);  
1578 - }  
1579 - }  
1580 -  
1581 - $rs = BancoSEI::getInstance()->consultarSql('select '.BancoSEI::getInstance()->formatarSelecaoDbl('rel_proced_situacao_unidade', 'id_procedimento', null).','.BancoSEI::getInstance()->formatarSelecaoDbl('rel_proced_situacao_unidade', 'id_unidade', null).' from rel_proced_situacao_unidade');  
1582 -  
1583 - $numRegistros = count($rs);  
1584 - $n = 0;  
1585 -  
1586 - $objAndamentoSituacaoRN = new AndamentoSituacaoRN();  
1587 - foreach($rs as $item){  
1588 -  
1589 - if ((++$n >=100 && $n%100==0) || $n==$numRegistros){  
1590 - InfraDebug::getInstance()->gravar('PONTOS DE CONTROLE [SITUACAO]: '.$n.' DE '.$numRegistros);  
1591 - }  
1592 -  
1593 - $objAndamentoSituacaoDTO = new AndamentoSituacaoDTO();  
1594 - $objAndamentoSituacaoDTO->retNumIdAndamentoSituacao();  
1595 - $objAndamentoSituacaoDTO->setDblIdProcedimento(BancoSEI::getInstance()->formatarLeituraDbl($item['id_procedimento']));  
1596 - $objAndamentoSituacaoDTO->setNumIdUnidade(BancoSEI::getInstance()->formatarLeituraNum($item['id_unidade']));  
1597 - $objAndamentoSituacaoDTO->setOrdNumIdAndamentoSituacao(InfraDTO::$TIPO_ORDENACAO_DESC);  
1598 - $objAndamentoSituacaoDTO->setNumMaxRegistrosRetorno(1);  
1599 -  
1600 - $objAndamentoSituacaoDTO = $objAndamentoSituacaoRN->consultar($objAndamentoSituacaoDTO);  
1601 - if ($objAndamentoSituacaoDTO!=null) {  
1602 - $objAndamentoSituacaoDTO->setStrSinUltimo('S');  
1603 - $objAndamentoSituacaoBD->alterar($objAndamentoSituacaoDTO);  
1604 - }  
1605 - }  
1606 -  
1607 - InfraDebug::getInstance()->setBolDebugInfra(true);  
1608 -  
1609 - }catch(Exception $e){  
1610 - throw new InfraException('Erro atualizando Pontos de Controle.', $e);  
1611 - }  
1612 - }  
1613 -  
1614 - public function fixAssuntos(){  
1615 -  
1616 - try{  
1617 -  
1618 - InfraDebug::getInstance()->setBolDebugInfra(false);  
1619 -  
1620 - InfraDebug::getInstance()->gravar('ATUALIZANDO ASSUNTOS...');  
1621 -  
1622 - $rs = BancoSEI::getInstance()->consultarSql('select '.  
1623 - BancoSEI::getInstance()->formatarSelecaoNum('assunto', 'id_assunto', null).','.  
1624 - BancoSEI::getInstance()->formatarSelecaoNum('assunto', 'maior_tempo_corrente', null).','.  
1625 - BancoSEI::getInstance()->formatarSelecaoNum('assunto', 'menor_tempo_corrente', null).','.  
1626 - BancoSEI::getInstance()->formatarSelecaoStr('assunto', 'sin_elimina_maior_corrente', null).','.  
1627 - BancoSEI::getInstance()->formatarSelecaoStr('assunto', 'sin_elimina_menor_corrente', null).','.  
1628 - BancoSEI::getInstance()->formatarSelecaoNum('assunto', 'maior_tempo_intermediario', null).','.  
1629 - BancoSEI::getInstance()->formatarSelecaoNum('assunto', 'menor_tempo_intermediario', null).','.  
1630 - BancoSEI::getInstance()->formatarSelecaoStr('assunto', 'sin_elimina_menor_intermed', null).','.  
1631 - BancoSEI::getInstance()->formatarSelecaoStr('assunto', 'sin_elimina_maior_intermed', null).','.  
1632 - BancoSEI::getInstance()->formatarSelecaoStr('assunto', 'sin_suficiente', null).  
1633 - ' from assunto');  
1634 -  
1635 - $numRegistros = count($rs);  
1636 - $n = 0;  
1637 -  
1638 - $objAssuntoBD = new AssuntoBD(BancoSEI::getInstance());  
1639 - foreach($rs as $item){  
1640 -  
1641 - if ((++$n >=100 && $n%100==0) || $n==$numRegistros){  
1642 - InfraDebug::getInstance()->gravar($n.' DE '.$numRegistros);  
1643 - }  
1644 -  
1645 - $numIdAssunto = BancoSEI::getInstance()->formatarLeituraNum($item['id_assunto']);  
1646 - $numMaiorTempoCorrente = BancoSEI::getInstance()->formatarLeituraNum($item['maior_tempo_corrente']);  
1647 - $numMenorTempoCorrente = BancoSEI::getInstance()->formatarLeituraNum($item['menor_tempo_corrente']);  
1648 - $strSinEliminaMaiorCorrente = BancoSEI::getInstance()->formatarLeituraStr($item['sin_elimina_maior_corrente']);  
1649 - $strSinEliminaMenorCorrente = BancoSEI::getInstance()->formatarLeituraStr($item['sin_elimina_menor_corrente']);  
1650 - $numMaiorTempoIntermediario = BancoSEI::getInstance()->formatarLeituraNum($item['maior_tempo_intermediario']);  
1651 - $numMenorTempoIntermediario = BancoSEI::getInstance()->formatarLeituraNum($item['menor_tempo_intermediario']);  
1652 - $strSinEliminaMaiorIntermediario = BancoSEI::getInstance()->formatarLeituraStr($item['sin_elimina_maior_intermed']);  
1653 - $strSinEliminaMenorIntermediario = BancoSEI::getInstance()->formatarLeituraStr($item['sin_elimina_menor_intermed']);  
1654 - $strSinSuficiente = BancoSEI::getInstance()->formatarLeituraStr($item['sin_suficiente']);  
1655 -  
1656 -  
1657 - $objAssuntoDTO = new AssuntoDTO();  
1658 -  
1659 - if ($numMaiorTempoCorrente > $numMenorTempoCorrente){  
1660 - $objAssuntoDTO->setNumPrazoCorrente($numMaiorTempoCorrente);  
1661 - }else{  
1662 - $objAssuntoDTO->setNumPrazoCorrente($numMenorTempoCorrente);  
1663 - }  
1664 -  
1665 -  
1666 - if ($numMaiorTempoIntermediario > $numMenorTempoIntermediario) {  
1667 - $objAssuntoDTO->setNumPrazoIntermediario($numMaiorTempoIntermediario);  
1668 - }else{  
1669 - $objAssuntoDTO->setNumPrazoIntermediario($numMenorTempoIntermediario);  
1670 - }  
1671 -  
1672 - $strStaDestinacao = 'G';  
1673 - if ($strSinEliminaMaiorIntermediario=='S' && $strSinEliminaMenorIntermediario=='S'){  
1674 - $strStaDestinacao = 'E';  
1675 - }else if ($strSinEliminaMaiorCorrente=='S' && $strSinEliminaMenorCorrente=='S'){  
1676 - $strStaDestinacao = 'E';  
1677 - }  
1678 -  
1679 - $objAssuntoDTO->setStrStaDestinacao($strStaDestinacao);  
1680 -  
1681 - if ($strSinSuficiente=='S'){  
1682 - $objAssuntoDTO->setStrSinEstrutural('N');  
1683 - }else{  
1684 -  
1685 - $rsTiposProcesso = BancoSEI::getInstance()->consultarSql('select count(*) as total from rel_tipo_procedimento_assunto where id_assunto='.BancoSEI::getInstance()->formatarGravacaoNum($numIdAssunto));  
1686 -  
1687 - if ($rsTiposProcesso[0]['total']==0) {  
1688 -  
1689 - $rsTiposDocumento = BancoSEI::getInstance()->consultarSql('select count(*) as total from rel_serie_assunto where id_assunto=' . BancoSEI::getInstance()->formatarGravacaoNum($numIdAssunto));  
1690 -  
1691 - if ($rsTiposDocumento[0]['total']==0) {  
1692 - $rsProtocolos = BancoSEI::getInstance()->consultarSql('select count(*) as total from rel_protocolo_assunto where id_assunto=' . BancoSEI::getInstance()->formatarGravacaoNum($numIdAssunto));  
1693 -  
1694 - if ($rsProtocolos[0]['total']==0) {  
1695 -  
1696 - $objAssuntoDTO->setStrSinEstrutural('S');  
1697 -  
1698 - }else{  
1699 - $objAssuntoDTO->setStrSinEstrutural('N');  
1700 - }  
1701 -  
1702 - }else{  
1703 - $objAssuntoDTO->setStrSinEstrutural('N');  
1704 - }  
1705 - }else{  
1706 - $objAssuntoDTO->setStrSinEstrutural('N');  
1707 - }  
1708 - }  
1709 -  
1710 - $objAssuntoDTO->setNumIdAssunto($numIdAssunto);  
1711 -  
1712 - $objAssuntoBD->alterar($objAssuntoDTO);  
1713 -  
1714 - }  
1715 -  
1716 - InfraDebug::getInstance()->setBolDebugInfra(true);  
1717 -  
1718 - }catch(Exception $e){  
1719 - throw new InfraException('Erro atualizando Assuntos.', $e);  
1720 - }  
1721 - }  
1722 -  
1723 - public function fixArquivamento() {  
1724 - try{  
1725 -  
1726 - InfraDebug::getInstance()->setBolDebugInfra(false);  
1727 -  
1728 - InfraDebug::getInstance()->gravar('ATUALIZANDO ANDAMENTOS DE LOCALIZADORES...');  
1729 -  
1730 - $objAtributoAndamentoDTO = new AtributoAndamentoDTO();  
1731 - $objAtributoAndamentoDTO->retNumIdAtributoAndamento();  
1732 - $objAtributoAndamentoDTO->retStrIdOrigem();  
1733 - $objAtributoAndamentoDTO->setStrNome('LOCALIZADOR');  
1734 -  
1735 - $objAtributoAndamentoRN = new AtributoAndamentoRN();  
1736 - $arrObjAtributoAndamentoDTO = $objAtributoAndamentoRN->listarRN1367($objAtributoAndamentoDTO);  
1737 -  
1738 - $numRegistros = count($arrObjAtributoAndamentoDTO);  
1739 - $n = 0;  
1740 -  
1741 - $objAtributoAndamentoBD = new AtributoAndamentoBD(BancoSEI::getInstance());  
1742 - foreach($arrObjAtributoAndamentoDTO as $dto){  
1743 -  
1744 - if ((++$n >=1000 && $n%1000==0) || $n==$numRegistros){  
1745 - InfraDebug::getInstance()->gravar('ANDAMENTO: '.$n.' DE '.$numRegistros);  
1746 - }  
1747 -  
1748 - $arr = explode('¥',$dto->getStrIdOrigem());  
1749 - $dto->setStrIdOrigem($arr[0]);  
1750 -  
1751 - $objAtributoAndamentoBD->alterar($dto);  
1752 - }  
1753 -  
1754 -  
1755 - $objAtributoAndamentoRN = new AtributoAndamentoRN();  
1756 - $objArquivamentoRN = new ArquivamentoRN();  
1757 - $objArquivamentoBD = new ArquivamentoBD(BancoSEI::getInstance());  
1758 -  
1759 - InfraDebug::getInstance()->gravar('ATUALIZANDO DOCUMENTOS COM ARQUIVAMENTO...');  
1760 -  
1761 - $objAtributoAndamentoDTO = new AtributoAndamentoDTO();  
1762 - $objAtributoAndamentoDTO->retNumIdAtividade();  
1763 - $objAtributoAndamentoDTO->retStrIdOrigem();  
1764 - $objAtributoAndamentoDTO->setStrNome('DOCUMENTO');  
1765 - $objAtributoAndamentoDTO->setNumIdTarefaAtividade(TarefaRN::$TI_ARQUIVAMENTO);  
1766 - $objAtributoAndamentoDTO->setOrdNumIdAtividade(InfraDTO::$TIPO_ORDENACAO_ASC);  
1767 -  
1768 - $arrObjAtributoAndamentoDTO = InfraArray::indexarArrInfraDTO($objAtributoAndamentoRN->listarRN1367($objAtributoAndamentoDTO),'IdOrigem');  
1769 -  
1770 - $n = 0;  
1771 - $numRegistros = count($arrObjAtributoAndamentoDTO);  
1772 -  
1773 - foreach($arrObjAtributoAndamentoDTO as $objAtributoAndamentoDTO){  
1774 -  
1775 - if ((++$n >=1000 && $n%1000==0) || $n==$numRegistros){  
1776 - InfraDebug::getInstance()->gravar($n.' DE '.$numRegistros);  
1777 - }  
1778 -  
1779 - $rs = BancoSEI::getInstance()->consultarSql('select '.BancoSEI::getInstance()->formatarSelecaoStr(null,'sta_arquivamento',null).','.BancoSEI::getInstance()->formatarSelecaoNum(null,'id_localizador',null).' from protocolo where id_protocolo='.BancoSEI::getInstance()->formatarGravacaoDbl($objAtributoAndamentoDTO->getStrIdOrigem()));  
1780 -  
1781 - if (count($rs)) {  
1782 -  
1783 - $strStaArquivamento = BancoSEI::getInstance()->formatarLeituraStr($rs[0]['sta_arquivamento']);  
1784 - $numIdLocalizador = BancoSEI::getInstance()->formatarLeituraNum($rs[0]['id_localizador']);  
1785 -  
1786 - $objArquivamentoDTO = new ArquivamentoDTO();  
1787 - $objArquivamentoDTO->setDblIdProtocolo($objAtributoAndamentoDTO->getStrIdOrigem());  
1788 - $objArquivamentoDTO->setNumIdLocalizador($numIdLocalizador);  
1789 -  
1790 - if ($strStaArquivamento == ArquivamentoRN::$TA_NAO_ARQUIVADO) {  
1791 - $objArquivamentoDTO->setStrStaArquivamento(ArquivamentoRN::$TA_DESARQUIVADO);  
1792 - } else {  
1793 - $objArquivamentoDTO->setStrStaArquivamento($strStaArquivamento);  
1794 - }  
1795 -  
1796 - $objArquivamentoDTO->setNumIdAtividadeArquivamento($objAtributoAndamentoDTO->getNumIdAtividade());  
1797 - $objArquivamentoDTO->setNumIdAtividadeRecebimento(null);  
1798 - $objArquivamentoDTO->setNumIdAtividadeSolicitacao(null);  
1799 - $objArquivamentoDTO->setNumIdAtividadeDesarquivamento(null);  
1800 - $objArquivamentoBD->cadastrar($objArquivamentoDTO);  
1801 - }  
1802 - }  
1803 -  
1804 - unset($arrObjAtributoAndamentoDTO);  
1805 -  
1806 - InfraDebug::getInstance()->gravar('ATUALIZANDO DOCUMENTOS RECEBIDOS...');  
1807 -  
1808 - $objAtributoAndamentoDTO = new AtributoAndamentoDTO();  
1809 - $objAtributoAndamentoDTO->retNumIdAtividade();  
1810 - $objAtributoAndamentoDTO->retStrIdOrigem();  
1811 - $objAtributoAndamentoDTO->setStrNome('DOCUMENTO');  
1812 - $objAtributoAndamentoDTO->setNumIdTarefaAtividade(TarefaRN::$TI_RECEBIMENTO_ARQUIVO);  
1813 - $objAtributoAndamentoDTO->setOrdNumIdAtividade(InfraDTO::$TIPO_ORDENACAO_ASC);  
1814 -  
1815 - $arrObjAtributoAndamentoDTO = InfraArray::indexarArrInfraDTO($objAtributoAndamentoRN->listarRN1367($objAtributoAndamentoDTO),'IdOrigem');  
1816 -  
1817 - $n = 0;  
1818 - $numRegistros = count($arrObjAtributoAndamentoDTO);  
1819 -  
1820 - foreach($arrObjAtributoAndamentoDTO as $objAtributoAndamentoDTO){  
1821 -  
1822 - if ((++$n >=1000 && $n%1000==0) || $n==$numRegistros){  
1823 - InfraDebug::getInstance()->gravar($n.' DE '.$numRegistros);  
1824 - }  
1825 -  
1826 - $rs = BancoSEI::getInstance()->consultarSql('select '.BancoSEI::getInstance()->formatarSelecaoStr(null,'sta_arquivamento',null).' from protocolo where id_protocolo='.BancoSEI::getInstance()->formatarGravacaoDbl($objAtributoAndamentoDTO->getStrIdOrigem()));  
1827 -  
1828 - if (count($rs)) {  
1829 -  
1830 - $strStaArquivamento = BancoSEI::getInstance()->formatarLeituraStr($rs[0]['sta_arquivamento']);  
1831 -  
1832 - $objArquivamentoDTO = new ArquivamentoDTO();  
1833 - $objArquivamentoDTO->retDblIdProtocolo();  
1834 - $objArquivamentoDTO->setDblIdProtocolo($objAtributoAndamentoDTO->getStrIdOrigem());  
1835 - $objArquivamentoDTO = $objArquivamentoRN->consultar($objArquivamentoDTO);  
1836 -  
1837 - if ($objArquivamentoDTO == null) {  
1838 -  
1839 - if ($strStaArquivamento == ArquivamentoRN::$TA_RECEBIDO) {  
1840 - $objArquivamentoDTO = new ArquivamentoDTO();  
1841 - $objArquivamentoDTO->setDblIdProtocolo($objAtributoAndamentoDTO->getStrIdOrigem());  
1842 - $objArquivamentoDTO->setStrStaArquivamento(ArquivamentoRN::$TA_RECEBIDO);  
1843 - $objArquivamentoDTO->setNumIdLocalizador(null);  
1844 - $objArquivamentoDTO->setNumIdAtividadeArquivamento(null);  
1845 - $objArquivamentoDTO->setNumIdAtividadeRecebimento($objAtributoAndamentoDTO->getNumIdAtividade());  
1846 - $objArquivamentoDTO->setNumIdAtividadeSolicitacao(null);  
1847 - $objArquivamentoDTO->setNumIdAtividadeDesarquivamento(null);  
1848 - $objArquivamentoBD->cadastrar($objArquivamentoDTO);  
1849 - }  
1850 -  
1851 - } else {  
1852 -  
1853 - $objArquivamentoDTO->setNumIdAtividadeRecebimento($objAtributoAndamentoDTO->getNumIdAtividade());  
1854 - $objArquivamentoBD->alterar($objArquivamentoDTO);  
1855 -  
1856 - }  
1857 - }  
1858 - }  
1859 -  
1860 - unset($arrObjAtributoAndamentoDTO);  
1861 -  
1862 - InfraDebug::getInstance()->gravar('ATUALIZANDO DOCUMENTOS COM SOLICITACAO DE DESARQUIVAMENTO...');  
1863 -  
1864 - $rs = BancoSEI::getInstance()->consultarSql('select '.BancoSEI::getInstance()->formatarSelecaoDbl(null,'id_protocolo',null).' from protocolo where sta_arquivamento='.BancoSEI::getInstance()->formatarGravacaoStr(ArquivamentoRN::$TA_SOLICITADO_DESARQUIVAMENTO));  
1865 -  
1866 - $n = 0;  
1867 - $numRegistros = count($rs);  
1868 -  
1869 - foreach($rs as $item){  
1870 -  
1871 - if ((++$n >=100 && $n%100==0) || $n==$numRegistros){  
1872 - InfraDebug::getInstance()->gravar($n);  
1873 - }  
1874 -  
1875 - $dblIdProtocolo = BancoSEI::getInstance()->formatarLeituraDbl($item['id_protocolo']);  
1876 -  
1877 - $objAtributoAndamentoDTO = new AtributoAndamentoDTO();  
1878 - $objAtributoAndamentoDTO->retNumIdAtividade();  
1879 - $objAtributoAndamentoDTO->setStrIdOrigem($dblIdProtocolo);  
1880 - $objAtributoAndamentoDTO->setStrNome('DOCUMENTO');  
1881 - $objAtributoAndamentoDTO->setNumIdTarefaAtividade(TarefaRN::$TI_SOLICITADO_DESARQUIVAMENTO);  
1882 - $objAtributoAndamentoDTO->setNumMaxRegistrosRetorno(1);  
1883 - $objAtributoAndamentoDTO->setOrdNumIdAtividade(InfraDTO::$TIPO_ORDENACAO_DESC);  
1884 -  
1885 - $objAtributoAndamentoDTO = $objAtributoAndamentoRN->consultarRN1366($objAtributoAndamentoDTO);  
1886 -  
1887 - $objArquivamentoDTO = new ArquivamentoDTO();  
1888 - $objArquivamentoDTO->retDblIdProtocolo();  
1889 - $objArquivamentoDTO->setDblIdProtocolo($dblIdProtocolo);  
1890 - $objArquivamentoDTO = $objArquivamentoRN->consultar($objArquivamentoDTO);  
1891 -  
1892 - if ($objArquivamentoDTO != null) {  
1893 - $objArquivamentoDTO->setStrStaArquivamento(ArquivamentoRN::$TA_SOLICITADO_DESARQUIVAMENTO);  
1894 - $objArquivamentoDTO->setNumIdAtividadeSolicitacao($objAtributoAndamentoDTO->getNumIdAtividade());  
1895 - $objArquivamentoBD->alterar($objArquivamentoDTO);  
1896 - }  
1897 - }  
1898 -  
1899 - InfraDebug::getInstance()->gravar('ATUALIZANDO DOCUMENTOS COM DESARQUIVAMENTO...');  
1900 -  
1901 - $objAtributoAndamentoDTO = new AtributoAndamentoDTO();  
1902 - $objAtributoAndamentoDTO->setDistinct(true);  
1903 - $objAtributoAndamentoDTO->retStrIdOrigem();  
1904 - $objAtributoAndamentoDTO->setStrNome('DOCUMENTO');  
1905 - $objAtributoAndamentoDTO->setNumIdTarefaAtividade(TarefaRN::$TI_DESARQUIVAMENTO);  
1906 -  
1907 - $arrIdOrigem = InfraArray::converterArrInfraDTO($objAtributoAndamentoRN->listarRN1367($objAtributoAndamentoDTO),'IdOrigem');  
1908 -  
1909 - $n = 0;  
1910 - $numRegistros = count($arrIdOrigem);  
1911 -  
1912 - foreach($arrIdOrigem as $strIdOrigem){  
1913 -  
1914 - if ((++$n >=100 && $n%100==0) || $n==$numRegistros){  
1915 - InfraDebug::getInstance()->gravar($n);  
1916 - }  
1917 -  
1918 - $objAtributoAndamentoDTO = new AtributoAndamentoDTO();  
1919 - $objAtributoAndamentoDTO->retNumIdAtividade();  
1920 - $objAtributoAndamentoDTO->setStrIdOrigem($strIdOrigem);  
1921 - $objAtributoAndamentoDTO->setStrNome('DOCUMENTO');  
1922 - $objAtributoAndamentoDTO->setNumIdTarefaAtividade(TarefaRN::$TI_DESARQUIVAMENTO);  
1923 - $objAtributoAndamentoDTO->setNumMaxRegistrosRetorno(1);  
1924 - $objAtributoAndamentoDTO->setOrdNumIdAtividade(InfraDTO::$TIPO_ORDENACAO_DESC);  
1925 -  
1926 - $objAtributoAndamentoDTO = $objAtributoAndamentoRN->consultarRN1366($objAtributoAndamentoDTO);  
1927 -  
1928 - $objArquivamentoDTO = new ArquivamentoDTO();  
1929 - $objArquivamentoDTO->retDblIdProtocolo();  
1930 - $objArquivamentoDTO->setDblIdProtocolo($strIdOrigem);  
1931 - $objArquivamentoDTO = $objArquivamentoRN->consultar($objArquivamentoDTO);  
1932 -  
1933 - if ($objArquivamentoDTO != null) {  
1934 - $objArquivamentoDTO->setNumIdAtividadeDesarquivamento($objAtributoAndamentoDTO->getNumIdAtividade());  
1935 - $objArquivamentoBD->alterar($objArquivamentoDTO);  
1936 - }  
1937 -  
1938 - }  
1939 -  
1940 - InfraDebug::getInstance()->setBolDebugInfra(true);  
1941 -  
1942 - }catch(Exception $e){  
1943 - throw new InfraException('Erro atualizando dados de arquivamento.', $e);  
1944 - }  
1945 - }  
1946 -  
1947 - public function atualizarSequenciasMySql(){  
1948 - $arrSequencias = array(  
1949 - 'seq_acesso',  
1950 - 'seq_acesso_externo',  
1951 - 'seq_acompanhamento',  
1952 - 'seq_anexo',  
1953 - 'seq_anotacao',  
1954 - 'seq_arquivo_extensao',  
1955 - 'seq_assinante',  
1956 - 'seq_assinatura',  
1957 - 'seq_assunto',  
1958 - 'seq_atividade',  
1959 - 'seq_atributo_andamento',  
1960 - 'seq_base_conhecimento',  
1961 - 'seq_bloco',  
1962 - 'seq_cargo',  
1963 - 'seq_cidade',  
1964 - 'seq_conjunto_estilos',  
1965 - 'seq_conjunto_estilos_item',  
1966 - 'seq_contato',  
1967 - 'seq_controle_interno',  
1968 - 'seq_email_grupo_email',  
1969 - 'seq_email_unidade',  
1970 - 'seq_estilo',  
1971 - 'seq_feed',  
1972 - 'seq_feriado',  
1973 - 'seq_grupo_acompanhamento',  
1974 - 'seq_grupo_contato',  
1975 - 'seq_grupo_email',  
1976 - 'seq_grupo_protocolo_modelo',  
1977 - 'seq_grupo_serie',  
1978 - 'seq_hipotese_legal',  
1979 - 'seq_imagem_formato',  
1980 - 'seq_localizador',  
1981 - 'seq_lugar_localizador',  
1982 - 'seq_modelo',  
1983 - 'seq_nivel_acesso_permitido',  
1984 - 'seq_novidade',  
1985 - 'seq_numeracao',  
1986 - 'seq_observacao',  
1987 - 'seq_operacao_servico',  
1988 - 'seq_ordenador_despesa',  
1989 - 'seq_pais',  
1990 - 'seq_participante',  
1991 - 'seq_protocolo_modelo',  
1992 - 'seq_publicacao',  
1993 - 'seq_rel_protocolo_protocolo',  
1994 - 'seq_retorno_programado',  
1995 - 'seq_secao_documento',  
1996 - 'seq_secao_imprensa_nacional',  
1997 - 'seq_secao_modelo',  
1998 - 'seq_serie',  
1999 - 'seq_serie_publicacao',  
2000 - 'seq_servico',  
2001 - 'seq_texto_padrao_interno',  
2002 - 'seq_tipo_conferencia',  
2003 - 'seq_tipo_contexto_contato',  
2004 - 'seq_tipo_localizador',  
2005 - 'seq_tipo_procedimento',  
2006 - 'seq_tipo_suporte',  
2007 - 'seq_tratamento',  
2008 - 'seq_uf',  
2009 - 'seq_unidade_publicacao',  
2010 - 'seq_veiculo_imprensa_nacional',  
2011 - 'seq_veiculo_publicacao',  
2012 - 'seq_vocativo',  
2013 - 'seq_grupo_unidade',  
2014 - 'seq_email_utilizado',  
2015 - 'seq_andamento_situacao',  
2016 - 'seq_situacao',  
2017 - 'seq_auditoria_protocolo',  
2018 - 'seq_estatisticas',  
2019 - 'seq_infra_auditoria',  
2020 - 'seq_infra_log',  
2021 - 'seq_infra_navegador',  
2022 - 'seq_protocolo',  
2023 - 'seq_versao_secao_documento',  
2024 - 'seq_controle_unidade');  
2025 -  
2026 - foreach($arrSequencias as $strSequencia){  
2027 -  
2028 - if ($strSequencia=='seq_atributo_andamento_situaca'){  
2029 - $strIdOrigem = 'id_atributo_andamento_situacao';  
2030 - $strTabelaOrigem = 'atributo_andamento_situacao';  
2031 - }else{  
2032 - $strIdOrigem = str_replace('seq_','id_',$strSequencia);  
2033 - $strTabelaOrigem = str_replace('seq_','',$strSequencia);  
2034 - }  
2035 -  
2036 - $rsTab = BancoSEI::getInstance()->consultarSql('select max('.$strIdOrigem.') as ultimo from '.$strTabelaOrigem);  
2037 -  
2038 - if ($rsTab[0]['ultimo'] !== null){  
2039 -  
2040 - $rsSeq = BancoSEI::getInstance()->consultarSql('select max(id) as ultimo from '.$strSequencia);  
2041 -  
2042 - if ($rsSeq[0]['ultimo'] === null) {  
2043 -  
2044 - BancoSEI::getInstance()->executarSql('INSERT INTO ' . $strSequencia . ' (campo) VALUES (null)');  
2045 -  
2046 - $rsSeq = BancoSEI::getInstance()->consultarSql('select max(id) as ultimo from ' . $strSequencia);  
2047 -  
2048 - }  
2049 -  
2050 - if ($rsTab[0]['ultimo'] > $rsSeq[0]['ultimo']) {  
2051 - BancoSEI::getInstance()->executarSql('alter table ' . $strSequencia . ' AUTO_INCREMENT = ' . ($rsTab[0]['ultimo'] + 1));  
2052 - }  
2053 - }  
2054 - }  
2055 - }  
2056 -  
2057 - protected function fixAtividadeConclusaoAutomaticaUsuarioControlado(){  
2058 -  
2059 - BancoSEI::getInstance()->executarSql('update tarefa set nome=\'Conclusão Automática de Processo do Usuário @USUARIO@\' where id_tarefa='.TarefaRN::$TI_CONCLUSAO_AUTOMATICA_USUARIO);  
2060 -  
2061 - InfraDebug::getInstance()->setBolDebugInfra(false);  
2062 -  
2063 - InfraDebug::getInstance()->gravar('COMPLEMENTANDO ANDAMENTOS DE CONCLUSAO AUTOMATICA DO USUARIO...');  
2064 -  
2065 - $objAtividadeDTO = new AtividadeDTO();  
2066 - $objAtividadeDTO->retNumIdAtividade();  
2067 - $objAtividadeDTO->setNumIdTarefa(TarefaRN::$TI_CONCLUSAO_AUTOMATICA_USUARIO);  
2068 -  
2069 - $objAtividadeRN = new AtividadeRN();  
2070 - $arrObjAtividadeDTO = $objAtividadeRN->listarRN0036($objAtividadeDTO);  
2071 -  
2072 - $objAtributoAndamentoRN = new AtributoAndamentoRN();  
2073 -  
2074 - $numRegistros = count($arrObjAtividadeDTO);  
2075 - $n = 0;  
2076 -  
2077 - foreach($arrObjAtividadeDTO as $objAtividadeDTO){  
2078 -  
2079 - $objAtributoAndamentoDTO = new AtributoAndamentoDTO();  
2080 - $objAtributoAndamentoDTO->retNumIdAtributoAndamento();  
2081 - $objAtributoAndamentoDTO->setStrNome('USUARIO');  
2082 - $objAtributoAndamentoDTO->setNumIdAtividade($objAtividadeDTO->getNumIdAtividade());  
2083 -  
2084 - if ($objAtributoAndamentoRN->consultarRN1366($objAtributoAndamentoDTO)==null) {  
2085 -  
2086 - $objAtributoAndamentoDTO->setStrValor(null);  
2087 - $objAtributoAndamentoDTO->setStrIdOrigem(null);  
2088 -  
2089 - $objAtributoAndamentoRN->cadastrarRN1363($objAtributoAndamentoDTO);  
2090 - }  
2091 -  
2092 - if ((++$n >= 100 && $n % 100 == 0) || $n == $numRegistros) {  
2093 - InfraDebug::getInstance()->gravar('ANDAMENTO: ' . $n . ' DE ' . $numRegistros);  
2094 - }  
2095 - }  
2096 -  
2097 - InfraDebug::getInstance()->setBolDebugInfra(true);  
2098 - }  
2099 -  
2100 - protected function fixIndexacaoObservacoesConectado(){  
2101 -  
2102 - InfraDebug::getInstance()->setBolDebugInfra(false);  
2103 -  
2104 - InfraDebug::getInstance()->gravar('INDEXANDO OBSERVACOES...');  
2105 -  
2106 - $objObservacaoBD = new ObservacaoBD(BancoSEI::getInstance());  
2107 -  
2108 - $objObservacaoDTO = new ObservacaoDTO();  
2109 - $objObservacaoDTO->retNumIdObservacao();  
2110 - $objObservacaoDTO->setStrDescricao(null,InfraDTO::$OPER_DIFERENTE);  
2111 - $objObservacaoDTO->setStrIdxObservacao(null);  
2112 - $arrIdObservacao = array_chunk(InfraArray::converterArrInfraDTO($objObservacaoBD->listar($objObservacaoDTO),'IdObservacao'),1000);  
2113 -  
2114 - $numRegistrosAtual = 0;  
2115 - foreach($arrIdObservacao as $arrIdObservacaoParte){  
2116 -  
2117 - $numRegistrosAtual += count($arrIdObservacaoParte);  
2118 -  
2119 - InfraDebug::getInstance()->gravar($numRegistrosAtual);  
2120 -  
2121 - $objObservacaoDTO = new ObservacaoDTO();  
2122 - $objObservacaoDTO->retNumIdObservacao();  
2123 - $objObservacaoDTO->retStrDescricao();  
2124 - $objObservacaoDTO->setNumIdObservacao($arrIdObservacaoParte, InfraDTO::$OPER_IN);  
2125 - $arrObjObservacaoDTO = $objObservacaoBD->listar($objObservacaoDTO);  
2126 -  
2127 - foreach ($arrObjObservacaoDTO as $objObservacaoDTO){  
2128 - $objObservacaoDTO->setStrIdxObservacao(InfraString::prepararIndexacao($objObservacaoDTO->getStrDescricao(),false));  
2129 - $objObservacaoBD->alterar($objObservacaoDTO);  
2130 - }  
2131 - }  
2132 -  
2133 - InfraDebug::getInstance()->setBolDebugInfra(true);  
2134 - }  
2135 -  
2136 - protected function fixIndexacaoOrgaosConectado(){  
2137 -  
2138 - InfraDebug::getInstance()->setBolDebugInfra(false);  
2139 -  
2140 - InfraDebug::getInstance()->gravar('INDEXANDO ORGAOS...');  
2141 -  
2142 - $objOrgaoDTO = new OrgaoDTO();  
2143 - $objOrgaoDTO->retNumIdOrgao();  
2144 - $objOrgaoDTO->retStrSigla();  
2145 -  
2146 - $objOrgaoRN = new OrgaoRN();  
2147 - $arrObjOrgaoDTO = $objOrgaoRN->listarRN1353($objOrgaoDTO);  
2148 -  
2149 - foreach($arrObjOrgaoDTO as $objOrgaoDTO){  
2150 - InfraDebug::getInstance()->gravar($objOrgaoDTO->getStrSigla());  
2151 - $objOrgaoRN->montarIndexacao($objOrgaoDTO);  
2152 - }  
2153 -  
2154 - InfraDebug::getInstance()->setBolDebugInfra(true);  
2155 - }  
2156 -  
2157 - protected function fixAcessoExternoConectado(){  
2158 -  
2159 - InfraDebug::getInstance()->setBolDebugInfra(false);  
2160 -  
2161 - InfraDebug::getInstance()->gravar('COMPLEMENTANDO ANDAMENTOS DE ACESSOS EXTERNOS...');  
2162 -  
2163 - $objAcessoExternoDTO = new AcessoExternoDTO();  
2164 - $objAcessoExternoDTO->setBolExclusaoLogica(false);  
2165 - $objAcessoExternoDTO->retNumIdAcessoExterno();  
2166 - $objAcessoExternoDTO->retNumIdAtividade();  
2167 - $objAcessoExternoDTO->retStrSinProcesso();  
2168 - $objAcessoExternoDTO->setStrStaTipo(AcessoExternoRN::$TA_ASSINATURA_EXTERNA);  
2169 -  
2170 - $objAcessoExternoRN = new AcessoExternoRN();  
2171 - $arrObjAcessoExternoDTO = $objAcessoExternoRN->listar($objAcessoExternoDTO);  
2172 -  
2173 - $numRegistros = count($arrObjAcessoExternoDTO);  
2174 -  
2175 - $objAtributoAndamentoBD = new AtributoAndamentoBD(BancoSEI::getInstance());  
2176 -  
2177 - $n = 0;  
2178 - foreach($arrObjAcessoExternoDTO as $objAcessoExternoDTO){  
2179 -  
2180 - $objAtributoAndamentoDTO = new AtributoAndamentoDTO();  
2181 - $objAtributoAndamentoDTO->setNumIdAtributoAndamento(null);  
2182 - $objAtributoAndamentoDTO->setNumIdAtividade($objAcessoExternoDTO->getNumIdAtividade());  
2183 - $objAtributoAndamentoDTO->setStrNome('VISUALIZACAO');  
2184 - $objAtributoAndamentoDTO->setStrValor(null);  
2185 -  
2186 - if ($objAcessoExternoDTO->getStrSinProcesso()=='S'){  
2187 - $objAtributoAndamentoDTO->setStrIdOrigem(AcessoExternoRN::$TV_INTEGRAL);  
2188 - }else{  
2189 - $objAtributoAndamentoDTO->setStrIdOrigem(AcessoExternoRN::$TV_NENHUM);  
2190 - }  
2191 -  
2192 - $objAtributoAndamentoBD->cadastrar($objAtributoAndamentoDTO);  
2193 -  
2194 - if ((++$n >= 100 && $n % 100 == 0) || $n == $numRegistros) {  
2195 - InfraDebug::getInstance()->gravar('ANDAMENTO: ' . $n . ' DE ' . $numRegistros);  
2196 - }  
2197 - }  
2198 - InfraDebug::getInstance()->setBolDebugInfra(true);  
2199 - }  
2200 -  
2201 - protected function fixProtocoloFormatadoConectado(){  
2202 -  
2203 - InfraDebug::getInstance()->setBolDebugInfra(false);  
2204 -  
2205 - InfraDebug::getInstance()->gravar('CORRIGINDO NUMERACAO DE PESQUISA DE PROCESSOS...');  
2206 -  
2207 - $objProtocoloDTO = new ProtocoloDTO();  
2208 - $objProtocoloDTO->retStrProtocoloFormatado();  
2209 - $objProtocoloDTO->retStrProtocoloFormatadoPesquisa();  
2210 - $objProtocoloDTO->retDblIdProtocolo();  
2211 - $objProtocoloDTO->setStrStaProtocolo(ProtocoloRN::$TP_PROCEDIMENTO);  
2212 -  
2213 - $objProtocoloRN = new ProtocoloRN();  
2214 - $arrObjProtocoloDTO = $objProtocoloRN->listarRN0668($objProtocoloDTO);  
2215 -  
2216 - $numRegistros = count($arrObjProtocoloDTO);  
2217 -  
2218 - $objProtocoloBD = new ProtocoloBD(BancoSEI::getInstance());  
2219 - $n = 0;  
2220 - foreach($arrObjProtocoloDTO as $objProtocoloDTO){  
2221 -  
2222 - $strProtocoloPesquisa = preg_replace("/[^0-9a-zA-Z]+/", '',$objProtocoloDTO->getStrProtocoloFormatado());  
2223 -  
2224 - if ($objProtocoloDTO->getStrProtocoloFormatadoPesquisa()!=$strProtocoloPesquisa){  
2225 - $dto = new ProtocoloDTO();  
2226 - $dto->setStrProtocoloFormatadoPesquisa($strProtocoloPesquisa);  
2227 -  
2228 - if ($objProtocoloBD->contar($dto)==0) {  
2229 - $dto->setDblIdProtocolo($objProtocoloDTO->getDblIdProtocolo());  
2230 - $objProtocoloBD->alterar($dto);  
2231 - }  
2232 - }  
2233 -  
2234 - if ((++$n >= 1000 && $n % 1000 == 0) || $n == $numRegistros) {  
2235 - InfraDebug::getInstance()->gravar($n . ' DE ' . $numRegistros);  
2236 - }  
2237 - }  
2238 - InfraDebug::getInstance()->setBolDebugInfra(true);  
2239 - }  
2240 -  
2241 - protected function fixIndexacaoContatosConectado(){  
2242 -  
2243 - InfraDebug::getInstance()->setBolDebugInfra(false);  
2244 -  
2245 - InfraDebug::getInstance()->gravar('REINDEXANDO CONTATOS...');  
2246 -  
2247 - $rs = BancoSEI::getInstance()->consultarSql('select id_contato from contato where cpf is not null or cnpj is not null');  
2248 -  
2249 - InfraDebug::getInstance()->setBolDebugInfra(false);  
2250 -  
2251 - $objContatoDTO = new ContatoDTO();  
2252 - $objContatoDTO->setNumIdContato(null);  
2253 -  
2254 - $objContatoRN = new ContatoRN();  
2255 -  
2256 - $numRegistros = count($rs);  
2257 -  
2258 - $n = 0;  
2259 - foreach($rs as $item){  
2260 -  
2261 - $objContatoDTO->setNumIdContato($item['id_contato']);  
2262 -  
2263 - $objContatoRN->montarIndexacaoRN0450($objContatoDTO);  
2264 -  
2265 - if ((++$n >= 1000 && $n % 1000 == 0) || $n == $numRegistros) {  
2266 - InfraDebug::getInstance()->gravar($n . ' DE ' . $numRegistros);  
2267 - }  
2268 - }  
2269 -  
2270 - InfraDebug::getInstance()->setBolDebugInfra(true);  
2271 - }  
2272 -  
2273 - protected function atualizarSequenciasControlado(){  
2274 -  
2275 - try{  
2276 -  
2277 - ini_set('max_execution_time','0');  
2278 - ini_set('mssql.timeout','0');  
2279 -  
2280 - InfraDebug::getInstance()->setBolLigado(true);  
2281 - InfraDebug::getInstance()->setBolDebugInfra(false);  
2282 - InfraDebug::getInstance()->setBolEcho(true);  
2283 - InfraDebug::getInstance()->limpar();  
2284 -  
2285 - $numSeg = InfraUtil::verificarTempoProcessamento();  
2286 -  
2287 - InfraDebug::getInstance()->gravar('Atualizar Sequencias - Iniciando...');  
2288 -  
2289 - $arrSequencias = array(  
2290 - 'seq_acesso',  
2291 - 'seq_acesso_externo',  
2292 - 'seq_acompanhamento',  
2293 - 'seq_anexo',  
2294 - 'seq_anotacao',  
2295 - 'seq_arquivo_extensao',  
2296 - 'seq_assinante',  
2297 - 'seq_assinatura',  
2298 - 'seq_assunto',  
2299 - 'seq_atividade',  
2300 - 'seq_atributo',  
2301 - 'seq_atributo_andamento',  
2302 - 'seq_base_conhecimento',  
2303 - 'seq_bloco',  
2304 - 'seq_cargo',  
2305 - 'seq_cidade',  
2306 - 'seq_conjunto_estilos',  
2307 - 'seq_conjunto_estilos_item',  
2308 - 'seq_contato',  
2309 - 'seq_controle_interno',  
2310 - 'seq_dominio',  
2311 - 'seq_email_grupo_email',  
2312 - 'seq_email_unidade',  
2313 - 'seq_estilo',  
2314 - 'seq_feed',  
2315 - 'seq_feriado',  
2316 - 'seq_grupo_acompanhamento',  
2317 - 'seq_grupo_contato',  
2318 - 'seq_grupo_email',  
2319 - 'seq_grupo_protocolo_modelo',  
2320 - 'seq_grupo_serie',  
2321 - 'seq_hipotese_legal',  
2322 - 'seq_imagem_formato',  
2323 - 'seq_localizador',  
2324 - 'seq_lugar_localizador',  
2325 - 'seq_modelo',  
2326 - 'seq_nivel_acesso_permitido',  
2327 - 'seq_novidade',  
2328 - 'seq_numeracao',  
2329 - 'seq_observacao',  
2330 - 'seq_operacao_servico',  
2331 - 'seq_ordenador_despesa',  
2332 - 'seq_pais',  
2333 - 'seq_participante',  
2334 - 'seq_protocolo_modelo',  
2335 - 'seq_publicacao',  
2336 - 'seq_rel_protocolo_protocolo',  
2337 - 'seq_retorno_programado',  
2338 - 'seq_secao_documento',  
2339 - 'seq_secao_imprensa_nacional',  
2340 - 'seq_secao_modelo',  
2341 - 'seq_serie',  
2342 - 'seq_serie_publicacao',  
2343 - 'seq_servico',  
2344 - 'seq_texto_padrao_interno',  
2345 - 'seq_tipo_conferencia',  
2346 - 'seq_tipo_localizador',  
2347 - 'seq_tipo_procedimento',  
2348 - 'seq_tipo_suporte',  
2349 - 'seq_tratamento',  
2350 - 'seq_uf',  
2351 - 'seq_unidade_publicacao',  
2352 - 'seq_veiculo_imprensa_nacional',  
2353 - 'seq_veiculo_publicacao',  
2354 - 'seq_vocativo',  
2355 - 'seq_grupo_unidade',  
2356 - 'seq_email_utilizado',  
2357 - 'seq_andamento_situacao',  
2358 - 'seq_situacao',  
2359 - 'seq_tarefa',  
2360 - 'seq_email_sistema',  
2361 - 'seq_tipo_formulario',  
2362 - 'seq_tarja_assinatura',  
2363 - 'seq_monitoramento_servico',  
2364 - 'seq_tipo_contato',  
2365 - 'seq_rel_unidade_tipo_contato',  
2366 - 'seq_marcador',  
2367 - 'seq_andamento_marcador',  
2368 - 'seq_assunto_proxy',  
2369 - 'seq_tabela_assuntos',  
2370 - 'seq_serie_restricao',  
2371 - 'seq_tipo_proced_restricao');  
2372 -  
2373 - foreach($arrSequencias as $strSequencia){  
2374 -  
2375 - if (BancoSEI::getInstance() instanceof InfraSqlServer || BancoSEI::getInstance() instanceof InfraMySql){  
2376 - BancoSEI::getInstance()->executarSql('drop table '.$strSequencia);  
2377 - }else{  
2378 - BancoSEI::getInstance()->executarSql('drop sequence '.$strSequencia);  
2379 - }  
2380 -  
2381 - $strIdOrigem = str_replace('seq_','id_',$strSequencia);  
2382 - $strTabelaOrigem = str_replace('seq_','',$strSequencia);  
2383 -  
2384 - $rs = BancoSEI::getInstance()->consultarSql('select max('.$strIdOrigem.') as ultimo from '.$strTabelaOrigem);  
2385 -  
2386 - if ($rs[0]['ultimo'] == null){  
2387 - $numInicial = 1;  
2388 - }else{  
2389 - $numInicial = $rs[0]['ultimo'] + 1;  
2390 - }  
2391 -  
2392 - BancoSEI::getInstance()->criarSequencialNativa($strSequencia, $numInicial);  
2393 -  
2394 - InfraDebug::getInstance()->gravar($strSequencia.': '.$numInicial);  
2395 -  
2396 - }  
2397 -  
2398 - $arrSequencias = array(  
2399 - 'seq_auditoria_protocolo',  
2400 - 'seq_estatisticas',  
2401 - 'seq_infra_auditoria',  
2402 - 'seq_infra_log',  
2403 - 'seq_infra_navegador',  
2404 - 'seq_protocolo',  
2405 - 'seq_versao_secao_documento',  
2406 - 'seq_controle_unidade',  
2407 - 'seq_monitoramento_servico');  
2408 -  
2409 - foreach($arrSequencias as $strSequencia){  
2410 -  
2411 - if (BancoSEI::getInstance() instanceof InfraSqlServer || BancoSEI::getInstance() instanceof InfraMySql){  
2412 - BancoSEI::getInstance()->executarSql('drop table '.$strSequencia);  
2413 - }else{  
2414 - BancoSEI::getInstance()->executarSql('drop sequence '.$strSequencia);  
2415 - }  
2416 -  
2417 - $rs = BancoSEI::getInstance()->consultarSql('select '.BancoSEI::getInstance()->formatarSelecaoDbl(null,'max('.str_replace('seq_','id_',$strSequencia).')','ultimo').' from '.str_replace('seq_','',$strSequencia));  
2418 -  
2419 - if ($rs[0]['ultimo'] == null){  
2420 - $numInicial = 1;  
2421 - }else{  
2422 - $numInicial = $rs[0]['ultimo'] + 1;  
2423 - }  
2424 -  
2425 - if (BancoSEI::getInstance() instanceof InfraMySql){  
2426 - BancoSEI::getInstance()->executarSql('create table '.$strSequencia.' (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = '.$numInicial);  
2427 - }else if (BancoSEI::getInstance() instanceof InfraSqlServer){  
2428 - BancoSEI::getInstance()->executarSql('create table '.$strSequencia.' (id bigint identity('.$numInicial.',1), campo char(1) null)');  
2429 - }else if (BancoSEI::getInstance() instanceof InfraOracle){  
2430 - BancoSEI::getInstance()->criarSequencialNativa($strSequencia, $numInicial);  
2431 - }  
2432 -  
2433 - InfraDebug::getInstance()->gravar($strSequencia.': '.$numInicial);  
2434 - }  
2435 -  
2436 - $numSeg = InfraUtil::verificarTempoProcessamento($numSeg);  
2437 -  
2438 - InfraDebug::getInstance()->gravar('Atualizar Sequencias - Finalizado em '.InfraData::formatarTimestamp($numSeg));  
2439 -  
2440 - }catch(Exception $e){  
2441 - throw new InfraException('Erro atualizando sequencias da base de dados.',$e);  
2442 - }  
2443 - }  
2444 } 96 }
2445 ?> 97 ?>