コード例 #1
0
 function getMaxSequencial($ref_cod_aluno)
 {
     if (is_numeric($ref_cod_aluno)) {
         $db = new clsBanco();
         $sequencial = $db->campoUnico("SELECT COALESCE( MAX(sequencial), 0 ) FROM {$this->_tabela} WHERE ref_cod_aluno = {$ref_cod_aluno}");
         return $sequencial;
     }
     return false;
 }
コード例 #2
0
 function Novo()
 {
     $meses = array();
     $meses[1] = "Janeiro";
     $meses[2] = "Fevereiro";
     $meses[3] = "Março";
     $meses[4] = "Abril";
     $meses[5] = "Maio";
     $meses[6] = "Junho";
     $meses[7] = "Julho";
     $meses[8] = "Agosto";
     $meses[9] = "Setembro";
     $meses[10] = "Outubro";
     $meses[11] = "Novembro";
     $meses[12] = "Dezembro";
     $mesAtual = "";
     if ($this->funcionario != "0") {
         if ($this->data_inicial != "" || $this->data_final != "") {
             $AND = '';
             if ($this->data_inicial) {
                 $data = explode("/", $this->data_inicial);
                 $dia_i = $data[0];
                 $mes_i = $data[1];
                 $ano_i = $data[2];
                 $data_inicial = $ano_i . "/" . $mes_i . "/" . $dia_i . " 00:00:00";
                 $AND = " AND data_pedido >= '{$data_inicial}'";
             }
             if ($this->data_final) {
                 $data_ = explode("/", $this->data_final);
                 $dia_f = $data_[0];
                 $mes_f = $data_[1];
                 $ano_f = $data_[2];
                 $data_final = $ano_f . "/" . $mes_f . "/" . $dia_f . " 23:59:59";
                 $AND .= " AND data_pedido <= '{$data_final}'";
             }
         }
         $sql = "SELECT ref_funcionario, data_partida, data_chegada, COALESCE(vl100,1) + COALESCE(vl75,1) + COALESCE(vl50,1) + COALESCE(vl25,1) as valor, objetivo, destino FROM pmidrh.diaria WHERE ref_funcionario = {$this->funcionario} {$AND} AND ativo = 't' ORDER BY data_partida DESC";
         $db2 = new clsBanco();
         $nome = $db2->campoUnico("SELECT nome FROM cadastro.pessoa WHERE idpes = {$this->funcionario}");
         $nome_funcionario = $nome;
         $relatorio = new relatorios("Relatório de Diárias - {$nome}", 200, false, "SEGPOG - Departamento de Logística", "A4", "Prefeitura de Itajaí\nSEGPOG - Departamento de Logística\nRua Alberto Werner, 100 - Vila Operária\nCEP. 88304-053 - Itajaí - SC");
         //tamanho do retangulo, tamanho das linhas.
         $relatorio->novaPagina(30, 28);
         $db3 = new clsBanco();
         $db3->Consulta($sql);
         if ($db3->Num_Linhas()) {
             while ($db3->ProximoRegistro()) {
                 list($cod_funcionario, $data_partida, $data_chegada, $valor_total, $objetivo, $destino) = $db3->Tupla();
                 $mes = $meses[date("n", strtotime($data_partida))];
                 if ($mes != $mesAtual) {
                     if ($mesAtual != "") {
                         //$relatorio->novalinha( array( "" ), 1, 10 );
                         $relatorio->novalinha(array(""), 1, 10, false, false, false, false, false, false, true);
                     }
                     $mesAtual = $mes;
                     $relatorio->novalinha(array($mesAtual), 1, 13, true);
                     $relatorio->novalinha(array("Data Partida", "Data Chegada", "Valor Total"), 0, 13, true);
                 }
                 $data_partida = date("d/m/Y H:i", strtotime(substr($data_partida, 0, 19)));
                 $data_chegada = date("d/m/Y H:i", strtotime(substr($data_chegada, 0, 19)));
                 $relatorio->novalinha(array($data_partida, $data_chegada, number_format($valor_total, 2, ',', '.')), 1, 13);
                 $relatorio->novalinha(array("Objetivo: " . $objetivo), 20, 13);
                 $relatorio->novalinha(array("Destino: " . $destino), 20, 13);
             }
             // pega o link e exibe ele ao usuario
             $link = $relatorio->fechaPdf();
             $this->campoRotulo("arquivo", "Arquivo", "<a href='" . $link . "'>Visualizar Relatório</a>");
         } else {
             $this->campoRotulo("aviso", "Aviso", "Nenhum Funcionário neste relatorio.");
         }
     } else {
         $this->campoRotulo("aviso", "Aviso", "Escolha um Funcionário.");
     }
     $this->largura = "100%";
     return true;
 }
