/** * Construtor. */ function clsPmieducarServidorDisciplina($ref_cod_disciplina = NULL, $ref_ref_cod_instituicao = NULL, $ref_cod_servidor = NULL, $ref_cod_curso = NULL) { $db = new clsBanco(); $this->_schema = 'pmieducar.'; $this->_tabela = $this->_schema . 'servidor_disciplina'; $this->_campos_lista = $this->_todos_campos = 'ref_cod_disciplina, ref_ref_cod_instituicao, ref_cod_servidor, ref_cod_curso'; if (is_numeric($ref_cod_servidor) && is_numeric($ref_ref_cod_instituicao)) { $servidor = new clsPmieducarServidor($ref_cod_servidor, NULL, NULL, NULL, NULL, NULL, NULL, $ref_ref_cod_instituicao); if ($servidor->existe()) { $this->ref_cod_servidor = $ref_cod_servidor; $this->ref_ref_cod_instituicao = $ref_ref_cod_instituicao; } } if (is_numeric($ref_cod_disciplina)) { $componenteMapper = new ComponenteCurricular_Model_ComponenteDataMapper(); try { $componenteMapper->find($ref_cod_disciplina); $this->ref_cod_disciplina = $ref_cod_disciplina; } catch (Exception $e) { } } if (is_numeric($ref_cod_curso)) { $curso = new clsPmieducarCurso($ref_cod_curso); if ($curso->existe()) { $this->ref_cod_curso = $ref_cod_curso; } } }
/** * Substitui a alocação entre servidores no quadro de horários * * Substitui a alocação entre servidores, atualizando a tabela * pmieducar.servidor_quadro_horario_horarios. O servidor nesse caso é * de alguma função do tipo professor. Esse método não valida esse dado, * sendo de responsabilidade do código cliente * * @param int $int_ref_cod_servidor_substituto Código do servidor que substituirá o atual * @return bool TRUE em caso de sucesso, FALSE caso contrário */ public function substituir_servidor($int_ref_cod_servidor_substituto) { if (is_numeric($int_ref_cod_servidor_substituto) && is_numeric($this->ref_cod_instituicao_servidor)) { $servidor = new clsPmieducarServidor($int_ref_cod_servidor_substituto, NULL, NULL, NULL, NULL, NULL, NULL, $this->ref_cod_instituicao_servidor); if (!$servidor->existe()) { return FALSE; } } if (is_numeric($this->ref_servidor) && is_numeric($this->ref_cod_instituicao_servidor)) { $sql = "UPDATE %s SET ref_servidor='%d', data_exclusao = NOW() "; $sql .= "WHERE ref_servidor = '%d' AND ref_cod_instituicao_servidor = '%d'"; $sql = sprintf($sql, $this->_tabela, $int_ref_cod_servidor_substituto, $this->ref_servidor, $this->ref_cod_instituicao_servidor); $db = new clsBanco(); $db->Consulta($sql); return TRUE; } return FALSE; }
function Editar() { $timesep = explode(':', $this->carga_horaria); $hour = $timesep[0] + (int) ($timesep[1] / 60); $min = abs((int) ($timesep[1] / 60) - $timesep[1] / 60) . '<br>'; $this->carga_horaria = $hour + $min; $this->carga_horaria = $hour + $min; @session_start(); $this->pessoa_logada = $_SESSION['id_pessoa']; @session_write_close(); $obj_permissoes = new clsPermissoes(); $obj_permissoes->permissao_cadastra(635, $this->pessoa_logada, 7, 'educar_servidor_lst.php'); if ($this->ref_cod_instituicao == $this->ref_cod_instituicao_original) { $this->carga_horaria = str_replace(',', '.', $this->carga_horaria); $obj = new clsPmieducarServidor($this->cod_servidor, $this->ref_cod_deficiencia, $this->ref_idesco, $this->carga_horaria, NULL, NULL, 1, $this->ref_cod_instituicao); $editou = $obj->edita(); if ($editou) { $this->cadastraFuncoes(); include 'educar_limpa_sessao_curso_disciplina_servidor.php'; $this->mensagem .= 'Edição efetuada com sucesso.<br>'; header("Location: educar_servidor_det.php?cod_servidor={$this->cod_servidor}&ref_cod_instituicao={$this->ref_cod_instituicao}"); die; } } else { $obj_quadro_horario = new clsPmieducarQuadroHorarioHorarios(NULL, NULL, NULL, NULL, NULL, NULL, $this->cod_servidor, NULL, NULL, NULL, NULL, NULL, NULL, 1, $this->ref_cod_instituicao); if ($obj_quadro_horario->detalhe()) { $this->mensagem = "Edição não realizada. O servidor está vinculado a um quadro de horários.<br>"; return FALSE; } else { $obj_quadro_horario = new clsPmieducarQuadroHorarioHorarios(NULL, NULL, NULL, NULL, NULL, NULL, NULL, $this->cod_servidor, NULL, NULL, NULL, NULL, NULL, 1, NULL, $this->ref_cod_instituicao); if ($obj_quadro_horario->detalhe()) { $this->mensagem = "Edição não realizada. O servidor está vinculado a um quadro de horários.<br>"; return FALSE; } else { $this->carga_horaria = str_replace(',', '.', $this->carga_horaria); $obj = new clsPmieducarServidor($this->cod_servidor, $this->ref_cod_deficiencia, $this->ref_idesco, $this->carga_horaria, NULL, NULL, 0, $this->ref_cod_instituicao_original); $editou = $obj->edita(); if ($editou) { $obj = new clsPmieducarServidor($this->cod_servidor, $this->ref_cod_deficiencia, $this->ref_idesco, $this->carga_horaria, NULL, NULL, 1, $this->ref_cod_instituicao); if ($obj->existe()) { $cadastrou = $obj->edita(); } else { $cadastrou = $obj->cadastra(); } if ($cadastrou) { $this->cadastraFuncoes(); include 'educar_limpa_sessao_curso_disciplina_servidor.php'; $this->mensagem .= "Edição efetuada com sucesso.<br>"; header("Location: educar_servidor_det.php?cod_servidor={$this->cod_servidor}&ref_cod_instituicao={$this->ref_cod_instituicao}"); die; } } } } } $this->mensagem = "Edição não realizada.<br>"; return FALSE; }
/** * Substitui a alocação entre servidores * * Substitui a alocação entre servidores, atualizando a tabela * pmieducar.servidor_alocacao. A única atualização na tabela ocorre no * identificador do servidor, o campo ref_cod_servidor. Para usar este * método, um objeto desta classe precisa estar instanciado com os atributos * do servidor a ser substituido. * * @param int $int_ref_cod_servidor_substituto Código do servidor que substituirá o atual * @return bool TRUE em caso de sucesso, FALSE caso contrário */ function substituir_servidor($int_ref_cod_servidor_substituto) { if (is_numeric($int_ref_cod_servidor_substituto) && is_numeric($this->ref_ref_cod_instituicao)) { $servidor = new clsPmieducarServidor($int_ref_cod_servidor_substituto, NULL, NULL, NULL, NULL, NULL, NULL, $this->ref_ref_cod_instituicao); if (!$servidor->existe()) { return FALSE; } } if (is_numeric($this->ref_cod_servidor) && is_numeric($this->ref_ref_cod_instituicao) && is_numeric($this->ref_cod_escola) && is_numeric($this->periodo) && is_string($this->carga_horaria)) { $sql = "UPDATE %s SET ref_cod_servidor='%d' WHERE ref_cod_servidor = '%d' "; $sql .= "AND ref_ref_cod_instituicao = '%d' AND ref_cod_escola = '%d' AND "; $sql .= "carga_horaria = '%s' AND periodo = '%d'"; $sql = sprintf($sql, $this->_tabela, $int_ref_cod_servidor_substituto, $this->ref_cod_servidor, $this->ref_ref_cod_instituicao, $this->ref_cod_escola, $this->carga_horaria, $this->periodo); $db = new clsBanco(); $db->Consulta($sql); return TRUE; } return FALSE; }