Commit 23f4a7024eb970bba9acfaf77a4ecb4045e660a6
1 parent
da41e2be
Exists in
master
Melhorado / aplicado correções aos processos de matricula e enturmação
Showing
6 changed files
with
513 additions
and
314 deletions
Show diff stats
ieducar/intranet/educar_matricula_cad.php
| @@ -101,11 +101,11 @@ class indice extends clsCadastro | @@ -101,11 +101,11 @@ class indice extends clsCadastro | ||
| 101 | $obj_aluno = new clsPmieducarAluno($this->ref_cod_aluno); | 101 | $obj_aluno = new clsPmieducarAluno($this->ref_cod_aluno); |
| 102 | 102 | ||
| 103 | if (! $obj_aluno->existe()) { | 103 | if (! $obj_aluno->existe()) { |
| 104 | - header('Location: educar_matricula_lst.php'); | 104 | + header('Location: educar_aluno_lst.php'); |
| 105 | die; | 105 | die; |
| 106 | } | 106 | } |
| 107 | 107 | ||
| 108 | - $url = 'educar_matricula_lst.php?ref_cod_aluno=' . $this->ref_cod_aluno; | 108 | + $url = 'educar_aluno_det.php?cod_aluno=' . $this->ref_cod_aluno; |
| 109 | 109 | ||
| 110 | $obj_permissoes = new clsPermissoes(); | 110 | $obj_permissoes = new clsPermissoes(); |
| 111 | $obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7, $url); | 111 | $obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7, $url); |
| @@ -118,6 +118,7 @@ class indice extends clsCadastro | @@ -118,6 +118,7 @@ class indice extends clsCadastro | ||
| 118 | 118 | ||
| 119 | $this->url_cancelar = $url; | 119 | $this->url_cancelar = $url; |
| 120 | $this->nome_url_cancelar = 'Cancelar'; | 120 | $this->nome_url_cancelar = 'Cancelar'; |
| 121 | + | ||
| 121 | return $retorno; | 122 | return $retorno; |
| 122 | } | 123 | } |
| 123 | 124 | ||
| @@ -152,17 +153,13 @@ class indice extends clsCadastro | @@ -152,17 +153,13 @@ class indice extends clsCadastro | ||
| 152 | 'Caso seja transfência externa por favor marque esta opção.'); | 153 | 'Caso seja transfência externa por favor marque esta opção.'); |
| 153 | } | 154 | } |
| 154 | 155 | ||
| 155 | - // foreign keys | ||
| 156 | - $instituicao_obrigatorio = TRUE; | ||
| 157 | - $curso_obrigatorio = TRUE; | ||
| 158 | - $escola_curso_obrigatorio = TRUE; | ||
| 159 | - $get_escola = TRUE; | ||
| 160 | - $get_curso = TRUE; | ||
| 161 | - $get_escola_curso_serie = TRUE; | ||
| 162 | - $get_matricula = TRUE; | ||
| 163 | - $sem_padrao = TRUE; | 156 | + // inputs |
| 157 | + | ||
| 158 | + $anoLetivoHelperOptions = array('situacoes' => array('em_andamento', 'nao_iniciado')); | ||
| 159 | + | ||
| 160 | + $this->inputsHelper()->dynamic(array('instituicao', 'escola', 'curso', 'serie')); | ||
| 161 | + $this->inputsHelper()->dynamic('anoLetivo', array('label' => 'Ano destino'), $anoLetivoHelperOptions); | ||
| 164 | 162 | ||
| 165 | - include 'include/pmieducar/educar_campo_lista.php'; | ||
| 166 | 163 | ||
| 167 | if (is_numeric($this->ref_cod_curso)) { | 164 | if (is_numeric($this->ref_cod_curso)) { |
| 168 | $obj_curso = new clsPmieducarCurso($this->ref_cod_curso); | 165 | $obj_curso = new clsPmieducarCurso($this->ref_cod_curso); |
| @@ -174,34 +171,124 @@ class indice extends clsCadastro | @@ -174,34 +171,124 @@ class indice extends clsCadastro | ||
| 174 | } | 171 | } |
| 175 | } | 172 | } |
| 176 | 173 | ||
| 177 | - if ($this->ref_cod_escola) { | ||
| 178 | - $this->ref_ref_cod_escola = $this->ref_cod_escola; | ||
| 179 | - } | 174 | + $this->acao_enviar = 'formUtils.submit()'; |
| 175 | + } | ||
| 180 | 176 | ||
| 181 | - $this->acao_enviar = 'valida()'; | 177 | + protected function getCurso($id) { |
| 178 | + $curso = new clsPmieducarCurso($id); | ||
| 179 | + return $curso->detalhe(); | ||
| 182 | } | 180 | } |
| 183 | 181 | ||
| 184 | function Novo() | 182 | function Novo() |
| 185 | { | 183 | { |
| 184 | + | ||
| 185 | + $this->url_cancelar = 'educar_aluno_det.php?cod_aluno=' . $this->ref_cod_aluno; | ||
| 186 | + $this->nome_url_cancelar = 'Cancelar'; | ||
| 187 | + | ||
| 186 | @session_start(); | 188 | @session_start(); |
| 187 | $this->pessoa_logada = $_SESSION['id_pessoa']; | 189 | $this->pessoa_logada = $_SESSION['id_pessoa']; |
| 188 | @session_write_close(); | 190 | @session_write_close(); |
| 189 | 191 | ||
| 190 | $obj_permissoes = new clsPermissoes(); | 192 | $obj_permissoes = new clsPermissoes(); |
| 191 | $obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7, | 193 | $obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7, |
| 192 | - 'educar_matricula_lst.php?ref_cod_aluno=' . $this->ref_cod_aluno); | 194 | + 'educar_aluno_det.php?cod_aluno=' . $this->ref_cod_aluno); |
| 193 | 195 | ||
| 194 | - $obj_escola_ano_letivo = new clsPmieducarEscolaAnoLetivo(); | ||
| 195 | - $lst_escola_ano_letivo = $obj_escola_ano_letivo->lista($this->ref_cod_escola, | ||
| 196 | - NULL, NULL, NULL,1, NULL, NULL, NULL, NULL, 1); | 196 | + //novas regras matricula aluno |
| 197 | + $this->ano = $_POST['ano']; | ||
| 197 | 198 | ||
| 198 | - if (is_array($lst_escola_ano_letivo)) { | ||
| 199 | - $det_escola_ano_letivo = array_shift($lst_escola_ano_letivo); | ||
| 200 | - $this->ano = $det_escola_ano_letivo['ano']; | 199 | + $anoLetivoEmAndamentoEscola = new clsPmieducarEscolaAnoLetivo(); |
| 200 | + $anoLetivoEmAndamentoEscola = $anoLetivoEmAndamentoEscola->lista($this->ref_cod_escola, | ||
| 201 | + $this->ano, | ||
| 202 | + null, | ||
| 203 | + null, | ||
| 204 | + 2, /*adiciona where 0 ou 1*/ | ||
| 205 | + null, | ||
| 206 | + null, | ||
| 207 | + null, | ||
| 208 | + null, | ||
| 209 | + 1 | ||
| 210 | + ); | ||
| 211 | + | ||
| 212 | + if(is_array($anoLetivoEmAndamentoEscola)) { | ||
| 213 | + require_once 'include/pmieducar/clsPmieducarSerie.inc.php'; | ||
| 214 | + $db = new clsBanco(); | ||
| 215 | + | ||
| 216 | + $db->Consulta("select ref_ref_cod_serie, ref_cod_curso from pmieducar.matricula where ativo = 1 and ref_ref_cod_escola = $this->ref_cod_escola and ref_cod_curso = $this->ref_cod_curso and ref_cod_aluno = $this->ref_cod_aluno and aprovado not in (1,2,4,5,6,7,8,9)"); | ||
| 217 | + | ||
| 218 | + $db->ProximoRegistro(); | ||
| 219 | + $m = $db->Tupla(); | ||
| 220 | + if (is_array($m) && count($m)) { | ||
| 221 | + | ||
| 222 | + $curso = $this->getCurso($this->ref_cod_curso); | ||
| 223 | + | ||
| 224 | + if ($m['ref_ref_cod_serie'] == $this->ref_cod_serie) { | ||
| 225 | + $this->mensagem .= "Este aluno já está matriculado nesta série e curso, não é possivel matricular um aluno mais de uma vez na mesma série.<br />"; | ||
| 226 | + | ||
| 227 | + return false; | ||
| 228 | + } | ||
| 229 | + | ||
| 230 | + elseif ($curso['multi_seriado'] != 1) { | ||
| 231 | + $serie = new clsPmieducarSerie($m['ref_ref_cod_serie'], null, null, $m['ref_cod_curso']); | ||
| 232 | + $serie = $serie->detalhe(); | ||
| 233 | + | ||
| 234 | + if (is_array($serie) && count($serie)) | ||
| 235 | + $nomeSerie = $serie['nm_serie']; | ||
| 236 | + else | ||
| 237 | + $nomeSerie = ''; | ||
| 238 | + | ||
| 239 | + $this->mensagem .= "Este aluno já está matriculado no(a) '$nomeSerie' deste curso e escola. Como este curso não é multi seriado, não é possivel manter mais de uma matricula em andamento para o mesmo curso.<br />"; | ||
| 240 | + | ||
| 241 | + return false; | ||
| 242 | + } | ||
| 243 | + } | ||
| 244 | + | ||
| 245 | + else | ||
| 246 | + { | ||
| 247 | + $db->Consulta("select ref_ref_cod_escola, ref_cod_curso, ref_ref_cod_serie from pmieducar.matricula where ativo = 1 and ref_ref_cod_escola != $this->ref_cod_escola and ref_cod_aluno = $this->ref_cod_aluno and aprovado not in (1,2,4,5,6,7,8,9) and not exists (select 1 from pmieducar.transferencia_solicitacao as ts where ts.ativo = 1 and ts.ref_cod_matricula_saida = matricula.cod_matricula)"); | ||
| 248 | + | ||
| 249 | + $db->ProximoRegistro(); | ||
| 250 | + $m = $db->Tupla(); | ||
| 251 | + if (is_array($m) && count($m)){ | ||
| 252 | + require_once 'include/pmieducar/clsPmieducarEscola.inc.php'; | ||
| 253 | + require_once 'include/pessoa/clsJuridica.inc.php'; | ||
| 254 | + | ||
| 255 | + $serie = new clsPmieducarSerie($m['ref_ref_cod_serie'], null, null, $m['ref_cod_curso']); | ||
| 256 | + $serie = $serie->detalhe(); | ||
| 257 | + if (is_array($serie) && count($serie)) | ||
| 258 | + $serie = $serie['nm_serie']; | ||
| 259 | + else | ||
| 260 | + $serie = ''; | ||
| 261 | + | ||
| 262 | + $escola = new clsPmieducarEscola($m['ref_ref_cod_escola']); | ||
| 263 | + $escola = $escola->detalhe(); | ||
| 264 | + if (is_array($escola) && count($escola)) | ||
| 265 | + { | ||
| 266 | + $escola = new clsJuridica($escola['ref_idpes']); | ||
| 267 | + $escola = $escola->detalhe(); | ||
| 268 | + if (is_array($escola) && count($escola)) | ||
| 269 | + $escola = $escola['fantasia']; | ||
| 270 | + else | ||
| 271 | + $escola = ''; | ||
| 272 | + } | ||
| 273 | + else | ||
| 274 | + $escola = ''; | ||
| 275 | + | ||
| 276 | + $curso = new clsPmieducarCurso($m['ref_cod_curso']); | ||
| 277 | + $curso = $curso->detalhe(); | ||
| 278 | + if (is_array($curso) && count($curso)) | ||
| 279 | + $curso = $curso['nm_curso']; | ||
| 280 | + else | ||
| 281 | + $curso = ''; | ||
| 282 | + | ||
| 283 | + $this->mensagem .= "Este aluno já está matriculado no(a) '$serie' do curso '$curso' na escola '$escola', para matricular este aluno na sua escola solicite transferência ao secretário(a) da escola citada.<br />"; | ||
| 284 | + | ||
| 285 | + return false; | ||
| 286 | + } | ||
| 287 | + } | ||
| 201 | 288 | ||
| 202 | $obj_reserva_vaga = new clsPmieducarReservaVaga(); | 289 | $obj_reserva_vaga = new clsPmieducarReservaVaga(); |
| 203 | $lst_reserva_vaga = $obj_reserva_vaga->lista(NULL, $this->ref_cod_escola, | 290 | $lst_reserva_vaga = $obj_reserva_vaga->lista(NULL, $this->ref_cod_escola, |
| 204 | - $this->ref_ref_cod_serie, NULL, NULL,$this->ref_cod_aluno, NULL, NULL, | 291 | + $this->ref_cod_serie, NULL, NULL,$this->ref_cod_aluno, NULL, NULL, |
| 205 | NULL, NULL, 1); | 292 | NULL, NULL, 1); |
| 206 | 293 | ||
| 207 | // Verifica se existe reserva de vaga para o aluno | 294 | // Verifica se existe reserva de vaga para o aluno |
| @@ -223,7 +310,7 @@ class indice extends clsCadastro | @@ -223,7 +310,7 @@ class indice extends clsCadastro | ||
| 223 | 310 | ||
| 224 | if (! $this->ref_cod_reserva_vaga) { | 311 | if (! $this->ref_cod_reserva_vaga) { |
| 225 | $obj_turmas = new clsPmieducarTurma(); | 312 | $obj_turmas = new clsPmieducarTurma(); |
| 226 | - $lst_turmas = $obj_turmas->lista(NULL, NULL, NULL, $this->ref_ref_cod_serie, | 313 | + $lst_turmas = $obj_turmas->lista(NULL, NULL, NULL, $this->ref_cod_serie, |
| 227 | $this->ref_cod_escola, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | 314 | $this->ref_cod_escola, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 228 | NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | 315 | NULL, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 229 | NULL, NULL, NULL, NULL, NULL, TRUE); | 316 | NULL, NULL, NULL, NULL, NULL, TRUE); |
| @@ -235,13 +322,13 @@ class indice extends clsCadastro | @@ -235,13 +322,13 @@ class indice extends clsCadastro | ||
| 235 | } | 322 | } |
| 236 | } | 323 | } |
| 237 | else { | 324 | else { |
| 238 | - $this->mensagem = 'Série não possui turmas cadastradas.<br />'; | 325 | + $this->mensagem = 'A série selecionada não possui turmas cadastradas.<br />'; |
| 239 | return FALSE; | 326 | return FALSE; |
| 240 | } | 327 | } |
| 241 | 328 | ||
| 242 | $obj_matricula = new clsPmieducarMatricula(); | 329 | $obj_matricula = new clsPmieducarMatricula(); |
| 243 | $lst_matricula = $obj_matricula->lista(NULL, NULL, $this->ref_cod_escola, | 330 | $lst_matricula = $obj_matricula->lista(NULL, NULL, $this->ref_cod_escola, |
| 244 | - $this->ref_ref_cod_serie, NULL, NULL, NULL, 3, NULL, NULL, NULL, NULL, 1, | 331 | + $this->ref_cod_serie, NULL, NULL, NULL, 3, NULL, NULL, NULL, NULL, 1, |
| 245 | $this->ano, $this->ref_cod_curso, $this->ref_cod_instituicao, 1); | 332 | $this->ano, $this->ref_cod_curso, $this->ref_cod_instituicao, 1); |
| 246 | 333 | ||
| 247 | if (is_array($lst_matricula)) { | 334 | if (is_array($lst_matricula)) { |
| @@ -250,7 +337,7 @@ class indice extends clsCadastro | @@ -250,7 +337,7 @@ class indice extends clsCadastro | ||
| 250 | 337 | ||
| 251 | $obj_reserva_vaga = new clsPmieducarReservaVaga(); | 338 | $obj_reserva_vaga = new clsPmieducarReservaVaga(); |
| 252 | $lst_reserva_vaga = $obj_reserva_vaga->lista(NULL, $this->ref_cod_escola, | 339 | $lst_reserva_vaga = $obj_reserva_vaga->lista(NULL, $this->ref_cod_escola, |
| 253 | - $this->ref_ref_cod_serie, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, | 340 | + $this->ref_cod_serie, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, |
| 254 | $this->ref_cod_instituicao, $this->ref_cod_curso); | 341 | $this->ref_cod_instituicao, $this->ref_cod_curso); |
| 255 | 342 | ||
| 256 | if (is_array($lst_reserva_vaga)) { | 343 | if (is_array($lst_reserva_vaga)) { |
| @@ -271,7 +358,7 @@ class indice extends clsCadastro | @@ -271,7 +358,7 @@ class indice extends clsCadastro | ||
| 271 | msg += \'Deseja mesmo assim realizar a Matrícula?\'; | 358 | msg += \'Deseja mesmo assim realizar a Matrícula?\'; |
| 272 | 359 | ||
| 273 | if (! confirm(msg)) { | 360 | if (! confirm(msg)) { |
| 274 | - window.location = \'educar_matricula_lst.php?ref_cod_aluno=%d; | 361 | + window.location = \'educar_aluno_det.php?cod_aluno=%d; |
| 275 | } | 362 | } |
| 276 | </script>', | 363 | </script>', |
| 277 | $matriculados, $reservados, $total_vagas, $this->ref_cod_aluno | 364 | $matriculados, $reservados, $total_vagas, $this->ref_cod_aluno |
| @@ -295,21 +382,29 @@ class indice extends clsCadastro | @@ -295,21 +382,29 @@ class indice extends clsCadastro | ||
| 295 | $this->semestre = NULL; | 382 | $this->semestre = NULL; |
| 296 | } | 383 | } |
| 297 | 384 | ||
| 385 | + if (! $this->removerFlagUltimaMatricula($this->ref_cod_aluno)) { | ||
| 386 | + return false; | ||
| 387 | + } | ||
| 388 | + | ||
| 298 | $obj = new clsPmieducarMatricula(NULL, $this->ref_cod_reserva_vaga, | 389 | $obj = new clsPmieducarMatricula(NULL, $this->ref_cod_reserva_vaga, |
| 299 | - $this->ref_cod_escola, $this->ref_ref_cod_serie, NULL, | 390 | + $this->ref_cod_escola, $this->ref_cod_serie, NULL, |
| 300 | $this->pessoa_logada, $this->ref_cod_aluno, 3, NULL, NULL, 1, $this->ano, | 391 | $this->pessoa_logada, $this->ref_cod_aluno, 3, NULL, NULL, 1, $this->ano, |
| 301 | 1, NULL, NULL, NULL, NULL, $this->ref_cod_curso, | 392 | 1, NULL, NULL, NULL, NULL, $this->ref_cod_curso, |
| 302 | $this->matricula_transferencia, $this->semestre); | 393 | $this->matricula_transferencia, $this->semestre); |
| 303 | 394 | ||
| 304 | $cadastrou = $obj->cadastra(); | 395 | $cadastrou = $obj->cadastra(); |
| 305 | if ($cadastrou) { | 396 | if ($cadastrou) { |
| 397 | + | ||
| 306 | $obj_transferencia = new clsPmieducarTransferenciaSolicitacao(); | 398 | $obj_transferencia = new clsPmieducarTransferenciaSolicitacao(); |
| 307 | - $lst_transferencia = $obj_transferencia->lista(NULL, NULL, NULL, NULL, | 399 | + |
| 400 | + | ||
| 401 | + #Se encontrar solicitações de transferencia externa (com data de transferencia sem codigo de matricula de entrada), inativa estas | ||
| 402 | + /*$lst_transferencia = $obj_transferencia->lista(NULL, NULL, NULL, NULL, | ||
| 308 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, | 403 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, |
| 309 | $this->ref_cod_aluno, FALSE, NULL, NULL, NULL, TRUE, FALSE); | 404 | $this->ref_cod_aluno, FALSE, NULL, NULL, NULL, TRUE, FALSE); |
| 310 | 405 | ||
| 311 | - // Verifica se existe solicitação de transferência de aluno | ||
| 312 | if (is_array($lst_transferencia)) { | 406 | if (is_array($lst_transferencia)) { |
| 407 | + echo 'Encontrou solicitações de transferencia externa (saida) com data de transferencia'; | ||
| 313 | $det_transferencia = array_shift($lst_transferencia); | 408 | $det_transferencia = array_shift($lst_transferencia); |
| 314 | 409 | ||
| 315 | $obj_transferencia = new clsPmieducarTransferenciaSolicitacao( | 410 | $obj_transferencia = new clsPmieducarTransferenciaSolicitacao( |
| @@ -334,14 +429,19 @@ class indice extends clsCadastro | @@ -334,14 +429,19 @@ class indice extends clsCadastro | ||
| 334 | return FALSE; | 429 | return FALSE; |
| 335 | } | 430 | } |
| 336 | } | 431 | } |
| 432 | + #senão pega as solicitacoes de transferencia internas (sem data de transferencia e sem codigo de matricula de entrada) e | ||
| 433 | + #seta a data de transferencia e codigo de matricula de entrada, atualiza a situacao da matricula para transferido e inativa a matricula turma | ||
| 337 | else { | 434 | else { |
| 435 | + */ | ||
| 338 | $obj_transferencia = new clsPmieducarTransferenciaSolicitacao(); | 436 | $obj_transferencia = new clsPmieducarTransferenciaSolicitacao(); |
| 339 | $lst_transferencia = $obj_transferencia->lista(NULL, NULL, NULL, NULL, | 437 | $lst_transferencia = $obj_transferencia->lista(NULL, NULL, NULL, NULL, |
| 340 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, | 438 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, |
| 341 | $this->ref_cod_aluno, FALSE, NULL, NULL, NULL, FALSE, FALSE); | 439 | $this->ref_cod_aluno, FALSE, NULL, NULL, NULL, FALSE, FALSE); |
| 342 | 440 | ||
| 343 | - // Verifica se existe solicitação de transferência do aluno | 441 | + #TODO interna ? |
| 442 | + // Verifica se existe solicitação de transferência (interna) do aluno | ||
| 344 | if (is_array($lst_transferencia)) { | 443 | if (is_array($lst_transferencia)) { |
| 444 | + #echo 'Encontrou solicitações de transferencia interna (saida) com data de transferencia'; | ||
| 345 | // Verifica cada solicitação de transferência do aluno | 445 | // Verifica cada solicitação de transferência do aluno |
| 346 | foreach ($lst_transferencia as $transferencia) { | 446 | foreach ($lst_transferencia as $transferencia) { |
| 347 | $obj_matricula = new clsPmieducarMatricula( | 447 | $obj_matricula = new clsPmieducarMatricula( |
| @@ -351,14 +451,14 @@ class indice extends clsCadastro | @@ -351,14 +451,14 @@ class indice extends clsCadastro | ||
| 351 | $det_matricula = $obj_matricula->detalhe(); | 451 | $det_matricula = $obj_matricula->detalhe(); |
| 352 | 452 | ||
| 353 | // Caso a solicitação seja para uma mesma série | 453 | // Caso a solicitação seja para uma mesma série |
| 354 | - if ($det_matricula['ref_ref_cod_serie'] == $this->ref_ref_cod_serie) { | 454 | + if ($det_matricula['ref_ref_cod_serie'] == $this->ref_cod_serie) { |
| 355 | $ref_cod_transferencia = $transferencia['cod_transferencia_solicitacao']; | 455 | $ref_cod_transferencia = $transferencia['cod_transferencia_solicitacao']; |
| 356 | break; | 456 | break; |
| 357 | } | 457 | } |
| 358 | // Caso a solicitação seja para a série da sequência | 458 | // Caso a solicitação seja para a série da sequência |
| 359 | else { | 459 | else { |
| 360 | $obj_sequencia = new clsPmieducarSequenciaSerie( | 460 | $obj_sequencia = new clsPmieducarSequenciaSerie( |
| 361 | - $det_matricula['ref_ref_cod_serie'], $this->ref_ref_cod_serie, | 461 | + $det_matricula['ref_ref_cod_serie'], $this->ref_cod_serie, |
| 362 | NULL, NULL, NULL, NULL, 1 | 462 | NULL, NULL, NULL, NULL, 1 |
| 363 | ); | 463 | ); |
| 364 | 464 | ||
| @@ -397,31 +497,8 @@ class indice extends clsCadastro | @@ -397,31 +497,8 @@ class indice extends clsCadastro | ||
| 397 | NULL, NULL, NULL, NULL, 1, NULL, NULL, $det_matricula['modulo'] | 497 | NULL, NULL, NULL, NULL, 1, NULL, NULL, $det_matricula['modulo'] |
| 398 | ); | 498 | ); |
| 399 | 499 | ||
| 400 | - $editou_mat = $obj_matricula->edita(); | ||
| 401 | - | ||
| 402 | - if ($editou_mat) { | ||
| 403 | - $obj_matricula_turma = new clsPmieducarMatriculaTurma(); | ||
| 404 | - $lst_matricula_turma = $obj_matricula_turma->lista( | ||
| 405 | - $matricula_saida, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1 | ||
| 406 | - ); | ||
| 407 | - | ||
| 408 | - if (is_array($lst_matricula_turma)) { | ||
| 409 | - $det_matricula_turma = array_shift($lst_matricula_turma); | ||
| 410 | - | ||
| 411 | - $obj_matricula_turma = new clsPmieducarMatriculaTurma( | ||
| 412 | - $matricula_saida, $det_matricula_turma['ref_cod_turma'], | ||
| 413 | - $this->pessoa_logada, NULL, NULL, NULL, 0, NULL, | ||
| 414 | - $det_matricula_turma['sequencial'] | ||
| 415 | - ); | ||
| 416 | - | ||
| 417 | - $editou_mat_turma = $obj_matricula_turma->edita(); | ||
| 418 | - | ||
| 419 | - if (! $editou_mat_turma) { | ||
| 420 | - $this->mensagem = 'Não foi possível editar a Matrícula Turma.<br />'; | ||
| 421 | - return FALSE; | ||
| 422 | - } | ||
| 423 | - } | ||
| 424 | - } | 500 | + if ($obj_matricula->edita() && ! $this->desativaEnturmacoesMatricula($matricula_saida)) |
| 501 | + return false; | ||
| 425 | } | 502 | } |
| 426 | 503 | ||
| 427 | $obj = new clsPmieducarMatricula( | 504 | $obj = new clsPmieducarMatricula( |
| @@ -442,22 +519,53 @@ class indice extends clsCadastro | @@ -442,22 +519,53 @@ class indice extends clsCadastro | ||
| 442 | } | 519 | } |
| 443 | } | 520 | } |
| 444 | } | 521 | } |
| 445 | - } | 522 | + //} |
| 446 | 523 | ||
| 524 | + #TODO set in $_SESSION['flash'] 'Aluno matriculado com sucesso' | ||
| 447 | $this->mensagem .= 'Cadastro efetuado com sucesso.<br />'; | 525 | $this->mensagem .= 'Cadastro efetuado com sucesso.<br />'; |
| 448 | - header('Location: educar_matricula_lst.php?ref_cod_aluno=' . $this->ref_cod_aluno); | ||
| 449 | - die(); | 526 | + header('Location: educar_aluno_det.php?cod_aluno=' . $this->ref_cod_aluno); |
| 527 | + #die(); | ||
| 528 | + #return true; | ||
| 450 | } | 529 | } |
| 451 | 530 | ||
| 452 | $this->mensagem = 'Cadastro não realizado.<br />'; | 531 | $this->mensagem = 'Cadastro não realizado.<br />'; |
| 453 | return FALSE; | 532 | return FALSE; |
| 454 | } | 533 | } |
| 455 | else { | 534 | else { |
| 456 | - $this->mensagem = 'Não foi possível encontrar o "Ano Letivo" em andamento da Escola.<br />'; | 535 | + $this->mensagem = 'O ano (letivo) selecionado não esta em andamento na escola selecionada.<br />'; |
| 457 | return FALSE; | 536 | return FALSE; |
| 458 | } | 537 | } |
| 459 | } | 538 | } |
| 460 | 539 | ||
| 540 | + | ||
| 541 | + function desativaEnturmacoesMatricula($matriculaId) { | ||
| 542 | + $result = true; | ||
| 543 | + | ||
| 544 | + $enturmacoes = new clsPmieducarMatriculaTurma(); | ||
| 545 | + $enturmacoes = $enturmacoes->lista($matriculaId, NULL, NULL, NULL, NULL, | ||
| 546 | + NULL, NULL, NULL, 1); | ||
| 547 | + | ||
| 548 | + if ($enturmacoes) { | ||
| 549 | + foreach ($enturmacoes as $enturmacao) { | ||
| 550 | + $enturmacao = new clsPmieducarMatriculaTurma($matriculaId, | ||
| 551 | + $enturmacao['ref_cod_turma'], | ||
| 552 | + $this->pessoa_logada, null, | ||
| 553 | + null, null, 0, null, | ||
| 554 | + $enturmacao['sequencial']); | ||
| 555 | + if ($result && ! $enturmacao->edita()) | ||
| 556 | + $result = false; | ||
| 557 | + } | ||
| 558 | + } | ||
| 559 | + | ||
| 560 | + if(! $result) { | ||
| 561 | + $this->mensagem = "Não foi possível desativar as " . | ||
| 562 | + "enturmações da matrícula."; | ||
| 563 | + } | ||
| 564 | + | ||
| 565 | + return $result; | ||
| 566 | + } | ||
| 567 | + | ||
| 568 | + | ||
| 461 | function Excluir() | 569 | function Excluir() |
| 462 | { | 570 | { |
| 463 | @session_start(); | 571 | @session_start(); |
| @@ -466,28 +574,10 @@ class indice extends clsCadastro | @@ -466,28 +574,10 @@ class indice extends clsCadastro | ||
| 466 | 574 | ||
| 467 | $obj_permissoes = new clsPermissoes(); | 575 | $obj_permissoes = new clsPermissoes(); |
| 468 | $obj_permissoes->permissao_excluir(578, $this->pessoa_logada, 7, | 576 | $obj_permissoes->permissao_excluir(578, $this->pessoa_logada, 7, |
| 469 | - 'educar_matricula_lst.php?ref_cod_aluno=' . $this->ref_cod_aluno); | 577 | + 'educar_aluno_det.php?cod_aluno=' . $this->ref_cod_aluno); |
| 470 | 578 | ||
| 471 | - $obj_matricula_turma = new clsPmieducarMatriculaTurma(); | ||
| 472 | - $lst_matricula_turma = $obj_matricula_turma->lista( | ||
| 473 | - $this->cod_matricula, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1 | ||
| 474 | - ); | ||
| 475 | - | ||
| 476 | - if (is_array($lst_matricula_turma)) { | ||
| 477 | - $det_matricula_turma = array_shift($lst_matricula_turma); | ||
| 478 | - $obj_matricula_turma = new clsPmieducarMatriculaTurma( | ||
| 479 | - $det_matricula_turma['ref_cod_matricula'], | ||
| 480 | - $det_matricula_turma['ref_cod_turma'], $this->pessoa_logada, NULL, | ||
| 481 | - NULL, NULL, 0, NULL, $det_matricula_turma['sequencial'] | ||
| 482 | - ); | ||
| 483 | - | ||
| 484 | - $editou = $obj_matricula_turma->edita(); | ||
| 485 | - | ||
| 486 | - if (! $editou) { | ||
| 487 | - $this->mensagem = 'Edição não realizada.<br />'; | ||
| 488 | - return FALSE; | ||
| 489 | - } | ||
| 490 | - } | 579 | + if (! $this->desativaEnturmacoesMatricula($this->cod_matricula)) |
| 580 | + return false; | ||
| 491 | 581 | ||
| 492 | $obj_matricula = new clsPmieducarMatricula( $this->cod_matricula ); | 582 | $obj_matricula = new clsPmieducarMatricula( $this->cod_matricula ); |
| 493 | $det_matricula = $obj_matricula->detalhe(); | 583 | $det_matricula = $obj_matricula->detalhe(); |
| @@ -536,13 +626,32 @@ class indice extends clsCadastro | @@ -536,13 +626,32 @@ class indice extends clsCadastro | ||
| 536 | 626 | ||
| 537 | if ($excluiu) { | 627 | if ($excluiu) { |
| 538 | $this->mensagem .= 'Exclusão efetuada com sucesso.<br />'; | 628 | $this->mensagem .= 'Exclusão efetuada com sucesso.<br />'; |
| 539 | - header('Location: educar_matricula_lst.php?ref_cod_aluno=' . $this->ref_cod_aluno); | 629 | + header('Location: educar_aluno_det.php?cod_aluno=' . $this->ref_cod_aluno); |
| 540 | die(); | 630 | die(); |
| 541 | } | 631 | } |
| 542 | 632 | ||
| 543 | $this->mensagem = 'Exclusão não realizada.<br />'; | 633 | $this->mensagem = 'Exclusão não realizada.<br />'; |
| 544 | return FALSE; | 634 | return FALSE; |
| 545 | } | 635 | } |
| 636 | + | ||
| 637 | + protected function removerFlagUltimaMatricula($alunoId) { | ||
| 638 | + $matriculas = new clsPmieducarMatricula(); | ||
| 639 | + $matriculas = $matriculas->lista(NULL, NULL, NULL, NULL, NULL, NULL, $this->ref_cod_aluno, | ||
| 640 | + NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, NULL, 1); | ||
| 641 | + | ||
| 642 | + | ||
| 643 | + foreach ($matriculas as $matricula) { | ||
| 644 | + $matricula = new clsPmieducarMatricula($matricula['cod_matricula'], NULL, NULL, NULL, | ||
| 645 | + $this->pessoa_logada, NULL, $alunoId, NULL, NULL, | ||
| 646 | + NULL, 1, NULL, 0); | ||
| 647 | + if (! $matricula->edita()) { | ||
| 648 | + $this->mensagem = 'Erro ao remover flag ultima matricula das matriculas anteriores.'; | ||
| 649 | + return false; | ||
| 650 | + } | ||
| 651 | + } | ||
| 652 | + | ||
| 653 | + return true; | ||
| 654 | + } | ||
| 546 | } | 655 | } |
| 547 | 656 | ||
| 548 | // Instancia objeto de página | 657 | // Instancia objeto de página |
| @@ -557,122 +666,3 @@ $pagina->addForm($miolo); | @@ -557,122 +666,3 @@ $pagina->addForm($miolo); | ||
| 557 | // Gera o código HTML | 666 | // Gera o código HTML |
| 558 | $pagina->MakeAll(); | 667 | $pagina->MakeAll(); |
| 559 | ?> | 668 | ?> |
| 560 | -<script type="text/javascript"> | ||
| 561 | -function getCursoMatricula() | ||
| 562 | -{ | ||
| 563 | - var campoInstituicao = document.getElementById('ref_cod_instituicao').value; | ||
| 564 | - var cod_aluno = <?php print $_GET['ref_cod_aluno'] ?>; | ||
| 565 | - var campoCurso = document.getElementById('ref_cod_curso'); | ||
| 566 | - | ||
| 567 | - campoCurso.length = 1; | ||
| 568 | - campoCurso.disabled = true; | ||
| 569 | - campoCurso.options[0].text = 'Carregando curso'; | ||
| 570 | - | ||
| 571 | - var xml_curso_matricula = new ajax(atualizaCursoMatricula); | ||
| 572 | - | ||
| 573 | - var url = 'educar_curso_matricula_xml.php?ins=' + campoInstituicao + '&alu=' + cod_aluno; | ||
| 574 | - xml_curso_matricula.envia(url); | ||
| 575 | -} | ||
| 576 | - | ||
| 577 | -function atualizaCursoMatricula(xml_curso_matricula) | ||
| 578 | -{ | ||
| 579 | - var campoCurso = document.getElementById('ref_cod_curso'); | ||
| 580 | - var DOM_array = xml_curso_matricula.getElementsByTagName('curso'); | ||
| 581 | - | ||
| 582 | - if (DOM_array.length) { | ||
| 583 | - campoCurso.length = 1; | ||
| 584 | - campoCurso.options[0].text = 'Selecione um curso'; | ||
| 585 | - campoCurso.disabled = false; | ||
| 586 | - | ||
| 587 | - for (var i = 0; i < DOM_array.length; i++) { | ||
| 588 | - campoCurso.options[campoCurso.options.length] = new Option( | ||
| 589 | - DOM_array[i].firstChild.data, DOM_array[i].getAttribute('cod_curso'), | ||
| 590 | - false, false | ||
| 591 | - ); | ||
| 592 | - } | ||
| 593 | - } | ||
| 594 | - else { | ||
| 595 | - campoCurso.options[0].text = 'A instituição não possui nenhum curso'; | ||
| 596 | - } | ||
| 597 | -} | ||
| 598 | - | ||
| 599 | -function getSerieMatricula() | ||
| 600 | -{ | ||
| 601 | - var campoInstituicao = document.getElementById('ref_cod_instituicao').value; | ||
| 602 | - var campoEscola = document.getElementById('ref_cod_escola').value; | ||
| 603 | - var campoCurso = document.getElementById('ref_cod_curso').value; | ||
| 604 | - var cod_aluno = <?php print $_GET['ref_cod_aluno'] ?>; | ||
| 605 | - var campoSerie = document.getElementById('ref_ref_cod_serie'); | ||
| 606 | - | ||
| 607 | - campoSerie.length = 1; | ||
| 608 | - campoSerie.disabled = true; | ||
| 609 | - campoSerie.options[0].text = 'Carregando série'; | ||
| 610 | - | ||
| 611 | - var xml_serie_matricula = new ajax(atualizaSerieMatricula); | ||
| 612 | - | ||
| 613 | - var url = 'educar_serie_matricula_xml.php?ins=' + campoInstituicao + '&cur=' + campoCurso | ||
| 614 | - + '&esc=' + campoEscola + '&alu=' + cod_aluno; | ||
| 615 | - | ||
| 616 | - xml_serie_matricula.envia(url); | ||
| 617 | -} | ||
| 618 | - | ||
| 619 | -function atualizaSerieMatricula(xml_serie_matricula) | ||
| 620 | -{ | ||
| 621 | - var campoSerie = document.getElementById('ref_ref_cod_serie'); | ||
| 622 | - var DOM_array = xml_serie_matricula.getElementsByTagName('serie'); | ||
| 623 | - | ||
| 624 | - if (DOM_array.length) { | ||
| 625 | - campoSerie.length = 1; | ||
| 626 | - campoSerie.options[0].text = 'Selecione uma série'; | ||
| 627 | - campoSerie.disabled = false; | ||
| 628 | - | ||
| 629 | - var series = new Array(); | ||
| 630 | - | ||
| 631 | - for (var i = 0; i < DOM_array.length; i++) { | ||
| 632 | - if (! series[DOM_array[i].getAttribute('cod_serie') + '_']) { | ||
| 633 | - campoSerie.options[campoSerie.options.length] = new Option( | ||
| 634 | - DOM_array[i].firstChild.data, DOM_array[i].getAttribute('cod_serie'), | ||
| 635 | - false, false | ||
| 636 | - ); | ||
| 637 | - | ||
| 638 | - series[DOM_array[i].getAttribute('cod_serie') + '_'] = true; | ||
| 639 | - } | ||
| 640 | - } | ||
| 641 | - } | ||
| 642 | - else { | ||
| 643 | - campoSerie.options[0].text = 'A escola/curso não possui nenhuma série'; | ||
| 644 | - } | ||
| 645 | -} | ||
| 646 | - | ||
| 647 | -document.getElementById('ref_cod_escola').onchange = function() | ||
| 648 | -{ | ||
| 649 | - if (document.getElementById('ref_cod_escola').value == '') { | ||
| 650 | - getCursoMatricula(); | ||
| 651 | - } | ||
| 652 | - else { | ||
| 653 | - getEscolaCurso(); | ||
| 654 | - } | ||
| 655 | -} | ||
| 656 | - | ||
| 657 | -document.getElementById('ref_cod_curso').onchange = function() | ||
| 658 | -{ | ||
| 659 | - getSerieMatricula(); | ||
| 660 | -} | ||
| 661 | - | ||
| 662 | -function valida() | ||
| 663 | -{ | ||
| 664 | - if (document.getElementById('ref_cod_escola').value) { | ||
| 665 | - if (!document.getElementById('ref_ref_cod_serie').value) { | ||
| 666 | - alert('O campo "Série" deve ser preenchido corretamente!'); | ||
| 667 | - document.getElementById('ref_ref_cod_serie').focus(); | ||
| 668 | - return false; | ||
| 669 | - } | ||
| 670 | - } | ||
| 671 | - | ||
| 672 | - if (! acao()) { | ||
| 673 | - return false; | ||
| 674 | - } | ||
| 675 | - | ||
| 676 | - document.forms[0].submit(); | ||
| 677 | -} | ||
| 678 | -</script> | ||
| 679 | \ No newline at end of file | 669 | \ No newline at end of file |
ieducar/intranet/educar_matricula_det.php
| @@ -97,7 +97,7 @@ class indice extends clsDetalhe | @@ -97,7 +97,7 @@ class indice extends clsDetalhe | ||
| 97 | } | 97 | } |
| 98 | 98 | ||
| 99 | if (! $registro) { | 99 | if (! $registro) { |
| 100 | - header("Location: educar_matricula_lst.php?ref_cod_aluno=" . $registro['ref_cod_aluno']); | 100 | + header("Location: educar_aluno_det.php?cod_aluno=" . $registro['ref_cod_aluno']); |
| 101 | die(); | 101 | die(); |
| 102 | } | 102 | } |
| 103 | 103 | ||
| @@ -131,18 +131,6 @@ class indice extends clsDetalhe | @@ -131,18 +131,6 @@ class indice extends clsDetalhe | ||
| 131 | $nm_aluno = $det_aluno['nome_aluno']; | 131 | $nm_aluno = $det_aluno['nome_aluno']; |
| 132 | } | 132 | } |
| 133 | 133 | ||
| 134 | - // Nome da turma | ||
| 135 | - $obj_mat_turma = new clsPmieducarMatriculaTurma(); | ||
| 136 | - $det_mat_turma = $obj_mat_turma->lista($this->ref_cod_matricula, NULL, NULL, | ||
| 137 | - NULL, NULL, NULL, NULL, NULL, 1); | ||
| 138 | - | ||
| 139 | - if ($det_mat_turma){ | ||
| 140 | - $det_mat_turma = array_shift($det_mat_turma); | ||
| 141 | - $obj_turma = new clsPmieducarTurma($det_mat_turma['ref_cod_turma']); | ||
| 142 | - $det_turma = $obj_turma->detalhe(); | ||
| 143 | - $nm_turma = $det_turma['nm_turma']; | ||
| 144 | - } | ||
| 145 | - | ||
| 146 | if ($registro['cod_matricula']) { | 134 | if ($registro['cod_matricula']) { |
| 147 | $this->addDetalhe(array('Número Matrícula', $registro['cod_matricula'])); | 135 | $this->addDetalhe(array('Número Matrícula', $registro['cod_matricula'])); |
| 148 | } | 136 | } |
| @@ -167,9 +155,23 @@ class indice extends clsDetalhe | @@ -167,9 +155,23 @@ class indice extends clsDetalhe | ||
| 167 | $this->addDetalhe(array('Série', $registro['ref_ref_cod_serie'])); | 155 | $this->addDetalhe(array('Série', $registro['ref_ref_cod_serie'])); |
| 168 | } | 156 | } |
| 169 | 157 | ||
| 170 | - if ($nm_turma) { | ||
| 171 | - $this->addDetalhe(array('Turma', $nm_turma)); | 158 | + // Nome da turma |
| 159 | + $enturmacoes = new clsPmieducarMatriculaTurma(); | ||
| 160 | + $enturmacoes = $enturmacoes->lista($this->ref_cod_matricula, NULL, NULL, | ||
| 161 | + NULL, NULL, NULL, NULL, NULL, 1); | ||
| 162 | + | ||
| 163 | + $nomesTurmas = array(); | ||
| 164 | + foreach ($enturmacoes as $enturmacao) { | ||
| 165 | + $turma = new clsPmieducarTurma($enturmacao['ref_cod_turma']); | ||
| 166 | + $turma = $turma->detalhe(); | ||
| 167 | + $nomesTurmas[] = $turma['nm_turma']; | ||
| 172 | } | 168 | } |
| 169 | + $nomesTurmas = implode('<br />', $nomesTurmas); | ||
| 170 | + | ||
| 171 | + if ($nomesTurmas) | ||
| 172 | + $this->addDetalhe(array('Turma', $nomesTurmas)); | ||
| 173 | + else | ||
| 174 | + $this->addDetalhe(array('Turma', '')); | ||
| 173 | 175 | ||
| 174 | if ($registro['ref_cod_reserva_vaga']) { | 176 | if ($registro['ref_cod_reserva_vaga']) { |
| 175 | $this->addDetalhe(array('Número Reserva Vaga', $registro['ref_cod_reserva_vaga'])); | 177 | $this->addDetalhe(array('Número Reserva Vaga', $registro['ref_cod_reserva_vaga'])); |
| @@ -250,7 +252,7 @@ class indice extends clsDetalhe | @@ -250,7 +252,7 @@ class indice extends clsDetalhe | ||
| 250 | 252 | ||
| 251 | if ($registro['aprovado'] != 4 && $registro['aprovado'] != 6) { | 253 | if ($registro['aprovado'] != 4 && $registro['aprovado'] != 6) { |
| 252 | if (is_array($lst_transferencia) && !isset($data_transferencia)) { | 254 | if (is_array($lst_transferencia) && !isset($data_transferencia)) { |
| 253 | - $this->array_botao[] = 'Cancelar Solicitação Transferência'; | 255 | + $this->array_botao[] = 'Cancelar Solicitação Transferência (escola do sistema)'; |
| 254 | $this->array_botao_url_script[] = "go(\"educar_transferencia_solicitacao_cad.php?ref_cod_matricula={$registro['cod_matricula']}&ref_cod_aluno={$registro['ref_cod_aluno']}&cancela=true\")"; | 256 | $this->array_botao_url_script[] = "go(\"educar_transferencia_solicitacao_cad.php?ref_cod_matricula={$registro['cod_matricula']}&ref_cod_aluno={$registro['ref_cod_aluno']}&cancela=true\")"; |
| 255 | } | 257 | } |
| 256 | else { | 258 | else { |
| @@ -274,15 +276,34 @@ class indice extends clsDetalhe | @@ -274,15 +276,34 @@ class indice extends clsDetalhe | ||
| 274 | } | 276 | } |
| 275 | } | 277 | } |
| 276 | 278 | ||
| 279 | + if($registro['aprovado'] == 4 && | ||
| 280 | + $this->canCancelTransferenciaExterna($registro['cod_matricula'], $registro['ref_cod_aluno'])) { | ||
| 281 | + $this->array_botao[] = 'Cancelar transferência (escola externa)'; | ||
| 282 | + | ||
| 283 | + | ||
| 284 | + # TODO ver se código, seta matricula como em andamento, ativa ultima matricula_turma for matricula, e desativa transferencia solicitacao | ||
| 285 | + $this->array_botao_url_script[] = "go(\"educar_transferencia_solicitacao_cad.php?ref_cod_matricula={$registro['cod_matricula']}&ref_cod_aluno={$registro['ref_cod_aluno']}&cancela=true&reabrir_matricula=true\")"; | ||
| 286 | + } | ||
| 287 | + | ||
| 277 | if ($registro['aprovado'] == 4 || $det_transferencia) { | 288 | if ($registro['aprovado'] == 4 || $det_transferencia) { |
| 278 | $this->array_botao[] = 'Imprimir Atestado Frequência'; | 289 | $this->array_botao[] = 'Imprimir Atestado Frequência'; |
| 279 | $this->array_botao_url_script[] = "showExpansivelImprimir(400, 200, \"educar_relatorio_atestado_frequencia.php?cod_matricula={$registro['cod_matricula']}\",[], \"Relatório Atestado de Freqüência\")"; | 290 | $this->array_botao_url_script[] = "showExpansivelImprimir(400, 200, \"educar_relatorio_atestado_frequencia.php?cod_matricula={$registro['cod_matricula']}\",[], \"Relatório Atestado de Freqüência\")"; |
| 280 | } | 291 | } |
| 281 | } | 292 | } |
| 282 | 293 | ||
| 283 | - $this->url_cancelar = 'educar_matricula_lst.php?ref_cod_aluno=' . $registro['ref_cod_aluno']; | 294 | + $this->url_cancelar = 'educar_aluno_det.php?cod_aluno=' . $registro['ref_cod_aluno']; |
| 284 | $this->largura = '100%'; | 295 | $this->largura = '100%'; |
| 285 | } | 296 | } |
| 297 | + | ||
| 298 | + | ||
| 299 | + function canCancelTransferenciaExterna($matriculaId, $alunoId) { | ||
| 300 | + $sql = "select 1 from pmieducar.matricula where ativo = 1 and cod_matricula > $matriculaId and ref_cod_aluno = $alunoId limit 1"; | ||
| 301 | + | ||
| 302 | + $db = new clsBanco(); | ||
| 303 | + $existeNovaMatricula = $db->CampoUnico($sql) == '1'; | ||
| 304 | + | ||
| 305 | + return ! $existeNovaMatricula; | ||
| 306 | + } | ||
| 286 | } | 307 | } |
| 287 | 308 | ||
| 288 | // Instancia objeto de página | 309 | // Instancia objeto de página |
| @@ -295,4 +316,4 @@ $miolo = new indice(); | @@ -295,4 +316,4 @@ $miolo = new indice(); | ||
| 295 | $pagina->addForm($miolo); | 316 | $pagina->addForm($miolo); |
| 296 | 317 | ||
| 297 | // Gera o código HTML | 318 | // Gera o código HTML |
| 298 | -$pagina->MakeAll(); | ||
| 299 | \ No newline at end of file | 319 | \ No newline at end of file |
| 320 | +$pagina->MakeAll(); |
ieducar/intranet/educar_matricula_lst.php
| @@ -107,6 +107,10 @@ class indice extends clsListagem | @@ -107,6 +107,10 @@ class indice extends clsListagem | ||
| 107 | $this->addBanner( "imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet" ); | 107 | $this->addBanner( "imagens/nvp_top_intranet.jpg", "imagens/nvp_vert_intranet.jpg", "Intranet" ); |
| 108 | 108 | ||
| 109 | $lista_busca = array( | 109 | $lista_busca = array( |
| 110 | + "Ano", | ||
| 111 | + "Matrícula", | ||
| 112 | + "Situação", | ||
| 113 | + "Turma", | ||
| 110 | "Série", | 114 | "Série", |
| 111 | "Curso" | 115 | "Curso" |
| 112 | ); | 116 | ); |
| @@ -139,7 +143,7 @@ class indice extends clsListagem | @@ -139,7 +143,7 @@ class indice extends clsListagem | ||
| 139 | $this->offset = ( $_GET["pagina_{$this->nome}"] ) ? $_GET["pagina_{$this->nome}"]*$this->limite-$this->limite: 0; | 143 | $this->offset = ( $_GET["pagina_{$this->nome}"] ) ? $_GET["pagina_{$this->nome}"]*$this->limite-$this->limite: 0; |
| 140 | 144 | ||
| 141 | $obj_matricula = new clsPmieducarMatricula(); | 145 | $obj_matricula = new clsPmieducarMatricula(); |
| 142 | - $obj_matricula->setOrderby( "cod_matricula ASC" ); | 146 | + $obj_matricula->setOrderby('ano DESC, ref_ref_cod_serie DESC, aprovado, cod_matricula'); |
| 143 | $obj_matricula->setLimite( $this->limite, $this->offset ); | 147 | $obj_matricula->setLimite( $this->limite, $this->offset ); |
| 144 | 148 | ||
| 145 | $lista = $obj_matricula->lista( | 149 | $lista = $obj_matricula->lista( |
| @@ -214,8 +218,43 @@ class indice extends clsListagem | @@ -214,8 +218,43 @@ class indice extends clsListagem | ||
| 214 | echo "<!--\nErro\nClasse não existente: clsPmieducarEscola\n-->"; | 218 | echo "<!--\nErro\nClasse não existente: clsPmieducarEscola\n-->"; |
| 215 | } | 219 | } |
| 216 | 220 | ||
| 221 | + $enturmacoes = new clsPmieducarMatriculaTurma(); | ||
| 222 | + $enturmacoes = $enturmacoes->lista($registro['cod_matricula'], NULL, NULL, | ||
| 223 | + NULL, NULL, NULL, NULL, NULL, 1); | ||
| 224 | + $nomesTurmas = array(); | ||
| 225 | + foreach ($enturmacoes as $enturmacao) { | ||
| 226 | + $turma = new clsPmieducarTurma($enturmacao['ref_cod_turma']); | ||
| 227 | + $turma = $turma->detalhe(); | ||
| 228 | + $nomesTurmas[] = $turma['nm_turma']; | ||
| 229 | + } | ||
| 230 | + $nomesTurmas = implode('<br />', $nomesTurmas); | ||
| 231 | + | ||
| 232 | + $situacao = $registro['aprovado']; | ||
| 233 | + if ($situacao == 1) | ||
| 234 | + $situacao = 'Aprovado'; | ||
| 235 | + elseif ($situacao == 2) | ||
| 236 | + $situacao = 'Reprovado'; | ||
| 237 | + elseif ($situacao == 3) | ||
| 238 | + $situacao = 'Em Andamento'; | ||
| 239 | + elseif ($situacao == 4) | ||
| 240 | + $situacao = 'Transferido'; | ||
| 241 | + elseif ($situacao == 5) | ||
| 242 | + $situacao = 'Reclassificado'; | ||
| 243 | + elseif ($situacao == 6) | ||
| 244 | + $situacao = 'Abandono'; | ||
| 245 | + | ||
| 217 | $lista_busca = array(); | 246 | $lista_busca = array(); |
| 218 | 247 | ||
| 248 | + $lista_busca[] = "<a href=\"educar_matricula_det.php?cod_matricula={$registro["cod_matricula"]}\">{$registro["ano"]}</a>"; | ||
| 249 | + $lista_busca[] = "<a href=\"educar_matricula_det.php?cod_matricula={$registro["cod_matricula"]}\">{$registro["cod_matricula"]}</a>"; | ||
| 250 | + $lista_busca[] = "<a href=\"educar_matricula_det.php?cod_matricula={$registro["cod_matricula"]}\">$situacao</a>"; | ||
| 251 | + | ||
| 252 | + if ($nomesTurmas) { | ||
| 253 | + $lista_busca[] = "<a href=\"educar_matricula_det.php?cod_matricula={$registro["cod_matricula"]}\">$nomesTurmas</a>"; | ||
| 254 | + } | ||
| 255 | + else | ||
| 256 | + $lista_busca[] = ""; | ||
| 257 | + | ||
| 219 | if ($registro["ref_ref_cod_serie"]) | 258 | if ($registro["ref_ref_cod_serie"]) |
| 220 | $lista_busca[] = "<a href=\"educar_matricula_det.php?cod_matricula={$registro["cod_matricula"]}\">{$registro["ref_ref_cod_serie"]}</a>"; | 259 | $lista_busca[] = "<a href=\"educar_matricula_det.php?cod_matricula={$registro["cod_matricula"]}\">{$registro["ref_ref_cod_serie"]}</a>"; |
| 221 | else | 260 | else |
| @@ -246,6 +285,11 @@ class indice extends clsListagem | @@ -246,6 +285,11 @@ class indice extends clsListagem | ||
| 246 | $this->addLinhas($lista_busca); | 285 | $this->addLinhas($lista_busca); |
| 247 | } | 286 | } |
| 248 | } | 287 | } |
| 288 | + else | ||
| 289 | + { | ||
| 290 | + $this->addLinhas(array('Aluno sem matrículas em andamento na sua escola.')); | ||
| 291 | + } | ||
| 292 | + | ||
| 249 | $this->addPaginador2( "educar_matricula_lst.php", $total, $_GET, $this->nome, $this->limite ); | 293 | $this->addPaginador2( "educar_matricula_lst.php", $total, $_GET, $this->nome, $this->limite ); |
| 250 | if( $obj_permissoes->permissao_cadastra( 578, $this->pessoa_logada, 7 ) ) | 294 | if( $obj_permissoes->permissao_cadastra( 578, $this->pessoa_logada, 7 ) ) |
| 251 | { | 295 | { |
| @@ -279,4 +323,4 @@ document.getElementById('ref_cod_curso').onchange = function() | @@ -279,4 +323,4 @@ document.getElementById('ref_cod_curso').onchange = function() | ||
| 279 | getEscolaCursoSerie(); | 323 | getEscolaCursoSerie(); |
| 280 | } | 324 | } |
| 281 | 325 | ||
| 282 | -</script> | ||
| 283 | \ No newline at end of file | 326 | \ No newline at end of file |
| 327 | +</script> |
ieducar/intranet/educar_matricula_turma_cad.php
| @@ -32,6 +32,7 @@ require_once 'include/clsBase.inc.php'; | @@ -32,6 +32,7 @@ require_once 'include/clsBase.inc.php'; | ||
| 32 | require_once 'include/clsCadastro.inc.php'; | 32 | require_once 'include/clsCadastro.inc.php'; |
| 33 | require_once 'include/clsBanco.inc.php'; | 33 | require_once 'include/clsBanco.inc.php'; |
| 34 | require_once 'include/pmieducar/geral.inc.php'; | 34 | require_once 'include/pmieducar/geral.inc.php'; |
| 35 | +require_once 'include/pmieducar/clsPmieducarMatricula.inc.php'; | ||
| 35 | 36 | ||
| 36 | /** | 37 | /** |
| 37 | * clsIndexBase class. | 38 | * clsIndexBase class. |
| @@ -87,7 +88,7 @@ class indice extends clsCadastro | @@ -87,7 +88,7 @@ class indice extends clsCadastro | ||
| 87 | $this->pessoa_logada = $_SESSION['id_pessoa']; | 88 | $this->pessoa_logada = $_SESSION['id_pessoa']; |
| 88 | @session_write_close(); | 89 | @session_write_close(); |
| 89 | 90 | ||
| 90 | - if (!$_POST) { | 91 | + if (! $_POST) { |
| 91 | header('Location: educar_matricula_lst.php'); | 92 | header('Location: educar_matricula_lst.php'); |
| 92 | die; | 93 | die; |
| 93 | } | 94 | } |
| @@ -99,59 +100,92 @@ class indice extends clsCadastro | @@ -99,59 +100,92 @@ class indice extends clsCadastro | ||
| 99 | $obj_permissoes = new clsPermissoes(); | 100 | $obj_permissoes = new clsPermissoes(); |
| 100 | $obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7, 'educar_matricula_lst.php'); | 101 | $obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7, 'educar_matricula_lst.php'); |
| 101 | 102 | ||
| 103 | + //nova lógica | ||
| 102 | if (is_numeric($this->ref_cod_matricula)) { | 104 | if (is_numeric($this->ref_cod_matricula)) { |
| 103 | - if (is_numeric($this->ref_cod_turma_origem)) { | ||
| 104 | - $obj_matricula_turma = new clsPmieducarMatriculaTurma(); | ||
| 105 | - $lst_matricula_turma = $obj_matricula_turma->lista($this->ref_cod_matricula, | ||
| 106 | - NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1); | ||
| 107 | - | ||
| 108 | - if ($lst_matricula_turma) { | ||
| 109 | - foreach ($lst_matricula_turma as $matricula) { | ||
| 110 | - $obj = new clsPmieducarMatriculaTurma($this->ref_cod_matricula, | ||
| 111 | - $matricula['ref_cod_turma'], $this->pessoa_logada, NULL, NULL, | ||
| 112 | - NULL, 0, NULL, $matricula['sequencial']); | ||
| 113 | - | ||
| 114 | - $registro = $obj->detalhe(); | ||
| 115 | - if ($registro) { | ||
| 116 | - if (!$obj->edita()) { | ||
| 117 | - echo "erro ao cadastrar"; | ||
| 118 | - die; | ||
| 119 | - } | ||
| 120 | - } | ||
| 121 | - } | ||
| 122 | - } | ||
| 123 | - | ||
| 124 | - $obj = new clsPmieducarMatriculaTurma($this->ref_cod_matricula, | ||
| 125 | - $this->ref_cod_turma_destino, $this->pessoa_logada, $this->pessoa_logada, | ||
| 126 | - NULL, NULL, 1); | ||
| 127 | - | ||
| 128 | - $cadastrou = $obj->cadastra(); | ||
| 129 | - | ||
| 130 | - if ($cadastrou) { | ||
| 131 | - $this->mensagem .= 'Cadastro efetuado com sucesso.<br>'; | ||
| 132 | - header('Location: educar_matricula_det.php?cod_matricula=' . $this->ref_cod_matricula); | ||
| 133 | - die(); | ||
| 134 | - } | ||
| 135 | - } | 105 | + |
| 106 | + if ($this->ref_cod_turma_origem == 'remover-enturmacao-destino') | ||
| 107 | + $this->removerEnturmacao($this->ref_cod_matricula, $this->ref_cod_turma_destino); | ||
| 108 | + elseif (! is_numeric($this->ref_cod_turma_origem)) | ||
| 109 | + $this->novaEnturmacao($this->ref_cod_matricula, $this->ref_cod_turma_destino); | ||
| 136 | else { | 110 | else { |
| 137 | - $obj = new clsPmieducarMatriculaTurma($this->ref_cod_matricula, | ||
| 138 | - $this->ref_cod_turma_destino, $this->pessoa_logada, $this->pessoa_logada, | ||
| 139 | - NULL, NULL, 1); | 111 | + $this->transferirEnturmacao($this->ref_cod_matricula, |
| 112 | + $this->ref_cod_turma_origem, | ||
| 113 | + $this->ref_cod_turma_destino); | ||
| 114 | + } | ||
| 140 | 115 | ||
| 141 | - $cadastrou = $obj->cadastra(); | 116 | + header('Location: educar_matricula_det.php?cod_matricula=' . $this->ref_cod_matricula); |
| 117 | + die(); | ||
| 118 | + } | ||
| 119 | + else { | ||
| 120 | + header('Location: /intranet/educar_aluno_lst.php'); | ||
| 121 | + die(); | ||
| 122 | + } | ||
| 123 | + } | ||
| 142 | 124 | ||
| 143 | - if ($cadastrou) { | ||
| 144 | - $this->mensagem .= 'Cadastro efetuado com sucesso.<br>'; | ||
| 145 | - header('Location: educar_matricula_det.php?cod_matricula=' . $this->ref_cod_matricula); | ||
| 146 | - die(); | ||
| 147 | - } | ||
| 148 | - } | 125 | + function novaEnturmacao($matriculaId, $turmaDestinoId) { |
| 126 | + | ||
| 127 | + $enturmacaoExists = new clsPmieducarMatriculaTurma(); | ||
| 128 | + $enturmacaoExists = $enturmacaoExists->lista($matriculaId, | ||
| 129 | + $turmaDestinoId, | ||
| 130 | + NULL, | ||
| 131 | + NULL, | ||
| 132 | + NULL, | ||
| 133 | + NULL, | ||
| 134 | + NULL, | ||
| 135 | + NULL, | ||
| 136 | + 1); | ||
| 137 | + | ||
| 138 | + $enturmacaoExists = is_array($enturmacaoExists) && count($enturmacaoExists) > 0; | ||
| 139 | + if (! $enturmacaoExists) { | ||
| 140 | + $enturmacao = new clsPmieducarMatriculaTurma($matriculaId, | ||
| 141 | + $turmaDestinoId, | ||
| 142 | + $this->pessoa_logada, | ||
| 143 | + $this->pessoa_logada, | ||
| 144 | + NULL, | ||
| 145 | + NULL, | ||
| 146 | + 1); | ||
| 147 | + return $enturmacao->cadastra(); | ||
| 149 | } | 148 | } |
| 149 | + return false; | ||
| 150 | + } | ||
| 150 | 151 | ||
| 151 | - header('Location: educar_matricula_lst.php'); | ||
| 152 | - die; | 152 | + |
| 153 | + function transferirEnturmacao($matriculaId, $turmaOrigemId, $turmaDestinoId) { | ||
| 154 | + if($this->removerEnturmacao($matriculaId, $turmaOrigemId)) | ||
| 155 | + return $this->novaEnturmacao($matriculaId, $turmaDestinoId); | ||
| 156 | + return false; | ||
| 153 | } | 157 | } |
| 154 | 158 | ||
| 159 | + | ||
| 160 | + function removerEnturmacao($matriculaId, $turmaId) { | ||
| 161 | + $sequencialEnturmacao = $this->getSequencialEnturmacaoByTurmaId($matriculaId, $turmaId); | ||
| 162 | + $enturmacao = new clsPmieducarMatriculaTurma($matriculaId, | ||
| 163 | + $turmaId, | ||
| 164 | + $this->pessoa_logada, | ||
| 165 | + NULL, | ||
| 166 | + NULL, | ||
| 167 | + NULL, | ||
| 168 | + 0, | ||
| 169 | + NULL, | ||
| 170 | + $sequencialEnturmacao); | ||
| 171 | + | ||
| 172 | + return $enturmacao->edita(); | ||
| 173 | + } | ||
| 174 | + | ||
| 175 | + | ||
| 176 | + function getSequencialEnturmacaoByTurmaId($matriculaId, $turmaId) { | ||
| 177 | + $db = new clsBanco(); | ||
| 178 | + $sql = 'select coalesce(max(sequencial), 1) from pmieducar.matricula_turma where ativo = 1 and ref_cod_matricula = $1 and ref_cod_turma = $2'; | ||
| 179 | + | ||
| 180 | + if ($db->execPreparedQuery($sql, array($matriculaId, $turmaId)) != false) { | ||
| 181 | + $db->ProximoRegistro(); | ||
| 182 | + $sequencial = $db->Tupla(); | ||
| 183 | + return $sequencial[0]; | ||
| 184 | + } | ||
| 185 | + return 1; | ||
| 186 | + } | ||
| 187 | + | ||
| 188 | + | ||
| 155 | function Gerar() | 189 | function Gerar() |
| 156 | { | 190 | { |
| 157 | die; | 191 | die; |
| @@ -180,4 +214,4 @@ $miolo = new indice(); | @@ -180,4 +214,4 @@ $miolo = new indice(); | ||
| 180 | $pagina->addForm($miolo); | 214 | $pagina->addForm($miolo); |
| 181 | 215 | ||
| 182 | // Gera o código HTML | 216 | // Gera o código HTML |
| 183 | -$pagina->MakeAll(); | ||
| 184 | \ No newline at end of file | 217 | \ No newline at end of file |
| 218 | +$pagina->MakeAll(); |
ieducar/intranet/educar_matricula_turma_det.php
| @@ -94,6 +94,11 @@ class indice extends clsDetalhe | @@ -94,6 +94,11 @@ class indice extends clsDetalhe | ||
| 94 | $this->$key = $value; | 94 | $this->$key = $value; |
| 95 | } | 95 | } |
| 96 | 96 | ||
| 97 | + if (! $this->ref_cod_matricula) { | ||
| 98 | + header('Location: educar_matricula_lst.php'); | ||
| 99 | + die(); | ||
| 100 | + } | ||
| 101 | + | ||
| 97 | $obj_mat_turma = new clsPmieducarMatriculaTurma(); | 102 | $obj_mat_turma = new clsPmieducarMatriculaTurma(); |
| 98 | $det_mat_turma = $obj_mat_turma->lista($this->ref_cod_matricula, NULL, NULL, | 103 | $det_mat_turma = $obj_mat_turma->lista($this->ref_cod_matricula, NULL, NULL, |
| 99 | NULL, NULL, NULL, NULL, NULL, 1); | 104 | NULL, NULL, NULL, NULL, NULL, 1); |
| @@ -108,19 +113,27 @@ class indice extends clsDetalhe | @@ -108,19 +113,27 @@ class indice extends clsDetalhe | ||
| 108 | $this->sequencial = $det_mat_turma['sequencial']; | 113 | $this->sequencial = $det_mat_turma['sequencial']; |
| 109 | } | 114 | } |
| 110 | 115 | ||
| 111 | - $tmp_obj = new clsPmieducarMatriculaTurma( ); | ||
| 112 | - $lista = $tmp_obj->lista(NULL, $this->ref_cod_turma, NULL, NULL, NULL, NULL, | ||
| 113 | - NULL, NULL, 1); | 116 | + // #TODO adicionar ano da matricula atual |
| 117 | + #$tmp_obj = new clsPmieducarMatriculaTurma( ); | ||
| 118 | + #$lista = $tmp_obj->lista(NULL, $this->ref_cod_turma, NULL, NULL, NULL, NULL, | ||
| 119 | + # NULL, NULL, 1); | ||
| 114 | 120 | ||
| 115 | - $total_alunos = 0; | ||
| 116 | - if ($lista) { | ||
| 117 | - $total_alunos = count($lista); | ||
| 118 | - } | 121 | + #$total_alunos = 0; |
| 122 | + #if ($lista) { | ||
| 123 | + # $total_alunos = count($lista); | ||
| 124 | + #} | ||
| 119 | 125 | ||
| 120 | $tmp_obj = new clsPmieducarTurma(); | 126 | $tmp_obj = new clsPmieducarTurma(); |
| 121 | $lst_obj = $tmp_obj->lista($this->ref_cod_turma); | 127 | $lst_obj = $tmp_obj->lista($this->ref_cod_turma); |
| 122 | $registro = array_shift($lst_obj); | 128 | $registro = array_shift($lst_obj); |
| 123 | 129 | ||
| 130 | + $db = new clsBanco(); | ||
| 131 | + | ||
| 132 | + $ano = $db->CampoUnico("select ano from pmieducar.matricula where cod_matricula = $this->ref_cod_matricula"); | ||
| 133 | + $sql = "select count(cod_matricula) as qtd_matriculas from pmieducar.matricula, pmieducar.matricula_turma, pmieducar.aluno where aluno.cod_aluno = matricula.ref_cod_aluno and ano = {$ano} and aluno.ativo = 1 and matricula.ativo = 1 and matricula_turma.ativo = matricula.ativo and cod_matricula = ref_cod_matricula and ref_cod_turma = $this->ref_cod_turma"; | ||
| 134 | + | ||
| 135 | + $total_alunos = $db->CampoUnico($sql); | ||
| 136 | + | ||
| 124 | $this->ref_cod_curso = $registro['ref_cod_curso']; | 137 | $this->ref_cod_curso = $registro['ref_cod_curso']; |
| 125 | 138 | ||
| 126 | if (!$registro || !$_POST) { | 139 | if (!$registro || !$_POST) { |
| @@ -183,7 +196,42 @@ class indice extends clsDetalhe | @@ -183,7 +196,42 @@ class indice extends clsDetalhe | ||
| 183 | $this->addDetalhe(array('Série', $registro['ref_ref_cod_serie'])); | 196 | $this->addDetalhe(array('Série', $registro['ref_ref_cod_serie'])); |
| 184 | } | 197 | } |
| 185 | 198 | ||
| 186 | - $this->addDetalhe(array('Turma atual', $this->nm_turma)); | 199 | + //(enturmações) turma atual |
| 200 | + $enturmacoes = new clsPmieducarMatriculaTurma(); | ||
| 201 | + $enturmacoes = $enturmacoes->lista($this->ref_cod_matricula, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1); | ||
| 202 | + | ||
| 203 | + $this->possuiEnturmacao = ! empty($enturmacoes); | ||
| 204 | + $this->possuiEnturmacaoTurmaDestino = false; | ||
| 205 | + $this->turmaOrigemMesmaDestino = false; | ||
| 206 | + | ||
| 207 | + if ($this->possuiEnturmacao) { | ||
| 208 | + //se possui uma enturmacao mostra o nome, se mais de uma mostra select para selecionar | ||
| 209 | + if (count($enturmacoes) > 1) { | ||
| 210 | + $selectEnturmacoes = "<select id='ref_cod_turma_origem' class='obrigatorio'>"; | ||
| 211 | + $selectEnturmacoes .= "<option value=''>Selecione</option>"; | ||
| 212 | + | ||
| 213 | + foreach ($enturmacoes as $enturmacao) { | ||
| 214 | + if($enturmacao['ref_cod_turma'] != $this->ref_cod_turma) | ||
| 215 | + $selectEnturmacoes .= "<option value='{$enturmacao['ref_cod_turma']}'>{$enturmacao['nm_turma']}</option>"; | ||
| 216 | + elseif (! $this->possuiEnturmacaoTurmaDestino) | ||
| 217 | + $this->possuiEnturmacaoTurmaDestino = true; | ||
| 218 | + } | ||
| 219 | + $selectEnturmacoes .= "</select>"; | ||
| 220 | + } | ||
| 221 | + else { | ||
| 222 | + if ($enturmacoes[0]['ref_cod_turma'] == $this->ref_cod_turma) { | ||
| 223 | + $this->possuiEnturmacaoTurmaDestino = true; | ||
| 224 | + $this->turmaOrigemMesmaDestino = true; | ||
| 225 | + } | ||
| 226 | + | ||
| 227 | + $selectEnturmacoes = "<input id='ref_cod_turma_origem' type='hidden' value = '{$enturmacoes[0]['ref_cod_turma']}'/>{$enturmacoes[0]['nm_turma']}"; | ||
| 228 | + } | ||
| 229 | + | ||
| 230 | + $this->addDetalhe(array('Turma atual (origem)', $selectEnturmacoes)); | ||
| 231 | + } | ||
| 232 | + else | ||
| 233 | + $this->addDetalhe(array('Turma atual (origem)', 'Sem enturmações')); | ||
| 234 | + | ||
| 187 | 235 | ||
| 188 | if ($registro['nm_turma']) { | 236 | if ($registro['nm_turma']) { |
| 189 | $this->addDetalhe(array('Turma destino' , $registro['nm_turma'])); | 237 | $this->addDetalhe(array('Turma destino' , $registro['nm_turma'])); |
| @@ -213,30 +261,76 @@ class indice extends clsDetalhe | @@ -213,30 +261,76 @@ class indice extends clsDetalhe | ||
| 213 | )); | 261 | )); |
| 214 | 262 | ||
| 215 | if ($registro['max_aluno'] - $total_alunos <= 0) { | 263 | if ($registro['max_aluno'] - $total_alunos <= 0) { |
| 216 | - $msg = sprintf('Atenção! Turma sem vagas! Deseja continuar com a enturmação mesmo assim?'); | ||
| 217 | - $valida = sprintf('if (!confirm("%s")) return false;', $msg); | ||
| 218 | - } | ||
| 219 | - else { | ||
| 220 | - $valida = 'if (!confirm("Confirmar a enturmação?")) return false;'; | 264 | + |
| 265 | + $escolaSerie = $this->getEscolaSerie($det_ref_cod_escola['cod_escola'], $det_ser['cod_serie']); | ||
| 266 | + | ||
| 267 | + if($escolaSerie['bloquear_enturmacao_sem_vagas'] != 1) { | ||
| 268 | + $msg = sprintf('Atenção! Turma sem vagas! Deseja continuar com a enturmação mesmo assim?'); | ||
| 269 | + $jsEnturmacao = sprintf('if (!confirm("%s")) return false;', $msg); | ||
| 270 | + } | ||
| 271 | + else { | ||
| 272 | + $msg = sprintf('Enturmação não pode ser realizada,\n\no limite de vagas da turma já foi atingido e para esta série e escola foi definido bloqueio de enturmação após atingir tal limite.'); | ||
| 273 | + $jsEnturmacao = sprintf('alert("%s"); return false;', $msg); | ||
| 274 | + } | ||
| 221 | } | 275 | } |
| 276 | + else | ||
| 277 | + $jsEnturmacao = 'if (!confirm("Confirma a enturmação?")) return false;'; | ||
| 222 | 278 | ||
| 223 | $script = sprintf(' | 279 | $script = sprintf(' |
| 224 | <script type="text/javascript"> | 280 | <script type="text/javascript"> |
| 225 | - function enturmar(ref_cod_matricula, ref_cod_turma_destino){ | 281 | + |
| 282 | + function enturmar(ref_cod_matricula, ref_cod_turma_destino, tipo){ | ||
| 283 | + document.formcadastro.ref_cod_turma_origem.value = ""; | ||
| 284 | + | ||
| 285 | + if(tipo == "transferir") { | ||
| 286 | + var turmaOrigemId = document.getElementById("ref_cod_turma_origem"); | ||
| 287 | + if (turmaOrigemId && turmaOrigemId.value) | ||
| 288 | + document.formcadastro.ref_cod_turma_origem.value = turmaOrigemId.value; | ||
| 289 | + else { | ||
| 290 | + alert("Por favor selecione a turma atual (que será transferida)."); | ||
| 291 | + return false; | ||
| 292 | + } | ||
| 293 | + } | ||
| 294 | + | ||
| 226 | %s | 295 | %s |
| 296 | + | ||
| 297 | + document.formcadastro.ref_cod_matricula.value = ref_cod_matricula; | ||
| 298 | + document.formcadastro.ref_cod_turma_destino.value = ref_cod_turma_destino; | ||
| 299 | + document.formcadastro.submit(); | ||
| 300 | + } | ||
| 301 | + | ||
| 302 | + function removerEnturmacao(ref_cod_matricula, ref_cod_turma_destino) { | ||
| 303 | + | ||
| 304 | + if (! confirm("Tem certeza que deseja remover a enturmação (da turma destino)?")) | ||
| 305 | + return false; | ||
| 306 | + | ||
| 307 | + document.formcadastro.ref_cod_turma_origem.value = "remover-enturmacao-destino"; | ||
| 227 | document.formcadastro.ref_cod_matricula.value = ref_cod_matricula; | 308 | document.formcadastro.ref_cod_matricula.value = ref_cod_matricula; |
| 228 | document.formcadastro.ref_cod_turma_destino.value = ref_cod_turma_destino; | 309 | document.formcadastro.ref_cod_turma_destino.value = ref_cod_turma_destino; |
| 229 | document.formcadastro.submit(); | 310 | document.formcadastro.submit(); |
| 230 | } | 311 | } |
| 231 | - </script>', $valida); | 312 | + |
| 313 | + </script>', $jsEnturmacao); | ||
| 232 | 314 | ||
| 233 | print $script; | 315 | print $script; |
| 234 | 316 | ||
| 235 | $obj_permissoes = new clsPermissoes(); | 317 | $obj_permissoes = new clsPermissoes(); |
| 236 | - if ($obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7)) { | ||
| 237 | - $script = "enturmar({$this->ref_cod_matricula},{$this->ref_cod_turma})"; | ||
| 238 | - $this->array_botao = array('Transferir Aluno'); | ||
| 239 | - $this->array_botao_url_script = array($script); | 318 | + if (! $this->turmaOrigemMesmaDestino && $obj_permissoes->permissao_cadastra(578, $this->pessoa_logada, 7)) { |
| 319 | + | ||
| 320 | + if ($this->possuiEnturmacao) { | ||
| 321 | + //mover enturmação | ||
| 322 | + $this->array_botao = array('Transferir (turma atual) para turma destino'); | ||
| 323 | + $this->array_botao_url_script = array("enturmar({$this->ref_cod_matricula}, {$this->ref_cod_turma}, \"transferir\")"); | ||
| 324 | + } | ||
| 325 | + | ||
| 326 | + //nova enturmação | ||
| 327 | + $this->array_botao[] = 'Nova enturmação (na turma destino)'; | ||
| 328 | + $this->array_botao_url_script[] = "enturmar({$this->ref_cod_matricula}, {$this->ref_cod_turma}, \"nova\")"; | ||
| 329 | + | ||
| 330 | + if ($this->possuiEnturmacaoTurmaDestino){ | ||
| 331 | + $this->array_botao[] = 'Remover enturmação (turma destino)'; | ||
| 332 | + $this->array_botao_url_script[] = "removerEnturmacao({$this->ref_cod_matricula}, {$this->ref_cod_turma})"; | ||
| 333 | + } | ||
| 240 | } | 334 | } |
| 241 | 335 | ||
| 242 | $this->array_botao[] = 'Voltar'; | 336 | $this->array_botao[] = 'Voltar'; |
| @@ -244,6 +338,15 @@ class indice extends clsDetalhe | @@ -244,6 +338,15 @@ class indice extends clsDetalhe | ||
| 244 | 338 | ||
| 245 | $this->largura = '100%'; | 339 | $this->largura = '100%'; |
| 246 | } | 340 | } |
| 341 | + | ||
| 342 | + protected function getEscolaSerie($escolaId, $serieId) { | ||
| 343 | + $escolaSerie = new clsPmieducarEscolaSerie(); | ||
| 344 | + $escolaSerie->ref_cod_escola = $escolaId; | ||
| 345 | + $escolaSerie->ref_cod_serie = $serieId; | ||
| 346 | + | ||
| 347 | + return $escolaSerie->detalhe(); | ||
| 348 | + } | ||
| 349 | + | ||
| 247 | } | 350 | } |
| 248 | 351 | ||
| 249 | // Instancia objeto de página | 352 | // Instancia objeto de página |
| @@ -256,4 +359,4 @@ $miolo = new indice(); | @@ -256,4 +359,4 @@ $miolo = new indice(); | ||
| 256 | $pagina->addForm($miolo); | 359 | $pagina->addForm($miolo); |
| 257 | 360 | ||
| 258 | // Gera o código HTML | 361 | // Gera o código HTML |
| 259 | -$pagina->MakeAll(); | ||
| 260 | \ No newline at end of file | 362 | \ No newline at end of file |
| 363 | +$pagina->MakeAll(); |
ieducar/intranet/educar_matricula_turma_lst.php
| @@ -91,7 +91,7 @@ class indice extends clsListagem | @@ -91,7 +91,7 @@ class indice extends clsListagem | ||
| 91 | $this->pessoa_logada = $_SESSION['id_pessoa']; | 91 | $this->pessoa_logada = $_SESSION['id_pessoa']; |
| 92 | session_write_close(); | 92 | session_write_close(); |
| 93 | 93 | ||
| 94 | - $this->titulo = 'Listagem - Selecione a turma para realizar a transferência'; | 94 | + $this->titulo = 'Selecione uma turma para enturmar ou remover a enturmação'; |
| 95 | 95 | ||
| 96 | $this->ref_cod_matricula = $_GET['ref_cod_matricula']; | 96 | $this->ref_cod_matricula = $_GET['ref_cod_matricula']; |
| 97 | 97 | ||
| @@ -111,7 +111,8 @@ class indice extends clsListagem | @@ -111,7 +111,8 @@ class indice extends clsListagem | ||
| 111 | $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet'); | 111 | $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet'); |
| 112 | 112 | ||
| 113 | $this->addCabecalhos(array( | 113 | $this->addCabecalhos(array( |
| 114 | - 'Turma' | 114 | + 'Turma', |
| 115 | + 'Enturmado' | ||
| 115 | )); | 116 | )); |
| 116 | 117 | ||
| 117 | // Busca dados da matricula | 118 | // Busca dados da matricula |
| @@ -146,9 +147,12 @@ class indice extends clsListagem | @@ -146,9 +147,12 @@ class indice extends clsListagem | ||
| 146 | foreach ($lista as $registro) { | 147 | foreach ($lista as $registro) { |
| 147 | $opcoes[$registro['cod_turma']] = $registro['nm_turma']; | 148 | $opcoes[$registro['cod_turma']] = $registro['nm_turma']; |
| 148 | } | 149 | } |
| 150 | + | ||
| 151 | + $this->exibirBotaoSubmit = false; | ||
| 152 | + | ||
| 149 | } | 153 | } |
| 150 | 154 | ||
| 151 | - $this->campoLista('ref_cod_turma_', 'Turma', $opcoes, $this->ref_cod_turma); | 155 | + #$this->campoLista('ref_cod_turma_', 'Turma', $opcoes, $this->ref_cod_turma); |
| 152 | 156 | ||
| 153 | // outros filtros | 157 | // outros filtros |
| 154 | $this->campoOculto('ref_cod_matricula', $this->ref_cod_matricula); | 158 | $this->campoOculto('ref_cod_matricula', $this->ref_cod_matricula); |
| @@ -211,27 +215,30 @@ WHERE | @@ -211,27 +215,30 @@ WHERE | ||
| 211 | $total = $obj_matricula_turma->_total; | 215 | $total = $obj_matricula_turma->_total; |
| 212 | } | 216 | } |
| 213 | 217 | ||
| 214 | - $tmp_obj = new clsPmieducarMatriculaTurma(); | ||
| 215 | - $det_obj = $tmp_obj->lista($this->ref_cod_matricula, NULL, NULL, NULL, NULL, | ||
| 216 | - NULL, NULL, NULL, 1); | 218 | + $enturmacoesMatricula = new clsPmieducarMatriculaTurma(); |
| 219 | + $enturmacoesMatricula = $enturmacoesMatricula->lista($this->ref_cod_matricula, NULL, NULL, | ||
| 220 | + NULL, NULL, NULL, NULL, NULL, 1); | ||
| 217 | 221 | ||
| 218 | - if ($det_obj) { | ||
| 219 | - $det_obj = array_shift($det_obj); | ||
| 220 | - } | 222 | + $turmasThisSerie = $lista; |
| 223 | + // lista turmas disponiveis para enturmacao, somente lista as turmas sem enturmacao | ||
| 224 | + foreach ($turmasThisSerie as $turma) { | ||
| 221 | 225 | ||
| 222 | - // Monta a lista | ||
| 223 | - if (is_array($lista) && count($lista)) { | ||
| 224 | - foreach ($lista as $registro) { | ||
| 225 | - if($registro['cod_turma'] != $det_obj['ref_cod_turma']) { | ||
| 226 | - $script = sprintf('onclick="enturmar(\'%s\',\'%s\',\'%s\',\'%s\');"', | ||
| 227 | - $this->ref_cod_escola, $registro['ref_ref_cod_serie'], | ||
| 228 | - $this->ref_cod_matricula, $registro['cod_turma']); | ||
| 229 | - | ||
| 230 | - $this->addLinhas(array( | ||
| 231 | - sprintf('<a href="#" %s>%s</a>', $script, $registro['nm_turma']) | ||
| 232 | - )); | ||
| 233 | - } | 226 | + $turmaHasEnturmacao = false; |
| 227 | + foreach ($enturmacoesMatricula as $enturmacao) { | ||
| 228 | + if(! $turmaHasEnturmacao && $turma['cod_turma'] == $enturmacao['ref_cod_turma']) | ||
| 229 | + $turmaHasEnturmacao = true; | ||
| 234 | } | 230 | } |
| 231 | + | ||
| 232 | + if($turmaHasEnturmacao) | ||
| 233 | + $enturmado = "Sim"; | ||
| 234 | + else | ||
| 235 | + $enturmado = "Não"; | ||
| 236 | + | ||
| 237 | + $script = sprintf('onclick="enturmar(\'%s\',\'%s\',\'%s\',\'%s\');"', | ||
| 238 | + $this->ref_cod_escola, $turma['ref_ref_cod_serie'], | ||
| 239 | + $this->ref_cod_matricula, $turma['cod_turma']); | ||
| 240 | + | ||
| 241 | + $this->addLinhas(array(sprintf('<a href="#" %s>%s</a>', $script, $turma['nm_turma']), $enturmado)); | ||
| 235 | } | 242 | } |
| 236 | 243 | ||
| 237 | $this->addPaginador2("educar_matricula_turma_lst.php", $total, $_GET, | 244 | $this->addPaginador2("educar_matricula_turma_lst.php", $total, $_GET, |
| @@ -272,4 +279,4 @@ function enturmar(ref_cod_escola, ref_cod_serie, ref_cod_matricula, ref_cod_turm | @@ -272,4 +279,4 @@ function enturmar(ref_cod_escola, ref_cod_serie, ref_cod_matricula, ref_cod_turm | ||
| 272 | 279 | ||
| 273 | document.formcadastro.submit(); | 280 | document.formcadastro.submit(); |
| 274 | } | 281 | } |
| 275 | -</script> | ||
| 276 | \ No newline at end of file | 282 | \ No newline at end of file |
| 283 | +</script> |