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"); } }