Mister Spy Say ="Hello Kids ... :D" ___ ____ _ _____ | \/ (_) | | / ___| | . . |_ ___| |_ ___ _ __ \ `--. _ __ _ _ | |\/| | / __| __/ _ \ '__| `--. \ '_ \| | | | | | | | \__ \ || __/ | /\__/ / |_) | |_| | \_| |_/_|___/\__\___|_| \____/| .__/ \__, | | | __/ | |_| |___/ Bot Mister Spy V3
Mister Spy

Mister Spy

Current Path : /home/caballoscriollos/public_html/espanol/library/
Upload File :
Current File : /home/caballoscriollos/public_html/espanol/library/class.reportes.php

<?php 

require_once('class.dbaccess.php');
require_once('class.propietario.php');
require_once('class.inscripcionresultadosmorfologicos.php');
require_once('class.inscripcionresultadosfuncionales.php');
require_once('class.inscripcionresultadosmarcha.php');
require_once('class.filter.php');
require_once('class.page.php');

class Reportes extends DBAccess implements IFilterable
{
	public function ParseFilter(array $filter)
	{
		$sql = '';
		
		return $sql;
	}
	
	private function GenerarReporte($sql)
	{
		$dbconn = mysql_connect(Config::Database_Host, Config::Database_User, Config::Database_Pass, false, 65536);
		$result = mysql_query($sql);
		
		$oRes    = new DBResource($result);
			
		$arr = array();
		$arrReporteCalendario = array();
		$arrReporte = array();
		$IdPropietario = 0;
		$IdCalendario = 0;
		while ($oRow = $oRes->GetRow())	
		{
			$propietarioChanged = false;
			if ($IdPropietario != $oRow['IdPropietario'])
			{
				$IdPropietario = $oRow['IdPropietario'];				
				$arr[$IdPropietario] = array();				
				$propietarioChanged = true;
			}
			
			if ($IdCalendario != $oRow['IdCalendario'] || $propietarioChanged)
			{
				$IdCalendario = $oRow['IdCalendario'];
				$arr[$IdPropietario][$IdCalendario] = array();				
			}			
			
			$oReporteFuncional = new stdClass();
			$oReporteFuncional->IdPropietario = $oRow['IdPropietario'];
			$oReporteFuncional->SBA = $oRow['SBA'];
			$oReporteFuncional->PuntajeMaximo = $oRow['PuntajeMaximo'];
			$oReporteFuncional->FechaDesde = $oRow['FechaDesde'];
			$oReporteFuncional->IdCalendario = $oRow['IdCalendario'];
			$oReporteFuncional->Denominacion = $oRow['Denominacion'];
			$oReporteFuncional->Nombre = $oRow['Nombre'];
			$oReporteFuncional->Categoria = $oRow['Categoria'];

			array_push($arr[$IdPropietario][$IdCalendario], $oReporteFuncional);
			
			$oRes->MoveNext();
		}	
		mysql_close($dbconn);		
		return $arr;	
	}
	
	public function GetReporteMorfologico($IdCalendario1, $IdCalendario2, $IdCalendario3)
	{
		return $this->GenerarReporte("CALL caballoscriollos_com.ReporteMorfologicos(" . DB::Number($IdCalendario1) . ", " . DB::Number($IdCalendario2) . ", " . DB::Number($IdCalendario3) . ")");
	}
	
	public function GetReporteFuncional($IdCalendario1, $IdCalendario2, $IdCalendario3)
	{
		return $this->GenerarReporte("CALL caballoscriollos_com.ReporteFuncionales(" . DB::Number($IdCalendario1) . ", " . DB::Number($IdCalendario2) . ", " . DB::Number($IdCalendario3) . ")");
	}
	
	public function GetReporteMarcha($IdCalendario1, $IdCalendario2, $IdCalendario3)
	{
		return $this->GenerarReporte("CALL caballoscriollos_com.ReporteMarchas(" . DB::Number($IdCalendario1) . ", " . DB::Number($IdCalendario2) . ", " . DB::Number($IdCalendario3) . ")");
	}
	
