<?
require_once('startinclude.php');

// aaaaaaaaaaaaa
$camara=parametro('camara',-1);
$ventanan=parametro('ventanan',0);
$iuniquev=$_SERVER['REMOTE_ADDR']."_pf_".$ventanan;
if ($camara==-1) {
	$camara=@apc_fetch($iuniquev);
} else {
	
	apc_store($iuniquev,$camara);
}
if ($camara==0) {
	$anterior_num=apc_fetch('numero_de_camaras');
} else {
	$anterior_num=$camara-1;
}
if ($camara==apc_fetch('numero_de_camaras')) {
	$despues_num=0;
} else {
	$despues_num=$camara+1;
}
$anterior_c="<a href='$phporigen.php?camara=".$anterior_num."&ventanan=$ventanan'>&lt;&lt;&lt;</a>&nbsp;&nbsp;&nbsp;";
$despues_c="&nbsp;&nbsp;&nbsp;<a href='$phporigen.php?camara=".($despues_num)."&ventanan=$ventanan'>&gt;&gt;&gt;</a>";

// aaaaaaaaaaaaaa

$boton_tag=parametro('boton_tag',"");
$accion=parametro('accion',"");
include "lib_form.php";
require_once "util_db.php";
include "lecturadb_slow.php";


ob_start();

$_SESSION["refreshpage"]=0;
$camaras_actual=array();
$camaras=array();
leer_camaras($camaras);
leer_camaras_actual($camaras_actual,1);

$num_proceso=$camaras_actual[$camara]["proceso_actual"];

echo cabecera("titulo",1);

$inicio_epoch=mktime("0","0","0","1","1","2005",0);
$hoy=(mktime()-$inicio_epoch)/60;
$methodpost=1; // USADO PARA EL LIMITE DE CAMPOS DEL IEXPLORER.

$titulo="<h2 align='left'>".$anterior_c.$camaras[$camara]["nombre_camara"].$despues_c."</h2>\n";	

function validacion() {
// validaciones..................................
global $lck;

echo "<script language='JavaScript' type='text/javascript'>\n";
if (!$lck[4]) echo "	frmvalidator.addValidation('c4','req','Ingrese periodo de mediciones');\n";
if (!$lck[5]) echo "	frmvalidator.addValidation('c5','req','Ingrese Origen');\n";
if (!$lck[6]) echo "	frmvalidator.addValidation('c6','req','Ingrese Destino');\n";
if (!$lck[11]) echo "	frmvalidator.addValidation('c11','req','Ingrese Operador Inicial');\n";
if (!$lck[8]) echo "	frmvalidator.addValidation('c8','req','Ingrese Condicion Inicial');\n";
if (@!$lck[18]) echo "	frmvalidator.addValidation('c18','req','Ingrese Operador Final');\n";
if (@!$lck[19]) echo "	frmvalidator.addValidation('c19','req','Ingrese Condicion Final');	\n";
if (!$lck[0]) echo "	frmvalidator.addValidation('c0','req','Ingrese Especie');\n";
if (!$lck[5]) echo "	frmvalidator.addValidation('c5','maxlen=20');\n";
if (!$lck[6]) echo "	frmvalidator.addValidation('c6','maxlen=20');\n";

echo "</script>\n";

}


