Commit 16e95954308e276dfebbd17295102292e7cc379e
1 parent
6b88aed5
Exists in
master
Adicionado opção para desenturmar em enturmações em lote
portabilis/ieducar#433
Showing
4 changed files
with
72 additions
and
9 deletions
Show diff stats
ieducar/intranet/educar_matriculas_turma_cad.php
... | ... | @@ -86,6 +86,8 @@ class indice extends clsCadastro |
86 | 86 | var $incluir_matricula; |
87 | 87 | var $data_enturmacao; |
88 | 88 | |
89 | + var $check_desenturma; | |
90 | + | |
89 | 91 | function Inicializar() |
90 | 92 | { |
91 | 93 | @session_start(); |
... | ... | @@ -229,6 +231,7 @@ class indice extends clsCadastro |
229 | 231 | } |
230 | 232 | |
231 | 233 | if ($this->matriculas_turma) { |
234 | + $this->campoRotulo('titulo', 'Matrículas', "<b> Alunos matriculados Marque alunos para desenturmar</b><label style='display: block; width: 350px; margin-left: 196px;'><input type='checkbox' name='CheckTodos' onClick='marcarCheck(".'"check_desenturma[]"'.");'/>Marcar Todos</label>"); | |
232 | 235 | foreach ($this->matriculas_turma as $matricula => $campo) { |
233 | 236 | $obj_matricula = new clsPmieducarMatricula($matricula); |
234 | 237 | $det_matricula = $obj_matricula->detalhe(); |
... | ... | @@ -239,7 +242,9 @@ class indice extends clsCadastro |
239 | 242 | $nm_aluno = $det_aluno['nome_aluno']; |
240 | 243 | |
241 | 244 | $this->campoTextoInv('ref_cod_matricula_' . $matricula, '', $nm_aluno, |
242 | - 30, 255, FALSE, FALSE, FALSE, '', '', '', '', 'ref_cod_matricula'); | |
245 | + 30, 255, FALSE, FALSE, TRUE, '', '', '', '', 'ref_cod_matricula'); | |
246 | + | |
247 | + $this->campoCheck('check_desenturma['.$matricula.']','',$matricula); | |
243 | 248 | } |
244 | 249 | } |
245 | 250 | |
... | ... | @@ -292,6 +297,11 @@ class indice extends clsCadastro |
292 | 297 | $this->data_enturmacao = Portabilis_Date_Utils::brToPgSQL($this->data_enturmacao); |
293 | 298 | @session_write_close(); |
294 | 299 | |
300 | + // realiza desenturmações | |
301 | + foreach ($this->check_desenturma as $matricula) { | |
302 | + $this->removerEnturmacao($matricula,$this->ref_cod_turma); | |
303 | + } | |
304 | + | |
295 | 305 | if ($this->matriculas_turma) { |
296 | 306 | foreach ($this->ref_cod_matricula as $matricula => $campo) { |
297 | 307 | $obj = new clsPmieducarMatriculaTurma($matricula, $this->ref_cod_turma, |
... | ... | @@ -322,6 +332,34 @@ class indice extends clsCadastro |
322 | 332 | function Excluir() |
323 | 333 | { |
324 | 334 | } |
335 | + | |
336 | + function removerEnturmacao($matriculaId, $turmaId) { | |
337 | + $sequencialEnturmacao = $this->getSequencialEnturmacaoByTurmaId($matriculaId, $turmaId); | |
338 | + $enturmacao = new clsPmieducarMatriculaTurma($matriculaId, | |
339 | + $turmaId, | |
340 | + $this->pessoa_logada, | |
341 | + NULL, | |
342 | + NULL, | |
343 | + NULL, | |
344 | + 0, | |
345 | + NULL, | |
346 | + $sequencialEnturmacao); | |
347 | + | |
348 | + return $enturmacao->edita(); | |
349 | + } | |
350 | + | |
351 | + | |
352 | + function getSequencialEnturmacaoByTurmaId($matriculaId, $turmaId) { | |
353 | + $db = new clsBanco(); | |
354 | + $sql = 'select coalesce(max(sequencial), 1) from pmieducar.matricula_turma where ativo = 1 and ref_cod_matricula = $1 and ref_cod_turma = $2'; | |
355 | + | |
356 | + if ($db->execPreparedQuery($sql, array($matriculaId, $turmaId)) != false) { | |
357 | + $db->ProximoRegistro(); | |
358 | + $sequencial = $db->Tupla(); | |
359 | + return $sequencial[0]; | |
360 | + } | |
361 | + return 1; | |
362 | + } | |
325 | 363 | } |
326 | 364 | |
327 | 365 | // Instancia objeto de página |
... | ... | @@ -334,4 +372,31 @@ $miolo = new indice(); |
334 | 372 | $pagina->addForm($miolo); |
335 | 373 | |
336 | 374 | // Gera o código HTML |
337 | -$pagina->MakeAll(); | |
338 | 375 | \ No newline at end of file |
376 | +$pagina->MakeAll(); | |
377 | + | |
378 | +?> | |
379 | + | |
380 | +<script type="text/javascript"> | |
381 | + | |
382 | + function fixUpCheckBoxes(){ | |
383 | + $j('input[name^=check_desenturma]').each(function(index, element){ | |
384 | + element.id = 'check_desenturma[]'; | |
385 | + element.checked = false; | |
386 | + }); | |
387 | + } | |
388 | + | |
389 | + fixUpCheckBoxes(); | |
390 | + | |
391 | + function marcarCheck(idValue) { | |
392 | + // testar com formcadastro | |
393 | + var contaForm = document.formcadastro.elements.length; | |
394 | + var campo = document.formcadastro; | |
395 | + var i; | |
396 | + for (i=0; i<contaForm; i++) { | |
397 | + if (campo.elements[i].id == idValue) { | |
398 | + | |
399 | + campo.elements[i].checked = campo.CheckTodos.checked; | |
400 | + } | |
401 | + } | |
402 | + } | |
403 | +</script> | ... | ... |
ieducar/intranet/educar_matriculas_turma_lst.php
... | ... | @@ -89,6 +89,7 @@ class indice extends clsListagem |
89 | 89 | $this->addBanner( "imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet" ); |
90 | 90 | |
91 | 91 | $lista_busca = array( |
92 | + "Ano", | |
92 | 93 | "Turma", |
93 | 94 | "Série", |
94 | 95 | "Curso" |
... | ... | @@ -221,6 +222,7 @@ class indice extends clsListagem |
221 | 222 | } |
222 | 223 | |
223 | 224 | $lista_busca = array( |
225 | + "<a href=\"educar_matriculas_turma_cad.php?ref_cod_turma={$registro["cod_turma"]}\">{$registro["ano"]}</a>", | |
224 | 226 | "<a href=\"educar_matriculas_turma_cad.php?ref_cod_turma={$registro["cod_turma"]}\">{$registro["nm_turma"]}</a>" |
225 | 227 | ); |
226 | 228 | ... | ... |
ieducar/intranet/educar_turma_xml.php
... | ... | @@ -39,7 +39,7 @@ |
39 | 39 | { |
40 | 40 | $db = new clsBanco(); |
41 | 41 | // $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" ); |
42 | - $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" ); | |
42 | + $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" ); | |
43 | 43 | while ( $db->ProximoRegistro() ) |
44 | 44 | { |
45 | 45 | list( $cod, $nome ) = $db->Tupla(); | ... | ... |
ieducar/intranet/include/pmieducar/clsPmieducarTurma.inc.php
... | ... | @@ -1919,12 +1919,8 @@ and e.cod_escola = t.ref_ref_cod_escola |
1919 | 1919 | $whereAnd = " AND "; |
1920 | 1920 | } |
1921 | 1921 | |
1922 | - $filtros .= "{$whereAnd} (ano = (SELECT max(ano) | |
1923 | - FROM pmieducar.escola_ano_letivo mat | |
1924 | - WHERE ativo = 1 and mat.andamento = 1) or ((t.ano is null) AND (select 1 from pmieducar.matricula_turma | |
1925 | - where ativo = 1 and date_part('year',data_cadastro) = (SELECT max(ano) | |
1926 | - FROM pmieducar.escola_ano_letivo | |
1927 | - WHERE ativo = 1 and andamento = 1) and t.cod_turma = ref_cod_turma limit 1) is not null))"; | |
1922 | + // Retirar OR quando todas turmas tiverem a coluna ANO definido. | |
1923 | + $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)"; | |
1928 | 1924 | |
1929 | 1925 | $db = new clsBanco(); |
1930 | 1926 | $countCampos = count( explode( ",", $this->_campos_lista ) ); | ... | ... |