public function cadastrarTrimestralAction() { //** Verifica se o usuário logado tem permissão de acesso **// $this->verificarPermissaoAcesso(false, true, false); $idpronac = $this->_request->getParam("idpronac"); if (strlen($idpronac) > 7) { $idpronac = Seguranca::dencrypt($idpronac); } try { $tbComprovanteTrimestral = new tbComprovanteTrimestral(); $rsTotal = $tbComprovanteTrimestral->buscarComprovantes(array('idPronac=?' => $idpronac), true); $nrRelatorio = count($rsTotal) + 1; $Projetos = new Projetos(); $dadosProj = $Projetos->buscar(array('IdPRONAC = ?' => $idpronac))->current(); $anoProjeto = $dadosProj->AnoProjeto; $sequencial = $dadosProj->Sequencial; $tblLib = new Liberacao(); $rsLib = $tblLib->buscar(array('AnoProjeto =?' => $anoProjeto, 'Sequencial =?' => $sequencial)); $liberacao = $rsLib->count(); if ($liberacao) { $intervalo = round(Data::CompararDatas($rsLib[0]['DtLiberacao'], $dadosProj->DtFimExecucao)); $inicioPeriodo = $rsLib[0]['DtLiberacao']; } else { $intervalo = round(Data::CompararDatas($resp->DtInicioExecucao, $dadosProj->DtFimExecucao)); $inicioPeriodo = $resp->DtInicioExecucao; } if ($nrRelatorio == 1) { $dtInicioPeriodo = $inicioPeriodo; $inicioPeriodo = Data::tratarDataZend($inicioPeriodo, 'Brasileira'); list($dia, $mes, $ano) = explode('/', $inicioPeriodo); $dias = 90 * $nrRelatorio; $inicioPeriodo = mktime(24 * $dias, 0, 0, $mes, $dia, $ano); $dataFormatada = date('Y-m-d', $inicioPeriodo); $dtFimPeriodo = $dataFormatada; } else { $inicioPeriodo = $rsTotal[count($rsTotal) - 1]['dtFimPeriodo']; $inicioPeriodo = Data::tratarDataZend($inicioPeriodo, 'Brasileira'); list($dia, $mes, $ano) = explode('/', $inicioPeriodo); $inicio = mktime(24 * 1, 0, 0, $mes, $dia, $ano); //comecao no dia seguinte $fim = mktime(24 * 91, 0, 0, $mes, $dia, $ano); //termina 90 dias a contar do dia seguinte, por isso 91. $dtInicioPeriodo = date('Y-m-d', $inicio); $dtFimPeriodo = date('Y-m-d', $fim); } $rs = $tbComprovanteTrimestral->buscarComprovantes(array('idPronac=?' => $idpronac, 'siComprovanteTrimestral=?' => 1)); $arrayDados = array(); if (empty($rs)) { $arrayDados['IdPRONAC'] = $idpronac; $arrayDados['dtComprovante'] = new Zend_Db_Expr('GETDATE()'); $arrayDados['dtInicioPeriodo'] = $dtInicioPeriodo; $arrayDados['dtFimPeriodo'] = $dtFimPeriodo; $arrayDados['dsEtapasExecutadas'] = $_POST['etapasExecutadas']; $arrayDados['dsAcessibilidade'] = $_POST['acessibilidade']; $arrayDados['dsDemocratizacaoAcesso'] = $_POST['democratizacaoAcesso']; $arrayDados['dsImpactoAmbiental'] = $_POST['impactoAmbiental']; $arrayDados['siComprovanteTrimestral'] = 1; //1 = Salvo pelo proponente $arrayDados['nrComprovanteTrimestral'] = $nrRelatorio; $arrayDados['idCadastrador'] = $this->IdUsuario; $tbComprovanteTrimestral->inserir($arrayDados); } else { $rs->dsEtapasExecutadas = $_POST['etapasExecutadas']; $rs->dsAcessibilidade = $_POST['acessibilidade']; $rs->dsDemocratizacaoAcesso = $_POST['democratizacaoAcesso']; $rs->dsImpactoAmbiental = $_POST['impactoAmbiental']; $rs->idCadastrador = $this->IdUsuario; $rs->save(); } parent::message("Dados salvos com sucesso!", "comprovarexecucaofisica/etapas-de-trabalho/idpronac/" . Seguranca::encrypt($idpronac), "CONFIRM"); } catch (Exception $e) { parent::message("Erro ao salvar os dados.", "comprovarexecucaofisica/etapas-de-trabalho/idpronac/" . Seguranca::encrypt($idpronac), "ERROR"); } }