function validaciond($num_recep) {
// validaciones..................................
global $lckd;
$prefijo="cd".$num_recep."_";

echo "<script language='JavaScript' type='text/javascript'>\n";
if (!$lckd[$num_recep][1]) echo "	frmvalidator.addValidation('".$prefijo."1','req','Ingrese Productor');\n";
if (!$lckd[$num_recep][2]) echo "	frmvalidator.addValidation('".$prefijo."2','req','Ingrese Hora de Llegada');\n";
if (!$lckd[$num_recep][3]) echo "	frmvalidator.addValidation('".$prefijo."3','req','Ingrese Hora de Salida');\n";
if (!$lckd[$num_recep][4]) echo "	frmvalidator.addValidation('".$prefijo."4','req','Ingrese Especie');\n";
if (@!$lckd[$num_recep][8]) echo "	frmvalidator.addValidation('".$prefijo."8','req','Ingrese Transportista Recepcion');\n";
if (@!$lckd[$num_recep][9]) echo "	frmvalidator.addValidation('".$prefijo."9','req','Ingrese Patente Recepcion');\n";
if (@!$lckd[$num_recep][10]) echo "	frmvalidator.addValidation('".$prefijo."10','req','Ingrese Transportista Recepcion');\n";
if (@!$lckd[$num_recep][11]) echo "	frmvalidator.addValidation('".$prefijo."11','req','Ingrese Patente Recepcion');\n";

if (@!$lckd[$num_recep][12]) echo "	frmvalidator.addValidation('".$prefijo."12','req','Ingrese Operador Final');\n";
if (@!$lckd[$num_recep][13]) echo "	frmvalidator.addValidation('".$prefijo."13','req','Ingrese Pais');\n";

echo "</script>\n";
}


function actualizar_tarja($a1="") {
	global $num_item,$camaras_actual,$camara,$hoy,$num_proceso;

	leerarreglofast($k,$num_item,"k"); // codigo_tarjeta
	leerarreglofast($ke,$num_item,"ke"); // envase
	leerarreglofast($kc,$num_item,"kc"); // check (este va por proceso no por tarja)
	leerarreglofast($kl,$num_item,"kl"); // ketiqueta
	leerarreglofast($kg,$num_item,"kg"); // kg.
	leerarreglofast($kn,$num_item,"kn"); // num cajas
	leerarreglofast($ki,$num_item,"ki"); // calibre
    leerarreglofast($kemb,$num_item,"kemb"); // embalaje


	
	// borramos las tarjas actuales asociadas al proceso.
	$datos=array($camaras_actual[$camara]["proceso_actual"],"*RESULTADO*");
	$nc=array('id_proceso','resultado');
	$tc=array('int','output');					
	ejecutarprocedimiento('borramos_tarjaxproceso',$datos,$nc,$tc);	

	for ($e=0;$e<$num_item;$e++) {
		if (!$k[$e]) {
			break;
		}
		// creamos la tarja
		$datos=array($k[$e],$hoy,$ke[$e]
			,$kl[$e],$kg[$e],$kn[$e],$ki[$e],$kemb[$e]
			,"*RESULTADO*");			
		$nc=array('codi_tarjeta','fecha_creacion','id_envase'
			,'etiqueta','kg','num_cajas','calibre','embalaje'
			,'resultado');
			
		/*
	@codi_tarjeta  varchar(25),
	@fecha_creacion  int,
	@id_envase smallint,
	@etiqueta varchar(200),
	@kg varchar(200),
	@num_cajas varchar(200),
	@calibre smallint,
	@embalaje varchar(200),
    @resultado nvarchar(200) OUTPUT
		 */
			
		$tc=array('vc200' //@codi_tarjeta  varchar(25),
        ,'int'  //@fecha_creacion  int,
        ,'int' // @id_envase smallint,
        ,'vc200' //@etiqueta varchar(200),
        ,'vc200' //@kg varchar(200),
        ,'vc200' //@num_cajas varchar(200),
        ,'int' // @calibre smallint,
        ,'vc200' //@embalaje varchar(200),
        ,'output' //@resultado nvarchar(200) OUTPUT
        );
		ejecutarprocedimiento('crear_tarja_inicial',$datos,$nc,$tc);	


		
		// y la asignamos al proyecto
		$datos=array($camaras_actual[$camara]["proceso_actual"],$k[$e],$hoy,$kc[$e],"*RESULTADO*");
		
		
		
		
		$nc=array('id_proceso','id_tarja','fecha','con_sensor','resultado');
		$tc=array('int','vc200','int','vc200','output');					
		ejecutarprocedimiento('crear_tarjaxproceso',$datos,$nc,$tc);	
		
	}			

}

