From 6b88aed5e280c068967f0809257593c61a8954c9 Mon Sep 17 00:00:00 2001 From: Lucas Schmoeller da Silva Date: Fri, 20 Mar 2015 10:58:17 -0300 Subject: [PATCH] Alterado processo de rematrícula automática: --- ieducar/intranet/educar_avancar_mod_cad.php | 34 +++++++++++++++++++++++++--------- ieducar/modules/DynamicInput/Views/TurmaController.php | 2 +- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/ieducar/intranet/educar_avancar_mod_cad.php b/ieducar/intranet/educar_avancar_mod_cad.php index 6266e06..2d29359 100644 --- a/ieducar/intranet/educar_avancar_mod_cad.php +++ b/ieducar/intranet/educar_avancar_mod_cad.php @@ -66,7 +66,8 @@ class indice extends clsCadastro $anoLetivoHelperOptions = array('situacoes' => array('em_andamento', 'nao_iniciado')); - $this->inputsHelper()->dynamic(array('instituicao', 'escola', 'curso', 'serie', 'turma')); + $this->inputsHelper()->dynamic(array('instituicao', 'escola', 'curso', 'serie')); + $this->inputsHelper()->dynamic('turma', array('label' => 'Selecione a turma do ano anterior')); $this->inputsHelper()->dynamic('anoLetivo', array('label' => 'Ano destino'), $anoLetivoHelperOptions); $this->inputsHelper()->date('data_matricula', array('label' => 'Data da matrícula', 'placeholder' => 'dd/mm/yyyy')); } @@ -100,9 +101,11 @@ class indice extends clsCadastro protected function rematricularALunos($escolaId, $cursoId, $serieId, $turmaId, $ano) { $result = $this->selectMatriculas($escolaId, $cursoId, $serieId, $turmaId, $ano); $count = 0; + $nomesAlunos; while ($result && $this->db->ProximoRegistro()) { - list($matriculaId, $alunoId, $situacao) = $this->db->Tupla(); + list($matriculaId, $alunoId, $situacao, $nomeAluno) = $this->db->Tupla(); + $nomesAlunos[] = $nomeAluno; $this->db2->Consulta("UPDATE pmieducar.matricula SET ultima_matricula = '0' WHERE cod_matricula = $matriculaId"); @@ -117,10 +120,18 @@ class indice extends clsCadastro $count += 1; } - if ($result && empty($this->mensagem)) - $this->mensagem = $count > 0 ? "Rematriculado $count alunos com sucesso em $ano!" : "Nenhum aluno rematriculado. Certifique-se que a turma possui alunos aprovados ou reprovados não matriculados em $ano."; - - elseif(empty($this->mensagem)) + if ($result && empty($this->mensagem)){ + if ($count > 0){ + $mensagem = "Rematriculado os seguinte(s) $count aluno(s) com sucesso em $ano:

"; + foreach ($nomesAlunos as $nome) { + $mensagem .= "{$nome}
"; + } + $mensagem .= "
As enturmações podem ser realizadas em: Movimentação > Enturmação.
"; + $this->mensagem = $mensagem; + }else{ + $this->mensagem = "Nenhum aluno rematriculado. Certifique-se que a turma possui alunos aprovados ou reprovados não matriculados em $ano."; + } + }elseif(empty($this->mensagem)) $this->mensagem = "Ocorreu algum erro inesperado durante as rematrículas, por favor, tente novamente."; return $result; @@ -131,12 +142,17 @@ class indice extends clsCadastro try { $anoAnterior = $ano - 1; - $this->db->Consulta("SELECT cod_matricula, ref_cod_aluno, aprovado + $this->db->Consulta("SELECT cod_matricula, ref_cod_aluno, aprovado, + (SELECT upper(nome) + FROM cadastro.pessoa, pmieducar.aluno + WHERE pessoa.idpes = aluno.ref_idpes AND + aluno.cod_aluno = ref_cod_aluno) as nome FROM pmieducar.matricula m, pmieducar.matricula_turma WHERE aprovado in (1, 2) AND m.ativo = 1 AND ref_ref_cod_escola = $escolaId AND ref_ref_cod_serie = $serieId AND ref_cod_curso = $cursoId AND cod_matricula = ref_cod_matricula AND ref_cod_turma = $turmaId AND + matricula_turma.ativo = 1 AND ano = $anoAnterior AND NOT EXISTS(select 1 from pmieducar.matricula m2 where m2.ref_cod_aluno = m.ref_cod_aluno AND @@ -179,8 +195,8 @@ class indice extends clsCadastro protected function matricularAluno($escolaId, $cursoId, $serieId, $ano, $alunoId) { try { $this->db2->Consulta(sprintf("INSERT INTO pmieducar.matricula - (ref_ref_cod_escola, ref_ref_cod_serie, ref_usuario_cad, ref_cod_aluno, aprovado, data_cadastro, ano, ref_cod_curso, ultima_matricula) VALUES ('%d', '%d', '%d', '%d', '3', 'NOW()', '%d', '%d', '1')", - $escolaId, $serieId, $this->pessoa_logada, $alunoId, $ano, $cursoId, $this->data_matricula)); + (ref_ref_cod_escola, ref_ref_cod_serie, ref_usuario_cad, ref_cod_aluno, aprovado, data_cadastro, ano, ref_cod_curso, ultima_matricula, data_matricula) VALUES ('%d', '%d', '%d', '%d', '3', 'NOW()', '%d', '%d', '1','{$this->data_matricula}')", + $escolaId, $serieId, $this->pessoa_logada, $alunoId, $ano, $cursoId)); } catch (Exception $e) { $this->mensagem = "Erro durante matrícula do aluno: $alunoId"; diff --git a/ieducar/modules/DynamicInput/Views/TurmaController.php b/ieducar/modules/DynamicInput/Views/TurmaController.php index 56b4770..a2242af 100644 --- a/ieducar/modules/DynamicInput/Views/TurmaController.php +++ b/ieducar/modules/DynamicInput/Views/TurmaController.php @@ -78,7 +78,7 @@ class TurmaController extends ApiCoreController $turmas = Portabilis_Business_Professor::turmasAlocado($escolaId, $serieId, $userId); else { - $sql = "select cod_turma as id, nm_turma as nome from pmieducar.turma where ref_ref_cod_escola = $1 + $sql = "select cod_turma as id, nm_turma || ' - ' || COALESCE(ano::varchar,'SEM ANO') as nome from pmieducar.turma where ref_ref_cod_escola = $1 and (ref_ref_cod_serie = $2 or ref_ref_cod_serie_mult = $2) and ativo = 1 and visivel != 'f' order by nm_turma asc"; -- libgit2 0.21.2