	public function GetRepote($IdCalendario1, $IdCalendario2, $IdCalendario3)
	{
		$sql = "CALL caballoscriollos_com.GenerarReporte(" . DB::Number($IdCalendario1) . ", " . DB::Number($IdCalendario2) . ", " . DB::Number($IdCalendario3) . ")";
		$dbconn = mysql_connect(Config::Database_Host, Config::Database_User, Config::Database_Pass, false, 65536);
		$result = mysql_query($sql);
		
		$oRes    = new DBResource($result);
			
		$arr = array();		
		while ($oRow = $oRes->GetRow())	
		{
			$oPropietario = new Propietario();
			$oPropietario->ParseFromArray($oRow);
			
			$oReporte = new stdClass();
			$oReporte->Propietario = $oPropietario;
			$oReporte->PuntajeTotal = $oRow['PuntajeTotal'];
			$oReporte->Puntaje1 	= $oRow['Puntaje1'];
			$oReporte->Puntaje2		= $oRow['Puntaje2'];
			$oReporte->Puntaje3		= $oRow['Puntaje3'];

			array_push($arr, $oReporte);
			
			$oRes->MoveNext();
		}	
		mysql_close($dbconn);		
		return $arr;
	}
	
	public function GetReporteMorfologicoAcotado($IdPropietario, $IdCalendario)
	{
		$sql = "SELECT tt.IdPropietario, tt.Sba, MAX(tt.PuntajeMaximo) AS PuntajeMaximo, tt.EventoDesdeFecha, tt.IdCalendario, tt.Denominacion, tt.Animal, tt.Rp, tt.Categoria, tt.TipoMorfologia, tt.Abreviatura, tt.IdInscripcion";
		$sql.= " FROM (SELECT ia.IdPropietario, ia.Sba, MAX(pm.Puntaje) AS PuntajeMaximo, e.EventoDesdeFecha, c.IdCalendario, e.Denominacion, ia.Animal, ia.Rp, ema.Categoria, ema.TipoMorfologia, pmm.Abreviatura, ia.IdInscripcion";
		$sql.= " FROM tblInscripcionAnimales ia";
		$sql.= " INNER JOIN tblEventosMorfologicosCategorias emc";
		$sql.= " ON ia.IdEventosMorfologicosCategoria = emc.IdEventosMorfologicosCategoria";
		$sql.= " INNER JOIN tblInscripcionResultadosMorfologicos irm";
		$sql.= " ON irm.IdInscripcion = ia.IdInscripcion AND irm.IdCategoriaMorfologica = emc.IdEventosMorfologicosCategoria";
		$sql.= " INNER JOIN tblPuntajesMorfologicos pm";
		$sql.= " ON pm.IdPuntaje = irm.IdPuntaje";
		$sql.= " INNER JOIN tblEventos e";
		$sql.= " ON e.IdEvento = ia.IdEvento";
		$sql.= " INNER JOIN tblCalendarios c";
		$sql.= " ON (c.FechaDesde <= e.EventoDesdeFecha AND c.FechaHasta >= e.EventoDesdeFecha)";
		$sql.= " INNER JOIN tblEventosMorfologicosAutoridades ema";
		$sql.= " ON ema.IdEvento = e.IdEvento";
		$sql.= " INNER JOIN tblPremiosMorfologicos pmm";
		$sql.= " ON pmm.IdPremio = pm.IdPremio";
		$sql.= " WHERE ia.IdPropietario = " . DB::Number($IdPropietario);
		$sql.= " AND c.IdCalendario = " . DB::Number($IdCalendario);
		$sql.= " GROUP BY ia.Sba, pm.IdPuntaje";
		$sql.= " ORDER BY PuntajeMaximo DESC) AS tt";
		$sql.= " GROUP BY tt.Sba";
		$sql.= " ORDER BY tt.PuntajeMaximo DESC";
		$sql.= " LIMIT 5";
		
		if (!($oRes = $this->GetQuery($sql)))
			return false;

		$arr = array();

		while ($oRow = $oRes->GetRow())	
		{	
			$oReporteFuncional = new stdClass();
			$oReporteFuncional->IdPropietario = $oRow['IdPropietario'];
			$oReporteFuncional->IdInscripcion = $oRow['IdInscripcion'];
			$oReporteFuncional->SBA = $oRow['SBA'];
			$oReporteFuncional->PuntajeMaximo = $oRow['PuntajeMaximo'];
			$oReporteFuncional->FechaDesde = $oRow['FechaDesde'];
			$oReporteFuncional->IdCalendario = $oRow['IdCalendario'];
			$oReporteFuncional->Denominacion = $oRow['Denominacion'];
			$oReporteFuncional->Nombre = $oRow['Animal'];
			$oReporteFuncional->Rp = $oRow['Rp'];
			$oReporteFuncional->Categoria = $oRow['Categoria'];
			$oReporteFuncional->TipoMorfologia = $oRow['TipoMorfologia'];
			$oReporteFuncional->Premio = $oRow['Abreviatura'];
			if ($oReporteFuncional->TipoMorfologia == 'N')
				$oReporteFuncional->TipoMorfologia = 'Normal';
			elseif ($oReporteFuncional->TipoMorfologia == 'P')
				$oReporteFuncional->TipoMorfologia = 'Pasaporte';
			elseif ($oReporteFuncional->TipoMorfologia == 'R')
				$oReporteFuncional->TipoMorfologia = 'Rotativa';
			
			array_push($arr, $oReporteFuncional);
			
			$oRes->MoveNext();
		}

		return $arr;	
	}
	
