<?
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";



$extracampo=array();

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'>Paquete</h2>\n";	

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

	echo "<script language='JavaScript' type='text/javascript'>\n";
	if (!$lck[1]) echo "	frmvalidator.addValidation('c1','req','Ingrese Productor');\n";
	if (!$lck[2]) echo "	frmvalidator.addValidation('c2','req','Ingrese Hora de Llegada');\n";
	if (!$lck[3]) echo "	frmvalidator.addValidation('c3','req','Ingrese Hora de Salida');\n";
	if (!$lck[4]) echo "	frmvalidator.addValidation('c4','req','Ingrese Especie');\n";
	if (!$lck[6]) echo "	frmvalidator.addValidation('c6','req','Ingrese Pallets');\n";
	if (!$lck[7]) echo "	frmvalidator.addValidation('c7','req','Ingrese Puchos');\n";

	if (@!$lck[8]) echo "	frmvalidator.addValidation('c8','req','Ingrese Transportista Recepcion');\n";
	if (@!$lck[9]) echo "	frmvalidator.addValidation('c9','req','Ingrese Patente Recepcion');\n";

	if (@!$lck[10]) echo "	frmvalidator.addValidation('c10','req','Ingrese Transportista Despacho');\n";
	if (@!$lck[11]) echo "	frmvalidator.addValidation('c11','req','Ingrese Patente Despacho');\n";


	if (@!$lck[12]) echo "	frmvalidator.addValidation('c12','req','Ingrese Tipo de Envio');\n";
	if (@!$lck[13]) echo "	frmvalidator.addValidation('c13','req','Ingrese Pais');\n";		

	if (@!$lck[16]) echo "	frmvalidator.addValidation('c13','req','Ingrese Estado');\n";		
	if (@!$lck[17]) echo "	frmvalidator.addValidation('c13','req','Ingrese Ubicación');\n";	

	echo "</script>\n";
	}

?>
<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,0,0,0,0);
$boton=array("Iniciar","OK","","Borrar","DEL","","Cancelar","NO","");
$leyenda="Inicio de Proceso";

leerarreglo(&$c);

$clectura=$c;
$estado_codigo=$camaras_actual[$camara]["estado_actual"];

$id_paquete=@$_REQUEST["id_paquete"]+0;

$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, "");

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"];

//echo "accion $accion";
//echo "estado_codigo $estado_codigo";
switch ($accion) {

case "START":
	
	$leyenda="Ingreso de Paquete";
	
             //0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7
	$lck=array(0,0,0,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0);
	$boton=array("Agregar","OK","","Borrar","DEL","","Cancelar","NO","");

	if ($boton_tag!="OK") {			
		leerarreglo(&$c);
	} else {
				 //0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7
		$lck=array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
	}
	$c[14]=0;  // valores por defecto
	$c[15]=9998; // valores por defecto
	



	
	break;
case "MOD":

	$leyenda="Modificación de Paquete  Nº".($id_paquete);
	

	$lck=array(0,0,0,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0);
	$boton=array("Cambiar","OK","","Borrar","DEL","if (confirm('?Realmente quiere borrar este paquete?')) userform1.submit(); return false;","Cancelar","NO","");

	if ($boton_tag!="OK") {			
		$sql="SELECT id_paquete, productor, fecha_llegada, fecha_salida, id_especie, pallets,";
		$sql.="puchos, transportista_recepcion, transportista_despacho, patente_recepcion, ";
		$sql.="patente_despacho, id_tipo_envio, id_pais, id_estado_actual, id_ubicacion_actual ";
		$sql.="FROM pf_paquete where id_paquete=$id_paquete";
		$filas=array();
		$resultado=array();
		ejecutarsql($sql,&$filas,&$resultado);		
		$c[1]=mssql_result($resultado,0, "productor");
		$c[2]=mssql_result($resultado,0, "fecha_llegada");
		$c[3]=mssql_result($resultado,0, "fecha_salida");
		$c[4]=mssql_result($resultado,0, "id_especie");
		$c[6]=mssql_result($resultado,0, "pallets");
		$c[7]=mssql_result($resultado,0, "puchos");
		$c[8]=mssql_result($resultado,0, "transportista_recepcion");
		$c[10]=mssql_result($resultado,0, "transportista_despacho");
		$c[9]=mssql_result($resultado,0, "patente_recepcion");
		$c[11]=mssql_result($resultado,0, "patente_despacho");
		$c[12]=mssql_result($resultado,0, "id_tipo_envio");
		$c[13]=mssql_result($resultado,0, "id_pais");
		$c[16]=mssql_result($resultado,0, "id_estado_actual");
		$c[17]=mssql_result($resultado,0, "id_ubicacion_actual");
		$c[14]=$c[16];
		$c[15]=$c[17];


		
		
		
	} else {
		leerarreglo(&$c);
		$lck=array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1);
	}
	


	break;
} // accion
$resultado="";





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

