<?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.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 = "./videos/ras" . $ras . '/';
$rutavideos = "./videos/ras" . $ras . '/';
$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);
	$bulto = "";
	$ola = "";
	$transportista = "";
	$posicion = "";
	$fechades = "";
	$fechahas = "";
	$estado = "";

	if (isset($_POST["bultow"])) {
		$bulto = $_POST["bultow"];
		$ola = $_POST["olaw"];
		$transportista = $_POST["transportistaw"];
		$posicion = $_POST["posicionw"];
		$fechades = $_POST["fechades"];
		$fechahas = $_POST["fechahas"];
		$estado = $_POST["estadow"];

		$data1['bultow'] = $bulto;
		$data1['olaw'] = $ola;
		$data1['transportistaw'] = $transportista;
		$data1["posicionw"] = $posicion;
		$data1["fechades"] = $fechades;
		$data1["fechahas"] = $fechahas;
		$data1["estadow"] = $estado;
	}

	if ($conn != null) {
		cargadatos($conn, $ras, $bulto, $ola, $transportista, $posicion, $fechades, $fechahas, $estado, $rutafotos, $rutavideos);
	} else {
	}
}
$formato = 'fmt01';
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, $bulto, $ola, $transportista, $posicion, $fechades, $fechahas, $estado, $rutafotos, $rutavideos)
{

	global $data1;

	$pics = '';
	$resultados = 0;

	$grid1 = array();

	$sql = "SELECT COALESCE(zona, ' ') AS ZONA, COALESCE(soporte, ' ') AS soporte, momento_inicio, a.pic AS bulto, b.wave_name AS ola, b.carrier AS transportista, 
		divisor, total_fotos, momento_inicio, momento_fin, errores,
		EXTRACT(EPOCH FROM momento_fin) - EXTRACT(EPOCH FROM momento_inicio) AS segundos
		FROM peticiones a LEFT JOIN dhl_link_id b ON a.pic = b.inventory_id
		WHERE ras = '$ras'";

	if ($bulto != "") {
		$sql .= " and trim(a.pic)='$bulto'";
	}
	if ($ola != "") {
		$sql .= " and trim(b.wave_name)='$ola'";
	}
	if ($transportista != "") {
		$sql .= " and trim(b.carrier)='$transportista'";
	}
	if ($posicion != "") {
		$sql .= " and trim(zona)='$posicion'";
	}
	if ($fechades != "") {
		$sql .= " and momento_inicio > '$fechades'";
	}
	if ($fechahas != "") {
		$sql .= " and momento_inicio < '$fechahas'";
	}
	if ($estado != "") {
		$sql .= " and errores = $estado";
	}

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

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

		$iestado = '';
		$mfin = '-';
		
		$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;
		}

		$tiempo = '-';
		if (trim($row['segundos']) != '') {
			$tiempo = trim($row['segundos']) . ' Seg';
		}

		array_push($grid1, array(
			'zona' => $row['zona'],
			'pic' => trim($row['bulto']),
			'soporte' => trim($row['soporte']),
			'ola' => trim($row['ola']),
			'transportista' => trim($row['transportista']),
			'iestado' => $iestado,
			'estado' => $estado,
			'divisor' => $row['divisor'],
			'tfotos' => $row['total_fotos'],
			'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' => $tiempo
		));

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

		$resultados++;
	}

	$data1['grid1'] = $grid1;
	$data1['rutafotos'] = $rutafotos;
	$data1['rutavideos'] = $rutavideos;
	$data1['pics'] = $pics;
	$data1['resultados'] = $resultados;


	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;
}
