<?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 Resultado...</strong></font></div></strong>

<?
	// Verificando se o curso jah não foi processado
	if (isset($limpar)) {
		if ($limpar == 'sim') {
			mysql_query("delete from resultado_final where curso = '$curso' and codigo_vest = '$qual_vestibular'") or die('Naum consegui apagar registro anterior');
 			mysql_query("delete from resultado_parcial where cod_curso = '$curso' and codigo_vest = '$qual_vestibular'") or die('Naum consegui apagar registro anterior');
		}
	}
	
	$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.php?limpar=sim&curso='.$curso.'">aqui</a> para processa-lo novamente.<br></strong></font></div>';
		exit;
	}
	// Iniciando rotina de processamento
	$codigo_curso = $curso;
	$sql = "SELECT * FROM candidato where controle = '$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><center><font face="Verdana" size="2" color="#FF0000"><strong>Curso não encontrado no sistema!!!</strong></font></center>';
		exit;
	}
	else {
		while($info = mysql_fetch_array($result)) {
			// Obtendo candidatos do curso escolhido
			$inicio_respostas_candidato = 0;
			// Dados do candidato
			$matricula_candidato = $info["codigo"];
			$nome_candidato = $info["nome_candidato"];
			$telefone_candidato = $info["cod_telefone"];
			$telefone_candidato= $telefone_candidato . '-' . $info["telefone"];
			$situacao_candidato = $info["entregue"];
			$idioma_candidato = $info["lingua"];
			if ($situacao_candidato == 'yes') {
			// Otendo tipos de provas
			$sql_provas = "SELECT * FROM provas order by codigo ASC";
			$result_provas = mysql_query($sql_provas)
				or die ( 'Erro na obetenção das provas do processo seletivo' );
			while($info_provas = mysql_fetch_array($result_provas)) {
				$codigo_materia = $info_provas["codigo"];
				// Obtendo codigo da prova e codigo interno do gabarito
				$sql_cod_gabarito = "SELECT * FROM gabarito_conf where curso = '$codigo_curso' and materia = '$codigo_materia' and codigo_vest = '$qual_vestibular'";
				$result_cod_gabarito = mysql_query($sql_cod_gabarito)
					or die ( 'Erro na obtenção do codigo da prova e codigo interno do gabarito' );
				$num_1 = mysql_num_rows($result_cod_gabarito);
				if ($num_1 == 0) {
					echo '<br><br><center><font face="Verdana" size="2" color="#FF0000"><strong>Gabarito não cadastrado para o Curso!!!</strong></font></center>';
					exit;
				}
				while($info_codigo_gabarito = mysql_fetch_array($result_cod_gabarito)) {
					$gabarito_codigo_interno = $info_codigo_gabarito["codigo"];
					$gabarito_numero_de_questoes = trim(Descriptografar($info_codigo_gabarito["numero_questoes"],$Chave));
					$gabarito_inicia_em = trim(Descriptografar($info_codigo_gabarito["inicia_em"],$Chave));
					$gabarito_finaliza_em = trim(Descriptografar($info_codigo_gabarito["finaliza_em"],$Chave));
					$gabarito_codigo_prova_anterior = $gabarito_codigo_prova;
					$gabarito_codigo_prova = $info_codigo_gabarito["codigo_prova"];
					if ($gabarito_codigo_prova_anterior != $gabarito_codigo_prova) {
						$inicio_respostas_candidato = 0;
					}
					// Obtendo gabarito oficial
					$sql_gab_oficial = "SELECT * FROM respostas_gab where codigo_interno = '$gabarito_codigo_interno'";
					$result_gab_oficial = mysql_query($sql_gab_oficial)
						or die ( 'Erro na obtenção do gabarito oficial' );
					while($info_codigo_gabarito = mysql_fetch_array($result_gab_oficial)) {
						$gabarito_oficial_respostas = trim(Descriptografar($info_codigo_gabarito["respostas"],$Chave));
						$gabarito_oficial_pesos = trim(Descriptografar($info_codigo_gabarito["pesos"],$Chave));
						$gabarito_oficial_lingua = $info_codigo_gabarito["le"];
					}
					// Tratando codigo da matricula
					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;
					
					// Obtendo respostas do candidato
					$sql_resp_cand = "SELECT * FROM resp_candidato where candidato = '$matricula_candidato_novo' and prova = '$gabarito_codigo_prova'";
					$result_resp_cand = mysql_query($sql_resp_cand)
						or die ( 'Erro na obtenção das respostas do candidato' );
					$respostas_candidato = '';
					while($info_resp_cand = mysql_fetch_array($result_resp_cand)) {
						$respostas_candidato = $info_resp_cand["respostas"];
						$caderno_do_candidato = $info_resp_cand["prova"];
					}
					if ($codigo_materia == 2) {
						if ($gabarito_oficial_lingua == $idioma_candidato) {
							//echo 'MAT: <b>' . $matricula_candidato_novo . '</b> COD MATERIA: <b>' . $codigo_materia . '</b> COD PROVA: <b>' . $gabarito_codigo_prova . ' </b>COD INTERNO: <b>' . $gabarito_codigo_interno . '</b><br>GAB OFIC: <b>' . $gabarito_oficial_respostas. '</b><br>RESP CAND: ' . $respostas_candidato . '</b><br> NOME: ' . $nome_candidato. ' LINGUA '. $idioma_candidato . ' LING OFIC: ' . $gabarito_oficial_lingua . '<br><br>';
							// Calculo e verificação
							$gabarito_oficial_array = split('X',$gabarito_oficial_respostas);
							$peso_oficial_array = split('X',$gabarito_oficial_pesos);
							$total_da_prova_do_cand = 0;
							for ($i = 0; $i <= ($gabarito_numero_de_questoes - 1); $i++) {
								// Verificando se a questão foi anulada
								$numero_da_questao_atual = $i+1;
								$sql_nulo = "SELECT * FROM anular where curso = $codigo_curso and materia = $codigo_materia and questao = $numero_da_questao_atual and lingua = $idioma_candidato";
								$result_nulo = mysql_query($sql_nulo)
									or die ( 'Erro na obtenção das questoes nulas' );
								$num_nulo = mysql_num_rows($result_nulo);
								if ($num_nulo != 0) {
									while($info_nulo = mysql_fetch_array($result_nulo)) {
										$valor_da_questao = $info_nulo["valor_questao"];
									}
									$total_da_prova_do_cand = $total_da_prova_do_cand + $valor_da_questao;
								}
								else {
									//Verificando respostas do cand;
									if (strtolower($gabarito_oficial_array[$i]) == strtolower(substr($respostas_candidato,$inicio_respostas_candidato,1))) {
										$total_da_prova_do_cand = $total_da_prova_do_cand + (1 * $peso_oficial_array[$i]);
									}
								}
							$inicio_respostas_candidato++;
							}
							$query = "insert into resultado_parcial (matricula, cod_curso, cod_materia, pontuacao, codigo_vest) values ('$matricula_candidato_novo', '$codigo_curso', '$codigo_materia', $total_da_prova_do_cand, '$qual_vestibular')";
							
							//mysql_query ($query)
							//	or die(mysql_error());
							
							
							echo $matricula_candidato . ' MATERIA: ' . $codigo_materia . ' TOTAL CAND: ' . $total_da_prova_do_cand . '<br>';
						}
					}
					else {
							//echo 'MAT: <b>' . $matricula_candidato_novo . '</b> COD MATERIA: <b>' . $codigo_materia . '</b> COD PROVA: <b>' . $gabarito_codigo_prova . ' </b>COD INTERNO: <b>' . $gabarito_codigo_interno . '</b><br>GAB OFIC: <b>' . $gabarito_oficial_respostas. '</b><br>RESP CAND: ' . $respostas_candidato . '</b><br> NOME: ' . $nome_candidato.'<br><br>';

							// Calculo e verificação
							$gabarito_oficial_array = split('X',$gabarito_oficial_respostas);
							$peso_oficial_array = split('X',$gabarito_oficial_pesos);
							$total_da_prova_do_cand = 0;
							for ($i = 0; $i <= ($gabarito_numero_de_questoes - 1); $i++) {
								// Verificando se a questão foi anulada
								$numero_da_questao_atual = $i+1;
								$sql_nulo = "SELECT * FROM anular where curso = $codigo_curso and materia = $codigo_materia and questao = $numero_da_questao_atual and codigo_vest = '$qual_vestibular'";
								$result_nulo = mysql_query($sql_nulo)
									or die ( 'Erro na obtenção das questoes nulas' );
								$num_nulo = mysql_num_rows($result_nulo);
								if ($num_nulo != 0) {
									while($info_nulo = mysql_fetch_array($result_nulo)) {
										$valor_da_questao = $info_nulo["valor_questao"];
									}
									$total_da_prova_do_cand = $total_da_prova_do_cand + $valor_da_questao;
								}
								else {
									//Verificando respostas do cand;
									if (strtolower($gabarito_oficial_array[$i]) == strtolower(substr($respostas_candidato,$inicio_respostas_candidato,1))) {
										$total_da_prova_do_cand = $total_da_prova_do_cand + (1 * $peso_oficial_array[$i]);
									}
								}
							$inicio_respostas_candidato++;
							}
							if ($gabarito_codigo_interno == $caderno_do_candidato) {
							$query = "insert into resultado_parcial (matricula, cod_curso, cod_materia, pontuacao, codigo_vest) values ('$matricula_candidato_novo', '$codigo_curso', '$codigo_materia', $total_da_prova_do_cand, '$qual_vestibular')";
							
							//mysql_query ($query)
							//	or die(mysql_error());
							echo $matricula_candidato . ' MATERIA: ' . $codigo_materia . ' TOTAL CAND: ' . $total_da_prova_do_cand . '<br>';
							}
					}
				}
			}
		}
		}



exit;
// Processando Nota Final
///
///
/// Calculando classificacao final
///
///
	$query_pesos = "Select * from pesos";
	$result_pesos = mysql_query($query_pesos)
		or die(mysql_error());
	$peso_materia = array();
	$peso_prova = array();
	$peso_valor = array();
	$num_pesos = mysql_num_rows($result_pesos);
	$i = 1;
	while($parcial_pesos = mysql_fetch_array($result_pesos)) {
		$peso_curso[$i] = $parcial_pesos["codigo_do_curso"];
		$peso_materia[$i] = $parcial_pesos["codigo_da_materia"];
		$peso_valor[$i] = $parcial_pesos["peso"];
		$i++;
	}

	$query_geral = "Select * from candidato where controle = '$codigo_curso' and codigo_vest = '$qual_vestibular'";
	$result = mysql_query($query_geral)
			or die ( 'Não foi possível executar a query 161.' );
	$num_geral = mysql_num_rows($result);
	//echo $num_geral;
	while ($info_candidato = mysql_fetch_array($result)) {
		$matricula_candidato = $info_candidato["codigo"];
		$situacao_candidato = $info_candidato["entregue"];
		if ($situacao_candidato == 'yes') {
		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;
		
		$mat_verifica = $matricula_candidato_novo;
		$nome_do_candidato = $info_candidato["nome_candidato"];
		$query_pessoal = "Select * from resultado_parcial where matricula = '$mat_verifica'";
		$result_parcial = mysql_query($query_pessoal)
			or die(mysql_error());
		$num_parcial = mysql_num_rows($result_parcial);
		$total_candidato = 0;
		$situacao = 1;
		$entrou = 0 ;
		while($parcial = mysql_fetch_array($result_parcial)) {
			$entrou  = 1;
			$ponto_materia = $parcial["pontuacao"];
			$materia = $parcial["cod_materia"];
			$curso = $parcial["cod_curso"];
			for ($j=1; $j<= $num_pesos; $j++) {
				if (($materia == $peso_materia[$j]) && ($curso == $peso_curso[$j])) {
					if ($ponto_materia == 0 ) {
						$situacao = 0;
					}
					else {
						$total_candidato = $total_candidato + ($ponto_materia * $peso_valor[$j]);
					}
				}
			}
		}
		if ($entrou == 1) {
			$query_final = "insert into resultado_final (matricula, curso, total, situacao,total_final, codigo_vest, nome_candidato) values ('$mat_verifica', '$curso', $total_candidato, '$situacao', $total_candidato, '$qual_vestibular','$nome_do_candidato')";
			mysql_query ($query_final)
				or die(mysql_error());
			$query_final = "insert into notas_redacao (matricula ) values ('$mat_verifica')";
			mysql_query ($query_final)
				or die(mysql_error());
			//echo 'Matricula ..: ' . $mat_verifica .' Pontos..: ' . $total_candidato . ' - Situ..: ' . $situacao . '<br>';
		}
	}
	}
		echo '<br><br><br><br><strong><div align="center"><font face="Verdana" size="2" color="#FF0000">Processamento efetuado com sucesso.<br>Clique em GERAR CLASSIFICAÇÂO para criar a relação de aprovados e excedentes.</font></div></strong>';
}
?>

</body>
</html>