コード例 #3
0
 /**
  * Cria um novo registro
  *
  * @return bool
  */
 function cadastra()
 {
     if (is_string($this->nome)) {
         $db = new clsBanco();
         $campos = "";
         $valores = "";
         $gruda = "";
         if (is_string($this->nome)) {
             $campos .= "{$gruda}nome";
             $valores .= "{$gruda}'{$this->nome}'";
             $gruda = ", ";
         }
         if (is_string($this->geom)) {
             $campos .= "{$gruda}geom";
             $valores .= "{$gruda}'{$this->geom}'";
             $gruda = ", ";
         }
         $idpais = $db->campoUnico("SELECT COALESCE( MAX(idpais), 0 ) + 1 FROM {$this->_tabela}");
         $db->Consulta("INSERT INTO {$this->_tabela} ( idpais, {$campos} ) VALUES( {$idpais}, {$valores} )");
         return $idpais;
     }
     return false;
 }
コード例 #4
0
 function Novo()
 {
     if ($this->secretaria != 0) {
         if ($this->data_inicial != "" || $this->data_final != "") {
             $AND = '';
             if ($this->data_inicial) {
                 $data = explode("/", $this->data_inicial);
                 $dia_i = $data[0];
                 $mes_i = $data[1];
                 $ano_i = $data[2];
                 $data_inicial = $ano_i . "/" . $mes_i . "/" . $dia_i . " 00:00:00";
                 $AND = " AND data_pedido >= '{$data_inicial}'";
             }
             if ($this->data_final) {
                 $data_ = explode("/", $this->data_final);
                 $dia_f = $data_[0];
                 $mes_f = $data_[1];
                 $ano_f = $data_[2];
                 $data_final = $ano_f . "/" . $mes_f . "/" . $dia_f . " 23:59:59";
                 $AND .= " AND data_pedido <= '{$data_final}'";
             }
         }
         if ($this->secretaria) {
             $sql = "SELECT d.ref_funcionario, d.vl100 + d.vl75 + d.vl50 + d.vl25 FROM pmidrh.diaria d, portal.funcionario f, pmidrh.setor s where d.ref_funcionario = f.ref_cod_pessoa_fj AND d.ref_cod_setor = {$this->secretaria} AND d.ativo = 't' {$AND} GROUP BY d.ref_funcionario, d.vl100, d.vl75, d.vl50, d.vl25";
             //$sql = "SELECT d.ref_funcionario, sum( COALESCE(d.vl100,1) + COALESCE(d.vl75,1) + COALESCE(d.vl50,1) + COALESCE(d.vl25,1) ) FROM pmidrh.diaria d, portal.funcionario f, pmidrh.setor s where d.ref_funcionario = f.ref_cod_pessoa_fj AND d.ref_cod_setor = {$this->secretaria} AND d.ativo = 't' {$AND} GROUP BY d.ref_funcionario";
             $db = new clsBanco();
             $nome = $db->campoUnico(" SELECT nm_setor FROM pmidrh.setor WHERE cod_setor = {$this->secretaria}");
             $relatorio = new relatorios("Relatório de Diárias por Secretaria\nSecretaria: {$nome}", 200, false, "SEGPOG - Departamento de Logística", "A4", "Prefeitura de Itajaí\nSEGPOG - Departamento de Logística\nRua Alberto Werner, 100 - Vila Operária\nCEP. 88304-053 - Itajaí - SC");
             //tamanho do retangulo, tamanho das linhas.
             $relatorio->novaPagina(30, 28);
             $relatorio->novalinha(array("Funcionário", "Valor Total"), 0, 13, true);
             $db = new clsBanco();
             $db->Consulta($sql);
             if ($db->Num_Linhas()) {
                 while ($db->ProximoRegistro()) {
                     list($cod_funcionario, $v100, $v75, $v50, $v25) = $db->Tupla();
                     $db2 = new clsBanco();
                     $nome_funcionario = $db2->campoUnico("SELECT nome FROM cadastro.pessoa WHERE idpes = {$cod_funcionario}");
                     $relatorio->novalinha(array($nome_funcionario, number_format($v100 + $v75 + $v50 + $v25, 2, ',', '.')), 1, 13);
                 }
                 // pega o link e exibe ele ao usuario
                 $link = $relatorio->fechaPdf();
                 $this->campoRotulo("arquivo", "Arquivo", "<a href='" . $link . "'>Visualizar Relatório</a>");
             } else {
                 $this->campoRotulo("aviso", "Aviso", "Nenhum Funcionário neste relatório.");
             }
         } else {
             $this->campoRotulo("aviso", "Aviso", "Escolha uma Secretaria.");
         }
         $this->largura = "100%";
         return true;
     } else {
         $this->campoRotulo("aviso", "Aviso", "Nenhum Funcionário neste relatório.");
     }
 }
