From 9b46226aeea543a8ee5ab120c2e5278e9438a194 Mon Sep 17 00:00:00 2001 From: Lucas Schmoeller da Silva Date: Fri, 20 Sep 2013 11:27:11 -0300 Subject: [PATCH] #22 Criando tela para informar observação para um abandono de matrícula --- ieducar/intranet/educar_abandono_cad.php | 165 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/intranet/educar_matricula_det.php | 7 ++++++- ieducar/intranet/include/pmieducar/clsPmieducarMatricula.inc.php | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------- ieducar/misc/database/deltas/portabilis/53_cria_campo_observacao_matricula.sql | 17 +++++++++++++++++ 4 files changed, 242 insertions(+), 34 deletions(-) create mode 100644 ieducar/intranet/educar_abandono_cad.php create mode 100644 ieducar/misc/database/deltas/portabilis/53_cria_campo_observacao_matricula.sql diff --git a/ieducar/intranet/educar_abandono_cad.php b/ieducar/intranet/educar_abandono_cad.php new file mode 100644 index 0000000..9d1fb8e --- /dev/null +++ b/ieducar/intranet/educar_abandono_cad.php @@ -0,0 +1,165 @@ + + * @category i-Educar + * @license @@license@@ + * @package iEd_Pmieducar + * @since 09/2013 + * @version $Id$ + * + */ +require_once ("include/clsBase.inc.php"); +require_once ("include/clsCadastro.inc.php"); +require_once ("include/clsBanco.inc.php"); +require_once( "include/pmieducar/geral.inc.php" ); + +class clsIndexBase extends clsBase +{ + function Formular() + { + $this->SetTitulo( "{$this->_instituicao} i-Educar - Transferência Solicitação" ); + $this->processoAp = "578"; + } +} + +class indice extends clsCadastro +{ + /** + * Referencia pega da session para o idpes do usuario atual + * + * @var int + */ + var $pessoa_logada; + + var $cod_transferencia_solicitacao; + var $ref_cod_transferencia_tipo; + var $ref_usuario_exc; + var $ref_usuario_cad; + var $ref_cod_matricula_entrada; + var $ref_cod_matricula_saida; + var $observacao; + var $data_cadastro; + var $data_exclusao; + var $ativo; + var $data_transferencia; + + var $ref_cod_matricula; + var $transferencia_tipo; + var $ref_cod_aluno; + var $nm_aluno; + + function Inicializar() + { + $retorno = "Novo"; + @session_start(); + $this->pessoa_logada = $_SESSION['id_pessoa']; + @session_write_close(); + + $this->ref_cod_matricula=$_GET["ref_cod_matricula"]; + $this->ref_cod_aluno=$_GET["ref_cod_aluno"]; + $cancela=$_GET["cancela"]; + + $obj_permissoes = new clsPermissoes(); + $obj_permissoes->permissao_cadastra( 578, $this->pessoa_logada, 7, "educar_matricula_lst.php?ref_cod_aluno={$this->ref_cod_aluno}" ); + + $obj_matricula = new clsPmieducarMatricula( $this->cod_matricula,null,null,null,$this->pessoa_logada,null,null,6 ); + + $det_matricula = $obj_matricula->detalhe(); + + $this->url_cancelar = "educar_matricula_det.php?cod_matricula={$this->ref_cod_matricula}"; + $this->nome_url_cancelar = "Cancelar"; + return $retorno; + } + + function Gerar() + { + // primary keys + $this->campoOculto( "ref_cod_aluno", $this->ref_cod_aluno ); + $this->campoOculto( "ref_cod_matricula", $this->ref_cod_matricula ); + + $obj_aluno = new clsPmieducarAluno(); + $lst_aluno = $obj_aluno->lista( $this->ref_cod_aluno,null,null,null,null,null,null,null,null,null,1 ); + if ( is_array($lst_aluno) ) + { + $det_aluno = array_shift($lst_aluno); + $this->nm_aluno = $det_aluno["nome_aluno"]; + $this->campoTexto( "nm_aluno", "Aluno", $this->nm_aluno, 30, 255, true,false,false,"","","","",true ); + } + + // text + $this->campoMemo( "observacao", "Observação", $this->observacao, 60, 5, false ); + } + + function Novo() + { + @session_start(); + $this->pessoa_logada = $_SESSION['id_pessoa']; + @session_write_close(); + + $obj_permissoes = new clsPermissoes(); + $obj_permissoes->permissao_cadastra( 578, $this->pessoa_logada, 7, "educar_matricula_det.php?cod_matricula={$this->ref_cod_matricula}" ); + + $obj_matricula = new clsPmieducarMatricula( $this->ref_cod_matricula,null,null,null,$this->pessoa_logada,null,null,6 ); + + $det_matricula = $obj_matricula->detalhe(); + + if($obj_matricula->edita()) + { + + if( $obj_matricula->cadastraObs($this->observacao) ) + { + $this->mensagem .= "Abandono realizado com sucesso.
"; + header( "Location: educar_matricula_det.php?cod_matricula={$this->ref_cod_matricula}" ); + //die(); + return true; + } + + $this->mensagem = "Observao no pode ser salva.
"; + + return false; + } + $this->mensagem = "Abandono no pode ser realizado.
"; + return false; + + } + + function Excluir() + { + return false; + } +} + +// cria uma extensao da classe base +$pagina = new clsIndexBase(); +// cria o conteudo +$miolo = new indice(); +// adiciona o conteudo na clsBase +$pagina->addForm( $miolo ); +// gera o html +$pagina->MakeAll(); +?> diff --git a/ieducar/intranet/educar_matricula_det.php b/ieducar/intranet/educar_matricula_det.php index 4cf1e00..c48dcd9 100644 --- a/ieducar/intranet/educar_matricula_det.php +++ b/ieducar/intranet/educar_matricula_det.php @@ -186,6 +186,7 @@ class indice extends clsDetalhe $this->addDetalhe(array('Nmero Reserva Vaga', $registro['ref_cod_reserva_vaga'])); } + $campoObs = false; if ($registro['aprovado']) { if ($registro['aprovado'] == 1) { $aprovado = 'Aprovado'; @@ -204,6 +205,7 @@ class indice extends clsDetalhe } elseif ($registro['aprovado'] == 6) { $aprovado = 'Abandono'; + $campoObs = true; } elseif ($registro['aprovado'] == 7) { $aprovado = 'Em Exame'; @@ -212,6 +214,9 @@ class indice extends clsDetalhe $this->addDetalhe(array('Situao', $aprovado)); } + if($campoObs) + $this->addDetalhe(array('Observao',$registro['observacao'])); + $this->addDetalhe(array('Formando', $registro['formando'] == 0 ? 'Não' : 'Sim')); $obj_permissoes = new clsPermissoes(); @@ -251,7 +256,7 @@ class indice extends clsDetalhe $this->array_botao_url_script[] = "go(\"educar_matricula_turma_lst.php?ref_cod_matricula={$registro['cod_matricula']}\")"; $this->array_botao[] = 'Abandono'; - $this->array_botao_url_script[] = "if(confirm(\"Deseja confirmar o abandono desta matrcula?\"))go(\"educar_matricula_abandono_cad.php?ref_cod_matricula={$registro['cod_matricula']}&ref_cod_aluno={$registro['ref_cod_aluno']}\");"; + $this->array_botao_url_script[] = "go(\"educar_abandono_cad.php?ref_cod_matricula={$registro['cod_matricula']}&ref_cod_aluno={$registro['ref_cod_aluno']}\");"; if ($registro['ref_ref_cod_serie']) { $this->array_botao[] = 'Reclassificar'; diff --git a/ieducar/intranet/include/pmieducar/clsPmieducarMatricula.inc.php b/ieducar/intranet/include/pmieducar/clsPmieducarMatricula.inc.php index 2f69a0d..315c171 100644 --- a/ieducar/intranet/include/pmieducar/clsPmieducarMatricula.inc.php +++ b/ieducar/intranet/include/pmieducar/clsPmieducarMatricula.inc.php @@ -1,30 +1,30 @@ * - * Este programa software livre; voc pode redistribu-lo e/ou modific-lo - * sob os termos da Licena Pblica Geral GNU conforme publicada pela Free - * Software Foundation; tanto a verso 2 da Licena, como (a seu critrio) - * qualquer verso posterior. + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. * - * Este programa distribudo na expectativa de que seja til, porm, SEM - * NENHUMA GARANTIA; nem mesmo a garantia implcita de COMERCIABILIDADE OU - * ADEQUAO A UMA FINALIDADE ESPECFICA. Consulte a Licena Pblica Geral + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral * do GNU para mais detalhes. * - * Voc deve ter recebido uma cpia da Licena Pblica Geral do GNU junto - * com este programa; se no, escreva para a Free Software Foundation, Inc., no - * endereo 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. * - * @author Prefeitura Municipal de Itaja + * @author Prefeitura Municipal de Itajaí * @category i-Educar * @license @@license@@ * @package iEd_Pmieducar - * @since Arquivo disponvel desde a verso 1.0.0 + * @since Arquivo disponível desde a versão 1.0.0 * @version $Id$ */ @@ -33,11 +33,11 @@ require_once 'include/pmieducar/geral.inc.php'; /** * clsPmieducarMatricula class. * - * @author Prefeitura Municipal de Itaja + * @author Prefeitura Municipal de Itajaí * @category i-Educar * @license @@license@@ * @package iEd_Pmieducar - * @since Classe disponvel desde a verso 1.0.0 + * @since Classe disponível desde a versão 1.0.0 * @version @@package_version@@ */ class clsPmieducarMatricula @@ -65,7 +65,7 @@ class clsPmieducarMatricula /** * caso seja a primeira matricula do aluno * marcar como true este atributo - * necessrio para contabilizar como admitido por transferncia + * necessário para contabilizar como admitido por transferência * no relatorio de movimentacao mensal * * @var bool @@ -74,7 +74,7 @@ class clsPmieducarMatricula var $matricula_transferencia; /** - * Armazena o total de resultados obtidos na ltima chamada ao mtodo lista(). + * Armazena o total de resultados obtidos na última chamada ao método lista(). * @var int */ var $_total; @@ -92,33 +92,33 @@ class clsPmieducarMatricula var $_tabela; /** - * Lista separada por vrgula, com os campos que devem ser selecionados na - * prxima chamado ao mtodo lista(). + * Lista separada por vírgula, com os campos que devem ser selecionados na + * próxima chamado ao método lista(). * @var string */ var $_campos_lista; /** - * Lista com todos os campos da tabela separados por vrgula, padro para - * seleo no mtodo lista. + * Lista com todos os campos da tabela separados por vírgula, padrão para + * seleção no método lista. * @var string */ var $_todos_campos; /** - * Valor que define a quantidade de registros a ser retornada pelo mtodo lista(). + * Valor que define a quantidade de registros a ser retornada pelo método lista(). * @var int */ var $_limite_quantidade; /** - * Define o valor de offset no retorno dos registros no mtodo lista(). + * Define o valor de offset no retorno dos registros no método lista(). * @var int */ var $_limite_offset; /** - * Define o campo para ser usado como padro de ordenao no mtodo lista(). + * Define o campo para ser usado como padrão de ordenação no método lista(). * @var string */ var $_campo_order_by; @@ -543,7 +543,7 @@ class clsPmieducarMatricula } /** - * Retorna uma lista de registros filtrados de acordo com os parmetros. + * Retorna uma lista de registros filtrados de acordo com os parâmetros. * @return array */ function lista($int_cod_matricula = NULL, $int_ref_cod_reserva_vaga = NULL, @@ -567,7 +567,7 @@ class clsPmieducarMatricula ) as data_nasc"; } - $sql = "SELECT {$this->_campos_lista}, c.ref_cod_instituicao, p.nome, a.cod_aluno, a.ref_idpes, c.cod_curso FROM {$this->_tabela} m, {$this->_schema}curso c, {$this->_schema}aluno a, cadastro.pessoa p "; + $sql = "SELECT {$this->_campos_lista}, c.ref_cod_instituicao, p.nome, a.cod_aluno, a.ref_idpes, c.cod_curso, m.observacao FROM {$this->_tabela} m, {$this->_schema}curso c, {$this->_schema}aluno a, cadastro.pessoa p "; $whereAnd = " AND "; $filtros = " WHERE m.ref_cod_aluno = a.cod_aluno AND m.ref_cod_curso = c.cod_curso AND p.idpes = a.ref_idpes "; @@ -839,7 +839,7 @@ class clsPmieducarMatricula } /** - * Define quais campos da tabela sero selecionados no mtodo Lista(). + * Define quais campos da tabela serão selecionados no método Lista(). */ function setCamposLista($str_campos) { @@ -847,7 +847,7 @@ class clsPmieducarMatricula } /** - * Define que o mtodo Lista() deverpa retornar todos os campos da tabela. + * Define que o método Lista() deverpa retornar todos os campos da tabela. */ function resetCamposLista() { @@ -855,7 +855,7 @@ class clsPmieducarMatricula } /** - * Define limites de retorno para o mtodo Lista(). + * Define limites de retorno para o método Lista(). */ function setLimite($intLimiteQtd, $intLimiteOffset = NULL) { @@ -864,7 +864,7 @@ class clsPmieducarMatricula } /** - * Retorna a string com o trecho da query responsvel pelo limite de + * Retorna a string com o trecho da query responsável pelo limite de * registros retornados/afetados. * * @return string @@ -882,7 +882,7 @@ class clsPmieducarMatricula } /** - * Define o campo para ser utilizado como ordenao no mtodo Lista(). + * Define o campo para ser utilizado como ordenação no método Lista(). */ function setOrderby($strNomeCampo) { @@ -892,7 +892,7 @@ class clsPmieducarMatricula } /** - * Retorna a string com o trecho da query responsvel pela Ordenao dos + * Retorna a string com o trecho da query responsável pela Ordenação dos * registros. * * @return string @@ -1026,6 +1026,27 @@ class clsPmieducarMatricula return $db->CampoUnico($sql); } + /** + * Seta a matricula para abandono e seta a observação passada por parâmetro + * @author lucassch + * @return boolean + */ + function cadastraObs($obs){ + + if (is_numeric($this->cod_matricula)){ + if (trim($obs)=='') + $obs = "Não informado"; + $db = new clsBanco(); + $consulta = "UPDATE {$this->_tabela} SET aprovado = 6, observacao = '$obs' WHERE cod_matricula = $this->cod_matricula"; + $db->Consulta($consulta); + + return TRUE; + } + + return false; + + } + function aprova_matricula_andamento_curso_sem_avaliacao() { if (is_numeric($this->ref_ref_cod_escola)) { diff --git a/ieducar/misc/database/deltas/portabilis/53_cria_campo_observacao_matricula.sql b/ieducar/misc/database/deltas/portabilis/53_cria_campo_observacao_matricula.sql new file mode 100644 index 0000000..9da1ce9 --- /dev/null +++ b/ieducar/misc/database/deltas/portabilis/53_cria_campo_observacao_matricula.sql @@ -0,0 +1,17 @@ + -- // + + -- + -- Cria coluna observacao para registrar informações sobre abandono na tabela de matrícula + -- + -- @author Lucas Schmoeller da Silva + -- @license @@license@@ + -- @version $Id$ + + ALTER TABLE pmieducar.matricula ADD COLUMN observacao character varying(300); + UPDATE pmieducar.matricula set observacao = 'Não Informado' where aprovado= 6; + + -- //@UNDO + + ALTER TABLE pmieducar.matricula DROP COLUMN observacao; + + -- // -- libgit2 0.21.2