	public function GetReporteFuncionalAcotado($IdPropietario, $IdCalendario)
	{
		$sql = "SELECT IdPropietario, Sba, PuntajeMaximo, EventoDesdeFecha, IdCalendario, Denominacion, Animal, Rp, Categoria, Abreviatura, Evento";
		$sql.= " FROM (SELECT ia.IdPropietario, ia.Sba, MAX(pf.Puntaje) AS PuntajeMaximo, e.EventoDesdeFecha, c.IdCalendario, e.Denominacion, ia.Animal, ia.Rp, efpc.Nombre AS Categoria, ia.IdEvento, ppf.Abreviatura, efp.Nombre AS Evento";
		$sql.= " FROM tblInscripcionAnimales ia";
		$sql.= " INNER JOIN tblInscripcionesAnimalesPruebasFuncionales iapf ON ia.IdInscripcion = iapf.IdInscripcion";
		$sql.= " INNER JOIN tblEventosFuncionalesPruebas efp ON iapf.IdEventosFuncionalesPrueba = efp.IdEventosFuncionalesPrueba";
		$sql.= " INNER JOIN tblEventosFuncionalesPruebasCategorias efpc ON efpc.IdEventosFuncionalesPruebasCategoria = iapf.IdEventosFuncionalesPruebasCategoria";
		$sql.= " INNER JOIN tblEventosFuncionalesPruebasEventos efpe ON iapf.IdEventosFuncionalesPrueba = efpe.IdEventosFuncionalesPrueba";
		$sql.= " AND efpe.IdEvento = ia.IdEvento AND efpe.IdEventosFuncionalesPruebasCategoria = iapf.IdEventosFuncionalesPruebasCategoria";
		$sql.= " INNER JOIN tblInscripcionResultadosFuncionales irf ON irf.IdPruebaFuncional = efp.IdEventosFuncionalesPrueba";
		$sql.= " AND irf.IdInscripcion = ia.IdInscripcion";
		$sql.= " INNER JOIN tblPuntajesFuncionales pf ON pf.IdPuntaje = irf.IdPuntaje";
		$sql.= " INNER JOIN tblPremiosFuncionales ppf ON ppf.IdPremio = pf.IdPremio";
		$sql.= " INNER JOIN tblEventos e ON e.IdEvento = ia.IdEvento";
		$sql.= " INNER JOIN tblCalendarios c ON (c.FechaDesde <= e.EventoDesdeFecha AND c.FechaHasta >= e.EventoDesdeFecha)";
		$sql.= " WHERE ia.IdPropietario = " . DB::Number($IdPropietario);
		$sql.= " AND c.IdCalendario = " . DB::Number($IdCalendario);
		$sql.= " GROUP BY CONCAT(ia.IdPropietario, ia.Sba), pf.IdPuntaje) AS tt";
		$sql.= " ORDER BY PuntajeMaximo DESC";
		$sql.= " LIMIT 4";
		
		if (!($oRes = $this->GetQuery($sql)))
			return false;

		$arr = array();

		while ($oRow = $oRes->GetRow())	
		{	
			$oReporteFuncional = new stdClass();
			$oReporteFuncional->IdPropietario = $oRow['IdPropietario'];
			$oReporteFuncional->SBA = $oRow['SBA'];
			$oReporteFuncional->PuntajeMaximo = $oRow['PuntajeMaximo'];
			$oReporteFuncional->FechaDesde = $oRow['EventoDesdeFecha'];
			$oReporteFuncional->IdCalendario = $oRow['IdCalendario'];
			$oReporteFuncional->Denominacion = $oRow['Denominacion'];
			$oReporteFuncional->Nombre = $oRow['Animal'];
			$oReporteFuncional->Rp = $oRow['Rp'];
			$oReporteFuncional->Categoria = $oRow['Evento'] . ' - '. $oRow['Categoria'];			
			$oReporteFuncional->Premio = $oRow['Abreviatura'];
						
			array_push($arr, $oReporteFuncional);
			
			$oRes->MoveNext();
		}

		return $arr;	
	}
	