$sql="select * from pf_productor order by nombre_productor";
$campo_texto="nombre_productor";
$campo_valor="id_productor";
$texto_defecto="--seleccione productor--";
generar_combo($sql,$campo_valor,$campo_texto,&$arreglo,$texto_defecto);


// $campos[0][0]=campocomboext("c1","Productor",30,$c[1],$arreglo,"spformRequired","www.google.cl","ok",$lck[1]);
$campos[0][0]=campoformulario("c1","Productor",93,$c[1],"spformRequired",$lck[1]);
$campos[0][1]=campoformulario("c2","Hora de Llegada",30,$c[2],"spformRequired",$lck[2],"CALENCLOCK");
$campos[1][1]=campoformulario("c3","Hora de Salida",30,$c[3],"spformRequired",$lck[3],"CALENCLOCK");



$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,&$arreglo,$texto_defecto);
$campos[0][2]=campocombo("c4","Especie",30,$c[4],$arreglo,"spformRequired",$lck[4]);
// $campos[1][2]=campoformulario("c5","Fecha Llegada",30,$c[5],"spformRequired",$lck[5],"CALENCLOCK");
$campos[0][3]=campoformulario("c6","Cantidad de Pallets",30,$c[6],"spformNoRequired",$lck[6]);
$campos[1][3]=campoformulario("c7","Cantidad de Puchos",30,$c[7],"spformNoRequired",$lck[7]);
$campos[0][4]=campoformulario("c8","Transportista Recep.",30,$c[8],"spformRequired",$lck[8]);
$campos[1][4]=campoformulario("c10","Transportista Desp.",30,$c[10],"spformRequired",$lck[10]);

$campos[0][5]=campoformulario("c9","Patente Recepcion",30,$c[9],"spformRequired",$lck[9]);
$campos[1][5]=campoformulario("c11","Patente Despacho",30,$c[11],"spformRequired",$lck[11]);

$arreglo=array();
$sql="select * from pf_tipo_envio order by descripcion_tipo_envio";
$campo_texto="descripcion_tipo_envio";
$campo_valor="id_tipo_envio";
$texto_defecto="--seleccione Tipo de Envio--";
generar_combo($sql,$campo_valor,$campo_texto,&$arreglo,$texto_defecto);
		
$campos[0][6]=campocombo("c12","Tipo de Envio",30,$c[12],$arreglo,"spformRequired",$lck[12]);


$arreglo=array();
$sql="select * from pf_paises order by prioridad,descripcion_pais";
$campo_texto="descripcion_pais";
$campo_valor="id_pais";
$texto_defecto="--seleccione pais--";
generar_combo($sql,$campo_valor,$campo_texto,&$arreglo,$texto_defecto);

$campos[1][6]=campocombo("c13","Pais",30,$c[13],$arreglo,"spformRequired",$lck[13]);

$arreglo=array();
$sql="select * from  pf_tipo_estado order by desc_tipo_estado";
$campo_texto="desc_tipo_estado";
$campo_valor="id_tipo_estado";
$texto_defecto="--seleccione estado--";

generar_combo($sql,$campo_valor,$campo_texto,&$arreglo,$texto_defecto);

$arreglo2=array();
$sql="SELECT     id_camara, nombre_camara
FROM         pf_camara
ORDER BY nombre_camara";
$campo_texto="nombre_camara";
$campo_valor="id_camara";
$texto_defecto="--seleccione Ubicación--";

generar_combo($sql,$campo_valor,$campo_texto,&$arreglo2,$texto_defecto);

array_shift($arreglo2);
array_shift($arreglo2);
array_unshift($arreglo2,"9998","-->RECEPCION" );
array_unshift($arreglo2,"",$texto_defecto );


$arreglo2[]="9999";
$arreglo2[]="-->DESPACHO";


$campos[0][7]=campocombo("c14","Estado Actual",30,$c[14],$arreglo,"spformRequired",$lck[14]);
$campos[1][7]=campocombo("c15","Ubicación Actual",30,$c[15],$arreglo2,"spformRequired",$lck[15]);
$campos[0][8]=campocombo("c16","Nuevo Estado",30,$c[16],$arreglo,"spformRequired",$lck[16]);
$campos[1][8]=campocombo("c17","Nueva Ubicación",30,$c[17],$arreglo2,"spformRequired",$lck[17]);


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


// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
$extracampo["titulo0"]="Historial";



		$sql="select * from pf_paquete_historial a,pf_tipo_estado b where a.id_paquete=$id_paquete and a.id_estado=b.id_tipo_estado order by a.id_paquete ";
		$total_camaras=0;
		$filas=0;
		
		$resultado="";
		ejecutarsql($sql,&$total_camaras,&$resultado);	
		if ($total_camaras) {
			for ($i=0;$i<$total_camaras;$i++) {
				
				$extracampo[0][0][$i]=campostatic("Fecha :",mssql_result($resultado,$i, "fecha"));
				$extracampo[0][1][$i]=campostatic("Estado :",mssql_result($resultado,$i, "desc_tipo_estado"));

			}
		} else {
			$extracampo[0][0][0]="&nbsp;";
			$extracampo[0][1][0]="&nbsp;";
		}





