<?php require_once('../../Connections/cn.php'); ?>
<?php require_once('../../Connections/conn.php'); ?>
<?php
header("Content-Type:text/html; charset=utf-8");
$carrera=$_GET['carrera'];
$cedula_usuario=$_GET['cedula'];

mysql_select_db($database_cn, $cn);
mysql_query ("SET NAMES 'utf8'");
// Datos del alumno
$sql = "SELECT id_alumno,cedula,apellidos, nombres,tipo_doc FROM alumnos where cedula='$cedula_usuario' or id_alumno='$cedula_usuario'";
$rs = mysql_query($sql, $cn) or die(mysql_error());
$row = mysql_fetch_assoc($rs);
$id_alumno= $row['id_alumno'];
$cedula= $row['cedula'];

$apellidos= $row['apellidos'];
$nombres= $row['nombres'];

$tipodoc=$row['tipo_doc'];
if(substr($tipodoc,0,1)=="C") {
	    $documento=utf8_decode('CÉDULA: ');
		}
				else {	
		 $documento='PASAPORTE: ';}
//fin

//Datos de la Carrera
$query_rstCarreras1 = "SELECT * FROM carreras_alumno Where carreras_alumno.id_carrera='$carrera' and id_alumno='$id_alumno'";
$rstCarreras1 = mysql_query($query_rstCarreras1, $cn) or die(mysql_error());
$row_rstCarreras1 = mysql_fetch_assoc($rstCarreras1);
$totalRows_rstCarreras1 = mysql_num_rows($rstCarreras1);
$periodo_ingreso=$row_rstCarreras1['periodo_ingreso'];
$sede=$row_rstCarreras1['sede'];
$nivel=$row_rstCarreras1['nivel'];
$mencion=$row_rstCarreras1['mencion'];
$pensum=$row_rstCarreras1['pensum'];
$turno=$row_rstCarreras1['turno'];
if($turno=='1') $nombre_turno='MATUTINO';
if($turno=='2') $nombre_turno='VESPERTINO';
if($turno=='4') $nombre_turno='NOCTURNO';

if($nivel=="CG"){
   $nombre_mencion="COMPONENTE GENERAL";
}
if($nivel=="CIU"){
   $nombre_mencion="CURSO DE INTRODUCCIÓN UNIVERSITARIA";
}
$num_materias=62;
$num_creditos=155;

if($nivel=="CP"){
   $query_mencion = "SELECT nombre_mencion, num_materias, creditos_grado from menciones where id_carrera='$carrera' and id_mencion='$mencion'";
	$rs_mencion = mysql_query($query_mencion, $cn) or die(mysql_error());
	$row_mencion = mysql_fetch_assoc($rs_mencion);
	$nombre_mencion=$row_mencion['nombre_mencion'];
	$num_materias=$row_mencion['num_materias'];
    $num_creditos=$row_mencion['creditos_grado'];
	}

//Datos de la Carrera
$query_rstCarreras2 = "SELECT * FROM periodos Where id_periodo='$periodo_ingreso'";
$rstCarreras2 = mysql_query($query_rstCarreras2, $cn) or die(mysql_error());
$row_rstCarreras2 = mysql_fetch_assoc($rstCarreras2);
$totalRows_rstCarreras2 = mysql_num_rows($rstCarreras2);
$cohorte=$row_rstCarreras2['codigo'].':'.$row_rstCarreras2['descripcion'];

//Datos de la Carrera
$query_rstCarreras3 = "SELECT * FROM sedes Where codigo='$sede'";
$rstCarreras3 = mysql_query($query_rstCarreras3, $cn) or die(mysql_error());
$row_rstCarreras3 = mysql_fetch_assoc($rstCarreras3);
$totalRows_rstCarreras3 = mysql_num_rows($rstCarreras3);
$nombre_sede=$row_rstCarreras3['nombre_sede'];

