<?php

//module_load_include('php', 'connect', 'formularios/data/connect');
//module_load_include('php', 'connect', 'inc/funciones');
include_once("../../formularios/data/connect.php");
include_once("../inc/funciones.php");

	$idioma = $_GET['idioma'] ? $_GET['idioma'] : '';
	if ($idioma == "eu") {
		$idioma = "/eu";
	} else {
		$idioma = "";
	}

if (stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml"))
	header("Content-type: application/xhtml+xml");
else
	header("Content-type: text/xml");
				
$op = $_GET['op'] ? $_GET['op'] : '';

$val = recuperaURL();
$val = str_replace('op=depto','',$val);
$val = str_replace('&op=ente','',$val);
$val = str_replace('&op=tipo','',$val);
$val = str_replace('&op=func','',$val);
$val = str_replace('&idioma=eu','',$val);

print '<?xml version="1.0" encoding="utf-8"?>'."\n".
		'<rows>'."\n";

if($val)
	$link = $val . ',&';
else
	$link = '';
	
$egene = isset($_GET['e_gene']) ? $_GET['e_gene'] : '';
$ecosto = isset($_GET['e_costo']) ? $_GET['e_costo'] : '';
$eplan = isset($_GET['e_plan']) ? $_GET['e_plan'] : '';
$eresp = isset($_GET['e_resp']) ? $_GET['e_resp'] : '';

if($egene)
{
	if($egene == 'R')
		$sql = ' AND E.EvaluacionGeneral <= 3 ';
	if($egene == 'A')
		$sql = ' AND (E.EvaluacionGeneral > 3 AND E.EvaluacionGeneral <= 7) ';
	if($egene == 'V')
		$sql = ' AND E.EvaluacionGeneral > 7 ';
}

if($ecosto)
{
	if($ecosto == 'R')
		$sql = 'AND E.EvaluacionCosto <= 3 ';
	if($ecosto == 'A')
		$sql = 'AND (E.EvaluacionCosto > 3 AND E.EvaluacionCosto <= 7) ';
	if($ecosto == 'V')
		$sql = 'AND E.EvaluacionCosto > 7 ';
}

if($eplan)
{
	if($eplan == 'R')
		$sql = ' AND E.EvaluacionPlan <= 3 ';
	if($eplan == 'A')
		$sql = ' AND (E.EvaluacionPlan > 3 AND E.EvaluacionPlan <= 7) ';
	if($eplan == 'V')
		$sql = ' AND E.EvaluacionPlan > 7 ';
}

if($eresp)
{
	if($eresp == 'R')
		$sql = ' AND E.EvaluacionResponsable <= 2 ';
	if($eresp == 'A')
		$sql = ' AND (E.EvaluacionResponsable > 2 AND E.EvaluacionResponsable <= 3.5) ';
	if($eresp == 'V')
		$sql = ' AND E.EvaluacionResponsable > 3.5 ';
}

switch($op)
{
	case 'depto':
		$tipo = isset($_GET['tipo']) ? str_replace(',','',$_GET['tipo']) : 0;
		$funcion = isset($_GET['funcion']) ? str_replace(',','',$_GET['funcion']) : 0;

		$filtro = '';
		if($tipo)
			$filtro .= " AND P.IdTipo = $tipo ";

		if($funcion)
			$filtro .= " AND P.IdFuncion = $funcion ";

		$query = "SELECT D.IdDepartamento, D.Nombre, AVG(EvaluacionGeneral) AS Evaluacion, SUM(Actual) AS Gasto, COUNT(P.IdPrograma) AS Cont FROM departamentos D INNER JOIN programas P ON D.IdDepartamento = P.IdDepartamento INNER JOIN presupuestos B ON P.IdPrograma = B.IdPrograma LEFT JOIN (SELECT EV.* FROM evaluaciones EV, (SELECT IdPrograma, MAX(Fecha) AS Fecha FROM evaluaciones GROUP BY IdPrograma) EV2 WHERE EV.IdPrograma = EV2.IdPrograma AND EV.Fecha = EV2.Fecha) E ON P.IdPrograma = E.IdPrograma WHERE B.Periodo = ".date('Y')." $filtro $sql GROUP BY D.Nombre";
		$RS = mysql_query($query);
		while($row = mysql_fetch_array($RS))
		{
			
			print '<row id="'.$row['IdDepartamento'].'">
					   <cell><![CDATA[<a href="'.$idioma.'/cartera?'.$link.'depto='.$row['IdDepartamento'].'">'.utf8_encode($row['Nombre']).'</a>]]></cell>
					   <cell>'.number_format($row['Evaluacion'],1).'</cell>
					   <cell>'.number_format($row['Gasto'],0).' €</cell>
					   <cell>'.$row['Cont'].'</cell>
				   </row>';
		}
		break;

	case 'ente':
		$depto = isset($_GET['depto']) ? str_replace(',','',$_GET['depto']) : 0;
		$tipo = isset($_GET['tipo']) ? str_replace(',','',$_GET['tipo']) : 0;
		$funcion = isset($_GET['funcion']) ? str_replace(',','',$_GET['funcion']) : 0;

		$filtro = '';
		if($depto)
			$filtro .= " AND P.IdDepartamento = $depto ";

		if($tipo)
			$filtro .= " AND P.IdTipo = $tipo ";

		if($funcion)
			$filtro .= " AND P.IdFuncion = $funcion ";

		$query = "SELECT N.IdEntidad, N.Nombre, AVG(EvaluacionGeneral) AS Evaluacion, SUM(Actual) AS Gasto, COUNT(P.IdPrograma) AS Cont FROM entidades N LEFT JOIN programas P ON N.IdEntidad = P.IdEntidad AND N.IdDepartamento = P.IdDepartamento LEFT JOIN presupuestos B ON P.IdPrograma = B.IdPrograma LEFT JOIN (SELECT EV.* FROM evaluaciones EV, (SELECT IdPrograma, MAX(Fecha) AS Fecha FROM evaluaciones GROUP BY IdPrograma) EV2 WHERE EV.IdPrograma = EV2.IdPrograma AND EV.Fecha = EV2.Fecha) E ON P.IdPrograma = E.IdPrograma WHERE B.Periodo = ".date('Y')." $filtro $sql GROUP BY N.IdEntidad";
		$RS = mysql_query($query);
		while($row = mysql_fetch_array($RS))
		{
			print '<row id="'.$row['IdEntidad'].'">
					   <cell><![CDATA[<a href="'.$idioma.'/cartera?'.$link.'ente='.$row['IdEntidad'].'">'.utf8_encode($row['Nombre']).'</a>]]></cell>
					   <cell>'.number_format($row['Evaluacion'],1).'</cell>
					   <cell>'.number_format($row['Gasto'],0).' €</cell>
					   <cell>'.$row['Cont'].'</cell>
				   </row>';
		}
		break;

	case 'func':
		$depto = isset($_GET['depto']) ? str_replace(',','',$_GET['depto']) : 0;
		$ente = isset($_GET['ente']) ? str_replace(',','',$_GET['ente']) : 0;
		$tipo = isset($_GET['tipo']) ? str_replace(',','',$_GET['tipo']) : 0;

		$filtro = '';
		if($depto)
			$filtro .= " AND P.IdDepartamento = $depto ";

		if($ente)
			$filtro .= " AND P.IdEntidad = $ente ";

		if($tipo)
			$filtro .= " AND P.IdTipo = $tipo ";

		$query = "SELECT F.IdFuncion, F.Descripcion, AVG(EvaluacionGeneral) AS Evaluacion, SUM(Actual) AS Gasto, COUNT(P.IdPrograma) AS Cont FROM funciones F INNER JOIN programas P ON F.IdFuncion = P.IdFuncion INNER JOIN presupuestos B ON P.IdPrograma = B.IdPrograma LEFT JOIN (SELECT EV.* FROM evaluaciones EV, (SELECT IdPrograma, MAX(Fecha) AS Fecha FROM evaluaciones GROUP BY IdPrograma) EV2 WHERE EV.IdPrograma = EV2.IdPrograma AND EV.Fecha = EV2.Fecha) E ON P.IdPrograma = E.IdPrograma WHERE B.Periodo = ".date('Y')." $filtro $sql GROUP BY F.Descripcion";
		$RS = mysql_query($query);
		while($row = mysql_fetch_array($RS))
		{
			print '<row id="'.$row['IdFuncion'].'">
					   <cell><![CDATA[<a href="'.$idioma.'/cartera?'.$link.'funcion='.$row['IdFuncion'].'">'.utf8_encode($row['Descripcion']).'</a>]]></cell>
					   <cell>'.number_format($row['Evaluacion'],1).'</cell>
					   <cell>'.number_format($row['Gasto'],0).' €</cell>
					   <cell>'.$row['Cont'].'</cell>
				   </row>';
		}
		break;

	case 'prog':
		$depto = isset($_GET['depto']) ? str_replace(',','',$_GET['depto']) : 0;
		$ente = isset($_GET['ente']) ? str_replace(',','',$_GET['ente']) : 0;
		$tipo = isset($_GET['tipo']) ? str_replace(',','',$_GET['tipo']) : 0;
		$funcion = isset($_GET['funcion']) ? str_replace(',','',$_GET['funcion']) : 0;

		$filtro = '';
		if($depto)
			$filtro .= " AND P.IdDepartamento = $depto ";

		if($ente)
			$filtro .= " AND P.IdEntidad = $ente ";

		if($tipo)
			$filtro .= " AND P.IdTipo = $tipo ";

		if($funcion)
			$filtro .= " AND P.IdFuncion = $funcion ";
		
		$query = "SELECT P.IdPrograma, P.Codigo, P.Nombre AS Titulo, D.Nombre AS Departamento, T.Descripcion AS Tipo, AVG(EvaluacionGeneral) AS Evaluacion, SUM(Actual) AS Gasto FROM departamentos D LEFT JOIN programas P ON D.IdDepartamento = P.IdDepartamento LEFT JOIN presupuestos B ON P.IdPrograma = B.IdPrograma LEFT JOIN tipos T ON P.IdTipo = T.IdTipo LEFT JOIN (SELECT EV.* FROM evaluaciones EV, (SELECT IdPrograma, MAX(Fecha) AS Fecha FROM evaluaciones GROUP BY IdPrograma) EV2 WHERE EV.IdPrograma = EV2.IdPrograma AND EV.Fecha = EV2.Fecha) E ON P.IdPrograma = E.IdPrograma WHERE B.Periodo = ".date('Y')." $filtro $sql GROUP BY P.Codigo";
		$RS = mysql_query($query);
		while($row = mysql_fetch_array($RS))
		{
			print '<row id="'.$row['IdPrograma'].'">
					   <cell><![CDATA[<a href="'.$idioma.'/programa?buscid='.$row['IdPrograma'].'">'.utf8_encode($row['Codigo']).'</a>]]></cell>
					   <cell><![CDATA[<a href="'.$idioma.'/programa?buscid='.$row['IdPrograma'].'">'.utf8_encode($row['Titulo']).'</a>]]></cell>
					   <cell>'.utf8_encode($row['Departamento']).'</cell>
					   <cell>'.utf8_encode($row['Tipo']).'</cell>
					   <cell>'.number_format($row['Evaluacion'],1).'</cell>
					   <cell>'.number_format($row['Gasto'],0).' €</cell>
				   </row>';
		}
		break;
	
	case 'tipo':
		$depto = isset($_GET['depto']) ? str_replace(',','',$_GET['depto']) : 0;
		$ente = isset($_GET['ente']) ? str_replace(',','',$_GET['ente']) : 0;
		$funcion = isset($_GET['funcion']) ? str_replace(',','',$_GET['funcion']) : 0;

		$filtro = '';
		if($depto)
			$filtro .= " AND P.IdDepartamento = $depto ";

		if($ente)
			$filtro .= " AND P.IdEntidad = $ente ";

		if($funcion)
			$filtro .= " AND P.IdFuncion = $funcion ";

		$query = "SELECT T.IdTipo, T.Descripcion, AVG(EvaluacionGeneral) AS Evaluacion, SUM(Actual) AS Gasto, COUNT(P.IdPrograma) AS Cont FROM tipos T INNER JOIN programas P ON T.IdTipo = P.IdTipo INNER JOIN presupuestos B ON P.IdPrograma = B.IdPrograma LEFT JOIN (SELECT EV.* FROM evaluaciones EV, (SELECT IdPrograma, MAX(Fecha) AS Fecha FROM evaluaciones GROUP BY IdPrograma) EV2 WHERE EV.IdPrograma = EV2.IdPrograma AND EV.Fecha = EV2.Fecha) E ON P.IdPrograma = E.IdPrograma WHERE B.Periodo = ".date('Y')." $filtro $sql GROUP BY T.Descripcion";
		$RS = mysql_query($query);
		while($row = mysql_fetch_array($RS))
		{
			print '<row id="'.$row['IdTipo'].'">
					   <cell><![CDATA[<a href="'.$idioma.'/cartera?'.$link.'tipo='.$row['IdTipo'].'">'.utf8_encode($row['Descripcion']).'</a>]]></cell>
					   <cell>'.number_format($row['Evaluacion'],1).'</cell>
					   <cell>'.number_format($row['Gasto'],0).' €</cell>
					   <cell>'.$row['Cont'].'</cell>
				   </row>';
		}
		break;
}

print '</rows>';

?>