function _desempenho_docente_importa($memory_limit, $csv_file) { global $conn; $levantamento = '1001'; $qry = ''; $nao_sera_importado = ''; if (!file_exists($csv_file)) { echo 'arquivo não encontrado: ' . $csv_file; return; } $csv_file = realpath($csv_file); // Automatically detect line endings. ini_set('auto_detect_line_endings', '1'); $handle = @fopen($csv_file, 'r'); $count_lines = count(file($csv_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES)); $count = 0; echo '<strong>Arquivo:</strong> ' . basename($csv_file) . '<br /><br />'; while (($line = fgetcsv($handle, 1000, '|')) !== FALSE) { //$verifica_associacao = 0; set_time_limit(60); $professor = (int) trim($line[1]); $disciplina_ofer = (int) trim($line[0]); echo $professor . ' - ' . $disciplina_ofer . '<br />'; if ((!is_numeric($professor) || $professor == 0) && (!is_numeric($disciplina_ofer) || $disciplina_ofer == 0)) { continue; } //if (!is_numeric($disciplina_ofer) || $disciplina_ofer = 0) continue; //echo $disciplina_ofer . ' - '; // verifica associação professor <-> disciplina_ofer $sql_verifica = "SELECT ref_professor FROM disciplinas_ofer_prof "; $sql_verifica .= " WHERE ref_disciplina_ofer = {$disciplina_ofer} AND "; $sql_verifica .= " ref_professor = {$professor};"; //echo $sql_verifica; $verifica_associacao = count($conn->adodb->GetAll($sql_verifica)); echo 'associa: ' . $verifica_associacao . '<br />'; if ($verifica_associacao == 1) { $qry_avaliacao = "BEGIN;"; $nota_criterio_1 = number::decimal_br2numeric(trim($line[2]), 2); $qry_avaliacao .= "INSERT INTO desempenho_docente_nota VALUES ({$disciplina_ofer}, {$professor}, 1, {$levantamento}, {$nota_criterio_1});"; $nota_criterio_2 = number::decimal_br2numeric(trim($line[3]), 2); $qry_avaliacao .= "INSERT INTO desempenho_docente_nota VALUES ({$disciplina_ofer}, {$professor}, 2, {$levantamento}, {$nota_criterio_2});"; $nota_criterio_3 = number::decimal_br2numeric(trim($line[4]), 2); $qry_avaliacao .= "INSERT INTO desempenho_docente_nota VALUES ({$disciplina_ofer}, {$professor}, 3, {$levantamento}, {$nota_criterio_3});"; $nota_criterio_4 = number::decimal_br2numeric(trim($line[5]), 2); $qry_avaliacao .= "INSERT INTO desempenho_docente_nota VALUES ({$disciplina_ofer}, {$professor}, 4, {$levantamento}, {$nota_criterio_4});"; $nota_criterio_5 = number::decimal_br2numeric(trim($line[6]), 2); $qry_avaliacao .= "INSERT INTO desempenho_docente_nota VALUES ({$disciplina_ofer}, {$professor}, 5, {$levantamento}, {$nota_criterio_5});"; $nota_criterio_6 = number::decimal_br2numeric(trim($line[7]), 2); $qry_avaliacao .= "INSERT INTO desempenho_docente_nota VALUES ({$disciplina_ofer}, {$professor}, 6, {$levantamento}, {$nota_criterio_6});"; $qry_avaliacao .= "COMMIT;"; $ret = $conn->adodb->Execute($qry_avaliacao); if ($ret === FALSE) { $qry .= $professor . ' - ' . $disciplina_ofer . ' <font color="red">ERRO</font><br />'; } else { $qry .= $professor . ' - ' . $disciplina_ofer . ' <font color="green">OK</font><br />'; } } else { // não existe associação professor <-> disciplina_ofer $sql_info = "SELECT descricao_disciplina(get_disciplina_de_disciplina_of({$disciplina_ofer})) || ' (' || {$disciplina_ofer} || ') - '"; $sql_info .= " || pessoa_nome({$professor}) || ' (' || {$professor} || ')';"; $nao_sera_importado .= $conn->adodb->GetOne($sql_info) . ' ' . $sql_verifica . '<br />'; } $count++; } // endwhile; @fclose($handle); if (strlen($nao_sera_importado) > 0) { echo '<h3>Não será importado os registros abaixo, pois não existe associação entre o professor(a) e a disciplina informadas</h3>'; echo $nao_sera_importado; } if (strlen($qry) > 0) { echo '<h3>Resultado da importação</h3>'; echo "<br />{$qry}<br />"; } else { echo '<h3>Nenhum registro para importação</h3>'; } }
// SQL NOTA DISTRIBUIDA $sql_update .= "UPDATE diario_formulas SET nota_distribuida = {$nota_distribuida}\r\n\t\t\t\t\tWHERE grupo ILIKE '%-{$diario_id}' AND prova = '{$prova}';"; $msg_registros .= "<font color=\"brownn\" >Nota distribuída <font color=\"blue\">(<strong>" . number::numeric2decimal_br($nota_distribuida, 1) . " pontos</strong>)</font> registrada com sucesso!</b></font><br /><br />"; // ^ SQL NOTA DISTRIBUIDA ^ foreach ($qrynotas_parciais as $aluno) { /* $flag_extra = 0; $flag_diff = 0; $flag_media = 0; $flag_maior = 0; $flag_grava = 0; $flag_nota_distribuida = 0; $flag_nota_distribuida_maior = 0; */ $nota = $notas[$aluno['ref_pessoa']]; $nota = number::decimal_br2numeric($nota, 1); $aluno_id = $aluno['ref_pessoa']; $nota_parcial = $aluno['notaparcial']; $nota_atual = $aluno['notaatual']; $nota_extra = $aluno['notaextra']; $nome_aluno = $aluno['nome']; if (!ereg("[0-9]*\\.?[0-9]+\$", $nota) || $nota == '') { $nota = 0; } // NOTA MAIOR QUE NOTA DISTRIBUIDA if ($nota > $nota_distribuida) { $flag_nota_distribuida_maior = 1; } else { $flag_nota_distribuida_maior = 0; } // NOTA EXTRA