/**
  * 
  */
 private function validarCadastrar()
 {
     if (!$this->getFornecedor()) {
         throw new Exception('Fornecedor inválido.');
     }
     if (!$this->getItem()) {
         throw new Exception('Item inválido.');
     }
     if (!$this->getTipoDocumento()) {
         throw new Exception('Comprovante inválido.');
     }
     if (!$this->getNif()) {
         throw new Exception('NIF inválido.');
     }
     # validar periodo
     $itemModel = new PlanilhaAprovacao();
     $projetoModel = new Projetos();
     $projeto = $projetoModel->find($itemModel->find($this->item)->current()->IdPRONAC)->current();
     $dtInicioExecucao = new DateTime($projeto->DtInicioExecucao);
     $dtFimExecucao = new DateTime($projeto->DtFimExecucao);
     if (!$this->dataEmissao || $this->dataEmissao < $dtInicioExecucao || $this->dataEmissao > $dtFimExecucao) {
         throw new Exception('A data do documento deve estar dentro do período de execução do projeto.');
     }
     if (!$this->comprovanteValor) {
         throw new Exception('Valor do item inválido.');
     }
 }
 public function respostaconsultoriaAction()
 {
     $idEncPrestContas = $this->_request->getParam('idEncPrestContas');
     if (!empty($idEncPrestContas)) {
         $tblEncaminhamento = new tbEncaminhamentoPrestacaoContas();
         $rsEnc = $tblEncaminhamento->buscar(array('idEncPrestContas = ?' => $idEncPrestContas, 'idOrgaoDestino=?' => $this->codOrgao, 'idSituacaoEncPrestContas=?' => 1), array('dtFimEncaminhamento DESC'))->current();
         $this->view->solicitacao = utf8_decode(htmlentities($rsEnc->dsJustificativa));
         $idPronac = $rsEnc->idPronac;
         $tblProjeto = new Projetos();
         $rsProjeto = $tblProjeto->find($idPronac)->current();
         $this->view->PRONAC = $rsProjeto->AnoProjeto . $rsProjeto->Sequencial;
         $this->view->NomeProjeto = $rsProjeto->NomeProjeto;
     }
     $this->view->idOrgao = $this->codOrgao;
     $this->view->idEncPrestContas = $idEncPrestContas;
 }
 /**
  * Faz a publicação na portaria
  */
 public function publicarportariaAction()
 {
     ini_set('memory_limit', '-1');
     if ($_GET['PortariaAprovacao']) {
         $PortariaAprovacao = $_GET['PortariaAprovacao'];
         if (isset($_GET['tipo'])) {
             switch ($_GET['tipo']) {
                 case '':
                     $TipoAprovacao = 1;
                     $situacaoAtual = 'D09';
                     break;
                 case 'complementacao':
                     $TipoAprovacao = 2;
                     $situacaoAtual = 'D16';
                     break;
                 case 'prorrogacao':
                     $TipoAprovacao = 3;
                     $situacaoAtual = 'D17';
                     break;
                 case 'reducao':
                     $TipoAprovacao = 4;
                     $situacaoAtual = 'D23';
                     break;
                 case 'aprovacaoPrestacao':
                     $TipoAprovacao = 5;
                     $situacaoAtual = 'D42';
                     break;
                 case 'reprovacaoPrestacao':
                     $TipoAprovacao = 6;
                     $situacaoAtual = 'D43';
                     break;
                 case 'readequacao':
                     $TipoAprovacao = 8;
                     //$situacaoAtual = 'D43';
                     break;
             }
         } else {
             $TipoAprovacao = 1;
             $situacaoAtual = 'D09';
         }
         $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo');
         // cria a sessão com o grupo ativo
         $orgaoLogado = $GrupoAtivo->codOrgao;
         // manda o órgão ativo do usuário para a visão
         $Orgaos = new Orgaos();
         $orgaoSuperior = $Orgaos->codigoOrgaoSuperior($orgaoLogado)->current();
         $auth = Zend_Auth::getInstance();
         // pega a autenticação
         $usuarioLogado = $auth->getIdentity()->usu_codigo;
         try {
             if ($TipoAprovacao == 5) {
                 PublicacaoDouDAO::situcaopublicacaodou($TipoAprovacao, $PortariaAprovacao, 'E19', $situacaoAtual, $usuarioLogado, $orgaoSuperior->Superior);
             } else {
                 if ($TipoAprovacao == 6) {
                     PublicacaoDouDAO::situcaopublicacaodou($TipoAprovacao, $PortariaAprovacao, 'L05', $situacaoAtual, $usuarioLogado, $orgaoSuperior->Superior);
                 } else {
                     if ($TipoAprovacao == 8) {
                         $where = array();
                         if ($orgaoSuperior->Superior == 251) {
                             $where['a.Area <> ?'] = 2;
                         } else {
                             $where['a.Area = ?'] = 2;
                         }
                         $where['b.TipoAprovacao = ?'] = 8;
                         $where['b.PortariaAprovacao = ?'] = $PortariaAprovacao;
                         $ap = new Aprovacao();
                         $projetos = $ap->consultaPortariaReadequacoes($where);
                         foreach ($projetos as $p) {
                             // READEQUAÇÃO DE ALTERAÇÃO DE RAZÃO SOCIAL
                             if ($p->idTipoReadequacao == 3) {
                                 $Projetos = new Projetos();
                                 $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $p->IdPRONAC))->current();
                                 $Agentes = new Agentes();
                                 $dadosAgente = $Agentes->buscar(array('CNPJCPF=?' => $dadosPrj->CgcCpf))->current();
                                 $Nomes = new Nomes();
                                 $dadosNomes = $Nomes->buscar(array('idAgente=?' => $dadosAgente->idAgente))->current();
                                 $dadosNomes->Descricao = $p->dsSolicitacao;
                                 $dadosNomes->save();
                                 // READEQUAÇÃO DE ALTERAÇÃO DE PROPONENTE
                             } else {
                                 if ($p->idTipoReadequacao == 10) {
                                     $Projetos = new Projetos();
                                     $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $p->IdPRONAC))->current();
                                     $cnpjcpf = Mascara::delMaskCPFCNPJ($p->dsSolicitacao);
                                     $dadosPrj->CgcCpf = $cnpjcpf;
                                     $dadosPrj->save();
                                     // READEQUAÇÃO DE NOME DO PROJETO
                                 } else {
                                     if ($p->idTipoReadequacao == 12) {
                                         $Projetos = new Projetos();
                                         $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $p->IdPRONAC))->current();
                                         $dadosPrj->NomeProjeto = $p->dsSolicitacao;
                                         $dadosPrj->ProvidenciaTomada = 'Projeto aprovado e publicado no Di&aacute;rio Oficial da Uni&atilde;o.';
                                         $dadosPrj->Logon = $usuarioLogado;
                                         $dadosPrj->save();
                                         // READEQUAÇÃO DE RESUMO DO PROJETO
                                     } else {
                                         if ($p->idTipoReadequacao == 15) {
                                             $Projetos = new Projetos();
                                             $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $p->IdPRONAC))->current();
                                             $dadosPrj->ResumoProjeto = $p->dsSolicitacao;
                                             $dadosPrj->ProvidenciaTomada = 'Projeto aprovado e publicado no Di&aacute;rio Oficial da Uni&atilde;o.';
                                             $dadosPrj->Logon = $usuarioLogado;
                                             $dadosPrj->save();
                                         }
                                     }
                                 }
                             }
                             $tbReadequacao = new tbReadequacao();
                             $dadosReadequacao = $tbReadequacao->buscar(array('idReadequacao = ?' => $p->idReadequacao))->current();
                             $dadosReadequacao->siEncaminhamento = 15;
                             $dadosReadequacao->stEstado = 1;
                             $dadosReadequacao->save();
                         }
                         parent::message("Portaria publicada com sucesso!", "publicacaodou/index?pronac=&situacao=" . $this->_getParam('tipo'), "CONFIRM");
                     } else {
                         PublicacaoDouDAO::situcaopublicacaodou($TipoAprovacao, $PortariaAprovacao, 'E10', $situacaoAtual, $usuarioLogado, $orgaoSuperior->Superior);
                         PublicacaoDouDAO::situcaopublicacaodou($TipoAprovacao, $PortariaAprovacao, 'E12', $situacaoAtual, $usuarioLogado, $orgaoSuperior->Superior);
                     }
                 }
             }
             parent::message("Portaria publicada com sucesso!", "publicacaodou/index?pronac=&situacao=" . $_GET['tipo'], "CONFIRM");
         } catch (Exception $e) {
             parent::message("Erro ao atualizar a portaria!" . $e->getMessage(), "publicacaodou/index?pronac=&situacao=" . $_GET['tipo'], "ERROR");
         }
     }
     // fecha if
 }
 public function gravarArquivoMarcaAction()
 {
     $this->_helper->viewRenderer->setNoRender(true);
     $this->_helper->layout->disableLayout();
     // pega as informações do arquivo
     $post = Zend_Registry::get('post');
     $observacao = $post->observacao;
     $idProposta = $post->idPreProjeto;
     $idPronac = $post->idPronac;
     if (!empty($idPronac) && $idPronac != "0") {
         $tbProjeto = new Projetos();
         $rsProjeto = $tbProjeto->find($idPronac)->current();
         if (empty($rsProjeto) || count($rsProjeto) <= 0) {
             $mensagem = "Pronac inv&aacute;lido.";
             $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n";
             $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "ERROR", "script" => $script));
             return;
         }
         if ($_FILES['arquivo']['tmp_name']) {
             $arquivoNome = $_FILES['arquivo']['name'];
             // nome
             $arquivoTemp = $_FILES['arquivo']['tmp_name'];
             // nome temporário
             $arquivoTipo = $_FILES['arquivo']['type'];
             // tipo
             $arquivoTamanho = $_FILES['arquivo']['size'];
             // tamanho
             if (!empty($arquivoNome) && !empty($arquivoTemp)) {
                 $arquivoExtensao = Upload::getExtensao($arquivoNome);
                 // extensão
                 $arquivoBinario = Upload::setBinario($arquivoTemp);
                 // binário
                 $arquivoHash = Upload::setHash($arquivoTemp);
                 // hash
             }
             //VALIDA TAMANHO ARQUIVO
             if ($arquivoTamanho > $this->limiteTamanhoArq) {
                 $mensagem = "O arquivo deve ser menor que 10 MB<br />";
                 $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n";
                 $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "ERROR", "script" => $script));
                 return;
             }
             //VALIDA EXTENSAO ARQUIVO
             if (!in_array($arquivoExtensao, explode(',', 'jpeg,jpg,gif,bmp,png,tif,raw,pdf,JPG, JPEG,GIF,BMP,PNG,TIF,RAW,PDF'))) {
                 $mensagem = "Arquivo com extens&atilde;o Inv&aacute;lida<br />";
                 $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n";
                 $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "ERROR", "script" => $script));
                 return;
             }
             try {
                 $db = Zend_Registry::get('db');
                 $db->setFetchMode(Zend_DB::FETCH_OBJ);
                 $db->beginTransaction();
                 // ==================== PERSISTE DADOS DO ARQUIVO =================//
                 $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'dsTipoPadronizado' => $arquivoTipo, 'nrTamanho' => $arquivoTamanho, 'dtEnvio' => new Zend_Db_Expr('GETDATE()'), 'dsHash' => $arquivoHash, 'stAtivo' => 'I');
                 $tbArquivo = new tbArquivo();
                 $idArquivo = $tbArquivo->inserir($dadosArquivo);
                 // ================== PERSISTE DADOS ARQUIVO - BINARIO ============//
                 $dadosBinario = array('idArquivo' => $idArquivo, 'biArquivo' => new Zend_Db_Expr("CONVERT(varbinary(MAX), {$arquivoBinario})"));
                 $tbArquivoImagem = new tbArquivoImagem();
                 $idArquivoImagem = $tbArquivoImagem->inserir($dadosBinario);
                 // ================= PERSISTE DADOS DO DOCUMENTO ==================//
                 $dadosDoc = array('idArquivo' => $idArquivo, 'idTipoDocumento' => '1', 'dsDocumento' => $observacao);
                 $tbDocumento = new tbDocumento();
                 $idDocumento = $tbDocumento->inserir($dadosDoc);
                 $idDocumento = $idDocumento['idDocumento'];
                 // ================= PERSISTE DOCUMENTO PROPOSTA ==================//
                 if (!empty($idProposta)) {
                     $dadosDocProposta = array('idProposta' => $idProposta, 'idTipoDocumento' => '1', 'idDocumento' => $idDocumento, 'stAtivoDocumentoProposta' => '0');
                     $tbDocProposta = new tbDocumentoProposta();
                     $tbDocProposta->inserir($dadosDocProposta);
                 }
                 // ================= PERSISTE DOCUMENTO PROJETO ===================//
                 if (!empty($idPronac)) {
                     $dadosDocProjeto = array('idPronac' => $idPronac, 'idTipoDocumento' => '1', 'idDocumento' => $idDocumento, 'stAtivoDocumentoProjeto' => '0');
                     $tbDocProjeto = new tbDocumentoProjeto();
                     $tbDocProjeto->inserir($dadosDocProjeto);
                 }
                 //$script = "window.parent.document.getElementById('divMensagem').innerHTML = 'Erro ao enviar arquivo.<br />';\n";
                 $db->commit();
                 $mensagem = "Arquivo enviado com sucesso.";
                 $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n";
                 $script .= "\$('#observacao', parent.document.body).val(''); \n \$('#arquivo', parent.document.body).val('');";
                 $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "CONFIRM", "script" => $script));
                 return;
                 //echo $script;
             } catch (Exception $e) {
                 $db->rollBack();
                 //xd($e->getMessage());
                 $mensagem = "Erro ao enviar arquivo.";
                 $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n";
                 $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "ERROR", "script" => $script));
                 return;
             }
         } else {
             $mensagem = "Nenhum arquivo enviado.";
             $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n";
             $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "ERROR", "script" => $script));
             return;
         }
     } else {
         $mensagem = "Pronac inv&aacute;lido.";
         $script = "window.parent.jqAjaxLinkSemLoading('" . $this->view->baseUrl() . "/upload/listar-arquivo-marca{$this->cod}', '', 'listaDeArquivos');\n";
         $this->montaTela("upload/mensagem.phtml", array("mensagem" => $mensagem, "tipoMensagem" => "ERROR", "script" => $script));
         return;
     }
 }
 public function encaminharReadequacaoChecklistAction()
 {
     if ($this->idPerfil != 93 && $this->idPerfil != 94 && $this->idPerfil != 121 && $this->idPerfil != 122 && $this->idPerfil != 123) {
         parent::message("Você não tem permissão para acessar essa área do sistema!", "principal", "ALERT");
     }
     $auth = Zend_Auth::getInstance();
     $idCoordenador = $auth->getIdentity()->usu_codigo;
     $get = Zend_Registry::get('get');
     $idReadequacao = (int) $get->id;
     $reuniao = new Reuniao();
     $raberta = $reuniao->buscarReuniaoAberta();
     $idNrReuniao = $raberta['stPlenaria'] == 'A' ? $raberta['idNrReuniao'] + 1 : $raberta['idNrReuniao'];
     $tbReadequacaoXParecer = new tbReadequacaoXParecer();
     $dadosParecer = $tbReadequacaoXParecer->buscar(array('idReadequacao=?' => $idReadequacao));
     foreach ($dadosParecer as $key => $dp) {
         $pareceres = array();
         $pareceres[$key] = $dp->idParecer;
     }
     $Parecer = new Parecer();
     $parecerTecnico = $Parecer->buscar(array('IdParecer=(?)' => $pareceres), array('IdParecer'))->current();
     $tbReadequacao = new tbReadequacao();
     if ($parecerTecnico->ParecerFavoravel == 2) {
         //Se for parecer favorável, atualiza os dados solicitados na readequação
         $read = $tbReadequacao->buscarReadequacao(array('idReadequacao =?' => $idReadequacao))->current();
         // READEQUAÇÃO DE PLANILHA ORÇAMENTÁRIA
         if ($read->idTipoReadequacao == 2) {
             $Projetos = new Projetos();
             $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current();
             $tbPlanilhaAprovacao = new tbPlanilhaAprovacao();
             //BUSCAR VALOR TOTAL DA PLANILHA ATIVA
             $where = array();
             $where['a.IdPRONAC = ?'] = $read->idPronac;
             $where['a.stAtivo = ?'] = 'S';
             $PlanilhaAtiva = $tbPlanilhaAprovacao->valorTotalPlanilha($where)->current();
             //BUSCAR VALOR TOTAL DA PLANILHA DE READEQUADA
             $where = array();
             $where['a.IdPRONAC = ?'] = $read->idPronac;
             $where['a.tpPlanilha = ?'] = 'SR';
             $where['a.stAtivo = ?'] = 'N';
             $PlanilhaReadequada = $tbPlanilhaAprovacao->valorTotalPlanilha($where)->current();
             if ($PlanilhaAtiva->Total < $PlanilhaReadequada->Total) {
                 $TipoAprovacao = 2;
                 $dadosPrj->Situacao = 'D28';
             } else {
                 $TipoAprovacao = 4;
                 $dadosPrj->Situacao = 'D29';
             }
             $dadosPrj->save();
             $AprovadoReal = number_format($PlanilhaReadequada->Total - $PlanilhaAtiva->Total, 2, '.', '');
             $tbAprovacao = new Aprovacao();
             $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => $TipoAprovacao, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'AprovadoReal' => $AprovadoReal, 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao);
             $idAprovacao = $tbAprovacao->inserir($dadosAprovacao);
             // READEQUAÇÃO DE ALTERAÇÃO DE RAZÃO SOCIAL
         } else {
             if ($read->idTipoReadequacao == 3) {
                 //Se for readequação de alteração de razão social, atualiza os dados na AGENTES.dbo.Nomes.
                 $Projetos = new Projetos();
                 $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current();
                 $tbAprovacao = new Aprovacao();
                 $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => 8, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao);
                 $idAprovacao = $tbAprovacao->inserir($dadosAprovacao);
                 // READEQUAÇÃO DE AGÊNCIA BANCÁRIA
             } else {
                 if ($read->idTipoReadequacao == 4) {
                     //Se for readequação de agência bancária, atualiza os dados na SAC.dbo.PreProjeto.
                     $Projetos = new Projetos();
                     $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                     $agenciaBancaria = str_replace('-', '', $read->dsSolicitacao);
                     $tblContaBancaria = new ContaBancaria();
                     $arrayDadosBancarios = array('Agencia' => $agenciaBancaria, 'ContaBloqueada' => '000000000000', 'DtLoteRemessaCB' => NULL, 'LoteRemessaCB' => '00000', 'OcorrenciaCB' => '000', 'ContaLivre' => '000000000000', 'DtLoteRemessaCL' => NULL, 'LoteRemessaCL' => '00000', 'OcorrenciaCL' => '000', 'Logon' => $this->idUsuario, 'idPronac' => $read->idPronac);
                     $whereDadosBancarios['AnoProjeto = ?'] = $dadosPrj->AnoProjeto;
                     $whereDadosBancarios['Sequencial = ?'] = $dadosPrj->Sequencial;
                     $tblContaBancaria->alterar($arrayDadosBancarios, $whereDadosBancarios);
                     // READEQUAÇÃO DE SINOPSE DA OBRA
                 } else {
                     if ($read->idTipoReadequacao == 5) {
                         //Se for readequação de sinopse da obra, atualiza os dados na SAC.dbo.PreProjeto.
                         $Projetos = new Projetos();
                         $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                         $PrePropojeto = new PreProjeto();
                         $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current();
                         $dadosPreProjeto->Sinopse = $read->dsSolicitacao;
                         $dadosPreProjeto->save();
                         // READEQUAÇÃO DE IMPACTO AMBIENTAL
                     } else {
                         if ($read->idTipoReadequacao == 6) {
                             //Se for readequação de impacto ambiental, atualiza os dados na SAC.dbo.PreProjeto.
                             $Projetos = new Projetos();
                             $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                             $PrePropojeto = new PreProjeto();
                             $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current();
                             $dadosPreProjeto->ImpactoAmbiental = $read->dsSolicitacao;
                             $dadosPreProjeto->save();
                             // READEQUAÇÃO DE ESPECIFICAÇÃO TÉCNICA
                         } else {
                             if ($read->idTipoReadequacao == 7) {
                                 //Se for readequação de especificação técnica, atualiza os dados na SAC.dbo.PreProjeto.
                                 $Projetos = new Projetos();
                                 $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                 $PrePropojeto = new PreProjeto();
                                 $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current();
                                 $dadosPreProjeto->EspecificacaoTecnica = $read->dsSolicitacao;
                                 $dadosPreProjeto->save();
                                 // READEQUAÇÃO DE ESTRATÉGIA DE EXECUÇÃO
                             } else {
                                 if ($read->idTipoReadequacao == 8) {
                                     //Se for readequação de estratégia de execução, atualiza os dados na SAC.dbo.PreProjeto.
                                     $Projetos = new Projetos();
                                     $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                     $PrePropojeto = new PreProjeto();
                                     $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current();
                                     $dadosPreProjeto->EstrategiadeExecucao = $read->dsSolicitacao;
                                     $dadosPreProjeto->save();
                                     // READEQUAÇÃO DE LOCAL DE REALIZAÇÃO
                                 } else {
                                     if ($read->idTipoReadequacao == 9) {
                                         //Se for readequação de local de realização, atualiza os dados na SAC.dbo.Abrangencia.
                                         $Abrangencia = new Abrangencia();
                                         $tbAbrangencia = new tbAbrangencia();
                                         $abrangencias = $tbAbrangencia->buscar(array('idReadequacao=?' => $idReadequacao));
                                         foreach ($abrangencias as $abg) {
                                             $Projetos = new Projetos();
                                             $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                             //Se não houve avalição do conselheiro, pega a avaliação técnica como referencia.
                                             $avaliacao = $abg->tpAnaliseComissao;
                                             if ($abg->tpAnaliseComissao == 'N') {
                                                 $avaliacao = $abg->tpAnaliseTecnica;
                                             }
                                             //Se a avaliação foi deferida, realiza as mudanças necessárias na tabela original.
                                             if ($avaliacao == 'D') {
                                                 if ($abg->tpSolicitacao == 'E') {
                                                     //Se a abrangencia foi excluída, atualiza os status da abrangencia na SAC.dbo.Abrangencia
                                                     $Abrangencia->delete(array('idProjeto = ?' => $dadosPrj->idProjeto, 'idPais = ?' => $abg->idPais, 'idUF = ?' => $abg->idUF, 'idMunicipioIBGE = ?' => $abg->idMunicipioIBGE));
                                                 } else {
                                                     if ($abg->tpSolicitacao == 'I') {
                                                         //Se a abangência foi incluída, cria um novo registro na tabela SAC.dbo.Abrangencia
                                                         $novoLocalRead = array();
                                                         $novoLocalRead['idProjeto'] = $dadosPrj->idProjeto;
                                                         $novoLocalRead['idPais'] = $abg->idPais;
                                                         $novoLocalRead['idUF'] = $abg->idUF;
                                                         $novoLocalRead['idMunicipioIBGE'] = $abg->idMunicipioIBGE;
                                                         $novoLocalRead['Usuario'] = $this->idUsuario;
                                                         $novoLocalRead['stAbrangencia'] = 1;
                                                         $Abrangencia->salvar($novoLocalRead);
                                                     }
                                                 }
                                             }
                                         }
                                         $dadosAbr = array();
                                         $dadosAbr['stAtivo'] = 'N';
                                         $whereAbr = "idPronac = {$read->idPronac} AND idReadequacao = {$idReadequacao}";
                                         $tbAbrangencia->update($dadosAbr, $whereAbr);
                                         // READEQUAÇÃO DE ALTERAÇÃO DE PROPONENTE
                                     } else {
                                         if ($read->idTipoReadequacao == 10) {
                                             //Se for readequação de alteração de proponente, atualiza os dados na SAC.dbo.Projetos.
                                             $Projetos = new Projetos();
                                             $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current();
                                             $tbAprovacao = new Aprovacao();
                                             $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => 8, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao);
                                             $idAprovacao = $tbAprovacao->inserir($dadosAprovacao);
                                             // READEQUAÇÃO DE PLANO DE DISTRIBUIÇÃO
                                         } else {
                                             if ($read->idTipoReadequacao == 11) {
                                                 //Se for readequação de plano de distribuição, atualiza os dados na SAC.dbo.PlanoDistribuicaoProduto.
                                                 $PlanoDistribuicaoProduto = new PlanoDistribuicaoProduto();
                                                 $tbPlanoDistribuicao = new tbPlanoDistribuicao();
                                                 $planosDistribuicao = $tbPlanoDistribuicao->buscar(array('idReadequacao=?' => $idReadequacao));
                                                 foreach ($planosDistribuicao as $plano) {
                                                     $Projetos = new Projetos();
                                                     $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                                     //Se não houve avalição do conselheiro, pega a avaliação técnica como referencia.
                                                     $avaliacao = $plano->tpAnaliseComissao;
                                                     if ($plano->tpAnaliseComissao == 'N') {
                                                         $avaliacao = $plano->tpAnaliseTecnica;
                                                     }
                                                     //Se a avaliação foi deferida, realiza as mudanças necessárias na tabela original.
                                                     if ($avaliacao == 'D') {
                                                         if ($plano->tpSolicitacao == 'E') {
                                                             //Se o plano de distribuição foi excluído, atualiza os status do plano na SAC.dbo.PlanoDistribuicaoProduto
                                                             $PlanoDistribuicaoProduto->delete(array('idProjeto = ?' => $dadosPrj->idProjeto, 'idProduto = ?' => $plano->idProduto, 'Area = ?' => $plano->cdArea, 'Segmento = ?' => $plano->cdSegmento));
                                                         } else {
                                                             if ($plano->tpSolicitacao == 'I') {
                                                                 //Se o plano de distribuição foi incluído, cria um novo registro na tabela SAC.dbo.PlanoDistribuicaoProduto
                                                                 $novoPlanoDistRead = array();
                                                                 $novoPlanoDistRead['idProjeto'] = $dadosPrj->idProjeto;
                                                                 $novoPlanoDistRead['idProduto'] = $plano->idProduto;
                                                                 $novoPlanoDistRead['Area'] = $plano->cdArea;
                                                                 $novoPlanoDistRead['Segmento'] = $plano->cdSegmento;
                                                                 $novoPlanoDistRead['idPosicaoDaLogo'] = $plano->idPosicaoLogo;
                                                                 $novoPlanoDistRead['QtdeProduzida'] = $plano->qtProduzida;
                                                                 $novoPlanoDistRead['QtdePatrocinador'] = $plano->qtPatrocinador;
                                                                 $novoPlanoDistRead['QtdeProponente'] = $plano->qtProponente;
                                                                 $novoPlanoDistRead['QtdeOutros'] = $plano->qtOutros;
                                                                 $novoPlanoDistRead['QtdeVendaNormal'] = $plano->qtVendaNormal;
                                                                 $novoPlanoDistRead['QtdeVendaPromocional'] = $plano->qtVendaPromocional;
                                                                 $novoPlanoDistRead['PrecoUnitarioNormal'] = $plano->vlUnitarioNormal;
                                                                 $novoPlanoDistRead['PrecoUnitarioPromocional'] = $plano->vlUnitarioPromocional;
                                                                 $novoPlanoDistRead['stPrincipal'] = 0;
                                                                 $novoPlanoDistRead['Usuario'] = $this->idUsuario;
                                                                 $novoPlanoDistRead['dsJustificativaPosicaoLogo'] = null;
                                                                 $novoPlanoDistRead['stPlanoDistribuicaoProduto'] = 1;
                                                                 $PlanoDistribuicaoProduto->inserir($novoPlanoDistRead);
                                                             }
                                                         }
                                                     }
                                                 }
                                                 $dadosPDD = array();
                                                 $dadosPDD['stAtivo'] = 'N';
                                                 $wherePDD = "idPronac = {$read->idPronac} AND idReadequacao = {$idReadequacao}";
                                                 $tbPlanoDistribuicao->update($dadosPDD, $wherePDD);
                                                 // READEQUAÇÃO DE NOME DO PROJETO
                                             } else {
                                                 if ($read->idTipoReadequacao == 12) {
                                                     //Se for readequação de nome do projeto, insere o registo na tela de Checklist de Publicação.
                                                     $Projetos = new Projetos();
                                                     $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current();
                                                     $tbAprovacao = new Aprovacao();
                                                     $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => 8, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao);
                                                     $idAprovacao = $tbAprovacao->inserir($dadosAprovacao);
                                                     // READEQUAÇÃO DE PERÍODO DE EXECUÇÃO
                                                 } else {
                                                     if ($read->idTipoReadequacao == 13) {
                                                         //Se for readequação de período de execução, atualiza os dados na SAC.dbo.Projetos.
                                                         $dtFimExecucao = Data::dataAmericana($read->dsSolicitacao);
                                                         $Projetos = new Projetos();
                                                         $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current();
                                                         $dadosPrj->DtFimExecucao = $dtFimExecucao;
                                                         $dadosPrj->save();
                                                         // READEQUAÇÃO DE PLANO DE DIVULGAÇÃO
                                                     } else {
                                                         if ($read->idTipoReadequacao == 14) {
                                                             //Se for readequação de plano de divulgacao, atualiza os dados na SAC.dbo.PlanoDeDivulgacao.
                                                             $PlanoDeDivulgacao = new PlanoDeDivulgacao();
                                                             $tbPlanoDivulgacao = new tbPlanoDivulgacao();
                                                             $planosDivulgacao = $tbPlanoDivulgacao->buscar(array('idReadequacao=?' => $idReadequacao));
                                                             foreach ($planosDivulgacao as $plano) {
                                                                 $Projetos = new Projetos();
                                                                 $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                                                 //Se não houve avalição do conselheiro, pega a avaliação técnica como referencia.
                                                                 $avaliacao = $plano->tpAnaliseComissao;
                                                                 if ($plano->tpAnaliseComissao == 'N') {
                                                                     $avaliacao = $plano->tpAnaliseTecnica;
                                                                 }
                                                                 //Se a avaliação foi deferida, realiza as mudanças necessárias na tabela original.
                                                                 if ($avaliacao == 'D') {
                                                                     if ($plano->tpSolicitacao == 'E') {
                                                                         //Se o plano de divulgação foi excluído, atualiza os status do plano na SAC.dbo.PlanoDeDivulgacao
                                                                         $PlanoDivulgacaoEmQuestao = $PlanoDeDivulgacao->buscar(array('idProjeto = ?' => $dadosPrj->idProjeto, 'idPeca = ?' => $plano->idPeca, 'idVeiculo = ?' => $plano->idVeiculo))->current();
                                                                         $tbLogomarca = new tbLogomarca();
                                                                         $dadosLogomarcaDaDivulgacao = $tbLogomarca->buscar(array('idPlanoDivulgacao = ?' => $PlanoDivulgacaoEmQuestao->idPlanoDivulgacao))->current();
                                                                         $dadosLogomarcaDaDivulgacao->delete();
                                                                         $PlanoDivulgacaoEmQuestao->delete();
                                                                     } else {
                                                                         if ($plano->tpSolicitacao == 'I') {
                                                                             //Se o plano de divulgação foi incluído, cria um novo registro na tabela SAC.dbo.PlanoDeDivulgacao
                                                                             $novoPlanoDivRead = array();
                                                                             $novoPlanoDivRead['idProjeto'] = $dadosPrj->idProjeto;
                                                                             $novoPlanoDivRead['idPeca'] = $plano->idPeca;
                                                                             $novoPlanoDivRead['idVeiculo'] = $plano->idVeiculo;
                                                                             $novoPlanoDivRead['Usuario'] = $this->idUsuario;
                                                                             $novoPlanoDivRead['siPlanoDeDivulgacao'] = 0;
                                                                             $novoPlanoDivRead['idDocumento'] = null;
                                                                             $novoPlanoDivRead['stPlanoDivulgacao'] = 1;
                                                                             $PlanoDeDivulgacao->inserir($novoPlanoDivRead);
                                                                         }
                                                                     }
                                                                 }
                                                             }
                                                             $dadosPDD = array();
                                                             $dadosPDD['stAtivo'] = 'N';
                                                             $wherePDD = "idPronac = {$read->idPronac} AND idReadequacao = {$idReadequacao}";
                                                             $tbPlanoDivulgacao->update($dadosPDD, $wherePDD);
                                                             // READEQUAÇÃO DE RESUMO DO PROJETO
                                                         } else {
                                                             if ($read->idTipoReadequacao == 15) {
                                                                 //Se for readequação de resumo do projeto, atualiza os dados na SAC.dbo.PreProjeto.
                                                                 $Projetos = new Projetos();
                                                                 $dadosPrj = $Projetos->find(array('IdPRONAC=?' => $read->idPronac))->current();
                                                                 $tbAprovacao = new Aprovacao();
                                                                 $dadosAprovacao = array('IdPRONAC' => $read->idPronac, 'AnoProjeto' => $dadosPrj->AnoProjeto, 'Sequencial' => $dadosPrj->Sequencial, 'TipoAprovacao' => 8, 'DtAprovacao' => new Zend_Db_Expr('GETDATE()'), 'ResumoAprovacao' => 'Parecer favorável para readequação', 'Logon' => $this->idUsuario, 'idReadequacao' => $idReadequacao);
                                                                 $idAprovacao = $tbAprovacao->inserir($dadosAprovacao);
                                                                 // READEQUAÇÃO DE OBJETIVOS
                                                             } else {
                                                                 if ($read->idTipoReadequacao == 16) {
                                                                     //Se for readequação de objetivos, atualiza os dados na SAC.dbo.PreProjeto.
                                                                     $Projetos = new Projetos();
                                                                     $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                                                     $PrePropojeto = new PreProjeto();
                                                                     $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current();
                                                                     $dadosPreProjeto->Objetivos = $read->dsSolicitacao;
                                                                     $dadosPreProjeto->save();
                                                                     // READEQUAÇÃO DE JUSTIFICATIVA
                                                                 } else {
                                                                     if ($read->idTipoReadequacao == 17) {
                                                                         //Se for readequação de justificativa, atualiza os dados na SAC.dbo.PreProjeto.
                                                                         $Projetos = new Projetos();
                                                                         $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                                                         $PrePropojeto = new PreProjeto();
                                                                         $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current();
                                                                         $dadosPreProjeto->Justificativa = $read->dsSolicitacao;
                                                                         $dadosPreProjeto->save();
                                                                         // READEQUAÇÃO DE ACESSIBILIDADE
                                                                     } else {
                                                                         if ($read->idTipoReadequacao == 18) {
                                                                             //Se for readequação de acesibilidade, atualiza os dados na SAC.dbo.PreProjeto.
                                                                             $Projetos = new Projetos();
                                                                             $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                                                             $PrePropojeto = new PreProjeto();
                                                                             $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current();
                                                                             $dadosPreProjeto->Acessibilidade = $read->dsSolicitacao;
                                                                             $dadosPreProjeto->save();
                                                                             // READEQUAÇÃO DE DEMOCRATIZAÇÃO DE ACESSO
                                                                         } else {
                                                                             if ($read->idTipoReadequacao == 19) {
                                                                                 //Se for readequação de democratização de acesso, atualiza os dados na SAC.dbo.PreProjeto.
                                                                                 $Projetos = new Projetos();
                                                                                 $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                                                                 $PrePropojeto = new PreProjeto();
                                                                                 $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current();
                                                                                 $dadosPreProjeto->DemocratizacaoDeAcesso = $read->dsSolicitacao;
                                                                                 $dadosPreProjeto->save();
                                                                                 // READEQUAÇÃO DE ETAPAS DE TRABALHO
                                                                             } else {
                                                                                 if ($read->idTipoReadequacao == 20) {
                                                                                     //Se for readequação de etapas de trabalho, atualiza os dados na SAC.dbo.PreProjeto.
                                                                                     $Projetos = new Projetos();
                                                                                     $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                                                                     $PrePropojeto = new PreProjeto();
                                                                                     $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current();
                                                                                     $dadosPreProjeto->EtapaDeTrabalho = $read->dsSolicitacao;
                                                                                     $dadosPreProjeto->save();
                                                                                     // READEQUAÇÃO DE FICHA TÉCNICA
                                                                                 } else {
                                                                                     if ($read->idTipoReadequacao == 21) {
                                                                                         //Se for readequação de ficha técnica, atualiza os dados na SAC.dbo.PreProjeto.
                                                                                         $Projetos = new Projetos();
                                                                                         $dadosPrj = $Projetos->buscar(array('IdPRONAC=?' => $read->idPronac))->current();
                                                                                         $PrePropojeto = new PreProjeto();
                                                                                         $dadosPreProjeto = $PrePropojeto->find(array('idPreProjeto=?' => $dadosPrj->idProjeto))->current();
                                                                                         $dadosPreProjeto->FichaTecnica = $read->dsSolicitacao;
                                                                                         $dadosPreProjeto->save();
                                                                                     }
                                                                                 }
                                                                             }
                                                                         }
                                                                     }
                                                                 }
                                                             }
                                                         }
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     //Atualiza a tabela tbReadequacao
     $dados = array();
     $dados['siEncaminhamento'] = 15;
     //Finalizam sem a necessidade de passar pela publicação no DOU.
     $dados['stEstado'] = 1;
     $tiposParaChecklist = array(2, 3, 10, 12, 15);
     if (in_array($read->idTipoReadequacao, $tiposParaChecklist)) {
         $dados['siEncaminhamento'] = 9;
         //Encaminhado pelo sistema para o Checklist de Publicação
         $dados['stEstado'] = 0;
     }
     $dados['idNrReuniao'] = $idNrReuniao;
     $where = "idReadequacao = {$idReadequacao}";
     $return = $tbReadequacao->update($dados, $where);
     //Atualiza a tabela tbDistribuirReadequacao
     $dados = array();
     $dados['stValidacaoCoordenador'] = 1;
     $dados['DtValidacaoCoordenador'] = new Zend_Db_Expr('GETDATE()');
     $dados['idCoordenador'] = $idCoordenador;
     $where = "idReadequacao = {$idReadequacao}";
     $tbDistribuirReadequacao = new tbDistribuirReadequacao();
     $return2 = $tbDistribuirReadequacao->update($dados, $where);
     if (!$return && !$return2) {
         parent::message("Não foi possível encaminhar a readequação para o Checklist de Publicação", "readequacoes/painel?tipoFiltro=analisados", "ERROR");
     }
     parent::message("Readequação encaminhada com sucesso!", "readequacoes/painel?tipoFiltro=analisados", "CONFIRM");
 }