<?php
require('startinclude.php');
include "lecturadb.php";
include "lecturadb_slow.php";

$type=strtolower(@$_GET['type']);

if (!$type) {
    showHelp();
    die(1);
}

switch ($type) {
    case 'proceso':
        $idProceso=@$_GET['id'];
        if (!$idProceso) {
            showHelp();
            die(1);
        }
        $arr=array();
        leer_proceso(&$arr,$idProceso);
        header('Content-Type: application/json');
        echo json_encode($arr);
        break;
    case 'tarja':
        $idProceso=@$_GET['id'];
        if (!$idProceso) {
            showHelp();
            die(1);
        }
        $arr=array();
        $envase=array();
        $pinchado=array();
        $eti=array();
        $kg=array();
        $cajas=array();
        $calib=array();
        leer_tarjaxproceso(&$arr, &$envase, &$pinchado, &$eti, &$kg, &$cajas, &$calib, $idProceso);
        $tarjas=array();
        for($i=0;$i<count($arr);$i++) {
            $tarjas[$i]['id']=$arr[$i];
            $tarjas[$i]['envase']=$envase[$i];
            $tarjas[$i]['pinchado']=$pinchado[$i];
            $tarjas[$i]['eti']=$eti[$i];
            $tarjas[$i]['kg']=$kg[$i];
            $tarjas[$i]['cajas']=$cajas[$i];
            $tarjas[$i]['calibre']=$calib[$i];
        }
        header('Content-Type: application/json');
        echo json_encode($tarjas);
        break;
    case 'temperatura':
        $idProceso=@$_GET['id'];
        if (!$idProceso) {
            showHelp();
            die(1);
        }
        $tabla=array();
        leer_temp_pdf3(&$tabla, 0, $idProceso, 0, 0);
        header('Content-Type: application/json');
        echo json_encode($tabla);
        break;
	case 'actual':
		$camaras=array();
		leer_camaras(&$camaras);
        header('Content-Type: application/json');
        echo json_encode($camaras);		
		break;

}

