<?PHP
$tipo_local = 1;
include("../../secure/secure.php");
include ('../../conf/configuracao.php');
mysql_connect( $bd_host, $bd_user, $bd_senha )
	or die ( 'Não foi possível conectar ao Servidor.' );
mysql_select_db( $bd_database )
	or die ( 'Não foi possível conectar a Base de Dados.' );
?>
<br>
<br>
<strong><div align="center"><font face="Verdana" size="2" color="#FF0000"><strong>Processando Resultados Parciais (Com a aplicacao dos pesos)</strong></font></div></strong>
<?
// Verificando se o curso jah foi processado
if (isset($limpar)) {
	if ($limpar == 'sim') {
		mysql_query("delete from resultado_final where curso = '$curso' and codigo_vest = '$qual_vestibular'") or die('Não consegui apagar registro anterior (final)');
			mysql_query("delete from resultado_parcial where cod_curso = '$curso' and codigo_vest = '$qual_vestibular'") or die('Não consegui apagar registro anterior (parcial)');
	}
}

$sql = "SELECT * FROM resultado_parcial where cod_curso = '$curso' and codigo_vest = '$qual_vestibular'";
$result = mysql_query($sql)
	or die ( 'Não foi possível executar a query 161.' );
$num = mysql_num_rows($result);
if ($num != 0 ) {
	echo '<br><br><br><br><div align="center"><font face="Verdana" size="2" color="#FF0000"><strong>Curso já processado.<br>Clique <a href="processar_resultado.php?limpar=sim&curso='.$curso.'">aqui</a> para processa-lo novamente.<br></strong></font></div>';
	exit;
}
// Iniciando processamento dos dados

$curso_processado = $curso;

$sql_candidato = "select * from candidato where curso = '$curso_processado' and codigo_vest = '$qual_vestibular' and entregue = 'yes' order by codigo ASC";
$result_candidato = mysql_query($sql_candidato)
	or die ( 'Não foi possivel obter a relacao de candidatos para o curso especificado.' );
$num_candidato = mysql_num_rows($result_candidato);
if ($num_candidato == 0 ) {
	echo '<br><br><center><font face="Verdana" size="2" color="#FF0000"><strong>Não foram encontrados candidatos para o curso especificado!!!</strong></font></center>';
	exit;
}
echo '<div align="center"><strong><font face="Verdana" size="2" color="#000000">Total: ' . $num_candidato .' candidatos</font></strong> - ';
// Obtendo nome do curso
$sql_nome_curso = "Select * from cursos where codigo = $curso_processado";
$result_nome_curso = mysql_query($sql_nome_curso)
	or die ("Não foi possivel identificar o curso especificado");
$info_nome_curso = mysql_fetch_array($result_nome_curso);
echo '<font face="verdana" size="2" color"red"><b>Curso: ' . $info_nome_curso["codigo_curso"] . ' - ' . $info_nome_curso["nome_curso"] . '</b></font>';
echo '<br><font face="Verdana" size="2" color="#000000"><strong>SP</strong> = <strong>S</strong>em <strong>P</strong>eso&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>CP</strong> = <strong>C</strong>om <strong>P</strong>eso</font></div>';
echo '<br><br>';
echo '<font face="verdana" size="2" color="#000000">';
$candiatos_desclassificados = 0;

