public function xlsPareceresAction()
 {
     $this->view->tipos = TramitarDocumentosDAO::listaTipoDocumentos();
     /* ================== PAGINACAO ======================*/
     //DEFINE PARAMETROS DE ORDENACAO / QTDE. REG POR PAG. / PAGINACAO
     if ($this->_request->getParam("qtde")) {
         $this->intTamPag = $this->_request->getParam("qtde");
     }
     $order = array();
     //==== parametro de ordenacao  ======//
     if ($this->_request->getParam("ordem")) {
         $ordem = $this->_request->getParam("ordem");
         if ($ordem == "ASC") {
             $novaOrdem = "DESC";
         } else {
             $novaOrdem = "ASC";
         }
     } else {
         $ordem = "ASC";
         $novaOrdem = "ASC";
     }
     //==== campo de ordenacao  ======//
     if ($this->_request->getParam("campo")) {
         $campo = $this->_request->getParam("campo");
         $order = array($campo . " " . $ordem);
         $ordenacao = "&campo=" . $campo . "&ordem=" . $ordem;
     } else {
         $campo = null;
         $order = array("DtConsolidacao", "PRONAC");
         $ordenacao = null;
     }
     $pag = 1;
     $get = Zend_Registry::get('get');
     if (isset($get->pag)) {
         $pag = $get->pag;
     }
     $inicio = $pag > 1 ? ($pag - 1) * $this->intTamPag : 0;
     /* ================== PAGINACAO ======================*/
     function formatadata($data)
     {
         if ($data) {
             $dia = substr($data, 0, 2);
             $mes = substr($data, 3, 2);
             $ano = substr($data, 6, 4);
             $dataformatada = $ano . "/" . $mes . "/" . $dia;
         } else {
             $dataformatada = null;
         }
         return $dataformatada;
     }
     /** Usuario Logado ************************************************/
     $auth = Zend_Auth::getInstance();
     // instancia da autenticação
     $idusuario = $auth->getIdentity()->usu_codigo;
     $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo');
     // cria a sessão com o grupo ativo
     $codOrgao = $GrupoAtivo->codOrgao;
     //  Órgão ativo na sessão
     $codGrupo = $GrupoAtivo->codGrupo;
     //  Perfil ativo na sessão
     $this->view->codOrgao = $codOrgao;
     $this->view->codGrupo = $codGrupo;
     $this->view->idUsuarioLogado = $idusuario;
     $orgSuperior = GerenciarPareceresDAO::buscarUnidades($codOrgao);
     //$orgSuperior = GerenciarPareceresDAO::buscarUnidades($idusuario);
     //xd($codOrgao);
     $org_superior = $orgSuperior[0]->org_superior;
     /******************************************************************/
     $tblProjeto = new Projetos();
     $post = Zend_Registry::get('post');
     $idPronac = $post->idpronac;
     $pronac = $post->pronac;
     $nometc = $post->nometc;
     $nomeP = $post->nomeP;
     $tipoPesqPronente = $post->tipoPesqPronente;
     $nomeProponente = $post->nomeProponente;
     $dtI = formatadata($post->dtI);
     $dtF = formatadata($post->dtF);
     $sutuacaotc = $post->situacaotc;
     $situacao = $post->situacao;
     $where = array();
     if (!empty($idPronac)) {
         $where['p.IdPRONAC = ?'] = $idPronac;
     }
     //Pronac **************************************************************
     if (!empty($pronac)) {
         $where['(p.AnoProjeto + p.Sequencial) = ?'] = $pronac;
     }
     //Nome do Projeto *****************************************************
     if (!empty($nomeP) && $nometc == 1) {
         $where['p.NomeProjeto LIKE ?'] = $nomeP . "%";
         //$sql .= " AND p.NomeProjeto like '".$nomeP."%' ";
     } else {
         if (!empty($nomeP) && $nometc == 2) {
             $where['p.NomeProjeto LIKE ?'] = "%" . $nomeP . "%";
         } else {
             if (!empty($nomeP) && $nometc == 3) {
                 $where['p.NomeProjeto <> ?'] = $nomeP;
             } else {
                 $where['p.NomeProjeto LIKE ?'] = "%" . $nomeP . "%";
             }
         }
     }
     //Nome do Proponente *****************************************************
     if (!empty($nomeProponente) && $tipoPesqPronente == 1) {
         $where['n.Descricao LIKE ?'] = $nomeProponente . "%";
         //$sql .= " AND p.NomeProjeto like '".$nomeP."%' ";
     }
     if (!empty($nomeProponente) && $tipoPesqPronente == 2) {
         $where['n.Descricao LIKE ?'] = "%" . $nomeProponente . "%";
     }
     if (!empty($nomeProponente) && $tipoPesqPronente == 3) {
         $where['n.Descricao <> ?'] = $nomeProponente;
     }
     //Data de consolidação
     if ($dtI && $dtF == null) {
         $where['convert(char(8),pa.DtParecer,112) = ?'] = str_replace("/", "", $dtI);
         //$sql .= " AND cast(convert(char(8),pa.DtParecer,112)as smalldatetime) = '".$dtI."'";
     }
     if ($dtI && $dtF) {
         $where['convert(char(8),pa.DtParecer,112) >= ?'] = str_replace("/", "", $dtI);
         $where['convert(char(8),pa.DtParecer,112) <= ?'] = str_replace("/", "", $dtF);
         //$sql .= " AND cast(convert(char(8),pa.DtParecer,112)as smalldatetime) between '".$dtI."' AND '".$dtF."' ";
     }
     /* Situação ************************************************************
      * C09 - Projeto fora da pauta - Proponente Inabilitado
      * C20 - Análise Técnica Concluida
      * C25 - Parecer Técnico desfavorável
      */
     if ($situacao && $sutuacaotc == 1) {
         $where['p.Situacao = ?'] = "'" . $situacao . "'";
     }
     if ($situacao && $sutuacaotc == 2) {
         $where['p.Situacao <> ?'] = "'" . $situacao . "'";
     }
     $where['p.Orgao = ?'] = $codOrgao;
     $where['p.Mecanismo = ?'] = 1;
     $where['p.AnoProjeto > ?'] = '08';
     $where['p.Situacao IN (?)'] = array("C09", "C20", "C25");
     $total = $tblProjeto->buscarProjetosConsolidados($where, $order, null, null, true);
     $fim = $inicio + $this->intTamPag;
     $totalPag = (int) ($total % $this->intTamPag == 0 ? $total / $this->intTamPag : $total / $this->intTamPag + 1);
     $tamanho = $fim > $total ? $total - $inicio : $this->intTamPag;
     $busca = $tblProjeto->buscarProjetosConsolidados($where, $order, $tamanho, $inicio);
     $html = "<table cellspacing='0' cellpadding='2' border='1' align='center' width='99%'>\n                <tr>\n                    <th width='100' align='left'>PRONAC</th>\n                    <th width='50' align='left'>Nome do Projeto</th>\n                    <th width='100' align='left'>Situação</th>\n                    <th width='100' align='center'>Nome do Proponente</th>\n                    <th width='100' align='center'>Dt. Consolidação</th>\n                </tr>";
     foreach ($busca as $d) {
         $html .= "  <tr>\n                            <td>" . $d->PRONAC . "</td>\n                            <td>" . $d->NomeProjeto . "</td>\n                            <td>" . $d->Situacao . "</td>\n                            <td>" . $d->NomeProponente . "</td>\n                            <td align='center'>" . $d->DtConsolidacao . "</td>\n                    </tr>";
     }
     $html .= "</table>";
     $this->view->html = $html;
     $this->_helper->layout->disableLayout();
     // Desabilita o Zend Layout
 }
 public function abrirDocumentoTramitacaoAction()
 {
     $id = $this->_request->getParam("id");
     // Configuração o php.ini para 10MB
     @ini_set("mssql.textsize", 10485760);
     @ini_set("mssql.textlimit", 10485760);
     @ini_set("upload_max_filesize", "10M");
     $response = new Zend_Controller_Response_Http();
     // busca o arquivo
     $resultado = TramitarDocumentosDAO::buscarDoc($id);
     // erro ao abrir o arquivo
     if (!$resultado) {
         $this->view->message = 'Não foi possível abrir o arquivo!';
         $this->view->message_type = 'ERROR';
     } else {
         // lê os cabeçalhos formatado
         foreach ($resultado as $r) {
             $this->_helper->layout->disableLayout();
             // Desabilita o Zend Layout
             $this->_helper->viewRenderer->setNoRender();
             // Desabilita o Zend Render
             Zend_Layout::getMvcInstance()->disableLayout();
             // Desabilita o Zend MVC
             $this->_response->clearBody();
             // Limpa o corpo html
             $this->_response->clearHeaders();
             // Limpa os headers do Zend
             $this->getResponse()->setHeader('Content-Type', 'application/pdf')->setHeader('Content-Disposition', 'attachment; filename="' . $r->NoArquivo . '"')->setHeader("Connection", "close")->setHeader("Content-transfer-encoding", "binary")->setHeader("Cache-control", "private");
             if ($r->biDocumento == null) {
                 $this->getResponse()->setBody(base64_decode($r->imDocumento));
             } else {
                 $this->getResponse()->setBody($r->biDocumento);
             }
         }
     }
 }