?>
<SCRIPT LANGUAGE="JavaScript">
var tamlinea=6;
var maxlinea=50*3;

function actualizar(campo,prefijo) {
	var i;
	var ver1,ver2;
	var valorinicial=campo.selectedIndex;
	var largo=campo.id.length; // ke44 = largo=4
	var num=parseInt(campo.id.substring(2,largo)); // ke44 = 44.
	var inicio=num+1; // comenzamos en la linea siguiente a la ingresada.
	var e;
	var fin=100;
	
	//alert(campo.getAttribute("tag"));
	campo.setAttribute("tag",true);
	
	
	for (i=inicio; i<fin; i=i+1){
		
	 if (document.getElementById("k"+i)) {
		 
		 ver1 = document.getElementById("k"+i).value;
		 //alert(ver1);
		 
		 ver2 = document.getElementById(prefijo+i).getAttribute("tag");
		 //document.getElementById("p"+i).selectedIndex=valorinicial;
		 
		 if ( ver1!='' && ver2!='true' ) {		
			document.getElementById(prefijo+i).selectedIndex=valorinicial;		
		 } else {
			break;
		 }
	 }
	 //alert(ver1);
	 //alert(ver2);
	}
}

function actualizartexto(campo) {
	var i;
	var ver1,ver2;
	var valorinicial=document.getElementById(campo.id).value;
	var largo=campo.id.length;
	var num=parseInt(campo.id.substring(1,largo));
	
	var inicio_linea=parseInt(num / tamlinea)*tamlinea ;
	
	var delta=num-inicio_linea;
	var inicio=inicio_linea+tamlinea; // comenzamos en la linea siguiente a la ingresada.
	
	var e;
	var fin=inicio+tamlinea*maxlinea;
	
	//alert(document.getElementById(campo.id).value);
	
	campo.setAttribute("tag",true);
	
	for (i=inicio; i<fin; i=i+tamlinea){
		if (document.getElementById("k"+i)) {
			 e=i+delta;
			
			 ver1 = document.getElementById("k"+i).value;
			 //alert(ver1);
			 
			 ver2 = document.getElementById("k"+e).getAttribute("tag");
			 

			 if (ver1!='' && ver2!='true') {		
				document.getElementById("k"+e).value=valorinicial;		
			 } else {
				break;
			 }
		 }
	 
	 //alert(ver1);
	 //alert(ver2);
	}
}



</script>
	
	<body>
	
	
<?php

/*	echo "<div class=\"spformContent\" id=\"divformwait\"  style=\"visibility:visible\">\n";	
	echo "<p align=center><img src=\"images/wait_2.gif\"></img></p>";
	echo "<p align=center>Por favor espere...</p>";
	echo "</div>";
	*/
ob_flush();flush();
echo crear_tabla(850);

/*

1-Especie (combo - opcional)
2-Cantidad Pallets (text obligatorio)
3-Cantidad Puchos (text obligatorio)
4-Cantidad bins. (text obligatorio)
5-Mediciones (combo obligatorio)
5-origen
6-Destino.
7-Encargado.
8-envase
9-condicion.
10-fecha y hora de inicio.

*/

$campos="";
$camposhidden="";
$descripcion="";
$lck=array(0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0);
$boton=array("Iniciar","OK","","Cancelar","NO","");
$leyenda="Inicio de Proceso";

leerarreglo(&$c,31);

$clectura=$c;
$estado_codigo=$camaras_actual[$camara]["estado_actual"];
// $tarjas=array();
$tarjas = array_fill(0, 500, "");
$tarjase = array_fill(0, 500, "");
$tarjasc = array_fill(0, 500, "");

$tarjaseti = array_fill(0, 500, "");
$tarjaskg = array_fill(0, 500, "");
$tarjascajas = array_fill(0, 500, "");
$tarjascali = array_fill(0, 500, "");
$tarjasemb = array_fill(0, 500, "");