//Datos de la Carrera
$query_rstCarreras = "SELECT * FROM carreras Where carreras.id_carrera='$carrera'";
$rstCarreras = mysql_query($query_rstCarreras, $cn) or die(mysql_error());
$row_rstCarreras = mysql_fetch_assoc($rstCarreras);
$totalRows_rstCarreras = mysql_num_rows($rstCarreras);
$nom_carrera=$row_rstCarreras['nombre_carrera'];

if(strlen($nom_carrera)>75){
   $nom_carrera=substr($nom_carrera,0,74).'...';
   }

   
// Cálculo de la Situación Académica del Participante.
$iraa=0;
$iraa=calcular_ida($id_alumno,$carrera);
$iraa=number_format($iraa,2,",",".");

$materias_aprobadas=0;
$materias_aprobadas=materias_aprobadas($id_alumno,$carrera,$mencion);
$materias_por_aprobar=0;
$materias_por_aprobar=$num_materias-$materias_aprobadas;

$creditos_aprobados=0;
$creditos_aprobados=creditos_aprobados($id_alumno,$carrera);
$creditos_por_aprobar=0;
$creditos_por_aprobar=$num_creditos-$creditos_aprobados;


$eficiencia=0;
$eficiencia=eficiencia($id_alumno,$carrera);
$eficiencia=number_format($eficiencia,2,",",".");


// Datos de las Materias
$queryMaterias = "Select
	historico_notas.id_periodo,
	historico_notas.semestre,
	historico_notas.id_seccion,
	historico_notas.id_materia,
	materias.nombre_materia,
	materias.uc,
	historico_notas.nota,
	historico_notas.aprobacion,
	periodos.mes_inicio,
	periodos.mes_fin,
	periodos.annio,
	historico_notas.valoracion,
	historico_notas.cualitativa,
    periodos.codigo,
	periodos.tipo
	From
	historico_notas, periodos, materias
	Where
	historico_notas.id_periodo=periodos.id_periodo and
	historico_notas.id_materia=materias.id_materia and 
	(materias.id_mencion='$mencion' or materias.id_mencion='COMUN') and 
	historico_notas.id_alumno = '$id_alumno' and
    (historico_notas.id_carrera = '$carrera' ) and
	materias.semestre=historico_notas.semestre
	order by historico_notas.id_periodo, historico_notas.semestre,materias.nombre_materia";
	
// echo $queryMaterias;
$rowMaterias = mysql_query($queryMaterias, $cn) or die(mysql_error());
//$result = mysql_fetch_assoc($rstMaterias);
$rowsMaterias = mysql_num_rows($rowMaterias);

// Selecciono la Base de Datos. 

// Incluye la calses que se requieren para el reporte. 
error_reporting(E_ALL); 
include('class.ezpdf.php'); 
require('numerosALetras.class.php');

// Se establece el tipo de p�gina y el formato de impresi�n.
$pdf = & new Cezpdf('letter','portraid'); 
$pdf->selectFont('./fonts/Helvetica'); 
// Se inicializa el contador de paginas en 1 y se especifica en que lugar se va a imprimir 
$pdf->ezStartPageNumbers(558,17,7,'','{PAGENUM}/{TOTALPAGENUM}',1); 

// coloca una linea arriba y abajo de todas las paginas 
$fechs = date("d/m/y"); 
$all = $pdf->openObject(); 
$pdf->saveState(); 
$pdf->setStrokeColor(0,0,0,1);
$pdf->ezSetCmMargins(1,2,2,1);

// Inicio del Encabezado.
$imagen=ImageCreatefromjpeg('../../imagenes/logo_mpppf.jpg');
$pdf->addImage($imagen,60,$pdf->y-25,500,0);
$pdf->selectFont('/fonts/Helvetica.afm');
$diff=array(225=>'aacute',233=>'eacute',
            237=>'iacute',243=>'oacute',
            250=>'uacute',252=>'udieresis',
            241=>'ntilde',209=>'Ntilde');
