public function indexAction()
 {
     $Modalidade = new tbModalidade();
     $mecanismo = new Mecanismo();
     $mecanismo2 = $mecanismo->buscar(array('Status = ?' => 1))->toArray();
     unset($mecanismo2[0]);
     //mecenato
     $tblSituacao = new Situacao();
     $rsSitucao = $tblSituacao->buscar(array("Codigo IN (?)" => array("A01", "A02", "A03", "A04", "A05", "A06", "A07", "A08", "A09", "A10", "A11", "A12", "A13", "A14", "A15", "A16", "A17", "A18", "A19", "A20", "A21", "A22", "A23", "A24", "A25", "A26", "A27", "A37", "A38", "A40", "A41", "B10", "B11", "B12", "B13", "B14", "B15", "E12")));
     $this->view->comboareasculturais = ManterAgentesDAO::buscarAreasCulturais();
     $this->view->comboestados = Estado::buscar();
     $this->view->mecanismo = $mecanismo2;
     $this->view->situacoes = $rsSitucao;
     $this->view->modalidade = $Modalidade->buscarModalidade();
     //$this->view->Segmento       =   $SegmentoDAO->buscar(array('stEstado = ?'=>1));
     if (isset($_POST['areacultura']) and $_POST['areacultura'] == 'ok') {
         $this->_helper->layout->disableLayout();
         // desabilita o Zend_Layout
         $post = Zend_Registry::get('post');
         $cdarea = $post->area;
         $dadosSegmento = Segmentocultural::buscar($cdarea);
         $i = 0;
         foreach ($dadosSegmento as $segmento) {
             $vSegmento[$i]['cdsegmento'] = $segmento->id;
             $vSegmento[$i]['descsegmento'] = utf8_encode($segmento->descricao);
             $i++;
         }
         $jsonSegmento = json_encode($vSegmento);
         echo $jsonSegmento;
         die;
     }
     //$this->_helper->layout->disableLayout(); // desabilita o Zend_Layout
 }
 public function consultaAction()
 {
     $get = Zend_Registry::get('get');
     $CpfCnpj = $get->CpfCnpj;
     if (empty($CpfCnpj)) {
         parent::message("Por favor informe o CPF ou CNPJ.", "/Rastrearagente", "ERROR");
     }
     $CpfCnpj = str_replace(array(".", "-", "/"), array("", "", ""), $CpfCnpj);
     //removendo mascara de CPF e CNPJ
     $agente = ManterAgentesDAO::buscarAgentes($CpfCnpj);
     if (count($agente) < 1) {
         parent::message("Nenhum agente encontrado com o CPF/CNPJ {$get->CpfCnpj}", "/Rastrearagente", "ALERT");
     }
     $visoes = VisaoDAO::buscarVisao($agente[0]->idAgente);
     $projeto = new Projetos();
     $projetos = null;
     $projetos = $projeto->buscarTodosDadosProjeto(null, $CpfCnpj);
     $projetos2 = null;
     $projetos2 = $projeto->buscarTodosDadosProjeto(null, $CpfCnpj)->toArray();
     $preprojeto = new Proposta();
     $preprojetos = $preprojeto->buscar(array("idAgente = ? " => $agente[0]->idAgente));
     $preprojetos = empty($preprojetos) ? array() : $preprojetos;
     $vinculo = new Vinculacao();
     $vinculos = $vinculo->BuscarVinculos($agente[0]->idAgente);
     $vinculos = empty($vinculos) ? array() : $vinculos;
     $proposta = new Proposta();
     $propostas = $proposta->propostastransformadas($agente[0]->idAgente);
     $propostas = empty($propostas) ? array() : $propostas;
     $inabilitado = new Inabilitado();
     $inabilitados = $inabilitado->listainabilitados($CpfCnpj);
     $inabilitados = empty($inabilitados) ? array() : $inabilitados;
     $capitacaoMEC = new Captacao();
     $captacaoQuotas = new CaptacaoQuotas();
     $captacaoguia = new CaptacaoGuia();
     $captacaoconversao = new CaptacaoConversao();
     for ($i = 0; $i < count($projetos2); $i++) {
         $val1 = null;
         $val2 = null;
         $val3 = null;
         $val4 = 0;
         $where = array("AnoProjeto = ?" => substr($projetos2[$i]['pronac'], 0, 2), "Sequencial = ?" => substr($projetos2[$i]['pronac'], 2));
         $val1 = $capitacaoMEC->CapitacaoTotalMEC(substr($projetos2[$i]['pronac'], 0, 2), substr($projetos2[$i]['pronac'], 2))->current();
         $val2 = $captacaoQuotas->CapitacaoArt1(substr($projetos2[$i]['pronac'], 0, 2), substr($projetos2[$i]['pronac'], 2))->current();
         $val3 = $captacaoguia->BuscarTotalCaptacaoGuia(false, $where);
         $val3 = count($val3) > 0 ? $val3[0]->Art3 : 0;
         $val4 = $captacaoconversao->BuscarTotalCaptacaoConversao(false, $where);
         $val4 = count($val4) > 0 ? $val4[0]->Conv : 0;
         $projetos2[$i]['TotalCaptado'] = $val1->Mec + $val2->Art1 + $val3 + $val4;
     }
     $this->view->agente = $agente;
     $this->view->visoes = $visoes;
     $this->view->projetos = $projetos;
     $this->view->projetos2 = $projetos2;
     $this->view->preprojetos = $preprojetos;
     $this->view->vinculos = $vinculos;
     $this->view->propostastrasformadas = $propostas;
     $this->view->inabilitados = $inabilitados;
 }
 public function validarEnvioPropostaAoMinc($idPreProjeto)
 {
     //BUSCA DADOS DO PROJETO
     $arrBusca = array();
     $arrBusca['idPreProjeto = ?'] = $idPreProjeto;
     $tblPreProjeto = new PreProjeto();
     $rsPreProjeto = $tblPreProjeto->buscar($arrBusca)->current();
     //xd($rsPreProjeto);
     /* ======== VERIFICA TODAS AS INFORMACOES NECESSARIAS AO ENVIO DA PROPOSTA ======= */
     $arrResultado = array();
     $arrResultado['erro'] = false;
     /*         * ******* MOVIMENTACAO ******** */
     //VERIFICA SE A PROPOSTA ESTA COM O MINC
     $Movimentacao = new Movimentacao();
     $rsMovimentacao = $Movimentacao->buscarStatusAtualProposta($idPreProjeto);
     if ($rsMovimentacao->Movimentacao != 95) {
         $arrResultado['erro'] = true;
         $arrResultado['movimentacao']['erro'] = false;
         $arrResultado['movimentacao']['msg'] = "A Proposta Cultural encontra-se no Minist&eacute;rio da Cultura";
     } else {
         /* $arrResultado['erro'] = true;
            $arrResultado['movimentacao']['erro'] = false;
            $arrResultado['movimentacao']['msg'] = "A Proposta Cultural encontra-se no Minist&eacute;rio da Cultura"; */
     }
     /*         * ******* DADOS DO PROPONENTE ******** */
     $tblProponente = new Proponente();
     //$rsProponente = $tblProponente->buscar(array("a.idAgente = ?"=>$rsPreProjeto->idAgente))->current();
     $tblAgente = new Agentes();
     $rsProponente = $tblAgente->buscarAgenteNome(array("a.idAgente = ?" => $rsPreProjeto->idAgente))->current();
     $regularidade = Regularidade::buscarSalic($rsProponente->CNPJCPF);
     $dadosEndereco = EnderecoNacionalDAO::buscarEnderecoNacional($rsPreProjeto->idAgente);
     $dadosEmail = Email::buscar($rsPreProjeto->idAgente);
     $dadosDirigente = ManterAgentesDAO::buscarVinculados(null, null, null, null, $rsPreProjeto->idAgente);
     //$dadosDirigente = ManterAgentes::buscaDirigentes($rsProponente->CNPJCPF);
     $tblLocaisRealizacao = new Abrangencia();
     $dadosLocais = $tblLocaisRealizacao->buscar(array("a.idProjeto" => $idPreProjeto, "a.stAbrangencia" => 1));
     $tblPlanoDivulgacao = new PlanoDeDivulgacao();
     $dadosPlanoDivulgacao = $tblPlanoDivulgacao->buscar(array("idProjeto =?" => $idPreProjeto))->toArray();
     $tblPlanoDistribuicao = new PlanoDistribuicao();
     $dadosPlanoDistribuicao = $tblPlanoDistribuicao->buscar(array("a.idProjeto = ?" => $idPreProjeto, "a.stPlanoDistribuicaoProduto = ?" => 1), array("idProduto ASC"))->toArray();
     if (count($rsProponente) > 0) {
         //VERIFICA SE O PROPONENTE EST� VINCULADO
         $vinculoProponente = new tbVinculoPropostaResponsavelProjeto();
         $whereProp['VP.idPreProjeto = ?'] = $this->idPreProjeto;
         $whereProp['VP.siVinculoProposta = ?'] = 2;
         $rsVinculo = $vinculoProponente->buscarResponsaveisProponentes($whereProp);
         if ($rsVinculo->count() > 0) {
             if (isset($rsVinculo[0]->siVinculo) && $rsVinculo[0]->siVinculo == 0) {
                 $msgProponente = "Aguardando o vínculo do Proponente";
             } elseif (isset($rsVinculo[0]->siVinculo) && $rsVinculo[0]->siVinculo == 1) {
                 $msgProponente = "O Proponente rejeitou o vínculo";
             } elseif (isset($rsVinculo[0]->siVinculo) && $rsVinculo[0]->siVinculo == 2) {
                 $msgProponente = "Proponente Vinculado";
             } else {
                 $msgProponente = "Proponente desvinculado";
             }
             if ($rsVinculo[0]->siVinculo == 2) {
                 $arrResultado['vinculoproponente']['erro'] = false;
                 $arrResultado['vinculoproponente']['msg'] = $msgProponente;
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['vinculoproponente']['erro'] = true;
                 $arrResultado['vinculoproponente']['msg'] = $msgProponente;
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['vinculoproponente']['erro'] = true;
             $arrResultado['vinculoproponente']['msg'] = "Proponente desvinculado";
         }
         //REGULARIDADE DO PROPONENTE
         if (count($regularidade) > 0) {
             if ($regularidade[0]->Habilitado == "S") {
                 $arrResultado['regularidadeproponente']['erro'] = false;
                 $arrResultado['regularidadeproponente']['msg'] = "Proponente em situa&ccedil;&atilde;o REGULAR no Minist&eacute;rio da Cultura";
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['regularidadeproponente']['erro'] = true;
                 $arrResultado['regularidadeproponente']['msg'] = "Proponente em situa&ccedil;&atilde;o IRREGULAR no Minist&eacute;rio da Cultura";
             }
         } else {
             $arrResultado['regularidadeproponente']['erro'] = false;
             $arrResultado['regularidadeproponente']['msg'] = "Proponente em situa&ccedil;&atilde;o REGULAR no Minist&eacute;rio da Cultura";
         }
         //DADOS GERAIS DA PROPOSTA
         if (!empty($rsPreProjeto)) {
             if (trim($rsPreProjeto->Objetivos) == "" || trim($rsPreProjeto->Justificativa) == "" || trim($rsPreProjeto->Acessibilidade) == "" || trim($rsPreProjeto->DemocratizacaoDeAcesso) == "" || trim($rsPreProjeto->EtapaDeTrabalho) == "" || trim($rsPreProjeto->FichaTecnica) == "" || trim($rsPreProjeto->Sinopse) == "" || trim($rsPreProjeto->ImpactoAmbiental) == "" || trim($rsPreProjeto->EspecificacaoTecnica) == "") {
                 $arrResultado['erro'] = true;
                 $arrResultado['dadosgeraisproposta']['erro'] = true;
                 $arrResultado['dadosgeraisproposta']['msg'] = "Dados gerais da proposta pendente. Os campos Objetivos, Justificativa, Acessibilidade, Democratiza&ccedil;&atilde;o de Acesso, Etapas de Trabalho, Ficha Técnica, Sinopse da obra, Impacto Ambiental e Especifica&ccedil;&atilde;o técnicas do produto, são de preenchimento obrigatório.";
             } else {
                 $arrResultado['dadosgeraisproposta']['erro'] = false;
                 $arrResultado['dadosgeraisproposta']['msg'] = "Dados gerais da proposta";
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['dadosgeraisproposta']['erro'] = true;
             $arrResultado['dadosgeraisproposta']['msg'] = "Dados gerais da proposta pendente. Os campos Objetivos, Justificativa, Acessibilidade, Democratiza&ccedil;&atilde;o de Acesso, Etapas de Trabalho, Ficha Técnica, Sinopse da obra, Impacto Ambiental e Especifica&ccedil;&atilde;o técnicas do produto, são de preenchimento obrigatório.";
         }
         //E-MAIL
         $blnEmail = false;
         if (count($dadosEmail) > 0) {
             foreach ($dadosEmail as $email) {
                 if ($email->Status == 1) {
                     $blnEmail = true;
                 }
             }
             if ($blnEmail === false) {
                 $arrResultado['erro'] = true;
                 $arrResultado['email']['erro'] = true;
                 $arrResultado['email']['msg'] = "E-mail do proponente inexistente";
             } else {
                 $arrResultado['email']['erro'] = false;
                 $arrResultado['email']['msg'] = "E-mail do proponente";
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['email']['erro'] = true;
             $arrResultado['email']['msg'] = "E-mail do proponente inexistente";
         }
         //ENDERECO
         $blnEndCorrespondencia = false;
         if (count($dadosEndereco) > 0) {
             foreach ($dadosEndereco as $endereco) {
                 if ($endereco->Status == 1) {
                     $blnEndCorrespondencia = true;
                 }
             }
             if ($blnEndCorrespondencia === false) {
                 $arrResultado['erro'] = true;
                 $arrResultado['endereco']['erro'] = true;
                 $arrResultado['endereco']['msg'] = "Dados cadastrais do proponente inexistente ou n&atilde;o h&aacute; endere&ccedil;o para correspond&ecirc;ncia selecionado";
             } else {
                 $arrResultado['endereco']['erro'] = false;
                 $arrResultado['endereco']['msg'] = "Dados cadastrais do proponente";
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['endereco']['erro'] = true;
             $arrResultado['endereco']['msg'] = "Dados cadastrais do proponente inexistente ou n&atilde;o h&aacute; endere&ccedil;o para correspond&ecirc;ncia selecionado";
         }
         //NATUREZA
         if ($rsProponente->TipoPessoa == 1) {
             $tblNatureza = new Natureza();
             $dadosNatureza = $tblNatureza->buscar(array("idAgente = ?" => $rsPreProjeto->idAgente));
             if (count($dadosNatureza) > 0) {
                 $arrResultado['dirigente']['erro'] = false;
                 $arrResultado['dirigente']['msg'] = "Natureza do proponente";
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['dirigente']['erro'] = true;
                 $arrResultado['dirigente']['msg'] = "Natureza do proponente";
             }
         }
         //DIRIGENTE
         if ($rsProponente->TipoPessoa == 1) {
             if (count($dadosDirigente) > 0) {
                 $arrResultado['dirigente']['erro'] = false;
                 $arrResultado['dirigente']['msg'] = "Cadastro de Dirigente";
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['dirigente']['erro'] = true;
                 $arrResultado['dirigente']['msg'] = "Cadastro de Dirigente";
             }
         }
         //LOCAIS DE RALIZACAO
         if (count($dadosLocais) > 0) {
             $arrResultado['locaisrealizacao']['erro'] = false;
             $arrResultado['locaisrealizacao']['msg'] = "Local de realiza&ccedil;&atilde;o da proposta";
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['locaisrealizacao']['erro'] = true;
             $arrResultado['locaisrealizacao']['msg'] = "O Local de realiza&ccedil;&atilde;o da proposta n&atilde;o foi preenchido";
         }
         //PLANO DE DIVULGACAO
         if (count($dadosPlanoDivulgacao) > 0) {
             $arrResultado['planodivulgacao']['erro'] = false;
             $arrResultado['planodivulgacao']['msg'] = "Plano B&aacute;sico de Divulga&ccedil;&atilde;o";
             $planinhaProposta = new PlanilhaProposta();
             $get = Zend_Registry::get('get');
             $idProjeto = $get->idPreProjeto;
             $buscaPlanilhaPropostaDivulgacao = $planinhaProposta->somarPlanilhaPropostaDivulgacao($idProjeto, 109);
             $buscaPlanilhaProposta = $planinhaProposta->somarPlanilhaProposta($idProjeto, 109);
             $porcentProposta = $buscaPlanilhaProposta->soma * 0.2;
             $valorPropostaDivulgacao = $buscaPlanilhaPropostaDivulgacao->soma;
             if ($valorPropostaDivulgacao > $porcentProposta) {
                 $valorRetirar = $valorPropostaDivulgacao - $porcentProposta;
                 $arrResultado['erro'] = true;
                 $arrResultado['planodivulgacao']['erro'] = true;
                 //$arrResultado['planodivulgacao']['msg'] = "Custo de Divulga��o/Comercializa��o superior a 20% do valor total do projeto";
                 $arrResultado['planodivulgacao']['msg'] = "Custo de Divulga&ccedil;&atilde;o/Comercializa&ccedil;&atilde;o superior a 20% do valor total da proposta. Favor readequar os custos em <b>R\$ " . number_format($valorRetirar, '2', ',', '.') . "</b> para enviar a sua proposta ao Minist�rio da Cultura.";
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['planodivulgacao']['erro'] = true;
             $arrResultado['planodivulgacao']['msg'] = "O Plano B&aacute;sico de Divulga&ccedil;&atilde;o n&atilde;o foi preenchido";
         }
         //PLANO DE DISTRIBUICAO
         if (count($dadosPlanoDistribuicao) > 0) {
             $arrResultado['planodistribuicao']['erro'] = false;
             $arrResultado['planodistribuicao']['msg'] = "Plano Distribui&ccedil;&atilde;o de Produto";
             //PLANILHA POR PRODUTO
             //inicializando variaveis
             $arrProdutoPlanilhaOrcamentaria = array();
             $arrProdutoPlanilhaCustoAdmin = array();
             $arrBuscaPlanilhaOrcamentaria = array();
             //para planilhas orcamentarias onde idProduto <> 0
             $arrBuscaPlanilhaCustoAdmin = array();
             //para planilhas orcamentarias onde idProduto = 0
             $qtdeProdutoPrincial = 0;
             $valorProjeto = 0;
             //instancia classe modelo PlanilhaProposta
             $tblPlanilhaProposta = new PlanilhaProposta();
             foreach ($dadosPlanoDistribuicao as $produto) {
                 //=========== PLANILHA ORCAMENTARIA ===============
                 $idProduto = $produto['idProduto'];
                 $arrBuscaPlanilhaOrcamentaria['idProjeto = ?'] = $idPreProjeto;
                 $arrBuscaPlanilhaOrcamentaria['idProduto = ?'] = $idProduto;
                 //$arrBuscaPlanilhaOrcamentaria['idEtapa <> ?']=4;
                 $planilhaOrcamentaria = $tblPlanilhaProposta->buscar($arrBuscaPlanilhaOrcamentaria);
                 //$planilha = PlanilhaPropostaDAO::buscarPlanilhaPorProjetoProduto($idPreProjeto, $idProduto);
                 if (count($planilhaOrcamentaria) > 0) {
                     $arrProdutoPlanilhaOrcamentaria['CONTEM'][] = $idProduto;
                     //realiza calculo para encontrar valor do projeto
                     for ($i = 0; $i < sizeof($planilhaOrcamentaria); $i++) {
                         $valorProjeto += $planilhaOrcamentaria[$i]->Quantidade * $planilhaOrcamentaria[$i]->Ocorrencia * $planilhaOrcamentaria[$i]->ValorUnitario;
                     }
                 } else {
                     $arrProdutoPlanilhaOrcamentaria['NAO_CONTEM'][] = $idProduto;
                 }
                 //=========== PRODUTO PRINCIPAL ==========
                 if ($produto['stPrincipal'] == 1) {
                     $qtdeProdutoPrincial++;
                 }
             }
             //fecha FOREACH de Plano Distribuicao
             if (!empty($arrProdutoPlanilhaOrcamentaria['NAO_CONTEM'])) {
                 $arrResultado['erro'] = true;
                 $arrResultado['planilhaproduto']['erro'] = true;
                 $arrResultado['planilhaproduto']['msg'] = "Existe produto cadastrado sem a respectiva planilha or&ccedil;ament&aacute;ria lan&ccedil;ada";
             }
             //=========== PLANILHA CUSTO ADMINISTRATIVO ==========
             $arrBuscaPlanilhaCustoAdmin['idProjeto = ?'] = $idPreProjeto;
             $arrBuscaPlanilhaCustoAdmin['idProduto = ?'] = 0;
             //planilha de custo admin. n&atilde;o tem produto
             $arrBuscaPlanilhaCustoAdmin['idEtapa = ?'] = 4;
             //etapa 4 = Custo/Adminitrativo
             $planilhaCustoAdmin = $tblPlanilhaProposta->buscar($arrBuscaPlanilhaCustoAdmin);
             $valorCustoAdmin = 0;
             if (count($planilhaCustoAdmin) > 0) {
                 $arrResultado['planilhacustoadmin']['erro'] = false;
                 $arrResultado['planilhacustoadmin']['msg'] = "Planilha de custos administrativos lan&ccedil;ada";
                 //realiza calculo para encontrar custo administrativo do projeto
                 for ($i = 0; $i < sizeof($planilhaCustoAdmin); $i++) {
                     $valorCustoAdmin += $planilhaCustoAdmin[$i]->Quantidade * $planilhaCustoAdmin[$i]->Ocorrencia * $planilhaCustoAdmin[$i]->ValorUnitario;
                 }
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['planilhacustoadmin']['erro'] = true;
                 $arrResultado['planilhacustoadmin']['msg'] = "A planilha de custos administrativos da proposta n&atilde;o est&aacute; lan&ccedil;ada";
             }
             //calcula percentual do custo administrativo
             $quinzecentoprojeto = $valorProjeto * 0.15;
             /* if ($valorProjeto > 0) {
                $percentual = $valorCustoAdmin / $valorProjeto * 100;
                } else {
                $percentual = 100;
                } */
             //if ($percentual > 15) {
             if ($valorCustoAdmin > $quinzecentoprojeto) {
                 $valorRetirarCustoAdm = $valorCustoAdmin - $quinzecentoprojeto;
                 $arrResultado['erro'] = true;
                 $arrResultado['percentualcustoadmin']['erro'] = true;
                 $arrResultado['percentualcustoadmin']['msg'] = "Custo administrativo  superior a 15% do valor total da proposta. Favor readequar os custos em <b>R\$ " . number_format($valorRetirarCustoAdm, '2', ',', '.') . "</b> para enviar a sua proposta ao Minist�rio da Cultura.";
             }
             if ($qtdeProdutoPrincial <= 0) {
                 $arrResultado['erro'] = true;
                 $arrResultado['produtoprincipal']['erro'] = true;
                 $arrResultado['produtoprincipal']['msg'] = "N&atilde;o h&aacute; produto principal selecionado na proposta";
             } elseif ($qtdeProdutoPrincial > 1) {
                 $arrResultado['erro'] = true;
                 $arrResultado['produtoprincipal']['erro'] = true;
                 $arrResultado['produtoprincipal']['msg'] = "S&oacute; poder&aacute; haver um produto principal em cada proposta, a sua est&aacute; com mais de um produto";
             } else {
                 $arrResultado['produtoprincipal']['erro'] = false;
                 $arrResultado['produtoprincipal']['msg'] = "Produto principal";
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['planodistribuicao']['erro'] = true;
             $arrResultado['planodistribuicao']['msg'] = "O Plano Distribui&ccedil;&atilde;o de Produto n&atilde;o foi preenchido";
         }
     } else {
         $arrResultado['erro'] = true;
         $arrResultado['proponente']['erro'] = true;
         $arrResultado['proponente']['msg'] = "Dados cadastrais do proponente inexistente ou n&atilde;o h&aacute; endere&ccedil;o para correspond&ecirc;ncia selecionado";
     }
     //=========== PLANO ANUAL==========
     if ($rsPreProjeto->stPlanoAnual != 0) {
         $ano_envio = date("Y");
         $ano_execucao = explode('/', data::formatarDataMssql($rsPreProjeto->DtInicioDeExecucao));
         $ano_execucao = $ano_execucao[2];
         $data_validacao = (int) date("Y") . '0930';
         if ($data_validacao <= date('Ymd') && $ano_envio >= $ano_execucao) {
             $arrResultado['erro'] = true;
             $arrResultado['planoanual']['erro'] = true;
             $arrResultado['planoanual']['msg'] = "De acordo com a súmula 10, projetos de plano anual só poderão ser enviados até 30 de setembro do ano vigente, e o período de execução deverá ser do ano seguinte a data de envio.";
         } else {
             $arrResultado['planoanual']['erro'] = false;
             $arrResultado['planoanual']['msg'] = "Plano Anual";
         }
     }
     return $arrResultado;
 }
 public function validarEnvioPropostaAoMinc($idPreProjeto)
 {
     //BUSCA DADOS DO PROJETO
     $arrBusca = array();
     $arrBusca['idPreProjeto = ?'] = $idPreProjeto;
     $tblPreProjeto = new PreProjeto();
     $rsPreProjeto = $tblPreProjeto->buscar($arrBusca)->current();
     /* ======== VERIFICA TODAS AS INFORMACOES NECESSARIAS AO ENVIO DA PROPOSTA ======= */
     $arrResultado = array();
     $arrResultado['erro'] = false;
     //valida mes de envio da proposta
     /* if(date("m") == "01" || date("m") == "12"){
        $arrResultado['prazoenvioproposta']['erro'] = true;
        $arrResultado['prazoenvioproposta']['msg'] = "Conforme Art 5º da Instrução Normativa nº 1, de 5 de outubro de 2010, nenhuma proposta poderá ser enviada ao MinC nos meses de DEZEMBRO e JANEIRO! - <font color='red'>PENDENTE</font>";
        return $arrResultado;
        } */
     /*         * ******* MOVIMENTACAO ******** */
     $tblMovimentacao = new Movimentacao();
     $rsMovimentacao = $tblMovimentacao->buscar(array("idProjeto = ?" => $idPreProjeto), array("idMovimentacao DESC"))->current();
     if (count($rsMovimentacao) > 0) {
         if ($rsMovimentacao->Movimentacao != 95) {
             $arrResultado['erro'] = true;
             $arrResultado['movimentacao']['erro'] = false;
             $arrResultado['movimentacao']['msg'] = "A Proposta Cultural encontra-se no Minist&eacute;rio da Cultura";
         }
     }
     /*         * ******* DADOS DO PROPONENTE ******** */
     $tblProponente = new Proponente();
     //$rsProponente = $tblProponente->buscar(array("a.idAgente = ?"=>$rsPreProjeto->idAgente))->current();
     $tblAgente = new Agentes();
     $rsProponente = $tblAgente->buscarAgenteNome(array("a.idAgente = ?" => $rsPreProjeto->idAgente))->current();
     $regularidade = Regularidade::buscarSalic($rsProponente->CNPJCPF);
     $dadosEndereco = EnderecoNacionalDAO::buscarEnderecoNacional($rsPreProjeto->idAgente);
     $dadosEmail = Email::buscar($rsPreProjeto->idAgente);
     $dadosDirigente = ManterAgentesDAO::buscarVinculados(null, null, null, null, $rsPreProjeto->idAgente);
     //$dadosDirigente = ManterAgentes::buscaDirigentes($rsProponente->CNPJCPF);
     $tblLocaisRealizacao = new Abrangencia();
     $dadosLocais = $tblLocaisRealizacao->buscar(array("a.idProjeto" => $idPreProjeto, "a.stAbrangencia" => 1));
     if (count($rsProponente) > 0) {
         //VERIFICA SE O PROPONENTE ESTÁ VINCULADO
         $vinculoProponente = new tbVinculoPropostaResponsavelProjeto();
         $whereProp['VP.idPreProjeto = ?'] = $idPreProjeto;
         $whereProp['VP.siVinculoProposta = ?'] = 2;
         $rsVinculo = $vinculoProponente->buscarResponsaveisProponentes($whereProp);
         if ($rsVinculo[0]->siVinculo == 2) {
             $arrResultado['erro'] = false;
             $arrResultado['vinculoproponente']['erro'] = false;
             $arrResultado['vinculoproponente']['msg'] = "Vinculo do Proponente REGULAR";
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['vinculoproponente']['erro'] = true;
             $arrResultado['vinculoproponente']['msg'] = "Vinculo do Proponente IRREGULAR";
         }
         //REGULARIDADE DO PROPONENTE
         if (count($regularidade) > 0) {
             if ($regularidade[0]->Habilitado == "S") {
                 $arrResultado['regularidadeproponente']['erro'] = false;
                 $arrResultado['regularidadeproponente']['msg'] = "Proponente em situa&ccedil;&atilde;o REGULAR no Minist&eacute;rio da Cultura - <font color='green'>OK</font>";
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['regularidadeproponente']['erro'] = true;
                 $arrResultado['regularidadeproponente']['msg'] = "Proponente em situa&ccedil;&atilde;o IRREGULAR no Minist&eacute;rio da Cultura - <font color='red'>PENDENTE</font>";
             }
         } else {
             $arrResultado['regularidadeproponente']['erro'] = false;
             $arrResultado['regularidadeproponente']['msg'] = "Proponente em situa&ccedil;&atilde;o REGULAR no Minist&eacute;rio da Cultura - <font color='green'>OK</font>";
         }
         //E-MAIL
         $blnEmail = false;
         if (count($dadosEmail) > 0) {
             foreach ($dadosEmail as $email) {
                 if ($email->Status == 1) {
                     $blnEmail = true;
                 }
             }
             if ($blnEmail === false) {
                 $arrResultado['erro'] = true;
                 $arrResultado['email']['erro'] = true;
                 $arrResultado['email']['msg'] = "E-mail do proponente inexistente - <font color='red'>PENDENTE</font>";
             } else {
                 $arrResultado['email']['erro'] = false;
                 $arrResultado['email']['msg'] = "E-mail do proponente - <font color='green'>OK</font>";
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['email']['erro'] = true;
             $arrResultado['email']['msg'] = "E-mail do proponente inexistente - <font color='red'>PENDENTE</font>";
         }
         //ENDERECO
         $blnEndCorrespondencia = false;
         if (count($dadosEndereco) > 0) {
             foreach ($dadosEndereco as $endereco) {
                 if ($endereco->Status == 1) {
                     $blnEndCorrespondencia = true;
                 }
             }
             if ($blnEndCorrespondencia === false) {
                 $arrResultado['erro'] = true;
                 $arrResultado['endereco']['erro'] = true;
                 $arrResultado['endereco']['msg'] = "Dados cadastrais do proponente inexistente ou n&atilde;o h&aacute; endere&ccedil;o para correspond&ecirc;ncia selecionado";
             } else {
                 $arrResultado['endereco']['erro'] = false;
                 $arrResultado['endereco']['msg'] = "Dados cadastrais do proponente - <font color='green'>OK</font>";
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['endereco']['erro'] = true;
             $arrResultado['endereco']['msg'] = "Dados cadastrais do proponente inexistente ou n&atilde;o h&aacute; endere&ccedil;o para correspond&ecirc;ncia selecionado";
         }
         //NATUREZA
         if ($rsProponente->TipoPessoa == 1) {
             $tblNatureza = new Natureza();
             $dadosNatureza = $tblNatureza->buscar(array("idAgente = ?" => $rsPreProjeto->idAgente));
             if (count($dadosNatureza) > 0) {
                 $arrResultado['dirigente']['erro'] = false;
                 $arrResultado['dirigente']['msg'] = "Natureza do proponente - <font color='green'>OK</font>";
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['dirigente']['erro'] = true;
                 $arrResultado['dirigente']['msg'] = "Natureza do proponente - <font color='red'>PENDENTE</font>";
             }
         }
         //DIRIGENTE
         if ($rsProponente->TipoPessoa == 1) {
             if (count($dadosDirigente) > 0) {
                 $arrResultado['dirigente']['erro'] = false;
                 $arrResultado['dirigente']['msg'] = "Cadastro de Dirigente - <font color='green'>OK</font>";
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['dirigente']['erro'] = true;
                 $arrResultado['dirigente']['msg'] = "Cadastro de Dirigente - <font color='red'>PENDENTE</font>";
             }
         }
         //LOCAIS DE RALIZACAO
         if (count($dadosLocais) > 0) {
             $arrResultado['locaisrealizacao']['erro'] = false;
             $arrResultado['locaisrealizacao']['msg'] = "Local de realiza&ccedil;&atilde;o da proposta - <font color='green'>OK</font>";
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['locaisrealizacao']['erro'] = true;
             $arrResultado['locaisrealizacao']['msg'] = "O Local de realiza&ccedil;&atilde;o da proposta n&atilde;o foi preenchido - <font color='red'>PENDENTE</font>";
         }
     } else {
         $arrResultado['erro'] = true;
         $arrResultado['proponente']['erro'] = true;
         $arrResultado['proponente']['msg'] = "Dados cadastrais do proponente inexistente ou n&atilde;o h&aacute; endere&ccedil;o para correspond&ecirc;ncia selecionado";
     }
     return $arrResultado;
 }
 public function formAvaliarRecursoCnicAction()
 {
     if ($this->idPerfil != 118) {
         parent::message("Você não tem permissão para acessar essa área do sistema!", "principal", "ALERT");
     }
     $get = Zend_Registry::get('get');
     $idRecurso = (int) $get->recurso;
     $tbRecurso = new tbRecurso();
     $dados = $tbRecurso->buscarDadosRecursos(array('idRecurso = ?' => $idRecurso))->current();
     $this->view->dados = $dados;
     $this->view->nmPagina = '';
     if ($dados->siFaseProjeto == 2) {
         if ($dados->tpSolicitacao == 'PI' || $dados->tpSolicitacao == 'EO' || $dados->tpSolicitacao == 'OR') {
             $this->view->nmPagina = 'Projeto Indeferido';
             if ($dados->tpSolicitacao == 'EO') {
                 $this->view->nmPagina = 'Enquadramento e Orçamento';
             } else {
                 if ($dados->tpSolicitacao == 'OR') {
                     $this->view->nmPagina = 'Orçamento';
                 }
             }
             $PlanoDistribuicaoProduto = new PlanoDistribuicaoProduto();
             $dadosProdutos = $PlanoDistribuicaoProduto->buscarProdutosProjeto($dados->IdPRONAC);
             $this->view->produtos = $dadosProdutos;
             $tipoDaPlanilha = 3;
             // 3=Planilha Orçamentária Aprovada
             if ($dados->tpSolicitacao == 'EO' || $dados->tpSolicitacao == 'OR') {
                 $tipoDaPlanilha = 4;
                 // 4=Cortes Orçamentários Aprovados
             }
             $spPlanilhaOrcamentaria = new spPlanilhaOrcamentaria();
             $planilhaOrcamentaria = $spPlanilhaOrcamentaria->exec($dados->IdPRONAC, $tipoDaPlanilha);
             $this->view->planilha = $this->montarPlanilhaOrcamentaria($planilhaOrcamentaria, $tipoDaPlanilha);
         }
     }
     if ($dados->tpSolicitacao == 'EN' || $dados->tpSolicitacao == 'EO' || $dados->tpSolicitacao == 'OR' || $dados->tpSolicitacao == 'PI') {
         if ($dados->tpSolicitacao == 'EN') {
             $this->view->nmPagina = 'Enquadramento';
         } else {
             if ($dados->tpSolicitacao == 'EO') {
                 $this->view->nmPagina = 'Enquadramento e Orçamento';
             } else {
                 if ($dados->tpSolicitacao == 'OR') {
                     $this->view->nmPagina = 'Orçamento';
                 } else {
                     $this->view->nmPagina = 'Projeto Indeferido';
                 }
             }
         }
         $Projetos = new Projetos();
         $this->view->projetosEN = $Projetos->buscaAreaSegmentoProjeto($dados->IdPRONAC);
         $this->view->comboareasculturais = ManterAgentesDAO::buscarAreasCulturais();
         $this->view->combosegmentosculturais = Segmentocultural::buscarSegmento($this->view->projetosEN->cdArea);
         $parecer = new Parecer();
         $this->view->Parecer = $parecer->buscar(array('IdPRONAC = ?' => $dados->IdPRONAC, 'TipoParecer = ?' => 7, 'stAtivo = ?' => 1))->current();
     }
     //DADOS DO PROJETO
     $Projetos = new Projetos();
     $p = $Projetos->buscarProjetoXProponente(array('idPronac = ?' => $dados->IdPRONAC))->current();
     $this->view->projeto = $p;
 }
 public function consolidacaopareceristaAction()
 {
     $OrgaosDAO = new Orgaos();
     $NomesDAO = new Nomes();
     $AreaDAO = new Area();
     $SegmentoDAO = new Segmento();
     $this->view->Orgaos = $OrgaosDAO->buscar(array('Status = ?' => 0, 'Vinculo = ?' => 1));
     $this->view->Pareceristas = $NomesDAO->buscarPareceristas();
     // O mesmo do Manter Agentes
     $this->view->comboareasculturais = ManterAgentesDAO::buscarAreasCulturais();
     $this->view->Areas = $AreaDAO->buscar();
     $this->view->Segmento = $SegmentoDAO->buscar(array('stEstado = ?' => 1));
 }
 /**
  * Método listaragente()
  * @access public
  * @param void
  * @return List
  */
 public function listaragenteAction()
 {
     $this->autenticacao();
     // recebe os dados via get
     $get = Zend_Registry::get('get');
     $cpf = $get->cpf;
     $nome = $get->nome;
     // realiza a busca por cpf e/ou nome
     $buscar = ManterAgentesDAO::buscarAgentes($cpf, $nome);
     if (!$buscar) {
         // redireciona para a página de cadastro de agentes, e, exibe uma notificação relativa ao cadastro
         parent::message("Agente não cadastrado!<br /><br />Por favor, cadastre o mesmo no formulário abaixo!", "manteragentes/agentes?acao=cc&cpf=" . $cpf . "&nome=" . $nome, "ALERT");
     } else {
         // ========== INÍCIO PAGINAÇÃO ==========
         // criando a paginação
         Zend_Paginator::setDefaultScrollingStyle('Sliding');
         Zend_View_Helper_PaginationControl::setDefaultViewPartial('paginacao/paginacao.phtml');
         $paginator = Zend_Paginator::factory($buscar);
         // dados a serem paginados
         // página atual e quantidade de ítens por página
         $currentPage = $this->_getParam('page', 1);
         $paginator->setCurrentPageNumber($currentPage)->setItemCountPerPage(10);
         // 10 por página
         // ========== FIM PAGINAÇÃO ==========
         $this->view->buscar = $paginator;
         $this->view->qtdAgentes = count($buscar);
         // quantidade de agentes
     }
     // fecha else
 }
 /**
  * Metodo com o parecer consolidado - Recursos
  * @access public
  * @param void
  * @return void
  */
 public function parecerconsolidadorecursosAction()
 {
     $this->_helper->layout->disableLayout();
     // desabilita o Zend_Layout
     $idPronac = $_POST['idpronac'];
     $tbRecurso = new tbRecurso();
     $dadosRecurso = $tbRecurso->buscar(array('IdPRONAC=?' => $idPronac, 'siRecurso in (?)' => array(8, 9), 'stEstado=?' => 0))->current();
     if ($dadosRecurso) {
         $dados = $tbRecurso->buscarDadosRecursos(array('idRecurso = ?' => $dadosRecurso->idRecurso))->current();
         $this->view->dados = $dados;
         $this->view->nmPagina = '';
         if ($dados->siFaseProjeto == 2) {
             if ($dados->tpSolicitacao == 'PI' || $dados->tpSolicitacao == 'EO' || $dados->tpSolicitacao == 'OR') {
                 $d = array();
                 $d['situacao'] = 'B11';
                 $d['ProvidenciaTomada'] = 'Recurso enviado para avaliação técnica.';
                 $d['dtSituacao'] = new Zend_Db_Expr('GETDATE()');
                 $where = "IdPRONAC = {$dados->IdPRONAC}";
                 $Projetos = new Projetos();
                 $Projetos->update($d, $where);
                 //ATUALIZA OS DADOS DA TABELA tbAnaliseAprovacao
                 $e = array();
                 $e['stDistribuicao'] = 'I';
                 // I=Inativo
                 $w = "idPRONAC = {$dados->IdPRONAC}";
                 $tbDistribuicaoProjetoComissao = new tbDistribuicaoProjetoComissao();
                 $tbDistribuicaoProjetoComissao->update($e, $w);
                 $PlanoDistribuicaoProduto = new PlanoDistribuicaoProduto();
                 $dadosProdutos = $PlanoDistribuicaoProduto->buscarProdutosProjeto($dados->IdPRONAC);
                 $this->view->produtos = $dadosProdutos;
                 $spPlanilhaOrcamentaria = new spPlanilhaOrcamentaria();
                 $planilhaOrcamentaria = $spPlanilhaOrcamentaria->exec($dados->IdPRONAC, 4);
                 // 4=Cortes Orçamentários Aprovados
                 $this->view->planilha = $this->montarPlanilhaOrcamentaria($planilhaOrcamentaria, 4);
                 // 4=Cortes Orçamentários Aprovados
             }
         }
         if ($dados->tpSolicitacao == 'EN' || $dados->tpSolicitacao == 'EO' || $dados->tpSolicitacao == 'OR' || $dados->tpSolicitacao == 'PI') {
             $Projetos = new Projetos();
             $this->view->projetosEN = $Projetos->buscaAreaSegmentoProjeto($dados->IdPRONAC);
             $this->view->comboareasculturais = ManterAgentesDAO::buscarAreasCulturais();
             $this->view->combosegmentosculturais = Segmentocultural::buscarSegmento($this->view->projetosEN->cdArea);
             $parecer = new Parecer();
             $this->view->Parecer = $parecer->buscar(array('IdPRONAC = ?' => $dados->IdPRONAC, 'TipoParecer in (?)' => array(1, 7), 'stAtivo = ?' => 1))->current();
         }
         //DADOS DO PROJETO
         $Projetos = new Projetos();
         $p = $Projetos->buscarProjetoXProponente(array('idPronac = ?' => $dados->IdPRONAC))->current();
         $this->view->projeto = $p;
     } else {
         $this->view->dados = array();
     }
 }
 /**
  * Método para gravação de todos os dados do dirigente
  * @access public
  * @param void
  * @return void
  */
 public function gravardirigentecompletoAction()
 {
     // caso o formulário seja enviado via post
     if ($this->getRequest()->isPost()) {
         // recebe os dados via post
         $post = Zend_Registry::get('post');
         $idAgente = $post->idAgente;
         // id do dirigente
         $idAgenteGeral = $post->idAgenteGeral;
         // usuário associado ao dirigente
         $cpf = Mascara::delMaskCPF(Mascara::delMaskCNPJ($post->cpf));
         // retira as máscaras
         $TipoNome = 18;
         // pessoa física
         $Usuario = $this->getIdUsuario;
         // id do usuário logado
         // ========== INÍCIO SALVAR NOME ==========
         $nome = $post->nome;
         try {
             // busca o nome do agente
             $busca = NomesDAO::buscarNome($idAgente);
             if (!$busca) {
                 $i = NomesDAO::gravarNome($idAgente, $TipoNome, $nome, 0, $Usuario);
             } else {
                 $i = NomesDAO::atualizaNome($idAgente, $TipoNome, $nome, 0, $Usuario);
             }
         } catch (Exception $e) {
             $this->view->message = "Erro ao salvar o nome: " . $e->getMessage();
         }
         // ========== FIM SALVAR NOME ==========
         // ========== INÍCIO SALVAR ENDEREÇO ==========
         $TipoEndereco = $post->tipoEndereco;
         $TipoLogradouro = $post->tipoLogradouro;
         $Logradouro = $post->logradouro;
         $Numero = $post->numero;
         $Bairro = $post->bairro;
         $Complemento = $post->complemento;
         $Cidade = $post->cidade;
         $UF = $post->uf;
         $Cep = Mascara::delMaskCEP($post->cep);
         $Divulgar = $post->divulgarEndereco;
         $Status = $post->enderecoCorrespondencia;
         $GravarEnderecoNacional = array('idAgente' => $idAgente, 'TipoEndereco' => $TipoEndereco, 'TipoLogradouro' => $TipoLogradouro, 'Logradouro' => $Logradouro, 'Numero' => $Numero, 'Bairro' => $Bairro, 'Complemento' => $Complemento, 'Cidade' => $Cidade, 'UF' => $UF, 'Cep' => $Cep, 'Status' => $Status, 'Divulgar' => $Divulgar, 'Usuario' => $Usuario);
         $AtualizarEnderecoNacional = array('TipoEndereco' => $TipoEndereco, 'TipoLogradouro' => $TipoLogradouro, 'Logradouro' => $Logradouro, 'Numero' => $Numero, 'Bairro' => $Bairro, 'Complemento' => $Complemento, 'Cidade' => $Cidade, 'UF' => $UF, 'Cep' => $Cep, 'Status' => $Status, 'Divulgar' => $Divulgar, 'Usuario' => $Usuario);
         try {
             // busca o endereço do agente
             $busca = EnderecoNacionalDAO::buscarEnderecoNacional($idAgente);
             if (!$busca) {
                 $i = EnderecoNacionalDAO::gravarEnderecoNacional($GravarEnderecoNacional);
             } else {
                 $i = EnderecoNacionalDAO::atualizaEnderecoNacional($idAgente, $AtualizarEnderecoNacional);
             }
         } catch (Exception $e) {
             $this->view->message = "Erro ao salvar o endereço: " . $e->getMessage();
         }
         // ========== FIM SALVAR ENDEREÇO ==========
         // ========== INÍCIO SALVAR VISÃO ==========
         $Visao = $post->visao;
         $GravarVisao = array('idAgente' => $idAgente, 'Visao' => $Visao, 'Usuario' => $Usuario, 'stAtivo' => 'A');
         try {
             // busca as visões do agente
             $busca = VisaoDAO::buscarVisao($idAgente, $Visao);
             if (!$busca) {
                 $i = VisaoDAO::cadastrarVisao($GravarVisao);
             }
         } catch (Exception $e) {
             $this->view->message = "Erro ao salvar a visão: " . $e->getMessage();
         }
         // ========== FIM SALVAR VISÃO ==========
         // ========== INÍCIO TELEFONES ==========
         // array com os telefones
         $tipoFones = $post->tipoFones;
         $ufFones = $post->ufFones;
         $dddFones = $post->dddFones;
         $Fones = $post->Fones;
         $divulgarFones = $post->divulgarFones;
         try {
             // exclui todos os telefones
             $delete = Telefone::excluirTodos($idAgente);
             // cadastra todos os telefones
             for ($i = 0; $i < sizeof($Fones); $i++) {
                 $arrayTelefones = array('idAgente' => $idAgente, 'TipoTelefone' => $tipoFones[$i], 'UF' => $ufFones[$i], 'DDD' => $dddFones[$i], 'Numero' => $Fones[$i], 'Divulgar' => $divulgarFones[$i], 'Usuario' => $Usuario);
                 $insere = Telefone::cadastrar($arrayTelefones);
             }
             // fecha for
         } catch (Exception $e) {
             $this->view->message = "Erro ao salvar o componente: " . $e->getMessage();
         }
         // ========== FIM TELEFONES ==========
         // ========== INÍCIO E-MAILS ==========
         // array com os e-mails
         $tipoEmails = $post->tipoEmails;
         $Emails = $post->Emails;
         $divulgarEmails = $post->divulgarEmails;
         $enviarEmails = $post->enviarEmails;
         try {
             // exclui todos os e-mails
             $delete = Email::excluirTodos($idAgente);
             // cadastra todos os e-mails
             for ($i = 0; $i < sizeof($Emails); $i++) {
                 $arrayEmail = array('idAgente' => $idAgente, 'TipoInternet' => $tipoEmails[$i], 'Descricao' => $Emails[$i], 'Status' => $enviarEmails[$i], 'Divulgar' => $divulgarEmails[$i], 'Usuario' => $Usuario);
                 $insere = Email::cadastrar($arrayEmail);
             }
             // fecha for
         } catch (Exception $e) {
             $this->view->message = "Erro ao salvar o componente: " . $e->getMessage();
         }
         // ========== FIM E-MAILS ==========
         // ========== INÍCIO DIRIGENTES ==========
         // busca os dados do associado ao dirigente (idVinculoPrincipal)
         //$buscarAgente = ManterAgentesDAO::buscarAgentes(null, null, $idAgenteGeral);
         // busca o dirigente vinculado ao cnpj/cpf
         //$dadosDirigente = ManterAgentesDAO::buscarVinculados($buscarAgente[0]->CNPJCPF, null, $idAgente, $idAgenteGeral, $idAgenteGeral);
         $dadosDirigente = ManterAgentesDAO::buscarVinculados(null, null, $idAgente, $idAgenteGeral, $idAgenteGeral);
         // caso o agente não esteja vinculado, realizará a vinculação
         if (!$dadosDirigente) {
             // associa o dirigente ao cnpj/cpf
             $dadosVinculacao = array('idAgente' => $idAgente, 'idVinculado' => $idAgenteGeral, 'idVinculoPrincipal' => $idAgenteGeral, 'Usuario' => $Usuario);
             $vincular = ManterAgentesDAO::cadastrarVinculados($dadosVinculacao);
         }
         // ========== FIM DIRIGENTES ==========
     }
     // fecha if ($this->getRequest()->isPost())
     parent::message("Cadastro realizado com sucesso!", "manteragentes/dirigentes?acao=cc&idAgenteGeral=" . $idAgenteGeral, "CONFIRM");
 }
 public function recursoAction()
 {
     $this->_helper->layout->disableLayout();
     // Desabilita o Zend Layout
     $idPronac = $this->_request->getParam("idPronac");
     if (strlen($idPronac) > 7) {
         $idPronac = Seguranca::dencrypt($idPronac);
     }
     if (!empty($idPronac)) {
         $Projetos = new Projetos();
         $rsProjeto = $Projetos->buscar(array("IdPronac=?" => $idPronac))->current();
         $this->view->projeto = $rsProjeto;
         // verifica se há pedidos de reconsideração e de recurso
         $tbRecurso = new tbRecurso();
         $recursos = $tbRecurso->buscar(array('IdPRONAC = ?' => $idPronac));
         $pedidoReconsideracao = 0;
         $pedidoRecurso = 0;
         if (count($recursos) > 0) {
             foreach ($recursos as $r) {
                 if ($r->tpRecurso == 1) {
                     $pedidoReconsideracao = $r->idRecurso;
                     $dados = $tbRecurso->buscarDadosRecursos(array('idRecurso = ?' => $r->idRecurso))->current();
                     $this->view->dadosReconsideracao = $dados;
                     if ($r->siRecurso == 0) {
                         $this->view->desistenciaReconsideracao = true;
                     } else {
                         $this->view->desistenciaReconsideracao = false;
                         $this->view->produtosReconsideracao = array();
                         if ($dados->siFaseProjeto == 2) {
                             if ($dados->tpSolicitacao == 'PI' || $dados->tpSolicitacao == 'EO' || $dados->tpSolicitacao == 'OR') {
                                 $PlanoDistribuicaoProduto = new PlanoDistribuicaoProduto();
                                 $dadosProdutos = $PlanoDistribuicaoProduto->buscarProdutosProjeto($dados->IdPRONAC);
                                 $this->view->produtosReconsideracao = $dadosProdutos;
                                 $tipoDaPlanilha = 3;
                                 // 3=Planilha Orçamentária Aprovada Ativa
                                 //                                    if($dados->tpSolicitacao == 'EO' || $dados->tpSolicitacao == 'OR'){
                                 //                                        $tipoDaPlanilha = 4; // 4=Cortes Orçamentários Aprovados
                                 //                                    }
                                 $spPlanilhaOrcamentaria = new spPlanilhaOrcamentaria();
                                 $planilhaOrcamentaria = $spPlanilhaOrcamentaria->exec($dados->IdPRONAC, $tipoDaPlanilha);
                                 $this->view->planilhaReconsideracao = $this->montarPlanilhaOrcamentaria($planilhaOrcamentaria, $tipoDaPlanilha);
                             }
                         }
                         if ($dados->tpSolicitacao == 'EN' || $dados->tpSolicitacao == 'EO' || $dados->tpSolicitacao == 'OR' || $dados->tpSolicitacao == 'PI') {
                             $this->view->projetosENReconsideracao = $Projetos->buscaAreaSegmentoProjeto($dados->IdPRONAC);
                             $this->view->comboareasculturaisReconsideracao = ManterAgentesDAO::buscarAreasCulturais();
                             $this->view->combosegmentosculturaisReconsideracao = Segmentocultural::buscarSegmento($this->view->projetosENReconsideracao->cdArea);
                             $parecer = new Parecer();
                             $this->view->ParecerReconsideracao = $parecer->buscar(array('IdPRONAC = ?' => $dados->IdPRONAC, 'TipoParecer in (?)' => array(1, 7), 'stAtivo = ?' => 1))->current();
                         }
                     }
                 }
                 if ($r->tpRecurso == 2) {
                     $pedidoRecurso = $r->idRecurso;
                     $dados = $tbRecurso->buscarDadosRecursos(array('idRecurso = ?' => $r->idRecurso))->current();
                     $this->view->dadosRecurso = $dados;
                     if ($r->siRecurso == 0) {
                         $this->view->desistenciaRecurso = true;
                     } else {
                         $this->view->desistenciaRecurso = false;
                         if ($dados->siFaseProjeto == 2) {
                             if ($dados->tpSolicitacao == 'PI' || $dados->tpSolicitacao == 'EO' || $dados->tpSolicitacao == 'OR') {
                                 $PlanoDistribuicaoProduto = new PlanoDistribuicaoProduto();
                                 $dadosProdutos = $PlanoDistribuicaoProduto->buscarProdutosProjeto($dados->IdPRONAC);
                                 $this->view->produtosRecurso = $dadosProdutos;
                                 $tipoDaPlanilha = 2;
                                 // 2=Planilha Aprovada Parecerista
                                 if ($dados->tpSolicitacao == 'EO' || $dados->tpSolicitacao == 'OR') {
                                     $tipoDaPlanilha = 4;
                                     // 4=Cortes Orçamentários Aprovados
                                 }
                                 $spPlanilhaOrcamentaria = new spPlanilhaOrcamentaria();
                                 $planilhaOrcamentaria = $spPlanilhaOrcamentaria->exec($dados->IdPRONAC, $tipoDaPlanilha);
                                 $this->view->planilhaRecurso = $this->montarPlanilhaOrcamentaria($planilhaOrcamentaria, $tipoDaPlanilha);
                             }
                         }
                         if ($dados->tpSolicitacao == 'EN' || $dados->tpSolicitacao == 'EO' || $dados->tpSolicitacao == 'OR' || $dados->tpSolicitacao == 'PI') {
                             $this->view->projetosENRecurso = $Projetos->buscaAreaSegmentoProjeto($dados->IdPRONAC);
                             $this->view->comboareasculturaisRecurso = ManterAgentesDAO::buscarAreasCulturais();
                             $this->view->combosegmentosculturaisRecurso = Segmentocultural::buscarSegmento($this->view->projetosENRecurso->cdArea);
                             $parecer = new Parecer();
                             $this->view->ParecerRecurso = $parecer->buscar(array('IdPRONAC = ?' => $dados->IdPRONAC, 'TipoParecer = ?' => 7, 'stAtivo = ?' => 1))->current();
                         }
                     }
                 }
             }
         }
         $this->view->pedidoReconsideracao = $pedidoReconsideracao;
         $this->view->pedidoRecurso = $pedidoRecurso;
     }
 }
Beispiel #11
0
 public function validarEnvioPropostaAoMinc($idPreProjeto)
 {
     //BUSCA DADOS DO PROJETO
     $arrBusca = array();
     $arrBusca['idPreProjeto = ?'] = $idPreProjeto;
     $tblPreProjeto = new PreProjeto();
     $rsPreProjeto = $tblPreProjeto->buscar($arrBusca)->current();
     /* ======== VERIFICA TODAS AS INFORMACOES NECESSARIAS AO ENVIO DA PROPOSTA ======= */
     $arrResultado = array();
     $arrResultado['erro'] = false;
     //valida mes de envio da proposta
     /* if(date("m") == "01" || date("m") == "12"){
        $arrResultado['prazoenvioproposta']['erro'] = true;
        $arrResultado['prazoenvioproposta']['msg'] = "Conforme Art 5? da Instruç?o Normativa n? 1, de 5 de outubro de 2010, nenhuma proposta poderá ser enviada ao MinC nos meses de DEZEMBRO e JANEIRO!";
        return $arrResultado;
        } */
     /*         * ******* MOVIMENTACAO ******** */
     //VERIFICA SE A PROPOSTA ESTA COM O MINC
     $Movimentacao = new Movimentacao();
     $rsMovimentacao = $Movimentacao->buscarStatusAtualProposta($idPreProjeto);
     if ($rsMovimentacao->Movimentacao != 95) {
         $arrResultado['erro'] = true;
         $arrResultado['movimentacao']['erro'] = false;
         $arrResultado['movimentacao']['msg'] = "A Proposta Cultural encontra-se no Minist&eacute;rio da Cultura";
     } else {
         /* $arrResultado['erro'] = true;
            $arrResultado['movimentacao']['erro'] = false;
            $arrResultado['movimentacao']['msg'] = "A Proposta Cultural encontra-se no Minist&eacute;rio da Cultura"; */
     }
     /*         * ******* DADOS DO PROPONENTE ******** */
     $tblProponente = new Proponente();
     //$rsProponente = $tblProponente->buscar(array("a.idAgente = ?"=>$rsPreProjeto->idAgente))->current();
     $tblAgente = new Agentes();
     $rsProponente = $tblAgente->buscarAgenteNome(array("a.idAgente = ?" => $rsPreProjeto->idAgente))->current();
     $regularidade = Regularidade::buscarSalic($rsProponente->CNPJCPF);
     $dadosEndereco = EnderecoNacionalDAO::buscarEnderecoNacional($rsPreProjeto->idAgente);
     $dadosEmail = Email::buscar($rsPreProjeto->idAgente);
     $dadosDirigente = ManterAgentesDAO::buscarVinculados(null, null, null, null, $rsPreProjeto->idAgente);
     //$dadosDirigente = ManterAgentes::buscaDirigentes($rsProponente->CNPJCPF);
     $tblLocaisRealizacao = new Abrangencia();
     $dadosLocais = $tblLocaisRealizacao->buscar(array("a.idProjeto" => $idPreProjeto, "a.stAbrangencia" => 1));
     $tblPlanoDivulgacao = new PlanoDeDivulgacao();
     $dadosPlanoDivulgacao = $tblPlanoDivulgacao->buscar(array("idProjeto =?" => $idPreProjeto))->toArray();
     $tblPlanoDistribuicao = new PlanoDistribuicao();
     $dadosPlanoDistribuicao = $tblPlanoDistribuicao->buscar(array("a.idProjeto =?" => $idPreProjeto), array("idProduto ASC"))->toArray();
     if (count($rsProponente) > 0) {
         //REGULARIDADE DO PROPONENTE
         if (count($regularidade) > 0) {
             if ($regularidade[0]->Habilitado == "S") {
                 $arrResultado['regularidadeproponente']['erro'] = false;
                 $arrResultado['regularidadeproponente']['msg'] = "Proponente em situa&ccedil;&atilde;o REGULAR no Minist&eacute;rio da Cultura";
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['regularidadeproponente']['erro'] = true;
                 $arrResultado['regularidadeproponente']['msg'] = "Proponente em situa&ccedil;&atilde;o IRREGULAR no Minist&eacute;rio da Cultura";
             }
         } else {
             $arrResultado['regularidadeproponente']['erro'] = false;
             $arrResultado['regularidadeproponente']['msg'] = "Proponente em situa&ccedil;&atilde;o REGULAR no Minist&eacute;rio da Cultura";
         }
         //E-MAIL
         $blnEmail = false;
         if (count($dadosEmail) > 0) {
             foreach ($dadosEmail as $email) {
                 if ($email->Status == 1) {
                     $blnEmail = true;
                 }
             }
             if ($blnEmail === false) {
                 $arrResultado['erro'] = true;
                 $arrResultado['email']['erro'] = true;
                 $arrResultado['email']['msg'] = "E-mail do proponente inexistente";
             } else {
                 $arrResultado['email']['erro'] = false;
                 $arrResultado['email']['msg'] = "E-mail do proponente";
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['email']['erro'] = true;
             $arrResultado['email']['msg'] = "E-mail do proponente inexistente";
         }
         //ENDERECO
         $blnEndCorrespondencia = false;
         if (count($dadosEndereco) > 0) {
             foreach ($dadosEndereco as $endereco) {
                 if ($endereco->Status == 1) {
                     $blnEndCorrespondencia = true;
                 }
             }
             if ($blnEndCorrespondencia === false) {
                 $arrResultado['erro'] = true;
                 $arrResultado['endereco']['erro'] = true;
                 $arrResultado['endereco']['msg'] = "Dados cadastrais do proponente inexistente ou n&atilde;o h&aacute; endere&ccedil;o para correspond&ecirc;ncia selecionado";
             } else {
                 $arrResultado['endereco']['erro'] = false;
                 $arrResultado['endereco']['msg'] = "Dados cadastrais do proponente";
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['endereco']['erro'] = true;
             $arrResultado['endereco']['msg'] = "Dados cadastrais do proponente inexistente ou n&atilde;o h&aacute; endere&ccedil;o para correspond&ecirc;ncia selecionado";
         }
         //NATUREZA
         if ($rsProponente->TipoPessoa == 1) {
             $tblNatureza = new Natureza();
             $dadosNatureza = $tblNatureza->buscar(array("idAgente = ?" => $rsPreProjeto->idAgente));
             if (count($dadosNatureza) > 0) {
                 $arrResultado['dirigente']['erro'] = false;
                 $arrResultado['dirigente']['msg'] = "Natureza do proponente";
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['dirigente']['erro'] = true;
                 $arrResultado['dirigente']['msg'] = "Natureza do proponente";
             }
         }
         //DIRIGENTE
         if ($rsProponente->TipoPessoa == 1) {
             if (count($dadosDirigente) > 0) {
                 $arrResultado['dirigente']['erro'] = false;
                 $arrResultado['dirigente']['msg'] = "Cadastro de Dirigente";
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['dirigente']['erro'] = true;
                 $arrResultado['dirigente']['msg'] = "Cadastro de Dirigente";
             }
         }
         //LOCAIS DE RALIZACAO
         if (count($dadosLocais) > 0) {
             $arrResultado['locaisrealizacao']['erro'] = false;
             $arrResultado['locaisrealizacao']['msg'] = "Local de realiza&ccedil;&atilde;o da proposta";
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['locaisrealizacao']['erro'] = true;
             $arrResultado['locaisrealizacao']['msg'] = "O Local de realiza&ccedil;&atilde;o da proposta n&atilde;o foi preenchido";
         }
         //PLANO DE DIVULGACAO
         if (count($dadosPlanoDivulgacao) > 0) {
             $arrResultado['planodivulgacao']['erro'] = false;
             $arrResultado['planodivulgacao']['msg'] = "Plano B&aacute;sico de Divulga&ccedil;&atilde;o";
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['planodivulgacao']['erro'] = true;
             $arrResultado['planodivulgacao']['msg'] = "O Plano B&aacute;sico de Divulga&ccedil;&atilde;o n&atilde;o foi preenchido";
         }
         //PLANO DE DISTRIBUICAO
         if (count($dadosPlanoDistribuicao) > 0) {
             $arrResultado['planodistribuicao']['erro'] = false;
             $arrResultado['planodistribuicao']['msg'] = "Plano Distribui&ccedil;&atilde;o de Produto";
             //PLANILHA POR PRODUTO
             //inicializando variaveis
             $arrProdutoPlanilhaOrcamentaria = array();
             $arrProdutoPlanilhaCustoAdmin = array();
             $arrBuscaPlanilhaOrcamentaria = array();
             //para planilhas orcamentarias onde idProduto <> 0
             $arrBuscaPlanilhaCustoAdmin = array();
             //para planilhas orcamentarias onde idProduto = 0
             $qtdeProdutoPrincial = 0;
             $valorProjeto = 0;
             //instancia classe modelo PlanilhaProposta
             $tblPlanilhaProposta = new PlanilhaProposta();
             foreach ($dadosPlanoDistribuicao as $produto) {
                 //=========== PLANILHA ORCAMENTARIA ===============
                 $idProduto = $produto['idProduto'];
                 $arrBuscaPlanilhaOrcamentaria['idProjeto = ?'] = $idPreProjeto;
                 $arrBuscaPlanilhaOrcamentaria['idProduto = ?'] = $idProduto;
                 //$arrBuscaPlanilhaOrcamentaria['idEtapa <> ?']=4;
                 $planilhaOrcamentaria = $tblPlanilhaProposta->buscar($arrBuscaPlanilhaOrcamentaria);
                 //$planilha = PlanilhaPropostaDAO::buscarPlanilhaPorProjetoProduto($idPreProjeto, $idProduto);
                 if (count($planilhaOrcamentaria) > 0) {
                     $arrProdutoPlanilhaOrcamentaria['CONTEM'][] = $idProduto;
                     //realiza calculo para encontrar valor do projeto
                     for ($i = 0; $i < sizeof($planilhaOrcamentaria); $i++) {
                         $valorProjeto += $planilhaOrcamentaria[$i]->Quantidade * $planilhaOrcamentaria[$i]->Ocorrencia * $planilhaOrcamentaria[$i]->ValorUnitario;
                     }
                 } else {
                     $arrProdutoPlanilhaOrcamentaria['NAO_CONTEM'][] = $idProduto;
                 }
                 //=========== PRODUTO PRINCIPAL ==========
                 if ($produto['stPrincipal'] == 1) {
                     $qtdeProdutoPrincial++;
                 }
             }
             //fecha FOREACH de Plano Distribuicao
             if (!empty($arrProdutoPlanilhaOrcamentaria['NAO_CONTEM'])) {
                 $arrResultado['erro'] = true;
                 $arrResultado['planilhaproduto']['erro'] = true;
                 $arrResultado['planilhaproduto']['msg'] = "Existe produto cadastrado sem a respectiva planilha or&ccedil;ament&aacute;ria lan&ccedil;ada";
             }
             //=========== PLANILHA CUSTO ADMINISTRATIVO ==========
             $arrBuscaPlanilhaCustoAdmin['idProjeto = ?'] = $idPreProjeto;
             $arrBuscaPlanilhaCustoAdmin['idProduto = ?'] = 0;
             //planilha de custo admin. n&atilde;o tem produto
             $arrBuscaPlanilhaCustoAdmin['idEtapa = ?'] = 4;
             //etapa 4 = Custo/Adminitrativo
             $planilhaCustoAdmin = $tblPlanilhaProposta->buscar($arrBuscaPlanilhaCustoAdmin);
             $valorCustoAdmin = 0;
             if (count($planilhaCustoAdmin) > 0) {
                 $arrResultado['planilhacustoadmin']['erro'] = false;
                 $arrResultado['planilhacustoadmin']['msg'] = "Planilha de custos administrativos lan&ccedil;ada";
                 //realiza calculo para encontrar custo administrativo do projeto
                 for ($i = 0; $i < sizeof($planilhaCustoAdmin); $i++) {
                     $valorCustoAdmin += $planilhaCustoAdmin[$i]->Quantidade * $planilhaCustoAdmin[$i]->Ocorrencia * $planilhaCustoAdmin[$i]->ValorUnitario;
                 }
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['planilhacustoadmin']['erro'] = true;
                 $arrResultado['planilhacustoadmin']['msg'] = "A planilha de custos administrativos do projeto n&atilde;o est&aacute; lan&ccedil;ada";
             }
             //calcula percentual do custo administrativo
             if ($valorProjeto > 0) {
                 $percentual = $valorCustoAdmin / $valorProjeto * 100;
             } else {
                 $percentual = 100;
             }
             if ($percentual > 15) {
                 $arrResultado['erro'] = true;
                 $arrResultado['percentualcustoadmin']['erro'] = true;
                 $arrResultado['percentualcustoadmin']['msg'] = "Custo administrativo superior a 15% do valor total do projeto";
             } else {
                 $arrResultado['percentualcustoadmin']['erro'] = false;
                 $arrResultado['percentualcustoadmin']['msg'] = "Custo administrativo inferior a 15% do valor total do projeto";
             }
             if ($qtdeProdutoPrincial <= 0) {
                 $arrResultado['erro'] = true;
                 $arrResultado['produtoprincipal']['erro'] = true;
                 $arrResultado['produtoprincipal']['msg'] = "N&atilde;o h&aacute; produto principal selecionado na proposta";
             } elseif ($qtdeProdutoPrincial > 1) {
                 $arrResultado['erro'] = true;
                 $arrResultado['produtoprincipal']['erro'] = true;
                 $arrResultado['produtoprincipal']['msg'] = "S&oacute; poder&aacute; haver um produto principal em cada proposta, a sua est&aacute; com mais de um produto";
             } else {
                 $arrResultado['produtoprincipal']['erro'] = false;
                 $arrResultado['produtoprincipal']['msg'] = "Produto principal";
             }
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['planodistribuicao']['erro'] = true;
             $arrResultado['planodistribuicao']['msg'] = "O Plano Distribui&ccedil;&atilde;o de Produto n&atilde;o foi preenchido";
         }
     } else {
         $arrResultado['erro'] = true;
         $arrResultado['proponente']['erro'] = true;
         $arrResultado['proponente']['msg'] = "Dados cadastrais do proponente inexistente ou n&atilde;o h&aacute; endere&ccedil;o para correspond&ecirc;ncia selecionado";
     }
     return $arrResultado;
 }
 public function areasegmentoAction()
 {
     $get = Zend_Registry::get('get');
     $pronac = addslashes($get->pronac);
     $pronac = Seguranca::dencrypt($pronac);
     $ano = addslashes(substr($pronac, 0, 2));
     $sequencial = addslashes(substr($pronac, 2, strlen($pronac)));
     $arrBusca = array('tbr.anoprojeto =?' => $ano, 'tbr.sequencial =?' => $sequencial);
     $projeto = new Projetos();
     $validapronac = $projeto->VerificaPronac($arrBusca);
     if (count($validapronac) > 0) {
         $listaparecer = $projeto->buscarTodosDadosProjeto($validapronac[0]->IdPRONAC);
         $this->view->parecer = $listaparecer[0];
         $this->view->pronac = Seguranca::encrypt($listaparecer[0]->pronac);
         $this->view->comboareasculturais = ManterAgentesDAO::buscarAreasCulturais();
         $this->view->combosegmentosculturais = Segmentocultural::buscarSegmento($listaparecer[0]->Area);
         $documentoDao = new tbHistoricoAlteracaoProjeto();
         $where = array("P.idPRONAC =?" => $listaparecer[0]->IdPRONAC, "cdArea is not null" => '?', "cdSegmento is not null" => '?');
         $documentos = $documentoDao->listadocumentosanexados($where);
         $this->view->documentos = $documentos;
     } else {
         parent::message("Dados obrigat&oacute;rios n&atilde;o informados", "Alterarprojeto/consultarprojeto", "ERROR");
     }
     if ($listaparecer[0]->Orgao != $this->codOrgao) {
         parent::message("Usu&aacute;rio sem autoriza&ccedil;&atilde;o no org&atilde;o do projeto", "Alterarprojeto/consultarprojeto", "ERROR");
     }
 }