コード例 #5
0
 /**
  * Cria um novo registro
  *
  * @return bool
  */
 function cadastra()
 {
     if (is_numeric($this->ref_cod_servidor) && is_numeric($this->ref_ref_cod_instituicao) && is_numeric($this->ref_usuario_cad) && is_string($this->descricao) && is_string($this->titulo_avaliacao)) {
         $db = new clsBanco();
         $campos = "";
         $valores = "";
         $gruda = "";
         if (is_numeric($this->ref_cod_servidor)) {
             $campos .= "{$gruda}ref_cod_servidor";
             $valores .= "{$gruda}'{$this->ref_cod_servidor}'";
             $gruda = ", ";
         }
         if (is_numeric($this->ref_ref_cod_instituicao)) {
             $campos .= "{$gruda}ref_ref_cod_instituicao";
             $valores .= "{$gruda}'{$this->ref_ref_cod_instituicao}'";
             $gruda = ", ";
         }
         if (is_numeric($this->ref_usuario_cad)) {
             $campos .= "{$gruda}ref_usuario_cad";
             $valores .= "{$gruda}'{$this->ref_usuario_cad}'";
             $gruda = ", ";
         }
         if (is_string($this->descricao)) {
             $campos .= "{$gruda}descricao";
             $valores .= "{$gruda}'{$this->descricao}'";
             $gruda = ", ";
         }
         $campos .= "{$gruda}data_cadastro";
         $valores .= "{$gruda}NOW()";
         $gruda = ", ";
         $campos .= "{$gruda}ativo";
         $valores .= "{$gruda}'1'";
         $gruda = ", ";
         if (is_string($this->titulo_avaliacao)) {
             $campos .= "{$gruda}titulo_avaliacao";
             $valores .= "{$gruda}'{$this->titulo_avaliacao}'";
             $gruda = ", ";
         }
         $sequencial = $db->campoUnico("SELECT COALESCE( MAX(sequencial), 0 ) + 1 FROM {$this->_tabela} WHERE ref_cod_servidor = {$this->ref_cod_servidor} AND ref_ref_cod_instituicao = {$this->ref_ref_cod_instituicao}");
         $db->Consulta("INSERT INTO {$this->_tabela} ( sequencial, {$campos} ) VALUES( {$sequencial}, {$valores} )");
         return true;
     }
     return false;
 }
