<?php
session_start();
include('config.php');
include($rutaPhp.$rutaHtml.'/maqueta/includes.php');

include($rutaPhp.$rutaHtml.'/acceso/control.php');
include($rutaPhp.$rutaHtml.'/maqueta/arriba.php');

include($rutaPhp.$rutaHtml.'/librerias/teclado.php');
include($rutaPhp.$rutaHtml.'/librerias/teclado-multilinea.php');
include($rutaPhp.$rutaHtml.'/librerias/calculadora.php');
include($rutaPhp.$rutaHtml.'/librerias/calendario.php');

if($_GET['bascula']) $basculaUsada=$_GET['bascula'];

if($_SESSION['parametrosSGA']['ControlPesajeRecepcion']=='S') {


	//print_r(arreglaArrayPXMobileProxiumResult($_SESSION['parametrosSGA']['Basculas']));
	
	?>
	
	<h2>Descarga: pesaje de producto</h2>
	
    <p>Id palet:<br />
	<img src="<?php echo DIR_IMAGENES; ?>/teclado.png" alt="Mostrar teclado" class="iconoTeclado" id="tecladoContenedor" /><input name="contenedor" type="text" class="campo" id="contenedor" value="<?php echo $contenedor; ?>" style="width:460px"/>
	<img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" class="iconoBorrar boton-x" id="borrarContenedor"/>
	</p>
    
    <p>EAN/DUN:<br />
	<img src="<?php echo DIR_IMAGENES; ?>/teclado.png" alt="Mostrar teclado" class="iconoTeclado" id="tecladoProductoEAN" /><input name="productoEAN" type="text" class="campo" id="productoEAN" value="<?php echo $productoEAN; ?>" style="width:460px"/>
	<img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" class="iconoBorrar boton-x" id="borrarProductoEAN"/>
	</p>
    
    <p id="bloqueUnidades" class="sinMargen">Unidades:</p>
    <p id="bloqueUnidades" class="sinMargen" style="margin-left:146px;">
	<input name="unidades" type="text" class="campo cantidad" id="unidades" value="<?php echo $unidades; ?>" style="width:200px"/>
	<img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" class="iconoBorrar boton-x" id="borrarUnidades"/>
    <label style="margin-right:20px"><input type="checkbox" name="rotura" id="rotura" class="checkGrande" style="vertical-align:middle;margin-top:-5px;"/> Roturas</label>
	</p>
    
    <p>
    <label><input type="radio" name="destino" id="destinoUnidadesSueltas" value="U" class="checkGrande" style="vertical-align:bottom"/> Unidades sueltas a carro</label>
    <label><input type="radio" name="destino" id="destinoCaja" value="C" class="checkGrande" style="vertical-align:bottom"/> Meter en caja</label>
    </p>
    
    <div id="bloqueCaja" style="display:none">
        <p class="sinMargen">Id caja:</p>
        <p class="sinMargen" style="margin-left:176px;">
        <img src="<?php echo DIR_IMAGENES; ?>/teclado.png" alt="Mostrar teclado" class="iconoTeclado" id="tecladoCaja" /><input name="caja" id="caja" type="text" class="campo"  value="<?php echo $caja; ?>" style="width:460px"/>
        <img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" class="iconoBorrar boton-x" id="borrarCaja"/>
        <label style="margin-right:20px"><input type="checkbox" name="cerrarCaja" id="cerrarCaja" class="checkGrande" style="vertical-align:middle;margin-top:-5px;"/> Cerrar caja</label>
        </p>
    </div>
    
    <div id="bloqueUbicacion" style="display:none">
        <p>Ubicar en:<br />
        <img src="<?php echo DIR_IMAGENES; ?>/teclado.png" alt="Mostrar teclado" class="iconoTeclado" id="tecladoUbicacion" /><input name="ubicacion" id="ubicacion" type="text" class="campo"  value="<?php echo $caja; ?>" style="width:460px"/>
        <img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" class="iconoBorrar boton-x" id="borrarUbicacion"/>
        </p>
    </div>
	
<p>Báscula:<br />
	<select id="bascula" name="bascula" class="campo">
		<option value="">---</option>
		<?php foreach(arreglaArrayPXMobileProxiumResult($_SESSION['parametrosSGA']['Basculas']) as $bascula) { ?>
		<option value="<?php echo $bascula['BasculaCodigo']; ?>" <?php if($basculaUsada==$bascula['BasculaCodigo']) { ?>selected<?php } ?>><?php echo $bascula['BasculaDescripcion']; ?></option>
		<?php } ?>
	</select>
	</p>
		
	
		
	<script>
	
	function validaPesaje() {
	
		console.log('tipoPesaje: '+$('input[type=radio][name=tipoPesaje]:checked').val());
		console.log('unidades: '+$('#unidades').val());
	
		$('.campo').removeClass('campoError');
	
		if( !$('#contenedor').val() ) {
			alert('Es obligatorio informar el palet.',$('#contenedor'),'error');
			$('#contenedor').addClass('campoError');
			return false;
		}
		if( !$('#productoEAN').val() ) {
			alert('Es obligatorio leer el EAN del producto.',$('#productoEAN'),'error');
			$('#productoEAN').addClass('campoError');
			return false;
		}
		if( $('input[type=radio][name=tipoPesaje]:checked').val()=='C' && !$('#unidades').val() ) {
			alert('Para el pesaje de una caja, es impresincible<br>informar el número de unidades que contiene.',$('#unidades'),'error');
			$('#unidades').addClass('campoError');
			return false;
		}
		else if( !$('#bascula').val() ) {
			alert('Por favor, selecciona la báscula en la que vas a pesar el palet.',$('#bascula'),'error');
			$('#bascula').addClass('campoError');
			return false;
		}
		else return true;
	
	}
	
	var deferredPesaje;
	
	function pesaje(contenedor,bascula,iteracion) { 
	
		deferredPesaje = new $.Deferred();
		
		var codigoRespuesta;
	
		$.post('contenidos/entradas-descarga-producto-pesaje-pesar.php', { 'palet' : $('#contenedor').val() , 'ean' : $('#productoEAN').val() , 'tipo' : $('input[type=radio][name=tipoPesaje]:checked').val() , 'unidades' : $('#unidades').val() , 'bascula' : $('#bascula').val() })
		.done(function(data){
		
			console.log('Datos '+iteracion+'ª iteración: '+data);
			
			var valores=data.split('#');
			codigoRespuesta=valores[0];
			
			if(codigoRespuesta=='1' || codigoRespuesta=='0') {
			
				deferredPesaje.resolve( data );
			
			}
			else if(codigoRespuesta=='2' || codigoRespuesta=='') {
			
				pesaje(contenedor,bascula,2)
				.done(function(data){
				
					var valores=data.split('#');
					codigoRespuesta=valores[0];
					
					if(codigoRespuesta=='1' || codigoRespuesta=='0') {
					
						deferredPesaje.resolve( data );
					
					}
					else if(codigoRespuesta=='2' || codigoRespuesta=='') {
					
						pesaje(contenedor,bascula,3)
						.done(function(data){
						
							var valores=data.split('#');
							codigoRespuesta=valores[0];
							
							if(codigoRespuesta=='1' || codigoRespuesta=='0') {
							
								deferredPesaje.resolve( data );
							
							}
							else {
							
								deferredPesaje.resolve( '1#Error desconocido.' );
							
							}
									
						});
					
					}
							
				});
			
			}
			
		
		});
		
		return deferredPesaje.promise();
	}
	
	$(document).ready(function() {
	
		$('#contenedor').on('change',function(){
			if($('#productoEAN').val()=='') $('#productoEAN').focus();
		});
		
		$('#productoEAN').on('change',function(){
			if($('#contenedor').val()=='') $('#contenedor').focus();
		});
	
		$('input[type=radio][name=destino]').on('click',function() {
			if ($(this).val()=='C') {
				$('#bloqueCaja').show();
				$('#caja').focus();
			}
			else {
				if($('#rotura').is(':checked')) {
					$("input[type='radio'][name='destino'][value='C']").prop('checked',true);
					alert('No se pueden enviar unidades rotas sueltas a carro.',null,'error');
				}
				else {
					$('#caja').val('');
					$('#bloqueCaja').hide();
				}
			}
		});
		
		$('#rotura').on('click',function(){
			if($(this).is(':checked')) {
				$("input[type='radio'][name='destino'][value='C']").prop('checked',true);
				$('#bloqueCaja').show();
				$('#caja').focus();
			}
		});
		
		$('#cerrarCaja').on('click',function(){
			if($(this).is(':checked')) {
				$('#bloqueUbicacion').show();
				$('#ubicacion').focus();
			}
			else {
				$('#ubicacion').val('');
				$('#bloqueUbicacion').hide();
			}
			
		});
	
		$('#botonAceptarPesaje').on('click',function(){
		
			if( validaPesaje() ) {
			
				var contenedor=$('#contenedor').val();
				var bascula=$('#bascula').val();
				
				console.log('-----------------------');
				console.log('Comienza pesaje');
		
				mostrarCargando(true,true,'Esperando a la báscula...'); //Nuevo metodo mostrarCargando con boton de cancelar
		
				pesaje(contenedor,bascula,1) 
				.done(function(data){
				
					console.log('Datos finales: '+data);
					
					var valores=data.split('#');
					codigoRespuesta=valores[0];
					contenidoRespuesta=valores[1];
				
					if(codigoRespuesta=='1') {
					
						mostrarCargando(false,false);
						
						alert('ERROR: '+valores[1],null,'error');
					
					}
					else if(codigoRespuesta=='0') {
					
						mostrarCargando(false,false);
						
						var contenido=contenidoRespuesta.split(';');
						
						console.log('contenido final a evaluar: '+contenidoRespuesta);
						console.log(contenido);
						
						var ok=(contenido[0]=='S');
						var pesoProxium=parseFloat(contenido[1]).toFixed(3);
						var pesoBascula=parseFloat(contenido[2]).toFixed(3);

						if( $('input[type=radio][name=tipoPesaje]:checked').val()=='C' ) { //Se ha pesado caja
						
							if(ok) {
							
								alert('Pesaje correcto.<br>Por favor, ubica la caja.',null,'ok');
								
							}
							else {
							
								confirm('Atención: El peso obtenido en la báscula ('+pesoBascula+') para esta caja<br>no coincide con el peso calculado por el sistema ('+pesoProxium+').<br><br>Redefine el peso individual del producto y vuelve a intentarlo','error');
								
							}
						
						}
						else { //Se ha pesado unidad
						
							if(ok) {
							
								$('#popupCargando').show();
								window.location='entradas-descarga-producto-pesaje.php?bascula='+bascula;
								
							}
							else {
							
								confirm('Atención: El peso obtenido en la báscula ('+pesoBascula+') para este producto<br>no coincide con el peso informado en el sistema ('+pesoProxium+').<br><br>¿Deseas asignar el nuevo pesaje en la ficha de producto<br>y reemplazar el anterior?','advertencia')
								.done(function(){
								
									//AQUI VA EL OTRO WEB SERVICE QUE CONFIRMA, INFORMA Y GRABA PESOS
									
								});
								
							}
						
						} 
						
					}
				
				});
					
				
				
			}
			
		});
		
		$('#botonCancelarPesaje').on('click',function(){
		
			$('#popupCargando').show();
			window.location='entradas-descarga-producto-pesaje.php';
			
		});
		
		$('.iconoTeclado').on('click',function(e) {	
		
			var campo=$(this).siblings('input');
		
			$('#teclado').show();
			$('#valor').val( campo.val() );
			$('#valorOculto').val( campo.val() );
			$('#enter').attr('campoValor',campo.attr('id') );
			$('#enter').attr('forzarEnter','no');
			
		});
		
		$('.iconoBorrar').on('click',function(e) {	
		
			var campo=$(this).siblings('input');
		
			campo.val('');
			campo.focus();
			
		});
		
		$('.cantidad').on("click",function(e) {
		
			$('#calculadora').show();
			$('#valorCalculadora').val( $(this).val() );
			$('#enterCalculadora').attr('campoValor',$(this).attr('id'));
		
		});
		
		
	
		
		$('#contenedor').focus();
	
	});
	
	</script>
	
	<?php
	include($rutaPhp.$rutaHtml.'/maqueta/menu-descarga-producto.php');
	
}
else include($rutaPhp.$rutaHtml.'/maqueta/error.php');

include($rutaPhp.$rutaHtml.'/maqueta/abajo.php');
?>