$pdf->selectFont('fonts/Helvetica.afm',array('encoding'=>'WinAnsiEncoding','differences'=>$diff));
$pdf->ezsetdy(-25);
$pdf->ezText(utf8_decode("<b>Dirección de Secretaría General - Unidad de Control de Estudios de Pregrado</b>"),9,array('justification'=>'center'));
//$pdf->ezText("                                   Control de Estudios",10,array('justification'=>'left'));
$pdf->ezsetdy(-25);
$pdf->ezText(utf8_decode('<b>'."REGISTRO ACADÉMICO".'</b>'),14,array('justification'=>'center'));
$pdf->ezsetdy(-20);
$pdf->ezText('<b>'."$documento".'</b>'.number_format($cedula,0,"",".").'<b>'.'   NIE:  '.'</b>'.$id_alumno,10,array('justification'=>'left'));
$pdf->ezsetdy(-2);
$pdf->ezText('<b>'."ESTUDIANTE: ".'</b>'.utf8_decode($apellidos).", ".utf8_decode($nombres),10,array('justification'=>'left'));
$pdf->ezsetdy(-2);
$pdf->ezText('<b>'."CARRERA: ".'</b>'.$carrera.":".utf8_decode($nom_carrera),10,array('justification'=>'left'));
$pdf->ezsetdy(-2);
$pdf->ezText('<b>'.utf8_decode("MENCIÓN: ").'</b>'.utf8_decode($nombre_mencion).'<b>'.'   SEDE:  '.'</b>'.$nombre_sede.'<b>'.'   TURNO:  '.'</b>'.$nombre_turno,10,array('justification'=>'left'));
$pdf->ezsetdy(-2);
$pdf->ezText('<b>'.utf8_decode("FECHA DE IMPRESIÓN: ").'</b>'.date("d/m/Y"));


$pdf->ezsetdy(-3);

// Se restaura el objeto y se cierra, para que de el salto de p�gina.
$pdf->restoreState(); 
$pdf->closeObject(); 
// Establece los margenes para imprimir el cuerpo del reporte.
$pdf->ezSetCmMargins(7,4,3.6,3);
$pdf->addObject($all,'all'); 

// Inicializa array 
$data = array(); 
//Aqui se coloca el header de la Tabla 
$cols = array('num'=>'Nro.', 
              'lapso'=>'Lapso', 
			  'tipo'=>'Tipo', 
			  'sem'=>'Sem.', 
              'sec'=>utf8_decode('Secc.'), 
			  'cod'=>utf8_decode('Código'), 
              'nombre'=>'Nombre de la Unidad Curricular',
			  'uc'=>'U.C.',
			  'nota'=>'Nota'); 
$smc = 0; 
// Convierte la Nota a Letras.
// $nota = new numerosALetras;
while ($row = mysql_fetch_row($rowMaterias)) { 
    $lapso=$row[13];
	$sem     = $row[1];    // Semestre de la Materia 
    $sec     = $row[2];
	$cod     = $row[3];	   // C�digo de la Materia
    $nombre  = $row[4];    // Nombre de la Materia
	$uc      = $row[5];    // Cr�ditos de la Materia.
	$nota    = $row[6];
	
	$aprobacion  = $row[3];
	$valoracion  = $row[11];
	$cualitativa = $row[12];
	$tipo=substr($row[14],0,3);
			  
	if($valoracion=="CUALITATIVA"){
	   $nota=$cualitativa;
	 }
 
    $smc = $smc + 1; 
    // Aqui se agregan las variables formateadas al array 
    $data[] = array('num'=>$smc,
	                'lapso'=>$lapso,
					'tipo'=>$tipo,
	                'sem'=>$sem,
					'sec'=>$sec, 
                    'cod'=>$cod.'   ',
					'nombre'=>utf8_decode($nombre), 
                    'uc'=>$uc, 
					'nota'=>$nota); 
} 
	
