<?php require_once('Connections/conn.php'); ?>
<?php
//*********************************************************************************************
// Nombre del Script: cb_inscripcion.php
// Descripción: Permite la inscripción de los estudiantes de la ENAHP-IUT en el Componente
//              General, es decir, del primero al tercer semestre.
// Llamado desde: inscribirse.php
// Precondiciones:  1. El estudiante debe haber cursado el CIU en su totalidad.  
//                  2. El estudiante no ha cursado unidades curriculares del Ciclo 
//                     Profesional.
//********************************************************************************************* 
 session_start();
 if (!isset($_SESSION['MM_Username'])) {
      header ("Location: modulos/inicio/index.php");
	  }
 header("Content-Type:text/html; charset=utf-8");
 // Captura la cédula del usuario inició sesión.	  
 $cedula_usuario=$_SESSION['CEDULA_USUARIO'];
 $sede_usuario=$_SESSION['SEDE_USUARIO'];
	 
 // Captura los datos que vienen de cb_datos_inscripcion.php
 $cedula = $_GET["cedula"];
// echo $cedula."<br>";
 $apellidos = $_GET["apellidos"];
 $apellidos=strtoupper($apellidos);
 $nombres = $_GET["nombres"];
 $nombres=strtoupper($nombres);
 $participante=$apellidos.', '.$nombres;
 $carrera = $_GET["id_carrera"];
 $sede = $_GET["sede"];
 $periodo=$_GET["id_periodo"];
 $turno=$_GET["turno"];
 $pensum=$_GET["pensum"];
 $seccion=$_GET["seccion"];
 $mencion=$_GET["mencion"];
 $turno=$_GET["turno"];
 $nivel='CP';
 if($mencion=="COMUN") $nivel="CG";
 
 // Determina la fecha de innscripción del estudiante.
 $fecha1 = explode("-",date("Y-m-d")); 
 $fecha2 = $fecha1[0].$fecha1[1].$fecha1[2]; 
 $fecha_hoy = cambioFecha($fecha2);
 $fecha_ingreso=join ("-",(array_reverse(explode("-",$fecha_hoy))));
 $annio=substr($fecha_ingreso,0,4);
 
 // Abro la Base de datos 
 mysql_select_db($database_conn, $conn);
 mysql_query ("SET NAMES 'utf8'"); 
 
 // Para tomar el ID del estudiante.
 $sql = "SELECT id_alumno FROM alumnos WHERE cedula='$cedula'";
 $rs = mysql_query($sql, $conn) or die(mysql_error());
 $row = mysql_fetch_assoc($rs);
 $id_alumno= $row["id_alumno"];
 
 // Para tomar los datos del alumno
 $sql = "SELECT codigo FROM periodos WHERE id_periodo='$periodo'";
 $rs = mysql_query($sql, $conn) or die(mysql_error());
 $row = mysql_fetch_assoc($rs);
 $codigo= $row["codigo"];
 
 // Para tomar los datos de la carrera
 $sql = "SELECT nombre_carrera, num_materias_ciu, num_materias_cb FROM carreras WHERE id_carrera='$carrera'";
 $rs = mysql_query($sql, $conn) or die(mysql_error());
 $row = mysql_fetch_assoc($rs);
 $nombre_carrera= $row["nombre_carrera"];
 $num_materias_ciu= $row["num_materias_ciu"];
 $num_materias_cb=$row["num_materias_cb"];
 $diez="10";
 
  /* Valido si el estudiante aprobó el Componente General (Ciclo Básico)
 $sql = "SELECT * FROM historico_notas where id_alumno='$id_alumno' and id_carrera='$carrera' and nivel='CG' and nota>='$diez'";
 $rs = mysql_query($sql, $conn) or die(mysql_error());
 $row = mysql_fetch_assoc($rs);
 $aprobadas_cb = mysql_num_rows($rs);
 if($aprobadas_cb>=$num_materias_cb){
   ?> 
      <script type="text/javascript">
	    msj="Estudiante <?php echo $participante ?>.\nYa aprobó el Componente General"
	 	alert(msj);
	 </script>
	 <?php
	return;
  }	*/
   
  // Valido si el estudiante ya esta inscrito en el Lapso seleccionado.
 $sql = "SELECT * FROM historial_alumnos where id_alumno='$id_alumno' and id_carrera='$carrera' and id_periodo='$periodo'";
 $rs = mysql_query($sql, $conn) or die(mysql_error());
 $row = mysql_fetch_assoc($rs);
 $total_rows = mysql_num_rows($rs);
 if($total_rows!=0){
   ?> 
      <script type="text/javascript">
	    msj="Estudiante <?php echo $participante ?>.\nYa está inscrito en el lapso <?php echo $codigo ?>"
	 	alert(msj);
	 </script>
	 <?php
	return;
  }	
  
   // Valido si el estudiante es Nuevo Ingreso al Componente General.
 $sql = "SELECT * FROM historial_alumnos where id_alumno='$id_alumno' and id_carrera='$carrera' and nivel='CG'";
 $rs = mysql_query($sql, $conn) or die(mysql_error());
 $row = mysql_fetch_assoc($rs);
 $total_rows = mysql_num_rows($rs);
 
 $nuevo_ingreso="N";
 if($total_rows==0)$nuevo_ingreso="S";
 if($nuevo_ingreso=="S"){
 
   // Valido si el estudiante nuevo ingreso aprobó el CIU
 $sql = "SELECT * FROM historico_notas where id_alumno='$id_alumno' and id_carrera='$carrera' and nivel='CIU' and nota>='$diez'";
 $rs = mysql_query($sql, $conn) or die(mysql_error());
 $row = mysql_fetch_assoc($rs);
 $aprobadas_ciu = mysql_num_rows($rs);
 if($aprobadas_ciu<$num_materias_ciu){
   ?> 
      <script type="text/javascript">
	    msj="Estudiante <?php echo $participante ?>.\nNo ha aprobado el Curso de Iniciación Universitaria"
	 	alert(msj);
	 </script>
	 <?php
	return;
  }	 
 
     // Valido si la seccion del estudiante existe.
   $semestre="1";
   $sql = "SELECT codigo_seccion FROM secciones WHERE sede='$sede' AND carrera='$carrera' and pensum='$pensum' and nivel='$nivel' and periodo='$periodo' and semestre='$semestre' and turno='$turno' and seccion='$seccion'";
    $rs_secciones=mysql_query($sql, $conn) or die(mysql_error());
    $total_secciones=mysql_num_rows($rs_secciones);
    if($total_secciones==0){
   ?> 
      <script type="text/javascript">
	    msj="Su sección no ha sido ofertada.\nPor favor comuniquese con Control de Estudios."
	 	alert(msj);
	 </script>
	 <?php
	return;
  }		
	// Estudiante es Nuevo Ingreso.
	// Asigna sede, fecha de ingreso y carrera que cursa al estudiante.
    $sql = "update alumnos set `sede`='$sede',fecha_ingreso='$fecha_ingreso',carrera='$carrera' where id_alumno='$id_alumno'";
    mysql_query($sql, $conn) or die(mysql_error());
 
   
    // Verifica si existe cupo en la sección que trae el alumno del CIU.
    $semestre="1";
    $sql = "SELECT seccion,cupos,inscritos FROM secciones WHERE sede='$sede' AND carrera='$carrera' and pensum='$pensum' and nivel='$nivel' and mencion='$mencion' and periodo='$periodo' and semestre='$semestre' and turno='$turno' and seccion='$seccion' and (cupos-inscritos)>0";
    $rs_secciones=mysql_query($sql, $conn) or die(mysql_error());
    $total_secciones=mysql_num_rows($rs_secciones);
	
    if($total_secciones>0){
       // Existen cupos en la sección del estudiante.
	   // Inscribimos al alumno en Base a la Oferta Académica del 1er. semestre de su sección.
       $sql = "insert into `inscripciones` (`id_alumno`, `id_periodo`, `turno`, `fecha`, `pensum`, `nivel`, `mencion`, `id_carrera`, `id_materia`, `semestre`, `id_seccion`, `sede`,  `id_docente`) SELECT '$id_alumno' as id_alumno, '$periodo' as id_periodo, '$turno' as turno, '$fecha_ingreso' as fecha_inscripcion, '$pensum' as pensum, '$nivel' as nivel, '$mencion' as mencion, id_carrera, id_materia, semestre, id_seccion, sede, id_profesor FROM  oferta_academica WHERE id_periodo='$periodo' and id_carrera='$carrera' and pensum='$pensum' and  nivel='$nivel' and mencion='$mencion' and sede='$sede' and id_seccion='$seccion' and turno='$turno' and  semestre='$semestre'";
       mysql_query($sql, $conn) or die(mysql_error()); 
	   
	    // Actualiza seccion y mencion del alumno.
    $sql = "update `carreras_alumno` set  `nivel`='CG',`mencion`='COMUN' where id_alumno='$id_alumno' and id_carrera='$carrera' and pensum='$pensum'";
    mysql_query($sql, $conn) or die(mysql_error()); 
	   
	   // Actualiza los Cupos respecto a la sección.
       $sql = "update `secciones` set  `inscritos`=inscritos+1 WHERE seccion='$seccion' and               sede='$sede' AND carrera='$carrera' and pensum='$pensum' and nivel='$nivel' and mencion='$mencion' and periodo='$periodo' and semestre='$semestre' and turno='$turno'";
       mysql_query($sql, $conn) or die(mysql_error()); 
	  
	   
	   // Actualizo cupos respecto a las materias inscritas por el estudiante.
       $sql_inscrita = "SELECT id_materia, id_seccion FROM inscripciones WHERE id_alumno='$id_alumno'";
       $rst_inscrita = mysql_query($sql_inscrita, $conn) or die(mysql_error());
       $rows_inscrita =  mysql_num_rows($rst_inscrita);
       if($rows_inscrita >0){
          while($row_inscrita = mysql_fetch_assoc($rst_inscrita)){
                $materia=$row_inscrita["id_materia"];
		        $seccion=$row_inscrita["id_seccion"];
                $sql = "update oferta_academica set inscritos=inscritos+1 WHERE sede='$sede' and id_seccion='$seccion' and id_carrera='$carrera' and pensum='$pensum' and id_periodo='$periodo' and  id_materia='$materia' and nivel='$nivel' and mencion='$mencion' ";
                mysql_query($sql, $conn) or die(mysql_error());
           }
		}
	
	   // Creamos el registro histórico de inscripciones del estudiante para el lapso 
	   // correspondiente.
	   $sql = "insert into `historial_alumnos` (`id_alumno`, `id_carrera`, `pensum`, `mencion`, `nivel`, `id_periodo`, `sede`, `cedula`, `seccion`, `turno`, `participante`, `nom_carrera`,`fecha`, `annio`,`semestre`) values('$id_alumno',  '$carrera', '$pensum', '$mencion', '$nivel', '$periodo', '$sede', '$cedula', '$seccion' ,'$turno' ,'$participante','$nombre_carrera','$fecha_ingreso','$annio','$semestre')";
       mysql_query($sql, $conn) or die(mysql_error());     
       // Imprime el Comprobante de Inscripción.
       ?>
       <script type="text/javascript">
	   if(confirm("Inscripción procesada con éxito.\n¿Desea imprimir el Comprobante de Inscripción?"))
         { 
	      url="modulos/reportes/cb_comprobante_inscripcion.php?id_alumno="+'<?php echo $id_alumno; ?>'+"&id_periodo="+'<?php echo $periodo; ?>'+"&codigo_sede="+'<?php echo $sede; ?>'+"&id_carrera="+'<?php echo $carrera; ?>';
	      window.open(url);
		  }	
   </script>
       <?php
   } // Fin del If Secciones
   else{
   ?>
   <script type="text/javascript">
	  alert("Inscripción denegada.\nSección no tiene cupo.\nCambie al alumno de sección o habilite cupos.");
   </script>
   <?php
    return;
   }	  
}
else{
      // Estudiante NO es Nuevo Ingreso.

     if($nivel=="CG"){
       ?> 
       <script type="text/javascript">
	     msj="El proceso de Inscripción para el Componente General (1ro. a 3er Semestre)  ya culminó."
	 	 alert(msj);
	   </script>
	 <?php
	 return;
	 }
  $ida_alumno=calcular_ida($id_alumno,$id_carrera);
  $condicion=determinar_condicion($id_alumno,$id_carrera,$id_periodo);

 $condicion="REGULAR";
 $maximo=18;   

  
  header ("location: inscripciones_cg.php?id_sede=$sede&id_carrera=$carrera&id_periodo=$periodo&id_alumno=$id_alumno&nivel=$nivel&mencion=$mencion&turno=$turno&maximo=$maximo&condicion=$condicion");
 return;
}

