Commit c365673ddac971a6562d6b9808020a1895af4043

Authored by Nei Jobson da Costa Carneiro
1 parent 8198c612

Atualização geral da versão BETA. Ainda faltam poucos erros para liberação de ve…

…rsão estável aos órgãos.
sei/scripts/sei_atualizar_versao_modulo_peticionamento.php
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
7 7
8 SessaoSEI::getInstance(false); 8 SessaoSEI::getInstance(false);
9 9
10 - $objVersaoRN = new MdPetAtualizadorRN(); 10 + $objVersaoRN = new MdPetAtualizadorSeiRN();
11 $objVersaoRN->atualizarVersao(); 11 $objVersaoRN->atualizarVersao();
12 exit; 12 exit;
13 13
sei/web/modulos/peticionamento/dto/MdPetCriterioDTO.php
@@ -46,6 +46,9 @@ class MdPetCriterioDTO extends InfraDTO { @@ -46,6 +46,9 @@ class MdPetCriterioDTO extends InfraDTO {
46 46
47 47
48 $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'NomeProcesso', 'tipo_proc.nome', 'tipo_procedimento tipo_proc'); 48 $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'NomeProcesso', 'tipo_proc.nome', 'tipo_procedimento tipo_proc');
  49 +
  50 + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'TipoProcessoSinAtivo', 'tipo_proc.sin_ativo', 'tipo_procedimento tipo_proc');
  51 +
49 $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'NomeHipoteseLegal', 'hl.nome', 'hipotese_legal hl'); 52 $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'NomeHipoteseLegal', 'hl.nome', 'hipotese_legal hl');
50 $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'BaseLegalHipoteseLegal', 'hl.base_legal', 'hipotese_legal hl'); 53 $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'BaseLegalHipoteseLegal', 'hl.base_legal', 'hipotese_legal hl');
51 54
sei/web/modulos/peticionamento/int/MdPetIntercorrenteINT.php
@@ -226,6 +226,21 @@ @@ -226,6 +226,21 @@
226 $objMdPetCriterioRN = new MdPetCriterioRN(); 226 $objMdPetCriterioRN = new MdPetCriterioRN();
227 $arrMdPetCriterioDTO = $objMdPetCriterioRN->consultar($objMdPetCriterioDTO); 227 $arrMdPetCriterioDTO = $objMdPetCriterioRN->consultar($objMdPetCriterioDTO);
228 228
  229 + //Tipo de Procedimento ATIVO
  230 + if (!is_null($arrMdPetCriterioDTO)) {
  231 + $objTipoProcedimentoDTO = new TipoProcedimentoDTO();
  232 + $objTipoProcedimentoDTO->setNumIdTipoProcedimento($arrMdPetCriterioDTO->getNumIdTipoProcedimento());
  233 + $objTipoProcedimentoDTO->setStrSinAtivo('S');
  234 + $objTipoProcedimentoDTO->retTodos();
  235 + $objTipoProcedimentoRN = new TipoProcedimentoRN();
  236 + $arrObjTipoProcedimentoDTO = $objTipoProcedimentoRN->consultarRN0267($objTipoProcedimentoDTO);
  237 +
  238 + if (is_null($arrObjTipoProcedimentoDTO)){
  239 + $arrMdPetCriterioDTO = null;
  240 + }
  241 + }
  242 +
  243 +
229 //Se não tem criterio intercorrente cadastrado, verifica se tem interorrente padrão cadastrado. 244 //Se não tem criterio intercorrente cadastrado, verifica se tem interorrente padrão cadastrado.
230 if (is_null($arrMdPetCriterioDTO)) { 245 if (is_null($arrMdPetCriterioDTO)) {
231 $objMdPetCriterioDTO = new MdPetCriterioDTO(); 246 $objMdPetCriterioDTO = new MdPetCriterioDTO();
@@ -238,7 +253,6 @@ @@ -238,7 +253,6 @@
238 $arrMdPetCriterioDTO = $objMdPetCriterioRN->consultar($objMdPetCriterioDTO); 253 $arrMdPetCriterioDTO = $objMdPetCriterioRN->consultar($objMdPetCriterioDTO);
239 } 254 }
240 255
241 -  
242 $arrRetorno = array(); 256 $arrRetorno = array();
243 if (!is_null($arrMdPetCriterioDTO)) { 257 if (!is_null($arrMdPetCriterioDTO)) {
244 258
sei/web/modulos/peticionamento/md_pet_intercorrente_criterio_padrao.php
@@ -413,7 +413,7 @@ PaginaSEI::getInstance()->fecharHtml(); @@ -413,7 +413,7 @@ PaginaSEI::getInstance()->fecharHtml();
413 413
414 function carregarDependenciaNivelAcesso() { 414 function carregarDependenciaNivelAcesso() {
415 //Ajax para carregar os niveis de acesso após a escolha do tipo de processo 415 //Ajax para carregar os niveis de acesso após a escolha do tipo de processo
416 - objAjaxIdNivelAcesso = new infraAjaxMontarSelectDependente('txtTipoProcesso', 'selNivelAcesso', '< ?=$strLinkAjaxNivelAcesso?>'); 416 + objAjaxIdNivelAcesso = new infraAjaxMontarSelectDependente('txtTipoProcesso', 'selNivelAcesso', '<?=$strLinkAjaxNivelAcesso?>');
417 objAjaxIdNivelAcesso.prepararExecucao = function () { 417 objAjaxIdNivelAcesso.prepararExecucao = function () {
418 document.getElementById('selNivelAcesso').innerHTML = ''; 418 document.getElementById('selNivelAcesso').innerHTML = '';
419 return infraAjaxMontarPostPadraoSelect('null', '', 'null') + '&idTipoProcesso=' + document.getElementById('hdnIdTipoProcesso').value; 419 return infraAjaxMontarPostPadraoSelect('null', '', 'null') + '&idTipoProcesso=' + document.getElementById('hdnIdTipoProcesso').value;
sei/web/modulos/peticionamento/md_pet_intercorrente_usu_ext_cadastro_inicializar.php
@@ -35,7 +35,17 @@ @@ -35,7 +35,17 @@
35 //Fim RN 35 //Fim RN
36 36
37 //RN para exibir Hipotese Legal 37 //RN para exibir Hipotese Legal
38 - $exibirHipoteseLegal = true;  
39 - //@todo Não estou conseguindo instanciar aqui  
40 - //$exibirHipoteseLegal = MdPetIntercorrenteINT::verificarHipoteseLegal(); 38 +
  39 + $objInfraParametroDTO = new InfraParametroDTO();
  40 + $objMdPetParametroRN = new MdPetParametroRN();
  41 + $objInfraParametroDTO->retTodos();
  42 + $objInfraParametroDTO->setStrNome('SEI_HABILITAR_HIPOTESE_LEGAL');
  43 + $objInfraParametroDTO = $objMdPetParametroRN->consultar($objInfraParametroDTO);
  44 + $valorParametroHipoteseLegal = $objInfraParametroDTO->getStrValor();
  45 +
  46 + if ($valorParametroHipoteseLegal=='0') {
  47 + $exibirHipoteseLegal = false;
  48 + }else{
  49 + $exibirHipoteseLegal = true;
  50 + }
41 //Fim RN 51 //Fim RN
42 \ No newline at end of file 52 \ No newline at end of file
sei/web/modulos/peticionamento/md_pet_intercorrente_usu_ext_cadastro_js.php
@@ -358,7 +358,10 @@ @@ -358,7 +358,10 @@
358 var hdnNivelAcesso = document.createElement('input'); 358 var hdnNivelAcesso = document.createElement('input');
359 359
360 divNivelAcesso.innerHTML = ''; 360 divNivelAcesso.innerHTML = '';
361 - divHipoteseLegal.innerHTML = ''; 361 +
  362 + if (divHipoteseLegal!=null){
  363 + divHipoteseLegal.innerHTML = '';
  364 + }
362 365
363 lblNivelAcesso.className = 'infraLabel'; 366 lblNivelAcesso.className = 'infraLabel';
364 lblNivelAcesso.id = 'lblNivelAcesso'; 367 lblNivelAcesso.id = 'lblNivelAcesso';
sei/web/modulos/peticionamento/md_pet_usu_ext_cadastro_inicializacao.php
@@ -294,6 +294,7 @@ $tipoConferenciaRN = new TipoConferenciaRN(); @@ -294,6 +294,7 @@ $tipoConferenciaRN = new TipoConferenciaRN();
294 $tipoConferenciaDTO = new TipoConferenciaDTO(); 294 $tipoConferenciaDTO = new TipoConferenciaDTO();
295 $tipoConferenciaDTO->retTodos(); 295 $tipoConferenciaDTO->retTodos();
296 $tipoConferenciaDTO->setStrSinAtivo('S'); 296 $tipoConferenciaDTO->setStrSinAtivo('S');
  297 +$tipoConferenciaDTO->setOrdStrDescricao(InfraDTO::$TIPO_ORDENACAO_ASC);
297 $arrTipoConferencia = $tipoConferenciaRN->listar( $tipoConferenciaDTO ); 298 $arrTipoConferencia = $tipoConferenciaRN->listar( $tipoConferenciaDTO );
298 299
299 //tamanho maximo de arquivo, tem o interno do SEI e tem o da parametrizaçao 300 //tamanho maximo de arquivo, tem o interno do SEI e tem o da parametrizaçao
sei/web/modulos/peticionamento/md_pet_usu_ext_recibo_lista.php
@@ -85,18 +85,20 @@ try { @@ -85,18 +85,20 @@ try {
85 } 85 }
86 86
87 //$objMdPetReciboDTO->setOrd('DataHoraRecebimentoFinal', InfraDTO::$TIPO_ORDENACAO_DESC ); 87 //$objMdPetReciboDTO->setOrd('DataHoraRecebimentoFinal', InfraDTO::$TIPO_ORDENACAO_DESC );
88 - $objMdPetReciboDTO->setOrdDthDataHoraRecebimentoFinal(InfraDTO::$TIPO_ORDENACAO_DESC);  
89 - 88 + //objMdPetReciboDTO->setOrdDthDataHoraRecebimentoFinal(InfraDTO::$TIPO_ORDENACAO_DESC);
  89 +
  90 + PaginaSEIExterna::getInstance()->prepararOrdenacao($objMdPetReciboDTO, 'DataHoraRecebimentoFinal', InfraDTO::$TIPO_ORDENACAO_DESC);
  91 + PaginaSEIExterna::getInstance()->prepararPaginacao($objMdPetReciboDTO,200);
  92 +
90 $objMdPetReciboRN = new MdPetReciboRN(); 93 $objMdPetReciboRN = new MdPetReciboRN();
91 - //PaginaSEIExterna::getInstance()->prepararOrdenacao($objMdPetReciboDTO, 'DataHoraRecebimentoFinal', InfraDTO::$TIPO_ORDENACAO_DESC);  
92 $arrObjMdPetReciboDTO = $objMdPetReciboRN->listar($objMdPetReciboDTO); 94 $arrObjMdPetReciboDTO = $objMdPetReciboRN->listar($objMdPetReciboDTO);
  95 +
  96 + PaginaSEIExterna::getInstance()->processarPaginacao($objMdPetReciboDTO);
  97 +
93 $numRegistros = count($arrObjMdPetReciboDTO); 98 $numRegistros = count($arrObjMdPetReciboDTO);
94 - 99 +
95 if ($numRegistros > 0){ 100 if ($numRegistros > 0){
96 101
97 - PaginaSEIExterna::getInstance()->prepararPaginacao($objMdPetReciboDTO,1);  
98 - PaginaSEIExterna::getInstance()->processarPaginacao($objMdPetReciboDTO);  
99 -  
100 $bolAcaoConsultar = SessaoSEIExterna::getInstance()->verificarPermissao('md_pet_usu_ext_recibo_consultar'); 102 $bolAcaoConsultar = SessaoSEIExterna::getInstance()->verificarPermissao('md_pet_usu_ext_recibo_consultar');
101 103
102 $strResultado = ''; 104 $strResultado = '';
@@ -110,7 +112,7 @@ try { @@ -110,7 +112,7 @@ try {
110 $strResultado .= '<th class="infraTh" width="15%">'.PaginaSEIExterna::getInstance()->getThOrdenacao($objMdPetReciboDTO,'Data e Horário','DataHoraRecebimentoFinal',$arrObjMdPetReciboDTO).'</th>'."\n"; 112 $strResultado .= '<th class="infraTh" width="15%">'.PaginaSEIExterna::getInstance()->getThOrdenacao($objMdPetReciboDTO,'Data e Horário','DataHoraRecebimentoFinal',$arrObjMdPetReciboDTO).'</th>'."\n";
111 $strResultado .= '<th class="infraTh" width="20%">'.PaginaSEIExterna::getInstance()->getThOrdenacao($objMdPetReciboDTO,'Número do Processo','NumeroProcessoFormatado',$arrObjMdPetReciboDTO).'</th>'."\n"; 113 $strResultado .= '<th class="infraTh" width="20%">'.PaginaSEIExterna::getInstance()->getThOrdenacao($objMdPetReciboDTO,'Número do Processo','NumeroProcessoFormatado',$arrObjMdPetReciboDTO).'</th>'."\n";
112 $strResultado .= '<th class="infraTh" width="15%">'.PaginaSEIExterna::getInstance()->getThOrdenacao($objMdPetReciboDTO,'Recibo','NumeroProcessoFormatadoDoc',$arrObjMdPetReciboDTO).'</th>'."\n"; 114 $strResultado .= '<th class="infraTh" width="15%">'.PaginaSEIExterna::getInstance()->getThOrdenacao($objMdPetReciboDTO,'Recibo','NumeroProcessoFormatadoDoc',$arrObjMdPetReciboDTO).'</th>'."\n";
113 - $strResultado .= '<th class="infraTh" width="30%">'.PaginaSEIExterna::getInstance()->getThOrdenacao($objMdPetReciboDTO,'Tipo de Peticionamento','TipoPeticionamento',$arrObjMdPetReciboDTO).'</th>'."\n"; 115 + $strResultado .= '<th class="infraTh" width="30%">'.PaginaSEIExterna::getInstance()->getThOrdenacao($objMdPetReciboDTO,'Tipo de Peticionamento','StaTipoPeticionamento',$arrObjMdPetReciboDTO).'</th>'."\n";
114 $strResultado .= '<th class="infraTh" width="15%">Ações</th>'."\n"; 116 $strResultado .= '<th class="infraTh" width="15%">Ações</th>'."\n";
115 $strResultado .= '</tr>'."\n"; 117 $strResultado .= '</tr>'."\n";
116 $strCssTr=''; 118 $strCssTr='';
@@ -118,7 +120,6 @@ try { @@ -118,7 +120,6 @@ try {
118 $protocoloRN = new ProtocoloRN(); 120 $protocoloRN = new ProtocoloRN();
119 121
120 for($i = 0;$i < $numRegistros; $i++){ 122 for($i = 0;$i < $numRegistros; $i++){
121 -  
122 $protocoloDTO = new ProtocoloDTO(); 123 $protocoloDTO = new ProtocoloDTO();
123 $protocoloDTO->retDblIdProtocolo(); 124 $protocoloDTO->retDblIdProtocolo();
124 $protocoloDTO->retStrProtocoloFormatado(); 125 $protocoloDTO->retStrProtocoloFormatado();
sei/web/modulos/peticionamento/rn/MdPetAtualizadorRN.php
@@ -1,969 +0,0 @@ @@ -1,969 +0,0 @@
1 -<?  
2 -/**  
3 - * ANATEL  
4 - *  
5 - * 21/05/2016 - criado por marcelo.bezerra - CAST  
6 - *  
7 - */  
8 -  
9 -require_once dirname(__FILE__) . '/../../../SEI.php';  
10 -  
11 -class MdPetAtualizadorRN extends InfraRN  
12 -{  
13 -  
14 - private $numSeg = 0;  
15 - private $versaoAtualDesteModulo = '1.1.0';  
16 - private $nomeDesteModulo = 'PETICIONAMENTO E INTIMAÇÃO ELETRÔNICOS';  
17 - private $nomeParametroModulo = 'VERSAO_MODULO_PETICIONAMENTO';  
18 - private $historicoVersoes = array('0.0.1', '0.0.2', '1.0.3', '1.0.4', '1.1.0');  
19 -  
20 - public function __construct()  
21 - {  
22 - parent::__construct();  
23 - }  
24 -  
25 - protected function inicializarObjInfraIBanco()  
26 - {  
27 - return BancoSEI::getInstance();  
28 - }  
29 -  
30 - private function inicializar($strTitulo)  
31 - {  
32 -  
33 - ini_set('max_execution_time', '0');  
34 - ini_set('memory_limit', '-1');  
35 -  
36 - try {  
37 - @ini_set('zlib.output_compression', '0');  
38 - @ini_set('implicit_flush', '1');  
39 - } catch (Exception $e) {  
40 - }  
41 -  
42 - ob_implicit_flush();  
43 -  
44 - InfraDebug::getInstance()->setBolLigado(true);  
45 - InfraDebug::getInstance()->setBolDebugInfra(true);  
46 - InfraDebug::getInstance()->setBolEcho(true);  
47 - InfraDebug::getInstance()->limpar();  
48 -  
49 - $this->numSeg = InfraUtil::verificarTempoProcessamento();  
50 -  
51 - $this->logar($strTitulo);  
52 - }  
53 -  
54 - private function logar($strMsg)  
55 - {  
56 - InfraDebug::getInstance()->gravar($strMsg);  
57 - flush();  
58 - }  
59 -  
60 - private function finalizar($strMsg = null, $bolErro)  
61 - {  
62 -  
63 - if (!$bolErro) {  
64 - $this->numSeg = InfraUtil::verificarTempoProcessamento($this->numSeg);  
65 - $this->logar('TEMPO TOTAL DE EXECUÇÃO: ' . $this->numSeg . ' s');  
66 - } else {  
67 - $strMsg = 'ERRO: ' . $strMsg;  
68 - }  
69 -  
70 - if ($strMsg != null) {  
71 - $this->logar($strMsg);  
72 - }  
73 -  
74 - InfraDebug::getInstance()->setBolLigado(false);  
75 - InfraDebug::getInstance()->setBolDebugInfra(false);  
76 - InfraDebug::getInstance()->setBolEcho(false);  
77 - $this->numSeg = 0;  
78 - die;  
79 - }  
80 -  
81 - //Contem atualizações da versao 1.1.0 (Intercorrente)  
82 - protected function instalarv110()  
83 - {  
84 - try {  
85 -  
86 - $objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance());  
87 - $this->logar('EXECUTANDO A INSTALACAO DA VERSAO 1.1.0 DO MODULO ' . $this->nomeDesteModulo . ' NA BASE DO SEI');  
88 -  
89 - // INICIO 7048  
90 - //Cria a tabela de tipo de resposta  
91 - BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_criterio (  
92 - id_md_pet_criterio ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
93 - sin_ativo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL,  
94 - sin_criterio_padrao ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL,  
95 - sta_nivel_acesso ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,  
96 - sta_tipo_nivel_acesso ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,  
97 - id_hipotese_legal ' . $objInfraMetaBD->tipoNumero() . ' NULL,  
98 - id_tipo_procedimento ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL  
99 - )');  
100 -  
101 - $objInfraMetaBD->adicionarChavePrimaria('md_pet_criterio','pk_md_pet_criterio',array('id_md_pet_criterio'));  
102 -  
103 - $objInfraMetaBD->adicionarChaveEstrangeira('fk1_md_pet_criterio', 'md_pet_criterio', array('id_hipotese_legal'), 'hipotese_legal', array('id_hipotese_legal'));  
104 - $objInfraMetaBD->adicionarChaveEstrangeira('fk2_md_pet_criterio', 'md_pet_criterio', array('id_tipo_procedimento'), 'tipo_procedimento', array('id_tipo_procedimento'));  
105 -  
106 - if (BancoSEI::getInstance() instanceof InfraMySql) {  
107 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_criterio (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');  
108 - } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {  
109 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_criterio (id bigint identity(1,1), campo char(1) null)');  
110 - } else if (BancoSEI::getInstance() instanceof InfraOracle) {  
111 - BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_criterio', 1);  
112 - }  
113 - // FIM 7048  
114 -  
115 - //Criando campo md_pet_rel_recibo_protoc.id_protocolo_relacionado caso ainda nao exista  
116 - $coluna = $objInfraMetaBD->obterColunasTabela('md_pet_rel_recibo_protoc', 'id_protocolo_relacionado');  
117 -  
118 - if( $coluna == null || !is_array( $coluna ) ){  
119 -  
120 - $objInfraMetaBD->adicionarColuna('md_pet_rel_recibo_protoc', 'id_protocolo_relacionado', '' . $objInfraMetaBD->tipoNumeroGrande() , 'NULL');  
121 -  
122 - $objInfraMetaBD->adicionarChaveEstrangeira('fk5_md_pet_rel_recibo_protoc', 'md_pet_rel_recibo_protoc', array('id_protocolo_relacionado'), 'protocolo', array('id_protocolo'));  
123 -  
124 - }  
125 -  
126 - //coluna id_documento na tabela de recibo  
127 - $objInfraMetaBD->adicionarColuna('md_pet_rel_recibo_protoc', 'id_documento', '' . $objInfraMetaBD->tipoNumeroGrande() , 'NULL');  
128 - $objInfraMetaBD->adicionarChaveEstrangeira('fk6_md_pet_rel_recibo_protoc', 'md_pet_rel_recibo_protoc', array('id_documento'), 'documento', array('id_documento'));  
129 -  
130 - //Atualizando dados da tabela  
131 - $objInfraParametro = new InfraParametro(BancoSEI::getInstance());  
132 - $ret = $objInfraParametro->listarValores(array('ID_SERIE_RECIBO_MODULO_PETICIONAMENTO'), false);  
133 -  
134 - $arrObjInfraParametroDTO = NULL;  
135 - $idSeriePet = array_key_exists('ID_SERIE_RECIBO_MODULO_PETICIONAMENTO' , $ret) ? $ret['ID_SERIE_RECIBO_MODULO_PETICIONAMENTO'] : null;  
136 -  
137 - if($idSeriePet){  
138 - $arrObjDocumentDTO = array();  
139 -  
140 - $objDocumentoDTO = new DocumentoDTO();  
141 - $objDocumentoDTO->retDblIdDocumento();  
142 - $objDocumentoDTO->retDblIdProcedimento();  
143 - $objDocumentoDTO->setNumIdSerie($idSeriePet);  
144 - $objDocumentoRN = new DocumentoRN();  
145 - $countDoc = $objDocumentoRN->contarRN0007($objDocumentoDTO);  
146 -  
147 - if ($countDoc > 0) {  
148 - $arrObjDocumentDTO = $objDocumentoRN->listarRN0008($objDocumentoDTO);  
149 - foreach ($arrObjDocumentDTO as $objDocumentoDTO) {  
150 - $objMdPetReciboDTO = new MdPetReciboDTO();  
151 - $objMdPetReciboRN = new MdPetReciboRN();  
152 - $objMdPetReciboDTO->setNumIdProtocolo($objDocumentoDTO->getDblIdProcedimento());  
153 - $objMdPetReciboDTO->setDblIdDocumento($objDocumentoDTO->getDblIdDocumento());  
154 - $objMdPetReciboDTO->retNumIdReciboPeticionamento();  
155 - $arrObjMdPetReciboDTO = $objMdPetReciboRN->listar($objMdPetReciboDTO);  
156 -  
157 - foreach ($arrObjMdPetReciboDTO as $objDTO){  
158 - $objMdPetReciboRN->alterar($objDTO);  
159 - }  
160 - }  
161 - }  
162 -  
163 - }  
164 -  
165 -  
166 -  
167 -  
168 -  
169 - //Atualizando parametro para controlar versao do modulo  
170 - $this->logar('ATUALIZANDO PARAMETRO ' . $this->nomeParametroModulo . ' NA TABELA infra_parametro PARA CONTROLAR A VERSÃO DO MÓDULO');  
171 - BancoSEI::getInstance()->executarSql('UPDATE infra_parametro SET valor = \'1.1.0\' WHERE nome = \'' . $this->nomeParametroModulo . '\' ');  
172 -  
173 - } catch (Exception $e) {  
174 - $this->logar($e->getTraceAsString());  
175 - print_r($e);  
176 - die();  
177 - }  
178 - }  
179 -  
180 -//Contem atualizações da versao 1.0.4  
181 - protected function instalarv104()  
182 - {  
183 - try {  
184 -  
185 - $objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance());  
186 - $this->logar('EXECUTANDO A INSTALACAO DA VERSAO 1.0.4 DO MODULO ' . $this->nomeDesteModulo . ' NA BASE DO SEI');  
187 -  
188 - //Caso exista a coluna na tabela a instalação é nova, então não é necessario executar a migração de dados  
189 - $colunasTabela = $objInfraMetaBD->obterColunasTabela('md_pet_rel_tp_ctx_contato', 'id_tipo_contato');  
190 - if (count($colunasTabela) <= 0 || $colunasTabela[0]['column_name'] != 'id_tipo_contato') {  
191 - $this->logar('ADICIONANDO A COLUNA id_tipo_contato NA TABELA md_pet_rel_tp_ctx_contato');  
192 - $objInfraMetaBD->adicionarColuna('md_pet_rel_tp_ctx_contato', 'id_tipo_contato', $objInfraMetaBD->tipoNumero(), 'NOT NULL');  
193 -  
194 - $this->logar('ATUALIZANDO OS REGISTROS DA TABELA md_pet_rel_tp_ctx_contato');  
195 - BancoSEI::getInstance()->executarSql('UPDATE md_pet_rel_tp_ctx_contato set id_tipo_contato = id_tipo_contexto_contato');  
196 -  
197 - $this->logar('EXCLUINDO A COLUNA id_tipo_contexto_contato DA TABELA md_pet_rel_tp_ctx_contato');  
198 - $objInfraMetaBD->excluirColuna('md_pet_rel_tp_ctx_contato', 'id_tipo_contexto_contato');  
199 - }  
200 -  
201 - if ($this->existeIdEmailSistemaPecitionamento()) {  
202 - $this->atualizarIdEmailSistemaAlertaPecitionamento();  
203 - $this->atualizarIdEmailSistemaConfirmacaoPeticionamento();  
204 - }  
205 -  
206 - //inclusao de nova tarja de assinatura customizada, para uso pelo modulo peticionamento em caso de documento nato-digital  
207 - $objTarjaAssinaturaDTO = new TarjaAssinaturaDTO();  
208 - $objTarjaAssinaturaDTO->setStrStaTarjaAssinatura( MdPetAssinaturaRN::$TT_ASSINATURA_SENHA_PETICIONAMENTO );  
209 -  
210 - $objTarjaAssinaturaDTO->setStrTexto('<hr style="margin: 0 0 4px 0;" /> <table> <tr> <td> @logo_assinatura@ </td> <td> <p style="margin:0;text-align: left; font-size:11pt;font-family: Calibri;">Documento assinado eletronicamente por <b>@nome_assinante@</b>, <b>@tratamento_assinante@</b>, em @data_assinatura@, às @hora_assinatura@, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do <a title="Acesse o Decreto" href="http://www.planalto.gov.br/ccivil_03/_Ato2015-2018/2015/Decreto/D8539.htm" target="_blank">Decreto nº 8.539, de 8 de outubro de 2015</a>.</p> </td> </tr> </table>');  
211 -  
212 - $objTarjaAssinaturaDTO->setStrLogo('iVBORw0KGgoAAAANSUhEUgAAAFkAAAA8CAMAAAA67OZ0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAADTtpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDQuMi4yLWMwNjMgNTMuMzUyNjI0LCAyMDA4LzA3LzMwLTE4OjEyOjE4ICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6eG1wUmlnaHRzPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvcmlnaHRzLyIKICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgIHhtbG5zOklwdGM0eG1wQ29yZT0iaHR0cDovL2lwdGMub3JnL3N0ZC9JcHRjNHhtcENvcmUvMS4wL3htbG5zLyIKICAgeG1wUmlnaHRzOldlYlN0YXRlbWVudD0iIgogICBwaG90b3Nob3A6QXV0aG9yc1Bvc2l0aW9uPSIiPgogICA8ZGM6cmlnaHRzPgogICAgPHJkZjpBbHQ+CiAgICAgPHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ii8+CiAgICA8L3JkZjpBbHQ+CiAgIDwvZGM6cmlnaHRzPgogICA8ZGM6Y3JlYXRvcj4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGk+QWxiZXJ0byBCaWdhdHRpPC9yZGY6bGk+CiAgICA8L3JkZjpTZXE+CiAgIDwvZGM6Y3JlYXRvcj4KICAgPGRjOnRpdGxlPgogICAgPHJkZjpBbHQ+CiAgICAgPHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ii8+CiAgICA8L3JkZjpBbHQ+CiAgIDwvZGM6dGl0bGU+CiAgIDx4bXBSaWdodHM6VXNhZ2VUZXJtcz4KICAgIDxyZGY6QWx0PgogICAgIDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCIvPgogICAgPC9yZGY6QWx0PgogICA8L3htcFJpZ2h0czpVc2FnZVRlcm1zPgogICA8SXB0YzR4bXBDb3JlOkNyZWF0b3JDb250YWN0SW5mbwogICAgSXB0YzR4bXBDb3JlOkNpQWRyRXh0YWRyPSIiCiAgICBJcHRjNHhtcENvcmU6Q2lBZHJDaXR5PSIiCiAgICBJcHRjNHhtcENvcmU6Q2lBZHJSZWdpb249IiIKICAgIElwdGM0eG1wQ29yZTpDaUFkclBjb2RlPSIiCiAgICBJcHRjNHhtcENvcmU6Q2lBZHJDdHJ5PSIiCiAgICBJcHRjNHhtcENvcmU6Q2lUZWxXb3JrPSIiCiAgICBJcHRjNHhtcENvcmU6Q2lFbWFpbFdvcms9IiIKICAgIElwdGM0eG1wQ29yZTpDaVVybFdvcms9IiIvPgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+RO84nQAAAwBQTFRFamts+fn5mp6hc3Nz9fX1U1NTS0tKnaGk6unqzM3P7e3u8fHxuLm7/Pz8lZmc2dnZxcXGWlpavr29wsLCp6eniYmKhYaGZWZmkpaZ0dHS5eXlkZGSrq2utbW2XV1d4uHhfX1+sbGy1dXW3d3dqampgYGCjY2OyMnKYWJihYaIjY6RnZ2ejpGSra+xeHl7lZWVmJiYgoKFpKaptre5vb7Aurq8oaGikpSWmJufh4iKkZKVysrMtrq7ioyOdXZ4fn+ArrGywcLEzc7QiYqMt7W1/v/8mZqcxsbIpqqrZGFhztDSeXp7iIWGnJqalJKSf4CCg4B/amZmoaSm5+fmvLy6ys3OzMzL2tze3dzaa2hny8nH0M7NiYiGbG5v19jYWFVVcG5s2drcxMTD0dPUx8jJ/P79sbO1j46OmZWU1dfXhIKC1NLTd3h68fL0wsTGb3By+vf3YV1d2NjW7u7u6Ojpe3x9fHp54eLkxMLAvLq5/f39+vr63t7fXFtamZiW6urqzMnKwL+98PHvrKytq6qq7evpr62toKKkvr/BOzk42dvad3V06OjmpaSj5efnnZyblpWT/fz6ZWZo9/f3jYyKqquteXd47u3rhYSC5eTisbCueXh2qaimWlhXjImIY2Bfc3Bw////UFBP/v7+/v////7///3+g4SHaGlpYmNj8vPzZ2dn/vz9WFhYtbO0ztDPWltbbW9u/v7/xcPEiouLrayq4+Tms7S2VldX7/DyqKel+/z++Pj4+ff4cXBuuru7u7y+7+/vx8fH8/HysK+wXFxc/fv8s7OztrWzZWRio6Ohl5eZ1NTUZGRkraus2NbX4N/d0dDP3dzc9ff14ODg9/n4oaCg4eHf+/v76+vrQD4+7Ozs/f3/7evsRUJCvLy87vDtysvLXl9fzczNwsPDYGBgw7+/ysjJgH19gH9/29rbwMC/Tk1MlJCPoaCeX1tb6ufo4uPjx8fF5OPht7e3X15cuLe4tLKzn56f09TW1dXTYWJkh4eHZGJj3+Diq6urXLJJJAAAC8BJREFUeNqsmAtYE1cWgAcmJLwSwjMJAYxiQhIeITyEgCGiAioCaiqWaoCiFQVKtgWsJFRapEpFatuodetKHYaQkIiipZVWqqBQ64OqrduGuquVR1sDu62u69JdW/fOZCCJovjttyffl9yZ3PvfM2fOOffcC6UgJ1a5R1GeJI6OjvHx8TQgTCYzLiEsTCgU8qRSQcaN4VNsWWpsndep7u7u2NhY9+7UkpKSJFnqkApBIOTrufFgJDb2MUIQ4xLYAMnjSRf4+koEAoGupLcMdQtVRBs0JA3JImovpVKpUED6SAMCnZhLo1Dmrlzp8hhJxCQkJGRdGhA6nV5aWjrs7T08nJw8Ono6hD7aXZd2ml5ALygoGAb33QPvBs68ACsZIjXkAcBLmpH/RVC7H7xlaZ86qmTcgY47UsKbEW3LU4Mmx9tTJwWYGJFAeh4URXGc2/yUCqJTaGrLRlFi3khIAUMUCxl9Kjj4qFQo1WYeC27ie6KjSK+AMHIsuDu92qpq8wCK+P+6cdasGvRRM6G21yI9hJPdn+Z1vTCfJvZlNccIgQt6IIj2iZ0zjY+Q0SnfGvZ921EiMC645kKjxNOen06NTMaTdH5oklwhl8OHdyyhUWgJudOS+yG9HRl9RGWrzm/FKfRNHYZEWnyCdON0ZHa/Xv8kO9u9FJSlY3DNzclMmtD34rTkVr1xajKKpFgaVIcu9URkkKq7EFW3MEEiZk1L5hsfJqtfrP74lXK3LhTDqQy/r+uOTX7egIUVKbhKvmOGQ7dEKpaxpvN/Np/BsLdzWeJWkDMpi+reAv5NNftIsjjpEekXLgJ0bgUDapf2JIsFnIgj0+o8YkMGuQMtX8SkgbTpyGTSEcTkIuX6CsTcLJkyAlzmRvD1nR1lXhXcJNjl4fTxsBSO9Pfb6IwaFjG3UxxXrKDQHF9B0F+lAp5AOH5BnM5RyF5Gnk9vVbR3lMUmVcBHb05lDXwm4nbhYH/rJBmY1QWAKe65q+avX09CB1LFPMF4VZchWQxH6MdR834+1OZbFg0nKfQhdo5Dch0YcHYu7zFZ/Yk3yG+10blrHo3iGK4G/1JdUWoal6eLm4Hli25FEsSZcTVp0Nh5v+w4BBtbT9u4peFITF1dTMyN7ple8kkD8YL4fCv5mGZRPIWynhjRM0cs0bljHY9VySDo6OmP69sZTvfLZr6raA2iW5+/pjSKsvb34FWrqrZXsM0TobY7iD9iq3N4PLDyuhfxQTMWSHSSdSiJZHCokjIUrXdvw56tTX6uvXx9X9vwpM7Hopes2h7uHh14/LhIEiF0Jf7Y3TcyaGNndSITXDAD1oL/UVaWRCcIDZ8d1eATWgFBg1uD4c4RcpHrg3Z+Z97w5Bv7mFI3b3ag+73AwMAGXwFcSrWQO9oHrWTQ75M9NEdHmlAYdaRLlVYh0GUlgVXY2M+Ajur7onJhp0FA9ukMcsLJ+HM3r3WUht0mgixUnBTVRZA9bcmgc3k4M4FJCxNIujXrSnRiTokSLA16Bn8waGzcA27qI+9znUNuc3LyBp0t4b8yXrjiE2L4VhkcqrE0fduCgmysAeQT+oowaUKYQJecXcLlyETbx0NDIyNFIrZvmhkCZL9rqdedxsijk2QXmnROGUHew1FSSBPkwT47ncHK4UwPFUil4oQbHE4JJw3RdHVpcEGK9WN9ZG519vjs83OCJ1VxuSChlFmax/ZUKLdP6NzZ5/lIrnvh9rhOIpb0LigpgWfa+G0xoymILCt/KO7qhIK4UtYQVuzMT4AhHuEckjxPTxtrEM5IXVKhyxK4z1FEKGWzrOVAsbGpncypPrG2O61nYj6VSxxPKJX4+XFlsor0iJIkRUbPo2SAHPDH0qU6OV3HEbMS34WVUBa9vMvk0ONxcwC5aAR25pYvYQqSomoIdHXc9vmzWNnZiUNHbp6mh4TcPB9UgPvdfSc7skN0agzL7FEnzBKXSNxqeIPw0X6935ZQkS/EGEZYmM5+ueESiQJiEY/isSARxZ8UdbCULLf7A9TYtZ892ZCqE0jZPLFMXAIHHkNyZUFGqLU9z8mpiUz2QS7qgZ0lG1ekVwwGzSfywyrpOrwhj5L0GrCGf384npcIcny05dleEesEYhmHE6FMegC8R2Vm97e1tXViYPIu5Erbd+Q395bHQJ1kdg9R+ezwpWP2+0sql62IVYPprvID1FayI0FGetzHpTpAFqSmGfBnqykY58IKCL7FPvsVMkPkx/ZrMJBOZdZWEzlNtUNQipEN6RdmKSOBMujVwQdWMohnQmeE6hzMCkk8Eoy7vhYb3SU35+Z+Jce81ERyc6shqRCVxpqHPcSlKqwRKhNCoyYsjwXZkwMfrYhQrdam4kBtVyfU2jtXh+mMojWi/4Tj0VfVNwV5wp/BF6CabhSqrfUm+tln9lMT9Fxusgq/2Ws047/BbbU25HjacaK/CWO3oGhKi4n64zcqAnZIiw5EHp7QFEsXVCoB3wjiH7ea+0l/vK+8rcFhkhwfz7SsI2UiTuOlzxcWRbpd2VcYXDx+5nDGT2zDQObezKob3x34MGSraX7tzoLdmffG6wu/smi9sWS9BqWaTIj/SoMJ+50/5mOa9Od4moWM9Cz02r9JPpZhvpoPm3cG5LgeXJzh+aXmVOXBwtU/wzPG8x1q859dQ/7mtTs/LM50sEQAO4nH5nV0SDo6/Li3blVwRposRQ5OTqXFncW7/Xlh5smcr/curjS8nfcnUu1yZ/jtmk085HDm4qVvbArVhsLUXtjMLULdvsjIW2qw2OZqQ0eH732/fUXcW6Dk2Qune1mmtCNTh/NW716c0rOtafM7r3+w695y5/pxTdHu0Zw7t5a9AW/R7jK+tyUneFkm4nPyuYNFZyYqgoGBakxAVVBeLpdfI14HTqbR4nBrqH68viY/p3rpTwfunN/00vszR+T5W7r276aP7ftg2R8av/sh22nxq3Dwpkbko7w1efvcpq7iJ27h5AvMhHmW6V9beKRYQ194STMUkK3xH3JgVakuehxaXfmcBzJj5iztjwuHzGcumRFSQWVBlRqx2wXZxYKVHEYk+BbcFVuaX9CasLSAZ4bmQ+oW0L25GbW6MVX1GE2tgpNFcWHzrNO5iR5YulJVzRjboXd5LbEJHe2oslHv2BRA1J4cFxcWbg2sayd5WLPlzDe7QEy0IN9v/sKbZFG/+MtyEJ1EtKOP6os+rPMEGVF/eHDT6jP1mSnPHFz2cvb1po8ub2k8//Xfzq35x19rRQc3vDOU8d7Oxg+e8WjMKfRHp96IoXZ2jgsThuO9nv353vv/lHM2fPuS16fL/52zfEfBdU7Blpy6+qWXc/K3BHlXnnyZnV97h5V959zfU560H8QiBVsHE9jScGwuauX1xv2d5qK3R683wucuFxaleB0I/jZnA7ItZ3P9pzvza73g1+HzKSnv1S4dy6BOs43G10FA3ooZjup1/crOPzrvFXmTL/3yS/WyZSleL8nlOY0p53Oy92/7Hv7Iq35zfkbKO0s3FednTkO2WCNMKN2Kvxb5b78tTehRFrr+zCjaRY18s+HGgatow1iO57bL/bU9xk8rzz3bQH61IXPxMvIG6jRnCvcJ8h7LPed7hz3QWVVa/38trEJcn2H1DGkQUvb7qxFSsVx90f8ai6ShH/Ynfeh95bZqmvMK3M5Coe8eyyvVfq5WYYs8SlXjDo2AK0SlPgS8D7QRVIVlZrSZapr+xMLiG1LJnscnAIsrt9itUehjDmNsROLUxod8BJJQ1HYQShx1aK1orR1IO/2RRX2nUwW0VrxAQkf+vxLQ6Tl2AzoxO0si8ekG26OYmG7sQK/S3f3evbt3o6MDwebj7NmzMzHpBRIQELAVyIPa2trZPk+SfZ6eZD8HCCHNlnFBLSnjVIByEtSTQGAYVlqO9EDJrzcaGYz+Vj6fPzIY1Nfe7gnqpk5Qkz1WmpyamvxqECgFURX78HQ6MdgHZ+F8vF618MEER5VHIWwCI5igH5tgEEhfu+cTpN/PGzj8fwUYAEHf/4ET3ikCAAAAAElFTkSuQmCC');  
213 -  
214 - $objTarjaAssinaturaDTO->setStrSinAtivo('S');  
215 -  
216 - $objTarjaAssinaturaBD = new TarjaAssinaturaBD($this->getObjInfraIBanco());  
217 - $objTarjaAssinaturaDTO = $objTarjaAssinaturaBD->cadastrar( $objTarjaAssinaturaDTO );  
218 -  
219 - //Atualizando parametro para controlar versao do modulo  
220 - $this->logar('ATUALIZANDO PARAMETRO ' . $this->nomeParametroModulo . ' NA TABELA infra_parametro PARA CONTROLAR A VERSÃO DO MÓDULO');  
221 - BancoSEI::getInstance()->executarSql('UPDATE infra_parametro SET valor = \'1.0.4\' WHERE nome = \'' . $this->nomeParametroModulo . '\' ');  
222 -  
223 - } catch (Exception $e) {  
224 - $this->logar($e->getTraceAsString());  
225 - print_r($e);  
226 - die();  
227 - }  
228 - }  
229 -  
230 - //Contem atualizações da versao 1.0.0  
231 - protected function instalarv100()  
232 - {  
233 -  
234 - try {  
235 -  
236 - $objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance());  
237 -  
238 - $this->logar('EXECUTANDO A INSTALACAO DA VERSAO 1.0.3 DO MODULO ' . $this->nomeDesteModulo . ' NA BASE DO SEI');  
239 - $this->logar('CRIANDO A TABELA md_pet_hipotese_legal');  
240 -  
241 - BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_hipotese_legal (  
242 - id_md_pet_hipotese_legal ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL )');  
243 -  
244 - $objInfraMetaBD->adicionarChavePrimaria('md_pet_hipotese_legal', 'pk_md_pet_hipotese_legal', array('id_md_pet_hipotese_legal'));  
245 -  
246 - $objInfraMetaBD->adicionarChaveEstrangeira('fk_id_md_pet_hip_legal1', 'md_pet_hipotese_legal',  
247 - array('id_md_pet_hipotese_legal'), 'hipotese_legal', array('id_hipotese_legal'));  
248 -  
249 - $this->logar('DROP DA COLUNA id_unidade (Não é mais unidade única. Agora terá opção para Peticionamento de Processo Novo para Múltiplas Unidades)');  
250 -  
251 - if (BancoSEI::getInstance() instanceof InfraMySql) {  
252 - $objInfraMetaBD->excluirChaveEstrangeira('md_pet_tipo_processo', 'fk_pet_tp_proc_unidade_02');  
253 - $objInfraMetaBD->excluirIndice('md_pet_tipo_processo', 'fk_pet_tp_proc_unidade_02');  
254 - } else {  
255 - $objInfraMetaBD->excluirChaveEstrangeira('md_pet_tipo_processo', 'fk_pet_tp_proc_unidade_02');  
256 - }  
257 -  
258 - BancoSEI::getInstance()->executarSql('ALTER TABLE md_pet_tipo_processo DROP COLUMN id_unidade');  
259 -  
260 - $this->logar('CRIANDO A TABELA md_pet_rel_tp_processo_unid (para permitir multiplas unidades)');  
261 -  
262 - BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_rel_tp_processo_unid (  
263 - id_md_pet_tipo_processo ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
264 - id_unidade ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
265 - sta_tp_unidade ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL  
266 - )');  
267 -  
268 - //Tabelas Abaixo é o problema da modificação da PK (Pk deixou de ser composta e passou a ter SEQ)  
269 - $this->logar('RECRIANDO tabela md_pet_rel_tp_processo_serie (renomeada para md_pet_rel_tp_proc_serie)');  
270 - BancoSEI::getInstance()->executarSql('DROP TABLE md_pet_rel_tp_processo_serie');  
271 -  
272 - BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_rel_tp_proc_serie (  
273 - id_md_pet_rel_tipo_proc ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
274 - id_md_pet_tipo_processo ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
275 - id_serie ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
276 - sta_tp_doc ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL ) ');  
277 -  
278 - //tabela SEQ  
279 - $objInfraMetaBD->adicionarChavePrimaria('md_pet_rel_tp_proc_serie', 'pk_id_md_pet_rel_tipo_proc', array('id_md_pet_rel_tipo_proc'));  
280 -  
281 - $objInfraMetaBD->adicionarChaveEstrangeira('fk_md_pet_rel_tp_proc_serie1', 'md_pet_rel_tp_proc_serie',  
282 - array('id_md_pet_tipo_processo'), 'md_pet_tipo_processo', array('id_md_pet_tipo_processo'));  
283 -  
284 - $objInfraMetaBD->adicionarChaveEstrangeira('fk_md_pet_rel_tp_proc_serie2', 'md_pet_rel_tp_proc_serie',  
285 - array('id_serie'), 'serie', array('id_serie'));  
286 -  
287 - if (BancoSEI::getInstance() instanceof InfraMySql) {  
288 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_rel_tp_proc_serie (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');  
289 - } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {  
290 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_rel_tp_proc_serie (id bigint identity(1,1), campo char(1) null)');  
291 - } else if (BancoSEI::getInstance() instanceof InfraOracle) {  
292 - BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_rel_tp_proc_serie', 1);  
293 - }  
294 -  
295 - //CRIANDO NOVO TIPO DE DOCUMENTO "Recibo Eletrônico de Protocolo"  
296 - $this->logar('CRIANDO MODELO "Modulo_Peticionamento_Recibo_Eletronico_Protocolo"');  
297 - $modeloRN = new ModeloRN();  
298 - $modeloDTO = new ModeloDTO();  
299 - $modeloDTO->setNumIdModelo(null);  
300 - $modeloDTO->retTodos();  
301 - $modeloDTO->setStrNome('Modulo_Peticionamento_Recibo_Eletronico_Protocolo');  
302 - $modeloDTO->setStrSinAtivo('S');  
303 - $modeloDTO = $modeloRN->cadastrar($modeloDTO);  
304 -  
305 - //adicionando as seções do modelo: Corpo de Texto e Rodapé  
306 - $this->logar('CRIANDO SEÇAO DO MODELO - Corpo do Texto');  
307 - $secaoModeloRN = new SecaoModeloRN();  
308 -  
309 - $secaoModeloCorpoTextoDTO = new SecaoModeloDTO();  
310 - $secaoModeloCorpoTextoDTO->retTodos();  
311 - $secaoModeloCorpoTextoDTO->setNumIdSecaoModelo(null);  
312 - $secaoModeloCorpoTextoDTO->setNumIdModelo($modeloDTO->getNumIdModelo());  
313 - $secaoModeloCorpoTextoDTO->setStrNome('Corpo do Texto');  
314 - $secaoModeloCorpoTextoDTO->setStrConteudo(null);  
315 - $secaoModeloCorpoTextoDTO->setNumOrdem(0);  
316 - $secaoModeloCorpoTextoDTO->setStrSinSomenteLeitura('N');  
317 - $secaoModeloCorpoTextoDTO->setStrSinAssinatura('N');  
318 - $secaoModeloCorpoTextoDTO->setStrSinPrincipal('S');  
319 - $secaoModeloCorpoTextoDTO->setStrSinDinamica('N');  
320 - $secaoModeloCorpoTextoDTO->setStrSinHtml('N');  
321 - $secaoModeloCorpoTextoDTO->setStrSinCabecalho('N');  
322 - $secaoModeloCorpoTextoDTO->setStrSinRodape('N');  
323 - $secaoModeloCorpoTextoDTO->setStrSinAtivo('S');  
324 -  
325 - $secaoModeloCorpoTextoDTO = $secaoModeloRN->cadastrar($secaoModeloCorpoTextoDTO);  
326 -  
327 - //secao do rodapé  
328 - $this->logar('CRIANDO SEÇAO DO MODELO - Rodapé');  
329 - $secaoModeloRodapeDTO = new SecaoModeloDTO();  
330 - $secaoModeloRodapeDTO->retTodos();  
331 - $secaoModeloRodapeDTO->setNumIdSecaoModelo(null);  
332 -  
333 - $htmlConteudo = '<hr style="border:none; padding:0; margin:5px 2px 0 2px; border-top:medium double #333" />  
334 - <table border="0" cellpadding="2" cellspacing="0" width="100%">  
335 - <tbody>  
336 - <tr>  
337 - <td align="left" style="font-family:Calibri;font-size:9pt;border:0;" width="50%"><strong>Refer&ecirc;ncia:</strong> Processo n&ordm; @processo@</td>  
338 - <td align="right" style="font-family:Calibri;font-size:9pt;border:0;" width="50%">SEI n&ordm; @documento@</td>  
339 - </tr>  
340 - </tbody>  
341 - </table>';  
342 -  
343 - $secaoModeloRodapeDTO->setNumIdModelo($modeloDTO->getNumIdModelo());  
344 - $secaoModeloRodapeDTO->setStrNome('Rodapé');  
345 - $secaoModeloRodapeDTO->setStrConteudo($htmlConteudo);  
346 - $secaoModeloRodapeDTO->setNumOrdem(1000);  
347 - $secaoModeloRodapeDTO->setStrSinSomenteLeitura('S');  
348 - $secaoModeloRodapeDTO->setStrSinAssinatura('N');  
349 - $secaoModeloRodapeDTO->setStrSinPrincipal('N');  
350 - $secaoModeloRodapeDTO->setStrSinDinamica('S');  
351 - $secaoModeloRodapeDTO->setStrSinHtml('S');  
352 - $secaoModeloRodapeDTO->setStrSinCabecalho('N');  
353 - $secaoModeloRodapeDTO->setStrSinRodape('S');  
354 - $secaoModeloRodapeDTO->setStrSinAtivo('S');  
355 -  
356 - $secaoModeloRodapeDTO = $secaoModeloRN->cadastrar($secaoModeloRodapeDTO);  
357 -  
358 - //Criar o Grupo de Tipo de Documento “Internos do Sistema”.  
359 - $grupoSerieRN = new GrupoSerieRN();  
360 -  
361 - if (BancoSEI::getInstance() instanceof InfraMySql) {  
362 -  
363 - //verificando antes a situaçao da tabela seq_grupo_serie  
364 - $arrDados = BancoSEI::getInstance()->consultarSql('SELECT * FROM seq_grupo_serie ORDER BY id DESC LIMIT 1 ');  
365 -  
366 - $grupoSerieDTOLista = new GrupoSerieDTO();  
367 - $grupoSerieDTOLista->retTodos();  
368 - $grupoSerieDTOLista->setOrd("IdGrupoSerie", InfraDTO::$TIPO_ORDENACAO_DESC);  
369 - $grupoSerieDTOLista->setNumMaxRegistrosRetorno(1);  
370 -  
371 - $arrListaGrupoSerie = $grupoSerieRN->listarRN0778($grupoSerieDTOLista);  
372 -  
373 - //ja tem registro na SEQ, insere apenas se ID da SEQ estiver incorreto  
374 - if ($arrDados != null && count($arrDados) > 0) {  
375 -  
376 - if ($arrDados[0]['id'] < $arrListaGrupoSerie[0]->getNumIdGrupoSerie()) {  
377 -  
378 - //INSERT para garantir a SEQ na posiçao correta  
379 - BancoSEI::getInstance()->executarSql('INSERT INTO seq_grupo_serie ( id ) VALUES ( ' . $arrListaGrupoSerie[0]->getNumIdGrupoSerie() . ') ');  
380 - }  
381 -  
382 -  
383 - } //nao tem registro na SEQ ainda, colocar o ID do grupo_serie mais atual  
384 - else {  
385 -  
386 - //INSERT para garantir a SEQ na posiçao correta  
387 - BancoSEI::getInstance()->executarSql('INSERT INTO seq_grupo_serie ( id ) VALUES ( ' . $arrListaGrupoSerie[0]->getNumIdGrupoSerie() . ') ');  
388 - }  
389 -  
390 - }  
391 -  
392 - $this->logar('CRIANDO GRUPO DE TIPO DE DOCUMENTO "Internos do Sistema"');  
393 - $grupoSerieDTO = new GrupoSerieDTO();  
394 - $grupoSerieDTO->retTodos();  
395 - $grupoSerieDTO->setNumIdGrupoSerie(null);  
396 -  
397 - $grupoSerieDTO->setStrNome('Internos do Sistema');  
398 - $grupoSerieDTO->setStrDescricao('Tipos de Documentos internos do sistema');  
399 - $grupoSerieDTO->setStrSinAtivo('S');  
400 - $grupoSerieDTO = $grupoSerieRN->cadastrarRN0775($grupoSerieDTO);  
401 -  
402 - //Criar o Tipo de Documento “Recibo Eletrônico de Protocolo”  
403 - $this->logar('CRIANDO TIPO DE DOCUMENTO Recibo Eletrônico de Protocolo');  
404 - $serieDTO = new SerieDTO();  
405 - $serieDTO->retTodos();  
406 - $serieRN = new SerieRN();  
407 -  
408 - $serieDTO->setNumIdSerie(null);  
409 - $serieDTO->setNumIdGrupoSerie($grupoSerieDTO->getNumIdGrupoSerie());  
410 - $serieDTO->setStrStaNumeracao(SerieRN::$TN_SEM_NUMERACAO);  
411 - $serieDTO->setStrStaAplicabilidade(SerieRN::$TA_INTERNO);  
412 - $serieDTO->setNumIdModeloEdoc(null);  
413 - $serieDTO->setNumIdModelo($modeloDTO->getNumIdModelo());  
414 - $serieDTO->setStrNome('Recibo Eletrônico de Protocolo');  
415 - $serieDTO->setStrDescricao('Utilizado para a geração automática do Recibo Eletrônico de Protocolo nos Peticionamentos Eletrônicos realizados por Usuário Externo diretamente no Acesso Externo do SEI.');  
416 - $serieDTO->setStrSinInteressado('S');  
417 - $serieDTO->setStrSinDestinatario('N');  
418 - $serieDTO->setStrSinAssinaturaPublicacao('S');  
419 - $serieDTO->setStrSinInterno('S');  
420 - $serieDTO->setStrSinAtivo('S');  
421 - $serieDTO->setArrObjRelSerieAssuntoDTO(array());  
422 - $serieDTO->setArrObjRelSerieVeiculoPublicacaoDTO(array());  
423 -  
424 - //adicoes SEIv3  
425 - $serieDTO->setNumIdTipoFormulario(null);  
426 - $serieDTO->setArrObjSerieRestricaoDTO(array());  
427 -  
428 - $serieDTO = $serieRN->cadastrarRN0642($serieDTO);  
429 -  
430 - $this->logar('ATUALIZANDO INFRA_PARAMETRO (ID_SERIE_RECIBO_MODULO_PETICIONAMENTO)');  
431 - $nomeParamIdSerie = 'ID_SERIE_RECIBO_MODULO_PETICIONAMENTO';  
432 - BancoSEI::getInstance()->executarSql('INSERT INTO infra_parametro ( valor, nome ) VALUES (\'' . $serieDTO->getNumIdSerie() . '\' , \'' . $nomeParamIdSerie . '\' ) ');  
433 -  
434 - //Atualizando parametro para controlar versao do modulo  
435 - $this->logar('ATUALIZANDO PARAMETRO ' . $this->nomeParametroModulo . ' NA TABELA infra_parametro PARA CONTROLAR A VERSÃO DO MÓDULO');  
436 - BancoSEI::getInstance()->executarSql('UPDATE infra_parametro SET valor = \'1.0.3\' WHERE nome = \'' . $this->nomeParametroModulo . '\' ');  
437 -  
438 - } catch (Exception $e) {  
439 - $this->logar($e->getTraceAsString());  
440 - print_r($e);  
441 - die();  
442 - }  
443 -  
444 - }  
445 -  
446 - //Contem atualizações da versao 0.0.2  
447 - protected function instalarv002()  
448 - {  
449 -  
450 - $objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance());  
451 - $this->logar('EXECUTANDO A INSTALACAO DA VERSAO 0.0.2 DO MODULO ' . $this->nomeDesteModulo . ' NA BASE DO SEI');  
452 - $this->logar('CRIANDO A TABELA md_pet_usu_externo_menu E SUA sequence');  
453 -  
454 - BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_usu_externo_menu( id_md_pet_usu_externo_menu ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
455 - id_conjunto_estilos ' . $objInfraMetaBD->tipoNumero() . ' NULL ,  
456 - nome ' . $objInfraMetaBD->tipoTextoVariavel(30) . ' NOT NULL ,  
457 - tipo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL ,  
458 - url ' . $objInfraMetaBD->tipoTextoVariavel(2083) . ' NULL ,  
459 - conteudo_html ' . $objInfraMetaBD->tipoTextoGrande() . ' NULL,  
460 - sin_ativo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL ) ');  
461 -  
462 - $objInfraMetaBD->adicionarChavePrimaria('md_pet_usu_externo_menu', 'pk_md_pet_usu_externo_menu', array('id_md_pet_usu_externo_menu'));  
463 -  
464 - $objInfraMetaBD->adicionarChaveEstrangeira('fk_md_pet_menu_cj_est_01',  
465 - 'md_pet_usu_externo_menu',  
466 - array('id_conjunto_estilos'),  
467 - 'conjunto_estilos', array('id_conjunto_estilos'));  
468 -  
469 - if (BancoSEI::getInstance() instanceof InfraMySql) {  
470 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_usu_externo_menu (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');  
471 - } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {  
472 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_usu_externo_menu (id bigint identity(1,1), campo char(1) null)');  
473 - } else if (BancoSEI::getInstance() instanceof InfraOracle) {  
474 - BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_usu_externo_menu', 1);  
475 - }  
476 -  
477 - //INSERCAO DE DOIS NOVOS MODELOS DE EMAIL NO MENU E-MAILS DO SISTEMA  
478 - $this->logar('INSERINDO EMAILS MD_PET_CONFIRMACAO_PETICIONAMENTO_USUARIO_EXTERNO e MD_PET_ALERTA_PETICIONAMENTO_UNIDADES NA TABELA email_sistema');  
479 -  
480 - //Parametrizar Email de Alerta às Unidades  
481 - $conteudo1 = " :: Este é um e-mail automático ::  
482 -  
483 -O Usuário Externo @nome_usuario_externo@ (@email_usuario_externo@) efetivou o Peticionamento Eletrônico do tipo @tipo_peticionamento@ (@tipo_processo@), no âmbito do processo nº @processo@, conforme disposto no Recibo Eletrônico de Protocolo SEI nº @documento_recibo_eletronico_de_protocolo@.  
484 -  
485 -O mencionado processo se encontra aberto em sua Unidade (@sigla_unidade_abertura_do_processo@). Entre no SEI e confira! Caso não seja de competência de sua Unidade, verifique se já está aberto na Unidade correta e, do contrário, envie-o para a Unidade competente para que seja devidamente tratado.  
486 -  
487 -  
488 -@sigla_orgao@  
489 -@descricao_orgao@  
490 -@sitio_internet_orgao@  
491 -  
492 -ATENÇÃO: As informações contidas neste e-mail, incluindo seus anexos, podem ser restritas apenas à pessoa ou entidade para a qual foi endereçada. Se você não é o destinatário ou a pessoa responsável por encaminhar esta mensagem ao destinatário, você está, por meio desta, notificado que não deverá rever, retransmitir, imprimir, copiar, usar ou distribuir esta mensagem ou quaisquer anexos. Caso você tenha recebido esta mensagem por engano, por favor, contate o remetente imediatamente e em seguida apague esta mensagem.";  
493 -  
494 - $maxIdEmailSistemaUnidades = $this->retornarMaxIdEmailSistema();  
495 -  
496 - $insert1 = "INSERT INTO email_sistema  
497 - (id_email_sistema,  
498 - descricao,  
499 - de,  
500 - para,  
501 - assunto,  
502 - conteudo,  
503 - sin_ativo,  
504 - id_email_sistema_modulo  
505 - )  
506 - VALUES  
507 - (" . $maxIdEmailSistemaUnidades . ",  
508 - 'Peticionamento Eletrônico - Alerta às Unidades',  
509 - '@sigla_sistema@ <@email_sistema@>',  
510 - '@emails_unidade@',  
511 - 'SEI Peticionamento Eletrônico - Processo nº @processo@',  
512 - '" . $conteudo1 . "',  
513 - 'S',  
514 - 'MD_PET_ALERTA_PETICIONAMENTO_UNIDADES'  
515 - )";  
516 - BancoSEI::getInstance()->executarSql($insert1);  
517 -  
518 - //Parametrizar Email de Confirmação ao Usuario Externo  
519 - $conteudo2 = " :: Este é um e-mail automático ::  
520 -  
521 -Prezado(a) @nome_usuario_externo@,  
522 -  
523 -Este e-mail confirma a realização do Peticionamento Eletrônico do tipo @tipo_peticionamento@ no SEI-@sigla_orgao@, no âmbito do processo nº @processo@, conforme disposto no Recibo Eletrônico de Protocolo SEI nº @documento_recibo_eletronico_de_protocolo@.  
524 -  
525 -Caso no futuro precise realizar novo peticionamento, sempre acesse a área destinada aos Usuários Externos no SEI-@sigla_orgao@ destacada em seu Portal na Internet ou acesse diretamente o link a seguir: @link_login_usuario_externo@  
526 -  
527 -  
528 -@sigla_orgao@  
529 -@descricao_orgao@  
530 -@sitio_internet_orgao@  
531 -  
532 -ATENÇÃO: As informações contidas neste e-mail, incluindo seus anexos, podem ser restritas apenas à pessoa ou entidade para a qual foi endereçada. Se você não é o destinatário ou a pessoa responsável por encaminhar esta mensagem ao destinatário, você está, por meio desta, notificado que não deverá rever, retransmitir, imprimir, copiar, usar ou distribuir esta mensagem ou quaisquer anexos. Caso você tenha recebido esta mensagem por engano, por favor, contate o remetente imediatamente e em seguida apague esta mensagem.";  
533 -  
534 - $maxIdEmailSistemaUsuario = $this->retornarMaxIdEmailSistema();  
535 -  
536 - $insert2 = "INSERT INTO email_sistema  
537 - (id_email_sistema,  
538 - descricao,  
539 - de,  
540 - para,  
541 - assunto,  
542 - conteudo,  
543 - sin_ativo,  
544 - id_email_sistema_modulo  
545 - )  
546 - VALUES  
547 - (" . $maxIdEmailSistemaUsuario . ",  
548 - 'Peticionamento Eletrônico - Confirmação ao Usuário Externo',  
549 - '@sigla_sistema@ <@email_sistema@>',  
550 - '@email_usuario_externo@',  
551 - 'SEI - Confirmação de Peticionamento Eletrônico (Processo nº @processo@)',  
552 - '" . $conteudo2 . "',  
553 - 'S',  
554 - 'MD_PET_CONFIRMACAO_PETICIONAMENTO_USUARIO_EXTERNO'  
555 - )";  
556 -  
557 - BancoSEI::getInstance()->executarSql($insert2);  
558 -  
559 - $this->logar('CRIANDO A TABELA md_pet_usu_ext_processo E SUA sequence');  
560 -  
561 - //Inserindo tabelas referentes ao Recibo Eletronico de Protocolo  
562 - BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_usu_ext_processo (  
563 - id_md_pet_usu_externo_processo ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
564 - id_md_pet_tipo_processo ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
565 - especificacao ' . $objInfraMetaBD->tipoTextoVariavel(50) . ' NULL,  
566 - tipo_interessado ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,  
567 - id_usuario_externo ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
568 - data_hora_recebimento ' . $objInfraMetaBD->tipoDataHora() . ' NULL,  
569 - ip_usuario ' . $objInfraMetaBD->tipoTextoVariavel(60) . ' NULL,  
570 - numero_processo ' . $objInfraMetaBD->tipoTextoVariavel(40) . ' NULL,  
571 - sin_ativo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL ) ');  
572 -  
573 - $objInfraMetaBD->adicionarChavePrimaria('md_pet_usu_ext_processo', 'pk_md_pet_usu_externo_processo', array('id_md_pet_usu_externo_processo'));  
574 -  
575 - if (BancoSEI::getInstance() instanceof InfraMySql) {  
576 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_usu_ext_processo (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');  
577 - } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {  
578 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_usu_ext_processo (id bigint identity(1,1), campo char(1) null)');  
579 - } else if (BancoSEI::getInstance() instanceof InfraOracle) {  
580 - BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_usu_ext_processo', 1);  
581 - }  
582 -  
583 - //Tabelas relacionais com Tipos de Contatos permitidos para Cadastro e para Seleção  
584 - $this->logar('CRIANDO A TABELA md_pet_rel_tp_ctx_contato');  
585 -  
586 - //veraao SEIv2.6 id_tipo_contexto_contato ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
587 - //versao SEIv3.0  
588 - BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_rel_tp_ctx_contato (  
589 - id_tipo_contato ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
590 - sin_cadastro_interessado ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL,  
591 - sin_selecao_interessado ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL,  
592 - id_md_pet_rel_tp_ctx_contato ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL  
593 - ) ');  
594 -  
595 - $objInfraMetaBD->adicionarChavePrimaria('md_pet_rel_tp_ctx_contato', 'pk1_md_pet_rel_tp_ctx_cont', array('id_md_pet_rel_tp_ctx_contato'));  
596 -  
597 - //versao SEIv2.6  
598 - //$objInfraMetaBD->adicionarChaveEstrangeira('fk_md_pet_rel_tp_ctx_cont_1','md_pet_rel_tp_ctx_contato',  
599 - //array('id_tipo_contexto_contato'),  
600 - //'tipo_contexto_contato',array('id_tipo_contexto_contato'));  
601 -  
602 - //versao SEIv3.0  
603 - $objInfraMetaBD->adicionarChaveEstrangeira('fk_md_pet_rel_tp_ctx_cont_1', 'md_pet_rel_tp_ctx_contato',  
604 - array('id_tipo_contato'),  
605 - 'tipo_contato', array('id_tipo_contato'));  
606 -  
607 - if (BancoSEI::getInstance() instanceof InfraMySql) {  
608 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_rel_tp_ctx_contato (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');  
609 - } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {  
610 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_rel_tp_ctx_contato (id bigint identity(1,1), campo char(1) null)');  
611 - } else if (BancoSEI::getInstance() instanceof InfraOracle) {  
612 - BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_rel_tp_ctx_contato', 1);  
613 - }  
614 -  
615 - //Tabelas referentes ao Recibo Eletronico de Protocolo  
616 - $this->logar('CRIANDO A TABELA md_pet_rel_recibo_protoc E SUA sequence');  
617 -  
618 - BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_rel_recibo_protoc (  
619 - id_md_pet_rel_recibo_protoc ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
620 - id_protocolo ' . $objInfraMetaBD->tipoNumeroGrande() . ' NOT NULL,  
621 - id_protocolo_relacionado ' . $objInfraMetaBD->tipoNumeroGrande() . ' NULL,  
622 - id_usuario ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
623 - ip_usuario ' . $objInfraMetaBD->tipoTextoVariavel(500) . ' NOT NULL,  
624 - data_hora_recebimento_final ' . $objInfraMetaBD->tipoDataHora() . ' NULL,  
625 - sin_ativo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL,  
626 - sta_tipo_peticionamento ' . $objInfraMetaBD->tipoTextoVariavel(1) . ' NULL )');  
627 -  
628 - $objInfraMetaBD->adicionarChavePrimaria('md_pet_rel_recibo_protoc', 'pk1_md_pet_rel_recibo_protoc', array('id_md_pet_rel_recibo_protoc'));  
629 -  
630 - $objInfraMetaBD->adicionarChaveEstrangeira('fk1_md_pet_rel_recibo_protoc', 'md_pet_rel_recibo_protoc', array('id_protocolo'), 'protocolo', array('id_protocolo'));  
631 - $objInfraMetaBD->adicionarChaveEstrangeira('fk2_md_pet_rel_recibo_protoc', 'md_pet_rel_recibo_protoc', array('id_usuario'), 'usuario', array('id_usuario'));  
632 - $objInfraMetaBD->adicionarChaveEstrangeira('fk3_md_pet_rel_recibo_protoc', 'md_pet_rel_recibo_protoc', array('id_protocolo_relacionado'), 'protocolo', array('id_protocolo'));  
633 -  
634 - if (BancoSEI::getInstance() instanceof InfraMySql) {  
635 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_rel_recibo_protoc (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');  
636 - } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {  
637 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_rel_recibo_protoc (id bigint identity(1,1), campo char(1) null)');  
638 - } else if (BancoSEI::getInstance() instanceof InfraOracle) {  
639 - BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_rel_recibo_protoc', 1);  
640 - }  
641 -  
642 - //Tabelas de recibo X documentos  
643 - $this->logar('CRIANDO A TABELA md_pet_rel_recibo_docanexo E SUA sequence');  
644 -  
645 - BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_rel_recibo_docanexo (  
646 - id_md_pet_rel_recibo_docanexo ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
647 - id_md_pet_rel_recibo_protoc ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
648 - formato_documento ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,  
649 - id_documento ' . $objInfraMetaBD->tipoNumeroGrande() . ' NULL,  
650 - id_anexo ' . $objInfraMetaBD->tipoNumero() . ' NULL,  
651 - classificacao_documento ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL )');  
652 -  
653 - $objInfraMetaBD->adicionarChavePrimaria('md_pet_rel_recibo_docanexo', 'pk1_md_pet_rel_recibo_docanexo', array('id_md_pet_rel_recibo_docanexo'));  
654 -  
655 - $objInfraMetaBD->adicionarChaveEstrangeira('fk_pet_rel_recibo_docanexo_01', 'md_pet_rel_recibo_docanexo', array('id_md_pet_rel_recibo_protoc'), 'md_pet_rel_recibo_protoc', array('id_md_pet_rel_recibo_protoc'));  
656 - $objInfraMetaBD->adicionarChaveEstrangeira('fk_pet_rel_recibo_docanexo_02', 'md_pet_rel_recibo_docanexo', array('id_documento'), 'documento', array('id_documento'));  
657 - $objInfraMetaBD->adicionarChaveEstrangeira('fk_pet_rel_recibo_docanexo_03', 'md_pet_rel_recibo_docanexo', array('id_anexo'), 'anexo', array('id_anexo'));  
658 -  
659 - if (BancoSEI::getInstance() instanceof InfraMySql) {  
660 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_rel_recibo_docanexo (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');  
661 - } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {  
662 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_rel_recibo_docanexo (id bigint identity(1,1), campo char(1) null)');  
663 - } else if (BancoSEI::getInstance() instanceof InfraOracle) {  
664 - BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_rel_recibo_docanexo', 1);  
665 - }  
666 -  
667 - //Atualizando parametro para controlar versao do modulo  
668 - $this->logar('ATUALIZANDO PARAMETRO ' . $this->nomeParametroModulo . ' NA TABELA infra_parametro PARA CONTROLAR A VERSÃO DO MÓDULO');  
669 - BancoSEI::getInstance()->executarSql('UPDATE infra_parametro SET valor = \'0.0.2\' WHERE nome = \'' . $this->nomeParametroModulo . '\' ');  
670 -  
671 - }  
672 -  
673 - //Contem atualizações da versao 0.0.1  
674 - protected function instalarv001()  
675 - {  
676 -  
677 - $objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance());  
678 -  
679 - $this->logar('EXECUTANDO A INSTALACAO DA VERSAO 0.0.1 DO MODULO ' . $this->nomeDesteModulo . ' NA BASE DO SEI');  
680 - $this->logar('CRIANDO A TABELA md_pet_tipo_processo E SUA sequence');  
681 -  
682 - BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_tipo_processo( id_md_pet_tipo_processo ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
683 - id_tipo_procedimento ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL ,  
684 - id_unidade ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL ,  
685 - id_serie ' . $objInfraMetaBD->tipoNumero() . ' NULL , '  
686 -  
687 - . 'id_hipotese_legal ' . $objInfraMetaBD->tipoNumero() . ' NULL ,  
688 - orientacoes ' . $objInfraMetaBD->tipoTextoVariavel(500) . ' NOT NULL,  
689 - sta_nivel_acesso ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,  
690 - sin_ii_proprio_usuario_externo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,  
691 - sin_ii_indicacao_direta ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,  
692 - sin_ii_indic_direta_cpf_cnpj ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,  
693 - sin_ii_indic_direta_contato ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,  
694 - sin_na_usuario_externo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,  
695 - sin_na_padrao ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,  
696 - sin_doc_gerado ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,  
697 - sin_doc_externo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,  
698 - sin_ativo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL ) ');  
699 -  
700 - $objInfraMetaBD->adicionarChavePrimaria('md_pet_tipo_processo', 'pk_md_pet_tipo_processo', array('id_md_pet_tipo_processo'));  
701 - $objInfraMetaBD->adicionarChaveEstrangeira('fk_pet_tp_proc_tipo_proc_01', 'md_pet_tipo_processo', array('id_tipo_procedimento'), 'tipo_procedimento', array('id_tipo_procedimento'));  
702 - $objInfraMetaBD->adicionarChaveEstrangeira('fk_pet_tp_proc_unidade_02', 'md_pet_tipo_processo', array('id_unidade'), 'unidade', array('id_unidade'));  
703 - $objInfraMetaBD->adicionarChaveEstrangeira('fk_pet_tp_proc_serie_03', 'md_pet_tipo_processo', array('id_serie'), 'serie', array('id_serie'));  
704 - $objInfraMetaBD->adicionarChaveEstrangeira('fk_pet_tp_proc_hip_legal_04', 'md_pet_tipo_processo', array('id_hipotese_legal'), 'hipotese_legal', array('id_hipotese_legal'));  
705 -  
706 - if (BancoSEI::getInstance() instanceof InfraMySql) {  
707 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_tipo_processo (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');  
708 - } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {  
709 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_tipo_processo (id bigint identity(1,1), campo char(1) null)');  
710 - } else if (BancoSEI::getInstance() instanceof InfraOracle) {  
711 - BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_tipo_processo', 1);  
712 - }  
713 -  
714 - $this->logar('CRIANDO A TABELA md_pet_rel_tp_processo_serie');  
715 -  
716 - BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_rel_tp_processo_serie (  
717 - id_md_pet_tipo_processo ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
718 - id_serie ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL)');  
719 -  
720 - $objInfraMetaBD->adicionarChavePrimaria('md_pet_rel_tp_processo_serie', 'pk1_md_pet_rel_tp_proc_serie', array('id_md_pet_tipo_processo', 'id_serie'));  
721 - $objInfraMetaBD->adicionarChaveEstrangeira('fk1_md_pet_rel_tp_proc_serie', 'md_pet_rel_tp_processo_serie', array('id_md_pet_tipo_processo'), 'md_pet_tipo_processo', array('id_md_pet_tipo_processo'));  
722 - $objInfraMetaBD->adicionarChaveEstrangeira('fk2_md_pet_rel_tp_proc_serie', 'md_pet_rel_tp_processo_serie', array('id_serie'), 'serie', array('id_serie'));  
723 -  
724 - $this->logar('CRIANDO A TABELA md_pet_tp_processo_orientacoes');  
725 -  
726 - BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_tp_processo_orientacoes (  
727 - id_md_pet_tp_proc_orientacoes ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
728 - id_conjunto_estilos ' . $objInfraMetaBD->tipoNumero() . ' NULL,  
729 - orientacoes_gerais ' . $objInfraMetaBD->tipoTextoGrande() . ' NOT NULL )');  
730 -  
731 - $objInfraMetaBD->adicionarChavePrimaria('md_pet_tp_processo_orientacoes', 'pk_md_pet_tp_proc_orient', array('id_md_pet_tp_proc_orientacoes'));  
732 - $objInfraMetaBD->adicionarChaveEstrangeira('fk_md_pet_tp_proc_or_cj_est', 'md_pet_tp_processo_orientacoes', array('id_conjunto_estilos'), 'conjunto_estilos', array('id_conjunto_estilos'));  
733 -  
734 - $this->logar('CRIANDO A TABELA md_pet_ext_arquivo_perm E SUA sequence');  
735 -  
736 - BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_ext_arquivo_perm (  
737 - id_md_pet_ext_arquivo_perm ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
738 - id_arquivo_extensao ' . $objInfraMetaBD->tipoNumero() . ' NULL ,  
739 - sin_principal ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL,  
740 - sin_ativo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL )');  
741 -  
742 - $objInfraMetaBD->adicionarChavePrimaria('md_pet_ext_arquivo_perm', 'pk_md_pet_ext_arquivo_perm', array('id_md_pet_ext_arquivo_perm'));  
743 - $objInfraMetaBD->adicionarChaveEstrangeira('fk1_md_pet_ext_arquivo_perm', 'md_pet_ext_arquivo_perm', array('id_arquivo_extensao'), 'arquivo_extensao', array('id_arquivo_extensao'));  
744 -  
745 - if (BancoSEI::getInstance() instanceof InfraMySql) {  
746 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_ext_arquivo_perm (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');  
747 - } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {  
748 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_ext_arquivo_perm (id bigint identity(1,1), campo char(1) null)');  
749 - } else if (BancoSEI::getInstance() instanceof InfraOracle) {  
750 - BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_ext_arquivo_perm', 1);  
751 - }  
752 -  
753 - $this->logar('CRIANDO A TABELA md_pet_tamanho_arquivo');  
754 -  
755 - BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_tamanho_arquivo (  
756 - id_md_pet_tamanho_arquivo ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
757 - valor_doc_principal ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
758 - valor_doc_complementar ' . $objInfraMetaBD->tipoNumero() . ' NULL,  
759 - sin_ativo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL ) ');  
760 -  
761 - $objInfraMetaBD->adicionarChavePrimaria('md_pet_tamanho_arquivo', 'pk_md_pet_tamanho_arquivo', array('id_md_pet_tamanho_arquivo'));  
762 -  
763 - $objMdPetTamanhoArquivoDTO = new MdPetTamanhoArquivoDTO();  
764 - $objMdPetTamanhoArquivoRN = new MdPetTamanhoArquivoRN();  
765 - $objMdPetTamanhoArquivoDTO->retTodos();  
766 - $objMdPetTamanhoArquivoDTO->setNumValorDocPrincipal('5');  
767 - $objMdPetTamanhoArquivoDTO->setNumValorDocComplementar('10');  
768 - $objMdPetTamanhoArquivoDTO->setNumIdTamanhoArquivo(MdPetTamanhoArquivoRN::$ID_FIXO_TAMANHO_ARQUIVO);  
769 - $objMdPetTamanhoArquivoDTO->setStrSinAtivo('S');  
770 - $objMdPetTamanhoArquivoRN->cadastrar($objMdPetTamanhoArquivoDTO);  
771 -  
772 - $this->logar('CRIANDO A TABELA md_pet_indisponibilidade E SUA sequence');  
773 -  
774 - BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_indisponibilidade (  
775 - id_md_pet_indisponibilidade ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
776 - dth_inicio ' . $objInfraMetaBD->tipoDataHora() . ' NOT NULL,  
777 - dth_fim ' . $objInfraMetaBD->tipoDataHora() . ' NOT NULL,  
778 - resumo_indisponibilidade ' . $objInfraMetaBD->tipoTextoVariavel(500) . ' NULL,  
779 - sin_prorrogacao ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL,  
780 - sin_ativo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL ) ');  
781 -  
782 - $objInfraMetaBD->adicionarChavePrimaria('md_pet_indisponibilidade', 'pk_md_pet_indisponibilidade', array('id_md_pet_indisponibilidade'));  
783 -  
784 - if (BancoSEI::getInstance() instanceof InfraMySql) {  
785 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_indisponibilidade (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');  
786 - } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {  
787 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_indisponibilidade (id bigint identity(1,1), campo char(1) null)');  
788 - } else if (BancoSEI::getInstance() instanceof InfraOracle) {  
789 - BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_indisponibilidade', 1);  
790 - }  
791 -  
792 - $this->logar('CRIANDO A TABELA md_pet_indisp_anexo E SUA sequence');  
793 -  
794 - BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_indisp_anexo (  
795 - id_md_pet_anexo ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
796 - id_md_pet_indisponibilidade ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
797 - id_unidade ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
798 - id_usuario ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
799 - dth_inclusao ' . $objInfraMetaBD->tipoDataHora() . ' NOT NULL,  
800 - nome ' . $objInfraMetaBD->tipoTextoVariavel(255) . ' NOT NULL,  
801 - tamanho ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,  
802 - sin_ativo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL,  
803 - hash ' . $objInfraMetaBD->tipoTextoFixo(32) . ' NOT NULL ) ');  
804 -  
805 - $objInfraMetaBD->adicionarChavePrimaria('md_pet_indisp_anexo', 'pk_pet_indisponibilidade_anexo', array('id_md_pet_anexo'));  
806 - $objInfraMetaBD->adicionarChaveEstrangeira('fk_md_pet_indisp_anexo_01', 'md_pet_indisp_anexo', array('id_md_pet_indisponibilidade'), 'md_pet_indisponibilidade', array('id_md_pet_indisponibilidade'));  
807 - $objInfraMetaBD->adicionarChaveEstrangeira('fk_md_pet_indisp_anexo_02', 'md_pet_indisp_anexo', array('id_unidade'), 'unidade', array('id_unidade'));  
808 - $objInfraMetaBD->adicionarChaveEstrangeira('fk_md_pet_indisp_anexo_03', 'md_pet_indisp_anexo', array('id_usuario'), 'usuario', array('id_usuario'));  
809 -  
810 - if (BancoSEI::getInstance() instanceof InfraMySql) {  
811 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_indisp_anexo (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');  
812 - } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {  
813 - BancoSEI::getInstance()->executarSql('create table seq_md_pet_indisp_anexo (id bigint identity(1,1), campo char(1) null)');  
814 - } else if (BancoSEI::getInstance() instanceof InfraOracle) {  
815 - BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_indisp_anexo', 1);  
816 - }  
817 -  
818 - //Adicionando parametro para controlar versao do modulo  
819 - $this->logar('ADICIONANDO PARAMETRO ' . $this->nomeParametroModulo . ' NA TABELA infra_parametro PARA CONTROLAR A VERSÃO DO MÓDULO');  
820 - BancoSEI::getInstance()->executarSql('INSERT INTO infra_parametro (valor, nome ) VALUES( \'0.0.1\', \'' . $this->nomeParametroModulo . '\' )');  
821 - }  
822 -  
823 - protected function atualizarVersaoConectado()  
824 - {  
825 -  
826 - try {  
827 - $this->inicializar('INICIANDO ATUALIZACAO DO MODULO ' . $this->nomeDesteModulo . ' NO SEI VERSAO ' . SEI_VERSAO);  
828 -  
829 - //testando versao do framework  
830 - $numVersaoInfraRequerida = '1.385';  
831 - $versaoInfraFormatada = (int) str_replace('.','', VERSAO_INFRA);  
832 - $versaoInfraReqFormatada = (int) str_replace('.','', $numVersaoInfraRequerida);  
833 -  
834 - if ($versaoInfraFormatada < $versaoInfraReqFormatada){  
835 - $this->finalizar('VERSAO DO FRAMEWORK PHP INCOMPATIVEL (VERSAO ATUAL '.VERSAO_INFRA.', SENDO REQUERIDA VERSAO IGUAL OU SUPERIOR A '.$numVersaoInfraRequerida.')',true);  
836 - }  
837 -  
838 - //checando BDs suportados  
839 - if (!(BancoSEI::getInstance() instanceof InfraMySql) &&  
840 - !(BancoSEI::getInstance() instanceof InfraSqlServer) &&  
841 - !(BancoSEI::getInstance() instanceof InfraOracle)  
842 - ) {  
843 - $this->finalizar('BANCO DE DADOS NAO SUPORTADO: ' . get_parent_class(BancoSEI::getInstance()), true);  
844 - }  
845 -  
846 - //checando permissoes na base de dados  
847 - $objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance());  
848 -  
849 - if (count($objInfraMetaBD->obterTabelas('sei_teste')) == 0) {  
850 - BancoSEI::getInstance()->executarSql('CREATE TABLE sei_teste (id ' . $objInfraMetaBD->tipoNumero() . ' null)');  
851 - }  
852 -  
853 - BancoSEI::getInstance()->executarSql('DROP TABLE sei_teste');  
854 -  
855 - $objInfraParametro = new InfraParametro(BancoSEI::getInstance());  
856 -  
857 - $strVersaoModuloPeticionamento = $objInfraParametro->getValor($this->nomeParametroModulo, false);  
858 -  
859 - //VERIFICANDO QUAL VERSAO DEVE SER INSTALADA NESTA EXECUCAO  
860 - //nao tem nenhuma versao ainda, instalar todas  
861 - if (InfraString::isBolVazia($strVersaoModuloPeticionamento)) {  
862 - $this->instalarv001();  
863 - $this->instalarv002();  
864 - $this->instalarv100();  
865 - $this->instalarv104();  
866 - $this->instalarv110();  
867 - $this->logar('ATUALIZAÇÔES DA VERSÃO ' . $this->versaoAtualDesteModulo . ' DO MODULO ' . $this->nomeDesteModulo . ' INSTALADAS COM SUCESSO NA BASE DO SEI');  
868 - $this->finalizar('FIM', false);  
869 - } //se ja tem 001 instala apenas 002, 100, 104 e 110  
870 - else if ($strVersaoModuloPeticionamento == '0.0.1') {  
871 - $this->instalarv002();  
872 - $this->instalarv100();  
873 - $this->instalarv104();  
874 - $this->instalarv110();  
875 - $this->logar('ATUALIZAÇÔES DA VERSÃO ' . $this->versaoAtualDesteModulo . ' DO MÓDULO ' . $this->nomeDesteModulo . ' INSTALADAS COM SUCESSO NA BASE DO SEI');  
876 - $this->finalizar('FIM', false);  
877 - } //se ja tem 002 instala apenas 100, 104, 110  
878 - else if ($strVersaoModuloPeticionamento == '0.0.2') {  
879 - $this->instalarv100();  
880 - $this->instalarv104();  
881 - $this->instalarv110();  
882 - $this->logar('ATUALIZAÇÔES DA VERSÃO ' . $this->versaoAtualDesteModulo . ' DO MÓDULO ' . $this->nomeDesteModulo . ' INSTALADAS COM SUCESSO NA BASE DO SEI');  
883 - $this->finalizar('FIM', false);  
884 - } //se ja tem 100 ou 103 instala apenas a 104 e 110  
885 - else if (in_array($strVersaoModuloPeticionamento, array('1.0.0', '1.0.3'))) {  
886 - $this->instalarv104();  
887 - $this->instalarv110();  
888 - $this->logar('ATUALIZAÇÔES DA VERSÃO ' . $this->versaoAtualDesteModulo . ' DO MÓDULO ' . $this->nomeDesteModulo . ' INSTALADAS COM SUCESSO NA BASE DO SEI');  
889 - $this->finalizar('FIM', false);  
890 - } //se ja tem 104 apenas a 110  
891 - else if ($strVersaoModuloPeticionamento == '1.0.4') {  
892 - $this->instalarv110();  
893 - $this->logar('ATUALIZAÇÔES DA VERSÃO ' . $this->versaoAtualDesteModulo . ' DO MÓDULO ' . $this->nomeDesteModulo . ' INSTALADAS COM SUCESSO NA BASE DO SEI');  
894 - $this->finalizar('FIM', false);  
895 - }  
896 - else if ($strVersaoModuloPeticionamento == '1.1.0') {  
897 - $this->logar('A VERSAO MAIS ATUAL DO MODULO ' . $this->nomeDesteModulo . ' (v ' . $this->versaoAtualDesteModulo . ') JA ESTA INSTALADA.');  
898 - $this->finalizar('FIM', false);  
899 - }  
900 -  
901 - InfraDebug::getInstance()->setBolLigado(false);  
902 - InfraDebug::getInstance()->setBolDebugInfra(false);  
903 - InfraDebug::getInstance()->setBolEcho(false);  
904 -  
905 - } catch (Exception $e) {  
906 - InfraDebug::getInstance()->setBolLigado(true);  
907 - InfraDebug::getInstance()->setBolDebugInfra(true);  
908 - InfraDebug::getInstance()->setBolEcho(true);  
909 - $this->logar($e->getTraceAsString());  
910 - $this->finalizar('FIM', true);  
911 - print_r($e);  
912 - die;  
913 - throw new InfraException('Erro atualizando versão.', $e);  
914 - }  
915 -  
916 - }  
917 -  
918 - private function existeIdEmailSistemaPecitionamento()  
919 - {  
920 - $this->logar('VERIFICANDO A EXISTENCIA DE MODELOS DE EMAIL PARA PETICIONAMENTO');  
921 - $sql = "select  
922 - id_email_sistema  
923 - from email_sistema  
924 - where  
925 - id_email_sistema in (3001,3002)";  
926 - $rs = BancoSEI::getInstance()->consultarSql($sql);  
927 - return (count($rs) > 0) ? true : false;  
928 - }  
929 -  
930 - private function atualizarIdEmailSistemaAlertaPecitionamento()  
931 - {  
932 - $this->logar('ATUALIZANDO O IDENTIFICADOR DO MODELO DE EMAIL PARA PETICIONAMENTO DA CONSTANTE MD_PET_ALERTA_PETICIONAMENTO_UNIDADES');  
933 - $idEmailSistema = $this->retornarMaxIdEmailSistema();  
934 - BancoSEI::getInstance()->executarSql('update email_sistema SET id_email_sistema = ' . $idEmailSistema . ', id_email_sistema_modulo = \'MD_PET_ALERTA_PETICIONAMENTO_UNIDADES\' WHERE id_email_sistema = 3002');  
935 - }  
936 -  
937 - private function atualizarIdEmailSistemaConfirmacaoPeticionamento()  
938 - {  
939 - $this->logar('ATUALIZANDO O IDENTIFICADOR DO MODELO DE EMAIL PARA PETICIONAMENTO DA CONSTANTE MD_PET_CONFIRMACAO_PETICIONAMENTO_USUARIO_EXTERNO');  
940 - $idEmailSistema = $this->retornarMaxIdEmailSistema();  
941 - BancoSEI::getInstance()->executarSql('update email_sistema SET id_email_sistema = ' . $idEmailSistema . ', id_email_sistema_modulo = \'MD_PET_CONFIRMACAO_PETICIONAMENTO_USUARIO_EXTERNO\' WHERE id_email_sistema = 3001');  
942 - }  
943 -  
944 - private function retornarMaxIdEmailSistema()  
945 - {  
946 - $this->logar('BUSCANDO O PROXIMO ID DISPONIVEL NA TABELA EMAIL_SISTEMA ');  
947 - $sql = "select id_email_sistema from email_sistema where id_email_sistema > 999";  
948 - $rs = BancoSEI::getInstance()->consultarSql($sql);  
949 -  
950 - $maxIdEmailSistema = (1000 + count($rs));  
951 - $indiceAnterior = 0;  
952 - foreach ($rs as $i => $r) {  
953 - if ($i == 0 && $r['id_email_sistema'] > 1000) {  
954 - $maxIdEmailSistema = 1000;  
955 - break;  
956 - }  
957 -  
958 - if (($r['id_email_sistema'] - $rs[$indiceAnterior]['id_email_sistema']) > 1) {  
959 - $maxIdEmailSistema = $rs[$indiceAnterior]['id_email_sistema'] + 1;  
960 - break;  
961 - }  
962 - $indiceAnterior = $i;  
963 - }  
964 - return $maxIdEmailSistema;  
965 - }  
966 -  
967 -}  
968 -  
969 -?>  
970 \ No newline at end of file 0 \ No newline at end of file
sei/web/modulos/peticionamento/rn/MdPetAtualizadorSeiRN.php 0 → 100644
@@ -0,0 +1,969 @@ @@ -0,0 +1,969 @@
  1 +<?
  2 +/**
  3 + * ANATEL
  4 + *
  5 + * 21/05/2016 - criado por marcelo.bezerra - CAST
  6 + *
  7 + */
  8 +
  9 +require_once dirname(__FILE__) . '/../../../SEI.php';
  10 +
  11 +class MdPetAtualizadorSeiRN extends InfraRN
  12 +{
  13 +
  14 + private $numSeg = 0;
  15 + private $versaoAtualDesteModulo = '1.1.0';
  16 + private $nomeDesteModulo = 'PETICIONAMENTO E INTIMAÇÃO ELETRÔNICOS';
  17 + private $nomeParametroModulo = 'VERSAO_MODULO_PETICIONAMENTO';
  18 + private $historicoVersoes = array('0.0.1', '0.0.2', '1.0.3', '1.0.4', '1.1.0');
  19 +
  20 + public function __construct()
  21 + {
  22 + parent::__construct();
  23 + }
  24 +
  25 + protected function inicializarObjInfraIBanco()
  26 + {
  27 + return BancoSEI::getInstance();
  28 + }
  29 +
  30 + private function inicializar($strTitulo)
  31 + {
  32 +
  33 + ini_set('max_execution_time', '0');
  34 + ini_set('memory_limit', '-1');
  35 +
  36 + try {
  37 + @ini_set('zlib.output_compression', '0');
  38 + @ini_set('implicit_flush', '1');
  39 + } catch (Exception $e) {
  40 + }
  41 +
  42 + ob_implicit_flush();
  43 +
  44 + InfraDebug::getInstance()->setBolLigado(true);
  45 + InfraDebug::getInstance()->setBolDebugInfra(true);
  46 + InfraDebug::getInstance()->setBolEcho(true);
  47 + InfraDebug::getInstance()->limpar();
  48 +
  49 + $this->numSeg = InfraUtil::verificarTempoProcessamento();
  50 +
  51 + $this->logar($strTitulo);
  52 + }
  53 +
  54 + private function logar($strMsg)
  55 + {
  56 + InfraDebug::getInstance()->gravar($strMsg);
  57 + flush();
  58 + }
  59 +
  60 + private function finalizar($strMsg = null, $bolErro)
  61 + {
  62 +
  63 + if (!$bolErro) {
  64 + $this->numSeg = InfraUtil::verificarTempoProcessamento($this->numSeg);
  65 + $this->logar('TEMPO TOTAL DE EXECUÇÃO: ' . $this->numSeg . ' s');
  66 + } else {
  67 + $strMsg = 'ERRO: ' . $strMsg;
  68 + }
  69 +
  70 + if ($strMsg != null) {
  71 + $this->logar($strMsg);
  72 + }
  73 +
  74 + InfraDebug::getInstance()->setBolLigado(false);
  75 + InfraDebug::getInstance()->setBolDebugInfra(false);
  76 + InfraDebug::getInstance()->setBolEcho(false);
  77 + $this->numSeg = 0;
  78 + die;
  79 + }
  80 +
  81 + //Contem atualizações da versao 1.1.0 (Intercorrente)
  82 + protected function instalarv110()
  83 + {
  84 + try {
  85 +
  86 + $objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance());
  87 + $this->logar('EXECUTANDO A INSTALACAO DA VERSAO 1.1.0 DO MODULO ' . $this->nomeDesteModulo . ' NA BASE DO SEI');
  88 +
  89 + // INICIO 7048
  90 + //Cria a tabela de tipo de resposta
  91 + BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_criterio (
  92 + id_md_pet_criterio ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  93 + sin_ativo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL,
  94 + sin_criterio_padrao ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL,
  95 + sta_nivel_acesso ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,
  96 + sta_tipo_nivel_acesso ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,
  97 + id_hipotese_legal ' . $objInfraMetaBD->tipoNumero() . ' NULL,
  98 + id_tipo_procedimento ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL
  99 + )');
  100 +
  101 + $objInfraMetaBD->adicionarChavePrimaria('md_pet_criterio','pk_md_pet_criterio',array('id_md_pet_criterio'));
  102 +
  103 + $objInfraMetaBD->adicionarChaveEstrangeira('fk1_md_pet_criterio', 'md_pet_criterio', array('id_hipotese_legal'), 'hipotese_legal', array('id_hipotese_legal'));
  104 + $objInfraMetaBD->adicionarChaveEstrangeira('fk2_md_pet_criterio', 'md_pet_criterio', array('id_tipo_procedimento'), 'tipo_procedimento', array('id_tipo_procedimento'));
  105 +
  106 + if (BancoSEI::getInstance() instanceof InfraMySql) {
  107 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_criterio (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');
  108 + } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {
  109 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_criterio (id bigint identity(1,1), campo char(1) null)');
  110 + } else if (BancoSEI::getInstance() instanceof InfraOracle) {
  111 + BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_criterio', 1);
  112 + }
  113 + // FIM 7048
  114 +
  115 + //Criando campo md_pet_rel_recibo_protoc.id_protocolo_relacionado caso ainda nao exista
  116 + $coluna = $objInfraMetaBD->obterColunasTabela('md_pet_rel_recibo_protoc', 'id_protocolo_relacionado');
  117 +
  118 + if( $coluna == null || !is_array( $coluna ) ){
  119 +
  120 + $objInfraMetaBD->adicionarColuna('md_pet_rel_recibo_protoc', 'id_protocolo_relacionado', '' . $objInfraMetaBD->tipoNumeroGrande() , 'NULL');
  121 +
  122 + $objInfraMetaBD->adicionarChaveEstrangeira('fk5_md_pet_rel_recibo_protoc', 'md_pet_rel_recibo_protoc', array('id_protocolo_relacionado'), 'protocolo', array('id_protocolo'));
  123 +
  124 + }
  125 +
  126 + //coluna id_documento na tabela de recibo
  127 + $objInfraMetaBD->adicionarColuna('md_pet_rel_recibo_protoc', 'id_documento', '' . $objInfraMetaBD->tipoNumeroGrande() , 'NULL');
  128 + $objInfraMetaBD->adicionarChaveEstrangeira('fk6_md_pet_rel_recibo_protoc', 'md_pet_rel_recibo_protoc', array('id_documento'), 'documento', array('id_documento'));
  129 +
  130 + //Atualizando dados da tabela
  131 + $objInfraParametro = new InfraParametro(BancoSEI::getInstance());
  132 + $ret = $objInfraParametro->listarValores(array('ID_SERIE_RECIBO_MODULO_PETICIONAMENTO'), false);
  133 +
  134 + $arrObjInfraParametroDTO = NULL;
  135 + $idSeriePet = array_key_exists('ID_SERIE_RECIBO_MODULO_PETICIONAMENTO' , $ret) ? $ret['ID_SERIE_RECIBO_MODULO_PETICIONAMENTO'] : null;
  136 +
  137 + if($idSeriePet){
  138 + $arrObjDocumentDTO = array();
  139 +
  140 + $objDocumentoDTO = new DocumentoDTO();
  141 + $objDocumentoDTO->retDblIdDocumento();
  142 + $objDocumentoDTO->retDblIdProcedimento();
  143 + $objDocumentoDTO->setNumIdSerie($idSeriePet);
  144 + $objDocumentoRN = new DocumentoRN();
  145 + $countDoc = $objDocumentoRN->contarRN0007($objDocumentoDTO);
  146 +
  147 + if ($countDoc > 0) {
  148 + $arrObjDocumentDTO = $objDocumentoRN->listarRN0008($objDocumentoDTO);
  149 + foreach ($arrObjDocumentDTO as $objDocumentoDTO) {
  150 + $objMdPetReciboDTO = new MdPetReciboDTO();
  151 + $objMdPetReciboRN = new MdPetReciboRN();
  152 + $objMdPetReciboDTO->setNumIdProtocolo($objDocumentoDTO->getDblIdProcedimento());
  153 + $objMdPetReciboDTO->setDblIdDocumento($objDocumentoDTO->getDblIdDocumento());
  154 + $objMdPetReciboDTO->retNumIdReciboPeticionamento();
  155 + $arrObjMdPetReciboDTO = $objMdPetReciboRN->listar($objMdPetReciboDTO);
  156 +
  157 + foreach ($arrObjMdPetReciboDTO as $objDTO){
  158 + $objMdPetReciboRN->alterar($objDTO);
  159 + }
  160 + }
  161 + }
  162 +
  163 + }
  164 +
  165 +
  166 +
  167 +
  168 +
  169 + //Atualizando parametro para controlar versao do modulo
  170 + $this->logar('ATUALIZANDO PARAMETRO ' . $this->nomeParametroModulo . ' NA TABELA infra_parametro PARA CONTROLAR A VERSÃO DO MÓDULO');
  171 + BancoSEI::getInstance()->executarSql('UPDATE infra_parametro SET valor = \'1.1.0\' WHERE nome = \'' . $this->nomeParametroModulo . '\' ');
  172 +
  173 + } catch (Exception $e) {
  174 + $this->logar($e->getTraceAsString());
  175 + print_r($e);
  176 + die();
  177 + }
  178 + }
  179 +
  180 +//Contem atualizações da versao 1.0.4
  181 + protected function instalarv104()
  182 + {
  183 + try {
  184 +
  185 + $objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance());
  186 + $this->logar('EXECUTANDO A INSTALACAO DA VERSAO 1.0.4 DO MODULO ' . $this->nomeDesteModulo . ' NA BASE DO SEI');
  187 +
  188 + //Caso exista a coluna na tabela a instalação é nova, então não é necessario executar a migração de dados
  189 + $colunasTabela = $objInfraMetaBD->obterColunasTabela('md_pet_rel_tp_ctx_contato', 'id_tipo_contato');
  190 + if (count($colunasTabela) <= 0 || $colunasTabela[0]['column_name'] != 'id_tipo_contato') {
  191 + $this->logar('ADICIONANDO A COLUNA id_tipo_contato NA TABELA md_pet_rel_tp_ctx_contato');
  192 + $objInfraMetaBD->adicionarColuna('md_pet_rel_tp_ctx_contato', 'id_tipo_contato', $objInfraMetaBD->tipoNumero(), 'NOT NULL');
  193 +
  194 + $this->logar('ATUALIZANDO OS REGISTROS DA TABELA md_pet_rel_tp_ctx_contato');
  195 + BancoSEI::getInstance()->executarSql('UPDATE md_pet_rel_tp_ctx_contato set id_tipo_contato = id_tipo_contexto_contato');
  196 +
  197 + $this->logar('EXCLUINDO A COLUNA id_tipo_contexto_contato DA TABELA md_pet_rel_tp_ctx_contato');
  198 + $objInfraMetaBD->excluirColuna('md_pet_rel_tp_ctx_contato', 'id_tipo_contexto_contato');
  199 + }
  200 +
  201 + if ($this->existeIdEmailSistemaPecitionamento()) {
  202 + $this->atualizarIdEmailSistemaAlertaPecitionamento();
  203 + $this->atualizarIdEmailSistemaConfirmacaoPeticionamento();
  204 + }
  205 +
  206 + //inclusao de nova tarja de assinatura customizada, para uso pelo modulo peticionamento em caso de documento nato-digital
  207 + $objTarjaAssinaturaDTO = new TarjaAssinaturaDTO();
  208 + $objTarjaAssinaturaDTO->setStrStaTarjaAssinatura( MdPetAssinaturaRN::$TT_ASSINATURA_SENHA_PETICIONAMENTO );
  209 +
  210 + $objTarjaAssinaturaDTO->setStrTexto('<hr style="margin: 0 0 4px 0;" /> <table> <tr> <td> @logo_assinatura@ </td> <td> <p style="margin:0;text-align: left; font-size:11pt;font-family: Calibri;">Documento assinado eletronicamente por <b>@nome_assinante@</b>, <b>@tratamento_assinante@</b>, em @data_assinatura@, às @hora_assinatura@, conforme horário oficial de Brasília, com fundamento no art. 6º, § 1º, do <a title="Acesse o Decreto" href="http://www.planalto.gov.br/ccivil_03/_Ato2015-2018/2015/Decreto/D8539.htm" target="_blank">Decreto nº 8.539, de 8 de outubro de 2015</a>.</p> </td> </tr> </table>');
  211 +
  212 + $objTarjaAssinaturaDTO->setStrLogo('iVBORw0KGgoAAAANSUhEUgAAAFkAAAA8CAMAAAA67OZ0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAADTtpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDQuMi4yLWMwNjMgNTMuMzUyNjI0LCAyMDA4LzA3LzMwLTE4OjEyOjE4ICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6eG1wUmlnaHRzPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvcmlnaHRzLyIKICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgIHhtbG5zOklwdGM0eG1wQ29yZT0iaHR0cDovL2lwdGMub3JnL3N0ZC9JcHRjNHhtcENvcmUvMS4wL3htbG5zLyIKICAgeG1wUmlnaHRzOldlYlN0YXRlbWVudD0iIgogICBwaG90b3Nob3A6QXV0aG9yc1Bvc2l0aW9uPSIiPgogICA8ZGM6cmlnaHRzPgogICAgPHJkZjpBbHQ+CiAgICAgPHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ii8+CiAgICA8L3JkZjpBbHQ+CiAgIDwvZGM6cmlnaHRzPgogICA8ZGM6Y3JlYXRvcj4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGk+QWxiZXJ0byBCaWdhdHRpPC9yZGY6bGk+CiAgICA8L3JkZjpTZXE+CiAgIDwvZGM6Y3JlYXRvcj4KICAgPGRjOnRpdGxlPgogICAgPHJkZjpBbHQ+CiAgICAgPHJkZjpsaSB4bWw6bGFuZz0ieC1kZWZhdWx0Ii8+CiAgICA8L3JkZjpBbHQ+CiAgIDwvZGM6dGl0bGU+CiAgIDx4bXBSaWdodHM6VXNhZ2VUZXJtcz4KICAgIDxyZGY6QWx0PgogICAgIDxyZGY6bGkgeG1sOmxhbmc9IngtZGVmYXVsdCIvPgogICAgPC9yZGY6QWx0PgogICA8L3htcFJpZ2h0czpVc2FnZVRlcm1zPgogICA8SXB0YzR4bXBDb3JlOkNyZWF0b3JDb250YWN0SW5mbwogICAgSXB0YzR4bXBDb3JlOkNpQWRyRXh0YWRyPSIiCiAgICBJcHRjNHhtcENvcmU6Q2lBZHJDaXR5PSIiCiAgICBJcHRjNHhtcENvcmU6Q2lBZHJSZWdpb249IiIKICAgIElwdGM0eG1wQ29yZTpDaUFkclBjb2RlPSIiCiAgICBJcHRjNHhtcENvcmU6Q2lBZHJDdHJ5PSIiCiAgICBJcHRjNHhtcENvcmU6Q2lUZWxXb3JrPSIiCiAgICBJcHRjNHhtcENvcmU6Q2lFbWFpbFdvcms9IiIKICAgIElwdGM0eG1wQ29yZTpDaVVybFdvcms9IiIvPgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+RO84nQAAAwBQTFRFamts+fn5mp6hc3Nz9fX1U1NTS0tKnaGk6unqzM3P7e3u8fHxuLm7/Pz8lZmc2dnZxcXGWlpavr29wsLCp6eniYmKhYaGZWZmkpaZ0dHS5eXlkZGSrq2utbW2XV1d4uHhfX1+sbGy1dXW3d3dqampgYGCjY2OyMnKYWJihYaIjY6RnZ2ejpGSra+xeHl7lZWVmJiYgoKFpKaptre5vb7Aurq8oaGikpSWmJufh4iKkZKVysrMtrq7ioyOdXZ4fn+ArrGywcLEzc7QiYqMt7W1/v/8mZqcxsbIpqqrZGFhztDSeXp7iIWGnJqalJKSf4CCg4B/amZmoaSm5+fmvLy6ys3OzMzL2tze3dzaa2hny8nH0M7NiYiGbG5v19jYWFVVcG5s2drcxMTD0dPUx8jJ/P79sbO1j46OmZWU1dfXhIKC1NLTd3h68fL0wsTGb3By+vf3YV1d2NjW7u7u6Ojpe3x9fHp54eLkxMLAvLq5/f39+vr63t7fXFtamZiW6urqzMnKwL+98PHvrKytq6qq7evpr62toKKkvr/BOzk42dvad3V06OjmpaSj5efnnZyblpWT/fz6ZWZo9/f3jYyKqquteXd47u3rhYSC5eTisbCueXh2qaimWlhXjImIY2Bfc3Bw////UFBP/v7+/v////7///3+g4SHaGlpYmNj8vPzZ2dn/vz9WFhYtbO0ztDPWltbbW9u/v7/xcPEiouLrayq4+Tms7S2VldX7/DyqKel+/z++Pj4+ff4cXBuuru7u7y+7+/vx8fH8/HysK+wXFxc/fv8s7OztrWzZWRio6Ohl5eZ1NTUZGRkraus2NbX4N/d0dDP3dzc9ff14ODg9/n4oaCg4eHf+/v76+vrQD4+7Ozs/f3/7evsRUJCvLy87vDtysvLXl9fzczNwsPDYGBgw7+/ysjJgH19gH9/29rbwMC/Tk1MlJCPoaCeX1tb6ufo4uPjx8fF5OPht7e3X15cuLe4tLKzn56f09TW1dXTYWJkh4eHZGJj3+Diq6urXLJJJAAAC8BJREFUeNqsmAtYE1cWgAcmJLwSwjMJAYxiQhIeITyEgCGiAioCaiqWaoCiFQVKtgWsJFRapEpFatuodetKHYaQkIiipZVWqqBQ64OqrduGuquVR1sDu62u69JdW/fOZCCJovjttyffl9yZ3PvfM2fOOffcC6UgJ1a5R1GeJI6OjvHx8TQgTCYzLiEsTCgU8qRSQcaN4VNsWWpsndep7u7u2NhY9+7UkpKSJFnqkApBIOTrufFgJDb2MUIQ4xLYAMnjSRf4+koEAoGupLcMdQtVRBs0JA3JImovpVKpUED6SAMCnZhLo1Dmrlzp8hhJxCQkJGRdGhA6nV5aWjrs7T08nJw8Ono6hD7aXZd2ml5ALygoGAb33QPvBs68ACsZIjXkAcBLmpH/RVC7H7xlaZ86qmTcgY47UsKbEW3LU4Mmx9tTJwWYGJFAeh4URXGc2/yUCqJTaGrLRlFi3khIAUMUCxl9Kjj4qFQo1WYeC27ie6KjSK+AMHIsuDu92qpq8wCK+P+6cdasGvRRM6G21yI9hJPdn+Z1vTCfJvZlNccIgQt6IIj2iZ0zjY+Q0SnfGvZ921EiMC645kKjxNOen06NTMaTdH5oklwhl8OHdyyhUWgJudOS+yG9HRl9RGWrzm/FKfRNHYZEWnyCdON0ZHa/Xv8kO9u9FJSlY3DNzclMmtD34rTkVr1xajKKpFgaVIcu9URkkKq7EFW3MEEiZk1L5hsfJqtfrP74lXK3LhTDqQy/r+uOTX7egIUVKbhKvmOGQ7dEKpaxpvN/Np/BsLdzWeJWkDMpi+reAv5NNftIsjjpEekXLgJ0bgUDapf2JIsFnIgj0+o8YkMGuQMtX8SkgbTpyGTSEcTkIuX6CsTcLJkyAlzmRvD1nR1lXhXcJNjl4fTxsBSO9Pfb6IwaFjG3UxxXrKDQHF9B0F+lAp5AOH5BnM5RyF5Gnk9vVbR3lMUmVcBHb05lDXwm4nbhYH/rJBmY1QWAKe65q+avX09CB1LFPMF4VZchWQxH6MdR834+1OZbFg0nKfQhdo5Dch0YcHYu7zFZ/Yk3yG+10blrHo3iGK4G/1JdUWoal6eLm4Hli25FEsSZcTVp0Nh5v+w4BBtbT9u4peFITF1dTMyN7ple8kkD8YL4fCv5mGZRPIWynhjRM0cs0bljHY9VySDo6OmP69sZTvfLZr6raA2iW5+/pjSKsvb34FWrqrZXsM0TobY7iD9iq3N4PLDyuhfxQTMWSHSSdSiJZHCokjIUrXdvw56tTX6uvXx9X9vwpM7Hopes2h7uHh14/LhIEiF0Jf7Y3TcyaGNndSITXDAD1oL/UVaWRCcIDZ8d1eATWgFBg1uD4c4RcpHrg3Z+Z97w5Bv7mFI3b3ag+73AwMAGXwFcSrWQO9oHrWTQ75M9NEdHmlAYdaRLlVYh0GUlgVXY2M+Ajur7onJhp0FA9ukMcsLJ+HM3r3WUht0mgixUnBTVRZA9bcmgc3k4M4FJCxNIujXrSnRiTokSLA16Bn8waGzcA27qI+9znUNuc3LyBp0t4b8yXrjiE2L4VhkcqrE0fduCgmysAeQT+oowaUKYQJecXcLlyETbx0NDIyNFIrZvmhkCZL9rqdedxsijk2QXmnROGUHew1FSSBPkwT47ncHK4UwPFUil4oQbHE4JJw3RdHVpcEGK9WN9ZG519vjs83OCJ1VxuSChlFmax/ZUKLdP6NzZ5/lIrnvh9rhOIpb0LigpgWfa+G0xoymILCt/KO7qhIK4UtYQVuzMT4AhHuEckjxPTxtrEM5IXVKhyxK4z1FEKGWzrOVAsbGpncypPrG2O61nYj6VSxxPKJX4+XFlsor0iJIkRUbPo2SAHPDH0qU6OV3HEbMS34WVUBa9vMvk0ONxcwC5aAR25pYvYQqSomoIdHXc9vmzWNnZiUNHbp6mh4TcPB9UgPvdfSc7skN0agzL7FEnzBKXSNxqeIPw0X6935ZQkS/EGEZYmM5+ueESiQJiEY/isSARxZ8UdbCULLf7A9TYtZ892ZCqE0jZPLFMXAIHHkNyZUFGqLU9z8mpiUz2QS7qgZ0lG1ekVwwGzSfywyrpOrwhj5L0GrCGf384npcIcny05dleEesEYhmHE6FMegC8R2Vm97e1tXViYPIu5Erbd+Q395bHQJ1kdg9R+ezwpWP2+0sql62IVYPprvID1FayI0FGetzHpTpAFqSmGfBnqykY58IKCL7FPvsVMkPkx/ZrMJBOZdZWEzlNtUNQipEN6RdmKSOBMujVwQdWMohnQmeE6hzMCkk8Eoy7vhYb3SU35+Z+Jce81ERyc6shqRCVxpqHPcSlKqwRKhNCoyYsjwXZkwMfrYhQrdam4kBtVyfU2jtXh+mMojWi/4Tj0VfVNwV5wp/BF6CabhSqrfUm+tln9lMT9Fxusgq/2Ws047/BbbU25HjacaK/CWO3oGhKi4n64zcqAnZIiw5EHp7QFEsXVCoB3wjiH7ea+0l/vK+8rcFhkhwfz7SsI2UiTuOlzxcWRbpd2VcYXDx+5nDGT2zDQObezKob3x34MGSraX7tzoLdmffG6wu/smi9sWS9BqWaTIj/SoMJ+50/5mOa9Od4moWM9Cz02r9JPpZhvpoPm3cG5LgeXJzh+aXmVOXBwtU/wzPG8x1q859dQ/7mtTs/LM50sEQAO4nH5nV0SDo6/Li3blVwRposRQ5OTqXFncW7/Xlh5smcr/curjS8nfcnUu1yZ/jtmk085HDm4qVvbArVhsLUXtjMLULdvsjIW2qw2OZqQ0eH732/fUXcW6Dk2Qune1mmtCNTh/NW716c0rOtafM7r3+w695y5/pxTdHu0Zw7t5a9AW/R7jK+tyUneFkm4nPyuYNFZyYqgoGBakxAVVBeLpdfI14HTqbR4nBrqH68viY/p3rpTwfunN/00vszR+T5W7r276aP7ftg2R8av/sh22nxq3Dwpkbko7w1efvcpq7iJ27h5AvMhHmW6V9beKRYQ194STMUkK3xH3JgVakuehxaXfmcBzJj5iztjwuHzGcumRFSQWVBlRqx2wXZxYKVHEYk+BbcFVuaX9CasLSAZ4bmQ+oW0L25GbW6MVX1GE2tgpNFcWHzrNO5iR5YulJVzRjboXd5LbEJHe2oslHv2BRA1J4cFxcWbg2sayd5WLPlzDe7QEy0IN9v/sKbZFG/+MtyEJ1EtKOP6os+rPMEGVF/eHDT6jP1mSnPHFz2cvb1po8ub2k8//Xfzq35x19rRQc3vDOU8d7Oxg+e8WjMKfRHp96IoXZ2jgsThuO9nv353vv/lHM2fPuS16fL/52zfEfBdU7Blpy6+qWXc/K3BHlXnnyZnV97h5V959zfU560H8QiBVsHE9jScGwuauX1xv2d5qK3R683wucuFxaleB0I/jZnA7ItZ3P9pzvza73g1+HzKSnv1S4dy6BOs43G10FA3ooZjup1/crOPzrvFXmTL/3yS/WyZSleL8nlOY0p53Oy92/7Hv7Iq35zfkbKO0s3FednTkO2WCNMKN2Kvxb5b78tTehRFrr+zCjaRY18s+HGgatow1iO57bL/bU9xk8rzz3bQH61IXPxMvIG6jRnCvcJ8h7LPed7hz3QWVVa/38trEJcn2H1DGkQUvb7qxFSsVx90f8ai6ShH/Ynfeh95bZqmvMK3M5Coe8eyyvVfq5WYYs8SlXjDo2AK0SlPgS8D7QRVIVlZrSZapr+xMLiG1LJnscnAIsrt9itUehjDmNsROLUxod8BJJQ1HYQShx1aK1orR1IO/2RRX2nUwW0VrxAQkf+vxLQ6Tl2AzoxO0si8ekG26OYmG7sQK/S3f3evbt3o6MDwebj7NmzMzHpBRIQELAVyIPa2trZPk+SfZ6eZD8HCCHNlnFBLSnjVIByEtSTQGAYVlqO9EDJrzcaGYz+Vj6fPzIY1Nfe7gnqpk5Qkz1WmpyamvxqECgFURX78HQ6MdgHZ+F8vF618MEER5VHIWwCI5igH5tgEEhfu+cTpN/PGzj8fwUYAEHf/4ET3ikCAAAAAElFTkSuQmCC');
  213 +
  214 + $objTarjaAssinaturaDTO->setStrSinAtivo('S');
  215 +
  216 + $objTarjaAssinaturaBD = new TarjaAssinaturaBD($this->getObjInfraIBanco());
  217 + $objTarjaAssinaturaDTO = $objTarjaAssinaturaBD->cadastrar( $objTarjaAssinaturaDTO );
  218 +
  219 + //Atualizando parametro para controlar versao do modulo
  220 + $this->logar('ATUALIZANDO PARAMETRO ' . $this->nomeParametroModulo . ' NA TABELA infra_parametro PARA CONTROLAR A VERSÃO DO MÓDULO');
  221 + BancoSEI::getInstance()->executarSql('UPDATE infra_parametro SET valor = \'1.0.4\' WHERE nome = \'' . $this->nomeParametroModulo . '\' ');
  222 +
  223 + } catch (Exception $e) {
  224 + $this->logar($e->getTraceAsString());
  225 + print_r($e);
  226 + die();
  227 + }
  228 + }
  229 +
  230 + //Contem atualizações da versao 1.0.0
  231 + protected function instalarv100()
  232 + {
  233 +
  234 + try {
  235 +
  236 + $objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance());
  237 +
  238 + $this->logar('EXECUTANDO A INSTALACAO DA VERSAO 1.0.3 DO MODULO ' . $this->nomeDesteModulo . ' NA BASE DO SEI');
  239 + $this->logar('CRIANDO A TABELA md_pet_hipotese_legal');
  240 +
  241 + BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_hipotese_legal (
  242 + id_md_pet_hipotese_legal ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL )');
  243 +
  244 + $objInfraMetaBD->adicionarChavePrimaria('md_pet_hipotese_legal', 'pk_md_pet_hipotese_legal', array('id_md_pet_hipotese_legal'));
  245 +
  246 + $objInfraMetaBD->adicionarChaveEstrangeira('fk_id_md_pet_hip_legal1', 'md_pet_hipotese_legal',
  247 + array('id_md_pet_hipotese_legal'), 'hipotese_legal', array('id_hipotese_legal'));
  248 +
  249 + $this->logar('DROP DA COLUNA id_unidade (Não é mais unidade única. Agora terá opção para Peticionamento de Processo Novo para Múltiplas Unidades)');
  250 +
  251 + if (BancoSEI::getInstance() instanceof InfraMySql) {
  252 + $objInfraMetaBD->excluirChaveEstrangeira('md_pet_tipo_processo', 'fk_pet_tp_proc_unidade_02');
  253 + $objInfraMetaBD->excluirIndice('md_pet_tipo_processo', 'fk_pet_tp_proc_unidade_02');
  254 + } else {
  255 + $objInfraMetaBD->excluirChaveEstrangeira('md_pet_tipo_processo', 'fk_pet_tp_proc_unidade_02');
  256 + }
  257 +
  258 + BancoSEI::getInstance()->executarSql('ALTER TABLE md_pet_tipo_processo DROP COLUMN id_unidade');
  259 +
  260 + $this->logar('CRIANDO A TABELA md_pet_rel_tp_processo_unid (para permitir multiplas unidades)');
  261 +
  262 + BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_rel_tp_processo_unid (
  263 + id_md_pet_tipo_processo ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  264 + id_unidade ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  265 + sta_tp_unidade ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL
  266 + )');
  267 +
  268 + //Tabelas Abaixo é o problema da modificação da PK (Pk deixou de ser composta e passou a ter SEQ)
  269 + $this->logar('RECRIANDO tabela md_pet_rel_tp_processo_serie (renomeada para md_pet_rel_tp_proc_serie)');
  270 + BancoSEI::getInstance()->executarSql('DROP TABLE md_pet_rel_tp_processo_serie');
  271 +
  272 + BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_rel_tp_proc_serie (
  273 + id_md_pet_rel_tipo_proc ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  274 + id_md_pet_tipo_processo ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  275 + id_serie ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  276 + sta_tp_doc ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL ) ');
  277 +
  278 + //tabela SEQ
  279 + $objInfraMetaBD->adicionarChavePrimaria('md_pet_rel_tp_proc_serie', 'pk_id_md_pet_rel_tipo_proc', array('id_md_pet_rel_tipo_proc'));
  280 +
  281 + $objInfraMetaBD->adicionarChaveEstrangeira('fk_md_pet_rel_tp_proc_serie1', 'md_pet_rel_tp_proc_serie',
  282 + array('id_md_pet_tipo_processo'), 'md_pet_tipo_processo', array('id_md_pet_tipo_processo'));
  283 +
  284 + $objInfraMetaBD->adicionarChaveEstrangeira('fk_md_pet_rel_tp_proc_serie2', 'md_pet_rel_tp_proc_serie',
  285 + array('id_serie'), 'serie', array('id_serie'));
  286 +
  287 + if (BancoSEI::getInstance() instanceof InfraMySql) {
  288 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_rel_tp_proc_serie (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');
  289 + } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {
  290 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_rel_tp_proc_serie (id bigint identity(1,1), campo char(1) null)');
  291 + } else if (BancoSEI::getInstance() instanceof InfraOracle) {
  292 + BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_rel_tp_proc_serie', 1);
  293 + }
  294 +
  295 + //CRIANDO NOVO TIPO DE DOCUMENTO "Recibo Eletrônico de Protocolo"
  296 + $this->logar('CRIANDO MODELO "Modulo_Peticionamento_Recibo_Eletronico_Protocolo"');
  297 + $modeloRN = new ModeloRN();
  298 + $modeloDTO = new ModeloDTO();
  299 + $modeloDTO->setNumIdModelo(null);
  300 + $modeloDTO->retTodos();
  301 + $modeloDTO->setStrNome('Modulo_Peticionamento_Recibo_Eletronico_Protocolo');
  302 + $modeloDTO->setStrSinAtivo('S');
  303 + $modeloDTO = $modeloRN->cadastrar($modeloDTO);
  304 +
  305 + //adicionando as seções do modelo: Corpo de Texto e Rodapé
  306 + $this->logar('CRIANDO SEÇAO DO MODELO - Corpo do Texto');
  307 + $secaoModeloRN = new SecaoModeloRN();
  308 +
  309 + $secaoModeloCorpoTextoDTO = new SecaoModeloDTO();
  310 + $secaoModeloCorpoTextoDTO->retTodos();
  311 + $secaoModeloCorpoTextoDTO->setNumIdSecaoModelo(null);
  312 + $secaoModeloCorpoTextoDTO->setNumIdModelo($modeloDTO->getNumIdModelo());
  313 + $secaoModeloCorpoTextoDTO->setStrNome('Corpo do Texto');
  314 + $secaoModeloCorpoTextoDTO->setStrConteudo(null);
  315 + $secaoModeloCorpoTextoDTO->setNumOrdem(0);
  316 + $secaoModeloCorpoTextoDTO->setStrSinSomenteLeitura('N');
  317 + $secaoModeloCorpoTextoDTO->setStrSinAssinatura('N');
  318 + $secaoModeloCorpoTextoDTO->setStrSinPrincipal('S');
  319 + $secaoModeloCorpoTextoDTO->setStrSinDinamica('N');
  320 + $secaoModeloCorpoTextoDTO->setStrSinHtml('N');
  321 + $secaoModeloCorpoTextoDTO->setStrSinCabecalho('N');
  322 + $secaoModeloCorpoTextoDTO->setStrSinRodape('N');
  323 + $secaoModeloCorpoTextoDTO->setStrSinAtivo('S');
  324 +
  325 + $secaoModeloCorpoTextoDTO = $secaoModeloRN->cadastrar($secaoModeloCorpoTextoDTO);
  326 +
  327 + //secao do rodapé
  328 + $this->logar('CRIANDO SEÇAO DO MODELO - Rodapé');
  329 + $secaoModeloRodapeDTO = new SecaoModeloDTO();
  330 + $secaoModeloRodapeDTO->retTodos();
  331 + $secaoModeloRodapeDTO->setNumIdSecaoModelo(null);
  332 +
  333 + $htmlConteudo = '<hr style="border:none; padding:0; margin:5px 2px 0 2px; border-top:medium double #333" />
  334 + <table border="0" cellpadding="2" cellspacing="0" width="100%">
  335 + <tbody>
  336 + <tr>
  337 + <td align="left" style="font-family:Calibri;font-size:9pt;border:0;" width="50%"><strong>Refer&ecirc;ncia:</strong> Processo n&ordm; @processo@</td>
  338 + <td align="right" style="font-family:Calibri;font-size:9pt;border:0;" width="50%">SEI n&ordm; @documento@</td>
  339 + </tr>
  340 + </tbody>
  341 + </table>';
  342 +
  343 + $secaoModeloRodapeDTO->setNumIdModelo($modeloDTO->getNumIdModelo());
  344 + $secaoModeloRodapeDTO->setStrNome('Rodapé');
  345 + $secaoModeloRodapeDTO->setStrConteudo($htmlConteudo);
  346 + $secaoModeloRodapeDTO->setNumOrdem(1000);
  347 + $secaoModeloRodapeDTO->setStrSinSomenteLeitura('S');
  348 + $secaoModeloRodapeDTO->setStrSinAssinatura('N');
  349 + $secaoModeloRodapeDTO->setStrSinPrincipal('N');
  350 + $secaoModeloRodapeDTO->setStrSinDinamica('S');
  351 + $secaoModeloRodapeDTO->setStrSinHtml('S');
  352 + $secaoModeloRodapeDTO->setStrSinCabecalho('N');
  353 + $secaoModeloRodapeDTO->setStrSinRodape('S');
  354 + $secaoModeloRodapeDTO->setStrSinAtivo('S');
  355 +
  356 + $secaoModeloRodapeDTO = $secaoModeloRN->cadastrar($secaoModeloRodapeDTO);
  357 +
  358 + //Criar o Grupo de Tipo de Documento “Internos do Sistema”.
  359 + $grupoSerieRN = new GrupoSerieRN();
  360 +
  361 + if (BancoSEI::getInstance() instanceof InfraMySql) {
  362 +
  363 + //verificando antes a situaçao da tabela seq_grupo_serie
  364 + $arrDados = BancoSEI::getInstance()->consultarSql('SELECT * FROM seq_grupo_serie ORDER BY id DESC LIMIT 1 ');
  365 +
  366 + $grupoSerieDTOLista = new GrupoSerieDTO();
  367 + $grupoSerieDTOLista->retTodos();
  368 + $grupoSerieDTOLista->setOrd("IdGrupoSerie", InfraDTO::$TIPO_ORDENACAO_DESC);
  369 + $grupoSerieDTOLista->setNumMaxRegistrosRetorno(1);
  370 +
  371 + $arrListaGrupoSerie = $grupoSerieRN->listarRN0778($grupoSerieDTOLista);
  372 +
  373 + //ja tem registro na SEQ, insere apenas se ID da SEQ estiver incorreto
  374 + if ($arrDados != null && count($arrDados) > 0) {
  375 +
  376 + if ($arrDados[0]['id'] < $arrListaGrupoSerie[0]->getNumIdGrupoSerie()) {
  377 +
  378 + //INSERT para garantir a SEQ na posiçao correta
  379 + BancoSEI::getInstance()->executarSql('INSERT INTO seq_grupo_serie ( id ) VALUES ( ' . $arrListaGrupoSerie[0]->getNumIdGrupoSerie() . ') ');
  380 + }
  381 +
  382 +
  383 + } //nao tem registro na SEQ ainda, colocar o ID do grupo_serie mais atual
  384 + else {
  385 +
  386 + //INSERT para garantir a SEQ na posiçao correta
  387 + BancoSEI::getInstance()->executarSql('INSERT INTO seq_grupo_serie ( id ) VALUES ( ' . $arrListaGrupoSerie[0]->getNumIdGrupoSerie() . ') ');
  388 + }
  389 +
  390 + }
  391 +
  392 + $this->logar('CRIANDO GRUPO DE TIPO DE DOCUMENTO "Internos do Sistema"');
  393 + $grupoSerieDTO = new GrupoSerieDTO();
  394 + $grupoSerieDTO->retTodos();
  395 + $grupoSerieDTO->setNumIdGrupoSerie(null);
  396 +
  397 + $grupoSerieDTO->setStrNome('Internos do Sistema');
  398 + $grupoSerieDTO->setStrDescricao('Tipos de Documentos internos do sistema');
  399 + $grupoSerieDTO->setStrSinAtivo('S');
  400 + $grupoSerieDTO = $grupoSerieRN->cadastrarRN0775($grupoSerieDTO);
  401 +
  402 + //Criar o Tipo de Documento “Recibo Eletrônico de Protocolo”
  403 + $this->logar('CRIANDO TIPO DE DOCUMENTO Recibo Eletrônico de Protocolo');
  404 + $serieDTO = new SerieDTO();
  405 + $serieDTO->retTodos();
  406 + $serieRN = new SerieRN();
  407 +
  408 + $serieDTO->setNumIdSerie(null);
  409 + $serieDTO->setNumIdGrupoSerie($grupoSerieDTO->getNumIdGrupoSerie());
  410 + $serieDTO->setStrStaNumeracao(SerieRN::$TN_SEM_NUMERACAO);
  411 + $serieDTO->setStrStaAplicabilidade(SerieRN::$TA_INTERNO);
  412 + $serieDTO->setNumIdModeloEdoc(null);
  413 + $serieDTO->setNumIdModelo($modeloDTO->getNumIdModelo());
  414 + $serieDTO->setStrNome('Recibo Eletrônico de Protocolo');
  415 + $serieDTO->setStrDescricao('Utilizado para a geração automática do Recibo Eletrônico de Protocolo nos Peticionamentos Eletrônicos realizados por Usuário Externo diretamente no Acesso Externo do SEI.');
  416 + $serieDTO->setStrSinInteressado('S');
  417 + $serieDTO->setStrSinDestinatario('N');
  418 + $serieDTO->setStrSinAssinaturaPublicacao('S');
  419 + $serieDTO->setStrSinInterno('S');
  420 + $serieDTO->setStrSinAtivo('S');
  421 + $serieDTO->setArrObjRelSerieAssuntoDTO(array());
  422 + $serieDTO->setArrObjRelSerieVeiculoPublicacaoDTO(array());
  423 +
  424 + //adicoes SEIv3
  425 + $serieDTO->setNumIdTipoFormulario(null);
  426 + $serieDTO->setArrObjSerieRestricaoDTO(array());
  427 +
  428 + $serieDTO = $serieRN->cadastrarRN0642($serieDTO);
  429 +
  430 + $this->logar('ATUALIZANDO INFRA_PARAMETRO (ID_SERIE_RECIBO_MODULO_PETICIONAMENTO)');
  431 + $nomeParamIdSerie = 'ID_SERIE_RECIBO_MODULO_PETICIONAMENTO';
  432 + BancoSEI::getInstance()->executarSql('INSERT INTO infra_parametro ( valor, nome ) VALUES (\'' . $serieDTO->getNumIdSerie() . '\' , \'' . $nomeParamIdSerie . '\' ) ');
  433 +
  434 + //Atualizando parametro para controlar versao do modulo
  435 + $this->logar('ATUALIZANDO PARAMETRO ' . $this->nomeParametroModulo . ' NA TABELA infra_parametro PARA CONTROLAR A VERSÃO DO MÓDULO');
  436 + BancoSEI::getInstance()->executarSql('UPDATE infra_parametro SET valor = \'1.0.3\' WHERE nome = \'' . $this->nomeParametroModulo . '\' ');
  437 +
  438 + } catch (Exception $e) {
  439 + $this->logar($e->getTraceAsString());
  440 + print_r($e);
  441 + die();
  442 + }
  443 +
  444 + }
  445 +
  446 + //Contem atualizações da versao 0.0.2
  447 + protected function instalarv002()
  448 + {
  449 +
  450 + $objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance());
  451 + $this->logar('EXECUTANDO A INSTALACAO DA VERSAO 0.0.2 DO MODULO ' . $this->nomeDesteModulo . ' NA BASE DO SEI');
  452 + $this->logar('CRIANDO A TABELA md_pet_usu_externo_menu E SUA sequence');
  453 +
  454 + BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_usu_externo_menu( id_md_pet_usu_externo_menu ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  455 + id_conjunto_estilos ' . $objInfraMetaBD->tipoNumero() . ' NULL ,
  456 + nome ' . $objInfraMetaBD->tipoTextoVariavel(30) . ' NOT NULL ,
  457 + tipo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL ,
  458 + url ' . $objInfraMetaBD->tipoTextoVariavel(2083) . ' NULL ,
  459 + conteudo_html ' . $objInfraMetaBD->tipoTextoGrande() . ' NULL,
  460 + sin_ativo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL ) ');
  461 +
  462 + $objInfraMetaBD->adicionarChavePrimaria('md_pet_usu_externo_menu', 'pk_md_pet_usu_externo_menu', array('id_md_pet_usu_externo_menu'));
  463 +
  464 + $objInfraMetaBD->adicionarChaveEstrangeira('fk_md_pet_menu_cj_est_01',
  465 + 'md_pet_usu_externo_menu',
  466 + array('id_conjunto_estilos'),
  467 + 'conjunto_estilos', array('id_conjunto_estilos'));
  468 +
  469 + if (BancoSEI::getInstance() instanceof InfraMySql) {
  470 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_usu_externo_menu (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');
  471 + } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {
  472 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_usu_externo_menu (id bigint identity(1,1), campo char(1) null)');
  473 + } else if (BancoSEI::getInstance() instanceof InfraOracle) {
  474 + BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_usu_externo_menu', 1);
  475 + }
  476 +
  477 + //INSERCAO DE DOIS NOVOS MODELOS DE EMAIL NO MENU E-MAILS DO SISTEMA
  478 + $this->logar('INSERINDO EMAILS MD_PET_CONFIRMACAO_PETICIONAMENTO_USUARIO_EXTERNO e MD_PET_ALERTA_PETICIONAMENTO_UNIDADES NA TABELA email_sistema');
  479 +
  480 + //Parametrizar Email de Alerta às Unidades
  481 + $conteudo1 = " :: Este é um e-mail automático ::
  482 +
  483 +O Usuário Externo @nome_usuario_externo@ (@email_usuario_externo@) efetivou o Peticionamento Eletrônico do tipo @tipo_peticionamento@ (@tipo_processo@), no âmbito do processo nº @processo@, conforme disposto no Recibo Eletrônico de Protocolo SEI nº @documento_recibo_eletronico_de_protocolo@.
  484 +
  485 +O mencionado processo se encontra aberto em sua Unidade (@sigla_unidade_abertura_do_processo@). Entre no SEI e confira! Caso não seja de competência de sua Unidade, verifique se já está aberto na Unidade correta e, do contrário, envie-o para a Unidade competente para que seja devidamente tratado.
  486 +
  487 +
  488 +@sigla_orgao@
  489 +@descricao_orgao@
  490 +@sitio_internet_orgao@
  491 +
  492 +ATENÇÃO: As informações contidas neste e-mail, incluindo seus anexos, podem ser restritas apenas à pessoa ou entidade para a qual foi endereçada. Se você não é o destinatário ou a pessoa responsável por encaminhar esta mensagem ao destinatário, você está, por meio desta, notificado que não deverá rever, retransmitir, imprimir, copiar, usar ou distribuir esta mensagem ou quaisquer anexos. Caso você tenha recebido esta mensagem por engano, por favor, contate o remetente imediatamente e em seguida apague esta mensagem.";
  493 +
  494 + $maxIdEmailSistemaUnidades = $this->retornarMaxIdEmailSistema();
  495 +
  496 + $insert1 = "INSERT INTO email_sistema
  497 + (id_email_sistema,
  498 + descricao,
  499 + de,
  500 + para,
  501 + assunto,
  502 + conteudo,
  503 + sin_ativo,
  504 + id_email_sistema_modulo
  505 + )
  506 + VALUES
  507 + (" . $maxIdEmailSistemaUnidades . ",
  508 + 'Peticionamento Eletrônico - Alerta às Unidades',
  509 + '@sigla_sistema@ <@email_sistema@>',
  510 + '@emails_unidade@',
  511 + 'SEI Peticionamento Eletrônico - Processo nº @processo@',
  512 + '" . $conteudo1 . "',
  513 + 'S',
  514 + 'MD_PET_ALERTA_PETICIONAMENTO_UNIDADES'
  515 + )";
  516 + BancoSEI::getInstance()->executarSql($insert1);
  517 +
  518 + //Parametrizar Email de Confirmação ao Usuario Externo
  519 + $conteudo2 = " :: Este é um e-mail automático ::
  520 +
  521 +Prezado(a) @nome_usuario_externo@,
  522 +
  523 +Este e-mail confirma a realização do Peticionamento Eletrônico do tipo @tipo_peticionamento@ no SEI-@sigla_orgao@, no âmbito do processo nº @processo@, conforme disposto no Recibo Eletrônico de Protocolo SEI nº @documento_recibo_eletronico_de_protocolo@.
  524 +
  525 +Caso no futuro precise realizar novo peticionamento, sempre acesse a área destinada aos Usuários Externos no SEI-@sigla_orgao@ destacada em seu Portal na Internet ou acesse diretamente o link a seguir: @link_login_usuario_externo@
  526 +
  527 +
  528 +@sigla_orgao@
  529 +@descricao_orgao@
  530 +@sitio_internet_orgao@
  531 +
  532 +ATENÇÃO: As informações contidas neste e-mail, incluindo seus anexos, podem ser restritas apenas à pessoa ou entidade para a qual foi endereçada. Se você não é o destinatário ou a pessoa responsável por encaminhar esta mensagem ao destinatário, você está, por meio desta, notificado que não deverá rever, retransmitir, imprimir, copiar, usar ou distribuir esta mensagem ou quaisquer anexos. Caso você tenha recebido esta mensagem por engano, por favor, contate o remetente imediatamente e em seguida apague esta mensagem.";
  533 +
  534 + $maxIdEmailSistemaUsuario = $this->retornarMaxIdEmailSistema();
  535 +
  536 + $insert2 = "INSERT INTO email_sistema
  537 + (id_email_sistema,
  538 + descricao,
  539 + de,
  540 + para,
  541 + assunto,
  542 + conteudo,
  543 + sin_ativo,
  544 + id_email_sistema_modulo
  545 + )
  546 + VALUES
  547 + (" . $maxIdEmailSistemaUsuario . ",
  548 + 'Peticionamento Eletrônico - Confirmação ao Usuário Externo',
  549 + '@sigla_sistema@ <@email_sistema@>',
  550 + '@email_usuario_externo@',
  551 + 'SEI - Confirmação de Peticionamento Eletrônico (Processo nº @processo@)',
  552 + '" . $conteudo2 . "',
  553 + 'S',
  554 + 'MD_PET_CONFIRMACAO_PETICIONAMENTO_USUARIO_EXTERNO'
  555 + )";
  556 +
  557 + BancoSEI::getInstance()->executarSql($insert2);
  558 +
  559 + $this->logar('CRIANDO A TABELA md_pet_usu_ext_processo E SUA sequence');
  560 +
  561 + //Inserindo tabelas referentes ao Recibo Eletronico de Protocolo
  562 + BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_usu_ext_processo (
  563 + id_md_pet_usu_externo_processo ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  564 + id_md_pet_tipo_processo ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  565 + especificacao ' . $objInfraMetaBD->tipoTextoVariavel(50) . ' NULL,
  566 + tipo_interessado ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,
  567 + id_usuario_externo ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  568 + data_hora_recebimento ' . $objInfraMetaBD->tipoDataHora() . ' NULL,
  569 + ip_usuario ' . $objInfraMetaBD->tipoTextoVariavel(60) . ' NULL,
  570 + numero_processo ' . $objInfraMetaBD->tipoTextoVariavel(40) . ' NULL,
  571 + sin_ativo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL ) ');
  572 +
  573 + $objInfraMetaBD->adicionarChavePrimaria('md_pet_usu_ext_processo', 'pk_md_pet_usu_externo_processo', array('id_md_pet_usu_externo_processo'));
  574 +
  575 + if (BancoSEI::getInstance() instanceof InfraMySql) {
  576 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_usu_ext_processo (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');
  577 + } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {
  578 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_usu_ext_processo (id bigint identity(1,1), campo char(1) null)');
  579 + } else if (BancoSEI::getInstance() instanceof InfraOracle) {
  580 + BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_usu_ext_processo', 1);
  581 + }
  582 +
  583 + //Tabelas relacionais com Tipos de Contatos permitidos para Cadastro e para Seleção
  584 + $this->logar('CRIANDO A TABELA md_pet_rel_tp_ctx_contato');
  585 +
  586 + //veraao SEIv2.6 id_tipo_contexto_contato ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  587 + //versao SEIv3.0
  588 + BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_rel_tp_ctx_contato (
  589 + id_tipo_contato ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  590 + sin_cadastro_interessado ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL,
  591 + sin_selecao_interessado ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL,
  592 + id_md_pet_rel_tp_ctx_contato ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL
  593 + ) ');
  594 +
  595 + $objInfraMetaBD->adicionarChavePrimaria('md_pet_rel_tp_ctx_contato', 'pk1_md_pet_rel_tp_ctx_cont', array('id_md_pet_rel_tp_ctx_contato'));
  596 +
  597 + //versao SEIv2.6
  598 + //$objInfraMetaBD->adicionarChaveEstrangeira('fk_md_pet_rel_tp_ctx_cont_1','md_pet_rel_tp_ctx_contato',
  599 + //array('id_tipo_contexto_contato'),
  600 + //'tipo_contexto_contato',array('id_tipo_contexto_contato'));
  601 +
  602 + //versao SEIv3.0
  603 + $objInfraMetaBD->adicionarChaveEstrangeira('fk_md_pet_rel_tp_ctx_cont_1', 'md_pet_rel_tp_ctx_contato',
  604 + array('id_tipo_contato'),
  605 + 'tipo_contato', array('id_tipo_contato'));
  606 +
  607 + if (BancoSEI::getInstance() instanceof InfraMySql) {
  608 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_rel_tp_ctx_contato (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');
  609 + } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {
  610 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_rel_tp_ctx_contato (id bigint identity(1,1), campo char(1) null)');
  611 + } else if (BancoSEI::getInstance() instanceof InfraOracle) {
  612 + BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_rel_tp_ctx_contato', 1);
  613 + }
  614 +
  615 + //Tabelas referentes ao Recibo Eletronico de Protocolo
  616 + $this->logar('CRIANDO A TABELA md_pet_rel_recibo_protoc E SUA sequence');
  617 +
  618 + BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_rel_recibo_protoc (
  619 + id_md_pet_rel_recibo_protoc ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  620 + id_protocolo ' . $objInfraMetaBD->tipoNumeroGrande() . ' NOT NULL,
  621 + id_protocolo_relacionado ' . $objInfraMetaBD->tipoNumeroGrande() . ' NULL,
  622 + id_usuario ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  623 + ip_usuario ' . $objInfraMetaBD->tipoTextoVariavel(500) . ' NOT NULL,
  624 + data_hora_recebimento_final ' . $objInfraMetaBD->tipoDataHora() . ' NULL,
  625 + sin_ativo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL,
  626 + sta_tipo_peticionamento ' . $objInfraMetaBD->tipoTextoVariavel(1) . ' NULL )');
  627 +
  628 + $objInfraMetaBD->adicionarChavePrimaria('md_pet_rel_recibo_protoc', 'pk1_md_pet_rel_recibo_protoc', array('id_md_pet_rel_recibo_protoc'));
  629 +
  630 + $objInfraMetaBD->adicionarChaveEstrangeira('fk1_md_pet_rel_recibo_protoc', 'md_pet_rel_recibo_protoc', array('id_protocolo'), 'protocolo', array('id_protocolo'));
  631 + $objInfraMetaBD->adicionarChaveEstrangeira('fk2_md_pet_rel_recibo_protoc', 'md_pet_rel_recibo_protoc', array('id_usuario'), 'usuario', array('id_usuario'));
  632 + $objInfraMetaBD->adicionarChaveEstrangeira('fk3_md_pet_rel_recibo_protoc', 'md_pet_rel_recibo_protoc', array('id_protocolo_relacionado'), 'protocolo', array('id_protocolo'));
  633 +
  634 + if (BancoSEI::getInstance() instanceof InfraMySql) {
  635 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_rel_recibo_protoc (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');
  636 + } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {
  637 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_rel_recibo_protoc (id bigint identity(1,1), campo char(1) null)');
  638 + } else if (BancoSEI::getInstance() instanceof InfraOracle) {
  639 + BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_rel_recibo_protoc', 1);
  640 + }
  641 +
  642 + //Tabelas de recibo X documentos
  643 + $this->logar('CRIANDO A TABELA md_pet_rel_recibo_docanexo E SUA sequence');
  644 +
  645 + BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_rel_recibo_docanexo (
  646 + id_md_pet_rel_recibo_docanexo ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  647 + id_md_pet_rel_recibo_protoc ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  648 + formato_documento ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,
  649 + id_documento ' . $objInfraMetaBD->tipoNumeroGrande() . ' NULL,
  650 + id_anexo ' . $objInfraMetaBD->tipoNumero() . ' NULL,
  651 + classificacao_documento ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL )');
  652 +
  653 + $objInfraMetaBD->adicionarChavePrimaria('md_pet_rel_recibo_docanexo', 'pk1_md_pet_rel_recibo_docanexo', array('id_md_pet_rel_recibo_docanexo'));
  654 +
  655 + $objInfraMetaBD->adicionarChaveEstrangeira('fk_pet_rel_recibo_docanexo_01', 'md_pet_rel_recibo_docanexo', array('id_md_pet_rel_recibo_protoc'), 'md_pet_rel_recibo_protoc', array('id_md_pet_rel_recibo_protoc'));
  656 + $objInfraMetaBD->adicionarChaveEstrangeira('fk_pet_rel_recibo_docanexo_02', 'md_pet_rel_recibo_docanexo', array('id_documento'), 'documento', array('id_documento'));
  657 + $objInfraMetaBD->adicionarChaveEstrangeira('fk_pet_rel_recibo_docanexo_03', 'md_pet_rel_recibo_docanexo', array('id_anexo'), 'anexo', array('id_anexo'));
  658 +
  659 + if (BancoSEI::getInstance() instanceof InfraMySql) {
  660 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_rel_recibo_docanexo (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');
  661 + } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {
  662 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_rel_recibo_docanexo (id bigint identity(1,1), campo char(1) null)');
  663 + } else if (BancoSEI::getInstance() instanceof InfraOracle) {
  664 + BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_rel_recibo_docanexo', 1);
  665 + }
  666 +
  667 + //Atualizando parametro para controlar versao do modulo
  668 + $this->logar('ATUALIZANDO PARAMETRO ' . $this->nomeParametroModulo . ' NA TABELA infra_parametro PARA CONTROLAR A VERSÃO DO MÓDULO');
  669 + BancoSEI::getInstance()->executarSql('UPDATE infra_parametro SET valor = \'0.0.2\' WHERE nome = \'' . $this->nomeParametroModulo . '\' ');
  670 +
  671 + }
  672 +
  673 + //Contem atualizações da versao 0.0.1
  674 + protected function instalarv001()
  675 + {
  676 +
  677 + $objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance());
  678 +
  679 + $this->logar('EXECUTANDO A INSTALACAO DA VERSAO 0.0.1 DO MODULO ' . $this->nomeDesteModulo . ' NA BASE DO SEI');
  680 + $this->logar('CRIANDO A TABELA md_pet_tipo_processo E SUA sequence');
  681 +
  682 + BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_tipo_processo( id_md_pet_tipo_processo ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  683 + id_tipo_procedimento ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL ,
  684 + id_unidade ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL ,
  685 + id_serie ' . $objInfraMetaBD->tipoNumero() . ' NULL , '
  686 +
  687 + . 'id_hipotese_legal ' . $objInfraMetaBD->tipoNumero() . ' NULL ,
  688 + orientacoes ' . $objInfraMetaBD->tipoTextoVariavel(500) . ' NOT NULL,
  689 + sta_nivel_acesso ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,
  690 + sin_ii_proprio_usuario_externo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,
  691 + sin_ii_indicacao_direta ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,
  692 + sin_ii_indic_direta_cpf_cnpj ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,
  693 + sin_ii_indic_direta_contato ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,
  694 + sin_na_usuario_externo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,
  695 + sin_na_padrao ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,
  696 + sin_doc_gerado ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,
  697 + sin_doc_externo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NULL,
  698 + sin_ativo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL ) ');
  699 +
  700 + $objInfraMetaBD->adicionarChavePrimaria('md_pet_tipo_processo', 'pk_md_pet_tipo_processo', array('id_md_pet_tipo_processo'));
  701 + $objInfraMetaBD->adicionarChaveEstrangeira('fk_pet_tp_proc_tipo_proc_01', 'md_pet_tipo_processo', array('id_tipo_procedimento'), 'tipo_procedimento', array('id_tipo_procedimento'));
  702 + $objInfraMetaBD->adicionarChaveEstrangeira('fk_pet_tp_proc_unidade_02', 'md_pet_tipo_processo', array('id_unidade'), 'unidade', array('id_unidade'));
  703 + $objInfraMetaBD->adicionarChaveEstrangeira('fk_pet_tp_proc_serie_03', 'md_pet_tipo_processo', array('id_serie'), 'serie', array('id_serie'));
  704 + $objInfraMetaBD->adicionarChaveEstrangeira('fk_pet_tp_proc_hip_legal_04', 'md_pet_tipo_processo', array('id_hipotese_legal'), 'hipotese_legal', array('id_hipotese_legal'));
  705 +
  706 + if (BancoSEI::getInstance() instanceof InfraMySql) {
  707 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_tipo_processo (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');
  708 + } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {
  709 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_tipo_processo (id bigint identity(1,1), campo char(1) null)');
  710 + } else if (BancoSEI::getInstance() instanceof InfraOracle) {
  711 + BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_tipo_processo', 1);
  712 + }
  713 +
  714 + $this->logar('CRIANDO A TABELA md_pet_rel_tp_processo_serie');
  715 +
  716 + BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_rel_tp_processo_serie (
  717 + id_md_pet_tipo_processo ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  718 + id_serie ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL)');
  719 +
  720 + $objInfraMetaBD->adicionarChavePrimaria('md_pet_rel_tp_processo_serie', 'pk1_md_pet_rel_tp_proc_serie', array('id_md_pet_tipo_processo', 'id_serie'));
  721 + $objInfraMetaBD->adicionarChaveEstrangeira('fk1_md_pet_rel_tp_proc_serie', 'md_pet_rel_tp_processo_serie', array('id_md_pet_tipo_processo'), 'md_pet_tipo_processo', array('id_md_pet_tipo_processo'));
  722 + $objInfraMetaBD->adicionarChaveEstrangeira('fk2_md_pet_rel_tp_proc_serie', 'md_pet_rel_tp_processo_serie', array('id_serie'), 'serie', array('id_serie'));
  723 +
  724 + $this->logar('CRIANDO A TABELA md_pet_tp_processo_orientacoes');
  725 +
  726 + BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_tp_processo_orientacoes (
  727 + id_md_pet_tp_proc_orientacoes ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  728 + id_conjunto_estilos ' . $objInfraMetaBD->tipoNumero() . ' NULL,
  729 + orientacoes_gerais ' . $objInfraMetaBD->tipoTextoGrande() . ' NOT NULL )');
  730 +
  731 + $objInfraMetaBD->adicionarChavePrimaria('md_pet_tp_processo_orientacoes', 'pk_md_pet_tp_proc_orient', array('id_md_pet_tp_proc_orientacoes'));
  732 + $objInfraMetaBD->adicionarChaveEstrangeira('fk_md_pet_tp_proc_or_cj_est', 'md_pet_tp_processo_orientacoes', array('id_conjunto_estilos'), 'conjunto_estilos', array('id_conjunto_estilos'));
  733 +
  734 + $this->logar('CRIANDO A TABELA md_pet_ext_arquivo_perm E SUA sequence');
  735 +
  736 + BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_ext_arquivo_perm (
  737 + id_md_pet_ext_arquivo_perm ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  738 + id_arquivo_extensao ' . $objInfraMetaBD->tipoNumero() . ' NULL ,
  739 + sin_principal ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL,
  740 + sin_ativo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL )');
  741 +
  742 + $objInfraMetaBD->adicionarChavePrimaria('md_pet_ext_arquivo_perm', 'pk_md_pet_ext_arquivo_perm', array('id_md_pet_ext_arquivo_perm'));
  743 + $objInfraMetaBD->adicionarChaveEstrangeira('fk1_md_pet_ext_arquivo_perm', 'md_pet_ext_arquivo_perm', array('id_arquivo_extensao'), 'arquivo_extensao', array('id_arquivo_extensao'));
  744 +
  745 + if (BancoSEI::getInstance() instanceof InfraMySql) {
  746 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_ext_arquivo_perm (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');
  747 + } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {
  748 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_ext_arquivo_perm (id bigint identity(1,1), campo char(1) null)');
  749 + } else if (BancoSEI::getInstance() instanceof InfraOracle) {
  750 + BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_ext_arquivo_perm', 1);
  751 + }
  752 +
  753 + $this->logar('CRIANDO A TABELA md_pet_tamanho_arquivo');
  754 +
  755 + BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_tamanho_arquivo (
  756 + id_md_pet_tamanho_arquivo ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  757 + valor_doc_principal ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  758 + valor_doc_complementar ' . $objInfraMetaBD->tipoNumero() . ' NULL,
  759 + sin_ativo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL ) ');
  760 +
  761 + $objInfraMetaBD->adicionarChavePrimaria('md_pet_tamanho_arquivo', 'pk_md_pet_tamanho_arquivo', array('id_md_pet_tamanho_arquivo'));
  762 +
  763 + $objMdPetTamanhoArquivoDTO = new MdPetTamanhoArquivoDTO();
  764 + $objMdPetTamanhoArquivoRN = new MdPetTamanhoArquivoRN();
  765 + $objMdPetTamanhoArquivoDTO->retTodos();
  766 + $objMdPetTamanhoArquivoDTO->setNumValorDocPrincipal('5');
  767 + $objMdPetTamanhoArquivoDTO->setNumValorDocComplementar('10');
  768 + $objMdPetTamanhoArquivoDTO->setNumIdTamanhoArquivo(MdPetTamanhoArquivoRN::$ID_FIXO_TAMANHO_ARQUIVO);
  769 + $objMdPetTamanhoArquivoDTO->setStrSinAtivo('S');
  770 + $objMdPetTamanhoArquivoRN->cadastrar($objMdPetTamanhoArquivoDTO);
  771 +
  772 + $this->logar('CRIANDO A TABELA md_pet_indisponibilidade E SUA sequence');
  773 +
  774 + BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_indisponibilidade (
  775 + id_md_pet_indisponibilidade ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  776 + dth_inicio ' . $objInfraMetaBD->tipoDataHora() . ' NOT NULL,
  777 + dth_fim ' . $objInfraMetaBD->tipoDataHora() . ' NOT NULL,
  778 + resumo_indisponibilidade ' . $objInfraMetaBD->tipoTextoVariavel(500) . ' NULL,
  779 + sin_prorrogacao ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL,
  780 + sin_ativo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL ) ');
  781 +
  782 + $objInfraMetaBD->adicionarChavePrimaria('md_pet_indisponibilidade', 'pk_md_pet_indisponibilidade', array('id_md_pet_indisponibilidade'));
  783 +
  784 + if (BancoSEI::getInstance() instanceof InfraMySql) {
  785 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_indisponibilidade (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');
  786 + } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {
  787 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_indisponibilidade (id bigint identity(1,1), campo char(1) null)');
  788 + } else if (BancoSEI::getInstance() instanceof InfraOracle) {
  789 + BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_indisponibilidade', 1);
  790 + }
  791 +
  792 + $this->logar('CRIANDO A TABELA md_pet_indisp_anexo E SUA sequence');
  793 +
  794 + BancoSEI::getInstance()->executarSql('CREATE TABLE md_pet_indisp_anexo (
  795 + id_md_pet_anexo ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  796 + id_md_pet_indisponibilidade ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  797 + id_unidade ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  798 + id_usuario ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  799 + dth_inclusao ' . $objInfraMetaBD->tipoDataHora() . ' NOT NULL,
  800 + nome ' . $objInfraMetaBD->tipoTextoVariavel(255) . ' NOT NULL,
  801 + tamanho ' . $objInfraMetaBD->tipoNumero() . ' NOT NULL,
  802 + sin_ativo ' . $objInfraMetaBD->tipoTextoFixo(1) . ' NOT NULL,
  803 + hash ' . $objInfraMetaBD->tipoTextoFixo(32) . ' NOT NULL ) ');
  804 +
  805 + $objInfraMetaBD->adicionarChavePrimaria('md_pet_indisp_anexo', 'pk_pet_indisponibilidade_anexo', array('id_md_pet_anexo'));
  806 + $objInfraMetaBD->adicionarChaveEstrangeira('fk_md_pet_indisp_anexo_01', 'md_pet_indisp_anexo', array('id_md_pet_indisponibilidade'), 'md_pet_indisponibilidade', array('id_md_pet_indisponibilidade'));
  807 + $objInfraMetaBD->adicionarChaveEstrangeira('fk_md_pet_indisp_anexo_02', 'md_pet_indisp_anexo', array('id_unidade'), 'unidade', array('id_unidade'));
  808 + $objInfraMetaBD->adicionarChaveEstrangeira('fk_md_pet_indisp_anexo_03', 'md_pet_indisp_anexo', array('id_usuario'), 'usuario', array('id_usuario'));
  809 +
  810 + if (BancoSEI::getInstance() instanceof InfraMySql) {
  811 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_indisp_anexo (id bigint not null primary key AUTO_INCREMENT, campo char(1) null) AUTO_INCREMENT = 1');
  812 + } else if (BancoSEI::getInstance() instanceof InfraSqlServer) {
  813 + BancoSEI::getInstance()->executarSql('create table seq_md_pet_indisp_anexo (id bigint identity(1,1), campo char(1) null)');
  814 + } else if (BancoSEI::getInstance() instanceof InfraOracle) {
  815 + BancoSEI::getInstance()->criarSequencialNativa('seq_md_pet_indisp_anexo', 1);
  816 + }
  817 +
  818 + //Adicionando parametro para controlar versao do modulo
  819 + $this->logar('ADICIONANDO PARAMETRO ' . $this->nomeParametroModulo . ' NA TABELA infra_parametro PARA CONTROLAR A VERSÃO DO MÓDULO');
  820 + BancoSEI::getInstance()->executarSql('INSERT INTO infra_parametro (valor, nome ) VALUES( \'0.0.1\', \'' . $this->nomeParametroModulo . '\' )');
  821 + }
  822 +
  823 + protected function atualizarVersaoConectado()
  824 + {
  825 +
  826 + try {
  827 + $this->inicializar('INICIANDO ATUALIZACAO DO MODULO ' . $this->nomeDesteModulo . ' NO SEI VERSAO ' . SEI_VERSAO);
  828 +
  829 + //testando versao do framework
  830 + $numVersaoInfraRequerida = '1.385';
  831 + $versaoInfraFormatada = (int) str_replace('.','', VERSAO_INFRA);
  832 + $versaoInfraReqFormatada = (int) str_replace('.','', $numVersaoInfraRequerida);
  833 +
  834 + if ($versaoInfraFormatada < $versaoInfraReqFormatada){
  835 + $this->finalizar('VERSAO DO FRAMEWORK PHP INCOMPATIVEL (VERSAO ATUAL '.VERSAO_INFRA.', SENDO REQUERIDA VERSAO IGUAL OU SUPERIOR A '.$numVersaoInfraRequerida.')',true);
  836 + }
  837 +
  838 + //checando BDs suportados
  839 + if (!(BancoSEI::getInstance() instanceof InfraMySql) &&
  840 + !(BancoSEI::getInstance() instanceof InfraSqlServer) &&
  841 + !(BancoSEI::getInstance() instanceof InfraOracle)
  842 + ) {
  843 + $this->finalizar('BANCO DE DADOS NAO SUPORTADO: ' . get_parent_class(BancoSEI::getInstance()), true);
  844 + }
  845 +
  846 + //checando permissoes na base de dados
  847 + $objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance());
  848 +
  849 + if (count($objInfraMetaBD->obterTabelas('sei_teste')) == 0) {
  850 + BancoSEI::getInstance()->executarSql('CREATE TABLE sei_teste (id ' . $objInfraMetaBD->tipoNumero() . ' null)');
  851 + }
  852 +
  853 + BancoSEI::getInstance()->executarSql('DROP TABLE sei_teste');
  854 +
  855 + $objInfraParametro = new InfraParametro(BancoSEI::getInstance());
  856 +
  857 + $strVersaoModuloPeticionamento = $objInfraParametro->getValor($this->nomeParametroModulo, false);
  858 +
  859 + //VERIFICANDO QUAL VERSAO DEVE SER INSTALADA NESTA EXECUCAO
  860 + //nao tem nenhuma versao ainda, instalar todas
  861 + if (InfraString::isBolVazia($strVersaoModuloPeticionamento)) {
  862 + $this->instalarv001();
  863 + $this->instalarv002();
  864 + $this->instalarv100();
  865 + $this->instalarv104();
  866 + $this->instalarv110();
  867 + $this->logar('ATUALIZAÇÔES DA VERSÃO ' . $this->versaoAtualDesteModulo . ' DO MODULO ' . $this->nomeDesteModulo . ' INSTALADAS COM SUCESSO NA BASE DO SEI');
  868 + $this->finalizar('FIM', false);
  869 + } //se ja tem 001 instala apenas 002, 100, 104 e 110
  870 + else if ($strVersaoModuloPeticionamento == '0.0.1') {
  871 + $this->instalarv002();
  872 + $this->instalarv100();
  873 + $this->instalarv104();
  874 + $this->instalarv110();
  875 + $this->logar('ATUALIZAÇÔES DA VERSÃO ' . $this->versaoAtualDesteModulo . ' DO MÓDULO ' . $this->nomeDesteModulo . ' INSTALADAS COM SUCESSO NA BASE DO SEI');
  876 + $this->finalizar('FIM', false);
  877 + } //se ja tem 002 instala apenas 100, 104, 110
  878 + else if ($strVersaoModuloPeticionamento == '0.0.2') {
  879 + $this->instalarv100();
  880 + $this->instalarv104();
  881 + $this->instalarv110();
  882 + $this->logar('ATUALIZAÇÔES DA VERSÃO ' . $this->versaoAtualDesteModulo . ' DO MÓDULO ' . $this->nomeDesteModulo . ' INSTALADAS COM SUCESSO NA BASE DO SEI');
  883 + $this->finalizar('FIM', false);
  884 + } //se ja tem 100 ou 103 instala apenas a 104 e 110
  885 + else if (in_array($strVersaoModuloPeticionamento, array('1.0.0', '1.0.3'))) {
  886 + $this->instalarv104();
  887 + $this->instalarv110();
  888 + $this->logar('ATUALIZAÇÔES DA VERSÃO ' . $this->versaoAtualDesteModulo . ' DO MÓDULO ' . $this->nomeDesteModulo . ' INSTALADAS COM SUCESSO NA BASE DO SEI');
  889 + $this->finalizar('FIM', false);
  890 + } //se ja tem 104 apenas a 110
  891 + else if ($strVersaoModuloPeticionamento == '1.0.4') {
  892 + $this->instalarv110();
  893 + $this->logar('ATUALIZAÇÔES DA VERSÃO ' . $this->versaoAtualDesteModulo . ' DO MÓDULO ' . $this->nomeDesteModulo . ' INSTALADAS COM SUCESSO NA BASE DO SEI');
  894 + $this->finalizar('FIM', false);
  895 + }
  896 + else if ($strVersaoModuloPeticionamento == '1.1.0') {
  897 + $this->logar('A VERSAO MAIS ATUAL DO MODULO ' . $this->nomeDesteModulo . ' (v ' . $this->versaoAtualDesteModulo . ') JA ESTA INSTALADA.');
  898 + $this->finalizar('FIM', false);
  899 + }
  900 +
  901 + InfraDebug::getInstance()->setBolLigado(false);
  902 + InfraDebug::getInstance()->setBolDebugInfra(false);
  903 + InfraDebug::getInstance()->setBolEcho(false);
  904 +
  905 + } catch (Exception $e) {
  906 + InfraDebug::getInstance()->setBolLigado(true);
  907 + InfraDebug::getInstance()->setBolDebugInfra(true);
  908 + InfraDebug::getInstance()->setBolEcho(true);
  909 + $this->logar($e->getTraceAsString());
  910 + $this->finalizar('FIM', true);
  911 + print_r($e);
  912 + die;
  913 + throw new InfraException('Erro atualizando versão.', $e);
  914 + }
  915 +
  916 + }
  917 +
  918 + private function existeIdEmailSistemaPecitionamento()
  919 + {
  920 + $this->logar('VERIFICANDO A EXISTENCIA DE MODELOS DE EMAIL PARA PETICIONAMENTO');
  921 + $sql = "select
  922 + id_email_sistema
  923 + from email_sistema
  924 + where
  925 + id_email_sistema in (3001,3002)";
  926 + $rs = BancoSEI::getInstance()->consultarSql($sql);
  927 + return (count($rs) > 0) ? true : false;
  928 + }
  929 +
  930 + private function atualizarIdEmailSistemaAlertaPecitionamento()
  931 + {
  932 + $this->logar('ATUALIZANDO O IDENTIFICADOR DO MODELO DE EMAIL PARA PETICIONAMENTO DA CONSTANTE MD_PET_ALERTA_PETICIONAMENTO_UNIDADES');
  933 + $idEmailSistema = $this->retornarMaxIdEmailSistema();
  934 + BancoSEI::getInstance()->executarSql('update email_sistema SET id_email_sistema = ' . $idEmailSistema . ', id_email_sistema_modulo = \'MD_PET_ALERTA_PETICIONAMENTO_UNIDADES\' WHERE id_email_sistema = 3002');
  935 + }
  936 +
  937 + private function atualizarIdEmailSistemaConfirmacaoPeticionamento()
  938 + {
  939 + $this->logar('ATUALIZANDO O IDENTIFICADOR DO MODELO DE EMAIL PARA PETICIONAMENTO DA CONSTANTE MD_PET_CONFIRMACAO_PETICIONAMENTO_USUARIO_EXTERNO');
  940 + $idEmailSistema = $this->retornarMaxIdEmailSistema();
  941 + BancoSEI::getInstance()->executarSql('update email_sistema SET id_email_sistema = ' . $idEmailSistema . ', id_email_sistema_modulo = \'MD_PET_CONFIRMACAO_PETICIONAMENTO_USUARIO_EXTERNO\' WHERE id_email_sistema = 3001');
  942 + }
  943 +
  944 + private function retornarMaxIdEmailSistema()
  945 + {
  946 + $this->logar('BUSCANDO O PROXIMO ID DISPONIVEL NA TABELA EMAIL_SISTEMA ');
  947 + $sql = "select id_email_sistema from email_sistema where id_email_sistema > 999";
  948 + $rs = BancoSEI::getInstance()->consultarSql($sql);
  949 +
  950 + $maxIdEmailSistema = (1000 + count($rs));
  951 + $indiceAnterior = 0;
  952 + foreach ($rs as $i => $r) {
  953 + if ($i == 0 && $r['id_email_sistema'] > 1000) {
  954 + $maxIdEmailSistema = 1000;
  955 + break;
  956 + }
  957 +
  958 + if (($r['id_email_sistema'] - $rs[$indiceAnterior]['id_email_sistema']) > 1) {
  959 + $maxIdEmailSistema = $rs[$indiceAnterior]['id_email_sistema'] + 1;
  960 + break;
  961 + }
  962 + $indiceAnterior = $i;
  963 + }
  964 + return $maxIdEmailSistema;
  965 + }
  966 +
  967 +}
  968 +
  969 +?>
0 \ No newline at end of file 970 \ No newline at end of file
sei/web/modulos/peticionamento/rn/MdPetCriterioRN.php
@@ -387,24 +387,37 @@ class MdPetCriterioRN extends InfraRN @@ -387,24 +387,37 @@ class MdPetCriterioRN extends InfraRN
387 387
388 // Verifica se o processo possui critério intercorrente cadastrado 388 // Verifica se o processo possui critério intercorrente cadastrado
389 $objMdPetCriterioDTO->retTodos(); 389 $objMdPetCriterioDTO->retTodos();
  390 + $objMdPetCriterioDTO->retStrTipoProcessoSinAtivo();
390 $objMdPetCriterioDTO->setNumIdTipoProcedimento($idTpProcedimento); 391 $objMdPetCriterioDTO->setNumIdTipoProcedimento($idTpProcedimento);
391 $objMdPetCriterioDTO->setStrSinCriterioPadrao('N'); 392 $objMdPetCriterioDTO->setStrSinCriterioPadrao('N');
  393 +
  394 + // se o criterio estiver apontando para um tipo de processo que foi desativado nao trazer ele
  395 + $objMdPetCriterioDTO->setStrTipoProcessoSinAtivo('S');
  396 +
392 $arrObjCriterioIntercorrenteDTO = $objMdPetCriterioRN->listar($objMdPetCriterioDTO); 397 $arrObjCriterioIntercorrenteDTO = $objMdPetCriterioRN->listar($objMdPetCriterioDTO);
393 398
394 //Se não possui busca o padrão e cria um processo relacionado ao processo selecionado 399 //Se não possui busca o padrão e cria um processo relacionado ao processo selecionado
395 if (count($arrObjCriterioIntercorrenteDTO) > 0) { 400 if (count($arrObjCriterioIntercorrenteDTO) > 0) {
396 $ret = $arrObjCriterioIntercorrenteDTO[0]; 401 $ret = $arrObjCriterioIntercorrenteDTO[0];
397 - } else {  
398 - $objMdPetCriterioPadraoDTO = new MdPetCriterioDTO(); 402 + }
  403 +
  404 + else {
  405 +
  406 + $objMdPetCriterioPadraoDTO = new MdPetCriterioDTO();
399 $objMdPetCriterioPadraoDTO->setStrSinCriterioPadrao('S'); 407 $objMdPetCriterioPadraoDTO->setStrSinCriterioPadrao('S');
400 $objMdPetCriterioPadraoDTO->retTodos(); 408 $objMdPetCriterioPadraoDTO->retTodos();
401 $arrObjCriterioIntercorrenteDTO = $objMdPetCriterioRN->listar($objMdPetCriterioPadraoDTO); 409 $arrObjCriterioIntercorrenteDTO = $objMdPetCriterioRN->listar($objMdPetCriterioPadraoDTO);
  410 +
402 if (count($arrObjCriterioIntercorrenteDTO) <= 0) { 411 if (count($arrObjCriterioIntercorrenteDTO) <= 0) {
403 throw new InfraException ('Nenhum critério para Intercorrente Foi encontrado para o Tipo de Processo informado.'); 412 throw new InfraException ('Nenhum critério para Intercorrente Foi encontrado para o Tipo de Processo informado.');
404 } 413 }
  414 +
405 $ret = $arrObjCriterioIntercorrenteDTO[0]; 415 $ret = $arrObjCriterioIntercorrenteDTO[0];
  416 +
406 } 417 }
  418 +
407 return $ret; 419 return $ret;
  420 +
408 } catch (Exception $e) { 421 } catch (Exception $e) {
409 throw new InfraException('Erro consultando', $e); 422 throw new InfraException('Erro consultando', $e);
410 } 423 }
sei/web/modulos/peticionamento/rn/MdPetIntercorrenteAndamentoSigilosoRN.php
@@ -758,18 +758,120 @@ class MdPetIntercorrenteAndamentoSigilosoRN extends InfraRN @@ -758,18 +758,120 @@ class MdPetIntercorrenteAndamentoSigilosoRN extends InfraRN
758 //método que retorna a unidade de abertura de processo novo relacionado ao processo sigiloso que foi informado pelo usuario na tela de processo intercorrente 758 //método que retorna a unidade de abertura de processo novo relacionado ao processo sigiloso que foi informado pelo usuario na tela de processo intercorrente
759 public function retornaIdUnidadeAberturaProcessoConectado( $idProcedimento ){ 759 public function retornaIdUnidadeAberturaProcessoConectado( $idProcedimento ){
760 760
761 - //1 - obtendo TODAS as unidades por onde o processo ja tramitou  
762 - $objProcedimentoDTO = new ProcedimentoDTO();  
763 - $objProcedimentoDTO->setDblIdProcedimento( $idProcedimento ); 761 + //encontra a unidade de abertura e setar aqui
  762 + $idUnidadeSigiloso = null;
  763 + $unidadeRN = new UnidadeRN();
  764 +
  765 + //====================================================================================
  766 + //INICIO CASO 1 - Processo sigiloso que possui credencial apontada para unidade ativa
  767 + //====================================================================================
  768 + $acessoDTO = new AcessoDTO();
  769 + $acessoDTO->retNumIdUnidade();
  770 + $acessoDTO->setDblIdProtocolo( $idProcedimento );
  771 + $acessoDTO->setStrStaTipo( array( AcessoRN::$TA_CREDENCIAL_PROCESSO, AcessoRN::$TA_CREDENCIAL_ASSINATURA_PROCESSO ), InfraDTO::$OPER_IN );
  772 + $acessoDTO->setOrd('IdAcesso', InfraDTO::$TIPO_ORDENACAO_DESC );
  773 +
  774 + $acessoRN = new AcessoRN();
  775 + $arrCredenciaisComUnidadeValida = array();
  776 + $arrCredenciais = $acessoRN->listar( $acessoDTO );
  777 +
  778 + if( is_array( $arrCredenciais ) && count( $arrCredenciais ) > 0 ){
  779 +
  780 + foreach( $arrCredenciais as $itemCredencial ){
  781 +
  782 + //descobrir se a unidade vinculada a esta credencial ainda está ativa
  783 + $idUnidade = $itemCredencial->getNumIdUnidade();
  784 + $unidadeDTO = new UnidadeDTO();
  785 + $unidadeDTO->retNumIdUnidade();
  786 + $unidadeDTO->retStrSinAtivo();
  787 + $unidadeDTO->setNumIdUnidade( $idUnidade );
  788 + $unidadeDTO->setStrSinAtivo('S');
  789 +
  790 + $retUnidadeDTO = $unidadeRN->pesquisar( $unidadeDTO );
  791 +
  792 + //encontrou uma unidade ativa com credencial, usar ela
  793 + if( is_array( $retUnidadeDTO ) && count( $retUnidadeDTO ) > 0 && $retUnidadeDTO[0] != null && $retUnidadeDTO[0]->isSetNumIdUnidade() ){
  794 + $idUnidadeSigiloso = $retUnidadeDTO[0]->getNumIdUnidade();
  795 + return $idUnidadeSigiloso;
  796 + }
  797 + }
  798 + }
  799 +
  800 + //====================================================================================
  801 + //FIM CASO 1 - Processo sigiloso que possui credencial apontada para unidade ativa
  802 + //====================================================================================
  803 +
  804 + //====================================================================================
  805 + //CASO 2 - Processo sigiloso com andamento de Credencial cassada ou revogada apontada para unidade ativa
  806 + //====================================================================================
764 807
765 $objAtividadeBD = new AtividadeBD( $this->getObjInfraIBanco() ); 808 $objAtividadeBD = new AtividadeBD( $this->getObjInfraIBanco() );
766 $objAtividadeDTO = new AtividadeDTO(); 809 $objAtividadeDTO = new AtividadeDTO();
  810 + $objAtividadeDTO->retNumIdTarefa();
  811 + $objAtividadeDTO->retStrNomeTarefa();
767 $objAtividadeDTO->retNumIdAtividade(); 812 $objAtividadeDTO->retNumIdAtividade();
768 - $objAtividadeDTO->setDistinct(true);  
769 $objAtividadeDTO->retNumIdUnidade(); 813 $objAtividadeDTO->retNumIdUnidade();
770 $objAtividadeDTO->retStrSiglaUnidade(); 814 $objAtividadeDTO->retStrSiglaUnidade();
771 $objAtividadeDTO->retStrDescricaoUnidade(); 815 $objAtividadeDTO->retStrDescricaoUnidade();
772 816
  817 + $objAtividadeDTO->setNumIdTarefa(
  818 + array(
  819 + TarefaRN::$TI_PROCESSO_CASSACAO_CREDENCIAL,
  820 + TarefaRN::$TI_PROCESSO_CONCESSAO_CREDENCIAL,
  821 + TarefaRN::$TI_PROCESSO_CONCESSAO_CREDENCIAL_CASSADA,
  822 + TarefaRN::$TI_PROCESSO_RENUNCIA_CREDENCIAL,
  823 + TarefaRN::$TI_PROCESSO_ATIVACAO_CREDENCIAL,
  824 + TarefaRN::$TI_PROCESSO_TRANSFERENCIA_CREDENCIAL,
  825 + TarefaRN::$TI_CONCESSAO_CREDENCIAL_ASSINATURA
  826 + ), InfraDTO::$OPER_IN);
  827 +
  828 + $objAtividadeDTO->setDblIdProtocolo( $idProcedimento );
  829 +
  830 + //ordenando pelo id da atividade, obtendo a ordem cronologica da tramitacao
  831 + $objAtividadeDTO->setOrdNumIdAtividade(InfraDTO::$TIPO_ORDENACAO_DESC);
  832 +
  833 + //echo $objAtividadeBD->listar( $objAtividadeDTO, true ); die;
  834 + $arrObjAtividadeDTO = $objAtividadeBD->listar( $objAtividadeDTO );
  835 +
  836 + // print_r( $arrObjAtividadeDTO ); die;
  837 +
  838 + if( is_array( $arrObjAtividadeDTO ) && count( $arrObjAtividadeDTO ) > 0){
  839 +
  840 + foreach( $arrObjAtividadeDTO as $atividade ){
  841 +
  842 + //verificando se a unidade desta atividade está ativa
  843 + $idUnidade = $atividade->getNumIdUnidade();
  844 +
  845 + $unidadeDTO = new UnidadeDTO();
  846 + $unidadeDTO->retNumIdUnidade();
  847 + $unidadeDTO->retStrSinAtivo();
  848 + $unidadeDTO->setNumIdUnidade( $idUnidade );
  849 +
  850 + $unidadeDTO = $unidadeRN->consultarRN0125( $unidadeDTO );
  851 +
  852 + //verificar se a unidade está ativa
  853 + if( $unidadeDTO->getStrSinAtivo() == 'S' ){
  854 +
  855 + $idUnidadeSigiloso = $unidadeDTO->getNumIdUnidade();
  856 + return $idUnidadeSigiloso;
  857 +
  858 + }
  859 +
  860 + }
  861 +
  862 + }
  863 +
  864 + //====================================================================================
  865 + //CASO 3 - Nao possui credencial apontada para unidade ativa, os andamentos de concessao e revogaçao de credencial nao estao apontados para unidade ativa
  866 + // Resta fazer a checagem "padrao" em todo o andamento do processo para ver a ultima unidade ativa por onde o processo tramitou
  867 + //====================================================================================
  868 +
  869 + //1 - obtendo TODAS as unidades por onde o processo ja tramitou
  870 + $objAtividadeDTO = new AtividadeDTO();
  871 + $objAtividadeDTO->retNumIdAtividade();
  872 + $objAtividadeDTO->retNumIdUnidade();
  873 + $objAtividadeDTO->retStrSiglaUnidade();
  874 +
773 /* 875 /*
774 * Tarefas que implicam na abertura do processo na Unidade (ID/Nome): 876 * Tarefas que implicam na abertura do processo na Unidade (ID/Nome):
775 * MESCLANDO TAREFAS DE PROCESSOS PUBLICO/RESTRITO + SIGILOSO 877 * MESCLANDO TAREFAS DE PROCESSOS PUBLICO/RESTRITO + SIGILOSO
@@ -777,20 +879,17 @@ class MdPetIntercorrenteAndamentoSigilosoRN extends InfraRN @@ -777,20 +879,17 @@ class MdPetIntercorrenteAndamentoSigilosoRN extends InfraRN
777 21 - Remoção de sobrestamento 879 21 - Remoção de sobrestamento
778 29 - Reabertura do processo na unidade 880 29 - Reabertura do processo na unidade
779 32 - Processo remetido pela unidade @UNIDADE@ 881 32 - Processo remetido pela unidade @UNIDADE@
780 - 61 - Credencial concedida para o usuário @USUARIO@  
781 - 64 - Reabertura do processo  
782 - 66 - Transferência de credencial  
783 - 73 - Concessão de credencial para assinatura  
784 - 118 - Ativação de credencial por Coordenador de Acervo para o usuário @USUARIO@ */ 882 + 64 - Reabertura do processo
  883 + */
785 884
786 - $objAtividadeDTO->setNumIdTarefa(array(TarefaRN::$TI_GERACAO_PROCEDIMENTO, 885 + $objAtividadeDTO->setNumIdTarefa(
  886 + array(
  887 + TarefaRN::$TI_GERACAO_PROCEDIMENTO,
787 TarefaRN::$TI_REMOCAO_SOBRESTAMENTO, 888 TarefaRN::$TI_REMOCAO_SOBRESTAMENTO,
788 TarefaRN::$TI_REABERTURA_PROCESSO_UNIDADE, 889 TarefaRN::$TI_REABERTURA_PROCESSO_UNIDADE,
789 TarefaRN::$TI_PROCESSO_REMETIDO_UNIDADE, 890 TarefaRN::$TI_PROCESSO_REMETIDO_UNIDADE,
790 - TarefaRN::$TI_PROCESSO_CONCESSAO_CREDENCIAL,  
791 - TarefaRN::$TI_REABERTURA_PROCESSO_USUARIO,  
792 - TarefaRN::$TI_CONCESSAO_CREDENCIAL_ASSINATURA,  
793 - TarefaRN::$TI_PROCESSO_ATIVACAO_CREDENCIAL),InfraDTO::$OPER_IN); 891 + TarefaRN::$TI_REABERTURA_PROCESSO_USUARIO
  892 + ), InfraDTO::$OPER_IN);
794 893
795 $objAtividadeDTO->setDblIdProtocolo( $idProcedimento ); 894 $objAtividadeDTO->setDblIdProtocolo( $idProcedimento );
796 895
@@ -798,12 +897,11 @@ class MdPetIntercorrenteAndamentoSigilosoRN extends InfraRN @@ -798,12 +897,11 @@ class MdPetIntercorrenteAndamentoSigilosoRN extends InfraRN
798 $objAtividadeDTO->setOrdNumIdAtividade(InfraDTO::$TIPO_ORDENACAO_DESC); 897 $objAtividadeDTO->setOrdNumIdAtividade(InfraDTO::$TIPO_ORDENACAO_DESC);
799 898
800 $arrObjAtividadeDTO = $objAtividadeBD->listar($objAtividadeDTO); 899 $arrObjAtividadeDTO = $objAtividadeBD->listar($objAtividadeDTO);
801 - $unidadeRN = new UnidadeRN(); 900 +
  901 + //print_r( $arrObjAtividadeDTO ); die;
802 902
803 if( is_array( $arrObjAtividadeDTO ) && count( $arrObjAtividadeDTO ) > 0){ 903 if( is_array( $arrObjAtividadeDTO ) && count( $arrObjAtividadeDTO ) > 0){
804 -  
805 - $idUltimaUnidadeRetorno = $this->retornaUltimaUnidadeProcessoSigilosoAberto( $idProcedimento );  
806 - 904 +
807 foreach( $arrObjAtividadeDTO as $atividade ){ 905 foreach( $arrObjAtividadeDTO as $atividade ){
808 906
809 $idUnidade = $atividade->getNumIdUnidade(); 907 $idUnidade = $atividade->getNumIdUnidade();
@@ -814,35 +912,28 @@ class MdPetIntercorrenteAndamentoSigilosoRN extends InfraRN @@ -814,35 +912,28 @@ class MdPetIntercorrenteAndamentoSigilosoRN extends InfraRN
814 $unidadeDTO->setNumIdUnidade( $idUnidade ); 912 $unidadeDTO->setNumIdUnidade( $idUnidade );
815 913
816 $unidadeDTO = $unidadeRN->consultarRN0125( $unidadeDTO ); 914 $unidadeDTO = $unidadeRN->consultarRN0125( $unidadeDTO );
817 - print_r( $unidadeDTO ); die;  
818 915
819 //1- verificar se a unidade está ativa 916 //1- verificar se a unidade está ativa
820 - if( $unidadeDTO->getStrSinAtivo() == 'S' ){  
821 -  
822 - //2 - descobrindo se o processo ainda está aberto nesta unidade  
823 - $isProcessoAbertoNessaUnidade = true;  
824 -  
825 - if( $isProcessoAbertoNessaUnidade ){  
826 - return $atividade->getNumIdUnidade();  
827 - } 917 + if( $unidadeDTO != null && $unidadeDTO->getStrSinAtivo() == 'S' ){
828 918
829 - } else { 919 + $idUnidadeSigiloso = $unidadeDTO->getNumIdUnidade();
  920 + return $idUnidadeSigiloso;
830 921
831 - echo "Unidade desativada"; die;  
832 - } 922 + }
833 923
834 } 924 }
835 -  
836 - //se chegar aqui sem ter dado return é porque o processo nao está aberto em nenhuma unidade  
837 - return null;  
838 - 925 +
839 } 926 }
840 927
841 - //se nao estiver aberto em nenhuma unidade retorna null  
842 - else {  
843 - return null; 928 + //====================================================================================
  929 + //CASO 4 - Nao há nenhuma unidade ativa dentre aquelas em que o processo tramitou, deve dar erro / msg de validação
  930 + //====================================================================================
  931 + if( $idUnidadeSigiloso == null ){
  932 +
844 } 933 }
845 934
  935 + return $idUnidadeSigiloso;
  936 +
846 } 937 }
847 938
848 /** 939 /**
@@ -896,8 +987,8 @@ protected function retornaUltimaUnidadeProcessoSigilosoAbertoConectado($idProced @@ -896,8 +987,8 @@ protected function retornaUltimaUnidadeProcessoSigilosoAbertoConectado($idProced
896 987
897 //lista de unidades nas quais o processo ainda encontra-se aberto 988 //lista de unidades nas quais o processo ainda encontra-se aberto
898 $arrUnidadesAbertas = $saidaConsultarProcedimentoAPI->getUnidadesProcedimentoAberto(); 989 $arrUnidadesAbertas = $saidaConsultarProcedimentoAPI->getUnidadesProcedimentoAberto();
899 - echo "Unidades em que está aberto";  
900 - print_r( $arrUnidadesAbertas ); die; 990 + //echo "Unidades em que está aberto";
  991 + //print_r( $arrUnidadesAbertas ); die;
901 992
902 //o processo encontra-se aberto em pelo menos uma unidade 993 //o processo encontra-se aberto em pelo menos uma unidade
903 if( is_array( $arrUnidadesAbertas ) && count( $arrUnidadesAbertas ) > 0 ){ 994 if( is_array( $arrUnidadesAbertas ) && count( $arrUnidadesAbertas ) > 0 ){
sei/web/modulos/peticionamento/rn/MdPetIntercorrenteProcessoRN.php
1 <? 1 <?
2 /** 2 /**
3 -* ANATEL  
4 -*  
5 -* 25/11/2016 - criado por marcelo.bezerra - CAST  
6 -*  
7 -*/ 3 + * ANATEL
  4 + *
  5 + * 25/11/2016 - criado por marcelo.bezerra - CAST
  6 + *
  7 + */
8 8
9 require_once dirname(__FILE__).'/../../../SEI.php'; 9 require_once dirname(__FILE__).'/../../../SEI.php';
10 10
11 class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN { 11 class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN {
12 - 12 +
13 public static $FORMATO_DIGITALIZADO = 'D'; 13 public static $FORMATO_DIGITALIZADO = 'D';
14 public static $FORMATO_NATO_DIGITAL = 'N'; 14 public static $FORMATO_NATO_DIGITAL = 'N';
15 -  
16 - private $objAcessoExternoDTO = null;  
17 - private $objUsuarioDTO = null;  
18 - private $objCargoDTO = null;  
19 - private $objOrgaoDTO = null;  
20 - private $objUnidadeDTO = null;  
21 - private $objProcedimentoDTO = null;  
22 - private $senha = null;  
23 - private $reciboDTO = null;  
24 - private $participantesDTO = null;  
25 - private $documentoRecibo = null;  
26 - private $arrDocumentos = array();  
27 -  
28 -  
29 - private $tipoConferenciaAlterado = false; 15 +
  16 + private $objAcessoExternoDTO = null;
  17 + private $objUsuarioDTO = null;
  18 + private $objCargoDTO = null;
  19 + private $objOrgaoDTO = null;
  20 + private $objUnidadeDTO = null;
  21 + private $objProcedimentoDTO = null;
  22 + private $senha = null;
  23 + private $reciboDTO = null;
  24 + private $participantesDTO = null;
  25 + private $documentoRecibo = null;
  26 + private $arrDocumentos = array();
  27 +
  28 + //guarda o id da maior atividade de liberacao de acesso externo para comparar na hora de limpar o historico
  29 + private $maxIdAtividade = 0;
  30 +
  31 +
  32 + private $tipoConferenciaAlterado = false;
30 33
31 public function __construct() { 34 public function __construct() {
32 parent::__construct (); 35 parent::__construct ();
@@ -36,7 +39,7 @@ class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN { @@ -36,7 +39,7 @@ class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN {
36 protected function inicializarObjInfraIBanco() { 39 protected function inicializarObjInfraIBanco() {
37 return BancoSEI::getInstance (); 40 return BancoSEI::getInstance ();
38 } 41 }
39 - 42 +
40 /** 43 /**
41 * Short description of method validarUnidadeProcessoConectado 44 * Short description of method validarUnidadeProcessoConectado
42 * Valida se as unidades dos processos abertos para esse procedimento estão ativas 45 * Valida se as unidades dos processos abertos para esse procedimento estão ativas
@@ -46,16 +49,16 @@ class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN { @@ -46,16 +49,16 @@ class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN {
46 * @return boolean 49 * @return boolean
47 */ 50 */
48 protected function validarUnidadeProcessoConectado($objProcedimentoDTO){ 51 protected function validarUnidadeProcessoConectado($objProcedimentoDTO){
49 - $objAtividadeRN = new AtividadeRN();  
50 - $arrObjUnidadeDTO = $objAtividadeRN->listarUnidadesTramitacao($objProcedimentoDTO);  
51 - 52 + $objAtividadeRN = new AtividadeRN();
  53 + $arrObjUnidadeDTO = $objAtividadeRN->listarUnidadesTramitacao($objProcedimentoDTO);
  54 +
52 if(count($arrObjUnidadeDTO) == 0){ 55 if(count($arrObjUnidadeDTO) == 0){
53 return false; 56 return false;
54 } 57 }
55 - 58 +
56 return true; 59 return true;
57 } 60 }
58 - 61 +
59 /** 62 /**
60 * Short description of method pesquisarProtocoloFormatadoConectado 63 * Short description of method pesquisarProtocoloFormatadoConectado
61 * Pesquisa o processo exatamente como foi digitado SEM considerar a formatação 64 * Pesquisa o processo exatamente como foi digitado SEM considerar a formatação
@@ -74,38 +77,38 @@ class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN { @@ -74,38 +77,38 @@ class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN {
74 $objProtocoloDTOPesquisa->retStrStaProtocolo(); 77 $objProtocoloDTOPesquisa->retStrStaProtocolo();
75 $objProtocoloDTOPesquisa->retStrStaNivelAcessoGlobal(); 78 $objProtocoloDTOPesquisa->retStrStaNivelAcessoGlobal();
76 $objProtocoloDTOPesquisa->setNumMaxRegistrosRetorno(2); 79 $objProtocoloDTOPesquisa->setNumMaxRegistrosRetorno(2);
77 - 80 +
78 $strProtocoloPesquisa = InfraUtil::retirarFormatacao($parObjProtocoloDTO->getStrProtocoloFormatadoPesquisa(),false); 81 $strProtocoloPesquisa = InfraUtil::retirarFormatacao($parObjProtocoloDTO->getStrProtocoloFormatadoPesquisa(),false);
79 - 82 +
80 $objProtocoloDTOPesquisa->setStrProtocoloFormatadoPesquisa($strProtocoloPesquisa); 83 $objProtocoloDTOPesquisa->setStrProtocoloFormatadoPesquisa($strProtocoloPesquisa);
81 $arrObjProtocoloDTO = $objProtocoloRN->listarRN0668($objProtocoloDTOPesquisa); 84 $arrObjProtocoloDTO = $objProtocoloRN->listarRN0668($objProtocoloDTOPesquisa);
82 - 85 +
83 if (count($arrObjProtocoloDTO) > 1) { 86 if (count($arrObjProtocoloDTO) > 1) {
84 return null; 87 return null;
85 } 88 }
86 - 89 +
87 if (count($arrObjProtocoloDTO) == 1) { 90 if (count($arrObjProtocoloDTO) == 1) {
88 return $arrObjProtocoloDTO[0]; 91 return $arrObjProtocoloDTO[0];
89 } 92 }
90 -  
91 - 93 +
  94 +
92 return null; 95 return null;
93 - 96 +
94 }catch(Exception $e){ 97 }catch(Exception $e){
95 throw new InfraException('Erro pesquisando protocolo.',$e); 98 throw new InfraException('Erro pesquisando protocolo.',$e);
96 } 99 }
97 } 100 }
98 -  
99 - /**  
100 - * Retorna a ultima unidade que o processo foi  
101 - * Pesquisa o processo exatamente como foi digitado SEM considerar a formatação  
102 - * @access protected  
103 - * @author Jaqueline Mendes <jaqueline.mendes@cast.com.br>  
104 - * @param ProtocoloDTO $parObjProtocoloDTO  
105 - * @return mixed  
106 - */ 101 +
  102 + /**
  103 + * Retorna a ultima unidade que o processo foi
  104 + * Pesquisa o processo exatamente como foi digitado SEM considerar a formatação
  105 + * @access protected
  106 + * @author Jaqueline Mendes <jaqueline.mendes@cast.com.br>
  107 + * @param ProtocoloDTO $parObjProtocoloDTO
  108 + * @return mixed
  109 + */
107 protected function retornaUltimaUnidadeProcessoConcluidoConectado(AtividadeDTO $objAtividadeDTO){ 110 protected function retornaUltimaUnidadeProcessoConcluidoConectado(AtividadeDTO $objAtividadeDTO){
108 - 111 +
109 $idUnidadeReabrirProcesso = null; 112 $idUnidadeReabrirProcesso = null;
110 $objAtividadeRN = new AtividadeRN(); 113 $objAtividadeRN = new AtividadeRN();
111 $objAtividadeDTO->retDthConclusao(); 114 $objAtividadeDTO->retDthConclusao();
@@ -116,93 +119,94 @@ class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN { @@ -116,93 +119,94 @@ class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN {
116 if(!is_null($objUltimaAtvProcesso)) { 119 if(!is_null($objUltimaAtvProcesso)) {
117 $idUnidadeReabrirProcesso = $objUltimaAtvProcesso->getNumIdUnidade(); 120 $idUnidadeReabrirProcesso = $objUltimaAtvProcesso->getNumIdUnidade();
118 } 121 }
119 - 122 +
120 return $idUnidadeReabrirProcesso; 123 return $idUnidadeReabrirProcesso;
121 } 124 }
122 -  
123 - protected function gerarProcedimentoApi($params)  
124 - {  
125 - $objProcedimentoDTO = $params[0];  
126 - $objCriterioIntercorrenteDTO = $params[1];  
127 - //$arrObjDocumentoAPI = $params[2];  
128 - $especificacao = $params[2];  
129 -  
130 - $protocoloDTO = new ProtocoloDTO();  
131 - $protocoloDTO->retTodos();  
132 - $protocoloDTO->setDblIdProtocolo( $objProcedimentoDTO->getDblIdProcedimento() );  
133 - $protocoloRN = new ProtocoloRN();  
134 - $protocoloDTO = $protocoloRN->consultarRN0186( $protocoloDTO );  
135 -  
136 - // Verifica se o processo é anexado, se for, retorna a unidade do processo pai.  
137 - if($objProcedimentoDTO->getStrStaEstadoProtocolo() == ProtocoloRN::$TE_PROCEDIMENTO_ANEXADO){  
138 - $objRelProtocoloProtocoloDTO = new RelProtocoloProtocoloDTO();  
139 - $objRelProtocoloProtocoloDTO->retDblIdProtocolo1();  
140 - $objRelProtocoloProtocoloDTO->retStrProtocoloFormatadoProtocolo1();  
141 - $objRelProtocoloProtocoloDTO->setDblIdProtocolo2($objProcedimentoDTO->getDblIdProcedimento());  
142 - $objRelProtocoloProtocoloDTO->setStrStaAssociacao(RelProtocoloProtocoloRN::$TA_PROCEDIMENTO_ANEXADO);  
143 -  
144 - $objRelProtocoloProtocoloRN = new RelProtocoloProtocoloRN();  
145 - $objRelProtocoloProtocoloDTO = $objRelProtocoloProtocoloRN->consultarRN0841($objRelProtocoloProtocoloDTO);  
146 -  
147 - $idUnidadeAbrirNovoProcesso = $this->retornaUltimaUnidadeProcessoAberto($objRelProtocoloProtocoloDTO->getDblIdProtocolo1());  
148 - }else if($protocoloDTO->getStrStaNivelAcessoLocal() == ProtocoloRN::$NA_SIGILOSO ||  
149 - $protocoloDTO->getStrStaNivelAcessoGlobal == ProtocoloRN::$NA_SIGILOSO ){  
150 -  
151 - $objMdPetIntercorrenteAndamentoSigiloso = new MdPetIntercorrenteAndamentoSigilosoRN();  
152 -  
153 - $idUnidadeAbrirNovoProcesso = $objMdPetIntercorrenteAndamentoSigiloso->retornaIdUnidadeAberturaProcesso( $objProcedimentoDTO->getDblIdProcedimento() );  
154 -  
155 - }else{  
156 - $idUnidadeAbrirNovoProcesso = $this->retornaUltimaUnidadeProcessoAberto($objProcedimentoDTO->getDblIdProcedimento());  
157 - }  
158 -  
159 - // inicio da verificação da unidade ativa, caso não esteja tenta buscar uma unidade ativa para reabrir o processo.  
160 - $unidadeDTO = new UnidadeDTO();  
161 - $unidadeDTO->retTodos();  
162 - $unidadeDTO->setBolExclusaoLogica(false);  
163 - $unidadeDTO->setNumIdUnidade($idUnidadeAbrirNovoProcesso);  
164 - $unidadeRN = new UnidadeRN();  
165 - $objUnidadeDTO = $unidadeRN->consultarRN0125($unidadeDTO);  
166 -  
167 - if($objUnidadeDTO->getStrSinAtivo() == 'N'){  
168 - $idUnidadeAbrirNovoProcesso = null;  
169 - $objAtividadeRN = new MdPetIntercorrenteAtividadeRN();  
170 - $arrObjUnidadeDTO = $objAtividadeRN->listarUnidadesTramitacao($objProcedimentoDTO);  
171 -  
172 - foreach ($arrObjUnidadeDTO as $itemObjUnidadeDTO) {  
173 - if ($itemObjUnidadeDTO->getStrSinAtivo() == 'S') {  
174 - $idUnidadeAbrirNovoProcesso = $itemObjUnidadeDTO->getNumIdUnidade();  
175 - }  
176 - }  
177 - }  
178 -  
179 - if($idUnidadeAbrirNovoProcesso == null) {  
180 - $objInfraException = new InfraException();  
181 - $objInfraException->adicionarValidacao('O processo indicado não aceita peticionamento intercorrente. Utilize o Peticionamento de Processo Novo para protocolizar sua demanda.');  
182 - $objInfraException->lancarValidacoes();  
183 - return false;  
184 - }  
185 - // fim da verificação da unidade ativa  
186 -  
187 - // Salva um processo do tipo padrão selecionado  
188 - $this->simularLogin($idUnidadeAbrirNovoProcesso);  
189 -  
190 - $objEntradaGerarProcedimentoAPI = new EntradaGerarProcedimentoAPI();  
191 - $arrProcedimentoRelacionado = array($objProcedimentoDTO->getDblIdProcedimento());  
192 -  
193 - $objProcedimentoAPI = new ProcedimentoAPI();  
194 - 125 +
  126 + protected function gerarProcedimentoApi($params)
  127 + {
  128 + $objProcedimentoDTO = $params[0];
  129 + $objCriterioIntercorrenteDTO = $params[1];
  130 + //$arrObjDocumentoAPI = $params[2];
  131 + $especificacao = $params[2];
  132 +
  133 + $protocoloDTO = new ProtocoloDTO();
  134 + $protocoloDTO->retTodos();
  135 + $protocoloDTO->setDblIdProtocolo( $objProcedimentoDTO->getDblIdProcedimento() );
  136 + $protocoloRN = new ProtocoloRN();
  137 + $protocoloDTO = $protocoloRN->consultarRN0186( $protocoloDTO );
  138 +
  139 + // Verifica se o processo é anexado, se for, retorna a unidade do processo pai.
  140 + if($objProcedimentoDTO->getStrStaEstadoProtocolo() == ProtocoloRN::$TE_PROCEDIMENTO_ANEXADO){
  141 +
  142 + $objRelProtocoloProtocoloDTO = new RelProtocoloProtocoloDTO();
  143 + $objRelProtocoloProtocoloDTO->retDblIdProtocolo1();
  144 + $objRelProtocoloProtocoloDTO->retStrProtocoloFormatadoProtocolo1();
  145 + $objRelProtocoloProtocoloDTO->setDblIdProtocolo2($objProcedimentoDTO->getDblIdProcedimento());
  146 + $objRelProtocoloProtocoloDTO->setStrStaAssociacao(RelProtocoloProtocoloRN::$TA_PROCEDIMENTO_ANEXADO);
  147 +
  148 + $objRelProtocoloProtocoloRN = new RelProtocoloProtocoloRN();
  149 + $objRelProtocoloProtocoloDTO = $objRelProtocoloProtocoloRN->consultarRN0841($objRelProtocoloProtocoloDTO);
  150 +
  151 + $idUnidadeAbrirNovoProcesso = $this->retornaUltimaUnidadeProcessoAberto($objRelProtocoloProtocoloDTO->getDblIdProtocolo1());
  152 + }else if($protocoloDTO->getStrStaNivelAcessoLocal() == ProtocoloRN::$NA_SIGILOSO ||
  153 + $protocoloDTO->getStrStaNivelAcessoGlobal() == ProtocoloRN::$NA_SIGILOSO ){
  154 +
  155 + $objMdPetIntercorrenteAndamentoSigiloso = new MdPetIntercorrenteAndamentoSigilosoRN();
  156 +
  157 + $idUnidadeAbrirNovoProcesso = $objMdPetIntercorrenteAndamentoSigiloso->retornaIdUnidadeAberturaProcesso( $objProcedimentoDTO->getDblIdProcedimento() );
  158 +
  159 + }else{
  160 + $idUnidadeAbrirNovoProcesso = $this->retornaUltimaUnidadeProcessoAberto($objProcedimentoDTO->getDblIdProcedimento());
  161 + }
  162 +
  163 + // inicio da verificação da unidade ativa, caso não esteja tenta buscar uma unidade ativa para reabrir o processo.
  164 + $unidadeDTO = new UnidadeDTO();
  165 + $unidadeDTO->retTodos();
  166 + $unidadeDTO->setBolExclusaoLogica(false);
  167 + $unidadeDTO->setNumIdUnidade($idUnidadeAbrirNovoProcesso);
  168 + $unidadeRN = new UnidadeRN();
  169 + $objUnidadeDTO = $unidadeRN->consultarRN0125($unidadeDTO);
  170 +
  171 + if($objUnidadeDTO->getStrSinAtivo() == 'N'){
  172 + $idUnidadeAbrirNovoProcesso = null;
  173 + $objAtividadeRN = new MdPetIntercorrenteAtividadeRN();
  174 + $arrObjUnidadeDTO = $objAtividadeRN->listarUnidadesTramitacao($objProcedimentoDTO);
  175 +
  176 + foreach ($arrObjUnidadeDTO as $itemObjUnidadeDTO) {
  177 + if ($itemObjUnidadeDTO->getStrSinAtivo() == 'S') {
  178 + $idUnidadeAbrirNovoProcesso = $itemObjUnidadeDTO->getNumIdUnidade();
  179 + }
  180 + }
  181 + }
  182 +
  183 + if($idUnidadeAbrirNovoProcesso == null) {
  184 + $objInfraException = new InfraException();
  185 + $objInfraException->adicionarValidacao('O processo indicado não aceita peticionamento intercorrente. Utilize o Peticionamento de Processo Novo para protocolizar sua demanda.');
  186 + $objInfraException->lancarValidacoes();
  187 + return false;
  188 + }
  189 + // fim da verificação da unidade ativa
  190 +
  191 + // Salva um processo do tipo padrão selecionado
  192 + $this->simularLogin($idUnidadeAbrirNovoProcesso);
  193 +
  194 + $objEntradaGerarProcedimentoAPI = new EntradaGerarProcedimentoAPI();
  195 + $arrProcedimentoRelacionado = array($objProcedimentoDTO->getDblIdProcedimento());
  196 +
  197 + $objProcedimentoAPI = new ProcedimentoAPI();
  198 +
195 //Tipo Procedimento 199 //Tipo Procedimento
196 $objTipoProcedimentoDTO = new TipoProcedimentoDTO(); 200 $objTipoProcedimentoDTO = new TipoProcedimentoDTO();
197 $objTipoProcedimentoDTO->setBolExclusaoLogica(false); 201 $objTipoProcedimentoDTO->setBolExclusaoLogica(false);
198 $objTipoProcedimentoDTO->setDistinct(true); 202 $objTipoProcedimentoDTO->setDistinct(true);
199 $objTipoProcedimentoDTO->retStrSinAtivo(); 203 $objTipoProcedimentoDTO->retStrSinAtivo();
200 $objTipoProcedimentoDTO->setNumIdTipoProcedimento($objProcedimentoDTO->getNumIdTipoProcedimento()); 204 $objTipoProcedimentoDTO->setNumIdTipoProcedimento($objProcedimentoDTO->getNumIdTipoProcedimento());
201 - 205 +
202 $objTipoProcedimentoRN = new TipoProcedimentoRN(); 206 $objTipoProcedimentoRN = new TipoProcedimentoRN();
203 $arrObjTipoProcedimentoDTO = $objTipoProcedimentoRN->listarRN0244($objTipoProcedimentoDTO); 207 $arrObjTipoProcedimentoDTO = $objTipoProcedimentoRN->listarRN0244($objTipoProcedimentoDTO);
204 -  
205 - if (count($arrObjTipoProcedimentoDTO)==1) { 208 +
  209 + if (count($arrObjTipoProcedimentoDTO)==1 && $objCriterioIntercorrenteDTO->getStrSinCriterioPadrao()!='S') {
206 $objTipoProcedimentoDTO = $arrObjTipoProcedimentoDTO[0]; 210 $objTipoProcedimentoDTO = $arrObjTipoProcedimentoDTO[0];
207 if ($objTipoProcedimentoDTO->getStrSinAtivo()=='S'){ 211 if ($objTipoProcedimentoDTO->getStrSinAtivo()=='S'){
208 $objProcedimentoAPI->setIdTipoProcedimento($objProcedimentoDTO->getNumIdTipoProcedimento()); 212 $objProcedimentoAPI->setIdTipoProcedimento($objProcedimentoDTO->getNumIdTipoProcedimento());
@@ -210,133 +214,133 @@ class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN { @@ -210,133 +214,133 @@ class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN {
210 $objProcedimentoAPI->setIdTipoProcedimento($objCriterioIntercorrenteDTO->getNumIdTipoProcedimento()); 214 $objProcedimentoAPI->setIdTipoProcedimento($objCriterioIntercorrenteDTO->getNumIdTipoProcedimento());
211 } 215 }
212 }else{ 216 }else{
213 - $objProcedimentoAPI->setIdTipoProcedimento($objCriterioIntercorrenteDTO->getNumIdTipoProcedimento()); 217 + $objProcedimentoAPI->setIdTipoProcedimento($objCriterioIntercorrenteDTO->getNumIdTipoProcedimento());
214 } 218 }
215 // Tipo Procedimento - fim 219 // Tipo Procedimento - fim
216 -  
217 - if ($especificacao!=null){  
218 - $objProcedimentoAPI->setEspecificacao( $especificacao );  
219 - }  
220 -  
221 -  
222 - $objEntradaGerarProcedimentoAPI->setProcedimento($objProcedimentoAPI);  
223 - $objEntradaGerarProcedimentoAPI->setProcedimentosRelacionados($arrProcedimentoRelacionado);  
224 - //$objEntradaGerarProcedimentoAPI->setDocumentos($arrObjDocumentoAPI);  
225 - $objSEIRN = new SeiRN();  
226 - return $objSEIRN->gerarProcedimento($objEntradaGerarProcedimentoAPI);  
227 - }  
228 -  
229 - /**  
230 - * Função responsável por Retornar a última unidade em que o processo ESTÀ aberto agora  
231 - * @param $idProcedimento  
232 - * @return string $idUnidade  
233 - */  
234 - protected function retornaUltimaUnidadeProcessoAbertoConectado($idProcedimento){  
235 -  
236 - $objSEIRN = new SeiRN();  
237 - $objProcedimentoDTO = new ProcedimentoDTO();  
238 - $objProcedimentoDTO->retTodos(true);  
239 - $objProcedimentoDTO->setDblIdProcedimento($idProcedimento);  
240 - $objProcedimentoRN = new ProcedimentoRN();  
241 - $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO);  
242 -  
243 - $objEntradaConsultaProcApi = new EntradaConsultarProcedimentoAPI();  
244 - $objEntradaConsultaProcApi->setIdProcedimento($idProcedimento);  
245 - $objEntradaConsultaProcApi->setSinRetornarUnidadesProcedimentoAberto('S');  
246 - $objEntradaConsultaProcApi->setSinRetornarUltimoAndamento('S');  
247 - $objEntradaConsultaProcApi->setSinRetornarAndamentoConclusao('N');  
248 -  
249 - /**  
250 - * @var $saidaConsultarProcedimentoAPI SaidaConsultarProcedimentoAPI  
251 - */  
252 - if($objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo() == ProtocoloRN::$NA_SIGILOSO ||  
253 - $objProcedimentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_SIGILOSO){  
254 - $md = new MdPetIntercorrenteAndamentoSigilosoRN();  
255 - $saidaConsultarProcedimentoAPI = $md->consultarProcedimento($objEntradaConsultaProcApi);  
256 - } else {  
257 - $saidaConsultarProcedimentoAPI = $objSEIRN->consultarProcedimento($objEntradaConsultaProcApi);  
258 - }  
259 -  
260 - //informaçoes da tarefa de conclusao de processo na unidade  
261 - $tarefaRN = new TarefaRN();  
262 - $tarefaDTO = new TarefaDTO();  
263 - $tarefaDTO->retNumIdTarefa( );  
264 - $tarefaDTO->retStrNome( );  
265 - $tarefaDTO->setNumIdTarefa( TarefaRN::$TI_CONCLUSAO_PROCESSO_UNIDADE );  
266 - $arrTarefaDTO = $tarefaRN->listar( $tarefaDTO );  
267 - $tarefaDTO = $arrTarefaDTO[0];  
268 -  
269 - //lista de unidades nas quais o processo ainda encontra-se aberto  
270 - $arrUnidadesAbertas = $saidaConsultarProcedimentoAPI->getUnidadesProcedimentoAberto();  
271 -  
272 - //o processo encontra-se aberto em pelo menos uma unidade  
273 - if( is_array( $arrUnidadesAbertas ) && count( $arrUnidadesAbertas ) > 0 ){  
274 -  
275 - $objEntradaAndamentos = new EntradaListarAndamentosAPI();  
276 - $objEntradaAndamentos->setIdProcedimento( $idProcedimento );  
277 - $objEntradaAndamentos->setTarefas( array( TarefaRN::$TI_GERACAO_PROCEDIMENTO , TarefaRN::$TI_REABERTURA_PROCESSO_UNIDADE, TarefaRN::$TI_PROCESSO_REMETIDO_UNIDADE ) );  
278 - $arrAndamentos = $objSEIRN->listarAndamentos( $objEntradaAndamentos );  
279 -  
280 - $arrIdUnidade = array();  
281 -  
282 - foreach( $arrUnidadesAbertas as $unidadeAberta ){  
283 - $arrIdUnidade[] = $unidadeAberta->getUnidade()->getIdUnidade();  
284 - }  
285 -  
286 - foreach( $arrAndamentos as $andamento ){  
287 -  
288 - $idUnidadeAndamento = $andamento->getUnidade()->getIdUnidade();  
289 -  
290 - if( in_array( $idUnidadeAndamento, $arrIdUnidade ) ){  
291 - return $idUnidadeAndamento;  
292 - }  
293 -  
294 - }  
295 -  
296 - }  
297 -  
298 - //o processo nao esta aberto em nenhuma unidade, nao ha id para ser retornado  
299 - else {  
300 - return null;  
301 - }  
302 -  
303 - }  
304 -  
305 - /**  
306 - * Função responsável por Retornar todas as unidades em que o processo está aberto  
307 - * buscado em: ProcedimentoINT.php - montarAcoesArvore() - linhas 766 a 870  
308 - * @param $idProcedimento  
309 - * @return AtividadeDTO $arrObjAtividadeDTO  
310 - * @since 07/03/2017  
311 - * @author CAST - castgroup.com.br  
312 - */  
313 - protected function retornaUnidadesProcessoAbertoConectado($idProcedimento){  
314 - 220 +
  221 + if ($especificacao!=null){
  222 + $objProcedimentoAPI->setEspecificacao( $especificacao );
  223 + }
  224 +
  225 +
  226 + $objEntradaGerarProcedimentoAPI->setProcedimento($objProcedimentoAPI);
  227 + $objEntradaGerarProcedimentoAPI->setProcedimentosRelacionados($arrProcedimentoRelacionado);
  228 + //$objEntradaGerarProcedimentoAPI->setDocumentos($arrObjDocumentoAPI);
  229 + $objSEIRN = new SeiRN();
  230 + return $objSEIRN->gerarProcedimento($objEntradaGerarProcedimentoAPI);
  231 + }
  232 +
  233 + /**
  234 + * Função responsável por Retornar a última unidade em que o processo ESTÀ aberto agora
  235 + * @param $idProcedimento
  236 + * @return string $idUnidade
  237 + */
  238 + protected function retornaUltimaUnidadeProcessoAbertoConectado($idProcedimento){
  239 +
  240 + $objSEIRN = new SeiRN();
  241 + $objProcedimentoDTO = new ProcedimentoDTO();
  242 + $objProcedimentoDTO->retTodos(true);
  243 + $objProcedimentoDTO->setDblIdProcedimento($idProcedimento);
  244 + $objProcedimentoRN = new ProcedimentoRN();
  245 + $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO);
  246 +
  247 + $objEntradaConsultaProcApi = new EntradaConsultarProcedimentoAPI();
  248 + $objEntradaConsultaProcApi->setIdProcedimento($idProcedimento);
  249 + $objEntradaConsultaProcApi->setSinRetornarUnidadesProcedimentoAberto('S');
  250 + $objEntradaConsultaProcApi->setSinRetornarUltimoAndamento('S');
  251 + $objEntradaConsultaProcApi->setSinRetornarAndamentoConclusao('N');
  252 +
  253 + /**
  254 + * @var $saidaConsultarProcedimentoAPI SaidaConsultarProcedimentoAPI
  255 + */
  256 + if($objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo() == ProtocoloRN::$NA_SIGILOSO ||
  257 + $objProcedimentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_SIGILOSO){
  258 + $md = new MdPetIntercorrenteAndamentoSigilosoRN();
  259 + $saidaConsultarProcedimentoAPI = $md->consultarProcedimento($objEntradaConsultaProcApi);
  260 + } else {
  261 + $saidaConsultarProcedimentoAPI = $objSEIRN->consultarProcedimento($objEntradaConsultaProcApi);
  262 + }
  263 +
  264 + //informaçoes da tarefa de conclusao de processo na unidade
  265 + $tarefaRN = new TarefaRN();
  266 + $tarefaDTO = new TarefaDTO();
  267 + $tarefaDTO->retNumIdTarefa( );
  268 + $tarefaDTO->retStrNome( );
  269 + $tarefaDTO->setNumIdTarefa( TarefaRN::$TI_CONCLUSAO_PROCESSO_UNIDADE );
  270 + $arrTarefaDTO = $tarefaRN->listar( $tarefaDTO );
  271 + $tarefaDTO = $arrTarefaDTO[0];
  272 +
  273 + //lista de unidades nas quais o processo ainda encontra-se aberto
  274 + $arrUnidadesAbertas = $saidaConsultarProcedimentoAPI->getUnidadesProcedimentoAberto();
  275 +
  276 + //o processo encontra-se aberto em pelo menos uma unidade
  277 + if( is_array( $arrUnidadesAbertas ) && count( $arrUnidadesAbertas ) > 0 ){
  278 +
  279 + $objEntradaAndamentos = new EntradaListarAndamentosAPI();
  280 + $objEntradaAndamentos->setIdProcedimento( $idProcedimento );
  281 + $objEntradaAndamentos->setTarefas( array( TarefaRN::$TI_GERACAO_PROCEDIMENTO , TarefaRN::$TI_REABERTURA_PROCESSO_UNIDADE, TarefaRN::$TI_PROCESSO_REMETIDO_UNIDADE ) );
  282 + $arrAndamentos = $objSEIRN->listarAndamentos( $objEntradaAndamentos );
  283 +
  284 + $arrIdUnidade = array();
  285 +
  286 + foreach( $arrUnidadesAbertas as $unidadeAberta ){
  287 + $arrIdUnidade[] = $unidadeAberta->getUnidade()->getIdUnidade();
  288 + }
  289 +
  290 + foreach( $arrAndamentos as $andamento ){
  291 +
  292 + $idUnidadeAndamento = $andamento->getUnidade()->getIdUnidade();
  293 +
  294 + if( in_array( $idUnidadeAndamento, $arrIdUnidade ) ){
  295 + return $idUnidadeAndamento;
  296 + }
  297 +
  298 + }
  299 +
  300 + }
  301 +
  302 + //o processo nao esta aberto em nenhuma unidade, nao ha id para ser retornado
  303 + else {
  304 + return null;
  305 + }
  306 +
  307 + }
  308 +
  309 + /**
  310 + * Função responsável por Retornar todas as unidades em que o processo está aberto
  311 + * buscado em: ProcedimentoINT.php - montarAcoesArvore() - linhas 766 a 870
  312 + * @param $idProcedimento
  313 + * @return AtividadeDTO $arrObjAtividadeDTO
  314 + * @since 07/03/2017
  315 + * @author CAST - castgroup.com.br
  316 + */
  317 + protected function retornaUnidadesProcessoAbertoConectado($idProcedimento){
  318 +
315 $arrAtividade = array(); 319 $arrAtividade = array();
316 - 320 +
317 $objProcedimentoDTO = new ProcedimentoDTO(); 321 $objProcedimentoDTO = new ProcedimentoDTO();
318 $objProcedimentoDTO->setDblIdProcedimento($idProcedimento); 322 $objProcedimentoDTO->setDblIdProcedimento($idProcedimento);
319 $objProcedimentoDTO->retStrStaNivelAcessoGlobalProtocolo(); 323 $objProcedimentoDTO->retStrStaNivelAcessoGlobalProtocolo();
320 $objProcedimentoDTO->retStrStaEstadoProtocolo(); 324 $objProcedimentoDTO->retStrStaEstadoProtocolo();
321 - 325 +
322 $objProcedimentoRN = new ProcedimentoRN(); 326 $objProcedimentoRN = new ProcedimentoRN();
323 $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO); 327 $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO);
324 $strStaNivelAcessoGlobal = $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo(); 328 $strStaNivelAcessoGlobal = $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo();
325 - 329 +
326 $bolFlagSobrestado = false; 330 $bolFlagSobrestado = false;
327 if ($objProcedimentoDTO->getStrStaEstadoProtocolo()==ProtocoloRN::$TE_PROCEDIMENTO_SOBRESTADO){ 331 if ($objProcedimentoDTO->getStrStaEstadoProtocolo()==ProtocoloRN::$TE_PROCEDIMENTO_SOBRESTADO){
328 $bolFlagSobrestado = true; 332 $bolFlagSobrestado = true;
329 } 333 }
330 - 334 +
331 $objAtividadeRN = new AtividadeRN(); 335 $objAtividadeRN = new AtividadeRN();
332 $objAtividadeDTO = new AtividadeDTO(); 336 $objAtividadeDTO = new AtividadeDTO();
333 $objAtividadeDTO->setDistinct(true); 337 $objAtividadeDTO->setDistinct(true);
334 $objAtividadeDTO->retNumIdUnidade(); 338 $objAtividadeDTO->retNumIdUnidade();
335 $objAtividadeDTO->retStrSiglaUnidade(); 339 $objAtividadeDTO->retStrSiglaUnidade();
336 $objAtividadeDTO->retStrDescricaoUnidade(); 340 $objAtividadeDTO->retStrDescricaoUnidade();
337 - 341 +
338 $objAtividadeDTO->setOrdStrSiglaUnidade(InfraDTO::$TIPO_ORDENACAO_ASC); 342 $objAtividadeDTO->setOrdStrSiglaUnidade(InfraDTO::$TIPO_ORDENACAO_ASC);
339 - 343 +
340 if ($strStaNivelAcessoGlobal==ProtocoloRN::$NA_SIGILOSO){ 344 if ($strStaNivelAcessoGlobal==ProtocoloRN::$NA_SIGILOSO){
341 $objAtividadeDTO->retNumIdUsuario(); 345 $objAtividadeDTO->retNumIdUsuario();
342 $objAtividadeDTO->retStrSiglaUsuario(); 346 $objAtividadeDTO->retStrSiglaUsuario();
@@ -345,14 +349,14 @@ class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN { @@ -345,14 +349,14 @@ class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN {
345 $objAtividadeDTO->retNumIdUsuarioAtribuicao(); 349 $objAtividadeDTO->retNumIdUsuarioAtribuicao();
346 $objAtividadeDTO->retStrSiglaUsuarioAtribuicao(); 350 $objAtividadeDTO->retStrSiglaUsuarioAtribuicao();
347 $objAtividadeDTO->retStrNomeUsuarioAtribuicao(); 351 $objAtividadeDTO->retStrNomeUsuarioAtribuicao();
348 - 352 +
349 //ordena descendente pois no envio de processo que já existe na unidade e está atribuído ficará com mais de um andamento em aberto 353 //ordena descendente pois no envio de processo que já existe na unidade e está atribuído ficará com mais de um andamento em aberto
350 //desta forma os andamentos com usuário nulo (envios do processo) serão listados depois 354 //desta forma os andamentos com usuário nulo (envios do processo) serão listados depois
351 $objAtividadeDTO->setOrdStrSiglaUsuarioAtribuicao(InfraDTO::$TIPO_ORDENACAO_DESC); 355 $objAtividadeDTO->setOrdStrSiglaUsuarioAtribuicao(InfraDTO::$TIPO_ORDENACAO_DESC);
352 } 356 }
353 $objAtividadeDTO->setDblIdProtocolo($idProcedimento); 357 $objAtividadeDTO->setDblIdProtocolo($idProcedimento);
354 $objAtividadeDTO->setDthConclusao(null); 358 $objAtividadeDTO->setDthConclusao(null);
355 - 359 +
356 //sigiloso sem credencial nao considera o usuario atual 360 //sigiloso sem credencial nao considera o usuario atual
357 if ($strStaNivelAcessoGlobal==ProtocoloRN::$NA_SIGILOSO){ 361 if ($strStaNivelAcessoGlobal==ProtocoloRN::$NA_SIGILOSO){
358 $objAcessoDTO = new AcessoDTO(); 362 $objAcessoDTO = new AcessoDTO();
@@ -360,69 +364,81 @@ class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN { @@ -360,69 +364,81 @@ class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN {
360 $objAcessoDTO->retNumIdUsuario(); 364 $objAcessoDTO->retNumIdUsuario();
361 $objAcessoDTO->setDblIdProtocolo($dblIdProcedimento); 365 $objAcessoDTO->setDblIdProtocolo($dblIdProcedimento);
362 $objAcessoDTO->setStrStaTipo(AcessoRN::$TA_CREDENCIAL_PROCESSO); 366 $objAcessoDTO->setStrStaTipo(AcessoRN::$TA_CREDENCIAL_PROCESSO);
363 - 367 +
364 $objAcessoRN = new AcessoRN(); 368 $objAcessoRN = new AcessoRN();
365 $arrObjAcessoDTO = $objAcessoRN->listar($objAcessoDTO); 369 $arrObjAcessoDTO = $objAcessoRN->listar($objAcessoDTO);
366 - 370 +
367 $objAtividadeDTO->setNumIdUsuario(InfraArray::converterArrInfraDTO($arrObjAcessoDTO,'IdUsuario'),InfraDTO::$OPER_IN); 371 $objAtividadeDTO->setNumIdUsuario(InfraArray::converterArrInfraDTO($arrObjAcessoDTO,'IdUsuario'),InfraDTO::$OPER_IN);
368 } 372 }
369 - 373 +
370 $arrObjAtividadeDTO = $objAtividadeRN->listarRN0036($objAtividadeDTO); 374 $arrObjAtividadeDTO = $objAtividadeRN->listarRN0036($objAtividadeDTO);
371 - 375 +
372 if ($strStaNivelAcessoGlobal!=ProtocoloRN::$NA_SIGILOSO){ 376 if ($strStaNivelAcessoGlobal!=ProtocoloRN::$NA_SIGILOSO){
373 - //filtra andamentos com indicação de usuário atribuído 377 + //filtra andamentos com indicação de usuário atribuído
374 $arrObjAtividadeDTO = InfraArray::distinctArrInfraDTO($arrObjAtividadeDTO,'SiglaUnidade'); 378 $arrObjAtividadeDTO = InfraArray::distinctArrInfraDTO($arrObjAtividadeDTO,'SiglaUnidade');
375 } 379 }
376 return $arrObjAtividadeDTO; 380 return $arrObjAtividadeDTO;
377 - }  
378 -  
379 - protected function incluirDocumentosApi($objProcedimentoDTO, $arrObjDocumentoAPI)  
380 - {  
381 - $arrObjReciboDocPet = array();  
382 - $objSEIRN = new SeiRN();  
383 - $idUnidadeProcesso = $this->retornaUltimaUnidadeProcessoAberto($objProcedimentoDTO->getDblIdProcedimento());  
384 -  
385 -  
386 - // inicio da verificação da unidade ativa, caso não esteja tenta buscar uma unidade ativa para reabrir o processo.  
387 - $unidadeDTO = new UnidadeDTO();  
388 - $unidadeDTO->retTodos();  
389 - $unidadeDTO->setBolExclusaoLogica(false);  
390 - $unidadeDTO->setNumIdUnidade($idUnidadeProcesso);  
391 - $unidadeRN = new UnidadeRN();  
392 - $objUnidadeDTO = $unidadeRN->consultarRN0125($unidadeDTO);  
393 -  
394 - if($objUnidadeDTO->getStrSinAtivo() == 'N'){  
395 - $idUnidadeProcesso = null;  
396 - $objAtividadeRN = new AtividadeRN();  
397 - $arrObjAtividadeDTO = $objAtividadeRN->listarUnidadesTramitacao($objProcedimentoDTO);  
398 -  
399 - foreach ($arrObjAtividadeDTO as $itemObjAtividadeDTO) {  
400 - $unidadeDTO = new UnidadeDTO();  
401 - $unidadeDTO->retTodos();  
402 - $unidadeDTO->setBolExclusaoLogica(false);  
403 - $unidadeDTO->setNumIdUnidade($itemObjAtividadeDTO->getNumIdUnidade());  
404 - $unidadeRN = new UnidadeRN();  
405 - $objUnidadeDTO = $unidadeRN->consultarRN0125($unidadeDTO);  
406 -  
407 -  
408 - if ($objUnidadeDTO->getStrSinAtivo() == 'S') {  
409 - $idUnidadeProcesso = $objUnidadeDTO->getNumIdUnidade();  
410 - }  
411 - }  
412 - }  
413 -  
414 -  
415 -  
416 - $this->simularLogin($idUnidadeProcesso);  
417 -  
418 - foreach ($arrObjDocumentoAPI as $documentoAPI) {  
419 - /* @var $documentoAPI DocumentoAPI */  
420 - $saidaIncluirDocumentoAPI = $objSEIRN->incluirDocumento($documentoAPI);  
421 - 381 + }
  382 +
  383 + protected function incluirDocumentosApi($objProcedimentoDTO, $arrObjDocumentoAPI)
  384 + {
  385 + $arrObjReciboDocPet = array();
  386 + $objSEIRN = new SeiRN();
  387 + $idUnidadeProcesso = $this->retornaUltimaUnidadeProcessoAberto($objProcedimentoDTO->getDblIdProcedimento());
  388 +
  389 + // inicio da verificação da unidade ativa, caso não esteja tenta buscar uma unidade ativa para reabrir o processo.
  390 + $unidadeDTO = new UnidadeDTO();
  391 + $unidadeDTO->retTodos();
  392 + $unidadeDTO->setBolExclusaoLogica(false);
  393 + $unidadeDTO->retStrSinAtivo();
  394 + $unidadeDTO->setNumIdUnidade($idUnidadeProcesso);
  395 + $unidadeRN = new UnidadeRN();
  396 + $objUnidadeDTO = $unidadeRN->consultarRN0125($unidadeDTO);
  397 +
  398 + //resolver um problema de " Call to a member function getStrSinAtivo() on null"
  399 + if( $objUnidadeDTO == null || !$objUnidadeDTO->isSetStrSinAtivo() || $objUnidadeDTO->getStrSinAtivo() == 'N'){
  400 +
  401 + $idUnidadeProcesso = null;
  402 + $objAtividadeRN = new AtividadeRN();
  403 + $arrObjAtividadeDTO = $objAtividadeRN->listarUnidadesTramitacao($objProcedimentoDTO);
  404 +
  405 + foreach ($arrObjAtividadeDTO as $itemObjAtividadeDTO) {
  406 +
  407 + $unidadeDTO = new UnidadeDTO();
  408 + $unidadeDTO->retTodos();
  409 + $unidadeDTO->setBolExclusaoLogica(false);
  410 + $unidadeDTO->setNumIdUnidade($itemObjAtividadeDTO->getNumIdUnidade());
  411 + $unidadeRN = new UnidadeRN();
  412 + $objUnidadeDTO = $unidadeRN->consultarRN0125($unidadeDTO);
  413 +
  414 +
  415 + if ($objUnidadeDTO->getStrSinAtivo() == 'S') {
  416 + $idUnidadeProcesso = $objUnidadeDTO->getNumIdUnidade();
  417 + }
  418 +
  419 + }
  420 + }
  421 +
  422 +
  423 + if( $idUnidadeProcesso == null ){
  424 +
  425 + //trata-se de processo sigiloso global
  426 + $objMdPetIntercorrenteAndamentoSigilosoRN = new MdPetIntercorrenteAndamentoSigilosoRN();
  427 + $idUnidadeProcesso = $objMdPetIntercorrenteAndamentoSigilosoRN->retornaIdUnidadeAberturaProcesso( $_POST['id_procedimento'] );
  428 +
  429 + }
  430 +
  431 + $this->simularLogin( $idUnidadeProcesso );
  432 +
  433 + foreach ($arrObjDocumentoAPI as $documentoAPI) {
  434 +
  435 + /* @var $documentoAPI DocumentoAPI */
  436 + $saidaIncluirDocumentoAPI = $objSEIRN->incluirDocumento($documentoAPI);
  437 +
422 // Remententes 438 // Remententes
423 $idsParticipantes = array(); 439 $idsParticipantes = array();
424 $idsInteressados = array(); 440 $idsInteressados = array();
425 - 441 +
426 $objParticipante = new ParticipanteDTO(); 442 $objParticipante = new ParticipanteDTO();
427 $objParticipante->setDblIdProtocolo($saidaIncluirDocumentoAPI->getIdDocumento()); 443 $objParticipante->setDblIdProtocolo($saidaIncluirDocumentoAPI->getIdDocumento());
428 $objParticipante->setNumIdContato($this->getContatoDTOUsuarioLogado()->getNumIdContato()); 444 $objParticipante->setNumIdContato($this->getContatoDTOUsuarioLogado()->getNumIdContato());
@@ -430,9 +446,10 @@ class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN { @@ -430,9 +446,10 @@ class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN {
430 $objParticipante->setStrStaParticipacao(ParticipanteRN::$TP_REMETENTE); 446 $objParticipante->setStrStaParticipacao(ParticipanteRN::$TP_REMETENTE);
431 $objParticipante->setNumSequencia(0); 447 $objParticipante->setNumSequencia(0);
432 $idsParticipantes[] = $objParticipante; 448 $idsParticipantes[] = $objParticipante;
433 - 449 +
434 //Interessados 450 //Interessados
435 // Processo Principal - Interessados 451 // Processo Principal - Interessados
  452 + /*
436 $objParticipanteProcPrincDTO = new ParticipanteDTO(); 453 $objParticipanteProcPrincDTO = new ParticipanteDTO();
437 $objParticipanteProcPrincDTO->retNumIdParticipante(); 454 $objParticipanteProcPrincDTO->retNumIdParticipante();
438 $objParticipanteProcPrincDTO->retNumIdContato(); 455 $objParticipanteProcPrincDTO->retNumIdContato();
@@ -440,648 +457,687 @@ class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN { @@ -440,648 +457,687 @@ class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN {
440 $objParticipanteProcPrincDTO->retStrStaParticipacao(); 457 $objParticipanteProcPrincDTO->retStrStaParticipacao();
441 $objParticipanteProcPrincDTO->retStrNomeContato(); 458 $objParticipanteProcPrincDTO->retStrNomeContato();
442 $objParticipanteProcPrincDTO->retNumSequencia(); 459 $objParticipanteProcPrincDTO->retNumSequencia();
443 - $objParticipanteProcPrincDTO->setDblIdProtocolo($objProcedimentoDTO->getDblIdProcedimento());  
444 - $objParticipanteProcPrincDTO->setStrStaParticipacao(ParticipanteRN::$TP_INTERESSADO);  
445 - 460 + $objParticipanteProcPrincDTO->setDblIdProtocolo( $objProcedimentoDTO->getDblIdProcedimento() );
  461 + $objParticipanteProcPrincDTO->setStrStaParticipacao( ParticipanteRN::$TP_INTERESSADO );
  462 + $objParticipanteProcPrincDTO->setNumIdUnidade( $idUnidadeProcesso );
  463 +
446 $objParticipanteProcPrincRN = new ParticipanteRN(); 464 $objParticipanteProcPrincRN = new ParticipanteRN();
447 - $arrobjParticipanteProcPrinc = $objParticipanteProcPrincRN->listarRN0189($objParticipanteProcPrincDTO); 465 + $arrobjParticipanteProcPrinc = $objParticipanteProcPrincRN->listarRN0189($objParticipanteProcPrincDTO);
448 // Processo Principal - Interessados - FIM 466 // Processo Principal - Interessados - FIM
449 - 467 +
450 // Processo - Interessados 468 // Processo - Interessados
451 $i=0; 469 $i=0;
452 foreach($arrobjParticipanteProcPrinc as $objParticipanteProcPrinc){ 470 foreach($arrobjParticipanteProcPrinc as $objParticipanteProcPrinc){
453 $objParticipante = new ParticipanteDTO(); 471 $objParticipante = new ParticipanteDTO();
454 $objParticipante->setDblIdProtocolo($saidaIncluirDocumentoAPI->getIdDocumento()); 472 $objParticipante->setDblIdProtocolo($saidaIncluirDocumentoAPI->getIdDocumento());
455 $objParticipante->setNumIdContato($objParticipanteProcPrinc->getNumIdContato()); 473 $objParticipante->setNumIdContato($objParticipanteProcPrinc->getNumIdContato());
456 - $objParticipante->setNumIdUnidade($objParticipanteProcPrinc->getNumIdUnidade()); 474 + //$objParticipante->setNumIdUnidade($objParticipanteProcPrinc->getNumIdUnidade());
  475 + $objParticipante->setNumIdUnidade( $idUnidadeProcesso );
457 $objParticipante->setStrStaParticipacao(ParticipanteRN::$TP_INTERESSADO); 476 $objParticipante->setStrStaParticipacao(ParticipanteRN::$TP_INTERESSADO);
458 $objParticipante->setNumSequencia($i); 477 $objParticipante->setNumSequencia($i);
459 $idsParticipantes[] = $objParticipante; 478 $idsParticipantes[] = $objParticipante;
460 $idsInteressados[] = $objParticipante; 479 $idsInteressados[] = $objParticipante;
461 $i++; 480 $i++;
462 } 481 }
463 - 482 + */
  483 +
464 $objMdPetParticipanteRN = new MdPetParticipanteRN(); 484 $objMdPetParticipanteRN = new MdPetParticipanteRN();
465 $arrInteressado = array(); 485 $arrInteressado = array();
466 $arrInteressado[0] = $saidaIncluirDocumentoAPI->getIdDocumento(); 486 $arrInteressado[0] = $saidaIncluirDocumentoAPI->getIdDocumento();
467 $arrInteressado[1] = $idsParticipantes; 487 $arrInteressado[1] = $idsParticipantes;
468 //$arrInteressado[2] = $idsRemententes; 488 //$arrInteressado[2] = $idsRemententes;
469 -  
470 - $objMdPetParticipanteRN->setInteressadosRemetentesProcedimentoDocumento( $arrInteressado );  
471 - 489 +
  490 + $objMdPetParticipanteRN->setInteressadosRemetentesProcedimentoDocumento( $arrInteressado );
  491 +
472 // Processo - Interessados - FIM 492 // Processo - Interessados - FIM
473 - 493 +
474 $formato = MdPetIntercorrenteINT::retornaTipoFormatoDocumento($saidaIncluirDocumentoAPI); 494 $formato = MdPetIntercorrenteINT::retornaTipoFormatoDocumento($saidaIncluirDocumentoAPI);
475 $objReciboDocAnexPetDTO = MdPetIntercorrenteINT::retornaObjReciboDocPreenchido(array($saidaIncluirDocumentoAPI->getIdDocumento(), $formato)); 495 $objReciboDocAnexPetDTO = MdPetIntercorrenteINT::retornaObjReciboDocPreenchido(array($saidaIncluirDocumentoAPI->getIdDocumento(), $formato));
476 array_push($arrObjReciboDocPet, $objReciboDocAnexPetDTO); 496 array_push($arrObjReciboDocPet, $objReciboDocAnexPetDTO);
477 $this->assinarETravarDocumento($saidaIncluirDocumentoAPI); 497 $this->assinarETravarDocumento($saidaIncluirDocumentoAPI);
478 - 498 +
479 //Participantes - Atualizando 499 //Participantes - Atualizando
480 $this->setParticipante($idsInteressados); 500 $this->setParticipante($idsInteressados);
481 -  
482 - }  
483 - return $arrObjReciboDocPet;  
484 - }  
485 -  
486 - private function abrirDocumentoParaAssinatura($dblIdDocumento)  
487 - {  
488 - $documentoRN = new DocumentoRN();  
489 - $documentoBD = new DocumentoBD( $this->getObjInfraIBanco() );  
490 -  
491 - $documentoDTO = new DocumentoDTO();  
492 - //$documentoDTO->retDblIdDocumento();  
493 - //$documentoDTO->retNumIdTipoConferencia();  
494 - $documentoDTO->retTodos(true);  
495 - $documentoDTO->setDblIdDocumento( $dblIdDocumento );  
496 - $documentoDTO = $documentoRN->consultarRN0005( $documentoDTO );  
497 -  
498 - $this->tipoConferenciaAlterado = false;  
499 - //setar temporariamente e depois remover da entidade  
500 - if(! $documentoDTO->getNumIdTipoConferencia() ){  
501 - // buscando o menor tipo de conferencia  
502 - $tipoConferenciaDTOConsulta = new TipoConferenciaDTO();  
503 - $tipoConferenciaDTOConsulta->retTodos();  
504 - $tipoConferenciaDTOConsulta->setStrSinAtivo('S');  
505 - $tipoConferenciaDTOConsulta->setOrd('IdTipoConferencia', InfraDTO::$TIPO_ORDENACAO_ASC);  
506 - $tipoConferenciaRN = new TipoConferenciaRN();  
507 - $arrTipoConferenciaDTO = $tipoConferenciaRN->listar($tipoConferenciaDTOConsulta);  
508 - $numIdTipoConferencia = $arrTipoConferenciaDTO[0]->getNumIdTipoConferencia();  
509 - // fim buscando o menor tipo de conferencia  
510 -  
511 - //setando um tipo de conferencia padrao (que sera removido depois), apenas para passar na validação  
512 - $documentoDTO->setNumIdTipoConferencia($numIdTipoConferencia);  
513 - $documentoAlteracaoDTO = new DocumentoDTO();  
514 - $documentoAlteracaoDTO->retDblIdDocumento();  
515 - $documentoAlteracaoDTO->retNumIdTipoConferencia();  
516 - $documentoAlteracaoDTO->setDblIdDocumento( $documentoDTO->getDblIdDocumento() );  
517 - $documentoAlteracaoDTO = $documentoRN->consultarRN0005( $documentoAlteracaoDTO );  
518 -  
519 - $documentoAlteracaoDTO->setNumIdTipoConferencia($numIdTipoConferencia);  
520 - $documentoBD->alterar( $documentoAlteracaoDTO );  
521 - $this->tipoConferenciaAlterado = true;  
522 - }  
523 - return $documentoDTO;  
524 - }  
525 -  
526 - private function fecharDocumentoParaAssinatura($documentoDTO)  
527 - {  
528 - $documentoBD = new DocumentoBD( $this->getObjInfraIBanco() );  
529 - if( $this->tipoConferenciaAlterado ){  
530 - $documentoDTO->setNumIdTipoConferencia(null);  
531 - $documentoBD->alterar( $documentoDTO );  
532 - }  
533 - //nao aplicando metodo alterar da RN de Documento por conta de regras de negocio muito especificas aplicadas ali  
534 - $documentoDTO->setStrSinBloqueado('S');  
535 - $documentoBD->alterar( $documentoDTO );  
536 - //remover a liberação de acesso externo //AcessoRN.excluir nao permite exclusao, por isso chame AcessoExternoBD diretamente daqui  
537 - }  
538 -  
539 - private function abrirAcessoParaAssinatura($orgaoDTO, $documentoDTO, $objParticipanteDTO)  
540 - {  
541 - //liberando assinatura externa para o documento  
542 - $objAcessoExternoDTO = new AcessoExternoDTO();  
543 -  
544 - //trocado de $TA_ASSINATURA_EXTERNA para $TA_SISTEMA para evitar o envio de email de notificação  
545 - $objAcessoExternoDTO->setStrStaTipo(AcessoExternoRN::$TA_ASSINATURA_EXTERNA );  
546 - $objAcessoExternoDTO->setStrEmailUnidade($orgaoDTO->getStrEmailContato() ); //informando o email do orgao associado a unidade  
547 - $objAcessoExternoDTO->setDblIdDocumento( $documentoDTO->getDblIdDocumento() );  
548 - $objAcessoExternoDTO->setNumIdParticipante( $objParticipanteDTO->getNumIdParticipante() );  
549 - $objAcessoExternoDTO->setNumIdUsuarioExterno( SessaoSEIExterna::getInstance()->getNumIdUsuarioExterno() );  
550 - $objAcessoExternoDTO->setStrSinProcesso('N'); //visualizacao integral do processo  
551 -  
552 - $objMdPetAcessoExternoRN = new MdPetAcessoExternoRN();  
553 - $this->objAcessoExternoDTO = $objMdPetAcessoExternoRN->cadastrar($objAcessoExternoDTO);  
554 - }  
555 -  
556 - private function fecharAcessoParaAssinatura()  
557 - {  
558 - $objAcessoExternoBD = new AcessoExternoBD($this->getObjInfraIBanco());  
559 - $objAcessoExternoBD->excluir( $this->objAcessoExternoDTO );  
560 - }  
561 -  
562 - private function retornarParticipante($objUsuarioDTO, $objUnidadeDTO, $objProcedimentoDTO)  
563 - {  
564 - $objParticipanteDTO = new ParticipanteDTO();  
565 - $objParticipanteDTO->retTodos(true);  
566 - $objParticipanteDTO->retStrSiglaContato();  
567 - $objParticipanteDTO->retStrNomeContato();  
568 - $objParticipanteDTO->retNumIdUnidade();  
569 - $objParticipanteDTO->retDblIdProtocolo();  
570 - $objParticipanteDTO->retNumIdParticipante();  
571 - //FK de BD (ak1_participante) trata somente id_contato, id_protocolo, sta_participacao, então desconsiderar unidade  
572 - //$objParticipanteDTO->setNumIdUnidade( $objUnidadeDTO->getNumIdUnidade() );  
573 - $objParticipanteDTO->setNumIdContato( $objUsuarioDTO->getNumIdContato() );  
574 - $objParticipanteDTO->setDblIdProtocolo( $objProcedimentoDTO->getDblIdProcedimento() );  
575 -  
576 - $objParticipanteRN = new ParticipanteRN();  
577 - $arrObjParticipanteDTO = $objParticipanteRN->listarRN0189($objParticipanteDTO);  
578 -  
579 - if( $arrObjParticipanteDTO == null || count( $arrObjParticipanteDTO ) == 0){  
580 - //cadastrar o participante  
581 - $objParticipanteDTO = new ParticipanteDTO();  
582 - $objParticipanteDTO->setNumIdContato( $objUsuarioDTO->getNumIdContato() );  
583 - $objParticipanteDTO->setDblIdProtocolo( $objProcedimentoDTO->getDblIdProcedimento() );  
584 - $objParticipanteDTO->setStrStaParticipacao( ParticipanteRN::$TP_ACESSO_EXTERNO );  
585 - $objParticipanteDTO->setNumIdUnidade( $objUnidadeDTO->getNumIdUnidade() );  
586 - $objParticipanteDTO->setNumSequencia(0);  
587 -  
588 - $participanteDTO = $objParticipanteRN->cadastrarRN0170( $objParticipanteDTO );  
589 -  
590 - $objParticipanteDTO = new ParticipanteDTO();  
591 - $objParticipanteDTO->retTodos(true);  
592 - $objParticipanteDTO->setNumIdParticipante( $participanteDTO->getNumIdParticipante() );  
593 - $ret = $objParticipanteRN->consultarRN1008($objParticipanteDTO);  
594 - //$idParticipante = $objParticipanteDTO->getNumIdParticipante();  
595 - } else {  
596 - $ret = $arrObjParticipanteDTO[0];  
597 - }  
598 - $this->setParticipante($ret);  
599 - return $ret;  
600 - }  
601 -  
602 - private function assinarETravarDocumento( $documento )  
603 - {  
604 - //consultar email da unidade (orgao)  
605 - //$this->carregarObjetos($idCargo, );  
606 - $orgaoDTO = $this->getOrgaoDTO();  
607 - $cargoDTO = $this->getCargoDTO();  
608 - $objUsuarioDTO = $this->getUsuarioDTO();  
609 - $objUnidadeDTO = $this->getUnidadeDTO();  
610 - $objProcedimentoDTO = $this->getProcedimentoDTO();  
611 -  
612 - $documentoDTO = $documento;  
613 - if($documento instanceof SaidaIncluirDocumentoAPI){  
614 - $dlbIdDocumento = $documento->getIdDocumento();  
615 - } else {  
616 - $dlbIdDocumento = $documento->getDblIdDocumento();  
617 - }  
618 - $documentoDTO = $this->abrirDocumentoParaAssinatura($dlbIdDocumento);  
619 - $objParticipanteDTO = $this->retornarParticipante($objUsuarioDTO, $objUnidadeDTO, $objProcedimentoDTO);  
620 -  
621 - $this->abrirAcessoParaAssinatura($orgaoDTO, $documentoDTO, $objParticipanteDTO);  
622 - $objAssinaturaDTO = new AssinaturaDTO();  
623 - $objAssinaturaDTO->setStrStaFormaAutenticacao(AssinaturaRN::$TA_SENHA);  
624 - $objAssinaturaDTO->setNumIdUsuario(SessaoSEIExterna::getInstance()->getNumIdUsuarioExterno() );  
625 - $objAssinaturaDTO->setStrSenhaUsuario( $this->getSenha() );  
626 - $objAssinaturaDTO->setStrCargoFuncao( "Usuário Externo - " . $cargoDTO->getStrExpressao() );  
627 - $objAssinaturaDTO->setArrObjDocumentoDTO(array($documentoDTO));  
628 -  
629 - $objMdPetDocumentoRN = new MdPetDocumentoRN();  
630 - $objAssinaturaDTO = $objMdPetDocumentoRN->assinar($objAssinaturaDTO);  
631 - $this->addDocumentos($documentoDTO);  
632 - $this->fecharDocumentoParaAssinatura($documentoDTO);  
633 - $this->fecharAcessoParaAssinatura();  
634 - return $objAssinaturaDTO;  
635 - }  
636 -  
637 - private function retornarDocumentosRecibo($objSaidaGerarProcedimentoAPI) {  
638 - $arrObjReciboDocPet = array();  
639 - $objRetornoDocs = $objSaidaGerarProcedimentoAPI->getRetornoInclusaoDocumentos();  
640 - $arrRetornoTpFormato = MdPetIntercorrenteINT::retornaTipoFormatoDocumento($objRetornoDocs);  
641 -  
642 - $formato = null;  
643 - foreach($objRetornoDocs as $doc){  
644 - if(array_key_exists($doc->getIdDocumento(), $arrRetornoTpFormato)){  
645 - $formato = $arrRetornoTpFormato[$doc->getIdDocumento()];  
646 - }  
647 - $objReciboDocAnexPetDTO = MdPetIntercorrenteINT::retornaObjReciboDocPreenchido(array($doc->getIdDocumento(), $formato));  
648 - array_push($arrObjReciboDocPet, $objReciboDocAnexPetDTO);  
649 - }  
650 - return $arrObjReciboDocPet;  
651 - }  
652 -  
653 - /**  
654 - * @param $params  
655 - * @return DocumentoDTO  
656 - */  
657 - private function montarReciboIntercorrente($params)  
658 - {  
659 - $arrParams = array(  
660 - $params,  
661 - $this->getUnidadeDTO(),  
662 - $this->getProcedimentoDTO(),  
663 - $this->getParticipanteDTO(),  
664 - $this->getReciboDTO(),  
665 - $this->getDocumentos()  
666 - );  
667 -  
668 - $objMdPetReciboIntercorrenteRN = new MdPetReciboIntercorrenteRN();  
669 - return $objMdPetReciboIntercorrenteRN->montarRecibo($arrParams);  
670 - }  
671 -  
672 - protected function cadastrarReciboDocumentoAnexoConectado($params)  
673 - {  
674 - $objMdPetReciboDTO = $params[0];  
675 - $arrObjReciboDocPet = $params[1];  
676 -  
677 - $objMdPetRelReciboDocumentoAnexoRN = new MdPetRelReciboDocumentoAnexoRN();  
678 -  
679 - $numIdReciboPeticionamento = $objMdPetReciboDTO->getNumIdReciboPeticionamento();  
680 - //Gerar Recibo Docs  
681 - foreach($arrObjReciboDocPet as $objReciboDocPet){  
682 - //Remover Depois - Campo está como NOT NULL, deve ser NULL na adaptação  
683 - $objReciboDocPet->setStrClassificacaoDocumento('A');  
684 - $objReciboDocPet->setNumIdReciboPeticionamento($numIdReciboPeticionamento);  
685 - $objMdPetRelReciboDocumentoAnexoRN->cadastrar($objReciboDocPet);  
686 - }  
687 - }  
688 -  
689 - protected function enviarEmailConectado($params)  
690 - {  
691 - $arrParams = array();  
692 - $arrParams[0] = $params;  
693 - $arrParams[1] = $this->getUnidadeDTO();  
694 - $arrParams[2] = $this->getProcedimentoDTO();  
695 - $arrParams[3] = array($this->getParticipanteDTO());  
696 - $arrParams[4] = $this->getReciboDTO();  
697 - $arrParams[5] = $this->getDocumentoRecibo();  
698 -  
699 - $emailMdPetEmailNotificacaoIntercorrenteRN = new MdPetEmailNotificacaoIntercorrenteRN();  
700 - return $emailMdPetEmailNotificacaoIntercorrenteRN->notificaoPeticionamentoExterno( $arrParams );  
701 -  
702 - //return $this->notificaoPetIntercorrenteExterno($arrParams);  
703 - }  
704 -  
705 - protected function cadastrarControlado($params)  
706 - {  
707 - // Bloco de validações  
708 - $this->validarCadastro($params);  
709 -  
710 - // setando atributos que serão utilizados em outros métodos  
711 - $this->setCargoDTO($params['selCargo']);  
712 - $this->setSenha($params['senhaSEI']);  
713 -  
714 - //Busca o Procedimento Principal  
715 - $objProcedimentoDTO = new ProcedimentoDTO();  
716 - $objProcedimentoRN = new ProcedimentoRN();  
717 - $objProcedimentoDTO->setDblIdProcedimento($params['id_procedimento']);  
718 - $objProcedimentoDTO->retTodos(true);  
719 - //$objProcedimentoDTO->retStrProtocoloProcedimentoFormatado();  
720 - $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO);  
721 -  
722 - $objMdPetCriterioRN = new MdPetCriterioRN();  
723 - $objCriterioIntercorrenteDTO = $objMdPetCriterioRN->retornarCriterioPorTipoProcesso($params['id_tipo_procedimento']);  
724 -  
725 - // Verifica se o processo possui critério intercorrente cadastrado  
726 - //Se não possui busca o padrão e cria um processo relacionado ao processo selecionado  
727 - $arrObjReciboDocPet = array();  
728 - $arrDadosRecibo = array();  
729 - $arrDadosRecibo['idProcedimento'] = $params['id_procedimento'];  
730 -  
731 - // Remententes 501 +
  502 + }
  503 + return $arrObjReciboDocPet;
  504 + }
  505 +
  506 + private function abrirDocumentoParaAssinatura($dblIdDocumento)
  507 + {
  508 + $documentoRN = new DocumentoRN();
  509 + $documentoBD = new DocumentoBD( $this->getObjInfraIBanco() );
  510 +
  511 + $documentoDTO = new DocumentoDTO();
  512 + //$documentoDTO->retDblIdDocumento();
  513 + //$documentoDTO->retNumIdTipoConferencia();
  514 + $documentoDTO->retTodos(true);
  515 + $documentoDTO->setDblIdDocumento( $dblIdDocumento );
  516 + $documentoDTO = $documentoRN->consultarRN0005( $documentoDTO );
  517 +
  518 + $this->tipoConferenciaAlterado = false;
  519 + //setar temporariamente e depois remover da entidade
  520 + if(! $documentoDTO->getNumIdTipoConferencia() ){
  521 + // buscando o menor tipo de conferencia
  522 + $tipoConferenciaDTOConsulta = new TipoConferenciaDTO();
  523 + $tipoConferenciaDTOConsulta->retTodos();
  524 + $tipoConferenciaDTOConsulta->setStrSinAtivo('S');
  525 + $tipoConferenciaDTOConsulta->setOrd('IdTipoConferencia', InfraDTO::$TIPO_ORDENACAO_ASC);
  526 + $tipoConferenciaRN = new TipoConferenciaRN();
  527 + $arrTipoConferenciaDTO = $tipoConferenciaRN->listar($tipoConferenciaDTOConsulta);
  528 + $numIdTipoConferencia = $arrTipoConferenciaDTO[0]->getNumIdTipoConferencia();
  529 + // fim buscando o menor tipo de conferencia
  530 +
  531 + //setando um tipo de conferencia padrao (que sera removido depois), apenas para passar na validação
  532 + $documentoDTO->setNumIdTipoConferencia($numIdTipoConferencia);
  533 + $documentoAlteracaoDTO = new DocumentoDTO();
  534 + $documentoAlteracaoDTO->retDblIdDocumento();
  535 + $documentoAlteracaoDTO->retNumIdTipoConferencia();
  536 + $documentoAlteracaoDTO->setDblIdDocumento( $documentoDTO->getDblIdDocumento() );
  537 + $documentoAlteracaoDTO = $documentoRN->consultarRN0005( $documentoAlteracaoDTO );
  538 +
  539 + $documentoAlteracaoDTO->setNumIdTipoConferencia($numIdTipoConferencia);
  540 + $documentoBD->alterar( $documentoAlteracaoDTO );
  541 + $this->tipoConferenciaAlterado = true;
  542 + }
  543 + return $documentoDTO;
  544 + }
  545 +
  546 + private function fecharDocumentoParaAssinatura($documentoDTO)
  547 + {
  548 + $documentoBD = new DocumentoBD( $this->getObjInfraIBanco() );
  549 + if( $this->tipoConferenciaAlterado ){
  550 + $documentoDTO->setNumIdTipoConferencia(null);
  551 + $documentoBD->alterar( $documentoDTO );
  552 + }
  553 + //nao aplicando metodo alterar da RN de Documento por conta de regras de negocio muito especificas aplicadas ali
  554 + $documentoDTO->setStrSinBloqueado('S');
  555 + $documentoBD->alterar( $documentoDTO );
  556 + //remover a liberação de acesso externo //AcessoRN.excluir nao permite exclusao, por isso chame AcessoExternoBD diretamente daqui
  557 + }
  558 +
  559 + private function abrirAcessoParaAssinatura($orgaoDTO, $documentoDTO, $objParticipanteDTO)
  560 + {
  561 + //liberando assinatura externa para o documento
  562 + $objAcessoExternoDTO = new AcessoExternoDTO();
  563 +
  564 + //trocado de $TA_ASSINATURA_EXTERNA para $TA_SISTEMA para evitar o envio de email de notificação
  565 + $objAcessoExternoDTO->setStrStaTipo(AcessoExternoRN::$TA_ASSINATURA_EXTERNA );
  566 + $objAcessoExternoDTO->setStrEmailUnidade($orgaoDTO->getStrEmailContato() ); //informando o email do orgao associado a unidade
  567 + $objAcessoExternoDTO->setDblIdDocumento( $documentoDTO->getDblIdDocumento() );
  568 + $objAcessoExternoDTO->setNumIdParticipante( $objParticipanteDTO->getNumIdParticipante() );
  569 + $objAcessoExternoDTO->setNumIdUsuarioExterno( SessaoSEIExterna::getInstance()->getNumIdUsuarioExterno() );
  570 + $objAcessoExternoDTO->setStrSinProcesso('N'); //visualizacao integral do processo
  571 +
  572 + $objMdPetAcessoExternoRN = new MdPetAcessoExternoRN();
  573 + $this->objAcessoExternoDTO = $objMdPetAcessoExternoRN->cadastrar($objAcessoExternoDTO);
  574 + }
  575 +
  576 + private function fecharAcessoParaAssinatura()
  577 + {
  578 + $objAcessoExternoBD = new AcessoExternoBD($this->getObjInfraIBanco());
  579 + $objAcessoExternoBD->excluir( $this->objAcessoExternoDTO );
  580 + }
  581 +
  582 + private function retornarParticipante($objUsuarioDTO, $objUnidadeDTO, $objProcedimentoDTO)
  583 + {
  584 + $objParticipanteDTO = new ParticipanteDTO();
  585 + $objParticipanteDTO->retTodos(true);
  586 + $objParticipanteDTO->retStrSiglaContato();
  587 + $objParticipanteDTO->retStrNomeContato();
  588 + $objParticipanteDTO->retNumIdUnidade();
  589 + $objParticipanteDTO->retDblIdProtocolo();
  590 + $objParticipanteDTO->retNumIdParticipante();
  591 + //FK de BD (ak1_participante) trata somente id_contato, id_protocolo, sta_participacao, então desconsiderar unidade
  592 + //$objParticipanteDTO->setNumIdUnidade( $objUnidadeDTO->getNumIdUnidade() );
  593 + $objParticipanteDTO->setNumIdContato( $objUsuarioDTO->getNumIdContato() );
  594 + $objParticipanteDTO->setDblIdProtocolo( $objProcedimentoDTO->getDblIdProcedimento() );
  595 +
  596 + $objParticipanteRN = new ParticipanteRN();
  597 + $arrObjParticipanteDTO = $objParticipanteRN->listarRN0189($objParticipanteDTO);
  598 +
  599 + if( $arrObjParticipanteDTO == null || count( $arrObjParticipanteDTO ) == 0){
  600 + //cadastrar o participante
  601 + $objParticipanteDTO = new ParticipanteDTO();
  602 + $objParticipanteDTO->setNumIdContato( $objUsuarioDTO->getNumIdContato() );
  603 + $objParticipanteDTO->setDblIdProtocolo( $objProcedimentoDTO->getDblIdProcedimento() );
  604 + $objParticipanteDTO->setStrStaParticipacao( ParticipanteRN::$TP_ACESSO_EXTERNO );
  605 + $objParticipanteDTO->setNumIdUnidade( $objUnidadeDTO->getNumIdUnidade() );
  606 + $objParticipanteDTO->setNumSequencia(0);
  607 +
  608 + $participanteDTO = $objParticipanteRN->cadastrarRN0170( $objParticipanteDTO );
  609 +
  610 + $objParticipanteDTO = new ParticipanteDTO();
  611 + $objParticipanteDTO->retTodos(true);
  612 + $objParticipanteDTO->setNumIdParticipante( $participanteDTO->getNumIdParticipante() );
  613 + $ret = $objParticipanteRN->consultarRN1008($objParticipanteDTO);
  614 + //$idParticipante = $objParticipanteDTO->getNumIdParticipante();
  615 + } else {
  616 + $ret = $arrObjParticipanteDTO[0];
  617 + }
  618 + $this->setParticipante($ret);
  619 + return $ret;
  620 + }
  621 +
  622 + private function assinarETravarDocumento( $documento )
  623 + {
  624 + //consultar email da unidade (orgao)
  625 + //$this->carregarObjetos($idCargo, );
  626 + $orgaoDTO = $this->getOrgaoDTO();
  627 + $cargoDTO = $this->getCargoDTO();
  628 + $objUsuarioDTO = $this->getUsuarioDTO();
  629 + $objUnidadeDTO = $this->getUnidadeDTO();
  630 + $objProcedimentoDTO = $this->getProcedimentoDTO();
  631 +
  632 + $documentoDTO = $documento;
  633 + if($documento instanceof SaidaIncluirDocumentoAPI){
  634 + $dlbIdDocumento = $documento->getIdDocumento();
  635 + } else {
  636 + $dlbIdDocumento = $documento->getDblIdDocumento();
  637 + }
  638 + $documentoDTO = $this->abrirDocumentoParaAssinatura($dlbIdDocumento);
  639 + $objParticipanteDTO = $this->retornarParticipante($objUsuarioDTO, $objUnidadeDTO, $objProcedimentoDTO);
  640 +
  641 + $this->abrirAcessoParaAssinatura($orgaoDTO, $documentoDTO, $objParticipanteDTO);
  642 + $objAssinaturaDTO = new AssinaturaDTO();
  643 + $objAssinaturaDTO->setStrStaFormaAutenticacao(AssinaturaRN::$TA_SENHA);
  644 + $objAssinaturaDTO->setNumIdUsuario(SessaoSEIExterna::getInstance()->getNumIdUsuarioExterno() );
  645 + $objAssinaturaDTO->setStrSenhaUsuario( $this->getSenha() );
  646 + $objAssinaturaDTO->setStrCargoFuncao( "Usuário Externo - " . $cargoDTO->getStrExpressao() );
  647 + $objAssinaturaDTO->setArrObjDocumentoDTO(array($documentoDTO));
  648 +
  649 + $objMdPetDocumentoRN = new MdPetDocumentoRN();
  650 + $objAssinaturaDTO = $objMdPetDocumentoRN->assinar($objAssinaturaDTO);
  651 + $this->addDocumentos($documentoDTO);
  652 + $this->fecharDocumentoParaAssinatura($documentoDTO);
  653 + $this->fecharAcessoParaAssinatura();
  654 + return $objAssinaturaDTO;
  655 + }
  656 +
  657 + private function retornarDocumentosRecibo($objSaidaGerarProcedimentoAPI) {
  658 + $arrObjReciboDocPet = array();
  659 + $objRetornoDocs = $objSaidaGerarProcedimentoAPI->getRetornoInclusaoDocumentos();
  660 + $arrRetornoTpFormato = MdPetIntercorrenteINT::retornaTipoFormatoDocumento($objRetornoDocs);
  661 +
  662 + $formato = null;
  663 + foreach($objRetornoDocs as $doc){
  664 + if(array_key_exists($doc->getIdDocumento(), $arrRetornoTpFormato)){
  665 + $formato = $arrRetornoTpFormato[$doc->getIdDocumento()];
  666 + }
  667 + $objReciboDocAnexPetDTO = MdPetIntercorrenteINT::retornaObjReciboDocPreenchido(array($doc->getIdDocumento(), $formato));
  668 + array_push($arrObjReciboDocPet, $objReciboDocAnexPetDTO);
  669 + }
  670 + return $arrObjReciboDocPet;
  671 + }
  672 +
  673 + /**
  674 + * @param $params
  675 + * @return DocumentoDTO
  676 + */
  677 + private function montarReciboIntercorrente($params)
  678 + {
  679 + $arrParams = array(
  680 + $params,
  681 + $this->getUnidadeDTO(),
  682 + $this->getProcedimentoDTO(),
  683 + $this->getParticipanteDTO(),
  684 + $this->getReciboDTO(),
  685 + $this->getDocumentos()
  686 + );
  687 +
  688 + $objMdPetReciboIntercorrenteRN = new MdPetReciboIntercorrenteRN();
  689 + return $objMdPetReciboIntercorrenteRN->montarRecibo($arrParams);
  690 + }
  691 +
  692 + protected function cadastrarReciboDocumentoAnexoConectado($params)
  693 + {
  694 + $objMdPetReciboDTO = $params[0];
  695 + $arrObjReciboDocPet = $params[1];
  696 +
  697 + $objMdPetRelReciboDocumentoAnexoRN = new MdPetRelReciboDocumentoAnexoRN();
  698 +
  699 + $numIdReciboPeticionamento = $objMdPetReciboDTO->getNumIdReciboPeticionamento();
  700 + //Gerar Recibo Docs
  701 + foreach($arrObjReciboDocPet as $objReciboDocPet){
  702 + //Remover Depois - Campo está como NOT NULL, deve ser NULL na adaptação
  703 + $objReciboDocPet->setStrClassificacaoDocumento('A');
  704 + $objReciboDocPet->setNumIdReciboPeticionamento($numIdReciboPeticionamento);
  705 + $objMdPetRelReciboDocumentoAnexoRN->cadastrar($objReciboDocPet);
  706 + }
  707 + }
  708 +
  709 + protected function enviarEmailConectado($params)
  710 + {
  711 + $arrParams = array();
  712 + $arrParams[0] = $params;
  713 + $arrParams[1] = $this->getUnidadeDTO();
  714 + $arrParams[2] = $this->getProcedimentoDTO();
  715 + $arrParams[3] = array($this->getParticipanteDTO());
  716 + $arrParams[4] = $this->getReciboDTO();
  717 + $arrParams[5] = $this->getDocumentoRecibo();
  718 +
  719 + $emailMdPetEmailNotificacaoIntercorrenteRN = new MdPetEmailNotificacaoIntercorrenteRN();
  720 + return $emailMdPetEmailNotificacaoIntercorrenteRN->notificaoPeticionamentoExterno( $arrParams );
  721 +
  722 + //return $this->notificaoPetIntercorrenteExterno($arrParams);
  723 + }
  724 +
  725 + protected function cadastrarControlado($params)
  726 + {
  727 + // Bloco de validações
  728 + $this->validarCadastro($params);
  729 +
  730 + $atividadeRN = new AtividadeRN();
  731 +
  732 + // setando atributos que serão utilizados em outros métodos
  733 + $this->setCargoDTO($params['selCargo']);
  734 + $this->setSenha($params['senhaSEI']);
  735 +
  736 + //Busca o Procedimento Principal
  737 + $objProcedimentoDTO = new ProcedimentoDTO();
  738 + $objProcedimentoRN = new ProcedimentoRN();
  739 + $objProcedimentoDTO->setDblIdProcedimento($params['id_procedimento']);
  740 + $objProcedimentoDTO->retTodos(true);
  741 + //$objProcedimentoDTO->retStrProtocoloProcedimentoFormatado();
  742 + $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO);
  743 +
  744 + $objMdPetCriterioRN = new MdPetCriterioRN();
  745 + $objCriterioIntercorrenteDTO = $objMdPetCriterioRN->retornarCriterioPorTipoProcesso($params['id_tipo_procedimento']);
  746 +
  747 + // Verifica se o processo possui critério intercorrente cadastrado
  748 + //Se não possui busca o padrão e cria um processo relacionado ao processo selecionado
  749 + $arrObjReciboDocPet = array();
  750 + $arrDadosRecibo = array();
  751 + $arrDadosRecibo['idProcedimento'] = $params['id_procedimento'];
  752 +
  753 + // Remententes
732 $contatoDTOUsuarioLogado = $this->getContatoDTOUsuarioLogado(); 754 $contatoDTOUsuarioLogado = $this->getContatoDTOUsuarioLogado();
733 $idsRemententes = array(); 755 $idsRemententes = array();
734 $idsRemententes[] = $contatoDTOUsuarioLogado->getNumIdContato(); 756 $idsRemententes[] = $contatoDTOUsuarioLogado->getNumIdContato();
735 -  
736 - $estadosReabrirRelacionado = array(ProtocoloRN::$TE_PROCEDIMENTO_SOBRESTADO, ProtocoloRN::$TE_PROCEDIMENTO_ANEXADO, ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO);  
737 - /**  
738 - * Verifica se:  
739 - * 1 - Se o processo eh sigiloso (nivel de acesso global ou local eh igual a 2)  
740 - * 2 - Se o Tipo do Processo do procedimento informado nao possui um intercorrente cadastrado(neste caso irah utilizar o Intercorrente Padrao)  
741 - */  
742 - $params['diretoProcessoIndicado']=false;  
743 - if ($objCriterioIntercorrenteDTO->getStrSinCriterioPadrao() == 'S'  
744 - || $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo() == ProtocoloRN::$NA_SIGILOSO  
745 - || $objProcedimentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_SIGILOSO  
746 - || in_array($objProcedimentoDTO->getStrStaEstadoProtocolo(), $estadosReabrirRelacionado)) {  
747 -  
748 - $especificacao = 'Peticionamento Intercorrente relacionado ao Processo nº ' . $objProcedimentoDTO->getStrProtocoloProcedimentoFormatado();  
749 - $objSaidaGerarProcedimentoAPI = $this->gerarProcedimentoApi(array($objProcedimentoDTO, $objCriterioIntercorrenteDTO, $especificacao));  
750 -  
751 - $arrDadosRecibo['idProcedimentoRel'] = $params['id_procedimento'];  
752 - $arrDadosRecibo['idProcedimento'] = $objSaidaGerarProcedimentoAPI->getIdProcedimento();  
753 - $params['id_procedimento'] = $objSaidaGerarProcedimentoAPI->getIdProcedimento();  
754 - //Se possui critérios intercorrentes setta os documentos no processo existente  
755 - $this->setProcedimentoDTO($objSaidaGerarProcedimentoAPI->getIdProcedimento());  
756 - }  
757 -  
758 - //SE o criterio existe, e NAO é o criterio padrao, tenta incluir documento no proprio processo (caso o mesmo esteja aberto) ou reabrir o processo (caso o mesmo esteja fechado)  
759 - else if( $objCriterioIntercorrenteDTO != null &&  
760 - $objCriterioIntercorrenteDTO->getStrSinCriterioPadrao() == 'N') {  
761 -  
762 - //se for necessario, executar reabertura do processo  
763 - $reaberturaRN = new MdPetIntercorrenteReaberturaRN();  
764 -  
765 - if( $reaberturaRN->isNecessarioReabrirProcedimento( $objProcedimentoDTO ) ) {  
766 - $reaberturaRN->reabrirProcessoApi($objProcedimentoDTO);  
767 - }  
768 -  
769 - $params['diretoProcessoIndicado']=true;  
770 -  
771 - $this->setProcedimentoDTO($params['id_procedimento']);  
772 - }  
773 -  
774 -  
775 - if($objProcedimentoDTO->getStrStaEstadoProtocolo() == 3){  
776 - $objRelProtocoloProtocoloDTO = new RelProtocoloProtocoloDTO();  
777 - $objRelProtocoloProtocoloDTO->retDblIdProtocolo1();  
778 - $objRelProtocoloProtocoloDTO->retStrProtocoloFormatadoProtocolo1();  
779 - $objRelProtocoloProtocoloDTO->setDblIdProtocolo2($objProcedimentoDTO->getDblIdProcedimento());  
780 - $objRelProtocoloProtocoloDTO->setStrStaAssociacao(RelProtocoloProtocoloRN::$TA_PROCEDIMENTO_ANEXADO);  
781 -  
782 - $objRelProtocoloProtocoloRN = new RelProtocoloProtocoloRN();  
783 - $objRelProtocoloProtocoloDTO = $objRelProtocoloProtocoloRN->consultarRN0841($objRelProtocoloProtocoloDTO);  
784 -  
785 - $idUnidadeProcesso = $this->retornaUltimaUnidadeProcessoAberto($objRelProtocoloProtocoloDTO->getDblIdProtocolo1());  
786 -  
787 - }else{  
788 - $idUnidadeProcesso = $this->retornaUltimaUnidadeProcessoAberto($this->getProcedimentoDTO()->getDblIdProcedimento());  
789 - }  
790 -  
791 - $idsParticipantes = array();  
792 -  
793 - //Interessados  
794 - // Processo Principal - Interessados  
795 - $objParticipanteProcPrincDTO = new ParticipanteDTO();  
796 - $objParticipanteProcPrincDTO->retNumIdParticipante();  
797 - $objParticipanteProcPrincDTO->retNumIdContato();  
798 - $objParticipanteProcPrincDTO->retNumIdUnidade();  
799 - $objParticipanteProcPrincDTO->retStrStaParticipacao();  
800 - $objParticipanteProcPrincDTO->retStrNomeContato();  
801 - $objParticipanteProcPrincDTO->retNumSequencia();  
802 - $objParticipanteProcPrincDTO->setDblIdProtocolo($objProcedimentoDTO->getDblIdProcedimento());  
803 - $objParticipanteProcPrincDTO->setStrStaParticipacao(ParticipanteRN::$TP_INTERESSADO);  
804 -  
805 - $objParticipanteProcPrincRN = new ParticipanteRN();  
806 - $arrobjParticipanteProcPrinc = $objParticipanteProcPrincRN->listarRN0189($objParticipanteProcPrincDTO);  
807 - // Processo Principal - Interessados - FIM  
808 -  
809 - // Processo - Interessados  
810 - $i=0;  
811 - foreach($arrobjParticipanteProcPrinc as $objParticipanteProcPrinc){  
812 - $objParticipante = new ParticipanteDTO();  
813 - $objParticipante->setDblIdProtocolo($this->getProcedimentoDTO()->getDblIdProcedimento());  
814 - $objParticipante->setNumIdContato($objParticipanteProcPrinc->getNumIdContato());  
815 - $objParticipante->setNumIdUnidade($objParticipanteProcPrinc->getNumIdUnidade());  
816 - $objParticipante->setStrStaParticipacao(ParticipanteRN::$TP_INTERESSADO);  
817 - $objParticipante->setNumSequencia($i);  
818 - $idsParticipantes[] = $objParticipante;  
819 - $i++; 757 +
  758 + $estadosReabrirRelacionado = array(ProtocoloRN::$TE_PROCEDIMENTO_SOBRESTADO, ProtocoloRN::$TE_PROCEDIMENTO_ANEXADO, ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO);
  759 + /**
  760 + * Verifica se:
  761 + * 1 - Se o processo eh sigiloso (nivel de acesso global ou local eh igual a 2)
  762 + * 2 - Se o Tipo do Processo do procedimento informado nao possui um intercorrente cadastrado(neste caso irah utilizar o Intercorrente Padrao)
  763 + */
  764 + $params['diretoProcessoIndicado']=false;
  765 + if ($objCriterioIntercorrenteDTO->getStrSinCriterioPadrao() == 'S'
  766 + || $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo() == ProtocoloRN::$NA_SIGILOSO
  767 + || $objProcedimentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_SIGILOSO
  768 + || in_array($objProcedimentoDTO->getStrStaEstadoProtocolo(), $estadosReabrirRelacionado)) {
  769 +
  770 + $especificacao = 'Peticionamento Intercorrente relacionado ao Processo nº ' . $objProcedimentoDTO->getStrProtocoloProcedimentoFormatado();
  771 + $objSaidaGerarProcedimentoAPI = $this->gerarProcedimentoApi(array($objProcedimentoDTO, $objCriterioIntercorrenteDTO, $especificacao));
  772 +
  773 + $arrDadosRecibo['idProcedimentoRel'] = $params['id_procedimento'];
  774 + $arrDadosRecibo['idProcedimento'] = $objSaidaGerarProcedimentoAPI->getIdProcedimento();
  775 + $params['id_procedimento'] = $objSaidaGerarProcedimentoAPI->getIdProcedimento();
  776 + //Se possui critérios intercorrentes setta os documentos no processo existente
  777 + $this->setProcedimentoDTO($objSaidaGerarProcedimentoAPI->getIdProcedimento());
  778 + }
  779 +
  780 + //SE o criterio existe, e NAO é o criterio padrao, tenta incluir documento no proprio processo (caso o mesmo esteja aberto) ou reabrir o processo (caso o mesmo esteja fechado)
  781 + else if( $objCriterioIntercorrenteDTO != null && $objCriterioIntercorrenteDTO->getStrSinCriterioPadrao() == 'N') {
  782 +
  783 + //se for necessario, executar reabertura do processo
  784 + $reaberturaRN = new MdPetIntercorrenteReaberturaRN();
  785 +
  786 + if( $reaberturaRN->isNecessarioReabrirProcedimento( $objProcedimentoDTO ) ) {
  787 + $reaberturaRN->reabrirProcessoApi($objProcedimentoDTO);
  788 + }
  789 +
  790 + $params['diretoProcessoIndicado']=true;
  791 + $this->setProcedimentoDTO($params['id_procedimento']);
  792 +
  793 + //obter o id da maior atividade de liberacao de acesso externo para comparar na hora de limpar o historico
  794 + $atividadeConsultaDTO = new AtividadeDTO();
  795 + $atividadeConsultaDTO->retNumIdAtividade();
  796 +
  797 + $atividadeConsultaDTO->setDblIdProtocolo( $params['id_procedimento'] );
  798 + $atividadeConsultaDTO->setNumIdTarefa(TarefaRN::$TI_ACESSO_EXTERNO_SISTEMA);
  799 + $atividadeConsultaDTO->setOrd('IdAtividade', InfraDTO::$TIPO_ORDENACAO_DESC);
  800 +
  801 + $arrDTOAtividadesConsulta = $atividadeRN->listarRN0036( $atividadeConsultaDTO);
  802 +
  803 + if( $arrDTOAtividadesConsulta != null && is_array( $arrDTOAtividadesConsulta ) && count( $arrDTOAtividadesConsulta) > 0){
  804 + $this->maxIdAtividade = $arrDTOAtividadesConsulta[0]->getNumIdAtividade();
  805 + }
  806 +
  807 + }
  808 +
  809 + if($objProcedimentoDTO->getStrStaEstadoProtocolo() == 3){
  810 +
  811 + $objRelProtocoloProtocoloDTO = new RelProtocoloProtocoloDTO();
  812 + $objRelProtocoloProtocoloDTO->retDblIdProtocolo1();
  813 + $objRelProtocoloProtocoloDTO->retStrProtocoloFormatadoProtocolo1();
  814 + $objRelProtocoloProtocoloDTO->setDblIdProtocolo2($objProcedimentoDTO->getDblIdProcedimento());
  815 + $objRelProtocoloProtocoloDTO->setStrStaAssociacao(RelProtocoloProtocoloRN::$TA_PROCEDIMENTO_ANEXADO);
  816 +
  817 + $objRelProtocoloProtocoloRN = new RelProtocoloProtocoloRN();
  818 + $objRelProtocoloProtocoloDTO = $objRelProtocoloProtocoloRN->consultarRN0841($objRelProtocoloProtocoloDTO);
  819 +
  820 + $idUnidadeProcesso = $this->retornaUltimaUnidadeProcessoAberto($objRelProtocoloProtocoloDTO->getDblIdProtocolo1());
  821 +
  822 + }else{
  823 +
  824 + $idUnidadeProcesso = $this->retornaUltimaUnidadeProcessoAberto($this->getProcedimentoDTO()->getDblIdProcedimento());
  825 + }
  826 +
  827 +
  828 + if( $idUnidadeProcesso == null || $idUnidadeProcesso == ''){
  829 +
  830 + $mdPetAndamentoSigilosoRN = new MdPetIntercorrenteAndamentoSigilosoRN();
  831 + $idUnidadeProcesso = $mdPetAndamentoSigilosoRN->retornaIdUnidadeAberturaProcesso( $this->getProcedimentoDTO()->getDblIdProcedimento() );
  832 +
  833 + }
  834 +
  835 + $idsParticipantes = array();
  836 +
  837 + //Interessados
  838 + // Processo Principal - Interessados
  839 + $objParticipanteProcPrincDTO = new ParticipanteDTO();
  840 + $objParticipanteProcPrincDTO->retNumIdParticipante();
  841 + $objParticipanteProcPrincDTO->retNumIdContato();
  842 + $objParticipanteProcPrincDTO->retNumIdUnidade();
  843 + $objParticipanteProcPrincDTO->retStrStaParticipacao();
  844 + $objParticipanteProcPrincDTO->retStrNomeContato();
  845 + $objParticipanteProcPrincDTO->retNumSequencia();
  846 + $objParticipanteProcPrincDTO->setDblIdProtocolo($objProcedimentoDTO->getDblIdProcedimento());
  847 + $objParticipanteProcPrincDTO->setStrStaParticipacao(ParticipanteRN::$TP_INTERESSADO);
  848 +
  849 + $objParticipanteProcPrincRN = new ParticipanteRN();
  850 + $arrobjParticipanteProcPrinc = $objParticipanteProcPrincRN->listarRN0189($objParticipanteProcPrincDTO);
  851 + // Processo Principal - Interessados - FIM
  852 +
  853 + // Processo - Interessados
  854 + $i=0;
  855 + foreach($arrobjParticipanteProcPrinc as $objParticipanteProcPrinc){
  856 + $objParticipante = new ParticipanteDTO();
  857 + $objParticipante->setDblIdProtocolo($this->getProcedimentoDTO()->getDblIdProcedimento());
  858 + $objParticipante->setNumIdContato($objParticipanteProcPrinc->getNumIdContato());
  859 + $objParticipante->setNumIdUnidade($objParticipanteProcPrinc->getNumIdUnidade());
  860 + $objParticipante->setStrStaParticipacao(ParticipanteRN::$TP_INTERESSADO);
  861 + $objParticipante->setNumSequencia($i);
  862 + $idsParticipantes[] = $objParticipante;
  863 + $i++;
  864 + }
  865 +
  866 + $objMdPetParticipanteRN = new MdPetParticipanteRN();
  867 + $arrInteressado = array();
  868 + $arrInteressado[0] = $this->getProcedimentoDTO()->getDblIdProcedimento();
  869 + $arrInteressado[1] = $idsParticipantes;
  870 + //$arrInteressado[2] = $idsRemententes;
  871 + $objMdPetParticipanteRN->setInteressadosRemetentesProcedimentoDocumento( $arrInteressado );
  872 + // Processo - Interessados - FIM
  873 +
  874 +
  875 + $arrDocApi = MdPetIntercorrenteINT::montarArrDocumentoAPI($params['id_procedimento'],$params['hdnTbDocumento']);
  876 +
  877 + $arrObjReciboDocPet = $this->incluirDocumentosApi($this->getProcedimentoDTO(), $arrDocApi);
  878 +
  879 + $objMdPetReciboRN = new MdPetReciboRN();
  880 + $objReciboDTO = $objMdPetReciboRN->gerarReciboSimplificadoIntercorrente($arrDadosRecibo);
  881 +
  882 + if (count($objReciboDTO) > 0) {
  883 + $this->setReciboDTO($objReciboDTO);
  884 + $this->cadastrarReciboDocumentoAnexo(array($objReciboDTO, $arrObjReciboDocPet));
  885 +
  886 + $documentoReciboDTO = $this->montarReciboIntercorrente($params);
  887 +
  888 + //Remetentes
  889 + $idsParticipantes = array();
  890 + $objParticipante = new ParticipanteDTO();
  891 + $objParticipante->setDblIdProtocolo($documentoReciboDTO->getDblIdDocumento());
  892 + $objParticipante->setNumIdContato($this->getContatoDTOUsuarioLogado()->getNumIdContato());
  893 + $objParticipante->setNumIdUnidade($idUnidadeProcesso);
  894 + $objParticipante->setStrStaParticipacao(ParticipanteRN::$TP_REMETENTE);
  895 + $objParticipante->setNumSequencia(0);
  896 + $idsParticipantes[] = $objParticipante;
  897 +
  898 + // Recibo - Interessados
  899 + $i=0;
  900 + foreach($arrobjParticipanteProcPrinc as $objParticipanteProcPrinc){
  901 + $objParticipante = new ParticipanteDTO();
  902 + $objParticipante->setDblIdProtocolo($documentoReciboDTO->getDblIdDocumento());
  903 + $objParticipante->setNumIdContato($objParticipanteProcPrinc->getNumIdContato());
  904 + $objParticipante->setNumIdUnidade($objParticipanteProcPrinc->getNumIdUnidade());
  905 + $objParticipante->setStrStaParticipacao(ParticipanteRN::$TP_INTERESSADO);
  906 + $objParticipante->setNumSequencia($i);
  907 + $idsParticipantes[] = $objParticipante;
  908 + $i++;
  909 + }
  910 +
  911 + $objMdPetParticipanteRN = new MdPetParticipanteRN();
  912 + $arrInteressado = array();
  913 + $arrInteressado[0] = $documentoReciboDTO->getDblIdDocumento();
  914 + $arrInteressado[1] = $idsParticipantes;
  915 + //$arrInteressado[2] = $idsRemententes;
  916 +
  917 + $objMdPetParticipanteRN->setInteressadosRemetentesProcedimentoDocumento( $arrInteressado );
  918 + // Recibo - Interessados - FIM
  919 +
  920 + $this->setDocumentoRecibo($documentoReciboDTO);
  921 +
  922 + //apagando andamentos do tipo "Disponibilizado acesso externo para @INTERESSADO@"
  923 +
  924 +
  925 + $objAtividadeDTOLiberacao = new AtividadeDTO();
  926 + $objAtividadeDTOLiberacao->retTodos();
  927 + $objAtividadeDTOLiberacao->setDblIdProtocolo( $this->getProcedimentoDTO()->getDblIdProcedimento() );
  928 + $objAtividadeDTOLiberacao->setNumIdAtividade( $this->maxIdAtividade , InfraDTO::$OPER_MAIOR );
  929 + $objAtividadeDTOLiberacao->setNumIdTarefa(TarefaRN::$TI_ACESSO_EXTERNO_SISTEMA);
  930 +
  931 + $arrDTOAtividades = $atividadeRN->listarRN0036( $objAtividadeDTOLiberacao );
  932 + $atividadeRN->excluirRN0034( $arrDTOAtividades );
  933 +
  934 + $this->enviarEmail($params);
  935 +
  936 + // obtendo a ultima atividade informada para o processo, para marcar
  937 + // como nao visualizada, deixando assim o processo marcado como "vermelho"
  938 + // (status de Nao Visualizado) na listagem da tela "Controle de processos"
  939 + //trecho comentado para preservar apresentacao do "icone amarelo" na tela de Controle de Processos
  940 + /*
  941 + $atividadeRN = new AtividadeRN();
  942 + $atividadeBD = new AtividadeBD( $this->getObjInfraIBanco() );
  943 + $atividadeDTO = new AtividadeDTO();
  944 + $atividadeDTO->retTodos();
  945 + $atividadeDTO->setDblIdProtocolo( $this->getProcedimentoDTO()->getDblIdProcedimento() );
  946 + $atividadeDTO->setOrd("IdAtividade", InfraDTO::$TIPO_ORDENACAO_DESC);
  947 + $ultimaAtividadeDTO = $atividadeRN->listarRN0036( $atividadeDTO );
  948 +
  949 + //alterar a ultima atividade criada para nao visualizado
  950 + if( $ultimaAtividadeDTO != null && count( $ultimaAtividadeDTO ) > 0){
  951 + $ultimaAtividadeDTO[0]->setNumTipoVisualizacao( AtividadeRN::$TV_NAO_VISUALIZADO );
  952 + $atividadeBD->alterar( $ultimaAtividadeDTO[0] );
  953 + }
  954 + */
  955 +
  956 + // Temporários apagando
  957 + $arquivos_enviados = PaginaSEIExterna::getInstance()->getArrItensTabelaDinamica($params['hdnTbDocumento']);
  958 + foreach ($arquivos_enviados as $arquivo_enviado) {
  959 + unlink(DIR_SEI_TEMP.'/'.$arquivo_enviado[7]);
  960 + }
  961 +
  962 + return array(
  963 + 'recibo' => $objReciboDTO,
  964 + 'documento' => $documentoReciboDTO
  965 + );
  966 + //Gerar Recibo e executar javascript para fechar janela filha e redirecionar janela pai para a tela de detalhes do recibo que foi gerado]
  967 +
  968 + }
  969 +
  970 + return false;
  971 + }
  972 +
  973 + private function getDocumentoRecibo()
  974 + {
  975 + return $this->documentoRecibo;
  976 + }
  977 +
  978 + private function setDocumentoRecibo($documentoDTO)
  979 + {
  980 + $this->documentoRecibo = $documentoDTO;
  981 + }
  982 +
  983 + private function simularLogin($idUnidade)
  984 + {
  985 + SessaoSEI::getInstance()->simularLogin(null, null, SessaoSEIExterna::getInstance()->getNumIdUsuarioExterno(), $idUnidade);
  986 + $this->setUnidadeDTO($idUnidade);
  987 + }
  988 +
  989 + private function validarCadastro($params){
  990 + // Bloco de validações
  991 + $objInfraException = new InfraException();
  992 + $this->validarSenhaSei($params['senhaSEI'], $objInfraException);
  993 + $this->validarDocumentos($params['hdnTbDocumento'], $objInfraException);
  994 + $this->validarNumIdProcedimento($params['id_procedimento'], $objInfraException);
  995 + $this->validarNumIdTipoProcedimento($params['id_tipo_procedimento'], $objInfraException);
  996 + $objInfraException->lancarValidacoes();
  997 + }
  998 +
  999 + private function validarSenhaSei($senha, InfraException $objInfraException){
  1000 + if (InfraString::isBolVazia($senha)){
  1001 + $objInfraException->adicionarValidacao('Senha não informada.');
820 } 1002 }
821 -  
822 - $objMdPetParticipanteRN = new MdPetParticipanteRN();  
823 - $arrInteressado = array();  
824 - $arrInteressado[0] = $this->getProcedimentoDTO()->getDblIdProcedimento();  
825 - $arrInteressado[1] = $idsParticipantes;  
826 - //$arrInteressado[2] = $idsRemententes;  
827 - $objMdPetParticipanteRN->setInteressadosRemetentesProcedimentoDocumento( $arrInteressado );  
828 - // Processo - Interessados - FIM  
829 -  
830 -  
831 - $arrDocApi = MdPetIntercorrenteINT::montarArrDocumentoAPI($params['id_procedimento'],$params['hdnTbDocumento']);  
832 -  
833 - $arrObjReciboDocPet = $this->incluirDocumentosApi($this->getProcedimentoDTO(), $arrDocApi);  
834 -  
835 - $objMdPetReciboRN = new MdPetReciboRN();  
836 - $objReciboDTO = $objMdPetReciboRN->gerarReciboSimplificadoIntercorrente($arrDadosRecibo);  
837 -  
838 - if (count($objReciboDTO) > 0) {  
839 - $this->setReciboDTO($objReciboDTO);  
840 - $this->cadastrarReciboDocumentoAnexo(array($objReciboDTO, $arrObjReciboDocPet));  
841 -  
842 - $documentoReciboDTO = $this->montarReciboIntercorrente($params);  
843 -  
844 - //Remetentes  
845 - $idsParticipantes = array();  
846 -  
847 - $objParticipante = new ParticipanteDTO();  
848 - $objParticipante->setDblIdProtocolo($documentoReciboDTO->getDblIdDocumento());  
849 - $objParticipante->setNumIdContato($this->getContatoDTOUsuarioLogado()->getNumIdContato());  
850 - $objParticipante->setNumIdUnidade($idUnidadeProcesso);  
851 - $objParticipante->setStrStaParticipacao(ParticipanteRN::$TP_REMETENTE);  
852 - $objParticipante->setNumSequencia(0);  
853 - $idsParticipantes[] = $objParticipante;  
854 -  
855 - // Recibo - Interessados  
856 - $i=0;  
857 - foreach($arrobjParticipanteProcPrinc as $objParticipanteProcPrinc){  
858 - $objParticipante = new ParticipanteDTO();  
859 - $objParticipante->setDblIdProtocolo($documentoReciboDTO->getDblIdDocumento());  
860 - $objParticipante->setNumIdContato($objParticipanteProcPrinc->getNumIdContato());  
861 - $objParticipante->setNumIdUnidade($objParticipanteProcPrinc->getNumIdUnidade());  
862 - $objParticipante->setStrStaParticipacao(ParticipanteRN::$TP_INTERESSADO);  
863 - $objParticipante->setNumSequencia($i);  
864 - $idsParticipantes[] = $objParticipante;  
865 - $i++;  
866 - }  
867 -  
868 - $objMdPetParticipanteRN = new MdPetParticipanteRN();  
869 - $arrInteressado = array();  
870 - $arrInteressado[0] = $documentoReciboDTO->getDblIdDocumento();  
871 - $arrInteressado[1] = $idsParticipantes;  
872 - //$arrInteressado[2] = $idsRemententes;  
873 -  
874 - $objMdPetParticipanteRN->setInteressadosRemetentesProcedimentoDocumento( $arrInteressado );  
875 - // Recibo - Interessados - FIM  
876 -  
877 - $this->setDocumentoRecibo($documentoReciboDTO);  
878 - $this->enviarEmail($params); 1003 + $objMdPetProcessoRN = new MdPetProcessoRN();
  1004 + $objMdPetProcessoRN->validarSenha(array('senhaSEI' => $senha));
  1005 + }
  1006 +
  1007 + private function validarDocumentos($hdnTbDocumento, InfraException $objInfraException){
  1008 + if (InfraString::isBolVazia($hdnTbDocumento)){
  1009 + $objInfraException->adicionarValidacao('Nenhum documento foi enviado.');
  1010 + }
  1011 + }
  1012 +
  1013 + private function validarNumIdProcedimento($numIdProcedimento, InfraException $objInfraException){
  1014 + if (InfraString::isBolVazia($numIdProcedimento)){
  1015 + $objInfraException->adicionarValidacao('Processo não informado.');
  1016 + }
  1017 + }
  1018 +
  1019 + private function validarNumIdTipoProcedimento($numIdTipoProcedimento, InfraException $objInfraException){
  1020 + if (InfraString::isBolVazia($numIdTipoProcedimento)){
  1021 + $objInfraException->adicionarValidacao('Senha não informada.');
  1022 + }
  1023 + }
  1024 +
  1025 + private function setUnidadeDTO($numIdUnidade)
  1026 + {
  1027 + $objUnidadeConsultaDTO = new UnidadeDTO();
  1028 + $objUnidadeConsultaDTO->retTodos(true);
  1029 + $objUnidadeConsultaDTO->setNumIdUnidade($numIdUnidade);
  1030 + $objUnidadeRN = new UnidadeRN();
  1031 + $this->objUnidadeDTO = $objUnidadeRN->consultarRN0125($objUnidadeConsultaDTO);
  1032 + $this->setOrgaoDTO($this->objUnidadeDTO->getNumIdOrgao());
  1033 + }
  1034 +
  1035 + private function getUnidadeDTO()
  1036 + {
  1037 + return $this->objUnidadeDTO;
  1038 + }
  1039 +
  1040 + private function setOrgaoDTO($numIdOrgao)
  1041 + {
  1042 + $orgaoDTO = new OrgaoDTO();
  1043 + $orgaoDTO->retTodos();
  1044 + $orgaoDTO->retStrEmailContato();
  1045 + $orgaoDTO->setNumIdOrgao( $numIdOrgao );
  1046 + $orgaoDTO->setStrSinAtivo('S');
  1047 + $orgaoRN = new OrgaoRN();
  1048 + $this->objOrgaoDTO = $orgaoRN->consultarRN1352($orgaoDTO);
  1049 +
  1050 + }
  1051 +
  1052 + private function getOrgaoDTO()
  1053 + {
  1054 + return $this->objOrgaoDTO;
  1055 + }
  1056 +
  1057 + private function setCargoDTO($numIdCargo)
  1058 + {
  1059 + $cargoDTO = new CargoDTO();
  1060 + $cargoDTO->retNumIdCargo();
  1061 + $cargoDTO->retStrExpressao();
  1062 + $cargoDTO->retStrSinAtivo();
  1063 + $cargoDTO->setNumIdCargo( $numIdCargo );
  1064 + $cargoDTO->setStrSinAtivo('S');
  1065 + $cargoRN = new CargoRN();
  1066 + $this->objCargoDTO = $cargoRN->consultarRN0301($cargoDTO);
  1067 + }
  1068 +
  1069 + private function getCargoDTO()
  1070 + {
  1071 + return $this->objCargoDTO;
  1072 + }
  1073 +
  1074 + private function getUsuarioDTO()
  1075 + {
  1076 + if($this->objUsuarioDTO === null){
  1077 + $objUsuarioDTO = new UsuarioDTO();
  1078 + $objUsuarioDTO->retTodos();
  1079 + $objUsuarioDTO->setNumIdUsuario( SessaoSEIExterna::getInstance()->getNumIdUsuarioExterno() );
879 1080
880 - // obtendo a ultima atividade informada para o processo, para marcar  
881 - // como nao visualizada, deixando assim o processo marcado como "vermelho"  
882 - // (status de Nao Visualizado) na listagem da tela "Controle de processos"  
883 - //trecho comentado para preservar apresentacao do "icone amarelo" na tela de Controle de Processos  
884 - /*  
885 - $atividadeRN = new AtividadeRN();  
886 - $atividadeBD = new AtividadeBD( $this->getObjInfraIBanco() );  
887 - $atividadeDTO = new AtividadeDTO();  
888 - $atividadeDTO->retTodos();  
889 - $atividadeDTO->setDblIdProtocolo( $this->getProcedimentoDTO()->getDblIdProcedimento() );  
890 - $atividadeDTO->setOrd("IdAtividade", InfraDTO::$TIPO_ORDENACAO_DESC);  
891 - $ultimaAtividadeDTO = $atividadeRN->listarRN0036( $atividadeDTO );  
892 -  
893 - //alterar a ultima atividade criada para nao visualizado  
894 - if( $ultimaAtividadeDTO != null && count( $ultimaAtividadeDTO ) > 0){  
895 - $ultimaAtividadeDTO[0]->setNumTipoVisualizacao( AtividadeRN::$TV_NAO_VISUALIZADO );  
896 - $atividadeBD->alterar( $ultimaAtividadeDTO[0] );  
897 - }  
898 - */  
899 -  
900 - // Temporários apagando  
901 - $arquivos_enviados = PaginaSEIExterna::getInstance()->getArrItensTabelaDinamica($params['hdnTbDocumento']);  
902 - foreach ($arquivos_enviados as $arquivo_enviado) {  
903 - unlink(DIR_SEI_TEMP.'/'.$arquivo_enviado[7]);  
904 - }  
905 -  
906 - return array(  
907 - 'recibo' => $objReciboDTO,  
908 - 'documento' => $documentoReciboDTO  
909 - );  
910 - //Gerar Recibo e executar javascript para fechar janela filha e redirecionar janela pai para a tela de detalhes do recibo que foi gerado]  
911 -  
912 - }  
913 -  
914 - return false;  
915 - }  
916 -  
917 - private function getDocumentoRecibo()  
918 - {  
919 - return $this->documentoRecibo;  
920 - }  
921 -  
922 - private function setDocumentoRecibo($documentoDTO)  
923 - {  
924 - $this->documentoRecibo = $documentoDTO;  
925 - }  
926 -  
927 - private function simularLogin($idUnidade)  
928 - {  
929 - SessaoSEI::getInstance()->simularLogin(null, null, SessaoSEIExterna::getInstance()->getNumIdUsuarioExterno(), $idUnidade);  
930 - $this->setUnidadeDTO($idUnidade);  
931 - }  
932 -  
933 - private function validarCadastro($params){  
934 - // Bloco de validações  
935 - $objInfraException = new InfraException();  
936 - $this->validarSenhaSei($params['senhaSEI'], $objInfraException);  
937 - $this->validarDocumentos($params['hdnTbDocumento'], $objInfraException);  
938 - $this->validarNumIdProcedimento($params['id_procedimento'], $objInfraException);  
939 - $this->validarNumIdTipoProcedimento($params['id_tipo_procedimento'], $objInfraException);  
940 - $objInfraException->lancarValidacoes();  
941 - }  
942 -  
943 - private function validarSenhaSei($senha, InfraException $objInfraException){  
944 - if (InfraString::isBolVazia($senha)){  
945 - $objInfraException->adicionarValidacao('Senha não informada.');  
946 - }  
947 - $objMdPetProcessoRN = new MdPetProcessoRN();  
948 - $objMdPetProcessoRN->validarSenha(array('senhaSEI' => $senha));  
949 - }  
950 -  
951 - private function validarDocumentos($hdnTbDocumento, InfraException $objInfraException){  
952 - if (InfraString::isBolVazia($hdnTbDocumento)){  
953 - $objInfraException->adicionarValidacao('Nenhum documento foi enviado.');  
954 - }  
955 - }  
956 -  
957 - private function validarNumIdProcedimento($numIdProcedimento, InfraException $objInfraException){  
958 - if (InfraString::isBolVazia($numIdProcedimento)){  
959 - $objInfraException->adicionarValidacao('Processo não informado.');  
960 - }  
961 - }  
962 -  
963 - private function validarNumIdTipoProcedimento($numIdTipoProcedimento, InfraException $objInfraException){  
964 - if (InfraString::isBolVazia($numIdTipoProcedimento)){  
965 - $objInfraException->adicionarValidacao('Senha não informada.');  
966 - }  
967 - }  
968 -  
969 - private function setUnidadeDTO($numIdUnidade)  
970 - {  
971 - $objUnidadeConsultaDTO = new UnidadeDTO();  
972 - $objUnidadeConsultaDTO->retTodos(true);  
973 - $objUnidadeConsultaDTO->setNumIdUnidade($numIdUnidade);  
974 - $objUnidadeRN = new UnidadeRN();  
975 - $this->objUnidadeDTO = $objUnidadeRN->consultarRN0125($objUnidadeConsultaDTO);  
976 - $this->setOrgaoDTO($this->objUnidadeDTO->getNumIdOrgao());  
977 - }  
978 -  
979 - private function getUnidadeDTO()  
980 - {  
981 - return $this->objUnidadeDTO;  
982 - }  
983 -  
984 - private function setOrgaoDTO($numIdOrgao)  
985 - {  
986 - $orgaoDTO = new OrgaoDTO();  
987 - $orgaoDTO->retTodos();  
988 - $orgaoDTO->retStrEmailContato();  
989 - $orgaoDTO->setNumIdOrgao( $numIdOrgao );  
990 - $orgaoDTO->setStrSinAtivo('S');  
991 - $orgaoRN = new OrgaoRN();  
992 - $this->objOrgaoDTO = $orgaoRN->consultarRN1352($orgaoDTO);  
993 -  
994 - }  
995 -  
996 - private function getOrgaoDTO()  
997 - {  
998 - return $this->objOrgaoDTO;  
999 - }  
1000 -  
1001 - private function setCargoDTO($numIdCargo)  
1002 - {  
1003 - $cargoDTO = new CargoDTO();  
1004 - $cargoDTO->retNumIdCargo();  
1005 - $cargoDTO->retStrExpressao();  
1006 - $cargoDTO->retStrSinAtivo();  
1007 - $cargoDTO->setNumIdCargo( $numIdCargo );  
1008 - $cargoDTO->setStrSinAtivo('S');  
1009 - $cargoRN = new CargoRN();  
1010 - $this->objCargoDTO = $cargoRN->consultarRN0301($cargoDTO);  
1011 - }  
1012 -  
1013 - private function getCargoDTO()  
1014 - {  
1015 - return $this->objCargoDTO;  
1016 - }  
1017 -  
1018 - private function getUsuarioDTO()  
1019 - {  
1020 - if($this->objUsuarioDTO === null){  
1021 - $objUsuarioDTO = new UsuarioDTO();  
1022 - $objUsuarioDTO->retTodos();  
1023 - $objUsuarioDTO->setNumIdUsuario( SessaoSEIExterna::getInstance()->getNumIdUsuarioExterno() );  
1024 -  
1025 - $objUsuarioRN = new UsuarioRN();  
1026 - $this->objUsuarioDTO = $objUsuarioRN->consultarRN0489( $objUsuarioDTO );  
1027 - }  
1028 - return $this->objUsuarioDTO;  
1029 -  
1030 - }  
1031 -  
1032 - private function setProcedimentoDTO($idProcedimento)  
1033 - {  
1034 - $objProcedimentoDTO = new ProcedimentoDTO();  
1035 - $objProcedimentoRN = new ProcedimentoRN();  
1036 - $objProcedimentoDTO->setDblIdProcedimento($idProcedimento);  
1037 - $objProcedimentoDTO->retDblIdProcedimento();  
1038 - $objProcedimentoDTO->retStrProtocoloProcedimentoFormatado();  
1039 - $objProcedimentoDTO->retTodos(true);  
1040 - $this->objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO);  
1041 - }  
1042 -  
1043 - private function getProcedimentoDTO()  
1044 - {  
1045 - return $this->objProcedimentoDTO;  
1046 - }  
1047 -  
1048 - private function getSenha(){  
1049 - return $this->senha;  
1050 - }  
1051 -  
1052 - private function setSenha($senha){  
1053 - $this->senha = $senha;  
1054 - }  
1055 -  
1056 - private function setReciboDTO($reciboDTO){  
1057 - $this->reciboDTO = $reciboDTO;  
1058 - }  
1059 -  
1060 - private function getReciboDTO()  
1061 - {  
1062 - return $this->reciboDTO;  
1063 - }  
1064 -  
1065 - private function setParticipante($participanteDTO)  
1066 - {  
1067 - $this->participantesDTO = $participanteDTO;  
1068 - }  
1069 -  
1070 - private function getParticipanteDTO()  
1071 - {  
1072 - return $this->participantesDTO;  
1073 - }  
1074 -  
1075 - private function addDocumentos($documento){  
1076 - $this->arrDocumentos[] = $documento;  
1077 - }  
1078 -  
1079 - private function getDocumentos(){  
1080 - return $this->arrDocumentos;  
1081 - }  
1082 - 1081 + $objUsuarioRN = new UsuarioRN();
  1082 + $this->objUsuarioDTO = $objUsuarioRN->consultarRN0489( $objUsuarioDTO );
  1083 + }
  1084 + return $this->objUsuarioDTO;
  1085 +
  1086 + }
  1087 +
  1088 + private function setProcedimentoDTO($idProcedimento)
  1089 + {
  1090 + $objProcedimentoDTO = new ProcedimentoDTO();
  1091 + $objProcedimentoRN = new ProcedimentoRN();
  1092 + $objProcedimentoDTO->setDblIdProcedimento($idProcedimento);
  1093 + $objProcedimentoDTO->retDblIdProcedimento();
  1094 + $objProcedimentoDTO->retStrProtocoloProcedimentoFormatado();
  1095 + $objProcedimentoDTO->retTodos(true);
  1096 + $this->objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO);
  1097 + }
  1098 +
  1099 + private function getProcedimentoDTO()
  1100 + {
  1101 + return $this->objProcedimentoDTO;
  1102 + }
  1103 +
  1104 + private function getSenha(){
  1105 + return $this->senha;
  1106 + }
  1107 +
  1108 + private function setSenha($senha){
  1109 + $this->senha = $senha;
  1110 + }
  1111 +
  1112 + private function setReciboDTO($reciboDTO){
  1113 + $this->reciboDTO = $reciboDTO;
  1114 + }
  1115 +
  1116 + private function getReciboDTO()
  1117 + {
  1118 + return $this->reciboDTO;
  1119 + }
  1120 +
  1121 + private function setParticipante($participanteDTO)
  1122 + {
  1123 + $this->participantesDTO = $participanteDTO;
  1124 + }
  1125 +
  1126 + private function getParticipanteDTO()
  1127 + {
  1128 + return $this->participantesDTO;
  1129 + }
  1130 +
  1131 + private function addDocumentos($documento){
  1132 + $this->arrDocumentos[] = $documento;
  1133 + }
  1134 +
  1135 + private function getDocumentos(){
  1136 + return $this->arrDocumentos;
  1137 + }
  1138 +
1083 private function getContatoDTOUsuarioLogado(){ 1139 private function getContatoDTOUsuarioLogado(){
1084 - 1140 +
1085 $usuarioRN = new UsuarioRN(); 1141 $usuarioRN = new UsuarioRN();
1086 $usuarioDTO = new UsuarioDTO(); 1142 $usuarioDTO = new UsuarioDTO();
1087 $usuarioDTO->retNumIdUsuario(); 1143 $usuarioDTO->retNumIdUsuario();
@@ -1089,84 +1145,84 @@ class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN { @@ -1089,84 +1145,84 @@ class MdPetIntercorrenteProcessoRN extends MdPetProcessoRN {
1089 $usuarioDTO->retNumIdContato(); 1145 $usuarioDTO->retNumIdContato();
1090 $usuarioDTO->retStrNomeContato(); 1146 $usuarioDTO->retStrNomeContato();
1091 $usuarioDTO = $usuarioRN->consultarRN0489( $usuarioDTO ); 1147 $usuarioDTO = $usuarioRN->consultarRN0489( $usuarioDTO );
1092 - 1148 +
1093 $contatoRN = new ContatoRN(); 1149 $contatoRN = new ContatoRN();
1094 $contatoDTO = new ContatoDTO(); 1150 $contatoDTO = new ContatoDTO();
1095 $contatoDTO->retTodos(); 1151 $contatoDTO->retTodos();
1096 $contatoDTO->setNumIdContato( $usuarioDTO->getNumIdContato() ); 1152 $contatoDTO->setNumIdContato( $usuarioDTO->getNumIdContato() );
1097 $contatoDTO = $contatoRN->consultarRN0324( $contatoDTO ); 1153 $contatoDTO = $contatoRN->consultarRN0324( $contatoDTO );
1098 - 1154 +
1099 return $contatoDTO; 1155 return $contatoDTO;
1100 } 1156 }
1101 -  
1102 - /** $arquivos_enviados[0] recebe idLinha  
1103 - * $arquivos_enviados[1] recebe idTipoDocumento  
1104 - * $arquivos_enviados[2] recebe complementoTipoDocumento  
1105 - * $arquivos_enviados[3] recebe idNivelAcesso  
1106 - * $arquivos_enviados[4] recebe idHipoteseLegal  
1107 - * $arquivos_enviados[5] recebe idFormato  
1108 - * $arquivos_enviados[6] recebe idTipoConferencia  
1109 - * $arquivos_enviados[7] recebe nomeArquivoHash  
1110 - * $arquivos_enviados[8] recebe tamanhoArquivo  
1111 - * $arquivos_enviados[9] recebe nomeArquivo  
1112 - * $arquivos_enviados[10] recebe dataHora  
1113 - * $arquivos_enviados[11] recebe tamanhoArquivoFormatado  
1114 - * $arquivos_enviados[12] recebe documento  
1115 - * $arquivos_enviados[13] recebe nivelAcesso  
1116 - * $arquivos_enviados[14] recebe formato  
1117 - */ 1157 +
  1158 + /** $arquivos_enviados[0] recebe idLinha
  1159 + * $arquivos_enviados[1] recebe idTipoDocumento
  1160 + * $arquivos_enviados[2] recebe complementoTipoDocumento
  1161 + * $arquivos_enviados[3] recebe idNivelAcesso
  1162 + * $arquivos_enviados[4] recebe idHipoteseLegal
  1163 + * $arquivos_enviados[5] recebe idFormato
  1164 + * $arquivos_enviados[6] recebe idTipoConferencia
  1165 + * $arquivos_enviados[7] recebe nomeArquivoHash
  1166 + * $arquivos_enviados[8] recebe tamanhoArquivo
  1167 + * $arquivos_enviados[9] recebe nomeArquivo
  1168 + * $arquivos_enviados[10] recebe dataHora
  1169 + * $arquivos_enviados[11] recebe tamanhoArquivoFormatado
  1170 + * $arquivos_enviados[12] recebe documento
  1171 + * $arquivos_enviados[13] recebe nivelAcesso
  1172 + * $arquivos_enviados[14] recebe formato
  1173 + */
1118 public static function removerArquivoIntecorrenteTemp($arquivos_enviado){ 1174 public static function removerArquivoIntecorrenteTemp($arquivos_enviado){
1119 - //se for varios mandado pelo hdn  
1120 - if(is_string($arquivos_enviado)){  
1121 - $arquivos_enviados = PaginaSEIExterna::getInstance()->getArrItensTabelaDinamica($arquivos_enviado);  
1122 -  
1123 - $xml = null;  
1124 - foreach ($arquivos_enviados as $arquivo_enviado) {  
1125 - $arquivo = DIR_SEI_TEMP.'/'.$arquivo_enviado[7];  
1126 - if(file_exists($arquivo)){  
1127 - unlink($arquivo);  
1128 - $xml = "<success>true</success>";  
1129 - }  
1130 - }  
1131 - }else{  
1132 - $arquivo = DIR_SEI_TEMP.'/'.$arquivos_enviado[7];  
1133 - if(file_exists($arquivo)){  
1134 - unlink($arquivo);  
1135 - $xml = "<success>true</success>";  
1136 - }  
1137 - }  
1138 -  
1139 - if($xml)  
1140 - return $xml;  
1141 -  
1142 - return "<success>false</success>";  
1143 - }  
1144 -  
1145 -  
1146 - /**  
1147 - * $arquivos_enviados[0] recebe nome,  
1148 - * $arquivos_enviados[1] recebe dataHora,  
1149 - * $arquivos_enviados[2] recebe tamanhoFormatado,  
1150 - * $arquivos_enviados[3] recebe documento,  
1151 - * $arquivos_enviados[4] recebe nivelAcesso,  
1152 - * $arquivos_enviados[5] recebe hipoteseLegal,  
1153 - * $arquivos_enviados[6] recebe formatoDocumento,  
1154 - * $arquivos_enviados[7] recebe tipoConferencia,  
1155 - * $arquivos_enviados[8] recebe nomeUpload,  
1156 - * $arquivos_enviados[9] recebe idTpoPrincipal,  
1157 - * $arquivos_enviados[10] recebe strComplemento,  
1158 - * $arquivos_enviados[11] recebe formatoDocumentoLbl,  
1159 - * $arquivos_enviados[12] recebe ''  
1160 - */  
1161 - public static function removerArquivoTemp($arquivos_enviado){  
1162 - $arquivo = DIR_SEI_TEMP.'/'.$arquivos_enviado[8];  
1163 - if(file_exists($arquivo)){  
1164 - unlink($arquivo);  
1165 - return "<success>true</success>";  
1166 - }  
1167 -  
1168 - return "<success>false</success>";  
1169 - }  
1170 - 1175 + //se for varios mandado pelo hdn
  1176 + if(is_string($arquivos_enviado)){
  1177 + $arquivos_enviados = PaginaSEIExterna::getInstance()->getArrItensTabelaDinamica($arquivos_enviado);
  1178 +
  1179 + $xml = null;
  1180 + foreach ($arquivos_enviados as $arquivo_enviado) {
  1181 + $arquivo = DIR_SEI_TEMP.'/'.$arquivo_enviado[7];
  1182 + if(file_exists($arquivo)){
  1183 + unlink($arquivo);
  1184 + $xml = "<success>true</success>";
  1185 + }
  1186 + }
  1187 + }else{
  1188 + $arquivo = DIR_SEI_TEMP.'/'.$arquivos_enviado[7];
  1189 + if(file_exists($arquivo)){
  1190 + unlink($arquivo);
  1191 + $xml = "<success>true</success>";
  1192 + }
  1193 + }
  1194 +
  1195 + if($xml)
  1196 + return $xml;
  1197 +
  1198 + return "<success>false</success>";
  1199 + }
  1200 +
  1201 +
  1202 + /**
  1203 + * $arquivos_enviados[0] recebe nome,
  1204 + * $arquivos_enviados[1] recebe dataHora,
  1205 + * $arquivos_enviados[2] recebe tamanhoFormatado,
  1206 + * $arquivos_enviados[3] recebe documento,
  1207 + * $arquivos_enviados[4] recebe nivelAcesso,
  1208 + * $arquivos_enviados[5] recebe hipoteseLegal,
  1209 + * $arquivos_enviados[6] recebe formatoDocumento,
  1210 + * $arquivos_enviados[7] recebe tipoConferencia,
  1211 + * $arquivos_enviados[8] recebe nomeUpload,
  1212 + * $arquivos_enviados[9] recebe idTpoPrincipal,
  1213 + * $arquivos_enviados[10] recebe strComplemento,
  1214 + * $arquivos_enviados[11] recebe formatoDocumentoLbl,
  1215 + * $arquivos_enviados[12] recebe ''
  1216 + */
  1217 + public static function removerArquivoTemp($arquivos_enviado){
  1218 + $arquivo = DIR_SEI_TEMP.'/'.$arquivos_enviado[8];
  1219 + if(file_exists($arquivo)){
  1220 + unlink($arquivo);
  1221 + return "<success>true</success>";
  1222 + }
  1223 +
  1224 + return "<success>false</success>";
  1225 + }
  1226 +
1171 } 1227 }
1172 ?> 1228 ?>
1173 \ No newline at end of file 1229 \ No newline at end of file
sip/scripts/sip_atualizar_versao_modulo_peticionamento.php
@@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
8 8
9 require_once dirname(__FILE__).'/../web/Sip.php'; 9 require_once dirname(__FILE__).'/../web/Sip.php';
10 10
11 -class AtualizadorSipModuloPeticionamentoRN extends InfraRN { 11 +class MdPetAtualizadorSipRN extends InfraRN {
12 12
13 private $numSeg = 0; 13 private $numSeg = 0;
14 private $versaoAtualDesteModulo = '1.1.0'; 14 private $versaoAtualDesteModulo = '1.1.0';
@@ -1213,7 +1213,7 @@ try{ @@ -1213,7 +1213,7 @@ try{
1213 1213
1214 SessaoSip::getInstance(false); 1214 SessaoSip::getInstance(false);
1215 1215
1216 - $objVersaoRN = new AtualizadorSipModuloPeticionamentoRN(); 1216 + $objVersaoRN = new MdPetAtualizadorSipRN();
1217 $objVersaoRN->atualizarVersao(); 1217 $objVersaoRN->atualizarVersao();
1218 1218
1219 }catch(Exception $e){ 1219 }catch(Exception $e){