while($info_candidato = mysql_fetch_array($result_candidato))
{
	//GERA ARRAY PARA CADERNOS DE PROVAS
	$sql_cadernos = mysql_query("SELECT * FROM gabarito_conf WHERE codigo_vest='$qual_vestibular' AND curso='$curso' ORDER BY codigo_prova");

	while ($cadernos = mysql_fetch_array($sql_cadernos))
	{
		if (!isset($t) or $t != $cadernos[codigo_prova])
		{
			$t  = $cadernos[codigo_prova];
			$arr_Cadernos[$cadernos[codigo_prova]] = -1;
		}
	}
	//TESTE PARA EXIBIR O NUMERO DE ITENS QUE CONTÉM A ARRAY
	//echo count($arr_Cadernos)."<br>";

	//TESTE PARA EXIBIR OS INDICES DA ARRAY
	//echo print_r(array_keys($arr_Cadernos))."<br><br>";

	//TESTE PARA EXIBIR OS VALORES DA ARRAY
	//print_r(array_values ($arr_Cadernos))."<br>";
	//exit;

	$v2opcao = $info_candidato["2opcao"];
	$total_parcial_do_candidato = 0;
	$total_parcial_do_candidato_1 = 0;
	$vTotal_sem_peso = 0;
	$situacao_do_candidato = 1;
	$codigo_candidato = $info_candidato["codigo"];
	// Tratando codigo de inscricao do candidato
	$matricula_candidato = $codigo_candidato;
	if ($matricula_candidato <= 9)
		$matricula_candidato_novo = '00000' . $matricula_candidato;
	if (($matricula_candidato >= 10) && ($matricula_candidato <= 99))
		$matricula_candidato_novo = '0000' . $matricula_candidato;
	if (($matricula_candidato >= 100) && ($matricula_candidato <= 999))
		$matricula_candidato_novo = '000' . $matricula_candidato;
	if (($matricula_candidato >= 1000) && ($matricula_candidato <= 9999))
		$matricula_candidato_novo = '00' . $matricula_candidato;
	if (($matricula_candidato >= 10000) && ($matricula_candidato <= 99999))
		$matricula_candidato_novo = '0' . $matricula_candidato;
	if (($matricula_candidato >= 100000))
		$matricula_candidato_novo = $matricula_candidato;
	$codigo_candidato = $matricula_candidato_novo;
	$lingua_candidato = $info_candidato["lingua"];
	$nome_candidato   = $info_candidato["nome_candidato"];
	echo '&nbsp;&nbsp;<strong>Candidato:</strong> <b><font color="blue">' . $codigo_candidato . ' - ' . $nome_candidato .'</font></b>';
	
	// PROVAS A SEREM VERIFICADAS
	$sql_provas = "select * from provas";
	$result_provas = mysql_query($sql_provas)
		or die ("Não foi possivel obter a relação de provas efetuadas");
	$num_provas = mysql_num_rows($result_provas);
	echo '<br>';
	$cor_fundo_tabela = "e1e1e1";
	echo '<table width="90%" border="0" cellspacing="0" cellpadding="0" align="center" style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: smaller;">';
	while($info_provas = mysql_fetch_array($result_provas))
	{
		echo '<tr>';
		$codigo_prova = $info_provas["codigo"];
		echo '<td bgcolor="'. $cor_fundo_tabela .'" width="10%" valign="top">';
			echo '<strong><font color="#FF0000">Prova:</font></strong>';
		echo '</td>';
		echo '<td bgcolor="'. $cor_fundo_tabela .'" width="50%" valign="top"><b>';
			echo  $info_provas["materia"];
		if ($codigo_prova == 2) {
			// Obtendo nome da prova de lingua estrangeira
			$sql_lingua_estrangeira = "Select * from linguas where codigo = $lingua_candidato";
			$result_lingua_estrangeira = mysql_query($sql_lingua_estrangeira)
				or die ("Não foi possivel localizar a prova de lingua estrangeira do candidato");
			$num_lingua_estrangeira = mysql_num_rows($result_lingua_estrangeira);
			if ($num_lingua_estrangeira == 0) {
				echo ' Não determinado';
			}
			else {
				$info_lingua_estrangeira = mysql_fetch_array($result_lingua_estrangeira);
				echo ' ' . $info_lingua_estrangeira["lingua"];
			}
		}
		echo '</b></td>';
		echo '<td bgcolor="'. $cor_fundo_tabela .'" width="10%" valign="top" align="right">';
			echo '<strong><font color="#FF0000">Pontuação:</font></strong>&nbsp;';
		echo '</td>';
		echo '<td bgcolor="'. $cor_fundo_tabela .'" width="30%" valign="top">';
			
			//VERIFICANDO SE O CANDIDATO EFETUOU A PROVA
			$sql_respostas_candidato = "Select * from resp_candidato where candidato = '$codigo_candidato'";

			$result_respostas_candidato = mysql_query($sql_respostas_candidato)
				or die("Não foi possível obter as respostas do candidato");
			$num_respostas_candidato = mysql_num_rows($result_respostas_candidato);

			$ausente = "n";
			if ($num_respostas_candidato == 0)
			{
				echo '<font color="#008000"><strong>00,00 - Não compareceu</strong></font>';
				$situacao_do_candidato = 0;
				$ausente = "s";
				$query_parcial = "insert into resultado_parcial (matricula, cod_curso, cod_materia, pontuacao, codigo_vest) values ('$codigo_candidato', '$curso_processado', '$codigo_prova', 0, '$qual_vestibular')";
				mysql_query ($query_parcial)
					or die(mysql_error() . ' Gravacao 1');
			}
			else 
			{
				$total_de_respostas_do_candidato = 0;
				$sit_nao_compareceu = 0;
				while($info_respostas_candidato = mysql_fetch_array($result_respostas_candidato))
				{
					$prova_do_candidato = $info_respostas_candidato["prova"];
					$respostas_do_candidato = $info_respostas_candidato["respostas"];
					
					// OBTENDO AS RESPOSTAS DO GABARITO OFICIAL
					$sql_gabarito_oficial = "select * from gabarito_conf where materia = '$codigo_prova' and curso = '$curso_processado' and codigo_prova = '$prova_do_candidato' and codigo_vest = '$qual_vestibular'";
					$result_gabarito_oficial = mysql_query($sql_gabarito_oficial)
						or die ("Não foi possivel obter o gabarito oficial");
					$num_gabarito_oficial = mysql_num_rows($result_gabarito_oficial);
					if ($num_gabarito_oficial == 0) {
						//$sit_nao_compareceu = 0;
						//echo '<font color="#008000"><strong>00,00  - Não compareceu</strong></font>';
						//$situacao_do_candidato = 0;
					}
					else
					{
						$sit_nao_compareceu = 1;
						
						// VERIFICANDO AS RESPOSTAS DO CANDIDATO EM RELAÇÃO AO GABARITO OFICIAL
						$info_gabarito_oficial = mysql_fetch_array($result_gabarito_oficial);
						$questoes_da_prova = trim(Descriptografar($info_gabarito_oficial["numero_questoes"],$Chave));
						$inicio_das_questoes = trim(Descriptografar($info_gabarito_oficial["inicia_em"],$Chave));
						$fim_das_questoes = trim(Descriptografar($info_gabarito_oficial["finaliza_em"],$Chave));
						$codigo_de_controle_do_gabarito = $info_gabarito_oficial["codigo"];

						$sql_consulta_respostas_oficiais = "Select * from respostas_gab where codigo_interno = '$codigo_de_controle_do_gabarito'";
						$result_consuta_respostas_oficiais = mysql_query($sql_consulta_respostas_oficiais)
							or die ("Não foi possivel obter o gabarito oficial");
						$num_consulta_respostas_oficiais = mysql_num_rows($result_consuta_respostas_oficiais);
						if ($num_consulta_respostas_oficiais != 1) {
							echo '<strong><font color="#FF0000">Erro Interno. Informe ao Administrador.</font></strong>';
							exit;
						}
						else
						{
							$info_respostas_gabarito_oficial = mysql_fetch_array($result_consuta_respostas_oficiais);
							$respostas_oficiais_da_materia = strtoupper(trim(Descriptografar($info_respostas_gabarito_oficial["respostas"],$Chave)));
							$pesos_oficiais_da_materia = trim(Descriptografar($info_respostas_gabarito_oficial["pesos"],$Chave));
							$respostas_oficiais_tratadas = split('X', $respostas_oficiais_da_materia);
							$pesos_oficiais_tratadas = split('X', $pesos_oficiais_da_materia);
							$total_da_prova = 0;
							$total_da_prova_1 = 0;
							$contador_do_candidato = $inicio_das_questoes - 1;
							for ($i = 0 ; $i < $questoes_da_prova; $i++)
							{
								if ($respostas_oficiais_tratadas[$i] == $respostas_do_candidato[$contador_do_candidato])
								{
									$total_da_prova = $total_da_prova + (1 * $pesos_oficiais_tratadas[$i]);
								}
								else
								{
									//VERIFICANDO SE A QUESTAO FOI ANULADA
									$questao_para_verificacao = $i + 1;
									if ($codigo_da_prova == 2)
									{
										$sql_questao_anulada = "select * from anular where curso = '$curso_processado' and materia='$codigo_prova' and questao='$questao_para_verificacao' and lingua = '$lingua_candidato' and codigo_vest = '$qual_vestibular'";
									}
									else 
									{
										$sql_questao_anulada = "select * from anular where curso = '$curso_processado' and materia='$codigo_prova' and questao='$questao_para_verificacao' and codigo_vest = '$qual_vestibular'";
									}
									$result_questao_anulada = mysql_query($sql_questao_anulada)
										or die ("Não foi possivel verificar se a questao foi anulada");
									$num_questao_anulada = mysql_num_rows($result_questao_anulada);
									if ($num_questao_anulada == 0)
									{
										$total_da_prova = $total_da_prova + (0 * $pesos_oficiais_tratadas[$i]);
									}
									else 
									{
										$info_questao_anulada = mysql_fetch_array($result_questao_anulada);
										$total_da_prova = $total_da_prova + $info_questao_anulada["valor_questao"];
									}
								}
								$contador_do_candidato++;
							}
							echo '<b><font color="blue">';
							if ($total_da_prova <= 9 )
							{
								echo '<font color="000000">SP:</font> 00' . $total_da_prova . ',00';
							}
							if (($total_da_prova >= 10) && ($total_da_prova <= 99)) {
								echo '<font color="000000">SP:</font> 0' . $total_da_prova . ',00';
							}
							if ($total_da_prova >= 100 ) {
								echo '<font color="000000">SP:</font> '.$total_da_prova . ',00';
							}
							
							// COMENTÁRIO UTILIZADO PARA NAO DESCLASSIFICAR O CANDIDATO QUE SÓ ZEROU
							//  UMA PROVA DO CADERNO 
							
							if ($total_da_prova == 0) {
								//$situacao_do_candidato = 0;
								$situacao_do_candidato = 1;
							}

							// LANÇANDO NOTA SEM PESO CONSEGUIDA NA PROVA, NA ARRAY DE CADERNO
							if ($arr_Cadernos[$prova_do_candidato] == -1)
							{
								$arr_Cadernos[$prova_do_candidato] = 0;
							}
							$arr_Cadernos[$prova_do_candidato] = $arr_Cadernos[$prova_do_candidato] + $total_da_prova;
 							
							echo '</font></b>';
							$query_parcial = "insert into resultado_parcial (matricula, cod_curso, cod_materia, pontuacao, codigo_vest) values ('$codigo_candidato', '$curso_processado', '$codigo_prova', $total_da_prova, '$qual_vestibular')";
							mysql_query ($query_parcial)
								or die(mysql_error() . 'Gravacao 2');
							
							// COLOCANDO O PESO DE CADA MATERIA RESPECTIVAMENTE
							$sql_peso_da_materia = "select * from pesos where codigo_do_curso = '$curso_processado' and codigo_da_materia = '$codigo_prova' and codigo_vest = '$qual_vestibular'";
							$result_peso_da_materia = mysql_query($sql_peso_da_materia)
								or die ("Nao foi possivel obter o peso individual da prova");
							$num_peso_da_materia = mysql_num_rows($result_peso_da_materia);
							if ($num_peso_da_materia != 1 )
							{
								echo 'Não foi definido os pesos das provas para este curso neste processo seletivo';
								exit;
							}
							else
							{
								$info_peso_da_materia = mysql_fetch_array($result_peso_da_materia);
								$total_da_prova_1 = $total_da_prova * $info_peso_da_materia["peso"];
							}
							$total_parcial_do_candidato = $total_parcial_do_candidato + $total_da_prova;
							echo '&nbsp;&nbsp;&nbsp;<b><font color="blue">';
							if ($total_da_prova_1 <= 9 )
							{
								echo '<font color="000000">CP:</font> 00' . $total_da_prova_1 . ',00';
							}
							if (($total_da_prova_1 >= 10) && ($total_da_prova_1 <= 99))
							{
								echo '<font color="000000">CP:</font> 0' . $total_da_prova_1 . ',00';
							}
							if ($total_da_prova_1 >= 100 )
							{
								echo '<font color="000000">CP:</font> '.$total_da_prova_1 . ',00';
							}
							echo '</font></b>';
							$total_parcial_do_candidato_1 = $total_parcial_do_candidato_1 + $total_da_prova_1;
							
						}
					}
					$total_de_respostas_do_candidato++;
				}
				
				if ($sit_nao_compareceu == 0)
				{
					echo '<font color="#008000"><strong>00,00 - Não compareceu</strong></font>';
					$situacao_do_candidato = 0;
					$query_parcial = "insert into resultado_parcial (matricula, cod_curso, cod_materia, pontuacao, codigo_vest) values ('$codigo_candidato', '$curso_processado', '$codigo_prova', 0, '$qual_vestibular')";
					mysql_query ($query_parcial)
						or die(mysql_error() . 'Gravacao 4');
				}
			}
			
		echo '</td>';
		echo '</tr>';
		if ($cor_fundo_tabela == 'e1e1e1') 
			$cor_fundo_tabela = 'ffffff';
		else
			$cor_fundo_tabela = 'e1e1e1';
	}
	echo '<tr>';
	echo '<td colspan="2">';
	echo '&nbsp;' ;
	echo '</td>';
	echo '<td align="right">';
	echo '<strong><font color="#FF0000">Parcial:</font></strong>&nbsp;';
	echo '</td>';
	echo '<td>';
	echo '<font color="000000"><b>';
	if ($total_parcial_do_candidato <= 9 )
	{
		echo '<font color="000000">SP:</font> 00' . $total_parcial_do_candidato . ',00';
	}
	
	if (($total_parcial_do_candidato >= 10) && ($total_parcial_do_candidato <= 99))
	{
		echo '<font color="000000">SP:</font> 0' . $total_parcial_do_candidato . ',00';
	}
	
	if ($total_parcial_do_candidato >= 100 )
	{
		echo '<font color="000000">SP:</font> ' . $total_parcial_do_candidato . ',00';
	}
	echo '</b></font>';
	echo '&nbsp;&nbsp;&nbsp;<font color="000000"><b>';
	
	if ($total_parcial_do_candidato_1 <= 9 )
	{
		echo '<font color="000000">CP:</font> 00' . $total_parcial_do_candidato_1 . ',00';
	}
	
	if (($total_parcial_do_candidato_1 >= 10) && ($total_parcial_do_candidato_1 <= 99))
	{
		echo '<font color="000000">CP:</font> 0' . $total_parcial_do_candidato_1 . ',00';
	}
	if ($total_parcial_do_candidato_1 >= 100 )
	{
		echo '<font color="000000">CP:</font> ' . $total_parcial_do_candidato_1 . ',00';
	}
	
	// AVALIANDO SE EXISTE CADERNO EM QUE O CANDIDATO ZEROU
	$arr_nomenclatura = array_keys($arr_Cadernos);
	$vzerou_caderno = "n";
	for ($ind = 0; $ind <= (count($arr_Cadernos)-1); $ind++)
	{
		if ($arr_Cadernos[$arr_nomenclatura[$ind]] == 0)
		{
			$situacao_do_candidato = 0;
			$vzerou_caderno = "s";
		}
	}
	
	echo '</b></font>';
	if ($ausente == "s")
	{
		$vzerou_caderno = "s";
	}

	//$query_final = "insert into resultado_final (matricula, curso, total, situacao,total_final, codigo_vest, nome_candidato, total_sem_peso) values ('$codigo_candidato', '$curso_processado', $total_parcial_do_candidato_1, '$situacao_do_candidato', $total_parcial_do_candidato_1, '$qual_vestibular','$nome_candidato','$vTotal_sem_peso')";
			
	$query_final = "insert into resultado_final (matricula, curso, total, situacao,total_final, codigo_vest, nome_candidato, 2opcao,zerou_caderno) values ('$codigo_candidato', '$curso_processado', $total_parcial_do_candidato_1, '$situacao_do_candidato', $total_parcial_do_candidato_1, '$qual_vestibular','$nome_candidato', '$v2opcao', '$vzerou_caderno')";
			
	mysql_query ($query_final)
		or die(mysql_error() . 'Gravacao 5');
			
	// Verificando se o candidato jah possui nota de Redacao
	$sql_nota_de_redacao = "Select * from notas_redacao where matricula = '$codigo_candidato'";
	$result_nota_de_redacao = mysql_query($sql_nota_de_redacao)
		or die ("Não foi possivel verificar nota de redacao");
	$num_nota_de_redacao = mysql_num_rows($result_nota_de_redacao);
	if ($num_nota_de_redacao == 0 )
	{
		$query_redacao = "insert into notas_redacao (matricula ) values ('$codigo_candidato')";
		mysql_query ($query_redacao)
			or die(mysql_error() . 'Gravacao 6');
	}
	echo '</td>';
	echo '<tr>';
	echo '<td colspan="2" bgcolor="e1e1e1">';
	echo '&nbsp;' ;
	echo '</td>';
	echo '<td align="right" bgcolor="e1e1e1">';
	echo '<strong><font color="#000000">Situação:</font></strong>&nbsp;';
	echo '</td>';
	echo '<td bgcolor="e1e1e1">';
	echo '<font color="000000"><b>';
	
	//echo "<br>".$total_da_prova; //$arr_Cadernos[$prova_do_candidato];
	//TESTE PARA EXIBIR O NUMERO DE ITENS QUE CONTÉM A ARRAY
	//echo count($arr_Cadernos)."<br>";

	//TESTE PARA EXIBIR OS INDICES DA ARRAY
	//echo print_r(array_keys($arr_Cadernos))."<br><br>";

	//TESTE PARA EXIBIR OS VALORES DA ARRAY
	//print_r(array_values ($arr_Cadernos))."<br>";
	//exit;

	if ($situacao_do_candidato == 1 )
	{
		echo '<font color="blue">Semi-classificado</font>';
	}
	else
	{
		echo '<font color="red">Desclassificado</font>';
		$candiatos_desclassificados++;
	}
	echo '</b></font>';
	echo '</td>';
	echo '</table>';
	echo '<hr>';
}
echo '<center><font color="000000" face="Verdana" size="2"><b>';
echo 'Total de candidados semi-classificados: ' . ($num_candidato - $candiatos_desclassificados);
echo '<br>';
echo 'Total de candidados desclassificados: ' . $candiatos_desclassificados;
echo '<br>';
echo 'Total: ' . $num_candidato;
echo '</b></font></center>';
echo '</font>';
?>
<br>
<br>
<br>
&nbsp;