function cambioFecha($fecha){ //$fecha es de este formato --> ej: 20081229 
	$tieneCeroDiaMes = substr($fecha,6,1); 
	if ($tieneCeroDiaMes == 0) { 
		$diaMes = substr($fecha,7,1); 
	} else { 
		$diaMes = substr($fecha,6,2); 
	} 
	
	$Mes = substr($fecha,4,2); 
	
	
	$Anio = substr($fecha,0,4); 
	return $diaMes."-".$Mes."-".$Anio.""; 
	}     	  	  

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_ida = mysql_fetch_assoc($result);
	$creditos_cursados=$rst_ida['creditos_cursados'];
	$sumatoria_notas_por_creditos=$rst_ida['notas_x_creditos']; 
	if($creditos_cursados!=0)
	{
	   $ida=$sumatoria_notas_por_creditos/$creditos_cursados;
	}
	else{
	   $ida=0;
	}
	return $ida;
}

function determinar_condicion($id_alumno,$id_carrera,$id_periodo)
{
global $conn;

    mysql_select_db($database_conn, $conn);
    mysql_query ("SET NAMES 'utf8'");
	$sql_periodos = "Select id_periodo
	From
	periodos
	Where
	id_periodo<'$id_periodo' and tipo='REGULAR'
	order by id_periodo desc LIMIT 0,2
	";
	$rst_periodos = mysql_query ($sql_periodos,$conn) or die (mysql_error()); 
	$total_rows_periodos = mysql_num_rows($rst_periodos);  
	// echo "PERIODOS: ".$total_rows_periodos."<br>";
	if($total_rows_periodos >0)
    {
	  $creditos_cursados=0;
	  $creditos_aprobados=0;
	  while($row_periodos = mysql_fetch_assoc($rst_periodos))
		{
		    $cursados_lapso=0;
			$aprobados_lapso=0;
			$lapso=$row_periodos['id_periodo'];
			// echo "LAPSO: ".$lapso."<br>";
			// Calcula los creditos cursados en el lapso
		    $sql = "Select
	               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' and
			       historico_notas.id_periodo='$lapso'
	               ";	
		    $rst_cursados = mysql_query ($sql,$conn) or die (mysql_error()); 
			$row_cursados = mysql_fetch_assoc($rst_cursados);
			$cursados_lapso=$row_cursados['creditos_cursados'];
			
			if($cursados_lapso!=0) $creditos_cursados = $creditos_cursados+$cursados_lapso;
			
			// Calcula los creditos aprobados en el lapso	
			$sql = "Select
	               SUM(materias.uc) as creditos_aprobados
	               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' and
			       historico_notas.id_periodo='$lapso' and
				   historico_notas.nota>=10
	               ";
		    $rst_aprobados = mysql_query ($sql,$conn) or die (mysql_error()); 
			$row_aprobados = mysql_fetch_assoc($rst_aprobados);
			$aprobados_lapso=$row_aprobados['creditos_aprobados'];
	
			if($aprobados_lapso!=0) $creditos_aprobados = $creditos_aprobados+$aprobados_lapso;
		}
       // echo "CURSADOS: ".$creditos_cursados."<br>";
	   // echo "APROBADOS: ".$creditos_aprobados."<br>";
		
}	
	$porcentaje_aprobados=0;
	if($creditos_aprobados!=0){
	   $porcentaje_aprobados=($creditos_aprobados*100)/$creditos_cursados;
	}
	if($porcentaje_aprobados>=25)
	{
	   $condicion_alumno="REGULAR";
	}
	else{
	   $condicion_alumno="REPITIENTE";
	}
	return $condicion_alumno;
}
?>


