Beispiel #1
0
function atualiza_dispensa($aluno, $diario_id, $dispensa_tipo)
{
    global $conn;
    // EXCLUI FALTAS E NOTAS ANTERIORES
    $sql_dispensa = 'BEGIN;';
    $sql_faltas = "DELETE FROM diario_chamadas WHERE ra_cnec = '{$aluno}' AND ref_disciplina_ofer = {$diario_id};";
    $sql_notas = "DELETE FROM diario_notas WHERE ra_cnec = '{$aluno}' AND d_ref_disciplina_ofer = {$diario_id};";
    $sql_dispensa .= $sql_faltas . $sql_notas . 'COMMIT;';
    $rs_dispensa = $conn->Execute($sql_dispensa);
    // ^ EXCLUI FALTAS E NOTAS ANTERIORES ^ //
    // INICIALIZA O DIARIO CASO NECESSÁRIO
    if (!is_inicializado($diario_id)) {
        if (ini_diario($diario_id)) {
            atualiza_diario($aluno, $diario_id, $dispensa_tipo);
        } else {
            echo '<script language=javascript> window.alert("Falha ao inicializar o diario!"); window.close();</script>';
        }
    } else {
        atualiza_diario($aluno, $diario_id, $dispensa_tipo);
    }
}
        $title = "<h3><font color=\"#FF0000\">Erro: matr&iacute;cula n&atilde;o efetuada!</font></h3>";
        $msg = ">> Di&aacute;rio: {$diario}<br>";
        $msg .= "<p><b>Informa&ccedil;&otilde;es sobre o erro:</b><br>{$conn->ErrorMsg}()</p>";
    } else {
        // atualizar o contrato somente quando pelo menos uma matricula for efetivada
        //-- Atualizando o contrato para o periodo corrente
        $sqlAtualizaContrato = "\r\n\t\t\tUPDATE contratos SET\r\n  \t\t\t\tcod_status = null,\r\n  \t\t\t\tref_last_periodo = '{$sa_periodo_id}'\r\n\t\t\tWHERE\r\n  \t\t\t\tid = '{$contrato_id}';";
        if ($conn->Execute($sqlAtualizaContrato) === false) {
            $msg .= ">> <font color=\"#FF0000\">Erro ao atualizar contrato: {$conn->ErrorMsg}()</font><br>";
        } else {
            $msg .= ">> Contrato atualizado para o per&iacute;odo<br>";
        }
    }
    // ATUALIZA NOTAS E FALTAS CASO O DIARIO TEM SIDO INICIALIZADO
    foreach ($diarios_matriculados as $matriculado) {
        atualiza_diario("{$aluno_id}", "{$matriculado}");
    }
    // ^ ATUALIZA NOTAS E FALTAS CASO O DIARIO TEM SIDO INICIALIZADO ^ //
} else {
    $msg .= '<h4><font color="#FF0000">Selecione pelo menos uma disciplina para efetuar a matr&iacute;cula!</font></h4>';
}
$cabecalho = ">> <strong>Aluno</strong>: {$aluno_id} <br />";
$cabecalho .= ">> <strong>Curso</strong>: {$curso_id}  - <strong>Per&iacute;odo</strong>: {$sa_periodo_id} <br />";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>SA</title>
<link href="../../public/styles/formularios.css" rel="stylesheet" type="text/css" />
<script language="JavaScript">
<!--
    $aluno_id = $_POST['aluno_id'];
    // matricula do aluno
    $diarios = explode("|", $_POST['diarios']);
    // diarios a ajustar quando for mais de um separ�-los por um |
    /* 
    	Exemplos de URLs para efetiva��o do ajuste de nota e/ou faltas
    
    	ajusta_notas_faltas.php?d=2483|2484|2485|2486|2487|2488&id=2735
    	ajusta_notas_faltas.php?d=2483&id=2735
    */
    // SOMENTE EFETUA AJUSTE SE EXISTIR PELO MENOS UM DIARIO E UM ALUNO
    if (is_numeric(count($diarios)) and count($diarios) > 0 and is_numeric($aluno_id)) {
        $diarios_ajustados = '';
        foreach ($diarios as $diario) {
            if (is_diario($diario) && is_inicializado($diario) && !is_finalizado($diario)) {
                atualiza_diario("{$aluno_id}", "{$diario}");
                $diarios_ajustados .= $diario . '  ';
            }
        }
        // ^ ATUALIZA NOTAS E FALTAS CASO O DIARIO TEM SIDO INICIALIZADO ^ //
    }
    //^ SOMENTE EFETUA AJUSTE SE EXISTIR PELO MENOS UM DIARIO E UM ALUNO ^//
    $cabecalho = ">> <strong>Aluno</strong>: {$aluno_id} <br />";
    $cabecalho .= ">> <strong>Di&aacute;rios</strong>: {$diarios_ajustados} <br />";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>SA</title>
<link href="../../public/styles/formularios.css" rel="stylesheet" type="text/css" />
            WHERE
                d.d_ref_disciplina_ofer = ' . $diario_id . '
              ) tmp
        ON ( m.ref_pessoa = id_ref_pessoas )
        WHERE
            m.ref_disciplina_ofer = ' . $diario_id . ' AND
            id_ref_pessoas IS NULL AND
			(m.dt_cancelamento is null) AND
			(m.ref_motivo_matricula = 0)

        ORDER BY
                id_ref_pessoas;';
$qry = $conn->get_all($qryNotas);
foreach ($qry as $registro) {
    $ref_pessoa = $registro['ref_pessoa'];
    atualiza_diario("{$ref_pessoa}", "{$diario_id}");
}
// ^ ATUALIZA NOTAS E FALTAS CASO O DIARIO TENHA SIDO INICIALIZADO ^//
if (!existe_matricula($diario_id)) {
    exit('<script language="javascript">window.alert("Este diário ainda não possue alunos matriculados!"); javascript:window.close(); </script>');
}
$sql3 = 'SELECT 
            b.nome, b.ra_cnec, a.ordem_chamada, a.nota_final, c.ref_diario_avaliacao, c.nota, a.num_faltas 
        FROM 
            matricula a, pessoas b, diario_notas c 
        WHERE    
            (a.dt_cancelamento is null) AND 
            a.ref_disciplina_ofer = ' . $diario_id . ' AND 
            a.ref_pessoa = b.id AND 
            b.ra_cnec = c.ra_cnec AND 
            c.d_ref_disciplina_ofer = a.ref_disciplina_ofer AND