	public function GetReporteMarchaAcotado($IdPropietario, $IdCalendario)
	{
		$sql = "SELECT ia.IdPropietario, ia.Sba, MAX(pm.Puntaje) AS PuntajeMaximo, e.EventoDesdeFecha, c.IdCalendario, e.Denominacion, ia.Animal, ia.Rp, ppm.Abreviatura";
		$sql.= " FROM tblInscripcionAnimales ia";
		$sql.= " INNER JOIN tblInscripcionResultadosMarcha irm";
		$sql.= " ON irm.IdInscripcion = ia.IdInscripcion";
		$sql.= " INNER JOIN tblPuntajesMarcha pm";
		$sql.= " ON irm.IdPuntaje = pm.IdPuntaje";
		$sql.= " INNER JOIN tblEventos e";
		$sql.= " ON e.IdEvento = ia.IdEvento";
		$sql.= " INNER JOIN tblCalendarios c";
		$sql.= " ON (c.FechaDesde <= e.EventoDesdeFecha AND c.FechaHasta >= e.EventoDesdeFecha)";
		$sql.= " INNER JOIN tblPremiosMarcha ppm";
		$sql.= " ON ppm.IdPremio = pm.IdPremio";
		$sql.= " WHERE ia.IdPropietario = $IdPropietario AND c.IdCalendario = $IdCalendario";
		$sql.= " GROUP BY ia.Sba, ia.IdEvento, pm.IdPuntaje";
		$sql.= " ORDER BY PuntajeMaximo DESC";
		$sql.= " LIMIT 1";
		
		if (!($oRes = $this->GetQuery($sql)))
			return false;

		$arr = array();

		while ($oRow = $oRes->GetRow())	
		{	
			$oReporteFuncional = new stdClass();
			$oReporteFuncional->IdPropietario = $oRow['IdPropietario'];
			$oReporteFuncional->SBA = $oRow['SBA'];
			$oReporteFuncional->PuntajeMaximo = $oRow['PuntajeMaximo'];
			$oReporteFuncional->FechaDesde = $oRow['EventoDesdeFecha'];
			$oReporteFuncional->IdCalendario = $oRow['IdCalendario'];
			$oReporteFuncional->Denominacion = $oRow['Denominacion'];
			$oReporteFuncional->Nombre = $oRow['Animal'];
			$oReporteFuncional->Rp = $oRow['Rp'];
			$oReporteFuncional->Categoria = $oRow['Evento'] . ' - '. $oRow['Categoria'];			
			$oReporteFuncional->Premio = $oRow['Abreviatura'];
						
			array_push($arr, $oReporteFuncional);
			
			$oRes->MoveNext();
		}

		return $arr;	
	}
}
?>

Mr. DellatioNx196 GaLers xh3LL Backd00r 1.0, Coded By Mr. DellatioNx196 - Bogor BlackHat