<?php
include_once("connect.php");

$base_url = 'http://'.$_SERVER['HTTP_HOST'];
chdir('../../');
include_once "includes/bootstrap.inc";
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
	
global $user;
$userid = $user->uid;

$op = isset($_GET['op']) ? $_GET['op'] : '';
$id = isset($_GET['id']) ? "'".$_GET['id']."'" : '0';
$act_tipo = isset($_POST['act_tipo']) ? $_POST['act_tipo'] : '0';

switch($op)
{
	case 'last':
		if (stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml"))
			header("Content-type: application/xhtml+xml");
		else
			header("Content-type: text/xml");
		
		print '<?xml version="1.0" encoding="iso-8859-1"?>'."\n";
    		print '<data>'."\n";

		$query = "SELECT * FROM evaluaciones_detalle ED INNER JOIN (SELECT IdEvaluacion, Fecha FROM evaluaciones WHERE IdPrograma = $id ORDER BY Fecha DESC LIMIT 1) E ON ED.IdEvaluacion = E.IdEvaluacion";
		$RS = mysql_query($query);
		while($row=mysql_fetch_array($RS))
		{
			print '<op'.$row['IdPregunta'].'>'.$row['Puntuacion'].'</op'.$row['IdPregunta'].'>';
			$fecha = $row['Fecha'];
		}
		if($fecha)
		{
			$fecha = explode("-",$fecha);
	    	$fecha = $fecha[2]."/".$fecha[1]."/".$fecha[0];
			print '<ultima>'.$fecha.'</ultima>';
		}
		print '</data>';
		break;
		
	default:
		$v_codigob = $_POST['codigob'] ? $_POST['codigob'] : 0;
		$v_fecha = "'".$_POST['fecha']."'";
		$v_evaluacion = $_POST['evaluacion'] ? $_POST['evaluacion'] : 0;
		$v_comentarios = $_POST['comentarios'] ? "'".utf8_decode($_POST['comentarios'])."'" : "''";
		$ahora = "'".date('Y-m-d H:i:s')."'";
		
		$query = "SELECT SUM(CostoReal) CostoReal, SUM(Y.CostoTotal * PorcentAvanceReal / 100) ValorGanado, SUM(VariacionPlan) VariacionPlan, DATEDIFF(MAX(FechaFinalPresup), MIN(FechaInicioReal)) Duracion FROM programas P INNER JOIN proyectos Y ON P.IdPrograma = Y.IdPrograma LEFT JOIN (SELECT PR.* FROM progreso PR, (SELECT IdProyecto, MAX(Fecha) AS Fecha FROM progreso GROUP BY IdProyecto)PR2 WHERE PR.IdProyecto = PR2.IdProyecto AND PR.Fecha = PR2.Fecha) R ON Y.IdProyecto = R.IdProyecto LEFT JOIN (SELECT EV.* FROM evaluaciones EV, (SELECT IdPrograma, MAX(Fecha) AS Fecha FROM evaluaciones GROUP BY IdPrograma)E2 WHERE EV.IdPrograma = E2.IdPrograma AND EV.Fecha = E2.Fecha) E ON P.IdPrograma = E.IdPrograma WHERE P.IdPrograma = $v_codigob GROUP BY P.IdPrograma";
		$RS = mysql_query($query);
		$row=mysql_fetch_array($RS);
		
		$EV = $row['ValorGanado'];
		$variacosto = $EV - $row['CostoReal'];
		if($EV > 0)
			$porcosto = $variacosto / $EV * 100;
		else
			$porcosto = 0;
		
		if($porcosto < 10)
			$v_evalcosto = 10;
		elseif($porcosto < 30)
			$v_evalcosto = 7;
		elseif($porcosto < 50)
			$v_evalcosto = 3;
		else			
			$v_evalcosto = 0;

		$duracion = $row['Duracion'];
		$variaplan = $row['VariacionPlan'];
		if($duracion > 0)
			$porplan = $variaplan / $duracion * 100;
		else
			$porplan = 0;
			
		if($porplan < 10)
			$v_evalplan = 10;
		elseif($porplan < 30)			
			$v_evalplan = 7;
		elseif($porplan < 50)			
			$v_evalplan = 3;
		else			
			$v_evalplan = 0;
				
		$v_evalgeneral = ($v_evaluacion * 2 * 0.34) + ($v_evalcosto * 0.33) + ($v_evalplan * 0.33);

		mysql_query("START TRANSACTION");
		
		$query = "DELETE FROM evaluaciones WHERE Fecha = $v_fecha AND IdPrograma = $v_codigob";
		if(!mysql_query($query, $conn))
		{
			$error = true;
			mysql_query("ROLLBACK");
			die("Error al Almacenar Datos de Evaluación (#PASO_1#)");
		}

		//guardamos los datos en evaluaciones
		$query = "INSERT INTO evaluaciones (Fecha, EvaluacionCosto, EvaluacionPlan, EvaluacionResponsable, EvaluacionGeneral, Comentario, IdPrograma, IdResponsable,creado) VALUES ($v_fecha, $v_evalcosto, $v_evalplan, $v_evaluacion, $v_evalgeneral, $v_comentarios, $v_codigob, $userid, $ahora)";
		if(!mysql_query($query, $conn))
		{
			$error = true;
			mysql_query("ROLLBACK");
			die("Error al Almacenar Datos de Evaluación  (#PASO_2#)");
		}

		$ideval = mysql_insert_id($conn);
		
		/* Guardamos los datos del formulario */
		$p1 = $_POST['p1'] ? $_POST['p1'] : 0;
		$p2 = $_POST['p2'] ? $_POST['p2'] : 0;
		$p3 = $_POST['p3'] ? $_POST['p3'] : 0;
		$p4 = $_POST['p4'] ? $_POST['p4'] : 0;
		$p5 = $_POST['p5'] ? $_POST['p5'] : 0;
		$p6 = $_POST['p6'] ? $_POST['p6'] : 0;
		$p7 = $_POST['p7'] ? $_POST['p7'] : 0;
		$p8 = $_POST['p8'] ? $_POST['p8'] : 0;
		$p9 = $_POST['p9'] ? $_POST['p9'] : 0;
		$p10 = $_POST['p10'] ? $_POST['p10'] : 0;
		$p11 = $_POST['p11'] ? $_POST['p11'] : 0;
		$p12 = $_POST['p12'] ? $_POST['p12'] : 0;
		$p13 = $_POST['p13'] ? $_POST['p13'] : 0;
		$p14 = $_POST['p14'] ? $_POST['p14'] : 0;
		$p15 = $_POST['p15'] ? $_POST['p15'] : 0;
		$p16 = $_POST['p16'] ? $_POST['p16'] : 0;
		$p17 = $_POST['p17'] ? $_POST['p17'] : 0;

		$preguntas = "$p1;$p2;$p3;$p4;$p5;$p6;$p7;$p8;$p9;$p10;$p11;$p12;$p13;$p14;$p15;$p16;$p17";
		$valor_preguntas = explode(";", $preguntas);
		$i = 0;
		while ($i <= 16):
			$puntuacion = $valor_preguntas[$i];
			$npregunta = $i+1;
			$query = "INSERT INTO evaluaciones_detalle (Puntuacion, IdPregunta, IdEvaluacion) VALUES ($puntuacion, $npregunta, $ideval)";
			if(!mysql_query($query, $conn))
			{
				mysql_query("ROLLBACK");
				die("Error al Almacenar Detalle de la Evaluación  (#PASO_3#)");
			}
		    $i++;
		endwhile;		
		
		if(!$error)
		{
			mysql_query("COMMIT");
			print("Datos de la Evaluación Almacenados correctamente");
		}
		else
		{
			mysql_query("ROLLBACK");
			die("Error al Almacenar Datos de Evaluación  (#PASO_4#)");
		}
		break;
}
mysql_close();

?>