switch ($accion) {

case "START":
	// INICIO DEL PROCESO******************************************************************************
	switch($boton_tag) {
		case "DEL":
			$sql="delete from pf_paquete where id_paquete=$id_paquete ";
			$resultado=mssql_query($sql,$conn);
			echo mensajeformulario("Paquete eliminado","images/about.gif","El paquete numero $id_paquete ha sido eliminado del sistema.");

			break;
		case "OK":
			$sql="INSERT INTO pf_paquete ";			
			$sql.="(productor, fecha_llegada, fecha_salida, id_especie, pallets, puchos, transportista_recepcion, transportista_despacho, ";
			$sql.=" patente_recepcion, patente_despacho, id_tipo_envio, id_pais, id_estado_actual, id_ubicacion_actual) ";
			$sql.=" VALUES ('".$c[1]."', '".$c[2]."', '".$c[3]."', ".($c[4]+0).", ".($c[6]+0).", ".($c[7]+0).", '".$c[8]."', ";
			$sql.=" '".$c[10]."', '".$c[9]."', '".$c[11]."', ".($c[12]+0).", ".($c[13]+0).", ".($c[16]+0).", ";
			$sql.=" ".($c[17]+0).") ";



			
			
			$resultado=mssql_query($sql,$conn);

			$sql= 'select SCOPE_IDENTITY() AS last_insert_id';
			$filas=array();
			$resultado=array();
			ejecutarsql($sql,&$filas,&$resultado);		
			$last_insert_id=mssql_result($resultado,0, "last_insert_id");
			$id_paquete=$last_insert_id;
			
			$sql="delete from [pf_camara_paquete] where id_paquete=$id_paquete";
			ejecutarsql($sql,&$filas,&$resultado);				
			$sql="INSERT INTO [pf_camara_paquete] ([id_paquete],[id_camara] ,[estado_actual])
					VALUES ($id_paquete,".($c[17]+0).",".($c[16]+0).") ";
			ejecutarsql($sql,&$filas,&$resultado);				
			
			$sql=" INSERT INTO [prefrio].[dbo].[pf_paquete_historial]
           ([id_paquete],[fecha],[id_camara],[id_estado]) VALUES ( $last_insert_id ,'".$c[2]."', ".($c[17]+0).",".($c[16]+0).")  "; // 0 recepcion (estado)

			ejecutarsql($sql,&$filas,&$resultado);		
			
			echo mensajeformulario("Proceso Iniciado","images/about.gif","El proceso numero $last_insert_id ha iniciado.");
			break;
		default:
			echo mostrarformulario($titulo,$leyenda,$descripcion,$campos,$camposhidden,$boton,$numform=1,$resultado="",$resultadohtm="",$extracampo);
			validacion();
		break;			
	}		
	break;
CASE "MOD":
	// DETENER EL PROCESO******************************************************************************
	switch($boton_tag) {
		case "DEL":
			$sql="delete from pf_paquete where id_paquete=$id_paquete ";
			$resultado=mssql_query($sql,$conn);
			echo mensajeformulario("Paquete eliminado","images/about.gif","El paquete numero $id_paquete ha sido eliminado del sistema.");

			break;	
		case "OK":

		$sql="
		UPDATE [prefrio].[dbo].[pf_paquete]
   SET [productor] = '".$c[1]."'
      ,[fecha_llegada] = '".$c[2]."'
      ,[fecha_salida] = '".$c[3]."'
      ,[id_especie] = ".($c[4]+0)."
      ,[pallets] = ".($c[6]+0)."
      ,[puchos] = ".($c[7]+0)."
      ,[transportista_recepcion] = '".$c[8]."'
      ,[transportista_despacho] = '".$c[10]."'
      ,[patente_recepcion] = '".$c[9]."'
      ,[patente_despacho] = '".$c[11]."'
      ,[id_tipo_envio] =".($c[12]+0)."
      ,[id_pais] = ".($c[13]+0)."
      ,[id_estado_actual] =  ".($c[16]+0)."
      ,[id_ubicacion_actual] = ".($c[17]+0)."
 WHERE id_paquete=$id_paquete
		";


		
		

			$resultado=mssql_query($sql,$conn);


		$sql="update pf_camara_paquete set id_camara=$camara where id_paquete=$id_paquete ";
			
		$sql=" INSERT INTO [prefrio].[dbo].[pf_paquete_historial]
           ([id_paquete],[fecha],[id_camara],[id_estado]) VALUES ( $id_paquete ,'".$c[2]."',".($c[17]+0).",".($c[16]+0).")  "; // 0 recepcion (estado)

			ejecutarsql($sql,&$filas,&$resultado);	
			
			
			echo mensajeformulario("Proceso Modificado","images/about.gif","El paquete numero $id_paquete 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);	

			$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:
			
			echo mostrarformulario($titulo,$leyenda,$descripcion,$campos,$camposhidden,$boton,$numform=1,$resultado="",$resultadohtm="",$extracampo);
			validacion();
		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>
