<?php
session_start(); 
////
/// Cierre Jornada
///

//$file = fopen("log.txt", "w");   /// BORRAR LOG
//fwrite($file, "Error $error". PHP_EOL);
//fclose($file);


header("Content-Type: control_ras_v24/json");

//------------------------------------------------ Prepara la primera pantalla -----------------------------------------------------------------------------------------
$view='jsonfiles/control_ras_v24_en.json';

$data1=array();
$grid=array();
$output = array();
if(isset($_POST['ras'])){
	$ras = trim($_POST['ras']);
}
else{
	if(isset($_GET['ras'])){
		$ras=trim($_GET["ras"]);
	} else {
		$ras='';
	}
}



if(isset($_POST['btn_rampa']) && $_POST['btn_rampa'] == 1){
	$ras = $_POST['cmb_rampa'];
}
$data1['cbRampa'] = $ras;
$data1['cmb_rampa'] = $ras;
$data1['ras']=$ras;
$data1['valRampa'] = $ras;
$config = require ('config.php');
$conexion=$config['conexion']; 
$conn = pg_connect($conexion);
$rutafotos="r".$ras."/fotos";
$rutavideos="r".$ras."/videos";
$data1['logo'] = 'images/logo.png';
$data1['url']= $config['URL'];  
$data1['extjs']='jscss/control_ras_v24.js?'.trim(date_timestamp_get(date_create()));



if (isset($_POST["exit"]) && $_POST["exit"] == '1') { 

	return;

} else {
	carga_rampas($conn);
	$tienda2="";
	$ref2="";
	$soporte2="";
	if (isset($_POST["tienda2"])) {
		$tienda2=$_POST["tienda2"];
		$ref2=$_POST["ref2"];
		$soporte2=$_POST["soporte2"];
		
		
		$data1['tienda2']=$tienda2;
		$data1['ref2']=$ref2;
		$data1['soporte2']=$soporte2;
	}
	
	if($conn != null){
		cargadatos($conn,$ras,$tienda2,$ref2,$soporte2,$rutafotos,$rutavideos);
	}
	else{
		
	}
	
	

}
$formato = 'fmt02';
if(isset($_POST['formato'])){
	$formato = $_POST['formato'];
}
$data1['formato'] = $formato;
$output = array('data' => $data1, 'view' => $view, 'screen' => $formato);


echo json_encode($output);	
function login(){
	
}


function carga_rampas($conn){
	global $data1;
	$txtRampa = '';
	$valRampa = '';
	$cont = 0;
	$sql = "SELECT rampa from parametrizacion order by rampa asc";
	$results = pg_query($conn,$sql);
	while ($row = pg_fetch_array($results)) {
		$cont++;
		
		$valRampa = trim($valRampa).",".$row['rampa'];
		
			$txtRampa = trim($txtRampa).",".$row['rampa'];
		
		if($cont == 1){
			$valRampa = str_replace(',','',$valRampa);
			$txtRampa = str_replace(',','',$txtRampa);
			
		}
	}
	
	$data1['txtRampa'] = $txtRampa;
	$data1['valRampa'] = $valRampa;
	$data1['rampa_choices'] = $valRampa;

}
//
//------------------------ Carga ultimas peticiones 
// 

