public function init()
 {
     parent::perfil(4);
     /** Usuario Logado *********************************************** */
     $auth = Zend_Auth::getInstance();
     // instancia da autenticação
     $this->getCgcCpf = $auth->getIdentity()->Cpf;
     $this->IdUsuario = $auth->getIdentity()->IdUsuario;
     $idpronac = $this->_request->getParam("idpronac");
     if (strlen($idpronac) > 7) {
         $idpronac = Seguranca::dencrypt($idpronac);
     }
     $dados['idPronac'] = $idpronac;
     //UC 13 - MANTER MENSAGENS (Habilitar o menu superior)
     $this->view->idPronac = $idpronac;
     $this->view->menumsg = 'true';
     if (!isset($_SESSION["Zend_Auth"]["storage"]->usu_codigo)) {
         $proj = new Projetos();
         $r = new tbRelatorio();
         $rt = new tbRelatorioTrimestral();
         $rc = new tbRelatorioConsolidado();
         $resp = $proj->buscar(array('IdPRONAC = ?' => $idpronac))->current();
         $this->view->resp = $resp;
         $fnDtInicioRelatorioTrimestral = new fnDtInicioRelatorioTrimestral();
         $DtLiberacao = $fnDtInicioRelatorioTrimestral->dtInicioRelatorioTrimestral($idpronac);
         $intervalo = round(Data::CompararDatas($DtLiberacao->dtLiberacao, $resp->DtFimExecucao));
         $qtdRelatorioEsperado = round($intervalo / 90);
         $this->view->qtdRelatorioEsperado = $qtdRelatorioEsperado;
         $this->view->countRelTrimestral = count($r->buscar(array('idPRONAC = ? ' => $idpronac)));
         $buscarrelatorioTrimestral = count($rt->buscarRelatorioMenu($idpronac));
         $buscarrelatorioConsolidado = count($rc->buscarRelatorioConsolidado($idpronac));
         $this->view->buscarrelatorioTrimestral = $buscarrelatorioTrimestral;
         $this->view->buscarrelatorioConsolidado = $buscarrelatorioConsolidado;
         $totalReg = $r->buscar(array('idPronac = ?' => $idpronac, 'tpRelatorio = ?' => 'T'));
         $diasExecutados = round(Data::CompararDatas($DtLiberacao->dtLiberacao));
         $qtdHabilitado = round($diasExecutados / 90);
         $this->view->qtdHabilitado = $qtdHabilitado;
         $this->view->totalReg = $totalReg;
     }
     $rst = ConsultarDadosProjetoDAO::obterDadosProjeto($dados);
     if (count($rst) == '') {
         $this->view->projeto = $rst[0];
         $this->view->idpronac = $idpronac;
         if ($rst[0]->codSituacao == 'E12' || $rst[0]->codSituacao == 'E13' || $rst[0]->codSituacao == 'E15' || $rst[0]->codSituacao == 'E50' || $rst[0]->codSituacao == 'E59' || $rst[0]->codSituacao == 'E61' || $rst[0]->codSituacao == 'E62' || $rst[0]->codSituacao == 'E71') {
             $this->view->menuCompExec = 'true';
         }
     }
     $busca = new Projetos();
     $result = $busca->buscar(array('IdPRONAC = ?' => $idpronac))->current();
     if (!empty($result)) {
         if (empty($result->idProjeto)) {
             parent::message("Somente será permitido comprovar execução do objeto de Projetos por meio do sistema para aqueles cadastrados a partir de Janeiro de 2009. Os outros casos deverão ser solicitados por meio de ofício.", "/consultardadosprojeto/?idPronac={$idpronac}", "ERROR");
             return;
         }
     }
     parent::init();
     // chama o init() do pai GenericControllerNew
 }
 public function salvaranaliseAction()
 {
     if ($_POST) {
         $where = array('idRelatorio = ?' => $_POST['idRelatorio'], 'idRelatorioTrimestral = ?' => $_POST['idRelatorioTrimestral']);
         $dados = array('stRelatorioTrimestral' => $_POST['stRelatorio'], 'dsParecer' => $_POST['justificativa']);
         $idPronac = $this->_request->getParam('idPronac');
         $RT = new tbRelatorioTrimestral();
         $RT->alterar($dados, $where);
         $where = array('idRelatorio = ?' => $_POST['idRelatorio']);
         $dados = array('idAgenteAvaliador' => $this->getIdAgente);
         $R = new tbRelatorio();
         $R->alterar($dados, $where);
         $msg = $_POST['stRelatorio'] == 7 ? 'finalizado' : 'salvo';
         $url[0] = $_POST['stRelatorio'] == 7 ? 'detalharrelatorios' : 'relatoriotrimestral';
         $url[1] = $_POST['stRelatorio'] == 7 ? '' : "/idRelatorio/" . $_POST['idRelatorioTrimestral'];
         parent::message("Relatório {$msg} com sucesso!", "analisarexecucaofisica/{$url['0']}/idPronac/" . $idPronac . $url[1], 'CONFIRM');
     }
 }
 /**
  * Reescreve o metodo init()
  * @access public
  * @param void
  * @return void
  */
 public function init()
 {
     // verifica as permissoes
     $PermissoesGrupo = array();
     /*
             $PermissoesGrupo[] = 137; // Coordenador de PRONAC
             $PermissoesGrupo[] = 82;
             $PermissoesGrupo[] = 93;
             $PermissoesGrupo[] = 94;
             $PermissoesGrupo[] = 97;  // Gestor do SALIC
             $PermissoesGrupo[] = 100;
             $PermissoesGrupo[] = 103; // Coordenador de Análise
             $PermissoesGrupo[] = 118; // Componente da comissao
             $PermissoesGrupo[] = 121; // Técnico de Acompanhamento
             $PermissoesGrupo[] = 124;
             $PermissoesGrupo[] = 125;
             $PermissoesGrupo[] = 126;
             $PermissoesGrupo[] = 125;
             $PermissoesGrupo[] = 130; //Avaliador de Editais
             $PermissoesGrupo[] = 132;
             $PermissoesGrupo[] = 134; // Coordenador de Fiscalizaç?o
             $PermissoesGrupo[] = 135; // Técnico de  Fiscalizaç?o
             $PermissoesGrupo[] = 114; // Coordenador de Editais
             $PermissoesGrupo[] = 122; // Coordenador de Acompanhamento
             $PermissoesGrupo[] = 138; // Coordenador de Avaliaç?o
             $PermissoesGrupo[] = 139; // Técnico de Avaliaç?o
             $PermissoesGrupo[] = 131; // Coord. de Admissibilidade
             $PermissoesGrupo[] = 110; // Tec. de Analise
             $PermissoesGrupo[] = 92; // Tec. de Admissibilidade
             $PermissoesGrupo[] = 114; // Coord. de Editais
             $PermissoesGrupo[] = 128; // Tecnico de Portaria
             $PermissoesGrupo[] = 141; // Coordenador Geral de Convênio
             $PermissoesGrupo[] = 142; // Coordenador de Convênio
             $PermissoesGrupo[] = 143; // Tecnico de Convênio*/
     $PermissoesGrupo[] = 91;
     // Protocolo recebimento
     // pega o idAgente do usuário logado
     $auth = Zend_Auth::getInstance();
     // pega a autenticação
     $this->view->usuarioInterno = false;
     //Da permissao de acesso a todos os grupos do usuario logado afim de atender o UC75
     if (isset($auth->getIdentity()->usu_codigo)) {
         $this->view->usuarioInterno = true;
         //Recupera todos os grupos do Usuario
         $Usuario = new Usuario();
         // objeto usuário
         $grupos = $Usuario->buscarUnidades($auth->getIdentity()->usu_codigo, 21);
         foreach ($grupos as $grupo) {
             $PermissoesGrupo[] = $grupo->gru_codigo;
         }
     }
     if (isset($auth->getIdentity()->usu_codigo)) {
         // autenticacao novo salic
         parent::perfil(1, $PermissoesGrupo);
         $this->getIdUsuario = UsuarioDAO::getIdUsuario($auth->getIdentity()->usu_codigo);
         $this->getIdUsuario = $this->getIdUsuario ? $this->getIdUsuario["idAgente"] : 0;
     } else {
         // autenticacao scriptcase
         $this->blnProponente = true;
         parent::perfil(4, $PermissoesGrupo);
         $this->getIdUsuario = isset($_GET["idusuario"]) ? $_GET["idusuario"] : 0;
         /* =============================================================================== */
         /* ==== VERIFICA PERMISSAO DE ACESSO DO PROPONENTE A PROPOSTA OU AO PROJETO ====== */
         /* =============================================================================== */
         $this->verificarPermissaoAcesso(false, true, false);
     }
     parent::init();
     //SE CAIU A SECAO REDIRECIONA
     if (!$auth->hasIdentity()) {
         $url = Zend_Controller_Front::getInstance()->getBaseUrl();
         JS::redirecionarURL($url);
     }
     //SE NENHUM PRONAC FOI ENVIADO, REDIRECIONA
     $idPronac = $this->_request->getParam("idPronac");
     // pega o id do pronac via get
     $this->view->idPronac = $idPronac;
     if (strlen($idPronac) > 7) {
         $idPronac = Seguranca::dencrypt($idPronac);
     }
     if (empty($idPronac)) {
         $url = Zend_Controller_Front::getInstance()->getBaseUrl() . "/listarprojetos/listarprojetos";
         $this->_helper->viewRenderer->setNoRender(true);
         $this->_helper->flashMessenger->addMessage("Nenhum projeto encontrado com o número de Pronac informado");
         $this->_helper->flashMessengerType->addMessage("ERROR");
         JS::redirecionarURL($url);
         exit;
     }
     if (!isset($auth->getIdentity()->usu_codigo)) {
         $this->view->blnProponente = $this->blnProponente;
         $proj = new Projetos();
         $cpf = $proj->buscarProponenteProjeto($idPronac);
         $cpf = $cpf->CgcCpf;
         $idUsuarioLogado = $auth->getIdentity()->IdUsuario;
         $links = new fnLiberarLinks();
         $linksXpermissao = $links->liberarLinks(2, $cpf, $idUsuarioLogado, $idPronac);
         $linksGeral = str_replace(' ', '', explode('-', $linksXpermissao->links));
         $arrayLinks = array('Permissao' => $linksGeral[0], 'FaseDoProjeto' => $linksGeral[1], 'Diligencia' => $linksGeral[2], 'Recursos' => $linksGeral[3], 'Readequacao' => $linksGeral[4], 'ComprovacaoFinanceira' => $linksGeral[5], 'RelatorioTrimestral' => $linksGeral[6], 'RelatorioFinal' => $linksGeral[7], 'Analise' => $linksGeral[8], 'Execucao' => $linksGeral[9], 'PrestacaoContas' => $linksGeral[10], 'Readequacao_20' => $linksGeral[11]);
         $this->view->fnLiberarLinks = $arrayLinks;
         $r = new tbRelatorio();
         $rt = new tbRelatorioTrimestral();
         $rc = new tbRelatorioConsolidado();
         $tblLib = new Liberacao();
         $tmpRelConsolidado = new tbTmpRelatorioConsolidado();
         $resp = $proj->buscar(array('IdPRONAC = ?' => $idPronac))->current();
         $this->view->resp = $resp;
         if (empty($resp)) {
             parent::message("Nenhum projeto encontrado com o número de Pronac informado.", "listarprojetos/listarprojetos", "ERROR");
             return;
         }
         $anoProjeto = $resp->AnoProjeto;
         $sequencial = $resp->Sequencial;
         //***** UC09 - REALIZAR COMPROVACAO FISICA *****//
         $fnDtInicioRelatorioTrimestral = new fnDtInicioRelatorioTrimestral();
         $DtLiberacao = $fnDtInicioRelatorioTrimestral->dtInicioRelatorioTrimestral($idPronac);
         $intervalo = round(Data::CompararDatas($DtLiberacao->dtLiberacao, $resp->DtFimExecucao));
         $qtdRelatorioEsperado = ceil($intervalo / 90);
         $this->view->qtdRelatorioEsperado = $qtdRelatorioEsperado;
         $this->view->TrimestraisCadastrados = count($rt->buscarTodosRelatoriosTrimestrais($idPronac));
         $this->view->TrimestraisTemporarios = count($rt->buscarRelatorioPronac($idPronac));
         $diasExecutados = round(Data::CompararDatas($DtLiberacao->dtLiberacao));
         $qtdHabilitado = floor($diasExecutados / 90);
         $this->view->qtdHabilitado = $qtdHabilitado;
         $this->view->relatorioFinalCadastrado = count($r->buscarRelatorioFinal($idPronac));
         //***** FIM DO UC09 - REALIZAR COMPROVACAO FISICA *****//
     }
 }