$pdf->ezTable($data,$cols,'',array('width'=>'520','fontSize'=>8, 
'cols'=>array('num'=>array('justification'=>'right')
             ,'lapso'=>array('justification'=>'right') 
			 ,'tipo'=>array('justification'=>'center') 
			 ,'sem'=>array('justification'=>'center') 
             ,'sec'=>array('justification'=>'center') 
             ,'cod'=>array('justification'=>'right')
			 ,'nombre'=>array('justification'=>'left') 
             ,'uc'=>array('justification'=>'center')
			 ,'nota'=>array('justification'=>'center')) 
));// salida 
$pdf->ezsetdy(-3);
$pdf->ezSetCmMargins(1,2,2,2);
$pdf->ezText(utf8_decode('<b>'."NOTA: ".'</b>'."La Escala de Calificaciones está comprendida del UNO (1) al VEINTE (20), ambas inclusive.  La calificación mínima aprobatoria es de DIEZ (10) puntos. Los estudiantes, al terminar la carga académica, deben tener acumulado como mínimo un Indice de Rendimiento Académico de 12,00."),7,array('justification'=>'full'));

// Pie de Pagina
$pdf->Rectangle(58,40,500,53);
			$pdf->addText(270,80,10,'<b>'.utf8_decode('RESUMEN ACADÉMICO').'</b>');
			$pdf->line(58,75,558,75); 
			$pdf->addText(65,65,9,'Unid. Curriculares de la Carrera');
			$pdf->addText(195,65,9,':');
			$pdf->addText(200,65,9,$num_materias);
			$pdf->addText(250,65,9,'Unid. Curriculares Aprobadas');
			$pdf->addText(370,65,9,':');
            $pdf->addText(375,65,9,$materias_aprobadas);
			$pdf->addText(410,65,9,'Unid. Curriculares por Aprobar');
			$pdf->addText(535,65,9,':');
			if($materias_por_aprobar<0){
			   $materias_por_aprobar=0;
			}
			$pdf->addText(540,65,9,$materias_por_aprobar);
			$pdf->addText(65,55,9,utf8_decode('Créditos de la Carrera'));
			$pdf->addText(195,55,9,':');
			$pdf->addText(200,55,9,$num_creditos);
			$pdf->addText(250,55,9,utf8_decode('Créditos Aprobados'));
			$pdf->addText(370,55,9,':');
			 $pdf->addText(375,55,9,$creditos_aprobados);
			$pdf->addText(435,55,9,utf8_decode('Créditos por Aprobar'));
			$pdf->addText(535,55,9,':');
			if($creditos_por_aprobar<0){
			   $creditos_por_aprobar=0;
			}
			$pdf->addText(540,55,9,$creditos_por_aprobar);
			$pdf->addText(65,45,9,'Indice de Rendimiento');
			$pdf->addText(195,45,9,':');
			$pdf->addText(200,45,9,$iraa);
			$pdf->addText(250,45,9,'Indice de Eficiencia');
			$pdf->addText(370,45,9,':');
			 $pdf->addText(375,45,9,$eficiencia);
if (isset($d) && $d){ 
	$pdfcode = $pdf->ezOutput(); 
	$pdfcode = str_replace('\n','\n<br>',htmlspecialchars($pdfcode)); 
	echo '<html><body>'; 
	echo trim($pdfcode); 
	echo '</body></html>'; 
} else { 
	$pdf->ezStream(); 
} 
////Se realizo un cambio de codigo en function calcular_ida, ya que el Indice de Rendimiento Academico estaba dando errado en 
/// algunos alumnos, se reemplazo el codigo por el ver_inscripciones
/// cambio realizado 20/05/2016 hora: 11:30am
/// Por Miguel Lucena
function calcular_ida($id_alumno,$id_carrera)
{
global $conn;

    mysql_select_db($database_conn, $conn);
    mysql_query ("SET NAMES 'utf8'");
	$sql = "Select
	SUM(historico_notas.nota*materias.uc) AS notas_x_creditos,SUM(materias.uc) as creditos_cursados
	From
	historico_notas
	Inner Join materias ON historico_notas.id_materia = materias.id_materia
	Where
	historico_notas.id_alumno = '$id_alumno' AND
	historico_notas.id_carrera = '$id_carrera'
	";
	$result = mysql_query ($sql,$conn) or die (mysql_error()); 
	$rst_iraa = mysql_fetch_assoc($result);
	$creditos_cursados=$rst_iraa['creditos_cursados'];
	$sumatoria_notas_por_creditos=$rst_iraa['notas_x_creditos']; 
	if($creditos_cursados!=0)
	{
	   $iraa=$sumatoria_notas_por_creditos/$creditos_cursados;
	}
	else{
	   $iraa=0;
	}
	return $iraa;
}

