<commit_before><?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Guarani_model extends CI_Model {
	
	public function get_datos($agr){
		$resultados = array();
		$consulta = "EXECUTE FUNCTION dba.spagr_get_datos_personales('".$agr."')";
		/*$consulta = "select per.nro_inscripcion,
					        per.apellido, 
							per.nombres,
							per.nro_documento,
							tipo.desc_abreviada as tipo_documento,
							case per.sexo when 1 then 'M' when 2 then 'F' end as sexo,
							per.fecha_nacimiento
					from sga_personas as per
					inner join mdp_tipo_documento as tipo on tipo.tipo_documento = per.tipo_documento
					where nro_inscripcion = '".$agr."'";*/
		$resultado = $this->db->query($consulta);

		if($resultado->num_rows() > 0){
			foreach ($resultado as $key => $value){
				//
			}	
			
		}else{
			return array();
		}
	}

	public function get_datos_personales($legajo,$carrera = '01'){
		//-------------------------------------- DATOS PERSONALES ----------------------------------------- 
		$consulta = "select first 1 per.apellido, per.nombres, per.nro_documento, per.sexo, alu.plan, alu.fecha_ingreso
		from sga_personas as per left join sga_alumnos as alu on alu.nro_inscripcion = per.nro_inscripcion
		where legajo = '".$legajo."' and alu.carrera = '".$carrera."'";
		
		
		$resultado=$this->db->query($consulta);

		$arr = $resultado->result_array();
		if(count($arr)){
			$datos = $arr[0];
		}else{
			return array();
		}

		$datos['apellido'] =strtoupper(str_replace("Ñ","-n-", utf8_encode($datos['apellido']))); 
		$datos['nombres'] = ucwords(strtolower(str_replace("Ñ","-n-",utf8_encode($datos['nombres'])))); 
			

if(strlen($datos['nombres']) > 0){
			return $datos;
		}else{
			return array();
		}
	}
	

	public function cant_mat_optativas($legajo,$carrera='01'){
		//$plan = $this->get_plan_alumno($legajo);
		$consulta= "select count(*)
					from vw_hist_academica as vw
					where vw.materia in (
					    select materia_optativa 
					    from sga_mat_genericas 
					    where materia_generica in ('87','88.','IOCUA','IOQUI') and materia_optativa <> 'IDIOM'
					)
					and vw.legajo = '$legajo'
					and vw.carrera = '$carrera'
					and vw.resultado = 'A'";
		//echo $consulta; die;
		$resultado=$this->db->query($consulta);
		$arr = $resultado->result_array();
		$cant = array_shift($arr);
		$optativas['produccion_vegetal'] = array_shift($cant);

		$consulta = str_replace("('87','88.')","('88','89.')",$consulta); //Produccion Animal
		$resultado=$this->db->query($consulta);
		$arr = $resultado->result_array();
		$cant = array_shift($arr);
		$optativas['produccion_animal'] = array_shift($cant);

		$consulta = str_replace("('88','89.')","('89','90.')",$consulta); //Otras Areas
		$resultado=$this->db->query($consulta);
		$arr = $resultado->result_array();
		$cant = array_shift($arr);
		$optativas['otras_areas'] = array_shift($cant);

		return $optativas;

		
	}

	public function cant_mat_obligatorias($legajo,$carrera='01'){
		$plan = $this->get_plan_alumno($legajo);
		//-------------------------------------- OBLIGATORIAS ----------------------------------------- 
		$consulta= "select count(*) 
					from vw_hist_academica 
					where legajo = '$legajo'
					and materia not in (
						select materia_optativa 
						from sga_mat_genericas where materia_generica in ('87','88','89','88.','89.','90.','IOCUA','IOQUI')
					)
					and resultado = 'A'
					and carrera = '".$carrera."'";
		
		$resultado=$this->db->query($consulta);
		$arr = $resultado->result_array();
		$cant = array_shift($arr);
		return array_shift($cant);
	}

<commit_msg>Corrección de error en cálculo de materias optativas<commit_after><?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Guarani_model extends CI_Model {
	
	public function get_datos($agr){
		$resultados = array();
		$consulta = "EXECUTE FUNCTION dba.spagr_get_datos_personales('".$agr."')";
		/*$consulta = "select per.nro_inscripcion,
					        per.apellido, 
							per.nombres,
							per.nro_documento,
							tipo.desc_abreviada as tipo_documento,
							case per.sexo when 1 then 'M' when 2 then 'F' end as sexo,
							per.fecha_nacimiento
					from sga_personas as per
					inner join mdp_tipo_documento as tipo on tipo.tipo_documento = per.tipo_documento
					where nro_inscripcion = '".$agr."'";*/
		$resultado = $this->db->query($consulta);

		if($resultado->num_rows() > 0){
			foreach ($resultado as $key => $value){
				//
			}	
			
		}else{
			return array();
		}
	}

	public function get_datos_personales($legajo,$carrera = '01'){
		//-------------------------------------- DATOS PERSONALES ----------------------------------------- 
		$consulta = "select first 1 per.apellido, per.nombres, per.nro_documento, per.sexo, alu.plan, alu.fecha_ingreso
		from sga_personas as per left join sga_alumnos as alu on alu.nro_inscripcion = per.nro_inscripcion
		where legajo = '".$legajo."' and alu.carrera = '".$carrera."'";
		
		
		$resultado=$this->db->query($consulta);

		$arr = $resultado->result_array();
		if(count($arr)){
			$datos = $arr[0];
		}else{
			return array();
		}

		$datos['apellido'] =strtoupper(str_replace("Ñ","-n-", utf8_encode($datos['apellido']))); 
		$datos['nombres'] = ucwords(strtolower(str_replace("Ñ","-n-",utf8_encode($datos['nombres'])))); 
			

if(strlen($datos['nombres']) > 0){
			return $datos;
		}else{
			return array();
		}
	}
	

	public function cant_mat_optativas($legajo,$carrera='01'){
		//$plan = $this->get_plan_alumno($legajo);
		$consulta= "select count(*)
					from vw_hist_academica as vw
					where vw.materia in (
					    select materia_optativa 
					    from sga_mat_genericas 
					    where materia_generica in ('87','88.','IOCUA','IOQUI') and materia_optativa <> 'IDIOM'
					)
					and vw.legajo = '$legajo'
					and vw.carrera = '$carrera'
					and vw.resultado = 'A'";
		//echo $consulta; die;
		$resultado=$this->db->query($consulta);
		$arr = $resultado->result_array();
		$cant = array_shift($arr);
		$optativas['produccion_vegetal'] = array_shift($cant);

		$consulta = str_replace("'87','88.'","'88','89.'",$consulta); //Produccion Animal
		$resultado=$this->db->query($consulta);
		$arr = $resultado->result_array();
		$cant = array_shift($arr);
		$optativas['produccion_animal'] = array_shift($cant);

		$consulta = str_replace("'88','89.'","'89','90.'",$consulta); //Otras Areas
		$resultado=$this->db->query($consulta);
		$arr = $resultado->result_array();
		$cant = array_shift($arr);
		$optativas['otras_areas'] = array_shift($cant);

		return $optativas;

		
	}

	public function cant_mat_obligatorias($legajo,$carrera='01'){
		$plan = $this->get_plan_alumno($legajo);
		//-------------------------------------- OBLIGATORIAS ----------------------------------------- 
		$consulta= "select count(*) 
					from vw_hist_academica 
					where legajo = '$legajo'
					and materia not in (
						select materia_optativa 
						from sga_mat_genericas where materia_generica in ('87','88','89','88.','89.','90.','IOCUA','IOQUI')
					)
					and resultado = 'A'
					and carrera = '".$carrera."'";
		
		$resultado=$this->db->query($consulta);
		$arr = $resultado->result_array();
		$cant = array_shift($arr);
		return array_shift($cant);
	}


{'fraction_non_alphanumeric': 0.21106359497861774, 'fraction_numerical': 0.01269140571113257, 'mean_word_length': 3.1762672811059907, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 51, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6870527', 'n_tokens_mistral': 3182, 'n_tokens_neox': 2695, 'n_words': 475}