Commit 9ccca106b9ffc0d0bf8e552432df65b7e397e125
1 parent
de6fdef1
Exists in
master
Atualizado CRUD de Servidores:
* Cadastro de servidor agora depende de {{{ComponenteCurricular_Model_Componente}}} quando este possui uma função de professor e tem componentes curriculares atribuídos a ele (anteriormente, disciplinas)
* Corrigido bug que apagava as disciplinas/cursos de um servidor quando seu cadastro era editado (para função de professor)
* SQL de listagem de servidores (em {{{clsPmieducarServidor::lista()}}} modificado para o caso de professor (quando flag {{{$boo_professor}}} != FALSE}}}), selecionando apenas um professor candidato que lecione os mesmos componentes curriculares nos mesmos cursos. Outras correções lógicas realizadas
* Atualizado arquivo SQL de instalação, com novo delta criado (delta 17)
* Alterações no schema de {{{pmieducar.servidor_disciplina}}} para refletir o novo schema de componentes curriculares, onde cada componente pode ser atribuído a diversos anos/séries escolares (anteriormente era uma relação 1-1):
* Campo {{{ref_cod_curso}}} adicionado
* ''Primary key'' atualizada para englobar o campo {{{ref_cod_curso}}}
Showing
9 changed files
with
481 additions
and
337 deletions
Show diff stats
ieducar/intranet/educar_disciplina_xml.php
| @@ -25,10 +25,10 @@ | @@ -25,10 +25,10 @@ | ||
| 25 | * @license @@license@@ | 25 | * @license @@license@@ |
| 26 | * @package iEd_Pmieducar | 26 | * @package iEd_Pmieducar |
| 27 | * @since Arquivo disponível desde a versão 1.0.0 | 27 | * @since Arquivo disponível desde a versão 1.0.0 |
| 28 | - * @version $Id: /ieducar/branches/1.1.0-avaliacao/ieducar/intranet/educar_disciplina_xml.php 1021 2009-12-20T22:17:05.346011Z eriksencosta $ | 28 | + * @version $Id$ |
| 29 | */ | 29 | */ |
| 30 | 30 | ||
| 31 | -header( 'Content-type: text/xml; charset=ISO-8859-1'); | 31 | +header('Content-type: text/xml; charset=ISO-8859-1'); |
| 32 | 32 | ||
| 33 | require_once 'include/clsBanco.inc.php'; | 33 | require_once 'include/clsBanco.inc.php'; |
| 34 | require_once 'include/funcoes.inc.php'; | 34 | require_once 'include/funcoes.inc.php'; |
ieducar/intranet/educar_pesquisa_servidor_lst.php
| @@ -193,7 +193,7 @@ class indice extends clsListagem | @@ -193,7 +193,7 @@ class indice extends clsListagem | ||
| 193 | 193 | ||
| 194 | $hora_inicial_ = explode(':', $_SESSION['hora_inicial']); | 194 | $hora_inicial_ = explode(':', $_SESSION['hora_inicial']); |
| 195 | $hora_final_ = explode(':', $_SESSION['hora_final']); | 195 | $hora_final_ = explode(':', $_SESSION['hora_final']); |
| 196 | - $horas_ini = sprintf('%02d', (int) abs($hora_final_[0]) - abs($hora_inicial_[0])); | 196 | + $horas_ini = sprintf('%02d', (int) abs($hora_final_[0]) - abs($hora_inicial_[0])); |
| 197 | $minutos_ini = sprintf('%02d', (int) abs($hora_final_[1]) - abs($hora_inicial_[1])); | 197 | $minutos_ini = sprintf('%02d', (int) abs($hora_final_[1]) - abs($hora_inicial_[1])); |
| 198 | 198 | ||
| 199 | $h_m_ini = ($hora_inicial_[0] * 60) + $hora_inicial_[1]; | 199 | $h_m_ini = ($hora_inicial_[0] * 60) + $hora_inicial_[1]; |
| @@ -246,7 +246,7 @@ class indice extends clsListagem | @@ -246,7 +246,7 @@ class indice extends clsListagem | ||
| 246 | // aos professores e não selecionar aqueles em que o curso não seja | 246 | // aos professores e não selecionar aqueles em que o curso não seja |
| 247 | // globalizado e sem disciplinas cadastradas | 247 | // globalizado e sem disciplinas cadastradas |
| 248 | $this->ref_cod_disciplina = $this->ref_cod_disciplina ? | 248 | $this->ref_cod_disciplina = $this->ref_cod_disciplina ? |
| 249 | - $this->ref_cod_disciplina : "NULL"; | 249 | + $this->ref_cod_disciplina : NULL; |
| 250 | 250 | ||
| 251 | // Passa NULL para $alocacao_escola_instituicao senão o seu filtro anula | 251 | // Passa NULL para $alocacao_escola_instituicao senão o seu filtro anula |
| 252 | // um anterior (referente a selecionar somente servidores não alocados), | 252 | // um anterior (referente a selecionar somente servidores não alocados), |
| @@ -331,10 +331,10 @@ class indice extends clsListagem | @@ -331,10 +331,10 @@ class indice extends clsListagem | ||
| 331 | if ($_SESSION['tipo']) { | 331 | if ($_SESSION['tipo']) { |
| 332 | if (is_string($_SESSION['campo1']) && is_string($_SESSION['campo2'])) { | 332 | if (is_string($_SESSION['campo1']) && is_string($_SESSION['campo2'])) { |
| 333 | if (is_string( $_SESSION['horario'])) { | 333 | if (is_string( $_SESSION['horario'])) { |
| 334 | - $script = " onclick=\"addVal1('{$_SESSION['campo1']}','{$registro['cod_servidor']}','{$registro['nome']}'); addVal1('{$_SESSION['campo2']}','{$registro['cod_servidor']}','{$registro['nome']}'); $setAll fecha();\""; | 334 | + $script = " onclick=\"addVal1('{$_SESSION['campo1']}','{$registro['nome']}','{$registro['cod_servidor']}'); addVal1('{$_SESSION['campo2']}','{$registro['cod_servidor']}','{$registro['nome']}'); $setAll fecha();\""; |
| 335 | } | 335 | } |
| 336 | else { | 336 | else { |
| 337 | - $script = " onclick=\"addVal1('{$_SESSION['campo1']}','{$registro['cod_servidor']}',null); addVal1('{$_SESSION['campo2']}','{$registro['nome']}',null); $setAll fecha();\""; | 337 | + $script = " onclick=\"addVal1('{$_SESSION['campo1']}','{$registro['cod_servidor']}', null); addVal1('{$_SESSION['campo2']}','{$registro['nome']}', null); $setAll fecha();\""; |
| 338 | } | 338 | } |
| 339 | } | 339 | } |
| 340 | elseif (is_string($_SESSION['campo1'])) { | 340 | elseif (is_string($_SESSION['campo1'])) { |
| @@ -386,9 +386,9 @@ function addVal1(campo, valor, opcao) | @@ -386,9 +386,9 @@ function addVal1(campo, valor, opcao) | ||
| 386 | { | 386 | { |
| 387 | if (window.parent.document.getElementById(campo)) { | 387 | if (window.parent.document.getElementById(campo)) { |
| 388 | if (window.parent.document.getElementById(campo).type == 'select-one') { | 388 | if (window.parent.document.getElementById(campo).type == 'select-one') { |
| 389 | - obj = window.parent.document.getElementById( campo ); | 389 | + obj = window.parent.document.getElementById(campo); |
| 390 | novoIndice = obj.options.length; | 390 | novoIndice = obj.options.length; |
| 391 | - obj.options[novoIndice] = new Option( opcao ); | 391 | + obj.options[novoIndice] = new Option(opcao); |
| 392 | opcao = obj.options[novoIndice]; | 392 | opcao = obj.options[novoIndice]; |
| 393 | opcao.value = valor; | 393 | opcao.value = valor; |
| 394 | opcao.selected = true; | 394 | opcao.selected = true; |
| @@ -396,7 +396,7 @@ function addVal1(campo, valor, opcao) | @@ -396,7 +396,7 @@ function addVal1(campo, valor, opcao) | ||
| 396 | } | 396 | } |
| 397 | else if (window.parent.document.getElementById(campo)) { | 397 | else if (window.parent.document.getElementById(campo)) { |
| 398 | obj = window.parent.document.getElementById(campo); | 398 | obj = window.parent.document.getElementById(campo); |
| 399 | - obj.value = valor; | 399 | + obj.value = opcao; |
| 400 | } | 400 | } |
| 401 | } | 401 | } |
| 402 | } | 402 | } |
| @@ -424,7 +424,7 @@ function clearAll() | @@ -424,7 +424,7 @@ function clearAll() | ||
| 424 | } | 424 | } |
| 425 | 425 | ||
| 426 | for (var ct =0;ct < num_alocacao;ct++) { | 426 | for (var ct =0;ct < num_alocacao;ct++) { |
| 427 | - var elements = window.parent.document.getElementById('ref_cod_servidor_substituto_' + ct).value=''; | 427 | + var elements = window.parent.document.getElementById('ref_cod_servidor_substituto_' + ct).value=''; |
| 428 | } | 428 | } |
| 429 | } | 429 | } |
| 430 | 430 |
ieducar/intranet/educar_servidor_cad.php
| 1 | <?php | 1 | <?php |
| 2 | 2 | ||
| 3 | -/* | ||
| 4 | - * i-Educar - Sistema de gestão de escolas | 3 | +/** |
| 4 | + * i-Educar - Sistema de gestão escolar | ||
| 5 | * | 5 | * |
| 6 | - * Copyright (c) 2006 Prefeitura Municipal de Itajaí | ||
| 7 | - * <ctima@itajai.sc.gov.br> | 6 | + * Copyright (C) 2006 Prefeitura Municipal de Itajaí |
| 7 | + * <ctima@itajai.sc.gov.br> | ||
| 8 | * | 8 | * |
| 9 | - * Este programa é software livre; você pode redistribuÃí-lo e/ou modificá-lo | 9 | + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo |
| 10 | * sob os termos da Licença Pública Geral GNU conforme publicada pela Free | 10 | * sob os termos da Licença Pública Geral GNU conforme publicada pela Free |
| 11 | * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) | 11 | * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) |
| 12 | * qualquer versão posterior. | 12 | * qualquer versão posterior. |
| @@ -19,16 +19,13 @@ | @@ -19,16 +19,13 @@ | ||
| 19 | * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto | 19 | * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto |
| 20 | * com este programa; se não, escreva para a Free Software Foundation, Inc., no | 20 | * com este programa; se não, escreva para a Free Software Foundation, Inc., no |
| 21 | * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | 21 | * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. |
| 22 | - */ | ||
| 23 | - | ||
| 24 | -/** | ||
| 25 | - * Formulário de cadastro de servidor | ||
| 26 | * | 22 | * |
| 27 | - * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br> | ||
| 28 | - * @license http://creativecommons.org/licenses/GPL/2.0/legalcode.pt CC GNU GPL | ||
| 29 | - * @package Core | ||
| 30 | - * @since Arquivo disponível desde a versão 1.0.0 | ||
| 31 | - * @version $Id$ | 23 | + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br> |
| 24 | + * @category i-Educar | ||
| 25 | + * @license @@license@@ | ||
| 26 | + * @package iEd_Pmieducar | ||
| 27 | + * @since Arquivo disponível desde a versão 1.0.0 | ||
| 28 | + * @version $Id$ | ||
| 32 | */ | 29 | */ |
| 33 | 30 | ||
| 34 | require_once 'include/clsBase.inc.php'; | 31 | require_once 'include/clsBase.inc.php'; |
| @@ -36,14 +33,35 @@ require_once 'include/clsCadastro.inc.php'; | @@ -36,14 +33,35 @@ require_once 'include/clsCadastro.inc.php'; | ||
| 36 | require_once 'include/clsBanco.inc.php'; | 33 | require_once 'include/clsBanco.inc.php'; |
| 37 | require_once 'include/pmieducar/geral.inc.php'; | 34 | require_once 'include/pmieducar/geral.inc.php'; |
| 38 | 35 | ||
| 39 | - | ||
| 40 | -class clsIndexBase extends clsBase { | ||
| 41 | - public function Formular() { | ||
| 42 | - $this->SetTitulo($this->_instituicao . " i-Educar - Servidor"); | ||
| 43 | - $this->processoAp = "635"; | 36 | +/** |
| 37 | + * clsIndexBase class. | ||
| 38 | + * | ||
| 39 | + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br> | ||
| 40 | + * @category i-Educar | ||
| 41 | + * @license @@license@@ | ||
| 42 | + * @package iEd_Pmieducar | ||
| 43 | + * @since Classe disponível desde a versão 1.0.0 | ||
| 44 | + * @version @@package_version@@ | ||
| 45 | + */ | ||
| 46 | +class clsIndexBase extends clsBase | ||
| 47 | +{ | ||
| 48 | + function Formular() | ||
| 49 | + { | ||
| 50 | + $this->SetTitulo($this->_instituicao . ' i-Educar - Servidor'); | ||
| 51 | + $this->processoAp = 635; | ||
| 44 | } | 52 | } |
| 45 | } | 53 | } |
| 46 | 54 | ||
| 55 | +/** | ||
| 56 | + * indice class. | ||
| 57 | + * | ||
| 58 | + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br> | ||
| 59 | + * @category i-Educar | ||
| 60 | + * @license @@license@@ | ||
| 61 | + * @package iEd_Pmieducar | ||
| 62 | + * @since Classe disponível desde a versão 1.0.0 | ||
| 63 | + * @version @@package_version@@ | ||
| 64 | + */ | ||
| 47 | class indice extends clsCadastro | 65 | class indice extends clsCadastro |
| 48 | { | 66 | { |
| 49 | var $pessoa_logada; | 67 | var $pessoa_logada; |
| @@ -98,14 +116,14 @@ class indice extends clsCadastro | @@ -98,14 +116,14 @@ class indice extends clsCadastro | ||
| 98 | } | 116 | } |
| 99 | 117 | ||
| 100 | $db = new clsBanco(); | 118 | $db = new clsBanco(); |
| 101 | - $consulta = " | 119 | + $consulta = sprintf(" |
| 102 | SELECT | 120 | SELECT |
| 103 | SUBSTR(COALESCE(SUM(carga_horaria), '00:00'), 0, 6) AS horas_utilizadas | 121 | SUBSTR(COALESCE(SUM(carga_horaria), '00:00'), 0, 6) AS horas_utilizadas |
| 104 | FROM | 122 | FROM |
| 105 | pmieducar.servidor_alocacao | 123 | pmieducar.servidor_alocacao |
| 106 | WHERE | 124 | WHERE |
| 107 | - ref_cod_servidor = '{$this->cod_servidor}' AND | ||
| 108 | - ativo = 1"; | 125 | + ref_cod_servidor = '%d' AND |
| 126 | + ativo = 1", $this->cod_servidor); | ||
| 109 | 127 | ||
| 110 | $this->total_horas_alocadas = $db->CampoUnico($consulta); | 128 | $this->total_horas_alocadas = $db->CampoUnico($consulta); |
| 111 | 129 | ||
| @@ -247,15 +265,15 @@ class indice extends clsCadastro | @@ -247,15 +265,15 @@ class indice extends clsCadastro | ||
| 247 | } | 265 | } |
| 248 | 266 | ||
| 249 | $this->campoTabelaInicio('funcao', 'Funções Servidor', | 267 | $this->campoTabelaInicio('funcao', 'Funções Servidor', |
| 250 | - array("Função", "Disciplinas", "Cursos"), ($this->ref_cod_funcao)); | 268 | + array("Função", "Componentes Curriculares", "Cursos"), ($this->ref_cod_funcao)); |
| 251 | 269 | ||
| 252 | $funcao = 'popless()'; | 270 | $funcao = 'popless()'; |
| 253 | 271 | ||
| 254 | $this->campoLista('ref_cod_funcao', 'Função', $opcoes, $this->ref_cod_funcao, | 272 | $this->campoLista('ref_cod_funcao', 'Função', $opcoes, $this->ref_cod_funcao, |
| 255 | 'funcaoChange(this)', '', '', ''); | 273 | 'funcaoChange(this)', '', '', ''); |
| 256 | 274 | ||
| 257 | - $this->campoRotulo('disciplina', 'Disciplinas', | ||
| 258 | - "<img src='imagens/lupa_antiga.png' border='0' style='cursor:pointer;' alt='Buscar Disciplina' title='Buscar Disciplina' onclick=\"$funcao\">"); | 275 | + $this->campoRotulo('disciplina', 'Componentes Curriculares', |
| 276 | + "<img src='imagens/lupa_antiga.png' border='0' style='cursor:pointer;' alt='Buscar Componente Curricular' title='Buscar Componente Curricular' onclick=\"$funcao\">"); | ||
| 259 | 277 | ||
| 260 | $funcao = 'popCurso()'; | 278 | $funcao = 'popCurso()'; |
| 261 | 279 | ||
| @@ -301,7 +319,9 @@ class indice extends clsCadastro | @@ -301,7 +319,9 @@ class indice extends clsCadastro | ||
| 301 | $obj_permissoes->permissao_cadastra(635, $this->pessoa_logada, 3, | 319 | $obj_permissoes->permissao_cadastra(635, $this->pessoa_logada, 3, |
| 302 | 'educar_servidor_lst.php'); | 320 | 'educar_servidor_lst.php'); |
| 303 | 321 | ||
| 304 | - $obj = new clsPmieducarServidor($this->cod_servidor, NULL, NULL, NULL, NULL, NULL, NULL, $this->ref_cod_instituicao ); | 322 | + $obj = new clsPmieducarServidor($this->cod_servidor, NULL, NULL, NULL, NULL, |
| 323 | + NULL, NULL, $this->ref_cod_instituicao); | ||
| 324 | + | ||
| 305 | if ($obj->detalhe()) { | 325 | if ($obj->detalhe()) { |
| 306 | $this->carga_horaria = str_replace(',', '.', $this->carga_horaria); | 326 | $this->carga_horaria = str_replace(',', '.', $this->carga_horaria); |
| 307 | $obj = new clsPmieducarServidor($this->cod_servidor, | 327 | $obj = new clsPmieducarServidor($this->cod_servidor, |
| @@ -361,8 +381,10 @@ class indice extends clsCadastro | @@ -361,8 +381,10 @@ class indice extends clsCadastro | ||
| 361 | 381 | ||
| 362 | if ($this->ref_cod_instituicao == $this->ref_cod_instituicao_original) { | 382 | if ($this->ref_cod_instituicao == $this->ref_cod_instituicao_original) { |
| 363 | $this->carga_horaria = str_replace(',', '.', $this->carga_horaria); | 383 | $this->carga_horaria = str_replace(',', '.', $this->carga_horaria); |
| 384 | + | ||
| 364 | $obj = new clsPmieducarServidor($this->cod_servidor, $this->ref_cod_deficiencia, | 385 | $obj = new clsPmieducarServidor($this->cod_servidor, $this->ref_cod_deficiencia, |
| 365 | $this->ref_idesco, $this->carga_horaria, NULL, NULL, 1, $this->ref_cod_instituicao); | 386 | $this->ref_idesco, $this->carga_horaria, NULL, NULL, 1, $this->ref_cod_instituicao); |
| 387 | + | ||
| 366 | $editou = $obj->edita(); | 388 | $editou = $obj->edita(); |
| 367 | 389 | ||
| 368 | if ($editou) { | 390 | if ($editou) { |
| @@ -483,15 +505,13 @@ class indice extends clsCadastro | @@ -483,15 +505,13 @@ class indice extends clsCadastro | ||
| 483 | { | 505 | { |
| 484 | @session_start(); | 506 | @session_start(); |
| 485 | $cursos_disciplina = $_SESSION['cursos_disciplina']; | 507 | $cursos_disciplina = $_SESSION['cursos_disciplina']; |
| 486 | - $cursos_servidor = $_SESSION['cursos_servidor']; | 508 | + $cursos_servidor = $_SESSION['cursos_servidor']; |
| 487 | @session_write_close(); | 509 | @session_write_close(); |
| 488 | 510 | ||
| 489 | - $this->excluiFuncoes(); | ||
| 490 | - $this->excluiCursos(); | ||
| 491 | - | ||
| 492 | $existe_funcao_professor = FALSE; | 511 | $existe_funcao_professor = FALSE; |
| 493 | 512 | ||
| 494 | if ($this->ref_cod_funcao) { | 513 | if ($this->ref_cod_funcao) { |
| 514 | + $this->excluiFuncoes(); | ||
| 495 | foreach ($this->ref_cod_funcao as $funcao) { | 515 | foreach ($this->ref_cod_funcao as $funcao) { |
| 496 | $funcao_professor = explode('-', $funcao); | 516 | $funcao_professor = explode('-', $funcao); |
| 497 | $funcao = array_shift($funcao_professor); | 517 | $funcao = array_shift($funcao_professor); |
| @@ -511,11 +531,13 @@ class indice extends clsCadastro | @@ -511,11 +531,13 @@ class indice extends clsCadastro | ||
| 511 | 531 | ||
| 512 | if ($existe_funcao_professor) { | 532 | if ($existe_funcao_professor) { |
| 513 | if ($cursos_disciplina) { | 533 | if ($cursos_disciplina) { |
| 534 | + $this->excluiDisciplinas(); | ||
| 514 | foreach ($cursos_disciplina as $curso => $disciplinas) { | 535 | foreach ($cursos_disciplina as $curso => $disciplinas) { |
| 515 | if ($disciplinas) { | 536 | if ($disciplinas) { |
| 516 | foreach ($disciplinas as $disciplina) { | 537 | foreach ($disciplinas as $disciplina) { |
| 517 | $obj_servidor_disciplina = new clsPmieducarServidorDisciplina( | 538 | $obj_servidor_disciplina = new clsPmieducarServidorDisciplina( |
| 518 | - $disciplina, $this->ref_cod_instituicao, $this->cod_servidor); | 539 | + $disciplina, $this->ref_cod_instituicao, $this->cod_servidor, |
| 540 | + $curso); | ||
| 519 | 541 | ||
| 520 | if (!$obj_servidor_disciplina->existe()) { | 542 | if (!$obj_servidor_disciplina->existe()) { |
| 521 | $obj_servidor_disciplina->cadastra(); | 543 | $obj_servidor_disciplina->cadastra(); |
| @@ -526,6 +548,7 @@ class indice extends clsCadastro | @@ -526,6 +548,7 @@ class indice extends clsCadastro | ||
| 526 | } | 548 | } |
| 527 | 549 | ||
| 528 | if ($cursos_servidor) { | 550 | if ($cursos_servidor) { |
| 551 | + $this->excluiCursos(); | ||
| 529 | foreach ($cursos_servidor as $curso) { | 552 | foreach ($cursos_servidor as $curso) { |
| 530 | $obj_curso_servidor = new clsPmieducarServidorCursoMinistra($curso, | 553 | $obj_curso_servidor = new clsPmieducarServidorCursoMinistra($curso, |
| 531 | $this->ref_cod_instituicao, $this->cod_servidor); | 554 | $this->ref_cod_instituicao, $this->cod_servidor); |
| @@ -540,17 +563,20 @@ class indice extends clsCadastro | @@ -540,17 +563,20 @@ class indice extends clsCadastro | ||
| 540 | 563 | ||
| 541 | function excluiFuncoes() | 564 | function excluiFuncoes() |
| 542 | { | 565 | { |
| 543 | - $obj_servidor_disciplina = new clsPmieducarServidorDisciplina(NULL, | ||
| 544 | - $this->ref_cod_instituicao,$this->cod_servidor); | ||
| 545 | - | ||
| 546 | - $obj_servidor_disciplina->excluirTodos(); | ||
| 547 | - | ||
| 548 | $obj_servidor_funcao = new clsPmieducarServidorFuncao($this->ref_cod_instituicao, | 566 | $obj_servidor_funcao = new clsPmieducarServidorFuncao($this->ref_cod_instituicao, |
| 549 | $this->cod_servidor); | 567 | $this->cod_servidor); |
| 550 | 568 | ||
| 551 | $obj_servidor_funcao->excluirTodos(); | 569 | $obj_servidor_funcao->excluirTodos(); |
| 552 | } | 570 | } |
| 553 | 571 | ||
| 572 | + function excluiDisciplinas() | ||
| 573 | + { | ||
| 574 | + $obj_servidor_disciplina = new clsPmieducarServidorDisciplina(NULL, | ||
| 575 | + $this->ref_cod_instituicao, $this->cod_servidor); | ||
| 576 | + | ||
| 577 | + $obj_servidor_disciplina->excluirTodos(); | ||
| 578 | + } | ||
| 579 | + | ||
| 554 | function excluiCursos() | 580 | function excluiCursos() |
| 555 | { | 581 | { |
| 556 | $obj_servidor_curso = new clsPmieducarServidorCursoMinistra(NULL, | 582 | $obj_servidor_curso = new clsPmieducarServidorCursoMinistra(NULL, |
| @@ -577,7 +603,8 @@ $pagina->MakeAll(); | @@ -577,7 +603,8 @@ $pagina->MakeAll(); | ||
| 577 | /** | 603 | /** |
| 578 | * Carrega as opções de um campo select de funções via Ajax | 604 | * Carrega as opções de um campo select de funções via Ajax |
| 579 | */ | 605 | */ |
| 580 | -function getFuncao(id_campo) { | 606 | +function getFuncao(id_campo) |
| 607 | +{ | ||
| 581 | var campoInstituicao = document.getElementById('ref_cod_instituicao').value; | 608 | var campoInstituicao = document.getElementById('ref_cod_instituicao').value; |
| 582 | var campoFuncao = document.getElementById(id_campo); | 609 | var campoFuncao = document.getElementById(id_campo); |
| 583 | campoFuncao.length = 1; | 610 | campoFuncao.length = 1; |
| @@ -598,7 +625,8 @@ function getFuncao(id_campo) { | @@ -598,7 +625,8 @@ function getFuncao(id_campo) { | ||
| 598 | * Parse de resultado da chamada Ajax de getFuncao(). Adiciona cada item | 625 | * Parse de resultado da chamada Ajax de getFuncao(). Adiciona cada item |
| 599 | * retornado como option do select | 626 | * retornado como option do select |
| 600 | */ | 627 | */ |
| 601 | -function atualizaLstFuncao(xml) { | 628 | +function atualizaLstFuncao(xml) |
| 629 | +{ | ||
| 602 | var campoFuncao = document.getElementById(arguments[1]); | 630 | var campoFuncao = document.getElementById(arguments[1]); |
| 603 | 631 | ||
| 604 | campoFuncao.length = 1; | 632 | campoFuncao.length = 1; |
| @@ -628,7 +656,8 @@ function atualizaLstFuncao(xml) { | @@ -628,7 +656,8 @@ function atualizaLstFuncao(xml) { | ||
| 628 | * | 656 | * |
| 629 | * É um toggle on/off | 657 | * É um toggle on/off |
| 630 | */ | 658 | */ |
| 631 | -function funcaoChange(campo) { | 659 | +function funcaoChange(campo) |
| 660 | +{ | ||
| 632 | var valor = campo.value.split("-"); | 661 | var valor = campo.value.split("-"); |
| 633 | var id = /[0-9]+/.exec(campo.id)[0]; | 662 | var id = /[0-9]+/.exec(campo.id)[0]; |
| 634 | var professor = (valor[1] == true); | 663 | var professor = (valor[1] == true); |
| @@ -711,7 +740,8 @@ function getArrayHora(hora) { | @@ -711,7 +740,8 @@ function getArrayHora(hora) { | ||
| 711 | return array_h; | 740 | return array_h; |
| 712 | } | 741 | } |
| 713 | 742 | ||
| 714 | -function acao2() { | 743 | +function acao2() |
| 744 | +{ | ||
| 715 | var total_horas_alocadas = getArrayHora(document.getElementById('total_horas_alocadas').value); | 745 | var total_horas_alocadas = getArrayHora(document.getElementById('total_horas_alocadas').value); |
| 716 | var carga_horaria = (document.getElementById('carga_horaria').value).replace(',', '.'); | 746 | var carga_horaria = (document.getElementById('carga_horaria').value).replace(',', '.'); |
| 717 | 747 | ||
| @@ -730,19 +760,22 @@ if (document.getElementById('total_horas_alocadas')) { | @@ -730,19 +760,22 @@ if (document.getElementById('total_horas_alocadas')) { | ||
| 730 | } | 760 | } |
| 731 | 761 | ||
| 732 | 762 | ||
| 733 | -function popless() { | 763 | +function popless() |
| 764 | +{ | ||
| 734 | var campoInstituicao = document.getElementById('ref_cod_instituicao').value; | 765 | var campoInstituicao = document.getElementById('ref_cod_instituicao').value; |
| 735 | var campoServidor = document.getElementById('cod_servidor').value; | 766 | var campoServidor = document.getElementById('cod_servidor').value; |
| 736 | pesquisa_valores_popless1('educar_servidor_disciplina_lst.php?ref_cod_servidor='+campoServidor+'&ref_cod_instituicao='+campoInstituicao, ''); | 767 | pesquisa_valores_popless1('educar_servidor_disciplina_lst.php?ref_cod_servidor='+campoServidor+'&ref_cod_instituicao='+campoInstituicao, ''); |
| 737 | } | 768 | } |
| 738 | 769 | ||
| 739 | -function popCurso() { | 770 | +function popCurso() |
| 771 | +{ | ||
| 740 | var campoInstituicao = document.getElementById('ref_cod_instituicao').value; | 772 | var campoInstituicao = document.getElementById('ref_cod_instituicao').value; |
| 741 | var campoServidor = document.getElementById('cod_servidor').value; | 773 | var campoServidor = document.getElementById('cod_servidor').value; |
| 742 | pesquisa_valores_popless('educar_servidor_curso_lst.php?ref_cod_servidor='+campoServidor+'&ref_cod_instituicao='+campoInstituicao, ''); | 774 | pesquisa_valores_popless('educar_servidor_curso_lst.php?ref_cod_servidor='+campoServidor+'&ref_cod_instituicao='+campoInstituicao, ''); |
| 743 | } | 775 | } |
| 744 | 776 | ||
| 745 | -function pesquisa_valores_popless1(caminho, campo) { | 777 | +function pesquisa_valores_popless1(caminho, campo) |
| 778 | +{ | ||
| 746 | new_id = DOM_divs.length; | 779 | new_id = DOM_divs.length; |
| 747 | div = 'div_dinamico_' + new_id; | 780 | div = 'div_dinamico_' + new_id; |
| 748 | if (caminho.indexOf('?') == -1) { | 781 | if (caminho.indexOf('?') == -1) { |
ieducar/intranet/educar_servidor_det.php
| 1 | <?php | 1 | <?php |
| 2 | 2 | ||
| 3 | -/* | 3 | +/** |
| 4 | * i-Educar - Sistema de gestão escolar | 4 | * i-Educar - Sistema de gestão escolar |
| 5 | * | 5 | * |
| 6 | * Copyright (C) 2006 Prefeitura Municipal de Itajaí | 6 | * Copyright (C) 2006 Prefeitura Municipal de Itajaí |
| @@ -19,45 +19,57 @@ | @@ -19,45 +19,57 @@ | ||
| 19 | * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto | 19 | * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto |
| 20 | * com este programa; se não, escreva para a Free Software Foundation, Inc., no | 20 | * com este programa; se não, escreva para a Free Software Foundation, Inc., no |
| 21 | * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | 21 | * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. |
| 22 | - */ | ||
| 23 | - | ||
| 24 | -/** | ||
| 25 | - * Mostra detalhes do cadastro de um servidor junto com ações de cadastro | ||
| 26 | * | 22 | * |
| 27 | - * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br> | ||
| 28 | - * @license http://creativecommons.org/licenses/GPL/2.0/legalcode.pt CC GNU GPL | ||
| 29 | - * @package Core | ||
| 30 | - * @subpackage Servidor | ||
| 31 | - * @since Disponível desde a versão 1.0.0 | ||
| 32 | - * @version $Id$ | 23 | + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br> |
| 24 | + * @category i-Educar | ||
| 25 | + * @license @@license@@ | ||
| 26 | + * @package iEd_Pmieducar | ||
| 27 | + * @since Arquivo disponível desde a versão 1.0.0 | ||
| 28 | + * @version $Id$ | ||
| 33 | */ | 29 | */ |
| 34 | 30 | ||
| 35 | require_once 'include/clsBase.inc.php'; | 31 | require_once 'include/clsBase.inc.php'; |
| 36 | require_once 'include/clsDetalhe.inc.php'; | 32 | require_once 'include/clsDetalhe.inc.php'; |
| 37 | require_once 'include/clsBanco.inc.php'; | 33 | require_once 'include/clsBanco.inc.php'; |
| 38 | require_once 'include/pmieducar/geral.inc.php'; | 34 | require_once 'include/pmieducar/geral.inc.php'; |
| 35 | +require_once 'ComponenteCurricular/Model/ComponenteDataMapper.php'; | ||
| 39 | 36 | ||
| 40 | - | 37 | +/** |
| 38 | + * clsIndexBase class. | ||
| 39 | + * | ||
| 40 | + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br> | ||
| 41 | + * @category i-Educar | ||
| 42 | + * @license @@license@@ | ||
| 43 | + * @package iEd_Pmieducar | ||
| 44 | + * @since Classe disponível desde a versão 1.0.0 | ||
| 45 | + * @version @@package_version@@ | ||
| 46 | + */ | ||
| 41 | class clsIndexBase extends clsBase { | 47 | class clsIndexBase extends clsBase { |
| 42 | - public function Formular() { | 48 | + function Formular() |
| 49 | + { | ||
| 43 | $this->SetTitulo($this->_instituicao . ' i-Educar - Servidor'); | 50 | $this->SetTitulo($this->_instituicao . ' i-Educar - Servidor'); |
| 44 | - $this->processoAp = '635'; | 51 | + $this->processoAp = 635; |
| 45 | } | 52 | } |
| 46 | } | 53 | } |
| 47 | 54 | ||
| 48 | - | ||
| 49 | -class indice extends clsDetalhe { | ||
| 50 | - | ||
| 51 | - /** | ||
| 52 | - * Título da página | ||
| 53 | - * @var string | ||
| 54 | - */ | ||
| 55 | - public $titulo; | 55 | +/** |
| 56 | + * indice class. | ||
| 57 | + * | ||
| 58 | + * @author Prefeitura Municipal de Itajaí <ctima@itajai.sc.gov.br> | ||
| 59 | + * @category i-Educar | ||
| 60 | + * @license @@license@@ | ||
| 61 | + * @package iEd_Pmieducar | ||
| 62 | + * @since Classe disponível desde a versão 1.0.0 | ||
| 63 | + * @version @@package_version@@ | ||
| 64 | + */ | ||
| 65 | +class indice extends clsDetalhe | ||
| 66 | +{ | ||
| 67 | + var $titulo; | ||
| 56 | 68 | ||
| 57 | /** | 69 | /** |
| 58 | * Atributos de dados | 70 | * Atributos de dados |
| 59 | */ | 71 | */ |
| 60 | - public | 72 | + var |
| 61 | $cod_servidor = NULL, | 73 | $cod_servidor = NULL, |
| 62 | $ref_cod_deficiencia = NULL, | 74 | $ref_cod_deficiencia = NULL, |
| 63 | $ref_idesco = NULL, | 75 | $ref_idesco = NULL, |
| @@ -69,23 +81,25 @@ class indice extends clsDetalhe { | @@ -69,23 +81,25 @@ class indice extends clsDetalhe { | ||
| 69 | $ref_cod_instituicao = NULL, | 81 | $ref_cod_instituicao = NULL, |
| 70 | $alocacao_array = array(); | 82 | $alocacao_array = array(); |
| 71 | 83 | ||
| 72 | - | ||
| 73 | - | ||
| 74 | /** | 84 | /** |
| 75 | * Implementação do método Gerar() | 85 | * Implementação do método Gerar() |
| 76 | */ | 86 | */ |
| 77 | - public function Gerar() { | 87 | + function Gerar() |
| 88 | + { | ||
| 78 | session_start(); | 89 | session_start(); |
| 79 | $this->pessoa_logada = $_SESSION['id_pessoa']; | 90 | $this->pessoa_logada = $_SESSION['id_pessoa']; |
| 80 | session_write_close(); | 91 | session_write_close(); |
| 81 | 92 | ||
| 82 | $this->titulo = 'Servidor - Detalhe'; | 93 | $this->titulo = 'Servidor - Detalhe'; |
| 83 | - $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', 'Intranet'); | 94 | + $this->addBanner('imagens/nvp_top_intranet.jpg', 'imagens/nvp_vert_intranet.jpg', |
| 95 | + 'Intranet'); | ||
| 96 | + | ||
| 97 | + $this->cod_servidor = $_GET['cod_servidor']; | ||
| 98 | + $this->ref_cod_instituicao = $_GET['ref_cod_instituicao']; | ||
| 84 | 99 | ||
| 85 | - $this->cod_servidor = $_GET["cod_servidor"]; | ||
| 86 | - $this->ref_cod_instituicao = $_GET["ref_cod_instituicao"]; | 100 | + $tmp_obj = new clsPmieducarServidor($this->cod_servidor, NULL, NULL, NULL, |
| 101 | + NULL, NULL, NULL, $this->ref_cod_instituicao); | ||
| 87 | 102 | ||
| 88 | - $tmp_obj = new clsPmieducarServidor( $this->cod_servidor,null,null,null,null,null,null,$this->ref_cod_instituicao ); | ||
| 89 | $registro = $tmp_obj->detalhe(); | 103 | $registro = $tmp_obj->detalhe(); |
| 90 | 104 | ||
| 91 | if (!$registro) { | 105 | if (!$registro) { |
| @@ -126,7 +140,7 @@ class indice extends clsDetalhe { | @@ -126,7 +140,7 @@ class indice extends clsDetalhe { | ||
| 126 | $obj = new clsPmieducarServidorAlocacao(); | 140 | $obj = new clsPmieducarServidorAlocacao(); |
| 127 | $obj->setOrderby('periodo, carga_horaria'); | 141 | $obj->setOrderby('periodo, carga_horaria'); |
| 128 | $lista = $obj->lista(NULL, $this->ref_cod_instituicao, NULL, NULL, NULL, | 142 | $lista = $obj->lista(NULL, $this->ref_cod_instituicao, NULL, NULL, NULL, |
| 129 | - $this->cod_servidor, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ,1); | 143 | + $this->cod_servidor, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1); |
| 130 | 144 | ||
| 131 | if ($lista) { | 145 | if ($lista) { |
| 132 | // Passa todos os valores do registro para atributos do objeto | 146 | // Passa todos os valores do registro para atributos do objeto |
| @@ -149,7 +163,7 @@ class indice extends clsDetalhe { | @@ -149,7 +163,7 @@ class indice extends clsDetalhe { | ||
| 149 | } | 163 | } |
| 150 | 164 | ||
| 151 | if ($registro['matricula']) { | 165 | if ($registro['matricula']) { |
| 152 | - $this->addDetalhe(array('Matrícula', $registro['matricula'])); | 166 | + $this->addDetalhe(array('Matrícula', $registro['matricula'])); |
| 153 | } | 167 | } |
| 154 | 168 | ||
| 155 | if ($registro['nome']) { | 169 | if ($registro['nome']) { |
| @@ -157,11 +171,11 @@ class indice extends clsDetalhe { | @@ -157,11 +171,11 @@ class indice extends clsDetalhe { | ||
| 157 | } | 171 | } |
| 158 | 172 | ||
| 159 | if ($registro['ref_cod_instituicao']) { | 173 | if ($registro['ref_cod_instituicao']) { |
| 160 | - $this->addDetalhe( array( "Instituição", $registro['ref_cod_instituicao'])); | 174 | + $this->addDetalhe( array( "Instituição", $registro['ref_cod_instituicao'])); |
| 161 | } | 175 | } |
| 162 | 176 | ||
| 163 | if ($registro['ref_cod_deficiencia']) { | 177 | if ($registro['ref_cod_deficiencia']) { |
| 164 | - $this->addDetalhe(array('Deficiéncia', $registro['ref_cod_deficiencia'])); | 178 | + $this->addDetalhe(array('Deficiência', $registro['ref_cod_deficiencia'])); |
| 165 | } | 179 | } |
| 166 | 180 | ||
| 167 | if( $registro['ref_idesco']) { | 181 | if( $registro['ref_idesco']) { |
| @@ -176,7 +190,7 @@ class indice extends clsDetalhe { | @@ -176,7 +190,7 @@ class indice extends clsDetalhe { | ||
| 176 | } | 190 | } |
| 177 | 191 | ||
| 178 | if ($registro['ref_cod_funcao']) { | 192 | if ($registro['ref_cod_funcao']) { |
| 179 | - $this->addDetalhe(array('Função', $registro['ref_cod_funcao'])); | 193 | + $this->addDetalhe(array('Função', $registro['ref_cod_funcao'])); |
| 180 | } | 194 | } |
| 181 | 195 | ||
| 182 | $obj_funcao = new clsPmieducarServidorFuncao(); | 196 | $obj_funcao = new clsPmieducarServidorFuncao(); |
| @@ -186,10 +200,10 @@ class indice extends clsDetalhe { | @@ -186,10 +200,10 @@ class indice extends clsDetalhe { | ||
| 186 | $tabela .= " | 200 | $tabela .= " |
| 187 | <table cellspacing='0' cellpadding='0' border='0'> | 201 | <table cellspacing='0' cellpadding='0' border='0'> |
| 188 | <tr bgcolor='#A1B3BD' align='center'> | 202 | <tr bgcolor='#A1B3BD' align='center'> |
| 189 | - <td width='150'>Função</td> | 203 | + <td width='150'>Função</td> |
| 190 | </tr>"; | 204 | </tr>"; |
| 191 | 205 | ||
| 192 | - $class = "formlttd"; | 206 | + $class = 'formlttd'; |
| 193 | 207 | ||
| 194 | $tab_disc = NULL; | 208 | $tab_disc = NULL; |
| 195 | 209 | ||
| @@ -203,16 +217,16 @@ class indice extends clsDetalhe { | @@ -203,16 +217,16 @@ class indice extends clsDetalhe { | ||
| 203 | $class2 = $class2 == "formlttd" ? "formmdtd" : "formlttd" ; | 217 | $class2 = $class2 == "formlttd" ? "formmdtd" : "formlttd" ; |
| 204 | $tab_disc .= " | 218 | $tab_disc .= " |
| 205 | <tr> | 219 | <tr> |
| 206 | - <td bgcolor='#A1B3BD' align='center'>Disciplinas</td> | 220 | + <td bgcolor='#A1B3BD' align='center'>Componentes Curriculares</td> |
| 207 | </tr>"; | 221 | </tr>"; |
| 208 | 222 | ||
| 223 | + $componenteMapper = new ComponenteCurricular_Model_ComponenteDataMapper(); | ||
| 209 | foreach ($lst_disciplina_servidor as $disciplina) { | 224 | foreach ($lst_disciplina_servidor as $disciplina) { |
| 210 | - $obj_disciplina = new clsPmieducarDisciplina($disciplina['ref_cod_disciplina']); | ||
| 211 | - $det_disciplina = $obj_disciplina->detalhe(); | 225 | + $componente = $componenteMapper->find($disciplina['ref_cod_disciplina']); |
| 212 | 226 | ||
| 213 | $tab_disc .= " | 227 | $tab_disc .= " |
| 214 | <tr class='$class2' align='center'> | 228 | <tr class='$class2' align='center'> |
| 215 | - <td align='left'>{$det_disciplina['nm_disciplina']}</td> | 229 | + <td align='left'>{$componente->nome}</td> |
| 216 | </tr>"; | 230 | </tr>"; |
| 217 | 231 | ||
| 218 | $class2 = $class2 == "formlttd" ? "formmdtd" : "formlttd" ; | 232 | $class2 = $class2 == "formlttd" ? "formmdtd" : "formlttd" ; |
| @@ -225,7 +239,7 @@ class indice extends clsDetalhe { | @@ -225,7 +239,7 @@ class indice extends clsDetalhe { | ||
| 225 | $lst_servidor_curso = $obj_servidor_curso->lista(NULL, | 239 | $lst_servidor_curso = $obj_servidor_curso->lista(NULL, |
| 226 | $this->ref_cod_instituicao, $this->cod_servidor); | 240 | $this->ref_cod_instituicao, $this->cod_servidor); |
| 227 | 241 | ||
| 228 | - if($lst_servidor_curso) { | 242 | + if ($lst_servidor_curso) { |
| 229 | $tab_curso .= "<table cellspacing='0' cellpadding='0' width='200' border='0' style='border:1px dotted #000000'>"; | 243 | $tab_curso .= "<table cellspacing='0' cellpadding='0' width='200' border='0' style='border:1px dotted #000000'>"; |
| 230 | 244 | ||
| 231 | $class2 = $class2 == "formlttd" ? "formmdtd" : "formlttd" ; | 245 | $class2 = $class2 == "formlttd" ? "formmdtd" : "formlttd" ; |
| @@ -279,7 +293,7 @@ class indice extends clsDetalhe { | @@ -279,7 +293,7 @@ class indice extends clsDetalhe { | ||
| 279 | } | 293 | } |
| 280 | 294 | ||
| 281 | $tabela .= "</table>"; | 295 | $tabela .= "</table>"; |
| 282 | - $this->addDetalhe(array('Função', | 296 | + $this->addDetalhe(array('Função', |
| 283 | "<a href='javascript:trocaDisplay(\"det_f\");' >Mostrar detalhe</a><div id='det_f' name='det_f' style='display:none;'>".$tabela."</div>")); | 297 | "<a href='javascript:trocaDisplay(\"det_f\");' >Mostrar detalhe</a><div id='det_f' name='det_f' style='display:none;'>".$tabela."</div>")); |
| 284 | } | 298 | } |
| 285 | 299 | ||
| @@ -293,25 +307,25 @@ class indice extends clsDetalhe { | @@ -293,25 +307,25 @@ class indice extends clsDetalhe { | ||
| 293 | $horas = (int)$cargaHoraria; | 307 | $horas = (int)$cargaHoraria; |
| 294 | $minutos = round(($cargaHoraria - $horas) * 60); | 308 | $minutos = round(($cargaHoraria - $horas) * 60); |
| 295 | $cargaHoraria = sprintf('%02d:%02d', $horas, $minutos); | 309 | $cargaHoraria = sprintf('%02d:%02d', $horas, $minutos); |
| 296 | - $this->addDetalhe(array('Carga Horária', $cargaHoraria)); | 310 | + $this->addDetalhe(array('Carga Horária', $cargaHoraria)); |
| 297 | } | 311 | } |
| 298 | 312 | ||
| 299 | $dias_da_semana = array( | 313 | $dias_da_semana = array( |
| 300 | '' => 'Selecione', | 314 | '' => 'Selecione', |
| 301 | 1 => 'Domingo', | 315 | 1 => 'Domingo', |
| 302 | 2 => 'Segunda', | 316 | 2 => 'Segunda', |
| 303 | - 3 => 'Terça', | 317 | + 3 => 'Terça', |
| 304 | 4 => 'Quarta', | 318 | 4 => 'Quarta', |
| 305 | 5 => 'Quinta', | 319 | 5 => 'Quinta', |
| 306 | 6 => 'Sexta', | 320 | 6 => 'Sexta', |
| 307 | - 7 => 'Sábado'); | 321 | + 7 => 'Sábado'); |
| 308 | 322 | ||
| 309 | if ($this->alocacao_array) { | 323 | if ($this->alocacao_array) { |
| 310 | $tabela .= " | 324 | $tabela .= " |
| 311 | <table cellspacing='0' cellpadding='0' border='0'> | 325 | <table cellspacing='0' cellpadding='0' border='0'> |
| 312 | <tr bgcolor='#A1B3BD' align='center'> | 326 | <tr bgcolor='#A1B3BD' align='center'> |
| 313 | - <td width='150'>Carga Horaria</td> | ||
| 314 | - <td width='80'>Periodo</td> | 327 | + <td width='150'>Carga Horária</td> |
| 328 | + <td width='80'>Período</td> | ||
| 315 | <td width='150'>Escola</td> | 329 | <td width='150'>Escola</td> |
| 316 | </tr>"; | 330 | </tr>"; |
| 317 | 331 | ||
| @@ -341,7 +355,7 @@ class indice extends clsDetalhe { | @@ -341,7 +355,7 @@ class indice extends clsDetalhe { | ||
| 341 | 355 | ||
| 342 | $tabela .= "</table>"; | 356 | $tabela .= "</table>"; |
| 343 | 357 | ||
| 344 | - $this->addDetalhe(array('Horários de trabalho', | 358 | + $this->addDetalhe(array('Horários de trabalho', |
| 345 | "<a href='javascript:trocaDisplay(\"det_pree\");' >Mostrar detalhe</a><div id='det_pree' name='det_pree' style='display:none;'>".$tabela."</div>")); | 359 | "<a href='javascript:trocaDisplay(\"det_pree\");' >Mostrar detalhe</a><div id='det_pree' name='det_pree' style='display:none;'>".$tabela."</div>")); |
| 346 | } | 360 | } |
| 347 | 361 | ||
| @@ -357,10 +371,10 @@ class indice extends clsDetalhe { | @@ -357,10 +371,10 @@ class indice extends clsDetalhe { | ||
| 357 | $this->array_botao = array(); | 371 | $this->array_botao = array(); |
| 358 | $this->array_botao_url_script = array(); | 372 | $this->array_botao_url_script = array(); |
| 359 | 373 | ||
| 360 | - $this->array_botao[] = 'Avaliação de Desempenho'; | 374 | + $this->array_botao[] = 'Avaliação de Desempenho'; |
| 361 | $this->array_botao_url_script[] = "go(\"educar_avaliacao_desempenho_lst.php?{$get_padrao}\");"; | 375 | $this->array_botao_url_script[] = "go(\"educar_avaliacao_desempenho_lst.php?{$get_padrao}\");"; |
| 362 | 376 | ||
| 363 | - $this->array_botao[] = 'Formação'; | 377 | + $this->array_botao[] = 'Formação'; |
| 364 | $this->array_botao_url_script[] = "go(\"educar_servidor_formacao_lst.php?{$get_padrao}\");"; | 378 | $this->array_botao_url_script[] = "go(\"educar_servidor_formacao_lst.php?{$get_padrao}\");"; |
| 365 | 379 | ||
| 366 | $this->array_botao[] = 'Faltas/Atrasos'; | 380 | $this->array_botao[] = 'Faltas/Atrasos'; |
| @@ -378,7 +392,7 @@ class indice extends clsDetalhe { | @@ -378,7 +392,7 @@ class indice extends clsDetalhe { | ||
| 378 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1); | 392 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1); |
| 379 | 393 | ||
| 380 | if ($lista) { | 394 | if ($lista) { |
| 381 | - $this->array_botao[] = 'Substituir Horário Servidor'; | 395 | + $this->array_botao[] = 'Substituir Horário Servidor'; |
| 382 | $this->array_botao_url_script[] = "go(\"educar_servidor_substituicao_cad.php?{$get_padrao}\");"; | 396 | $this->array_botao_url_script[] = "go(\"educar_servidor_substituicao_cad.php?{$get_padrao}\");"; |
| 383 | } | 397 | } |
| 384 | 398 | ||
| @@ -412,14 +426,15 @@ $pagina->addForm($miolo); | @@ -412,14 +426,15 @@ $pagina->addForm($miolo); | ||
| 412 | // Gera o HTML | 426 | // Gera o HTML |
| 413 | $pagina->MakeAll(); | 427 | $pagina->MakeAll(); |
| 414 | ?> | 428 | ?> |
| 415 | - | ||
| 416 | <script type="text/javascript"> | 429 | <script type="text/javascript"> |
| 417 | -function trocaDisplay(id) { | 430 | +function trocaDisplay(id) |
| 431 | +{ | ||
| 418 | var element = document.getElementById(id); | 432 | var element = document.getElementById(id); |
| 419 | - element.style.display = (element.style.display == "none") ? "inline" : "none"; | 433 | + element.style.display = (element.style.display == 'none') ? 'inline' : 'none'; |
| 420 | } | 434 | } |
| 421 | 435 | ||
| 422 | -function popless() { | 436 | +function popless() |
| 437 | +{ | ||
| 423 | var campoServidor = <?=$_GET["cod_servidor"];?>; | 438 | var campoServidor = <?=$_GET["cod_servidor"];?>; |
| 424 | var campoInstituicao = <?=$_GET["ref_cod_instituicao"];?>; | 439 | var campoInstituicao = <?=$_GET["ref_cod_instituicao"];?>; |
| 425 | pesquisa_valores_popless('educar_servidor_nivel_cad.php?ref_cod_servidor='+campoServidor+'&ref_cod_instituicao='+campoInstituicao, ''); | 440 | pesquisa_valores_popless('educar_servidor_nivel_cad.php?ref_cod_servidor='+campoServidor+'&ref_cod_instituicao='+campoInstituicao, ''); |
ieducar/intranet/educar_servidor_disciplina_lst.php
| @@ -32,6 +32,8 @@ require_once 'include/clsBase.inc.php'; | @@ -32,6 +32,8 @@ 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 'ComponenteCurricular/Model/ComponenteDataMapper.php'; | ||
| 36 | +require_once 'ComponenteCurricular/Model/AnoEscolarDataMapper.php'; | ||
| 35 | 37 | ||
| 36 | /** | 38 | /** |
| 37 | * clsIndexBase class. | 39 | * clsIndexBase class. |
| @@ -48,9 +50,9 @@ class clsIndexBase extends clsBase | @@ -48,9 +50,9 @@ class clsIndexBase extends clsBase | ||
| 48 | function Formular() | 50 | function Formular() |
| 49 | { | 51 | { |
| 50 | $this->SetTitulo($this->_instituicao . ' i-Educar - Servidor Disciplina'); | 52 | $this->SetTitulo($this->_instituicao . ' i-Educar - Servidor Disciplina'); |
| 51 | - $this->processoAp = 0; | ||
| 52 | - $this->renderBanner = FALSE; | ||
| 53 | - $this->renderMenu = FALSE; | 53 | + $this->processoAp = 0; |
| 54 | + $this->renderBanner = FALSE; | ||
| 55 | + $this->renderMenu = FALSE; | ||
| 54 | $this->renderMenuSuspenso = FALSE; | 56 | $this->renderMenuSuspenso = FALSE; |
| 55 | } | 57 | } |
| 56 | } | 58 | } |
| @@ -114,13 +116,14 @@ class indice extends clsCadastro | @@ -114,13 +116,14 @@ class indice extends clsCadastro | ||
| 114 | if (!$this->cursos_disciplina) { | 116 | if (!$this->cursos_disciplina) { |
| 115 | $obj_servidor_disciplina = new clsPmieducarServidorDisciplina(); | 117 | $obj_servidor_disciplina = new clsPmieducarServidorDisciplina(); |
| 116 | $lst_servidor_disciplina = $obj_servidor_disciplina->lista(NULL, | 118 | $lst_servidor_disciplina = $obj_servidor_disciplina->lista(NULL, |
| 117 | - $this->ref_cod_instituicao,$this->cod_servidor); | 119 | + $this->ref_cod_instituicao, $this->cod_servidor); |
| 118 | 120 | ||
| 119 | if ($lst_servidor_disciplina) { | 121 | if ($lst_servidor_disciplina) { |
| 120 | foreach ($lst_servidor_disciplina as $disciplina) { | 122 | foreach ($lst_servidor_disciplina as $disciplina) { |
| 121 | - $obj_disciplina = new clsPmieducarDisciplina($disciplina['ref_cod_disciplina']); | ||
| 122 | - $det_disciplina = $obj_disciplina->detalhe(); | ||
| 123 | - $this->cursos_disciplina[$det_disciplina['ref_cod_curso']][$disciplina['ref_cod_disciplina']] = $disciplina['ref_cod_disciplina']; | 123 | + $componenteMapper = new ComponenteCurricular_Model_ComponenteDataMapper(); |
| 124 | + $componente = $componenteMapper->find($disciplina['ref_cod_disciplina']); | ||
| 125 | + | ||
| 126 | + $this->cursos_disciplina[$disciplina['ref_cod_curso']][$disciplina['ref_cod_disciplina']] = $disciplina['ref_cod_disciplina']; | ||
| 124 | } | 127 | } |
| 125 | } | 128 | } |
| 126 | } | 129 | } |
| @@ -148,7 +151,7 @@ class indice extends clsCadastro | @@ -148,7 +151,7 @@ class indice extends clsCadastro | ||
| 148 | $obj_cursos->setOrderby('nm_curso'); | 151 | $obj_cursos->setOrderby('nm_curso'); |
| 149 | $lst_cursos = $obj_cursos->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, | 152 | $lst_cursos = $obj_cursos->lista(NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 150 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | 153 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
| 151 | - NULL, NULL, NULL,1, NULL,$this->ref_cod_instituicao); | 154 | + NULL, NULL, NULL,1, NULL, $this->ref_cod_instituicao); |
| 152 | 155 | ||
| 153 | if ($lst_cursos) { | 156 | if ($lst_cursos) { |
| 154 | foreach ($lst_cursos as $curso) { | 157 | foreach ($lst_cursos as $curso) { |
| @@ -161,11 +164,12 @@ class indice extends clsCadastro | @@ -161,11 +164,12 @@ class indice extends clsCadastro | ||
| 161 | $lst_opcoes = array(); | 164 | $lst_opcoes = array(); |
| 162 | $arr_valores = array(); | 165 | $arr_valores = array(); |
| 163 | 166 | ||
| 164 | - if($this->cursos_disciplina) { | 167 | + |
| 168 | + if ($this->cursos_disciplina) { | ||
| 165 | foreach ($this->cursos_disciplina as $curso => $disciplinas) { | 169 | foreach ($this->cursos_disciplina as $curso => $disciplinas) { |
| 166 | if ($disciplinas) { | 170 | if ($disciplinas) { |
| 167 | foreach ($disciplinas as $disciplina) { | 171 | foreach ($disciplinas as $disciplina) { |
| 168 | - $arr_valores[] = array($curso,$disciplina); | 172 | + $arr_valores[] = array($curso, $disciplina); |
| 169 | } | 173 | } |
| 170 | } | 174 | } |
| 171 | } | 175 | } |
| @@ -177,21 +181,27 @@ class indice extends clsCadastro | @@ -177,21 +181,27 @@ class indice extends clsCadastro | ||
| 177 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, $curso, | 181 | NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, $curso, |
| 178 | $this->ref_cod_instituicao); | 182 | $this->ref_cod_instituicao); |
| 179 | 183 | ||
| 184 | + $componenteAnoDataMapper = new ComponenteCurricular_Model_AnoEscolarDataMapper(); | ||
| 185 | + $componentes = $componenteAnoDataMapper->findComponentePorCurso($curso); | ||
| 186 | + | ||
| 180 | $opcoes_disc = array(); | 187 | $opcoes_disc = array(); |
| 181 | - foreach ($lst_disciplinas as $disciplina) { | ||
| 182 | - $opcoes_disc[$disciplina['cod_disciplina']] = $disciplina['nm_disciplina']; | 188 | + foreach ($componentes as $componente) { |
| 189 | + $opcoes_disc[$componente->id] = $componente->nome; | ||
| 183 | } | 190 | } |
| 184 | 191 | ||
| 185 | - $lst_opcoes[] = array($opcoes_curso,$opcoes_disc); | 192 | + $lst_opcoes[] = array($opcoes_curso, $opcoes_disc); |
| 186 | } | 193 | } |
| 187 | } | 194 | } |
| 188 | 195 | ||
| 189 | - $this->campoTabelaInicio('funcao', 'Disciplinas', array('Curso','Disciplina'), | 196 | + $this->campoTabelaInicio('funcao', 'Componentes Curriculares', array('Curso', 'Componente Curricular'), |
| 190 | $arr_valores, '', $lst_opcoes); | 197 | $arr_valores, '', $lst_opcoes); |
| 191 | 198 | ||
| 199 | + // Cursos | ||
| 192 | $this->campoLista('ref_cod_curso', 'Curso', $opcoes_curso, | 200 | $this->campoLista('ref_cod_curso', 'Curso', $opcoes_curso, |
| 193 | $this->ref_cod_curso, 'trocaCurso(this)', '', '', ''); | 201 | $this->ref_cod_curso, 'trocaCurso(this)', '', '', ''); |
| 194 | - $this->campoLista('ref_cod_disciplina', 'Disciplina', $opcoes, | 202 | + |
| 203 | + // Disciplinas | ||
| 204 | + $this->campoLista('ref_cod_disciplina', 'Componente Curricular', $opcoes, | ||
| 195 | $this->ref_cod_disciplina, '', '', '', ''); | 205 | $this->ref_cod_disciplina, '', '', '', ''); |
| 196 | 206 | ||
| 197 | $this->campoTabelaFim(); | 207 | $this->campoTabelaFim(); |
ieducar/intranet/include/pmieducar/clsPmieducarServidor.inc.php
| @@ -107,7 +107,7 @@ class clsPmieducarServidor | @@ -107,7 +107,7 @@ class clsPmieducarServidor | ||
| 107 | /** | 107 | /** |
| 108 | * Construtor. | 108 | * Construtor. |
| 109 | */ | 109 | */ |
| 110 | - public function clsPmieducarServidor( | 110 | + function clsPmieducarServidor( |
| 111 | $cod_servidor = NULL, $ref_cod_deficiencia = NULL, $ref_idesco = NULL, | 111 | $cod_servidor = NULL, $ref_cod_deficiencia = NULL, $ref_idesco = NULL, |
| 112 | $carga_horaria = NULL, $data_cadastro = NULL, $data_exclusao = NULL, | 112 | $carga_horaria = NULL, $data_cadastro = NULL, $data_exclusao = NULL, |
| 113 | $ativo = NULL, $ref_cod_instituicao = NULL, $ref_cod_subnivel = NULL) | 113 | $ativo = NULL, $ref_cod_instituicao = NULL, $ref_cod_subnivel = NULL) |
| @@ -408,7 +408,7 @@ class clsPmieducarServidor | @@ -408,7 +408,7 @@ class clsPmieducarServidor | ||
| 408 | * @return array|bool Array com os resultados da query SELECT ou FALSE caso | 408 | * @return array|bool Array com os resultados da query SELECT ou FALSE caso |
| 409 | * nenhum registro tenha sido encontrado | 409 | * nenhum registro tenha sido encontrado |
| 410 | */ | 410 | */ |
| 411 | - public function lista( | 411 | + function lista( |
| 412 | $int_cod_servidor = NULL, | 412 | $int_cod_servidor = NULL, |
| 413 | $int_ref_cod_deficiencia = NULL, | 413 | $int_ref_cod_deficiencia = NULL, |
| 414 | $int_ref_idesco = NULL, | 414 | $int_ref_idesco = NULL, |
| @@ -551,168 +551,176 @@ class clsPmieducarServidor | @@ -551,168 +551,176 @@ class clsPmieducarServidor | ||
| 551 | 551 | ||
| 552 | $whereAnd = " AND "; | 552 | $whereAnd = " AND "; |
| 553 | } | 553 | } |
| 554 | + else { | ||
| 555 | + if (is_numeric($alocacao_escola_instituicao)) { | ||
| 556 | + $filtros .= " | ||
| 557 | + {$whereAnd} s.cod_servidor IN | ||
| 558 | + (SELECT a.ref_cod_servidor | ||
| 559 | + FROM pmieducar.servidor_alocacao a | ||
| 560 | + WHERE "; | ||
| 554 | 561 | ||
| 555 | - if (is_numeric($alocacao_escola_instituicao)) { | ||
| 556 | - $filtros .= " | ||
| 557 | - {$whereAnd} s.cod_servidor IN | ||
| 558 | - (SELECT a.ref_cod_servidor | ||
| 559 | - FROM pmieducar.servidor_alocacao a | ||
| 560 | - WHERE "; | 562 | + if (is_numeric($int_ref_cod_instituicao)) { |
| 563 | + $filtros .= $whereAnd . " a.ref_ref_cod_instituicao = '{$int_ref_cod_instituicao}'"; | ||
| 564 | + } | ||
| 561 | 565 | ||
| 562 | - if (is_numeric($int_ref_cod_instituicao)) { | ||
| 563 | - $filtros .= " a.ref_ref_cod_instituicao = '{$int_ref_cod_instituicao}'"; | ||
| 564 | - } | 566 | + if (is_numeric($int_ref_cod_escola)) { |
| 567 | + $filtros .= $whereAnd . " and ref_cod_escola = '{$int_ref_cod_escola}' "; | ||
| 568 | + } | ||
| 565 | 569 | ||
| 566 | - if (is_numeric($int_ref_cod_escola)) { | ||
| 567 | - $filtros .= " and ref_cod_escola = '{$int_ref_cod_escola}' "; | 570 | + $filtros .= ') '; |
| 568 | } | 571 | } |
| 569 | 572 | ||
| 570 | - $filtros .= ') '; | ||
| 571 | - } | 573 | + if (is_array($array_horario)) { |
| 574 | + $cond = "AND"; | ||
| 575 | + if (is_numeric($int_ref_cod_instituicao)) { | ||
| 576 | + $where .= " {$cond} a.ref_ref_cod_instituicao = '{$int_ref_cod_instituicao}' "; | ||
| 577 | + $cond = "AND"; | ||
| 578 | + } | ||
| 572 | 579 | ||
| 573 | - if (is_array($array_horario)) { | ||
| 574 | - $cond = ""; | ||
| 575 | - if (is_numeric($int_ref_cod_instituicao)) { | ||
| 576 | - $where .= " {$cond} a.ref_ref_cod_instituicao = '{$int_ref_cod_instituicao}' "; | ||
| 577 | - $cond = "AND"; | ||
| 578 | - } | 580 | + if (is_numeric($int_ref_cod_escola)) { |
| 581 | + $where .= " {$cond} a.ref_cod_escola = '{$int_ref_cod_escola}' "; | ||
| 582 | + $cond = "AND"; | ||
| 583 | + } | ||
| 579 | 584 | ||
| 580 | - if (is_numeric($int_ref_cod_escola)) { | ||
| 581 | - $where .= " {$cond} a.ref_cod_escola = '{$int_ref_cod_escola}' "; | 585 | + $where .= " {$cond} a.ativo = '1'"; |
| 582 | $cond = "AND"; | 586 | $cond = "AND"; |
| 583 | - } | ||
| 584 | 587 | ||
| 585 | - $where .= " {$cond} a.ativo = '1'"; | ||
| 586 | - $cond = "AND"; | 588 | + $hora_ini = explode(":", $array_horario[1]); |
| 589 | + $hora_fim = explode(":", $array_horario[2]); | ||
| 590 | + $horas = sprintf("%02d", (int) abs($hora_fim[0]) - abs($hora_ini[0])); | ||
| 591 | + $minutos = sprintf("%02d", (int) abs($hora_fim[1]) - abs($hora_ini[1])); | ||
| 587 | 592 | ||
| 588 | - $hora_ini = explode(":", $array_horario[1]); | ||
| 589 | - $hora_fim = explode(":", $array_horario[2]); | ||
| 590 | - $horas = sprintf("%02d", (int) abs($hora_fim[0]) - abs($hora_ini[0])); | ||
| 591 | - $minutos = sprintf("%02d", (int) abs($hora_fim[1]) - abs($hora_ini[1])); | 593 | + // Remove qualquer AND que esteja no início da cláusula SQL |
| 594 | + $wherePieces = explode(' ', trim($where)); | ||
| 595 | + if ('AND' == $wherePieces[0]) { | ||
| 596 | + array_shift($wherePieces); | ||
| 597 | + $where = implode(' ', $wherePieces); | ||
| 598 | + } | ||
| 592 | 599 | ||
| 593 | - if ($matutino) { | ||
| 594 | - if (is_string($str_horario) && $str_horario == "S") { | ||
| 595 | - // A somatória retorna nulo | ||
| 596 | - $filtros .= " | ||
| 597 | - {$whereAnd} s.cod_servidor IN (SELECT a.ref_cod_servidor | ||
| 598 | - FROM pmieducar.servidor_alocacao a | ||
| 599 | - WHERE $where | ||
| 600 | - AND a.periodo = 1 | ||
| 601 | - AND a.carga_horaria >= COALESCE( | ||
| 602 | - (SELECT SUM(qhh.hora_final - qhh.hora_inicial) | ||
| 603 | - FROM pmieducar.quadro_horario_horarios qhh | ||
| 604 | - WHERE qhh.ref_cod_instituicao_servidor = '$int_ref_cod_instituicao' | ||
| 605 | - AND qhh.ref_cod_escola = '$int_ref_cod_escola' | ||
| 606 | - AND hora_inicial >= '08:00' | ||
| 607 | - AND hora_inicial <= '12:00' | ||
| 608 | - AND qhh.ativo = '1' | ||
| 609 | - AND qhh.dia_semana <> '$int_dia_semana' | ||
| 610 | - AND qhh.ref_servidor = a.ref_cod_servidor | ||
| 611 | - GROUP BY qhh.ref_servidor) ,'00:00') + '$str_hr_mat' + COALESCE( | ||
| 612 | - (SELECT SUM( qhha.hora_final - qhha.hora_inicial ) | ||
| 613 | - FROM pmieducar.quadro_horario_horarios_aux qhha | ||
| 614 | - WHERE qhha.ref_cod_instituicao_servidor = '$int_ref_cod_instituicao' | ||
| 615 | - AND qhha.ref_cod_escola = $int_ref_cod_escola | 600 | + if ($matutino) { |
| 601 | + if (is_string($str_horario) && $str_horario == "S") { | ||
| 602 | + // A somatória retorna nulo | ||
| 603 | + $filtros .= " | ||
| 604 | + {$whereAnd} s.cod_servidor IN (SELECT a.ref_cod_servidor | ||
| 605 | + FROM pmieducar.servidor_alocacao a | ||
| 606 | + WHERE $where | ||
| 607 | + AND a.periodo = 1 | ||
| 608 | + AND a.carga_horaria >= COALESCE( | ||
| 609 | + (SELECT SUM(qhh.hora_final - qhh.hora_inicial) | ||
| 610 | + FROM pmieducar.quadro_horario_horarios qhh | ||
| 611 | + WHERE qhh.ref_cod_instituicao_servidor = '$int_ref_cod_instituicao' | ||
| 612 | + AND qhh.ref_cod_escola = '$int_ref_cod_escola' | ||
| 616 | AND hora_inicial >= '08:00' | 613 | AND hora_inicial >= '08:00' |
| 617 | AND hora_inicial <= '12:00' | 614 | AND hora_inicial <= '12:00' |
| 618 | - AND qhha.ref_servidor = a.ref_cod_servidor | ||
| 619 | - AND identificador = '$int_identificador' | ||
| 620 | - GROUP BY qhha.ref_servidor),'00:00'))"; | 615 | + AND qhh.ativo = '1' |
| 616 | + AND qhh.dia_semana <> '$int_dia_semana' | ||
| 617 | + AND qhh.ref_servidor = a.ref_cod_servidor | ||
| 618 | + GROUP BY qhh.ref_servidor) ,'00:00') + '$str_hr_mat' + COALESCE( | ||
| 619 | + (SELECT SUM( qhha.hora_final - qhha.hora_inicial ) | ||
| 620 | + FROM pmieducar.quadro_horario_horarios_aux qhha | ||
| 621 | + WHERE qhha.ref_cod_instituicao_servidor = '$int_ref_cod_instituicao' | ||
| 622 | + AND qhha.ref_cod_escola = $int_ref_cod_escola | ||
| 623 | + AND hora_inicial >= '08:00' | ||
| 624 | + AND hora_inicial <= '12:00' | ||
| 625 | + AND qhha.ref_servidor = a.ref_cod_servidor | ||
| 626 | + AND identificador = '$int_identificador' | ||
| 627 | + GROUP BY qhha.ref_servidor),'00:00'))"; | ||
| 628 | + } | ||
| 629 | + else { | ||
| 630 | + $filtros .= " | ||
| 631 | + {$whereAnd} s.cod_servidor NOT IN (SELECT a.ref_cod_servidor | ||
| 632 | + FROM pmieducar.servidor_alocacao a | ||
| 633 | + WHERE $where | ||
| 634 | + AND a.periodo = 1)"; | ||
| 635 | + } | ||
| 621 | } | 636 | } |
| 622 | - else { | ||
| 623 | - $filtros .= " | ||
| 624 | - {$whereAnd} s.cod_servidor NOT IN (SELECT a.ref_cod_servidor | ||
| 625 | - FROM pmieducar.servidor_alocacao a | ||
| 626 | - WHERE $where | ||
| 627 | - AND a.periodo = 1)"; | 637 | + |
| 638 | + if ($vespertino) { | ||
| 639 | + if (is_string($str_horario) && $str_horario == "S") { | ||
| 640 | + $filtros .= " | ||
| 641 | + {$whereAnd} s.cod_servidor IN | ||
| 642 | + (SELECT a.ref_cod_servidor | ||
| 643 | + FROM pmieducar.servidor_alocacao a | ||
| 644 | + WHERE $where | ||
| 645 | + AND a.periodo = 2 | ||
| 646 | + AND a.carga_horaria >= COALESCE( | ||
| 647 | + (SELECT SUM( qhh.hora_final - qhh.hora_inicial ) | ||
| 648 | + FROM pmieducar.quadro_horario_horarios qhh | ||
| 649 | + WHERE qhh.ref_cod_instituicao_servidor = '$int_ref_cod_instituicao' | ||
| 650 | + AND qhh.ref_cod_escola = '$int_ref_cod_escola' | ||
| 651 | + AND qhh.ativo = '1' | ||
| 652 | + AND hora_inicial >= '12:00' | ||
| 653 | + AND hora_inicial <= '18:00' | ||
| 654 | + AND qhh.dia_semana <> '$int_dia_semana' | ||
| 655 | + AND qhh.ref_servidor = a.ref_cod_servidor | ||
| 656 | + GROUP BY qhh.ref_servidor ),'00:00') + '$str_hr_ves' + COALESCE( | ||
| 657 | + (SELECT SUM( qhha.hora_final - qhha.hora_inicial ) | ||
| 658 | + FROM pmieducar.quadro_horario_horarios_aux qhha | ||
| 659 | + WHERE qhha.ref_cod_instituicao_servidor = '$int_ref_cod_instituicao' | ||
| 660 | + AND qhha.ref_cod_escola = '$int_ref_cod_escola' | ||
| 661 | + AND qhha.ref_servidor = a.ref_cod_servidor | ||
| 662 | + AND hora_inicial >= '12:00' | ||
| 663 | + AND hora_inicial <= '18:00' | ||
| 664 | + AND identificador = '$int_identificador' | ||
| 665 | + GROUP BY qhha.ref_servidor),'00:00') )"; | ||
| 666 | + } | ||
| 667 | + else { | ||
| 668 | + $filtros .= " | ||
| 669 | + {$whereAnd} s.cod_servidor NOT IN ( SELECT a.ref_cod_servidor | ||
| 670 | + FROM pmieducar.servidor_alocacao a | ||
| 671 | + WHERE $where | ||
| 672 | + AND a.periodo = 2 )"; | ||
| 673 | + } | ||
| 628 | } | 674 | } |
| 629 | - } | ||
| 630 | 675 | ||
| 631 | - if ($vespertino) { | ||
| 632 | - if (is_string($str_horario) && $str_horario == "S") { | 676 | + if ($noturno) { |
| 677 | + if (is_string($str_horario) && $str_horario == "S") { | ||
| 633 | $filtros .= " | 678 | $filtros .= " |
| 634 | - {$whereAnd} s.cod_servidor IN | ||
| 635 | - (SELECT a.ref_cod_servidor | 679 | + {$whereAnd} s.cod_servidor IN ( SELECT a.ref_cod_servidor |
| 636 | FROM pmieducar.servidor_alocacao a | 680 | FROM pmieducar.servidor_alocacao a |
| 637 | WHERE $where | 681 | WHERE $where |
| 638 | - AND a.periodo = 2 | 682 | + AND a.periodo = 3 |
| 639 | AND a.carga_horaria >= COALESCE( | 683 | AND a.carga_horaria >= COALESCE( |
| 640 | - (SELECT SUM( qhh.hora_final - qhh.hora_inicial ) | 684 | + (SELECT SUM(qhh.hora_final - qhh.hora_inicial) |
| 641 | FROM pmieducar.quadro_horario_horarios qhh | 685 | FROM pmieducar.quadro_horario_horarios qhh |
| 642 | WHERE qhh.ref_cod_instituicao_servidor = '$int_ref_cod_instituicao' | 686 | WHERE qhh.ref_cod_instituicao_servidor = '$int_ref_cod_instituicao' |
| 643 | AND qhh.ref_cod_escola = '$int_ref_cod_escola' | 687 | AND qhh.ref_cod_escola = '$int_ref_cod_escola' |
| 644 | AND qhh.ativo = '1' | 688 | AND qhh.ativo = '1' |
| 645 | - AND hora_inicial >= '12:00' | ||
| 646 | - AND hora_inicial <= '18:00' | 689 | + AND hora_inicial >= '18:00' |
| 690 | + AND hora_inicial <= '23:00' | ||
| 647 | AND qhh.dia_semana <> '$int_dia_semana' | 691 | AND qhh.dia_semana <> '$int_dia_semana' |
| 648 | - AND qhh.ref_servidor = a.ref_cod_servidor | ||
| 649 | - GROUP BY qhh.ref_servidor ),'00:00') + '$str_hr_ves' + COALESCE( | ||
| 650 | - (SELECT SUM( qhha.hora_final - qhha.hora_inicial ) | 692 | + GROUP BY qhh.ref_servidor ),'00:00') + '$str_hr_not' + COALESCE( |
| 693 | + (SELECT SUM( qhha.hora_final - qhha.hora_inicial ) | ||
| 651 | FROM pmieducar.quadro_horario_horarios_aux qhha | 694 | FROM pmieducar.quadro_horario_horarios_aux qhha |
| 652 | WHERE qhha.ref_cod_instituicao_servidor = '$int_ref_cod_instituicao' | 695 | WHERE qhha.ref_cod_instituicao_servidor = '$int_ref_cod_instituicao' |
| 653 | AND qhha.ref_cod_escola = '$int_ref_cod_escola' | 696 | AND qhha.ref_cod_escola = '$int_ref_cod_escola' |
| 654 | AND qhha.ref_servidor = a.ref_cod_servidor | 697 | AND qhha.ref_servidor = a.ref_cod_servidor |
| 655 | - AND hora_inicial >= '12:00' | ||
| 656 | - AND hora_inicial <= '18:00' | 698 | + AND hora_inicial >= '18:00' |
| 699 | + AND hora_inicial <= '23:00' | ||
| 657 | AND identificador = '$int_identificador' | 700 | AND identificador = '$int_identificador' |
| 658 | GROUP BY qhha.ref_servidor),'00:00') )"; | 701 | GROUP BY qhha.ref_servidor),'00:00') )"; |
| 702 | + } | ||
| 703 | + else { | ||
| 704 | + $filtros .= " | ||
| 705 | + {$whereAnd} s.cod_servidor NOT IN ( | ||
| 706 | + SELECT a.ref_cod_servidor | ||
| 707 | + FROM pmieducar.servidor_alocacao a | ||
| 708 | + WHERE $where | ||
| 709 | + AND a.periodo = 3 )"; | ||
| 710 | + } | ||
| 659 | } | 711 | } |
| 660 | - else { | ||
| 661 | - $filtros .= " | ||
| 662 | - {$whereAnd} s.cod_servidor NOT IN ( SELECT a.ref_cod_servidor | ||
| 663 | - FROM pmieducar.servidor_alocacao a | ||
| 664 | - WHERE $where | ||
| 665 | - AND a.periodo = 2 )"; | ||
| 666 | - } | ||
| 667 | - } | ||
| 668 | 712 | ||
| 669 | - if ($noturno) { | ||
| 670 | if (is_string($str_horario) && $str_horario == "S") { | 713 | if (is_string($str_horario) && $str_horario == "S") { |
| 671 | - $filtros .= " | ||
| 672 | - {$whereAnd} s.cod_servidor IN ( SELECT a.ref_cod_servidor | ||
| 673 | - FROM pmieducar.servidor_alocacao a | ||
| 674 | - WHERE $where | ||
| 675 | - AND a.periodo = 3 | ||
| 676 | - AND a.carga_horaria >= COALESCE( | ||
| 677 | - (SELECT SUM(qhh.hora_final - qhh.hora_inicial) | ||
| 678 | - FROM pmieducar.quadro_horario_horarios qhh | ||
| 679 | - WHERE qhh.ref_cod_instituicao_servidor = '$int_ref_cod_instituicao' | ||
| 680 | - AND qhh.ref_cod_escola = '$int_ref_cod_escola' | ||
| 681 | - AND qhh.ativo = '1' | ||
| 682 | - AND hora_inicial >= '18:00' | ||
| 683 | - AND hora_inicial <= '23:00' | ||
| 684 | - AND qhh.dia_semana <> '$int_dia_semana' | ||
| 685 | - GROUP BY qhh.ref_servidor ),'00:00') + '$str_hr_not' + COALESCE( | ||
| 686 | - (SELECT SUM( qhha.hora_final - qhha.hora_inicial ) | ||
| 687 | - FROM pmieducar.quadro_horario_horarios_aux qhha | ||
| 688 | - WHERE qhha.ref_cod_instituicao_servidor = '$int_ref_cod_instituicao' | ||
| 689 | - AND qhha.ref_cod_escola = '$int_ref_cod_escola' | ||
| 690 | - AND qhha.ref_servidor = a.ref_cod_servidor | ||
| 691 | - AND hora_inicial >= '18:00' | ||
| 692 | - AND hora_inicial <= '23:00' | ||
| 693 | - AND identificador = '$int_identificador' | ||
| 694 | - GROUP BY qhha.ref_servidor),'00:00') )"; | ||
| 695 | } | 714 | } |
| 696 | else { | 715 | else { |
| 697 | $filtros .= " | 716 | $filtros .= " |
| 698 | - {$whereAnd} s.cod_servidor NOT IN ( | ||
| 699 | - SELECT a.ref_cod_servidor | ||
| 700 | - FROM pmieducar.servidor_alocacao a | ||
| 701 | - WHERE $where | ||
| 702 | - AND a.periodo = 3 )"; | 717 | + {$whereAnd} s.carga_horaria >= COALESCE( |
| 718 | + (SELECT sum(hora_final - hora_inicial) + '" . abs($horas) . ":" . abs($minutos)."' | ||
| 719 | + FROM pmieducar.servidor_alocacao sa | ||
| 720 | + WHERE sa.ref_cod_servidor = s.cod_servidor | ||
| 721 | + AND sa.ref_ref_cod_instituicao ='{$int_ref_cod_instituicao}'),'00:00') "; | ||
| 703 | } | 722 | } |
| 704 | } | 723 | } |
| 705 | - | ||
| 706 | - if (is_string($str_horario) && $str_horario == "S") { | ||
| 707 | - } | ||
| 708 | - else { | ||
| 709 | - $filtros .= " | ||
| 710 | - {$whereAnd} s.carga_horaria >= COALESCE( | ||
| 711 | - (SELECT sum(hora_final - hora_inicial) + '" . abs($horas) . ":" . abs($minutos)."' | ||
| 712 | - FROM pmieducar.servidor_alocacao sa | ||
| 713 | - WHERE sa.ref_cod_servidor = s.cod_servidor | ||
| 714 | - AND sa.ref_ref_cod_instituicao ='{$int_ref_cod_instituicao}'),'00:00') "; | ||
| 715 | - } | ||
| 716 | } | 724 | } |
| 717 | 725 | ||
| 718 | if ((is_array($array_horario) && $str_not_in_servidor) || (is_string($str_tipo) && $str_not_in_servidor)) { | 726 | if ((is_array($array_horario) && $str_not_in_servidor) || (is_string($str_tipo) && $str_not_in_servidor)) { |
| @@ -723,42 +731,53 @@ class clsPmieducarServidor | @@ -723,42 +731,53 @@ class clsPmieducarServidor | ||
| 723 | $obj_curso = new clsPmieducarCurso($int_ref_cod_curso); | 731 | $obj_curso = new clsPmieducarCurso($int_ref_cod_curso); |
| 724 | $det_curso = $obj_curso->detalhe(); | 732 | $det_curso = $obj_curso->detalhe(); |
| 725 | 733 | ||
| 726 | - if ($det_curso['falta_ch_globalizada']) { | ||
| 727 | - // Busca professores independentemente da disciplina, somente verifica | ||
| 728 | - // se é professor e se ministra a disciplina para o curso | ||
| 729 | - $filtros .= " | ||
| 730 | - {$whereAnd} EXISTS | ||
| 731 | - (SELECT 1 | ||
| 732 | - FROM pmieducar.servidor_curso_ministra scm | ||
| 733 | - WHERE scm.ref_cod_curso = $int_ref_cod_curso AND | ||
| 734 | - scm.ref_ref_cod_instituicao = s.ref_cod_instituicao AND | ||
| 735 | - s.cod_servidor = scm.ref_cod_servidor)"; | ||
| 736 | - $whereAnd = " AND "; | ||
| 737 | - } | ||
| 738 | - else { | ||
| 739 | - // Verifica se o professor está habilitado para ministrar a disciplina | ||
| 740 | - if (is_numeric($int_ref_cod_disciplina)) { | ||
| 741 | - $filtros .= " | ||
| 742 | - {$whereAnd} EXISTS | ||
| 743 | - (SELECT 1 | ||
| 744 | - FROM pmieducar.servidor_disciplina sd | ||
| 745 | - WHERE sd.ref_cod_disciplina = $int_ref_cod_disciplina AND | ||
| 746 | - sd.ref_ref_cod_instituicao = s.ref_cod_instituicao AND | ||
| 747 | - s.cod_servidor = sd.ref_cod_servidor)"; | ||
| 748 | - $whereAnd = " AND "; | ||
| 749 | - } | ||
| 750 | - } | ||
| 751 | - | ||
| 752 | // Seleciona apenas servidor cuja uma de suas funções seja a de professor | 734 | // Seleciona apenas servidor cuja uma de suas funções seja a de professor |
| 735 | + // @todo Extract method | ||
| 753 | if ($boo_professor) { | 736 | if ($boo_professor) { |
| 737 | + /* | ||
| 738 | + * Caso os códigos de disciplina e de curso não sejam informado, mas o de | ||
| 739 | + * servidor para não buscar sim, seleciona as disciplinas deste servidor | ||
| 740 | + * com o qual o professor candidato terá que lecionar para ser retornado | ||
| 741 | + * na query. | ||
| 742 | + */ | ||
| 743 | + if (!$int_ref_cod_disciplina && !$int_ref_cod_curso) { | ||
| 744 | + $servidorDisciplina = new clsPmieducarServidorDisciplina(); | ||
| 745 | + $disciplinas = $servidorDisciplina->lista(NULL, NULL, $str_not_in_servidor); | ||
| 746 | + $servidorDisciplinas = array(); | ||
| 747 | + | ||
| 748 | + if (is_array($disciplinas)) { | ||
| 749 | + foreach ($disciplinas as $disciplina) { | ||
| 750 | + $servidorDisciplinas[] = sprintf( | ||
| 751 | + '(sd.ref_cod_disciplina = %d AND sd.ref_cod_curso = %d)', | ||
| 752 | + $disciplina['ref_cod_disciplina'], $disciplina['ref_cod_curso']); | ||
| 753 | + } | ||
| 754 | + | ||
| 755 | + $servidorDisciplinas = sprintf('AND (%s)', implode(' AND ', $servidorDisciplinas)); | ||
| 756 | + } | ||
| 757 | + else { | ||
| 758 | + $servidorDisciplinas = ''; | ||
| 759 | + } | ||
| 760 | + } | ||
| 761 | + else { | ||
| 762 | + $servidorDisciplinas = sprintf( | ||
| 763 | + 'AND sd.ref_cod_disciplina = %d AND sd.ref_cod_curso = %d', | ||
| 764 | + $int_ref_cod_disciplina, $int_ref_cod_curso); | ||
| 765 | + } | ||
| 766 | + | ||
| 754 | $filtros .= " | 767 | $filtros .= " |
| 755 | {$whereAnd} EXISTS | 768 | {$whereAnd} EXISTS |
| 756 | - (SELECT 1 | ||
| 757 | - FROM pmieducar.servidor_funcao sf, pmieducar.funcao f | ||
| 758 | - WHERE f.cod_funcao = sf.ref_cod_funcao AND | 769 | + (SELECT |
| 770 | + 1 | ||
| 771 | + FROM | ||
| 772 | + pmieducar.servidor_funcao sf, pmieducar.funcao f, pmieducar.servidor_disciplina sd | ||
| 773 | + WHERE | ||
| 774 | + f.cod_funcao = sf.ref_cod_funcao AND | ||
| 759 | f.professor = 1 AND | 775 | f.professor = 1 AND |
| 760 | sf.ref_ref_cod_instituicao = s.ref_cod_instituicao AND | 776 | sf.ref_ref_cod_instituicao = s.ref_cod_instituicao AND |
| 761 | - s.cod_servidor = sf.ref_cod_servidor)"; | 777 | + s.cod_servidor = sf.ref_cod_servidor AND |
| 778 | + s.cod_servidor = sd.ref_cod_servidor AND | ||
| 779 | + s.ref_cod_instituicao = sd.ref_ref_cod_instituicao | ||
| 780 | + {$servidorDisciplinas})"; | ||
| 762 | $whereAnd = " AND "; | 781 | $whereAnd = " AND "; |
| 763 | } | 782 | } |
| 764 | 783 | ||
| @@ -796,9 +815,6 @@ class clsPmieducarServidor | @@ -796,9 +815,6 @@ class clsPmieducarServidor | ||
| 796 | $sql = "SELECT {$this->_campos_lista2} FROM {$this->_schema}servidor s{$tabela_compl} {$filtros}" . | 815 | $sql = "SELECT {$this->_campos_lista2} FROM {$this->_schema}servidor s{$tabela_compl} {$filtros}" . |
| 797 | $this->getOrderby() . $this->getLimite(); | 816 | $this->getOrderby() . $this->getLimite(); |
| 798 | 817 | ||
| 799 | - #print '<pre>' . $sql; | ||
| 800 | - #print PHP_EOL . PHP_EOL . "SELECT COUNT(0) FROM {$this->_schema}servidor s{$tabela_compl} {$filtros}"; | ||
| 801 | - #exit(); | ||
| 802 | $this->_total = $db->CampoUnico("SELECT COUNT(0) FROM {$this->_schema}servidor s{$tabela_compl} {$filtros}"); | 818 | $this->_total = $db->CampoUnico("SELECT COUNT(0) FROM {$this->_schema}servidor s{$tabela_compl} {$filtros}"); |
| 803 | 819 | ||
| 804 | // Executa a query | 820 | // Executa a query |
| @@ -891,7 +907,7 @@ class clsPmieducarServidor | @@ -891,7 +907,7 @@ class clsPmieducarServidor | ||
| 891 | * função. O array interno contém o nome da função e se a função desempenha | 907 | * função. O array interno contém o nome da função e se a função desempenha |
| 892 | * um papel de professor | 908 | * um papel de professor |
| 893 | */ | 909 | */ |
| 894 | - public function getServidorFuncoes() | 910 | + function getServidorFuncoes() |
| 895 | { | 911 | { |
| 896 | $db = new clsBanco(); | 912 | $db = new clsBanco(); |
| 897 | 913 | ||
| @@ -928,7 +944,7 @@ class clsPmieducarServidor | @@ -928,7 +944,7 @@ class clsPmieducarServidor | ||
| 928 | * @return array|bool Array com códigos das disciplinas ordenados ou FALSE | 944 | * @return array|bool Array com códigos das disciplinas ordenados ou FALSE |
| 929 | * caso o servidor não tenha disciplinas | 945 | * caso o servidor não tenha disciplinas |
| 930 | */ | 946 | */ |
| 931 | - public function getServidorDisciplinasQuadroHorarioHorarios($codServidor = NULL, | 947 | + function getServidorDisciplinasQuadroHorarioHorarios($codServidor = NULL, |
| 932 | $codInstituicao = NULL) | 948 | $codInstituicao = NULL) |
| 933 | { | 949 | { |
| 934 | 950 | ||
| @@ -970,7 +986,7 @@ class clsPmieducarServidor | @@ -970,7 +986,7 @@ class clsPmieducarServidor | ||
| 970 | * @return array|bool Array com códigos das disciplinas ordenados ou FALSE | 986 | * @return array|bool Array com códigos das disciplinas ordenados ou FALSE |
| 971 | * caso o servidor não tenha disciplinas | 987 | * caso o servidor não tenha disciplinas |
| 972 | */ | 988 | */ |
| 973 | - public function getServidorDisciplinas($codServidor = NULL, | 989 | + function getServidorDisciplinas($codServidor = NULL, |
| 974 | $codInstituicao = NULL) | 990 | $codInstituicao = NULL) |
| 975 | { | 991 | { |
| 976 | $codServidor = $codServidor != NULL ? $codServidor : $this->cod_servidor; | 992 | $codServidor = $codServidor != NULL ? $codServidor : $this->cod_servidor; |
| @@ -1015,7 +1031,7 @@ class clsPmieducarServidor | @@ -1015,7 +1031,7 @@ class clsPmieducarServidor | ||
| 1015 | * @since Método disponível desde a versão 1.0.2 | 1031 | * @since Método disponível desde a versão 1.0.2 |
| 1016 | * @return bool TRUE caso o servidor desempenhe a função de professor | 1032 | * @return bool TRUE caso o servidor desempenhe a função de professor |
| 1017 | */ | 1033 | */ |
| 1018 | - public function isProfessor() | 1034 | + function isProfessor() |
| 1019 | { | 1035 | { |
| 1020 | $funcoes = $this->getServidorFuncoes(); | 1036 | $funcoes = $this->getServidorFuncoes(); |
| 1021 | 1037 |
ieducar/intranet/include/pmieducar/clsPmieducarServidorDisciplina.inc.php
| @@ -29,6 +29,7 @@ | @@ -29,6 +29,7 @@ | ||
| 29 | */ | 29 | */ |
| 30 | 30 | ||
| 31 | require_once 'include/pmieducar/geral.inc.php'; | 31 | require_once 'include/pmieducar/geral.inc.php'; |
| 32 | +require_once 'ComponenteCurricular/Model/ComponenteDataMapper.php'; | ||
| 32 | 33 | ||
| 33 | /** | 34 | /** |
| 34 | * clsPmieducarServidorDisciplina class. | 35 | * clsPmieducarServidorDisciplina class. |
| @@ -45,6 +46,7 @@ class clsPmieducarServidorDisciplina | @@ -45,6 +46,7 @@ class clsPmieducarServidorDisciplina | ||
| 45 | var $ref_cod_disciplina; | 46 | var $ref_cod_disciplina; |
| 46 | var $ref_ref_cod_instituicao; | 47 | var $ref_ref_cod_instituicao; |
| 47 | var $ref_cod_servidor; | 48 | var $ref_cod_servidor; |
| 49 | + var $ref_cod_curso; | ||
| 48 | 50 | ||
| 49 | /** | 51 | /** |
| 50 | * Armazena o total de resultados obtidos na última chamada ao método lista(). | 52 | * Armazena o total de resultados obtidos na última chamada ao método lista(). |
| @@ -99,55 +101,41 @@ class clsPmieducarServidorDisciplina | @@ -99,55 +101,41 @@ class clsPmieducarServidorDisciplina | ||
| 99 | /** | 101 | /** |
| 100 | * Construtor. | 102 | * Construtor. |
| 101 | */ | 103 | */ |
| 102 | - function clsPmieducarServidorDisciplina( $ref_cod_disciplina = null, $ref_ref_cod_instituicao = null, $ref_cod_servidor = null ) | 104 | + function clsPmieducarServidorDisciplina($ref_cod_disciplina = NULL, |
| 105 | + $ref_ref_cod_instituicao = NULL, $ref_cod_servidor = NULL, $ref_cod_curso = NULL) | ||
| 103 | { | 106 | { |
| 104 | $db = new clsBanco(); | 107 | $db = new clsBanco(); |
| 105 | $this->_schema = 'pmieducar.'; | 108 | $this->_schema = 'pmieducar.'; |
| 106 | $this->_tabela = $this->_schema . 'servidor_disciplina'; | 109 | $this->_tabela = $this->_schema . 'servidor_disciplina'; |
| 107 | 110 | ||
| 108 | - $this->_campos_lista = $this->_todos_campos = 'ref_cod_disciplina, ref_ref_cod_instituicao, ref_cod_servidor'; | 111 | + $this->_campos_lista = $this->_todos_campos = 'ref_cod_disciplina, ref_ref_cod_instituicao, ref_cod_servidor, ref_cod_curso'; |
| 109 | 112 | ||
| 110 | if (is_numeric($ref_cod_servidor) && is_numeric($ref_ref_cod_instituicao)) { | 113 | if (is_numeric($ref_cod_servidor) && is_numeric($ref_ref_cod_instituicao)) { |
| 111 | - if (class_exists('clsPmieducarServidor')) { | ||
| 112 | - $tmp_obj = new clsPmieducarServidor($ref_cod_servidor, NULL, NULL, NULL, | ||
| 113 | - NULL, NULL, NULL, $ref_ref_cod_instituicao); | ||
| 114 | - | ||
| 115 | - if (method_exists($tmp_obj, 'existe')) { | ||
| 116 | - if ($tmp_obj->existe()) { | ||
| 117 | - $this->ref_cod_servidor = $ref_cod_servidor; | ||
| 118 | - $this->ref_ref_cod_instituicao = $ref_ref_cod_instituicao; | ||
| 119 | - } | ||
| 120 | - } | ||
| 121 | - elseif (method_exists($tmp_obj, 'detalhe')) { | ||
| 122 | - if ($tmp_obj->detalhe()) { | ||
| 123 | - $this->ref_cod_servidor = $ref_cod_servidor; | ||
| 124 | - $this->ref_ref_cod_instituicao = $ref_ref_cod_instituicao; | ||
| 125 | - } | ||
| 126 | - } | ||
| 127 | - } | ||
| 128 | - elseif ($db->CampoUnico("SELECT 1 FROM pmieducar.servidor WHERE cod_servidor = '{$ref_cod_servidor}' AND ref_cod_instituicao = '{$ref_ref_cod_instituicao}'")) { | 114 | + $servidor = new clsPmieducarServidor($ref_cod_servidor, NULL, NULL, NULL, |
| 115 | + NULL, NULL, NULL, $ref_ref_cod_instituicao); | ||
| 116 | + | ||
| 117 | + if ($servidor->existe()) { | ||
| 129 | $this->ref_cod_servidor = $ref_cod_servidor; | 118 | $this->ref_cod_servidor = $ref_cod_servidor; |
| 130 | $this->ref_ref_cod_instituicao = $ref_ref_cod_instituicao; | 119 | $this->ref_ref_cod_instituicao = $ref_ref_cod_instituicao; |
| 131 | } | 120 | } |
| 132 | } | 121 | } |
| 133 | 122 | ||
| 134 | if (is_numeric($ref_cod_disciplina)) { | 123 | if (is_numeric($ref_cod_disciplina)) { |
| 135 | - if (class_exists('clsPmieducarDisciplina')) { | ||
| 136 | - $tmp_obj = new clsPmieducarDisciplina($ref_cod_disciplina); | ||
| 137 | - if (method_exists($tmp_obj, 'existe')) { | ||
| 138 | - if ($tmp_obj->existe()) { | ||
| 139 | - $this->ref_cod_disciplina = $ref_cod_disciplina; | ||
| 140 | - } | ||
| 141 | - } | ||
| 142 | - elseif (method_exists($tmp_obj, 'detalhe')) { | ||
| 143 | - if ($tmp_obj->detalhe()) { | ||
| 144 | - $this->ref_cod_disciplina = $ref_cod_disciplina; | ||
| 145 | - } | ||
| 146 | - } | ||
| 147 | - } | ||
| 148 | - elseif ($db->CampoUnico("SELECT 1 FROM pmieducar.disciplina WHERE cod_disciplina = '{$ref_cod_disciplina}'")) { | 124 | + $componenteMapper = new ComponenteCurricular_Model_ComponenteDataMapper(); |
| 125 | + try { | ||
| 126 | + $componenteMapper->find($ref_cod_disciplina); | ||
| 149 | $this->ref_cod_disciplina = $ref_cod_disciplina; | 127 | $this->ref_cod_disciplina = $ref_cod_disciplina; |
| 150 | } | 128 | } |
| 129 | + catch (Exception $e) { | ||
| 130 | + } | ||
| 131 | + } | ||
| 132 | + | ||
| 133 | + if (is_numeric($ref_cod_curso)) { | ||
| 134 | + $curso = new clsPmieducarCurso($ref_cod_curso); | ||
| 135 | + | ||
| 136 | + if ($curso->existe()) { | ||
| 137 | + $this->ref_cod_curso = $ref_cod_curso; | ||
| 138 | + } | ||
| 151 | } | 139 | } |
| 152 | } | 140 | } |
| 153 | 141 | ||
| @@ -159,13 +147,14 @@ class clsPmieducarServidorDisciplina | @@ -159,13 +147,14 @@ class clsPmieducarServidorDisciplina | ||
| 159 | { | 147 | { |
| 160 | if (is_numeric($this->ref_cod_disciplina) && | 148 | if (is_numeric($this->ref_cod_disciplina) && |
| 161 | is_numeric($this->ref_ref_cod_instituicao) && | 149 | is_numeric($this->ref_ref_cod_instituicao) && |
| 162 | - is_numeric($this->ref_cod_servidor) | 150 | + is_numeric($this->ref_cod_servidor) && |
| 151 | + is_numeric($this->ref_cod_curso) | ||
| 163 | ) { | 152 | ) { |
| 164 | $db = new clsBanco(); | 153 | $db = new clsBanco(); |
| 165 | 154 | ||
| 166 | - $campos = ''; | 155 | + $campos = ''; |
| 167 | $valores = ''; | 156 | $valores = ''; |
| 168 | - $gruda = ''; | 157 | + $gruda = ''; |
| 169 | 158 | ||
| 170 | if (is_numeric($this->ref_cod_disciplina)) { | 159 | if (is_numeric($this->ref_cod_disciplina)) { |
| 171 | $campos .= "{$gruda}ref_cod_disciplina"; | 160 | $campos .= "{$gruda}ref_cod_disciplina"; |
| @@ -185,6 +174,12 @@ class clsPmieducarServidorDisciplina | @@ -185,6 +174,12 @@ class clsPmieducarServidorDisciplina | ||
| 185 | $gruda = ", "; | 174 | $gruda = ", "; |
| 186 | } | 175 | } |
| 187 | 176 | ||
| 177 | + if (is_numeric($this->ref_cod_curso)) { | ||
| 178 | + $campos .= "{$gruda}ref_cod_curso"; | ||
| 179 | + $valores .= "{$gruda}'{$this->ref_cod_curso}'"; | ||
| 180 | + $gruda = ", "; | ||
| 181 | + } | ||
| 182 | + | ||
| 188 | $db->Consulta("INSERT INTO {$this->_tabela} ($campos) VALUES ($valores)"); | 183 | $db->Consulta("INSERT INTO {$this->_tabela} ($campos) VALUES ($valores)"); |
| 189 | return TRUE; | 184 | return TRUE; |
| 190 | } | 185 | } |
| @@ -199,13 +194,15 @@ class clsPmieducarServidorDisciplina | @@ -199,13 +194,15 @@ class clsPmieducarServidorDisciplina | ||
| 199 | function edita() | 194 | function edita() |
| 200 | { | 195 | { |
| 201 | if (is_numeric($this->ref_cod_disciplina) && | 196 | if (is_numeric($this->ref_cod_disciplina) && |
| 202 | - is_numeric($this->ref_ref_cod_instituicao) && is_numeric($this->ref_cod_servidor) | 197 | + is_numeric($this->ref_ref_cod_instituicao) && |
| 198 | + is_numeric($this->ref_cod_servidor) && | ||
| 199 | + is_numeric($this->ref_cod_curso) | ||
| 203 | ) { | 200 | ) { |
| 204 | $db = new clsBanco(); | 201 | $db = new clsBanco(); |
| 205 | $set = ''; | 202 | $set = ''; |
| 206 | 203 | ||
| 207 | if ($set) { | 204 | if ($set) { |
| 208 | - $db->Consulta("UPDATE {$this->_tabela} SET $set WHERE ref_cod_disciplina = '{$this->ref_cod_disciplina}' AND ref_ref_cod_instituicao = '{$this->ref_ref_cod_instituicao}' AND ref_cod_servidor = '{$this->ref_cod_servidor}'"); | 205 | + $db->Consulta("UPDATE {$this->_tabela} SET $set WHERE ref_cod_disciplina = '{$this->ref_cod_disciplina}' AND ref_ref_cod_instituicao = '{$this->ref_ref_cod_instituicao}' AND ref_cod_servidor = '{$this->ref_cod_servidor}' AND ref_cod_curso = '{$this->ref_cod_curso}'"); |
| 209 | return TRUE; | 206 | return TRUE; |
| 210 | } | 207 | } |
| 211 | } | 208 | } |
| @@ -218,7 +215,7 @@ class clsPmieducarServidorDisciplina | @@ -218,7 +215,7 @@ class clsPmieducarServidorDisciplina | ||
| 218 | * @return array | 215 | * @return array |
| 219 | */ | 216 | */ |
| 220 | function lista($int_ref_cod_disciplina = NULL, $int_ref_ref_cod_instituicao = NULL, | 217 | function lista($int_ref_cod_disciplina = NULL, $int_ref_ref_cod_instituicao = NULL, |
| 221 | - $int_ref_cod_servidor = NULL) | 218 | + $int_ref_cod_servidor = NULL, $int_ref_cod_curso = NULL) |
| 222 | { | 219 | { |
| 223 | $sql = "SELECT {$this->_campos_lista} FROM {$this->_tabela}"; | 220 | $sql = "SELECT {$this->_campos_lista} FROM {$this->_tabela}"; |
| 224 | $filtros = ""; | 221 | $filtros = ""; |
| @@ -240,6 +237,11 @@ class clsPmieducarServidorDisciplina | @@ -240,6 +237,11 @@ class clsPmieducarServidorDisciplina | ||
| 240 | $whereAnd = " AND "; | 237 | $whereAnd = " AND "; |
| 241 | } | 238 | } |
| 242 | 239 | ||
| 240 | + if (is_numeric($int_ref_cod_curso)) { | ||
| 241 | + $filtros .= "{$whereAnd} ref_cod_curso = '{$int_ref_cod_curso}'"; | ||
| 242 | + $whereAnd = " AND "; | ||
| 243 | + } | ||
| 244 | + | ||
| 243 | $db = new clsBanco(); | 245 | $db = new clsBanco(); |
| 244 | $countCampos = count(explode(',', $this->_campos_lista)); | 246 | $countCampos = count(explode(',', $this->_campos_lista)); |
| 245 | $resultado = array(); | 247 | $resultado = array(); |
| @@ -278,8 +280,10 @@ class clsPmieducarServidorDisciplina | @@ -278,8 +280,10 @@ class clsPmieducarServidorDisciplina | ||
| 278 | function detalhe() | 280 | function detalhe() |
| 279 | { | 281 | { |
| 280 | if (is_numeric($this->ref_cod_disciplina) && | 282 | if (is_numeric($this->ref_cod_disciplina) && |
| 281 | - is_numeric($this->ref_ref_cod_instituicao) && is_numeric($this->ref_cod_servidor)) | ||
| 282 | - { | 283 | + is_numeric($this->ref_ref_cod_instituicao) && |
| 284 | + is_numeric($this->ref_cod_servidor) && | ||
| 285 | + is_numeric($this->ref_cod_curso) | ||
| 286 | + ) { | ||
| 283 | $db = new clsBanco(); | 287 | $db = new clsBanco(); |
| 284 | $db->Consulta("SELECT {$this->_todos_campos} FROM {$this->_tabela} WHERE ref_cod_disciplina = '{$this->ref_cod_disciplina}' AND ref_ref_cod_instituicao = '{$this->ref_ref_cod_instituicao}' AND ref_cod_servidor = '{$this->ref_cod_servidor}'"); | 288 | $db->Consulta("SELECT {$this->_todos_campos} FROM {$this->_tabela} WHERE ref_cod_disciplina = '{$this->ref_cod_disciplina}' AND ref_ref_cod_instituicao = '{$this->ref_ref_cod_instituicao}' AND ref_cod_servidor = '{$this->ref_cod_servidor}'"); |
| 285 | $db->ProximoRegistro(); | 289 | $db->ProximoRegistro(); |
| @@ -296,10 +300,12 @@ class clsPmieducarServidorDisciplina | @@ -296,10 +300,12 @@ class clsPmieducarServidorDisciplina | ||
| 296 | function existe() | 300 | function existe() |
| 297 | { | 301 | { |
| 298 | if (is_numeric($this->ref_cod_disciplina) && | 302 | if (is_numeric($this->ref_cod_disciplina) && |
| 299 | - is_numeric($this->ref_ref_cod_instituicao) && is_numeric($this->ref_cod_servidor) | 303 | + is_numeric($this->ref_ref_cod_instituicao) && |
| 304 | + is_numeric($this->ref_cod_servidor) && | ||
| 305 | + is_numeric($this->ref_cod_curso) | ||
| 300 | ) { | 306 | ) { |
| 301 | $db = new clsBanco(); | 307 | $db = new clsBanco(); |
| 302 | - $db->Consulta("SELECT 1 FROM {$this->_tabela} WHERE ref_cod_disciplina = '{$this->ref_cod_disciplina}' AND ref_ref_cod_instituicao = '{$this->ref_ref_cod_instituicao}' AND ref_cod_servidor = '{$this->ref_cod_servidor}'"); | 308 | + $db->Consulta("SELECT 1 FROM {$this->_tabela} WHERE ref_cod_disciplina = '{$this->ref_cod_disciplina}' AND ref_ref_cod_instituicao = '{$this->ref_ref_cod_instituicao}' AND ref_cod_servidor = '{$this->ref_cod_servidor}' AND ref_cod_curso = '{$this->ref_cod_curso}'"); |
| 303 | if ($db->ProximoRegistro()) { | 309 | if ($db->ProximoRegistro()) { |
| 304 | return TRUE; | 310 | return TRUE; |
| 305 | } | 311 | } |
| @@ -313,9 +319,11 @@ class clsPmieducarServidorDisciplina | @@ -313,9 +319,11 @@ class clsPmieducarServidorDisciplina | ||
| 313 | */ | 319 | */ |
| 314 | function excluir() | 320 | function excluir() |
| 315 | { | 321 | { |
| 316 | - if (is_numeric($this->ref_cod_disciplina) && is_numeric($this->ref_ref_cod_instituicao) && | ||
| 317 | - is_numeric($this->ref_cod_servidor)) | ||
| 318 | - { | 322 | + if (is_numeric($this->ref_cod_disciplina) && |
| 323 | + is_numeric($this->ref_ref_cod_instituicao) && | ||
| 324 | + is_numeric($this->ref_cod_servidor) && | ||
| 325 | + is_numeric($this->ref_cod_curso) | ||
| 326 | + ) { | ||
| 319 | } | 327 | } |
| 320 | return FALSE; | 328 | return FALSE; |
| 321 | } | 329 | } |
ieducar/misc/database/deltas/17_adiciona_campo_curso_componente_ano_escolar_e_atualiza_constraint_servidor_disciplina.sql
0 → 100644
| @@ -0,0 +1,60 @@ | @@ -0,0 +1,60 @@ | ||
| 1 | +-- // | ||
| 2 | + | ||
| 3 | +-- | ||
| 4 | +-- Atualiza a foreign key constraint de pmieducar.serie_disciplina | ||
| 5 | +-- para referenciar modules.componente_curricular. | ||
| 6 | +-- | ||
| 7 | +-- Adiciona referências a pmieducar.curso na tabela | ||
| 8 | +-- pmieducar.servidor_disciplina. | ||
| 9 | +-- | ||
| 10 | +-- Essa medida faz parte da tarefa de substituição do sistema de notas/faltas | ||
| 11 | +-- por um módulo mais robusto e parametrizável. | ||
| 12 | +-- | ||
| 13 | +-- @author Eriksen Costa Paixão <eriksen.paixao_bs@cobra.com.br> | ||
| 14 | +-- @license @@license@@ | ||
| 15 | +-- @version $Id$ | ||
| 16 | +-- | ||
| 17 | + | ||
| 18 | +ALTER TABLE "pmieducar"."servidor_disciplina" | ||
| 19 | + DROP CONSTRAINT servidor_disciplina_ref_cod_disciplina_fkey; | ||
| 20 | + | ||
| 21 | +ALTER TABLE "pmieducar"."servidor_disciplina" | ||
| 22 | + ADD CONSTRAINT servidor_disciplina_ref_cod_disciplina_fkey | ||
| 23 | + FOREIGN KEY (ref_cod_disciplina) | ||
| 24 | + REFERENCES modules.componente_curricular(id) | ||
| 25 | + ON DELETE RESTRICT | ||
| 26 | + ON UPDATE RESTRICT; | ||
| 27 | + | ||
| 28 | +ALTER TABLE "pmieducar"."servidor_disciplina" | ||
| 29 | + DROP CONSTRAINT servidor_disciplina_pkey; | ||
| 30 | + | ||
| 31 | +ALTER TABLE "pmieducar"."servidor_disciplina" | ||
| 32 | + ADD COLUMN ref_cod_curso integer; | ||
| 33 | + | ||
| 34 | +ALTER TABLE "pmieducar"."servidor_disciplina" | ||
| 35 | + ADD CONSTRAINT servidor_disciplina_pkey | ||
| 36 | + PRIMARY KEY (ref_cod_disciplina, ref_ref_cod_instituicao, | ||
| 37 | + ref_cod_servidor, ref_cod_curso); | ||
| 38 | + | ||
| 39 | +-- //@UNDO | ||
| 40 | + | ||
| 41 | +ALTER TABLE "pmieducar"."servidor_disciplina" | ||
| 42 | + DROP CONSTRAINT escola_serie_disciplina_ref_cod_disciplina_fkey; | ||
| 43 | + | ||
| 44 | +ALTER TABLE "pmieducar"."servidor_disciplina" | ||
| 45 | + ADD CONSTRAINT servidor_disciplina_ref_cod_disciplina_fkey | ||
| 46 | + FOREIGN KEY (ref_cod_disciplina) | ||
| 47 | + REFERENCES pmieducar.disciplina(cod_disciplina) | ||
| 48 | + ON DELETE RESTRICT | ||
| 49 | + ON UPDATE RESTRICT; | ||
| 50 | + | ||
| 51 | +ALTER TABLE "pmieducar"."servidor_disciplina" | ||
| 52 | + DROP CONSTRAINT servidor_disciplina_pkey; | ||
| 53 | + | ||
| 54 | +ALTER TABLE "pmieducar"."servidor_disciplina" | ||
| 55 | + ADD CONSTRAINT servidor_disciplina_pkey | ||
| 56 | + PRIMARY KEY (ref_cod_disciplina, ref_ref_cod_instituicao, ref_cod_servidor); | ||
| 57 | + | ||
| 58 | +ALTER TABLE "pmieducar"."servidor_disciplina" DROP COLUMN ref_cod_curso; | ||
| 59 | + | ||
| 60 | +-- // | ||
| 0 | \ No newline at end of file | 61 | \ No newline at end of file |
ieducar/misc/database/ieducar.sql
| @@ -14321,7 +14321,8 @@ CREATE TABLE servidor_curso_ministra ( | @@ -14321,7 +14321,8 @@ CREATE TABLE servidor_curso_ministra ( | ||
| 14321 | CREATE TABLE servidor_disciplina ( | 14321 | CREATE TABLE servidor_disciplina ( |
| 14322 | ref_cod_disciplina integer NOT NULL, | 14322 | ref_cod_disciplina integer NOT NULL, |
| 14323 | ref_ref_cod_instituicao integer NOT NULL, | 14323 | ref_ref_cod_instituicao integer NOT NULL, |
| 14324 | - ref_cod_servidor integer NOT NULL | 14324 | + ref_cod_servidor integer NOT NULL, |
| 14325 | + ref_cod_curso integer NOT NULL | ||
| 14325 | ); | 14326 | ); |
| 14326 | 14327 | ||
| 14327 | 14328 | ||
| @@ -19941,6 +19942,7 @@ INSERT INTO changelog VALUES (13, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '13_adic | @@ -19941,6 +19942,7 @@ INSERT INTO changelog VALUES (13, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '13_adic | ||
| 19941 | INSERT INTO changelog VALUES (14, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '14_adiciona_campo_etapa_modules_nota_componente_curricular_media.sql'); | 19942 | INSERT INTO changelog VALUES (14, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '14_adiciona_campo_etapa_modules_nota_componente_curricular_media.sql'); |
| 19942 | INSERT INTO changelog VALUES (15, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '15_atualiza_foreign_key_modules_falta_geral.sql'); | 19943 | INSERT INTO changelog VALUES (15, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '15_atualiza_foreign_key_modules_falta_geral.sql'); |
| 19943 | INSERT INTO changelog VALUES (16, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '16_permissoes_para_modules_e_correcao_menus.sql'); | 19944 | INSERT INTO changelog VALUES (16, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '16_permissoes_para_modules_e_correcao_menus.sql'); |
| 19945 | +INSERT INTO changelog VALUES (17, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '17_adiciona_campo_curso_componente_ano_escolar_e_atualiza_constraint_servidor_disciplina.sql'); | ||
| 19944 | 19946 | ||
| 19945 | 19947 | ||
| 19946 | -- | 19948 | -- |
| @@ -27879,7 +27881,7 @@ ALTER TABLE ONLY servidor_curso_ministra | @@ -27879,7 +27881,7 @@ ALTER TABLE ONLY servidor_curso_ministra | ||
| 27879 | -- | 27881 | -- |
| 27880 | 27882 | ||
| 27881 | ALTER TABLE ONLY servidor_disciplina | 27883 | ALTER TABLE ONLY servidor_disciplina |
| 27882 | - ADD CONSTRAINT servidor_disciplina_pkey PRIMARY KEY (ref_cod_disciplina, ref_ref_cod_instituicao, ref_cod_servidor); | 27884 | + ADD CONSTRAINT servidor_disciplina_pkey PRIMARY KEY (ref_cod_disciplina, ref_ref_cod_instituicao, ref_cod_servidor, ref_cod_curso); |
| 27883 | 27885 | ||
| 27884 | 27886 | ||
| 27885 | -- | 27887 | -- |
| @@ -28754,7 +28756,7 @@ CREATE UNIQUE INDEX componente_curricular_id_key ON componente_curricular USING | @@ -28754,7 +28756,7 @@ CREATE UNIQUE INDEX componente_curricular_id_key ON componente_curricular USING | ||
| 28754 | 28756 | ||
| 28755 | 28757 | ||
| 28756 | -- | 28758 | -- |
| 28757 | --- Name: regra_avaliacao_id_key; Type: INDEX; Schema: modules; Owner: -; Tablespace: | 28759 | +-- Name: regra_avaliacao_id_key; Type: INDEX; Schema: modules; Owner: -; Tablespace: |
| 28758 | -- | 28760 | -- |
| 28759 | 28761 | ||
| 28760 | CREATE UNIQUE INDEX regra_avaliacao_id_key ON regra_avaliacao USING btree (id); | 28762 | CREATE UNIQUE INDEX regra_avaliacao_id_key ON regra_avaliacao USING btree (id); |
| @@ -35368,7 +35370,7 @@ ALTER TABLE ONLY servidor_curso_ministra | @@ -35368,7 +35370,7 @@ ALTER TABLE ONLY servidor_curso_ministra | ||
| 35368 | -- | 35370 | -- |
| 35369 | 35371 | ||
| 35370 | ALTER TABLE ONLY servidor_disciplina | 35372 | ALTER TABLE ONLY servidor_disciplina |
| 35371 | - ADD CONSTRAINT servidor_disciplina_ref_cod_disciplina_fkey FOREIGN KEY (ref_cod_disciplina) REFERENCES disciplina(cod_disciplina) ON UPDATE RESTRICT ON DELETE RESTRICT; | 35373 | + ADD CONSTRAINT servidor_disciplina_ref_cod_disciplina_fkey FOREIGN KEY (ref_cod_disciplina) REFERENCES modules.componente_curricular(id) ON UPDATE RESTRICT ON DELETE RESTRICT; |
| 35372 | 35374 | ||
| 35373 | 35375 | ||
| 35374 | -- | 35376 | -- |