예제 #3
0
 /**
  * M?todo que chama as fun??es de balancear projeto, copiar tabelas e alterar a situa??o do projeto
  * @access public
  * @param void
  * @return void
  */
 public function aprovacaodiretaAction()
 {
     $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo');
     // cria a sess?o com o grupo ativo
     $codOrgao = $GrupoAtivo->codOrgao;
     //  Órg?o ativo na sess?o
     $this->view->codOrgao = $codOrgao;
     $idPronac = $_POST['idpronac'];
     $idusuario = $_POST['idusuario'];
     $tipo_doc = $_POST['tipo_doc'];
     //$cod_ect = $_POST['cod_ect'];
     $cod_ect = null;
     //pega as informaç?es do arquivo
     $arquivoNome = $_FILES['documento']['name'];
     // nome
     $arquivoTemp = $_FILES['documento']['tmp_name'];
     // nome temporário
     $arquivoTipo = $_FILES['documento']['type'];
     // tipo
     $arquivoTamanho = $_FILES['documento']['size'];
     // tamanho
     if (!empty($arquivoNome)) {
         $arquivoExtensao = Upload::getExtensao($arquivoNome);
         // extens?o
     }
     if (!empty($arquivoTemp)) {
         $arquivoBinario = Upload::setBinario($arquivoTemp);
         // binário
         $arquivoHash = Upload::setHash($arquivoTemp);
         // hash
     }
     $tbDoc = array('idPronac' => $idPronac, 'stEstado' => 0, 'imDocumento' => null, 'idTipoDocumento' => $tipo_doc, 'idUsuario' => $idusuario, 'dtDocumento' => '2008/12/21', 'NoArquivo' => $arquivoNome, 'TaArquivo' => $arquivoTamanho, 'idUsuarioJuntada' => null, 'dtJuntada' => null, 'idUnidadeCadastro' => $codOrgao, 'CodigoCorreio' => $cod_ect, 'biDocumento' => $arquivoBinario);
     $dados = "Insert into SAC.dbo.tbDocumento\n                  (idPronac, stEstado, imDocumento, idTipoDocumento, idUsuario, dtDocumento, NoArquivo, TaArquivo, idUsuarioJuntada, dtJuntada, idUnidadeCadastro, CodigoCorreio, biDocumento)\n                  values\n                  (" . $idPronac . ", 0, null, " . $tipo_doc . ", " . $idusuario . ", GETDATE(), '" . $arquivoNome . "', " . $arquivoTamanho . ", null, null, " . $codOrgao . ", '" . $cod_ect . "', " . $arquivoBinario . ")\n            ";
     $db = Zend_Registry::get('db');
     $db->setFetchMode(Zend_DB::FETCH_OBJ);
     try {
         $db->beginTransaction();
         if (empty($arquivoTemp)) {
             // nome do arquivo
             parent::message("Por favor, informe o arquivo!!", "gerenciarpareceres/index", "ALERT");
         } else {
             if (empty($arquivoTemp)) {
                 // nome do arquivo
                 parent::message("Por favor, informe o arquivo!", "gerenciarpareceres/index", "ALERT");
             } else {
                 if ($arquivoExtensao != 'pdf') {
                     // extens?o do arquivo
                     parent::message("O arquivo deve ser PDF!", "gerenciarpareceres/index", "ALERT");
                 } else {
                     if ($arquivoTamanho > 10485760) {
                         // tamanho do arquivo: 10MB
                         parent::message("O arquivo n?o pode ser maior do que 10MB!", "gerenciarpareceres/index", "ALERT");
                     } else {
                         $resultado = TramitarDocumentosDAO::cadDocumento($dados);
                         $tbHistoricoDoc = array('idPronac' => $idPronac, 'idDocumento' => $resultado, 'idUnidade' => $codOrgao, 'dtTramitacaoEnvio' => date('Y/m/d H:i:s'), 'idUsuarioEmissor' => $idusuario, 'meDespacho' => null, 'idLote' => null, 'dtTramitacaoRecebida' => null, 'idUsuarioReceptor' => null, 'Acao' => 1, 'stEstado' => 1);
                         $resultado2 = TramitarDocumentosDAO::cadHistorico('SAC.dbo.tbHistoricoDocumento', $tbHistoricoDoc);
                     }
                 }
             }
         }
         $this->_helper->viewRenderer->setNoRender();
         //$servico   = $this->_request->getParam("servico"); // pega o id do pronac via get
         $aprovacao = new Aprovacao();
         $parecer = new Parecer();
         $planilhaaprovacao = new PlanilhaAprovacao();
         $projeto = new Projetos();
         $planilhaProjeto = new PlanilhaProjeto();
         $analiseConteudo = new Analisedeconteudo();
         $analiseaprovacao = new AnaliseAprovacao();
         $Distribuicao = new DistribuicaoProjetoComissao();
         $reuniao = new Reuniao();
         $pauta = new Pauta();
         $sp = new paVerificarAtualizarSituacaoAprovacao();
         // copia as tabelas
         $buscarParecer = $parecer->buscar(array('idPronac = ?' => $idPronac, 'stAtivo = ?' => 1))->current()->toArray();
         $Rplanilhaprojeto = $planilhaProjeto->buscar(array('idPRONAC = ?' => $idPronac));
         foreach ($Rplanilhaprojeto as $resu) {
             $data = array('tpPlanilha' => 'CO', 'dtPlanilha' => date('Y-m-d H:i:s'), 'idPlanilhaProjeto' => $resu->idPlanilhaProjeto, 'idPlanilhaProposta' => $resu->idPlanilhaProposta, 'IdPRONAC' => $resu->idPRONAC, 'idProduto' => $resu->idProduto, 'idEtapa' => $resu->idEtapa, 'idPlanilhaItem' => $resu->idPlanilhaItem, 'dsItem' => '', 'idUnidade' => $resu->idUnidade, 'qtItem' => $resu->Quantidade, 'nrOcorrencia' => $resu->Ocorrencia, 'vlUnitario' => $resu->ValorUnitario, 'qtDias' => $resu->QtdeDias, 'tpDespesa' => $resu->TipoDespesa, 'tpPessoa' => $resu->TipoPessoa, 'nrContraPartida' => $resu->Contrapartida, 'nrFonteRecurso' => $resu->FonteRecurso, 'idUFDespesa' => $resu->UfDespesa, 'idMunicipioDespesa' => $resu->MunicipioDespesa, 'dsJustificativa' => $resu->Justificativa, 'stAtivo' => 'S');
             $inserirPlanilhaAprovacao = $planilhaaprovacao->inserir($data);
         }
         $RanaliseConteudo = $analiseConteudo->buscar(array('IdPRONAC = ?' => $idPronac));
         foreach ($RanaliseConteudo as $resu) {
             $data = array('tpAnalise' => 'CO', 'dtAnalise' => date('Y-m-d H:i:s'), 'idAnaliseConteudo' => $resu->idAnaliseDeConteudo, 'IdPRONAC' => $resu->idPronac, 'idProduto' => $resu->idProduto, 'stLei8313' => $resu->Lei8313, 'stArtigo3' => $resu->Artigo3, 'nrIncisoArtigo3' => $resu->IncisoArtigo3, 'dsAlineaArt3' => $resu->AlineaArtigo3, 'stArtigo18' => $resu->Artigo18, 'dsAlineaArtigo18' => $resu->AlineaArtigo18, 'stArtigo26' => $resu->Artigo26, 'stLei5761' => $resu->Lei5761, 'stArtigo27' => $resu->Artigo27, 'stIncisoArtigo27_I' => $resu->IncisoArtigo27_I, 'stIncisoArtigo27_II' => $resu->IncisoArtigo27_II, 'stIncisoArtigo27_III' => $resu->IncisoArtigo27_III, 'stIncisoArtigo27_IV' => $resu->IncisoArtigo27_IV, 'stAvaliacao' => $resu->ParecerFavoravel, 'dsAvaliacao' => $resu->ParecerDeConteudo);
             //xd($data);
             $analiseaprovacao->inserir($data);
         }
         $consolidarAprovacao = TratarString::escapeString($buscarParecer['ResumoParecer']);
         $somaPlanilhaAprovacao = $planilhaaprovacao->somarPlanilhaAprovacao($idPronac);
         $valoraprovacao = $somaPlanilhaAprovacao['soma'];
         $tipoAprovacao = $buscarParecer['TipoParecer'];
         $buscarprojetos = $projeto->buscar(array('IdPRONAC = ?' => $idPronac))->current()->toArray();
         $dados = array('IdPRONAC' => $idPronac, 'AnoProjeto' => $buscarprojetos['AnoProjeto'], 'Sequencial' => $buscarprojetos['Sequencial'], 'TipoAprovacao' => $tipoAprovacao, 'dtAprovacao' => date('Y-m-d H:i:s'), 'ResumoAprovacao' => $consolidarAprovacao, 'dtInicioCaptacao' => date('Y-m-d H:i:s'), 'dtFimCaptacao' => date('Y-12-31 11:59:59'), 'AprovadoReal' => $valoraprovacao, 'AprovadoUfir' => 0, 'AutorizadoUfir' => 0, 'AutorizadoReal' => 0, 'ConcedidoCusteioReal' => 0, 'ConcedidoCapitalReal' => 0, 'ContraPartidaReal' => 0, 'Logon' => $idusuario);
         $inserir = $aprovacao->inserir($dados);
         $buscarReuniaoAberta = $reuniao->buscarReuniaoAberta();
         $dadosPauta = array("idNrReuniao" => $buscarReuniaoAberta['idNrReuniao'], "IdPRONAC" => $idPronac, "dtEnvioPauta" => date("Y-m-d H:i:s"), "stEnvioPlenario" => "N", "tpPauta" => '1', "stAnalise" => 'AR', "dsAnalise" => 'AD Referendum');
         $inserirProjetoPauta = $pauta->inserir($dadosPauta);
         $verificarSituacao = $sp->expaVerificarAtualizarSituacaoAprovacao($idPronac);
         $db->commit();
         parent::message("Projeto aprovado com sucesso!", "gerenciarpareceres/index", "CONFIRM");
     } catch (Zend_Exception $ex) {
         $db->rollBack();
         parent::message("Erro ao realizar cadastro", "gerenciarpareceres/index", "ERROR");
     }
 }
 public function desanexarAction()
 {
     //** Usuario Logado ************************************************/
     $auth = Zend_Auth::getInstance();
     // pega a autenticação
     $idusuario = $auth->getIdentity()->usu_codigo;
     //$idorgao 	= $auth->getIdentity()->usu_orgao;
     $GrupoAtivo = new Zend_Session_Namespace('GrupoAtivo');
     // cria a sessão com o grupo ativo
     //$codGrupo = $GrupoAtivo->codGrupo; //  Grupo ativo na sessão
     $codOrgao = $GrupoAtivo->codOrgao;
     //  Órgão ativo na sessão
     $this->codOrgao = $GrupoAtivo->codOrgao;
     $this->view->codOrgao = $this->codOrgao;
     $this->view->idUsuarioLogado = $idusuario;
     /*         * *************************************************************** */
     $this->view->lotes = TramitarDocumentosDAO::buscarLotes($this->codOrgao, 6, $idusuario);
 }