function cargadatos($conn,$ras,$tienda2,$ref2,$soporte2,$rutafotos,$rutavideos) {

global $data1;	

$chk1='N';
$pics='';

$grid1 = array();

$sql="SELECT COALESCE(zona, ' ') AS ZONA, COALESCE(tienda, ' ') AS tienda, COALESCE(soporte, ' ') AS soporte, COALESCE(referencia, ' ') AS referencia, COALESCE(des_referencia, ' ') AS des_referencia, momento_inicio, 
pic, divisor, total_fotos, momento_inicio, momento_fin, errores,
EXTRACT(EPOCH FROM momento_fin) - EXTRACT(EPOCH FROM momento_inicio) AS segundos
FROM peticiones 
WHERE ras = '$ras'";
	
if ($tienda2!="" or $ref2!="" or $soporte2 !="") {
	$chk1='S';
}	
$and='N';			
if ($tienda2!="") {
	$sql=$sql.' and ';
	$sql=$sql." trim(tienda)='$tienda2'";
	$and='S';
}

if ($ref2!="") {
	$sql=$sql.' and ';
	$sql=$sql." trim(referencia)='$ref2'";
	$and='S';
}
if ($soporte2!="") {
	$sql=$sql.' and ';
	$sql=$sql." trim(soporte)='$soporte2'";
}

$sql=$sql." order by momento_inicio desc limit 600";

$results = pg_query($conn,$sql);
while ($row = pg_fetch_array($results)) {

	$iestado='';
	$mfin='-';
	$tiempo='-';
	$estado = 1;
	switch ($row['errores']) {
    case '0':
        $iestado='images/ajusteverde.png';
		$estado = 0;
        break;
    case '9999':
        $iestado='images/alertat.png';
		$estado = 9999;
        break;
    case '9998':
        $iestado='images/interrogacion.png';
		$estado = 9998;
        break;
	}


	array_push($grid1, array(
		'zona' => $row['zona'],
		'tienda' => trim($row['tienda']),	
		'soporte' => trim($row['soporte']),
		'txtref' => trim($row['referencia']).' '.trim($row['des_referencia']),
		'ref' => trim($row['referencia']),
		'iestado' => $iestado,
		'estado'=> $estado,
		'divisor' => $row['divisor'],
		'tfotos' => $row['total_fotos'],
		'pic' => $row['pic'],
		'chk1' => $chk1,
		'mpeticion' => substr($row['momento_inicio'],8,2).'-'.substr($row['momento_inicio'],5,2).'-'.substr($row['momento_inicio'],0,4).' '.substr($row['momento_inicio'],11,8),
		'mfin' => $row['momento_fin'],
		'tiempo' => $row['segundos'].' Seg'));

	if ($chk1=='S') {	
		if ($pics=='') {
			$pics=$row['pic'].'#'.$row['total_fotos'].'#'.$row['divisor'];
		} else {
			$pics=$pics.','.$row['pic'].'#'.$row['total_fotos'].'#'.$row['divisor'];
		}		
	}
	
}		

$data1['grid1'] = $grid1;
$data1['rutafotos'] = $rutafotos;
$data1['rutavideos'] = $rutavideos;
$data1['pics']= $pics;
cargar_grafica($conn,$ras);
//$conn=null;

pg_close($conn);

}
function cargar_grafica($conn,$ras){
	global $data1;

	$fecha = date('Y-m-d H:i:s');
	if(isset($_POST['date'])){
		$fecha = $_POST['date'];
	} 
	$data1['date'] = $fecha;

	$mes = date('m',strtotime($fecha));
	$year = date('Y',strtotime($fecha));
	$fecha = $mes.''.$year;
	$sql = "SELECT date(momento_inicio) as fecha from peticiones  where to_char(momento_inicio, 'MMYYYY')='$fecha' and ras = '$ras'  group by date(momento_inicio) order by date(momento_inicio)";
	$results = pg_query($conn,$sql);
	$fechasGrafica = array();
	
	while ($row = pg_fetch_array($results)) {
	/* echo $sql.PHP_EOL; */
		$errores = 0;
		$aciertos = 0;
		$sql2 = "SELECT count(errores) AS errores from peticiones where date(momento_inicio) = '".$row['fecha']."' and ras='$ras' and errores = '9999' group by date(momento_inicio)";
		 /* echo $sql2.PHP_EOL;  */
		$results2 = pg_query($conn,$sql2);
		while ($row2 = pg_fetch_array($results2)) {
			$errores = $row2['errores'];
		 }

		 $sql3 = "SELECT count(errores) AS aciertos from peticiones where date(momento_inicio) = '".$row['fecha']."' and ras='$ras' and (errores = '0' or errores = '9998') group by date(momento_inicio)";
		 /* echo $sql3.PHP_EOL;  */
		$results3 = pg_query($conn,$sql3);
		while ($row3 = pg_fetch_array($results3)) {
			$aciertos = $row3['aciertos'];
		 }
		 array_push($fechasGrafica,array('fecha'=>$row['fecha'],'aciertos'=>$aciertos,'errores'=>$errores));
	}
	$jsonFecha = '';
	$jsonErrores = '';
	$jsonAciertos = '';
	$len = count($fechasGrafica);
	$cont = 0;
	foreach ($fechasGrafica as $key => $valor){
		$cont++;
		$jsonFecha .= '{"label":"'.$valor['fecha'].'"}';
		$jsonAciertos .= '{"value":"'.$valor['aciertos'].'"}';
		$jsonErrores .= '{"value":"'.$valor['errores'].'"}';
		if($cont != $len){
			$jsonFecha .= ',';
			$jsonAciertos .= ',';
			$jsonErrores .= ',';
		}
	}
 $dataSource = '{
    "chart": {
        "caption": "Estadisticas",
        "subCaption": "Estadisticas mensuales del resultado del Visual Check",
        "xAxisName": "Dia",
        "theme": "zune"
    },
    "categories": [
        {
			"category": ['.$jsonFecha.']
		}
    ],
    "dataset": [
        {
            "seriesname": "Aciertos",
            "data": ['.$jsonAciertos.']
        },
        {
            "seriesname": "Errores",
            "data": ['.$jsonErrores.']
        }
	]}';
	/* echo $dataSource.PHP_EOL; */
	$data1['chart'] = $dataSource;
}

function utf8_encode_deep(&$input) {
	
	if (is_string($input)) {
		$input = utf8_encode($input);
	} else if (is_array($input)) {
		foreach ($input as &$value) {
			utf8_encode_deep($value);
		}
		
		unset($value);
	} else if (is_object($input)) {
		$vars = array_keys(get_object_vars($input));
		
		foreach ($vars as $var) {
			utf8_encode_deep($input->$var);
		}
	}
}


?>