Skip to content

Commit

Permalink
Adicionado processo de limpar notas e faltas ao alterar componentes;
Browse files Browse the repository at this point in the history
  • Loading branch information
carolinesalib committed Oct 24, 2016
1 parent 52ca5f9 commit 23f7402
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 11 deletions.
10 changes: 9 additions & 1 deletion ieducar/intranet/educar_escola_serie_cad.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
* do GNU para mais detalhes.
*
* 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í <ctima@itajai.sc.gov.br>
Expand All @@ -34,6 +34,7 @@
require_once 'include/pmieducar/geral.inc.php';
require_once 'ComponenteCurricular/Model/AnoEscolarDataMapper.php';
require_once 'ComponenteCurricular/Model/ComponenteDataMapper.php';
require_once 'Avaliacao/Fixups/CleanComponentesCurriculares.php';

/**
* clsIndexBase class.
Expand Down Expand Up @@ -467,6 +468,13 @@ function Editar()
}
}
}
//Verifica/limpa disciplinas não alteradas quando a escola/série for editada e tiver disciplinas marcadas
//não padrão do ano letivo.
$obj_ano_letivo = new clsPmieducarEscolaAnoLetivo();
$existe_ano_andamento = $obj_ano_letivo->lista($this->ref_cod_escola,null,null,null,1,null,null,null,null,1);
foreach ($existe_ano_andamento as $reg) {
CleanComponentesCurriculares::destroyOldResources($reg['ano']);
}
}

$this->mensagem .= 'Edi&ccedil;&atilde;o efetuada com sucesso.<br>';
Expand Down
10 changes: 8 additions & 2 deletions ieducar/intranet/educar_turma_cad.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
require_once 'include/pmieducar/geral.inc.php';
require_once 'Portabilis/String/Utils.php';
require_once 'lib/Portabilis/Date/Utils.php';
require_once 'Avaliacao/Fixups/CleanComponentesCurriculares.php';

/**
* clsIndexBase class.
Expand Down Expand Up @@ -263,8 +264,6 @@ function Gerar()
$this->campoLista('ref_ref_cod_serie', 'Série', $opcoes_serie, $this->ref_ref_cod_serie,
'', FALSE, '', NULL, $bloqueia);

$this->campoOculto('ref_ref_cod_serie',$this->ref_ref_cod_serie);

// o campo ano somente é exibido para turmas novas ou cadastradas após inclusão deste campo.
if ($anoVisivel){
$this->inputsHelper()->dynamic('anoLetivo', array('disabled' => $bloqueia));
Expand Down Expand Up @@ -964,6 +963,13 @@ function Editar()
$this->disciplinas, $this->carga_horaria, $this->usar_componente
);

// Caso tenham sido selecionadas discplinas, como se trata de uma edição de turma será rodado uma consulta
// que limpa os Componentes Curriculares antigos.
if($this->disciplinas != 1){
$anoLetivo = $this->ano ? $this->ano : date("Y");
CleanComponentesCurriculares::destroyOldResources($anoLetivo);
}

if ($editou) {
$this->mensagem .= 'Edição efetuada com sucesso.';
header('Location: educar_turma_lst.php');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
*/

require_once 'include/pmieducar/geral.inc.php';
require_once 'Avaliacao/Fixups/CleanComponentesCurriculares.php';

