public function verificarExistenciaItensDeCustoAction()
 {
     $this->_helper->layout->disableLayout();
     // desabilita o Zend_Layout
     $where = array('IdPRONAC = ?' => $_POST['idPronac'], 'idPedidoAlteracao = ?' => $_POST['idPedidoAlteracao'], 'tpPlanilha = ?' => 'SR', 'tpAcao != ?' => 'N', 'stAtivo = ?' => 'N');
     $tbPlanilhaAprovacao = new tbPlanilhaAprovacao();
     $result = $tbPlanilhaAprovacao->buscar($where);
     if (count($result) > 0) {
         echo json_encode(array('resposta' => true));
     } else {
         echo json_encode(array('resposta' => false));
     }
     die;
 }
 public function salvarAvaliacaoDoItemRemanejamentoAction()
 {
     $this->_helper->layout->disableLayout();
     $this->_helper->viewRenderer->setNoRender();
     $auth = Zend_Auth::getInstance();
     // pega a autenticação
     $tblAgente = new Agentes();
     $rsAgente = $tblAgente->buscar(array('CNPJCPF = ?' => $auth->getIdentity()->Cpf));
     if ($rsAgente->count() > 0) {
         $idAgente = $rsAgente[0]->idAgente;
     }
     $ValorUnitario = str_replace('.', '', $_POST['ValorUnitario']);
     $ValorUnitario = str_replace(',', '.', $ValorUnitario);
     $vlTotal = @number_format($_POST['Quantidade'] * $_POST['Ocorrencia'] * $ValorUnitario, 2, '', '');
     $idPronac = $this->_request->getParam("idPronac");
     if (strlen($idPronac) > 7) {
         $idPronac = Seguranca::dencrypt($idPronac);
     }
     $tbPlanilhaAprovacao = new tbPlanilhaAprovacao();
     $verificarPlanilhaRP = $tbPlanilhaAprovacao->buscar(array('IdPRONAC=?' => $idPronac, 'tpPlanilha=?' => 'RP'));
     if (count($verificarPlanilhaRP) == 0) {
         $planilhaAtiva = $tbPlanilhaAprovacao->buscar(array('IdPRONAC=?' => $idPronac, 'StAtivo=?' => 'S'));
         $planilhaRP = array();
         foreach ($planilhaAtiva as $value) {
             $planilhaRP['tpPlanilha'] = 'RP';
             $planilhaRP['dtPlanilha'] = new Zend_Db_Expr('GETDATE()');
             $planilhaRP['idPlanilhaProjeto'] = $value['idPlanilhaProjeto'];
             $planilhaRP['idPlanilhaProposta'] = $value['idPlanilhaProposta'];
             $planilhaRP['IdPRONAC'] = $value['IdPRONAC'];
             $planilhaRP['idProduto'] = $value['idProduto'];
             $planilhaRP['idEtapa'] = $value['idEtapa'];
             $planilhaRP['idPlanilhaItem'] = $value['idPlanilhaItem'];
             $planilhaRP['dsItem'] = $value['dsItem'];
             $planilhaRP['idUnidade'] = $value['idUnidade'];
             $planilhaRP['qtItem'] = $value['qtItem'];
             $planilhaRP['nrOcorrencia'] = $value['nrOcorrencia'];
             $planilhaRP['vlUnitario'] = $value['vlUnitario'];
             $planilhaRP['qtDias'] = $value['qtDias'];
             $planilhaRP['tpDespesa'] = $value['tpDespesa'];
             $planilhaRP['tpPessoa'] = $value['tpPessoa'];
             $planilhaRP['nrContraPartida'] = $value['nrContraPartida'];
             $planilhaRP['nrFonteRecurso'] = $value['nrFonteRecurso'];
             $planilhaRP['idUFDespesa'] = $value['idUFDespesa'];
             $planilhaRP['idMunicipioDespesa'] = $value['idMunicipioDespesa'];
             $planilhaRP['dsJustificativa'] = null;
             $planilhaRP['idAgente'] = 0;
             $planilhaRP['idPlanilhaAprovacaoPai'] = $value['idPlanilhaAprovacao'];
             $planilhaRP['idReadequacao'] = $value['idReadequacao'];
             $planilhaRP['tpAcao'] = $value['tpAcao'];
             $planilhaRP['idRecursoDecisao'] = $value['idRecursoDecisao'];
             $planilhaRP['stAtivo'] = 'N';
             $tbPlanilhaAprovacao->inserir($planilhaRP);
         }
     }
     //BUSCA OS DADOS DO ITEM ORIGINAL PARA VALIDAÇÃO DE VALORES
     $valoresItem = $tbPlanilhaAprovacao->buscar(array('IdPRONAC=?' => $idPronac, 'StAtivo=?' => 'S', 'idPlanilhaAprovacao=?' => $_POST['idPlanilha']))->current();
     $vlAtual = @number_format($valoresItem['qtItem'] * $valoresItem['nrOcorrencia'] * $valoresItem['vlUnitario'], 2, '', '');
     $vlAtualPerc = $vlAtual * 20 / 100;
     //VALOR MÍNIMO E MÁXIMO DO ITEM ORIGINAL
     $vlAtualMin = $vlAtual - $vlAtualPerc;
     $vlAtualMax = $vlAtual + $vlAtualPerc;
     //VERIFICA SE O VALOR TOTAL DOS DADOS INFORMADOR PELO PROPONENTE ESTÁ ENTRE O MÍNIMO E MÁXIMO PERMITIDO - 20%
     if ($vlTotal < $vlAtualMin || $vlTotal > $vlAtualMax) {
         echo json_encode(array('resposta' => false, 'msg' => 'O valor total do item desejado ultrapassou a margem de 20%.'));
         die;
     }
     $editarItem = $tbPlanilhaAprovacao->buscar(array('IdPRONAC=?' => $idPronac, 'tpPlanilha=?' => 'RP', 'idPlanilhaAprovacaoPai=?' => $_POST['idPlanilha']))->current();
     $editarItem->qtItem = $_POST['Quantidade'];
     $editarItem->nrOcorrencia = $_POST['Ocorrencia'];
     $editarItem->vlUnitario = $ValorUnitario;
     $editarItem->dsJustificativa = $_POST['Justificativa'];
     $editarItem->idAgente = $idAgente;
     //        $editarItem->idAgente = $auth->getIdentity()->IdUsuario;
     $editarItem->save();
     echo json_encode(array('resposta' => true, 'msg' => 'Dados salvos com sucesso!'));
     die;
 }
 public function coordAnaliseFinalizarRecursoAction()
 {
     $this->_helper->layout->disableLayout();
     // desabilita o Zend_Layout
     $vinculada = $this->idOrgao;
     $post = Zend_Registry::get('post');
     $idComponente = (int) $post->componente;
     $idRecurso = (int) $post->idRecurso;
     $tbRecurso = new tbRecurso();
     $dadosRecurso = $tbRecurso->buscar(array('idRecurso = ?' => $post->idRecurso))->current();
     $idPronac = $dadosRecurso->IdPRONAC;
     $tbPlanilhaAprovacao = new tbPlanilhaAprovacao();
     $tbAnaliseAprovacao = new tbAnaliseAprovacao();
     //VERIFICA SE JÁ POSSUI AS PLANILHA DO TIPO 'CO'. SE NÃO, INSERE FAZENDO A CÓPIA DOS DADOS
     $verificaPlanilhaAprovacao = $tbPlanilhaAprovacao->buscar(array('tpPlanilha=?' => 'CO', 'stAtivo=?' => 'S', 'IdPRONAC=?' => $idPronac));
     if (count($verificaPlanilhaAprovacao) == 0) {
         $tbPlanilhaAprovacao->copiandoPlanilhaRecurso($idPronac);
     }
     //VERIFICA SE JÁ POSSUI AS PLANILHA DO TIPO 'CO'. SE NÃO, INSERE FAZENDO A CÓPIA DOS DADOS
     $verificaAnaliseAprovacao = $tbAnaliseAprovacao->buscar(array('tpAnalise=?' => 'CO', 'IdPRONAC=?' => $idPronac));
     if (count($verificaAnaliseAprovacao) == 0) {
         $tbAnaliseAprovacao->copiandoPlanilhaRecurso($idPronac);
     }
     $tbDistribuirProjeto = new tbDistribuirProjeto();
     $dadosDistProj = $tbDistribuirProjeto->buscar(array('IdPRONAC=?' => $idPronac, 'tpDistribuicao=?' => 'A', 'stFecharAnalise=?' => 0, 'stEstado=?' => 0));
     if (count($dadosDistProj) > 0) {
         //Atualiza a tabela tbDistribuirProjeto
         $dadosDP = array();
         $dadosDP['idUsuario'] = $this->idUsuario;
         $dadosDP['dtFechamento'] = new Zend_Db_Expr('GETDATE()');
         $dadosDP['stFecharAnalise'] = 1;
         $dadosDP['stEstado'] = 1;
         $whereDP = "idDistribuirProjeto = " . $dadosDistProj[0]->idDistribuirProjeto;
         $tbDistribuirProjeto = new tbDistribuirProjeto();
         $tbDistribuirProjeto->update($dadosDP, $whereDP);
     }
     //ATUALIZA A SITUAÇÃO DO PROJETO
     $Projetos = new Projetos();
     $w = array();
     $w['situacao'] = 'C10';
     $w['ProvidenciaTomada'] = 'Projeto encaminhado à reunião da CNIC para avaliação do componente da comissão.';
     $w['dtSituacao'] = new Zend_Db_Expr('GETDATE()');
     $w['Logon'] = $this->idUsuario;
     $where = "IdPRONAC = {$idPronac}";
     $Projetos->update($w, $where);
     $reuniao = new Reuniao();
     $raberta = $reuniao->buscarReuniaoAberta();
     //Atualiza a tabela tbRecurso
     $dados = array();
     $dados['idAgenteAvaliador'] = $idComponente;
     // Enviado para CNIC
     $dados['siRecurso'] = 7;
     // Enviado para CNIC
     $dados['idNrReuniao'] = $raberta['idNrReuniao'];
     $where = "idRecurso = {$idRecurso}";
     $return = $tbRecurso->update($dados, $where);
     if ($return) {
         echo json_encode(array('resposta' => true));
     } else {
         echo json_encode(array('resposta' => false));
     }
     die;
 }
 public function incluirSolicitacaoReadequacaoAction()
 {
     //FUNÇÃO ACESSADA SOMENTE PELO PROPONENTE.
     if ($this->idPerfil != 1111) {
         parent::message("Você não tem permissão para acessar essa área do sistema!", "principal", "ALERT");
     }
     $idPronac = $this->_request->getParam("idPronac");
     if (strlen($idPronac) > 7) {
         $idPronac = Seguranca::dencrypt($idPronac);
     }
     $post = Zend_Registry::get('post');
     $tbReadequacao = new tbReadequacao();
     $busca = array();
     $busca['idPronac =?'] = $idPronac;
     $busca['idTipoReadequacao =?'] = $post->tipoReadequacao;
     $busca['siEncaminhamento =?'] = 12;
     $dadosCadastrados = $tbReadequacao->buscar($busca)->current();
     if (count($dadosCadastrados) > 0) {
         parent::message('Tipo de solicitação de readequação já cadastrada!', "readequacoes/index?idPronac=" . Seguranca::encrypt($idPronac), "ERROR");
     }
     if ($post->tipoReadequacao == 2) {
         //Planilha Orçamentária
         $tbPlanilhaAprovacao = new tbPlanilhaAprovacao();
         $planilhaReadequada = $tbPlanilhaAprovacao->buscar(array('IdPRONAC = ?' => $idPronac, 'tpPlanilha = ?' => 'SR', 'idReadequacao is null' => ''));
         if (count($planilhaReadequada) == 0) {
             parent::message('Não houve nenhuma alteração na planilha orçamentária do projeto!', "readequacoes/index?idPronac=" . Seguranca::encrypt($idPronac), "ERROR");
         }
     } else {
         if ($post->tipoReadequacao == 9) {
             //Local de Realização
             $tbAbrangencia = new tbAbrangencia();
             $locaisReadequados = $tbAbrangencia->buscar(array('idPronac = ?' => $idPronac, 'idReadequacao is null' => ''));
             if (count($locaisReadequados) == 0) {
                 parent::message('Não houve nenhuma alteração nos locais de realização do projeto!', "readequacoes/index?idPronac=" . Seguranca::encrypt($idPronac), "ERROR");
             }
         } else {
             if ($post->tipoReadequacao == 11) {
                 //Planos de Distribuição
                 $tbPlanoDistribuicao = new tbPlanoDistribuicao();
                 $planosReadequados = $tbPlanoDistribuicao->buscar(array('idPronac = ?' => $idPronac, 'idReadequacao is null' => ''));
                 if (count($planosReadequados) == 0) {
                     parent::message('Não houve nenhuma alteração nos planos de distribuição do projeto!', "readequacoes/index?idPronac=" . Seguranca::encrypt($idPronac), "ERROR");
                 }
             } else {
                 if ($post->tipoReadequacao == 14) {
                     //Planos de Divulgação
                     $tbPlanoDivulgacao = new tbPlanoDivulgacao();
                     $planosReadequados = $tbPlanoDivulgacao->buscar(array('idPronac = ?' => $idPronac, 'idReadequacao is null' => ''));
                     if (count($planosReadequados) == 0) {
                         parent::message('Não houve nenhuma alteração nos planos de divulgação do projeto!', "readequacoes/index?idPronac=" . Seguranca::encrypt($idPronac), "ERROR");
                     }
                 }
             }
         }
     }
     try {
         $tbArquivoDAO = new tbArquivo();
         $tbArquivoImagemDAO = new tbArquivoImagem();
         $tbDocumentoDAO = new tbDocumento();
         // ==================== Dados do arquivo de upload ===============================
         $arquivoNome = $_FILES['arquivo']['name'];
         // nome
         $arquivoTemp = $_FILES['arquivo']['tmp_name'];
         // nome tempor�rio
         $arquivoTipo = $_FILES['arquivo']['type'];
         // tipo
         $arquivoTamanho = $_FILES['arquivo']['size'];
         // tamanho
         $idDocumento = null;
         if (!empty($arquivoTemp)) {
             $arquivoExtensao = Upload::getExtensao($arquivoNome);
             // extens�o
             $arquivoBinario = Upload::setBinario($arquivoTemp);
             // bin�rio
             $arquivoHash = Upload::setHash($arquivoTemp);
             // hash
             if ($arquivoExtensao != 'pdf' && $arquivoExtensao != 'PDF') {
                 throw new Exception('A extensão do arquivo é inválida, envie somente arquivos <strong>.pdf</strong>!');
             } else {
                 if ($arquivoTamanho > 5242880) {
                     throw new Exception('O arquivo não pode ser maior do que <strong>5MB</strong>!');
                 }
             }
             $dadosArquivo = array('nmArquivo' => $arquivoNome, 'sgExtensao' => $arquivoExtensao, 'dsTipoPadronizado' => $arquivoTipo, 'nrTamanho' => $arquivoTamanho, 'dtEnvio' => new Zend_Db_Expr('GETDATE()'), 'dsHash' => $arquivoHash, 'stAtivo' => 'A');
             $idArquivo = $tbArquivoDAO->inserir($dadosArquivo);
             // ==================== Insere na Tabela tbArquivoImagem ===============================
             $dadosBinario = array('idArquivo' => $idArquivo, 'biArquivo' => new Zend_Db_Expr("CONVERT(varbinary(MAX), {$arquivoBinario})"));
             $idArquivo = $tbArquivoImagemDAO->inserir($dadosBinario);
             // ==================== Insere na Tabela tbDocumento ===============================
             $dados = array('idTipoDocumento' => 38, 'idArquivo' => $idArquivo, 'dsDocumento' => 'Solicitação de Readequação', 'dtEmissaoDocumento' => NULL, 'dtValidadeDocumento' => NULL, 'idTipoEventoOrigem' => NULL, 'nmTitulo' => 'Readequacao');
             $idDocumento = $tbDocumentoDAO->inserir($dados);
             $idDocumento = $idDocumento['idDocumento'];
         }
         $auth = Zend_Auth::getInstance();
         // pega a autenticação
         $tblAgente = new Agentes();
         $rsAgente = $tblAgente->buscar(array('CNPJCPF=?' => $auth->getIdentity()->Cpf))->current();
         $dados = array();
         $dados['idPronac'] = $idPronac;
         $dados['idTipoReadequacao'] = $post->tipoReadequacao;
         $dados['dtSolicitacao'] = new Zend_Db_Expr('GETDATE()');
         $dados['idSolicitante'] = $rsAgente->idAgente;
         $dados['dsJustificativa'] = $_POST['descJustificativa'];
         $dados['dsSolicitacao'] = $_POST['descSolicitacao'];
         $dados['idDocumento'] = $idDocumento;
         $dados['siEncaminhamento'] = 12;
         $dados['stEstado'] = 0;
         $idReadequacao = $tbReadequacao->inserir($dados);
         $tbPlanilhaAprovacao = new tbPlanilhaAprovacao();
         $dadosPlanilha = array();
         $dadosPlanilha['idReadequacao'] = $idReadequacao;
         $wherePlanilha = "IdPRONAC = {$idPronac} AND tpPlanilha = 'SR' AND idReadequacao is null";
         $tbPlanilhaAprovacao->update($dadosPlanilha, $wherePlanilha);
         if ($idReadequacao) {
             parent::message('Solicitação cadastrada com sucesso!', "readequacoes/index?idPronac=" . Seguranca::encrypt($idPronac), "CONFIRM");
         } else {
             throw new Exception("Erro ao cadastrar a readequação!");
         }
     } catch (Exception $e) {
         parent::message($e->getMessage(), "readequacoes?idPronac=" . Seguranca::encrypt($idPronac), "ERROR");
     }
 }