switch($estado_codigo) {
	case "V":$estadotxt="Libre"; break;
	case "H":$estadotxt="Detenido"; break;
	case "P":$estadotxt="En Proceso"; break;
	case "N":$estadotxt="Desabilitada"; break;
	default:$estadotxt="Desconocido"; break;
}


$num_item=$camaras[$camara]["maxpallet"];



$num_recep=1;
$num_tab=$num_recep+1;
$prefijo="cd".$num_recep."_";

$cd=array();
for ($i=0;$i<30;$i++) {
	$cd[$num_recep][$i]="";
	$lckd[$num_recep][$i]=0;
}


switch ($accion) {

case "START":
	
	$leyenda="Inicio de Proceso";

	$lck=array(0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1);
	$boton=array("Iniciar","OK","","Cancelar","NO","");

	if ($boton_tag!="NO") {			
		leerarreglo(&$c);
	} else {
		$c=array(0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1);
	}
	if ($estado_codigo!="V") {
		// si no esta activa entonces solo se puede ver.
		$boton=array("Aceptar","NO","");
		leer_proceso($c,$camaras_actual[$camara]["proceso_actual"]);
		leer_tarjaxproceso($tarjas,$tarjase,$tarjasc
			,$tarjaseti,$tarjaskg,$tarjascajas,$tarjascali,$tarjasemb
			,$camaras_actual[$camara]["proceso_actual"]);
		
		
		
		$lck=array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
	}

	
	
	$cd[1][14]=0;  // valores por defecto
	$cd[1][15]=9998; // valores por defecto

	$cd[1][17]=$camaras[$camara]["id_camara"];
	$lckd[1]=array(0,0,0,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,1,1);
	

	
	break;
case "MOD":

	switch ($estado_codigo) {	
		case "P":		
		case "H":		
			
			$leyenda="Modificar carga del Proceso N ".$num_proceso;
			$lck=array(1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
			$boton=array("Modificar","MOD","","Cancelar","NO","");
			if ($boton_tag=="MOD") {			
				// aqui ejecutamos el cambio de estado por lo tanto no leemos nada.
				//leer_proceso($c,$camaras_actual[$camara]["proceso_actual"]);
				//leer_tarjaxproceso($tarjas,$tarjase,$tarjasc,$camaras_actual[$camara]["proceso_actual"]);
			}
			
				// si no esta activa entonces solo se puede ver.
				$boton=array("Modificar","MOD","");
				leer_proceso($c,$camaras_actual[$camara]["proceso_actual"]);				
				
				leer_tarjaxproceso($tarjas,$tarjase,$tarjasc
					,$tarjaseti,$tarjaskg,$tarjascajas,$tarjascali,$tarjasemb
					,$camaras_actual[$camara]["proceso_actual"]);
			break;
		default:		
			// si no esta activa entonces solo se puede ver.
			$boton=array("Aceptar","NO","");
			leer_proceso($c,$camaras_actual[$camara]["proceso_actual"]);
			leer_tarjaxproceso($tarjas,$tarjase,$tarjasc
				,$tarjaseti,$tarjaskg,$tarjascajas,$tarjascali,$tarjasemb
				,$camaras_actual[$camara]["proceso_actual"]);
			$lck=array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
			break;
	} // estado_codigo
	break;
case "PAUSE":

	switch ($estado_codigo) {
		case "P":		
			
			$leyenda="Suspender el proceso numero ".$num_proceso;
			$lck=array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
			$boton=array("Suspender","HOLD","","Cancelar","NO","");
			//if ($boton_tag=="HOLD") {			
				// aqui ejecutamos el cambio de estado...
				
			leer_proceso($c,$camaras_actual[$camara]["proceso_actual"]);				
			leer_tarjaxproceso($tarjas,$tarjase,$tarjasc
				,$tarjaseti,$tarjaskg,$tarjascajas,$tarjascali,$tarjasemb
				,$camaras_actual[$camara]["proceso_actual"]);
			//}
			break;
		case "H":		
			
			$leyenda="Continuar el proceso detenido numero ".$num_proceso;
			$lck=array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
			$boton=array("Continuar","CONT","","Cancelar","NO","");
			
			if ($boton_tag) {
				actualizar_tarja();
			} else {
				leer_proceso($c,$camaras_actual[$camara]["proceso_actual"]);
				leer_tarjaxproceso($tarjas,$tarjase,$tarjasc
					,$tarjaseti,$tarjaskg,$tarjascajas,$tarjascali,$tarjasemb
					,$camaras_actual[$camara]["proceso_actual"]);
			
			}
			
			if ($boton_tag!="CONT") {			
				leer_proceso($c,$camaras_actual[$camara]["proceso_actual"]);
				leer_tarjaxproceso($tarjas,$tarjase,$tarjasc
					,$tarjaseti,$tarjaskg,$tarjascajas,$tarjascali,$tarjasemb
					,$camaras_actual[$camara]["proceso_actual"]);
			}
			break;
		default:		
			// si no esta activa entonces solo se puede ver.
			$boton=array("Aceptar","NO","");
			leer_proceso($c,$camaras_actual[$camara]["proceso_actual"]);
			leer_tarjaxproceso($tarjas,$tarjase,$tarjasc
				,$tarjaseti,$tarjaskg,$tarjascajas,$tarjascali,$tarjasemb
				,$camaras_actual[$camara]["proceso_actual"]);
			$lck=array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
			break;
	} // estado_codigo
	break;
CASE "STOP":
	$leyenda="Finalizar el proceso numero ".$num_proceso;
	switch ($estado_codigo) {
		case "P":	
			
			$lck=array(1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1);
			$boton=array("Finalizar","END","","Cancelar","NO","");
			leer_proceso($c,$camaras_actual[$camara]["proceso_actual"]);
			leer_tarjaxproceso($tarjas,$tarjase,$tarjasc
				,$tarjaseti,$tarjaskg,$tarjascajas,$tarjascali,$tarjasemb
				,$camaras_actual[$camara]["proceso_actual"]);
			break;
		default:
			// si no esta activa entonces solo se puede ver.
			$boton=array("Aceptar","NO","");
			leer_proceso($c,$camaras_actual[$camara]["proceso_actual"]);
			leer_tarjaxproceso($tarjas,$tarjase,$tarjasc
				,$tarjaseti,$tarjaskg,$tarjascajas,$tarjascali,$tarjasemb
				,$camaras_actual[$camara]["proceso_actual"]);
			$lck=array(1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1);
			break;
	}	// estado_codigo
	break;
} // accion
$resultado="";


$arreglo=array();
$sql="select * from pf_especies order by id_especie";
$campo_texto="nombre_especie";
$campo_valor="id_especie";
$texto_defecto="--seleccione especie--";
/*$campos[0]="";
$campos[1]="";
*/
generar_combo($sql,$campo_valor,$campo_texto,&$arregloespecie,$texto_defecto);


$sql="select * from pf_envase order by nombre_envase";
$campo_texto="nombre_envase";
$campo_valor="id_envase";
$texto_defecto="--seleccione tipo pallet--";
generar_combo($sql,$campo_valor,$campo_texto,&$arregloenvase,$texto_defecto);

$sql="select * from pf_calibre order by nombre_calibre";
$campo_texto="nombre_calibre";
$campo_valor="id_calibre";
$texto_defecto="--seleccione etiqueta--";
generar_combo($sql,$campo_valor,$campo_texto,&$arreglocalibre,$texto_defecto);

$campos[0][0]=campoformulario("c9","Fecha Inicio",30,$c[9],"",$lck[9]);
$campos[1][0]=campoformulario("c10","Fecha Ultimo Cambio",30,$c[10],"",$lck[10]);

$c[1]=0;
$c[2]=0;
$c[3]=0;
$c[7]=0;
$arreglo=array("","--Seleccione Mediciones--",1,"Cada 1 Minuto","2","Cada 2 Minutos","3","Cada 3 Minutos","5","Cada 5 Minutos",10,"Cada 10 Minutos",15,"Cada 15 Minutos",30,"Cada Media Hora",60,"Cada Hora",120,"Cada 2 horas");
$campos[0][1]=campocombo("c4","Mediciones",30,$c[4],$arreglo,"spformRequired",$lck[4]);
$campos[1][1]=campoformulario("c5","Origen",30,$c[5],"spformRequired",$lck[5]);
$campos[0][2]=campoformulario("c6","Destino",30,$c[6],"spformRequired",$lck[6]);


$campos[1][2]=campoformulario("cx","Estado",30,$estadotxt,"spformRequired",1);		
$campos[0][3]=campoformulario("c11","Operador Inicial",30,$c[11],"spformRequired",$lck[11]);		
$campos[0][4]=campoformulario("c8","Condicion Inicial",30,$c[8],"spformRequired",$lck[8],"AREA");		

$campos[0][5]=campocombo("c0","Especie",30,$c[0],$arregloespecie,"spformRequired",$lck[0]);


if ($accion=="STOP") {
	
	$campos[1][3]=@campoformulario("c18","Operador Final",30,trim($c[18]),"spformRequired",$lck[18]);		
	$campos[1][4]=@campoformulario("c19","Condicion Final",30,trim($c[19]),"spformRequired",$lck[19],"AREA");		
} else {
	$c[18]="";
	$c[19]="";
}



$camposhidden.=campohidden("accion",$accion);
$camposhidden.=campohidden("camara",$camara);
$camposhidden.=campohidden("ventanan",@$ventanan);

// ************************TAB2********************************************************************************
include "wproceso_vuelta.php";



// ************************TAB3********************************************************************************
include "wproceso_tarja.php";

// ************************TAB4********************************************************************************
//include "wproceso_recepcion.php";


switch ($accion) {

case "START":
	// INICIO DEL PROCESO******************************************************************************
	switch($boton_tag) {
		case "OK":
			$c[4]=($c[4]<1)?1:$c[4];
			$datos=array($hoy,$camaras[$camara]["id_camara"],"P",$c[4],$c[11]
				,$c[1],$c[2],$c[3],$c[5],$c[6]
				,$clectura[0],$c[7],$c[8]			
				,"*RESULTADO*","*RESULTADO*");
			$nc=array('in_fecha_inicio','in_id_camara','in_estado','in_frecuencia','in_creador_inicial'
				,'in_pallets','in_puchos','in_bins','in_origen','in_destino'
				,'in_id_especie','in_id_envase','in_condicion_inicial'
				,'out_id_proceso','resultado');
			$tc=array('int','int','vc200','int','vc200'
				,'int','int','int','vc200','vc200'
				,'int','int','vc200'
				,'outputi','output');
			
		
			ejecutarprocedimiento('crear_proceso',$datos,$nc,$tc);	
			$num_proceso=$datos[13];			
			$camaras_actual[$camara]["estado_actual"]="P";
			$camaras_actual[$camara]["proceso_actual"]=$num_proceso;
			apc_store_udt('camaras_actual',$camaras_actual);				
			

			// CREAMOS LAS TARJAS
			actualizar_tarja();
			
			
			echo mensajeformulario("Proceso Iniciado","images/about.gif","El proceso numero $num_proceso ha iniciado.");
			break;
		default:
			if ($estado_codigo!="V")
				echo mensajeformulario("Error","images/stop.gif","La camara esta en estado <b>$estadotxt</b> y por lo tanto no es posible iniciar un nuevo proceso.");
			echo mostrarformulario($titulo,$leyenda,$descripcion,$campos,$camposhidden,$boton,$numform=1,$resultado="",$resultadohtm="",$extracampo);
			validacion();
			//validaciond(1);
		break;			
	}		
	break;
case "PAUSE":
	// DETENER EL PROCESO******************************************************************************
	switch($boton_tag) {
		case "HOLD":		
			$datos=array($num_proceso,"H",$c[4]
				,$c[18],$c[19],$c[1],$c[2],$c[3]
				,"*RESULTADO*");
			$nc=array('in_proceso','in_estado','in_frecuencia'
				,'in_creador_final','in_condicion_final','in_pallets','in_puchos','in_bins'
				,'resultado');
			$tc=array('int','vc200','int'
				,'vc200','vc200','int','int','int'
				,'output');
			
			
			ejecutarprocedimiento('modificar_proceso',$datos,$nc,$tc);	
			$camaras_actual[$camara]["estado_actual"]="H";
			$camaras_actual[$camara]["proceso_actual"]=$num_proceso;
			apc_store_udt('camaras_actual',$camaras_actual);	
			if ($estado_codigo!="P" and $estado_codigo!="H")
				echo mensajeformulario("Error","images/about.gif","La camara esta en estado <b>$estadotxt</b> y por lo tanto no es posible detener el proceso.");
			
			echo mensajeformulario("Proceso Detenido","images/iconos/media_pause.gif","El proceso numero $num_proceso se ha detenido.");
			break;
		case "CONT":		
			$datos=array($num_proceso,"C",$c[4]
				,$c[18],$c[19],$c[1],$c[2],$c[3]			
				,"*RESULTADO*");
			$nc=array('in_proceso','in_estado','in_frecuencia'
				,'in_creador_final','in_condicion_final','in_pallets','in_puchos','in_bins'
				,'resultado');
			$tc=array('int','vc200','int'
				,'vc200','vc200','int','int','int'
				,'output');
			ejecutarprocedimiento('modificar_proceso',$datos,$nc,$tc);	
			$camaras_actual[$camara]["estado_actual"]="P";
			$camaras_actual[$camara]["proceso_actual"]=$num_proceso;
			apc_store_udt('camaras_actual',$camaras_actual);	
			if ($estado_codigo!="P" and $estado_codigo!="H")
				echo mensajeformulario("Error","images/about.gif","La camara esta en estado <b>$estadotxt</b> y por lo tanto no es posible reanudar el proceso.");			
			echo mensajeformulario("Proceso continuado","images/iconos/media_play.gif","El proceso numero $num_proceso ha continuado.");
			break;			
		default:
			echo mostrarformulario($titulo,$leyenda,$descripcion,$campos,$camposhidden,$boton,$numform=1,$resultado="",$resultadohtm="",$extracampo);
			validacion();
			//validaciond(1);
		break;			
	}		
	break;	
CASE "STOP":
	// DETENER EL PROCESO******************************************************************************
	switch($boton_tag) {
		case "END":		
			$datos=array($num_proceso,"F",$c[4]
				,$clectura[18],$clectura[19],$c[1],$c[2],$c[3]				
				,"*RESULTADO*");
			$nc=array('in_proceso','in_estado','in_frecuencia'
				,'in_creador_final','in_condicion_final','in_pallets','in_puchos','in_bins'
				,'resultado');
			$tc=array('int','vc200','int'
				,'vc200','vc200','int','int','int'
				,'output');
			ejecutarprocedimiento('modificar_proceso',$datos,$nc,$tc);	
			$camaras_actual[$camara]["estado_actual"]="V";
			$camaras_actual[$camara]["proceso_actual"]="0";
			apc_store_udt('camaras_actual',$camaras_actual);				
			echo mensajeformulario("Proceso Finalizado","images/about.gif","El proceso numero $num_proceso ha finalizado.");
			
		
			$_REQUEST['boton']=1;
			$_REQUEST["idproceso"]=$num_proceso;
			include "gencsv.php";
			
			break;
		default:
			if ($estado_codigo!="P") {
				if (!$num_proceso) {
					echo mensajeformulario("No es posible finalizar el proyecto","images/about.gif","No hay ningun proceso activo.");
				} else {
					echo mensajeformulario("No es posible finalizar el proyecto","images/about.gif","El proceso numero $num_proceso no se puede detener.");
				}
			} else {
				echo mostrarformulario($titulo,$leyenda,$descripcion,$campos,$camposhidden,$boton,$numform=1,$resultado="",$resultadohtm="",$extracampo);
				validacion();
				//validaciond(1);
			}
		break;			
	}		
	break;	
CASE "MOD":
	// DETENER EL PROCESO******************************************************************************
	switch($boton_tag) {
		case "MOD":
			$datos=array($num_proceso,$estado_codigo,$clectura[4]
				,$clectura[18],$clectura[19],$clectura[1],$clectura[2],$clectura[3]				
				,"*RESULTADO*");
			$nc=array('in_proceso','in_estado','in_frecuencia'
				,'in_creador_final','in_condicion_final','in_pallets','in_puchos','in_bins'
				,'resultado');
			$tc=array('int','vc200','int'
				,'vc200','vc200','int','int','int'
				,'output');
			ejecutarprocedimiento('modificar_proceso',$datos,$nc,$tc);	
			// CREAMOS LAS TARJAS
			actualizar_tarja();
			
			echo mensajeformulario("Proceso Modificado","images/about.gif","El proceso numero $num_proceso ha sido modificado.");			
			break;
		case "END":		
			$datos=array($num_proceso,"F",$c[4]
				,$c[18],$c[19],$c[1],$c[2],$c[3]				
				,"*RESULTADO*");
			$nc=array('in_proceso','in_estado','in_frecuencia'
				,'in_creador_final','in_condicion_final','in_pallets','in_puchos','in_bins'
				,'resultado');
			$tc=array('int','vc200','int'
				,'vc200','vc200','int','int','int'
				,'output');
			ejecutarprocedimiento('modificar_proceso',$datos,$nc,$tc);	
			
			// CREAMOS LAS TARJAS
			actualizar_tarja();
			
			$camaras_actual[$camara]["estado_actual"]="V";
			$camaras_actual[$camara]["proceso_actual"]="0";
			apc_store_udt('camaras_actual',$camaras_actual);				
			echo mensajeformulario("Proceso Finalizado","images/about.gif","El proceso numero $num_proceso ha finalizado.");
			break;
		default:
			if ($estado_codigo!="P" and $estado_codigo!="H") {
				if (!$num_proceso) {
					echo mensajeformulario("No es posible finalizar el proyecto","images/about.gif","No hay ningun proceso activo.");
				} else {
					echo mensajeformulario("No es posible finalizar el proyecto","images/about.gif","El proceso numero $num_proceso no se puede detener.");
				}
			} else {
				echo mostrarformulario($titulo,$leyenda,$descripcion,$campos,$camposhidden,$boton,$numform=1,$resultado="",$resultadohtm="",$extracampo);
				validacion();
				//validaciond(1);
			}
		break;			
	}		
	break;	
}
	



	/*
	1 2 3 9 10
CREATE procedure crear_proceso
       @in_fecha_inicio int, --
       @in_id_camara smallint, --
       @in_estado char(1), --
       @in_frecuencia smallint,4
       @in_creador varchar(100), 11
       @in_pallets int, 1
       @in_puchos int, 2
       @in_bins int, 3
       @in_origen varchar(50), 5
       @in_destino varchar(50), 6
       @in_id_especie smallint, 0
       @in_id_envase smallint, 7
       @in_condicion varchar(50), 8
       @out_id_proceso smallint OUTPUT,
       @resultado nvarchar(200) OUTPUT
			 

*/
echo finalizar_tabla();

?>	
</body>