Commit 6b88aed5e280c068967f0809257593c61a8954c9

Authored by Lucas Schmoeller da Silva
1 parent fcd8ca9d
Exists in master

Alterado processo de rematrícula automática:

Alterado para que sejam listados alunos rematrículados;
Alterado campo de turma para facilitar identificação do ano da turma;

portabilis/ieducar#126
ieducar/intranet/educar_avancar_mod_cad.php
... ... @@ -66,7 +66,8 @@ class indice extends clsCadastro
66 66  
67 67 $anoLetivoHelperOptions = array('situacoes' => array('em_andamento', 'nao_iniciado'));
68 68  
69   - $this->inputsHelper()->dynamic(array('instituicao', 'escola', 'curso', 'serie', 'turma'));
  69 + $this->inputsHelper()->dynamic(array('instituicao', 'escola', 'curso', 'serie'));
  70 + $this->inputsHelper()->dynamic('turma', array('label' => 'Selecione a turma do ano anterior'));
70 71 $this->inputsHelper()->dynamic('anoLetivo', array('label' => 'Ano destino'), $anoLetivoHelperOptions);
71 72 $this->inputsHelper()->date('data_matricula', array('label' => 'Data da matrícula', 'placeholder' => 'dd/mm/yyyy'));
72 73 }
... ... @@ -100,9 +101,11 @@ class indice extends clsCadastro
100 101 protected function rematricularALunos($escolaId, $cursoId, $serieId, $turmaId, $ano) {
101 102 $result = $this->selectMatriculas($escolaId, $cursoId, $serieId, $turmaId, $ano);
102 103 $count = 0;
  104 + $nomesAlunos;
103 105  
104 106 while ($result && $this->db->ProximoRegistro()) {
105   - list($matriculaId, $alunoId, $situacao) = $this->db->Tupla();
  107 + list($matriculaId, $alunoId, $situacao, $nomeAluno) = $this->db->Tupla();
  108 + $nomesAlunos[] = $nomeAluno;
106 109  
107 110 $this->db2->Consulta("UPDATE pmieducar.matricula SET ultima_matricula = '0' WHERE cod_matricula = $matriculaId");
108 111  
... ... @@ -117,10 +120,18 @@ class indice extends clsCadastro
117 120 $count += 1;
118 121 }
119 122  
120   - if ($result && empty($this->mensagem))
121   - $this->mensagem = $count > 0 ? "<span class='success'>Rematriculado $count alunos com sucesso em $ano!</span>" : "<span class='notice'>Nenhum aluno rematriculado. Certifique-se que a turma possui alunos aprovados ou reprovados não matriculados em $ano.</span>";
122   -
123   - elseif(empty($this->mensagem))
  123 + if ($result && empty($this->mensagem)){
  124 + if ($count > 0){
  125 + $mensagem = "<span class='success'>Rematriculado os seguinte(s) $count aluno(s) com sucesso em $ano: </br></br>";
  126 + foreach ($nomesAlunos as $nome) {
  127 + $mensagem .= "{$nome} </br>";
  128 + }
  129 + $mensagem .= "</br> As enturmações podem ser realizadas em: Movimentação > Enturmação.</span>";
  130 + $this->mensagem = $mensagem;
  131 + }else{
  132 + $this->mensagem = "<span class='notice'>Nenhum aluno rematriculado. Certifique-se que a turma possui alunos aprovados ou reprovados não matriculados em $ano.</span>";
  133 + }
  134 + }elseif(empty($this->mensagem))
124 135 $this->mensagem = "Ocorreu algum erro inesperado durante as rematrículas, por favor, tente novamente.";
125 136  
126 137 return $result;
... ... @@ -131,12 +142,17 @@ class indice extends clsCadastro
131 142 try {
132 143 $anoAnterior = $ano - 1;
133 144  
134   - $this->db->Consulta("SELECT cod_matricula, ref_cod_aluno, aprovado
  145 + $this->db->Consulta("SELECT cod_matricula, ref_cod_aluno, aprovado,
  146 + (SELECT upper(nome)
  147 + FROM cadastro.pessoa, pmieducar.aluno
  148 + WHERE pessoa.idpes = aluno.ref_idpes AND
  149 + aluno.cod_aluno = ref_cod_aluno) as nome
135 150 FROM
136 151 pmieducar.matricula m, pmieducar.matricula_turma
137 152 WHERE aprovado in (1, 2) AND m.ativo = 1 AND ref_ref_cod_escola = $escolaId AND
138 153 ref_ref_cod_serie = $serieId AND ref_cod_curso = $cursoId AND
139 154 cod_matricula = ref_cod_matricula AND ref_cod_turma = $turmaId AND
  155 + matricula_turma.ativo = 1 AND
140 156 ano = $anoAnterior AND
141 157 NOT EXISTS(select 1 from pmieducar.matricula m2 where
142 158 m2.ref_cod_aluno = m.ref_cod_aluno AND
... ... @@ -179,8 +195,8 @@ class indice extends clsCadastro
179 195 protected function matricularAluno($escolaId, $cursoId, $serieId, $ano, $alunoId) {
180 196 try {
181 197 $this->db2->Consulta(sprintf("INSERT INTO pmieducar.matricula
182   - (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')",
183   - $escolaId, $serieId, $this->pessoa_logada, $alunoId, $ano, $cursoId, $this->data_matricula));
  198 + (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}')",
  199 + $escolaId, $serieId, $this->pessoa_logada, $alunoId, $ano, $cursoId));
184 200 }
185 201 catch (Exception $e) {
186 202 $this->mensagem = "Erro durante matrícula do aluno: $alunoId";
... ...
ieducar/modules/DynamicInput/Views/TurmaController.php
... ... @@ -78,7 +78,7 @@ class TurmaController extends ApiCoreController
78 78 $turmas = Portabilis_Business_Professor::turmasAlocado($escolaId, $serieId, $userId);
79 79  
80 80 else {
81   - $sql = "select cod_turma as id, nm_turma as nome from pmieducar.turma where ref_ref_cod_escola = $1
  81 + $sql = "select cod_turma as id, nm_turma || ' - ' || COALESCE(ano::varchar,'SEM ANO') as nome from pmieducar.turma where ref_ref_cod_escola = $1
82 82 and (ref_ref_cod_serie = $2 or ref_ref_cod_serie_mult = $2) and ativo = 1 and
83 83 visivel != 'f' order by nm_turma asc";
84 84  
... ...