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; }
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; }
/** * 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; }
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."); } }
/** * 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; }
/** * @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; }