////----------------------------------------------------------------- Se modifico el codigo 

function materias_aprobadas($id_alumno, $id_carrera, $mencion_alumno)
{
   // Función que calcual el Indice Académico de un Alumnno.
   global $conn;

	//Busco todas las calificaciones del participante en el programa del cual egresará.
   $sql_aprobadas ="SELECT alumnos.cedula, alumnos.apellidos, alumnos.nombres, historico_notas.nota, historico_notas.id_materia, historico_notas.id_seccion, historico_notas.id_periodo, materias.nombre_materia, materias.uc, periodos.codigo, carreras.id_carrera, historico_notas.aprobacion, historico_notas.semestre, periodos.mes_inicio, periodos.mes_fin, periodos.tipo, historico_notas.valoracion,historico_notas.cualitativa FROM alumnos,historico_notas, materias, periodos,carreras WHERE alumnos.id_alumno=historico_notas.id_alumno and historico_notas.id_carrera='$id_carrera' and carreras.id_carrera='$id_carrera' and historico_notas.id_materia=materias.id_materia and historico_notas.id_carrera=materias.id_carrera and historico_notas.id_alumno='$id_alumno' and periodos.id_periodo=historico_notas.id_periodo and (materias.id_mencion='$mencion_alumno' or materias.id_mencion='COMUN') and materias.semestre=historico_notas.semestre order by periodos.id_periodo,historico_notas.semestre,materias.nombre_materia";
   $rst_aprobadas = mysql_query ($sql_aprobadas,$conn ) or die (mysql_error()); 

   // Inicializo variables.
   $aprobadas=0;
   while($row_aprobadas = mysql_fetch_assoc($rst_aprobadas))
   {
      $codigo  = $row_aprobadas['id_materia'];	   // C�digo de la Materia
	  $semestre= $row_aprobadas['semestre'];	
	   //*****
	  // Se obtienen las materias que el alumno ha cursado.
	 
	    $nota      = $row_aprobadas['nota'];    // Nota
	    $valoracion= $row_aprobadas['valoracion'];    // Forma de Aprobacion
        $cualitativa= $row_aprobadas['cualitativa'];
	   
	
	  if($valoracion=="CUANTITATIVA") {
						
									
						   if ($nota>=10) {
						       if($semestre>0){
							      $aprobadas=$aprobadas+1;
							      $creditos_aprob=$creditos_aprob+$credito;
						       }
						   }
						   
						
					}
						
				
					
					if($valoracion=="CUALITATIVA") {
					
                          if($cualitativa=="APROBADA" or $cualitativa=="APROBADO"){
					         
						     if($semestre>0){
							    $aprobadas=$aprobadas+1;
                   		      
                             }     
                          }
                          
						                        
					} 
			} 	
	    
		
		
    
	
	return $aprobadas;
}

