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 73 //Rotinas de criação de tabelas do módulo
74 74 //...
75 75  
76   -
77   -
78 76 BancoSEI::getInstance()->executarSql('update infra_parametro set valor=\'' . MdEstatisticasVersaoRN::MD_ESTATISTICAS_VERSAO . '\' where nome=\'MD_ESTATISTICAS_VERSAO\'');
79 77 }
80 78  
81   -
82 79 //Versão 1.1.0
83 80 // if (substr($strVersaoAtual,0,3) == '1.0' && MdEstatisticasVersaoRN::MD_ESTATISTICAS_VERSAO == '1.1.0') {
84 81 // //Rotinas de criação/atualização de tabelas do módulo
85 82 // //...
86 83  
87   -
88   -
89 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 87 $this->finalizar('FIM',false);
98 88  
99 89 }catch(Exception $e){
... ... @@ -103,2343 +93,5 @@ class MdEstatisticasVersaoRN extends InfraRN {
103 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 ?>
... ...