コード例 #6
0
 /**
  * @todo Refatorar a lógica para uma classe na camada de domínio.
  */
 function Novo()
 {
     session_start();
     $this->pessoa_logada = $_SESSION['id_pessoa'];
     session_write_close();
     $db = new clsBanco();
     $db2 = new clsBanco();
     // Seleciona o maior ano letivo da escola em andamento
     $ano = $db2->CampoUnico(sprintf("\n      SELECT MAX(ano) FROM pmieducar.escola_ano_letivo\n      WHERE ref_cod_escola = '%d' AND andamento = 1", $this->ref_cod_escola));
     // Caso a escola não tenha um ano letivo, usa o ano da data do servidor web
     if (!is_numeric($ano)) {
         $ano = date('Y');
     }
     // Seleciona todos os alunos que foram aprovados na turma/série/curso/escola informados
     $db->Consulta(sprintf("\n      SELECT\n        cod_matricula, ref_cod_aluno\n      FROM\n        pmieducar.matricula m, pmieducar.matricula_turma\n      WHERE\n        aprovado = '1' AND m.ativo = '1' AND ref_ref_cod_escola = '%d' AND\n        ref_ref_cod_serie='%d' AND ref_cod_curso = '%d' AND\n        cod_matricula = ref_cod_matricula AND ref_cod_turma = '%d'", $this->ref_cod_escola, $this->ref_ref_cod_serie, $this->ref_cod_curso, $this->ref_cod_turma));
     while ($db->ProximoRegistro()) {
         list($cod_matricula, $ref_cod_aluno) = $db->Tupla();
         // Seleciona a série da sequência de séries
         $prox_mod = $db2->campoUnico(sprintf("SELECT\n          ref_serie_destino\n        FROM\n          pmieducar.sequencia_serie\n        WHERE\n          ref_serie_origem = '%d' AND ativo = '1'", $this->ref_ref_cod_serie));
         // Seleciona o código do curso da série de sequência
         $ref_cod_curso = $db2->CampoUnico(sprintf("SELECT ref_cod_curso FROM pmieducar.serie WHERE cod_serie = %d", $prox_mod));
         if (is_numeric($prox_mod)) {
             // Atualiza a matrícula atual do aluno, para evitar que seja listada no cadastro deste
             $db2->Consulta(sprintf("UPDATE pmieducar.matricula SET ultima_matricula = '0' WHERE cod_matricula = '%d'", $cod_matricula));
             // Cria uma nova matrícula
             $db2->Consulta(sprintf("\n          INSERT INTO pmieducar.matricula\n            (ref_ref_cod_escola, ref_ref_cod_serie, ref_usuario_cad, ref_cod_aluno, aprovado, data_cadastro, ano, ref_cod_curso, ultima_matricula)\n          VALUES\n            ('%d', '%d', '%d', '%d', '3', 'NOW()', '%d', '%d', '1')", $this->ref_cod_escola, $prox_mod, $this->pessoa_logada, $ref_cod_aluno, $ano, $ref_cod_curso));
         }
     }
     // Seleciona todos os alunos que foram reprovados na turma/série/curso/escola informados
     $db->Consulta(sprintf("\n      SELECT\n        cod_matricula, ref_cod_aluno, ref_ref_cod_serie\n      FROM\n        pmieducar.matricula, pmieducar.matricula_turma\n      WHERE\n        aprovado = '2' AND ref_ref_cod_escola = '%d' AND ref_ref_cod_serie='%d' AND cod_matricula = ref_cod_matricula AND ref_cod_turma = '%d'", $this->ref_cod_escola, $this->ref_ref_cod_serie, $this->ref_cod_turma));
     // Cria uma nova matrícula para cada aluno reprovado na mesma série/curso/escola informados
     while ($db->ProximoRegistro()) {
         list($cod_matricula, $ref_cod_aluno, $ref_cod_serie) = $db->Tupla();
         $db2->Consulta(sprintf("UPDATE pmieducar.matricula SET ultima_matricula = '0'\n        WHERE cod_matricula = '%d'", $cod_matricula));
         $db2->Consulta(sprintf("INSERT INTO pmieducar.matricula\n          (ref_ref_cod_escola, ref_ref_cod_serie, ref_usuario_cad, ref_cod_aluno, aprovado, data_cadastro, ano, ref_cod_curso, ultima_matricula)\n        VALUES\n          ('%d', '%d', '%d', '%d', '3', 'NOW()', '%d', '%d', '1')", $this->ref_cod_escola, $ref_cod_serie, $this->pessoa_logada, $ref_cod_aluno, $ano, $this->ref_cod_curso));
     }
     $this->mensagem = "Rematrícula efetuada com sucesso!";
     return TRUE;
 }