/**
* clsPmieducarMatriculaTurma class.
Expand Down Expand Up @@ -307,6 +308,8 @@ function cadastra()

$db->Consulta("INSERT INTO {$this->_tabela} ($campos) VALUES ($valores)");

$this->limpaComponentesCurriculares();

return TRUE;
}

Expand Down Expand Up @@ -363,6 +366,7 @@ function edita()

if ($set) {
$db->Consulta("UPDATE {$this->_tabela} SET $set WHERE ref_cod_matricula = '{$this->ref_cod_matricula}' AND ref_cod_turma = '{$this->ref_cod_turma}' and sequencial = '$this->sequencial' ");
$this->limpaComponentesCurriculares();
return TRUE;
}
}
Expand Down Expand Up @@ -1327,5 +1331,13 @@ function getSequencialFechamento($matriculaId, $turmaId, $dataEnturmacao){
return 0;
}else
return 0;
}
}

function limpaComponentesCurriculares(){
$db = new clsBanco();
$ano = $db->CampoUnico("SELECT ano FROM pmieducar.matricula WHERE cod_matricula = {$this->ref_cod_matricula}");
echo "$ano --";
CleanComponentesCurriculares::destroyOldResources($ano, $this->ref_cod_matricula);
}

}
32 changes: 25 additions & 7 deletions ieducar/modules/Avaliacao/Fixups/CleanComponentesCurriculares.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,18 @@

class CleanComponentesCurriculares {

public static function destroyOldResources($anoEscolar) {
self::destroyOldNotas($anoEscolar);
self::destroyOldNotasMedias($anoEscolar);
self::destroyOldFaltas($anoEscolar);
public static function destroyOldResources($anoEscolar, $cod_matricula = NULL) {
self::destroyOldNotas($anoEscolar, $cod_matricula);
self::destroyOldNotasMedias($anoEscolar, $cod_matricula);
self::destroyOldFaltas($anoEscolar, $cod_matricula);
}

protected static function destroyOldNotas($anoEscolar) {
protected static function destroyOldNotas($anoEscolar, $cod_matricula) {
$filtro = "";

if (is_Numeric($cod_matricula))
$filtro .= " m.cod_matricula = {$cod_matricula} AND ";

$sql = "delete from modules.nota_componente_curricular where id in (
select ncc.id from modules.nota_componente_curricular as ncc,
modules.nota_aluno as na,
Expand All @@ -67,6 +72,7 @@ protected static function destroyOldNotas($anoEscolar) {
m.ativo = 1 and
mt.ativo = m.ativo and
m.ano = $1 and
{$filtro}
--m.aprovado = 3 and
CASE WHEN (select 1 from modules.componente_curricular_turma
Expand All @@ -87,7 +93,12 @@ protected static function destroyOldNotas($anoEscolar) {
self::fetchPreparedQuery($sql, array('params' => $anoEscolar));
}

protected static function destroyOldNotasMedias($anoEscolar) {
protected static function destroyOldNotasMedias($anoEscolar, $cod_matricula) {
$filtro = "";

if (is_Numeric($cod_matricula))
$filtro .= " m.cod_matricula = {$cod_matricula} AND ";

$sql = "delete from modules.nota_componente_curricular_media where nota_aluno_id||componente_curricular_id in (
select nccm.nota_aluno_id|| nccm.componente_curricular_id from modules.nota_componente_curricular_media as nccm,
modules.nota_aluno as na,
Expand All @@ -100,6 +111,7 @@ protected static function destroyOldNotasMedias($anoEscolar) {
m.ativo = 1 and
mt.ativo = m.ativo and
m.ano = $1 and
{$filtro}
--m.aprovado = 3 and
CASE WHEN (select 1 from modules.componente_curricular_turma
Expand All @@ -120,7 +132,12 @@ protected static function destroyOldNotasMedias($anoEscolar) {
self::fetchPreparedQuery($sql, array('params' => $anoEscolar));
}

protected static function destroyOldFaltas($anoEscolar) {
protected static function destroyOldFaltas($anoEscolar, $cod_matricula) {
$filtro = "";

if (is_Numeric($cod_matricula))
$filtro .= " m.cod_matricula = {$cod_matricula} AND ";

$sql = "delete from modules.falta_componente_curricular where id in (
select fcc.id from modules.falta_componente_curricular as fcc,
modules.falta_aluno as fa,
Expand All @@ -133,6 +150,7 @@ protected static function destroyOldFaltas($anoEscolar) {
m.ativo = 1 and
mt.ativo = m.ativo and
m.ano = $1 and
{$filtro}
--m.aprovado = 3 and
CASE WHEN (select 1 from modules.componente_curricular_turma
Expand Down

0 comments on commit 23f7402

Please sign in to comment.