function creditos_aprobados($id_alumno, $id_carrera)
{
   // Función que calcual el Indice Académico de un Alumnno.
   global $conn;
	//usco todas las calificaciones del participante en el programa del cual egresará.
   $sql_ca ="SELECT DISTINCT historico_notas.id_materia,historico_notas.nota, historico_notas.aprobacion, materias.uc, historico_notas.valoracion, historico_notas.cualitativa, historico_notas.semestre FROM historico_notas, materias WHERE historico_notas.id_alumno='$id_alumno' AND historico_notas.id_carrera='$id_carrera' and historico_notas.id_materia=materias.id_materia and historico_notas.id_carrera=materias.id_carrera ";
   $rst_ca = mysql_query ($sql_ca,$conn ) or die (mysql_error()); 

   // Inicializo variables.
   $aprobados=0;
   while($row_ca = mysql_fetch_assoc($rst_ca))
   {
	  $nota      = $row_ca['nota'];    // Nota
	  $aprobacion= $row_ca['aprobacion'];    // Forma de Aprobacion
      $uc=$row_ca['uc'];  
	  $nota      = $row_ca['nota'];    // Nota
	  $valoracion= $row_ca['valoracion'];    // Forma de Aprobacion
      $cualitativa= $row_ca['cualitativa'];
	  if($valoracion=='CUANTITATIVA'){
	     if($nota>=10)$aprobados=$aprobados+$uc;
	  }
      else{
	       if($cualitativa=='APROBADA' or $cualitativa=='APROBADO') $aprobados=$aprobados+$uc;
	  }   
   }
	return $aprobados;
}

function eficiencia($id_alumno, $id_carrera)
{
   // Función que calcual el Indice Académico de un Alumnno.
   global $conn;
	//Busco todas las calificaciones del participante en el programa del cual egresará.
   $sql_ira ="SELECT alumnos.cedula, alumnos.apellidos, alumnos.nombres, historico_notas.nota, historico_notas.id_materia, historico_notas.id_seccion, historico_notas.id_periodo, materias.nombre_materia, materias.uc, periodos.codigo, carreras.id_carrera, historico_notas.aprobacion, historico_notas.semestre, periodos.mes_inicio, periodos.mes_fin, periodos.tipo, historico_notas.valoracion,historico_notas.cualitativa FROM alumnos,historico_notas, materias, periodos,carreras WHERE alumnos.id_alumno=historico_notas.id_alumno and historico_notas.id_carrera='$id_carrera' and carreras.id_carrera='$id_carrera' and historico_notas.id_materia=materias.id_materia and historico_notas.id_carrera=materias.id_carrera and historico_notas.id_alumno='$id_alumno' and periodos.id_periodo=historico_notas.id_periodo and (materias.id_mencion='$mencion_alumno' or materias.id_mencion='COMUN') and materias.semestre=historico_notas.semestre order by periodos.id_periodo,historico_notas.semestre,materias.nombre_materia";
   $rst_ira = mysql_query ($sql_ira,$conn ) or die (mysql_error()); 

   
   // Inicializo variables.
   $suma_notas=0;
   $total_notas=0;
   $promedio=0;
   while($row_ira = mysql_fetch_assoc($rst_ira))
   {

	  $nota      = $row_ira['nota'];    // Nota
	  $aprobacion= $row_ira['aprobacion'];    // Forma de Aprobacion
      $uc=$row_ca['uc'];  
	  $nota      = $row_ira['nota'];    // Nota
	  $valoracion= $row_ira['valoracion'];    // Forma de Aprobacion
      $cualitativa= $row_ira['cualitativa'];
	  if($valoracion=='CUANTITATIVA'){
	     if($nota>=10)$aprobadas=$aprobadas+1;
		 else $reprobadas=$reprobadas+1;
	  }
      else{
	       if($cualitativa=='APROBADA' or $cualitativa=='APROBADO') $aprobadas=$aprobadas+1;
		   else $reprobadas=$reprobadas+1;
	  } 
	}
	if((($aprobadas+$reprobadas)*100)==0){
	   $eficiencia=0;
	}
	else{
	   $eficiencia=$aprobadas/($aprobadas+$reprobadas);
	  	}
	return $eficiencia;
}

 ?>

