示例#1
0
 /**
  * Reescreve o m?todo init()
  * @access public
  * @param void
  * @return void
  */
 public function init()
 {
     $this->limiteTamanhoArq = 1024 * 1024 * 10;
     $auth = Zend_Auth::getInstance();
     // instancia da autenticação
     $PermissoesGrupo = array();
     //Da permissao de acesso a todos os grupos do usuario logado afim de atender o UC75
     if (isset($auth->getIdentity()->usu_codigo)) {
         //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;
         }
     }
     isset($auth->getIdentity()->usu_codigo) ? parent::perfil(1, $PermissoesGrupo) : ($this->blnProponente = true);
     parent::perfil(4, $PermissoesGrupo);
     // verifica as permiss?es
     /* $PermissoesGrupo = array();
        $PermissoesGrupo[] = 97;  // Gestor do SALIC
        $PermissoesGrupo[] = 103; // Coordenador de Análise
        $PermissoesGrupo[] = 124;
        $PermissoesGrupo[] = 125;
        $PermissoesGrupo[] = 126;
        $PermissoesGrupo[] = 125;
        $PermissoesGrupo[] = 94;
        $PermissoesGrupo[] = 93;
        $PermissoesGrupo[] = 82;
        $PermissoesGrupo[] = 132;
        $PermissoesGrupo[] = 100; */
     //$PermissoesGrupo[] = 1111; //Proponente
     //parent::perfil(3, $PermissoesGrupo);
     parent::init();
     //recupera ID do pre projeto (proposta)
     if (!empty($_REQUEST['idPreProjeto'])) {
         $this->idPreProjeto = $_REQUEST['idPreProjeto'];
         $this->cod = "?idPreProjeto=" . $this->idPreProjeto;
     }
     if (!empty($_REQUEST['idPronac'])) {
         $this->idPronac = $_REQUEST['idPronac'];
         $this->cod = "?idPronac=" . $this->idPronac;
         $idPronac = $_REQUEST['idPronac'];
         //DEFINE FASE DO PROJETO
         $this->faseDoProjeto($idPronac);
         $this->view->intFaseProjeto = $this->intFaseProjeto;
         /*             * * Validação do Proponente Inabilitado *********************************** */
         $cpf = isset($auth->getIdentity()->usu_codigo) ? $auth->getIdentity()->usu_identificacao : $auth->getIdentity()->Cpf;
         $this->cpfLogado = $cpf;
         $geral = new ProponenteDAO();
         $tblProjetos = new Projetos();
         $proj = new Projetos();
         $resp = $proj->buscar(array('IdPRONAC = ?' => $idPronac))->current();
         $this->view->resp = $resp;
         $arrBusca['IdPronac = ?'] = $idPronac;
         $rsProjeto = $tblProjetos->buscar($arrBusca)->current();
         $idPreProjeto = null;
         if (!empty($rsProjeto->idProjeto)) {
             $idPreProjeto = $rsProjeto->idProjeto;
         }
         $tbdados = $geral->buscarDadosProponente($idPronac);
         $this->view->dados = $tbdados;
         // Busca na SGCAcesso
         $sgcAcesso = new Sgcacesso();
         $buscaAcesso = $sgcAcesso->buscar(array('Cpf = ?' => $cpf));
         // Busca na Agentes
         $agentesDAO = new Agentes();
         $buscaAgente = $agentesDAO->BuscaAgente($cpf);
         if (count($buscaAcesso) > 0) {
             $this->idResponsavel = $buscaAcesso[0]->IdUsuario;
         }
         if (count($buscaAgente) > 0) {
             $this->idAgente = $buscaAgente[0]->idAgente;
         }
         $Usuario = new Usuario();
         // objeto usuário
         $idagente = $Usuario->getIdUsuario('', $cpf);
         $this->idAgente = isset($idagente['idAgente']) && !empty($idagente['idAgente']) ? $idagente['idAgente'] : 0;
         $ag = new Agentes();
         $buscarvinculo = $ag->buscarAgenteVinculoProponente(array('vp.idAgenteProponente = ?' => $this->idAgente, 'pr.idPRONAC = ?' => $idPronac, 'vprp.siVinculoProposta = ?' => 2));
         $this->view->vinculo = $buscarvinculo->count() > 0 ? true : false;
         $cpfLogado = $this->cpfLogado;
         $cpfProponente = $tbdados[0]->CgcCpf;
         $respProponente = 'R';
         $inabilitado = 'N';
         // Indentificando o Proponente
         if ($cpfLogado == $cpfProponente) {
             $respProponente = 'P';
         }
         // Verificando se o Proponente está inabilitado
         $inabilitadoDAO = new Inabilitado();
         $where['CgcCpf 		= ?'] = $cpfProponente;
         $where['Habilitado 	= ?'] = 'N';
         $busca = $inabilitadoDAO->Localizar($where)->count();
         if ($busca > 0) {
             $inabilitado = 'S';
         }
         if (!empty($idPreProjeto)) {
             // Se for Responsável verificar se tem Procuração
             $procuracaoDAO = new Procuracao();
             $procuracaoValida = 'N';
             $wherePro['vprp.idPreProjeto = ?'] = $idPreProjeto;
             $wherePro['v.idUsuarioResponsavel = ?'] = $this->idResponsavel;
             $wherePro['p.siProcuracao = ?'] = 1;
             $buscaProcuracao = $procuracaoDAO->buscarProcuracaoProjeto($wherePro)->count();
             if ($buscaProcuracao > 0) {
                 $procuracaoValida = 'S';
             }
         } else {
             $procuracaoValida = 'S';
         }
         $this->view->procuracaoValida = $procuracaoValida;
         $this->view->respProponente = $respProponente;
         $this->view->inabilitado = $inabilitado;
         /*             * ************************************************************************* */
     }
     $this->view->blnProponente = $this->blnProponente;
     //$this->orgaoAutorizado = "272"; //correto é 272
     $this->orgaoAutorizado = "251";
     $this->orgaoLogado = !isset($auth->getIdentity()->IdUsuario) ? $_SESSION['Zend_Auth']['storage']->usu_orgao : 0;
 }
 /**
  * Redireciona para o fluxo inicial do sistema
  * @access public
  * @param void
  * @return void
  */
 public function indexAction()
 {
     if (isset($_REQUEST['idPronac'])) {
         $idPronac = $_GET['idPronac'];
         if (strlen($idPronac) > 7) {
             $idPronac = Seguranca::dencrypt($idPronac);
         }
         $verificaCompravacaoFinanceira = ConsultarDadosProjetoDAO::verificaComprovarExecucaoFinanceira($idPronac);
         if (!empty($verificaCompravacaoFinanceira)) {
             $this->view->menuCompExecFin = true;
         } else {
             $this->view->menuCompExecFin = false;
         }
         $dados = array();
         $dados['idPronac'] = (int) $idPronac;
         if (is_numeric($dados['idPronac'])) {
             if (isset($dados['idPronac'])) {
                 $idPronac = $dados['idPronac'];
                 //UC 13 - MANTER MENSAGENS (Habilitar o menu superior)
                 $this->view->idPronac = $idPronac;
                 $this->view->menumsg = 'true';
             }
             $tblProjetos = new Projetos();
             $rst = $tblProjetos->buscarDadosUC75($idPronac);
             //                $rst = ConsultarDadosProjetoDAO::obterDadosProjeto($dados);
             //DEFINIE LINK PARA PLANILHA DE VALOR APROVADO
             $pp = new PlanilhaProjeto();
             $pa = new PlanilhaAprovacao();
             $buscarsomaprojeto = $pp->somarPlanilhaProjeto($idPronac);
             $buscarsomaaprovacaoC = $pa->somarPlanilhaAprovacao($idPronac, 206, "CO");
             $buscarsomaaprovacaoP = $pa->somarPlanilhaAprovacao($idPronac, 206, "SE");
             if (isset($buscarsomaaprovacaoP['soma']) && $buscarsomaaprovacaoP['soma'] > 0) {
                 $this->view->linkplanilha = "plenaria";
             } elseif (isset($buscarsomaaprovacaoC['soma']) && $buscarsomaaprovacaoC['soma'] > 0) {
                 $this->view->linkplanilha = "cnic";
             } else {
                 $this->view->linkplanilha = "inicial";
             }
             if (count($rst) > 0) {
                 $this->view->projeto = $rst[0];
                 $this->view->idpronac = $idPronac;
                 $this->view->idprojeto = $rst[0]->idProjeto;
                 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') {
                     $this->view->menuCompExec = 'true';
                 }
                 $this->view->situacaoProjeto = $rst[0]->codSituacao;
                 $geral = new ProponenteDAO();
                 $arrBusca['IdPronac = ?'] = $idPronac;
                 $rsProjeto = $tblProjetos->buscar($arrBusca)->current();
                 $idPreProjeto = 0;
                 if (!empty($rsProjeto->idProjeto)) {
                     $idPreProjeto = $rsProjeto->idProjeto;
                 }
                 $pronac = $rsProjeto->AnoProjeto . $rsProjeto->Sequencial;
                 $dadosProjeto = $geral->execPaProponente($idPronac);
                 $this->view->dados = $dadosProjeto;
                 $this->view->dadosProjeto = $rsProjeto;
                 //VERIFICA SE O PROJETO ESTÁ NA CNIC //
                 $Parecer = new Parecer();
                 $dadosCNIC = $Parecer->verificaProjSituacaoCNIC($pronac);
                 $msgCNIC = 0;
                 if (count($dadosCNIC)) {
                     $msgCNIC = 1;
                 }
                 $this->view->msgCNIC = $msgCNIC;
                 // FIM - VERIFICA SE O PROJETO ESTÁ NA CNIC //
                 //VERIFICA OS DADOS DE ARQUIVAMENTO, CASO EXISTA //
                 $ArquivamentoProjeto = array();
                 $tbArquivamento = new tbArquivamento();
                 $dadosArquivamentoProjeto = $tbArquivamento->confirirArquivamentoProjeto($pronac);
                 if (count($dadosArquivamentoProjeto)) {
                     $ArquivamentoProjeto = $dadosArquivamentoProjeto;
                 }
                 $this->view->dadosArquivamentoProjeto = $ArquivamentoProjeto;
                 // FIM - VERIFICA OS DADOS DE ARQUIVAMENTO, CASO EXISTA //
                 $verificarHabilitado = $geral->verificarHabilitado($rst[0]->CgcCPf);
                 if (count($verificarHabilitado) > 0) {
                     $this->view->ProponenteInabilitado = 1;
                 }
                 //VALORES DO PROJETO
                 $planilhaproposta = new PlanilhaProposta();
                 $planilhaprojeto = new PlanilhaProjeto();
                 $planilhaAprovacao = new PlanilhaAprovacao();
                 $rsPlanilhaAtual = $planilhaAprovacao->buscar(array('IdPRONAC = ?' => $idPronac), array('dtPlanilha DESC'))->current();
                 $tpPlanilha = !empty($rsPlanilhaAtual) && $rsPlanilhaAtual->tpPlanilha == 'SE' ? 'SE' : 'CO';
                 $arrWhereSomaPlanilha = array();
                 $arrWhereSomaPlanilha['idPronac = ?'] = $idPronac;
                 if ($this->bln_readequacao == "false") {
                     $fonteincentivo = $planilhaproposta->somarPlanilhaProposta($idPreProjeto, 109);
                     $outrasfontes = $planilhaproposta->somarPlanilhaProposta($idPreProjeto, false, 109);
                     $parecerista = $planilhaprojeto->somarPlanilhaProjeto($idPreProjeto, 109);
                 } else {
                     $arrWhereFontesIncentivo = $arrWhereSomaPlanilha;
                     $arrWhereFontesIncentivo['idPlanilhaItem <> ? '] = '206';
                     //elaboracao e agenciamento
                     $arrWhereFontesIncentivo['tpPlanilha = ? '] = 'SR';
                     $arrWhereFontesIncentivo['stAtivo = ? '] = 'N';
                     $arrWhereFontesIncentivo['NrFonteRecurso = ? '] = '109';
                     $arrWhereFontesIncentivo["idPedidoAlteracao = (?)"] = new Zend_Db_Expr("(SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idPronac}')");
                     $arrWhereFontesIncentivo["tpAcao <> ('E') OR tpAcao IS NULL "] = '(?)';
                     $fonteincentivo = $planilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereFontesIncentivo);
                     $arrWhereOutrasFontes = $arrWhereSomaPlanilha;
                     $arrWhereOutrasFontes['idPlanilhaItem <> ? '] = '206';
                     //elaboracao e agenciamento
                     $arrWhereOutrasFontes['tpPlanilha = ? '] = 'SR';
                     $arrWhereOutrasFontes['stAtivo = ? '] = 'N';
                     $arrWhereOutrasFontes['NrFonteRecurso <> ? '] = '109';
                     $arrWhereOutrasFontes["idPedidoAlteracao = (?)"] = new Zend_Db_Expr("(SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idPronac}')");
                     $arrWhereOutrasFontes["tpAcao <> ('E') OR tpAcao IS NULL "] = '(?)';
                     $outrasfontes = $planilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereOutrasFontes);
                     $arrWherePlanilhaPA = $arrWhereSomaPlanilha;
                     $arrWherePlanilhaPA['idPlanilhaItem <> ? '] = '206';
                     //elaboracao e agenciamento
                     $arrWherePlanilhaPA['tpPlanilha = ? '] = 'PA';
                     $arrWherePlanilhaPA['stAtivo = ? '] = 'N';
                     $arrWherePlanilhaPA['NrFonteRecurso = ? '] = '109';
                     $arrWherePlanilhaPA["idPedidoAlteracao = (?)"] = new Zend_Db_Expr("(SELECT TOP 1 max(idPedidoAlteracao) from SAC.dbo.tbPlanilhaAprovacao where IdPRONAC = '{$idPronac}')");
                     $arrWherePlanilhaPA["tpAcao <> ('E') OR tpAcao IS NULL "] = '(?)';
                     $parecerista = $planilhaAprovacao->somarItensPlanilhaAprovacao($arrWherePlanilhaPA);
                 }
                 //valor do componetne
                 $arrWhereSomaPlanilha = array();
                 $arrWhereSomaPlanilha['idPronac = ?'] = $idPronac;
                 $arrWhereSomaPlanilha['idPlanilhaItem <> ? '] = '206';
                 //elaboracao e agenciamento
                 $arrWhereSomaPlanilha['tpPlanilha = ? '] = $tpPlanilha;
                 $arrWhereSomaPlanilha['NrFonteRecurso = ? '] = '109';
                 $arrWhereSomaPlanilha['stAtivo = ? '] = 'S';
                 $componente = $planilhaAprovacao->somarItensPlanilhaAprovacao($arrWhereSomaPlanilha);
                 $valoresProjeto = new ArrayObject();
                 $valoresProjeto['fontesincentivo'] = $fonteincentivo['soma'];
                 $valoresProjeto['outrasfontes'] = $outrasfontes['soma'];
                 $valoresProjeto['valorproposta'] = $fonteincentivo['soma'] + $outrasfontes['soma'];
                 $valoresProjeto['valorparecerista'] = $parecerista['soma'];
                 $valoresProjeto['valorcomponente'] = $componente['soma'];
                 $this->view->valoresDoProjeto = $valoresProjeto;
                 $tblCaptacao = new Captacao();
                 $rsCount = $tblCaptacao->buscaCompleta(array('idPronac = ?' => $idPronac), array(), null, null, true);
                 $this->view->totalGeralCaptado = $rsCount->totalGeralCaptado;
                 /***************** FIM  - MODO NOVO ********************/
                 /*** Validação do Proponente Inabilitado ************************************/
                 $cpfLogado = $this->cpfLogado;
                 $cpfProponente = !empty($dadosProjeto[0]->CNPJCPF) ? $dadosProjeto[0]->CNPJCPF : '';
                 $respProponente = 'R';
                 $inabilitado = 'N';
                 // Indentificando o Proponente
                 if ($cpfLogado == $cpfProponente) {
                     $respProponente = 'P';
                 }
                 // Verificando se o Proponente está inabilitado
                 $inabilitadoDAO = new Inabilitado();
                 $where['CgcCpf 		= ?'] = $cpfProponente;
                 $where['Habilitado 	= ?'] = 'N';
                 $busca = $inabilitadoDAO->Localizar($where)->count();
                 if ($busca > 0) {
                     $inabilitado = 'S';
                 }
                 if (!empty($idPreProjeto)) {
                     // Se for Responsável verificar se tem Procuração
                     $procuracaoDAO = new Procuracao();
                     $procuracaoValida = 'N';
                     $wherePro['vprp.idPreProjeto = ?'] = $idPreProjeto;
                     $wherePro['v.idUsuarioResponsavel = ?'] = $this->idResponsavel;
                     $wherePro['p.siProcuracao = ?'] = 1;
                     $buscaProcuracao = $procuracaoDAO->buscarProcuracaoProjeto($wherePro)->count();
                     if ($buscaProcuracao > 0) {
                         $procuracaoValida = 'S';
                     }
                 } else {
                     $procuracaoValida = 'S';
                 }
                 $this->view->procuracaoValida = $procuracaoValida;
                 $this->view->respProponente = $respProponente;
                 $this->view->inabilitado = $inabilitado;
                 /****************************************************************************/
                 $tbemail = $geral->buscarEmail($idPronac);
                 $this->view->email = $tbemail;
                 $tbtelefone = $geral->buscarTelefone($idPronac);
                 $this->view->telefone = $tbtelefone;
                 $tblAgente = new Agentes();
                 if (isset($dadosProjeto[0]->CNPJCPF) && !empty($dadosProjeto[0]->CNPJCPF)) {
                     $rsAgente = $tblAgente->buscar(array('CNPJCPF=?' => $dadosProjeto[0]->CNPJCPF))->current();
                     $this->view->CgcCpf = $dadosProjeto[0]->CNPJCPF;
                 }
                 $rsIdAgente = isset($rsAgente->idAgente) && !empty($rsAgente->idAgente) ? $rsAgente->idAgente : 0;
                 $rsDirigentes = $tblAgente->buscarDirigentes(array('v.idVinculoPrincipal =?' => $rsIdAgente, 'n.Status =?' => 0), array('n.Descricao ASC'));
                 //                    $tbDirigentes = $geral->buscarDirigentes($idPronac);
                 $this->view->dirigentes = $rsDirigentes;
                 //========== inicio codigo mandato dirigente ================
                 /*==================================================*/
                 $arrMandatos = array();
                 if (!empty($this->idPreProjeto)) {
                     $preProjeto = new PreProjeto();
                     $Empresa = $preProjeto->buscar(array('idPreProjeto = ?' => $this->idPreProjeto))->current();
                     $idEmpresa = $Empresa->idAgente;
                     $tbDirigenteMandato = new tbAgentesxVerificacao();
                     foreach ($rsDirigentes as $dirigente) {
                         $rsMandato = $tbDirigenteMandato->listarMandato(array('idEmpresa = ?' => $idEmpresa, 'idDirigente = ?' => $dirigente->idAgente, 'stMandato = ?' => 0));
                         $arrMandatos[$dirigente->NomeDirigente] = $rsMandato;
                     }
                 }
                 $this->view->mandatos = $arrMandatos;
                 //============== fim codigo dirigente ================
                 /*==================================================*/
                 if (!empty($idPreProjeto)) {
                     //OUTROS DADOS PROPONENTE
                     $this->view->itensGeral = AnalisarPropostaDAO::buscarGeral($idPreProjeto);
                 }
             } else {
                 parent::message("Nenhum projeto encontrado com o n&uacute;mero de Pronac informado.", "listarprojetos/listarprojetos", "ERROR");
             }
         } else {
             parent::message("N&uacute;mero Pronac inv&aacute;lido!", "listarprojetos/listarprojetos", "ERROR");
         }
     } else {
         parent::message("N&uacute;mero Pronac inv&aacute;lido!", "listarprojetos/listarprojetos", "ERROR");
     }
 }
 public function aprovacaoAction()
 {
     $vinculoPropostaDAO = new tbVinculoPropostaResponsavelProjeto();
     $tbvinculoDAO = new TbVinculo();
     $procuracaoDAO = new Procuracao();
     $preProjetoDAO = new PreProjeto();
     $responsavel = $this->_request->getParam("responsavel");
     $idDocumento = $this->_request->getParam("idDocumento");
     $justificativa = $this->_request->getParam("justificativa");
     $situacao = $this->_request->getParam("situacao");
     $idProcuracao = $this->_request->getParam("idProcuracao");
     $idVinculoProposta = $this->_request->getParam("idVinculoProposta");
     $situacaoVI = 0;
     $situacaoPR = 0;
     $situacaoMSG = "";
     if ($situacao == 0) {
         $situacaoVI = 1;
         $situacaoPR = 2;
         $situacaoMSG = "Rejeitada";
     } else {
         $situacaoVI = 2;
         $situacaoPR = 1;
         $situacaoMSG = "Aprovada";
     }
     try {
         for ($i = 0; $i < sizeof($idProcuracao); $i++) {
             $dadosPR = array('siProcuracao' => $situacaoPR, 'dsJustificativa' => $justificativa);
             $wherePR['idProcuracao = ?'] = $idProcuracao[$i];
             $alteraPR = $procuracaoDAO->alterar($dadosPR, $wherePR);
             $dadosVI = array('siVinculoProposta' => $situacaoVI);
             $whereVP['idVinculoProposta = ?'] = $idVinculoProposta[$i];
             $alteraVP = $vinculoPropostaDAO->alterar($dadosVI, $whereVP);
             //$wherePROP['idVinculoProposta = ?'] = $idVinculoProposta[$i];
             //$buscarProjeto = $vinculoPropostaDAO->buscar($wherePROP);
             $alteraPRO = $preProjetoDAO->alteraresponsavel($idVinculoProposta[$i], $responsavel);
         }
         parent::message("Procuração " . $situacaoMSG . " com sucesso!", "procuracao/analisar", "CONFIRM");
     } catch (Exception $e) {
         parent::message("Error" . $e->getMessage(), "procuracao/avaliar/idDocumento/" . $idDocumento, "ERROR");
     }
     $where['p.idDocumento = ?'] = $idDocumento;
     $buscar = $procuracaoDAO->buscarProcuracaoProjeto($where);
     $this->view->procuracao = $buscar;
 }