コード例 #1
0
 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");
     }
 }