function leer_temp_pdf3(&$tabla, $n_camara, $n_proceso, $inicio, $fin) {
	//,$n_rango,$rango_minimo=999,$rango_maximo=555,$numvalores=30
	//global $titulowin,$id_camara,$totalcamaras,$nsensores;
	global $camaras;
	global $tabla_leyenda;
	$t1 = microtime(true);
	// se genera si o si, aunque existe en la memoria.
	$tabla = array ();
	$inicio_epoch = mktime("0", "0", "0", "1", "1", "2005", 0);
	$epoch1 = cnvdateepoch($inicio);
	$epoch2 = cnvdateepoch($fin);
	if ($n_proceso) {
		$sql = "	SELECT * FROM pf_historico_proceso a,PF_SENSORXproceso B ";
		$sql .= " WHERE A.proceso=B.id_proceso ";
		$condicion_adicional = " and a.proceso=$n_proceso ";
	} else {
		$sql = "	SELECT * FROM pf_historico a,PF_SENSORxcamara B ";
		$sql .= " WHERE A.camara=B.id_camara ";
		$condicion_adicional = " and a.camara=".$camaras[$n_camara]["id_camara"] . " ";
	}
	if ($epoch1) {
		@$sql .= "and fecha>=$epoch1 and fecha<=$epoch2 ";
	}
	$sql .= "AND A.sensor=B.LecturaDirModulo ";
	$sql .= "AND a.sensor_tipo=B.LecturaDirTipo ";
	$sql .= @$condicion_adicional . " ";
	$sql .= " ORDER BY FECHA ASC,b.orden, a.SENSOR,a.sensor_tipo ";
	$filas = 0;
	$resultado = "";
	ejecutarsql($sql, &$filas, &$resultado);
	if (!$filas) {
		return;
	}
	$tchar = "";
	$maxima_v = -555;
	$minima_v = 555;
	$estado = 0;
	$num_temp = $filas;
	$fec_anterior = -55;
	$x = 0;
	$y = 0; // sensores (y=0 es el eje x)
	// determinas la cantidad de sensores que trabajan en este sistema..
	$fec_anterior = mssql_result($resultado, 0, "FECHA");
	$num_sensores = 1;
	$num_sensores = $filas;
	for ($e = 0; $e < $filas; $e++) {
		$tabla_leyenda[$e] = mssql_result($resultado, $e, "Nombre_modulo");
		$mo = mssql_result($resultado, $e, "FECHA");
		if ($mo != $fec_anterior) {
			$num_sensores = $e;
			break;
		}
	}
	$fec_anterior = -55;
	// determinas la cantidad de saltos que deben haber.
	$num_columnas = floor($num_temp / $num_sensores); // numero de columnas (mediciones).
	$saltov = 1;
	$g = 0;
	for ($i = 0; $i < $num_columnas; $i = $i + $saltov) {
		for ($e = 0; $e < $num_sensores; $e++) {
			$e2 = $e + 1;
			$f = $e + ($i * $num_sensores);
			// leemos la dupla... (el sistema se desestabilizara si no hay dupla pero ya estamos asegurados de antes.
			$mm = mssql_result($resultado, $f, "sensor_tipo");
			$mo = mssql_result($resultado, $f, "sensor");
			$vv = mssql_result($resultado, $f, "valor");
			//$fec=mssql_result($resultado,$e, "FECHA");
			$id_status = mssql_result($resultado, $e, "id_status");
			if ($e == 0) {
				$tabla[$g][0] = date('j-m-y G:i', $inicio_epoch + (@mssql_result($resultado, $f, "fecha") * 60));
			}
			$vtabla = ($vv == -666) ? "OUT" : $vv / 10;
			$tabla[$g][$e2] = ($vtabla == -55.5) ? "NC" : $vtabla;
		}
		$g++;
	}
	$t2 = microtime(true);
}


function showHelp() {
    ?>
    <style type="text/css">
        .tg  {border-collapse:collapse;border-spacing:0;border-color:#999;}
        .tg td{font-family:Arial, sans-serif;font-size:14px;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#999;color:#444;background-color:#F7FDFA;}
        .tg th{font-family:Arial, sans-serif;font-size:14px;font-weight:normal;padding:10px 5px;border-style:solid;border-width:1px;overflow:hidden;word-break:normal;border-color:#999;color:#fff;background-color:#26ADE4;}
        .tg .tg-yw4l{vertical-align:top}
        .tg .tg-6k2t{background-color:#D2E4FC;vertical-align:top}
    </style>
    <table class="tg">
        <tr>
            <th class="tg-yw4l">Comando<br></th>
            <th class="tg-yw4l">Sintaxis</th>
            <th class="tg-yw4l">Descripcion<br></th>
        </tr>
        <tr>
            <td class="tg-6k2t">proceso</td>
            <td class="tg-6k2t">webservice.php?type=proceso&amp;id=xxx</td>
            <td class="tg-6k2t">Lee un proceso con numero xxx<br></td>
        </tr>
        <tr>
            <td class="tg-yw4l">tarja</td>
            <td class="tg-yw4l">webservice.php?type=tarja&amp;id=xxx</td>
            <td class="tg-yw4l">Lee las tarjas de un proceso de numero xxx<br></td>
        </tr>
        <tr>
            <td class="tg-6k2t">temperatura</td>
            <td class="tg-6k2t">webservice.php?type=temperatura&amp;id=xxxx</td>
            <td class="tg-6k2t">Lee las temperaturas de un proceso de numero xxx<br></td>
        </tr>
		<tr>
            <td class="tg-6k2t">actual</td>
            <td class="tg-6k2t">webservice.php?type=actual</td>
            <td class="tg-6k2t">Regresa las camaras actuales y sus temperaturas<br></td>
        </tr>
    </table>

    <?
}


?>