/**
  * Reescreve o método init()
  * @access public
  * @param void
  * @return void
  */
 public function init()
 {
     $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) : parent::perfil(4, $PermissoesGrupo);
     parent::init();
     //recupera ID do pre projeto (proposta)
     if (!empty($_REQUEST['idPreProjeto'])) {
         $this->idPreProjeto = $_REQUEST['idPreProjeto'];
         //VERIFICA SE A PROPOSTA ESTA COM O MINC
         $Movimentacao = new Movimentacao();
         $rsStatusAtual = $Movimentacao->buscarStatusAtualProposta($_REQUEST['idPreProjeto']);
         $this->view->movimentacaoAtual = isset($rsStatusAtual->Movimentacao) ? $rsStatusAtual->Movimentacao : '';
     }
     $this->idUsuario = isset($auth->getIdentity()->usu_codigo) ? $auth->getIdentity()->usu_codigo : $auth->getIdentity()->IdUsuario;
 }
 /**
  * Reescreve o método init()
  * @access public
  * @param void
  * @return void
  */
 public function init()
 {
     // autenticaç?o e permiss?es zend (AMBIENTE MINC)
     $PermissoesGrupo = array();
     $PermissoesGrupo[] = 127;
     // Coordenador - Geral de Análise (Ministro)
     $PermissoesGrupo[] = 97;
     // Gestor do SALIC
     $auth = Zend_Auth::getInstance();
     // instancia da autenticação
     isset($auth->getIdentity()->usu_codigo) ? parent::perfil(1, $PermissoesGrupo) : parent::perfil(4, $PermissoesGrupo);
     parent::init();
     // chama o init() do pai GenericControllerNew
     $auth = Zend_Auth::getInstance();
     // instancia da autenticaç?o
     //        $this->idUsuario = isset($auth->getIdentity()->usu_codigo) ? $auth->getIdentity()->usu_codigo : $auth->getIdentity()->IdUsuario;
     if (isset($auth->getIdentity()->usu_codigo)) {
         $this->idUsuario = $auth->getIdentity()->usu_codigo;
     } else {
         $this->idUsuario = $auth->getIdentity()->IdUsuario;
         $this->verificarPermissaoAcesso(true, false, false);
     }
     //recupera ID do pre projeto (proposta)
     if (!empty($_REQUEST['idPreProjeto'])) {
         $this->idPreProjeto = $_REQUEST['idPreProjeto'];
         //VERIFICA SE A PROPOSTA ESTA COM O MINC
         $Movimentacao = new Movimentacao();
         $rsStatusAtual = $Movimentacao->buscarStatusAtualProposta($_REQUEST['idPreProjeto']);
         $this->view->movimentacaoAtual = isset($rsStatusAtual->Movimentacao) ? $rsStatusAtual->Movimentacao : '';
     }
 }
 /**
  * Reescreve o método init()
  * @access public
  * @param void
  * @return void
  */
 public function init()
 {
     $this->view->title = "Salic - Sistema de Apoio às Leis de Incentivo à Cultura";
     // título da página
     $auth = Zend_Auth::getInstance();
     // pega a autenticação
     $PermissoesGrupo = array();
     if (!$auth->hasIdentity()) {
         return $this->_helper->redirector->goToRoute(array('controller' => 'index', 'action' => 'logout'), null, true);
     }
     //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) : parent::perfil(4, $PermissoesGrupo);
     parent::init();
     // chama o init() do pai GenericControllerNew
     //recupera ID do pre projeto (proposta)
     if (!empty($_REQUEST['idPreProjeto'])) {
         $this->idPreProjeto = $_REQUEST['idPreProjeto'];
         //VERIFICA SE A PROPOSTA ESTA COM O MINC
         $Movimentacao = new Movimentacao();
         $rsStatusAtual = $Movimentacao->buscarStatusAtualProposta($_REQUEST['idPreProjeto']);
         $this->view->movimentacaoAtual = isset($rsStatusAtual->Movimentacao) ? $rsStatusAtual->Movimentacao : '';
     } else {
         if ($_REQUEST['idPreProjeto'] != '0') {
             parent::message("Necessário informar o número da proposta.", "/manterpropostaincentivofiscal/index", "ERROR");
         }
     }
     $this->idUsuario = isset($auth->getIdentity()->usu_codigo) ? $auth->getIdentity()->usu_codigo : $auth->getIdentity()->IdUsuario;
     /* =============================================================================== */
     /* ==== VERIFICA PERMISSAO DE ACESSO DO PROPONENTE A PROPOSTA OU AO PROJETO ====== */
     /* =============================================================================== */
     $this->verificarPermissaoAcesso(true, false, false);
 }
 /**
  * Reescreve o método init()
  * @access public
  * @param void
  * @return void
  */
 public function init()
 {
     $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) : parent::perfil(4, $PermissoesGrupo);
     // pega o idAgente do usuário logado
     $auxUsuario = isset($auth->getIdentity()->usu_codigo) ? $auth->getIdentity()->usu_codigo : $auth->getIdentity()->IdUsuario;
     $this->getIdUsuario = UsuarioDAO::getIdUsuario($auxUsuario);
     if ($this->getIdUsuario) {
         $this->getIdUsuario = $this->getIdUsuario["idAgente"];
     } else {
         $this->getIdUsuario = 0;
     }
     $this->view->comboestados = Estado::buscar();
     $this->view->paises = DeslocamentoDAO::buscarPais();
     parent::init();
     //recupera ID do pre projeto (proposta)
     if (!empty($_REQUEST['idPreProjeto'])) {
         $this->idPreProjeto = $_REQUEST['idPreProjeto'];
         //VERIFICA SE A PROPOSTA ESTA COM O MINC
         $Movimentacao = new Movimentacao();
         $rsStatusAtual = $Movimentacao->buscarStatusAtualProposta($_REQUEST['idPreProjeto']);
         $this->view->movimentacaoAtual = $rsStatusAtual->Movimentacao;
     } else {
         if ($_REQUEST['idPreProjeto'] != '0') {
             parent::message("Necessário informar o número da proposta.", "/manterpropostaincentivofiscal/index", "ERROR");
         }
     }
 }
 /**
  * Reescreve o método init()
  * @access public
  * @param void
  * @return void
  */
 public function init()
 {
     $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) : parent::perfil(4, $PermissoesGrupo);
     // inicializando variaveis com valor padrao
     $this->intTamPag = 10;
     //carregando variaveis vindas de GET
     $get = Zend_Registry::get('get');
     if (!empty($_REQUEST['idPreProjeto'])) {
         $this->_idPreProjeto = $get->idPreProjeto;
         //VERIFICA SE A PROPOSTA ESTA COM O MINC
         $Movimentacao = new Movimentacao();
         $rsStatusAtual = $Movimentacao->buscarStatusAtualProposta($_REQUEST['idPreProjeto']);
         $this->view->movimentacaoAtual = isset($rsStatusAtual->Movimentacao) ? $rsStatusAtual->Movimentacao : '';
     } else {
         if ($_REQUEST['idPreProjeto'] != '0') {
             parent::message("Necessário informar o número da proposta.", "/manterpropostaincentivofiscal/index", "ERROR");
         }
     }
     parent::init();
     /* =============================================================================== */
     /* ==== VERIFICA PERMISSAO DE ACESSO DO PROPONENTE A PROPOSTA OU AO PROJETO ====== */
     /* =============================================================================== */
     $this->verificarPermissaoAcesso(true, false, false);
 }
 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ério da Cultura";
     } else {
         /* $arrResultado['erro'] = true;
            $arrResultado['movimentacao']['erro'] = false;
            $arrResultado['movimentacao']['msg'] = "A Proposta Cultural encontra-se no Ministé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ção REGULAR no Ministério da Cultura";
             } else {
                 $arrResultado['erro'] = true;
                 $arrResultado['regularidadeproponente']['erro'] = true;
                 $arrResultado['regularidadeproponente']['msg'] = "Proponente em situação IRREGULAR no Ministério da Cultura";
             }
         } else {
             $arrResultado['regularidadeproponente']['erro'] = false;
             $arrResultado['regularidadeproponente']['msg'] = "Proponente em situação REGULAR no Ministé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ção de Acesso, Etapas de Trabalho, Ficha Técnica, Sinopse da obra, Impacto Ambiental e Especificaçã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ção de Acesso, Etapas de Trabalho, Ficha Técnica, Sinopse da obra, Impacto Ambiental e Especificaçã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ão há endereço para correspondê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ão há endereço para correspondê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ção da proposta";
         } else {
             $arrResultado['erro'] = true;
             $arrResultado['locaisrealizacao']['erro'] = true;
             $arrResultado['locaisrealizacao']['msg'] = "O Local de realização da proposta não foi preenchido";
         }
         //PLANO DE DIVULGACAO
         if (count($dadosPlanoDivulgacao) > 0) {
             $arrResultado['planodivulgacao']['erro'] = false;
             $arrResultado['planodivulgacao']['msg'] = "Plano Básico de Divulgaçã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;
 }
 /**
  * Reescreve o método init()
  * @access public
  * @param void
  * @return void
  */
 public function init()
 {
     ini_set('memory_limit', '128M');
     $auth = Zend_Auth::getInstance();
     // pega a autenticação
     $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo');
     // verifica as permissoes
     $PermissoesGrupo = array();
     $PermissoesGrupo[] = 97;
     // Gestor do SALIC
     $PermissoesGrupo[] = 93;
     // Coordenador de Parecerista
     if (isset($auth->getIdentity()->usu_codigo)) {
         parent::perfil(1, $PermissoesGrupo);
     } else {
         parent::perfil(4, $PermissoesGrupo);
     }
     /*********************************************************************************************************/
     $cpf = isset($auth->getIdentity()->usu_codigo) ? $auth->getIdentity()->usu_identificacao : $auth->getIdentity()->Cpf;
     // Busca na SGCAcesso
     $sgcAcesso = new Sgcacesso();
     $buscaAcesso = $sgcAcesso->buscar(array('Cpf = ?' => $cpf));
     // Busca na Usuarios
     $usuarioDAO = new Usuario();
     $buscaUsuario = $usuarioDAO->buscar(array('usu_identificacao = ?' => $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;
     }
     if (count($buscaUsuario) > 0) {
         $this->idUsuario = $buscaUsuario[0]->usu_codigo;
     }
     if ($this->idAgente != 0) {
         $this->usuarioProponente = "S";
     }
     /*********************************************************************************************************/
     $this->cpfLogado = $cpf;
     parent::init();
     //VALIDA ITENS DO MENU (Documento pendentes)
     if (isset($_GET['idPreProjeto']) && !empty($_GET['idPreProjeto'])) {
         $get = Zend_Registry::get("get");
         $this->view->documentosPendentes = AnalisarPropostaDAO::buscarDocumentoPendente($get->idPreProjeto);
         if (!empty($this->view->documentosPendentes)) {
             $verificarmenu = 1;
             $this->view->verificarmenu = $verificarmenu;
         } else {
             $verificarmenu = 0;
             $this->view->verificarmenu = $verificarmenu;
         }
         //(Enviar Proposta ao MinC , Excluir Proposta)
         $mov = new Movimentacao();
         $movBuscar = $mov->buscar(array('idProjeto = ?' => $get->idPreProjeto), array('idMovimentacao desc'), 1, 0)->current();
         if (isset($movBuscar->Movimentacao) && $movBuscar->Movimentacao != 95) {
             $enviado = 'true';
             $this->view->enviado = $enviado;
         } else {
             $enviado = 'false';
             $this->view->enviado = $enviado;
         }
         //VERIFICA SE A PROPOSTA ESTA COM O MINC
         $Movimentacao = new Movimentacao();
         $rsStatusAtual = $Movimentacao->buscarStatusAtualProposta($get->idPreProjeto);
         if (count($rsStatusAtual) > 0) {
             $this->view->movimentacaoAtual = isset($rsStatusAtual->Movimentacao) ? $rsStatusAtual->Movimentacao : '';
         } else {
             $this->view->movimentacaoAtual = null;
         }
         //VERIFICA SE A PROPOSTA FOI ENVIADA AO MINC ALGUMA VEZ
         $arrbusca = array();
         $arrbusca['idProjeto = ?'] = $get->idPreProjeto;
         $arrbusca['Movimentacao = ?'] = '96';
         $rsHistMov = $Movimentacao->buscar($arrbusca);
         $this->view->blnJaEnviadaAoMinc = $rsHistMov->count();
     }
     //*****************
     //FIM DA VALIDAÇ?O
     //*****************
 }
 /**
  * Reescreve o metodo init()
  * @access public
  * @param void
  * @return void
  */
 public function init()
 {
     $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) : parent::perfil(4, $PermissoesGrupo);
     $this->usuarioLogado = isset($auth->getIdentity()->usu_codigo) ? $auth->getIdentity()->usu_codigo : $auth->getIdentity()->IdUsuario;
     parent::init();
     //recupera ID do pre projeto (proposta)
     if (!empty($_REQUEST['idPreProjeto'])) {
         $this->idPreProjeto = $_REQUEST['idPreProjeto'];
         //VERIFICA SE A PROPOSTA ESTA COM O MINC
         $Movimentacao = new Movimentacao();
         $rsStatusAtual = $Movimentacao->buscarStatusAtualProposta($_REQUEST['idPreProjeto']);
         $this->view->movimentacaoAtual = isset($rsStatusAtual->Movimentacao) ? $rsStatusAtual->Movimentacao : '';
     } else {
         //xd($_REQUEST['idPreProjeto']);
         if ($_REQUEST['idPreProjeto'] != '0') {
             parent::message("Necessário informar o número da proposta.", "/manterpropostaincentivofiscal/index", "ERROR");
         }
     }
     $auth = Zend_Auth::getInstance();
     // instancia da autenticação
     $this->idUsuario = isset($auth->getIdentity()->usu_codigo) ? $auth->getIdentity()->usu_codigo : $auth->getIdentity()->IdUsuario;
     //*******************************************
     //VALIDA ITENS DO MENU (Documento pendentes)
     //*******************************************
     $get = Zend_Registry::get("get");
     $this->view->documentosPendentes = AnalisarPropostaDAO::buscarDocumentoPendente($get->idPreProjeto);
     if (!empty($this->view->documentosPendentes)) {
         $verificarmenu = 1;
         $this->view->verificarmenu = $verificarmenu;
     } else {
         $verificarmenu = 0;
         $this->view->verificarmenu = $verificarmenu;
     }
     //(Enviar Proposta ao MinC , Excluir Proposta)
     $mov = new Movimentacao();
     $movBuscar = $mov->buscar(array('idProjeto = ?' => $get->idPreProjeto), array('idMovimentacao desc'), 1, 0)->current();
     if (isset($movBuscar->Movimentacao) && $movBuscar->Movimentacao != 95) {
         $enviado = 'true';
         $this->view->enviado = $enviado;
     } else {
         $enviado = 'false';
         $this->view->enviado = $enviado;
     }
     //*****************
     //FIM DA VALIDAÇ?O
     //*****************
     /* =============================================================================== */
     /* ==== VERIFICA PERMISSAO DE ACESSO DO PROPONENTE A PROPOSTA OU AO PROJETO ====== */
     /* =============================================================================== */
     $this->verificarPermissaoAcesso(true, false, false);
 }
Exemple #9
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;
 }