From 16e95954308e276dfebbd17295102292e7cc379e Mon Sep 17 00:00:00 2001 From: Lucas Schmoeller da Silva Date: Fri, 20 Mar 2015 11:09:02 -0300 Subject: [PATCH] Adicionado opção para desenturmar em enturmações em lote --- ieducar/intranet/educar_matriculas_turma_cad.php | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- ieducar/intranet/educar_matriculas_turma_lst.php | 2 ++ ieducar/intranet/educar_turma_xml.php | 2 +- ieducar/intranet/include/pmieducar/clsPmieducarTurma.inc.php | 8 ++------ 4 files changed, 72 insertions(+), 9 deletions(-) diff --git a/ieducar/intranet/educar_matriculas_turma_cad.php b/ieducar/intranet/educar_matriculas_turma_cad.php index 6842764..f10fd10 100644 --- a/ieducar/intranet/educar_matriculas_turma_cad.php +++ b/ieducar/intranet/educar_matriculas_turma_cad.php @@ -86,6 +86,8 @@ class indice extends clsCadastro var $incluir_matricula; var $data_enturmacao; + var $check_desenturma; + function Inicializar() { @session_start(); @@ -229,6 +231,7 @@ class indice extends clsCadastro } if ($this->matriculas_turma) { + $this->campoRotulo('titulo', 'Matrículas', " Alunos matriculados                             Marque alunos para desenturmar"); foreach ($this->matriculas_turma as $matricula => $campo) { $obj_matricula = new clsPmieducarMatricula($matricula); $det_matricula = $obj_matricula->detalhe(); @@ -239,7 +242,9 @@ class indice extends clsCadastro $nm_aluno = $det_aluno['nome_aluno']; $this->campoTextoInv('ref_cod_matricula_' . $matricula, '', $nm_aluno, - 30, 255, FALSE, FALSE, FALSE, '', '', '', '', 'ref_cod_matricula'); + 30, 255, FALSE, FALSE, TRUE, '', '', '', '', 'ref_cod_matricula'); + + $this->campoCheck('check_desenturma['.$matricula.']','',$matricula); } } @@ -292,6 +297,11 @@ class indice extends clsCadastro $this->data_enturmacao = Portabilis_Date_Utils::brToPgSQL($this->data_enturmacao); @session_write_close(); + // realiza desenturmações + foreach ($this->check_desenturma as $matricula) { + $this->removerEnturmacao($matricula,$this->ref_cod_turma); + } + if ($this->matriculas_turma) { foreach ($this->ref_cod_matricula as $matricula => $campo) { $obj = new clsPmieducarMatriculaTurma($matricula, $this->ref_cod_turma, @@ -322,6 +332,34 @@ class indice extends clsCadastro function Excluir() { } + + function removerEnturmacao($matriculaId, $turmaId) { + $sequencialEnturmacao = $this->getSequencialEnturmacaoByTurmaId($matriculaId, $turmaId); + $enturmacao = new clsPmieducarMatriculaTurma($matriculaId, + $turmaId, + $this->pessoa_logada, + NULL, + NULL, + NULL, + 0, + NULL, + $sequencialEnturmacao); + + return $enturmacao->edita(); + } + + + function getSequencialEnturmacaoByTurmaId($matriculaId, $turmaId) { + $db = new clsBanco(); + $sql = 'select coalesce(max(sequencial), 1) from pmieducar.matricula_turma where ativo = 1 and ref_cod_matricula = $1 and ref_cod_turma = $2'; + + if ($db->execPreparedQuery($sql, array($matriculaId, $turmaId)) != false) { + $db->ProximoRegistro(); + $sequencial = $db->Tupla(); + return $sequencial[0]; + } + return 1; + } } // Instancia objeto de página @@ -334,4 +372,31 @@ $miolo = new indice(); $pagina->addForm($miolo); // Gera o código HTML -$pagina->MakeAll(); \ No newline at end of file +$pagina->MakeAll(); + +?> + + diff --git a/ieducar/intranet/educar_matriculas_turma_lst.php b/ieducar/intranet/educar_matriculas_turma_lst.php index c355725..eb00207 100644 --- a/ieducar/intranet/educar_matriculas_turma_lst.php +++ b/ieducar/intranet/educar_matriculas_turma_lst.php @@ -89,6 +89,7 @@ class indice extends clsListagem $this->addBanner( "imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet" ); $lista_busca = array( + "Ano", "Turma", "Série", "Curso" @@ -221,6 +222,7 @@ class indice extends clsListagem } $lista_busca = array( + "{$registro["ano"]}", "{$registro["nm_turma"]}" ); diff --git a/ieducar/intranet/educar_turma_xml.php b/ieducar/intranet/educar_turma_xml.php index 0105633..906f3d7 100644 --- a/ieducar/intranet/educar_turma_xml.php +++ b/ieducar/intranet/educar_turma_xml.php @@ -39,7 +39,7 @@ { $db = new clsBanco(); // $db->Consulta( "SELECT cod_turma, nm_turma FROM pmieducar.turma WHERE ref_ref_cod_escola = {$_GET["esc"]} AND ref_ref_cod_serie = {$_GET["ser"]} AND ativo = 1 ORDER BY nm_turma ASC" ); - $db->Consulta( "SELECT cod_turma, nm_turma FROM pmieducar.turma WHERE ref_ref_cod_escola = {$_GET["esc"]} AND (ref_ref_cod_serie = {$_GET["ser"]} OR ref_ref_cod_serie_mult = {$_GET["ser"]}) AND ativo = 1 ORDER BY nm_turma ASC" ); + $db->Consulta( "SELECT cod_turma, nm_turma FROM pmieducar.turma WHERE ref_ref_cod_escola = {$_GET["esc"]} AND (ref_ref_cod_serie = {$_GET["ser"]} OR ref_ref_cod_serie_mult = {$_GET["ser"]}) AND ativo = 1 AND turma.ano = ( SELECT ano FROM pmieducar.escola_ano_letivo enl WHERE enl.ref_cod_escola = turma.ref_ref_cod_escola AND andamento = 1) ORDER BY nm_turma ASC" ); while ( $db->ProximoRegistro() ) { list( $cod, $nome ) = $db->Tupla(); diff --git a/ieducar/intranet/include/pmieducar/clsPmieducarTurma.inc.php b/ieducar/intranet/include/pmieducar/clsPmieducarTurma.inc.php index dbfb93b..dd29014 100644 --- a/ieducar/intranet/include/pmieducar/clsPmieducarTurma.inc.php +++ b/ieducar/intranet/include/pmieducar/clsPmieducarTurma.inc.php @@ -1919,12 +1919,8 @@ and e.cod_escola = t.ref_ref_cod_escola $whereAnd = " AND "; } - $filtros .= "{$whereAnd} (ano = (SELECT max(ano) - FROM pmieducar.escola_ano_letivo mat - WHERE ativo = 1 and mat.andamento = 1) or ((t.ano is null) AND (select 1 from pmieducar.matricula_turma - where ativo = 1 and date_part('year',data_cadastro) = (SELECT max(ano) - FROM pmieducar.escola_ano_letivo - WHERE ativo = 1 and andamento = 1) and t.cod_turma = ref_cod_turma limit 1) is not null))"; + // Retirar OR quando todas turmas tiverem a coluna ANO definido. + $filtros .= "{$whereAnd} t.ano = ( SELECT ano FROM pmieducar.escola_ano_letivo enl WHERE enl.ref_cod_escola = t.ref_ref_cod_escola AND andamento = 1)"; $db = new clsBanco(); $countCampos = count( explode( ",", $this->_campos_lista ) ); -- libgit2 0.21.2