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

$traza=(isset($_GET['traza']) && $_GET['traza']=='si');

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


$gestionLineas=($_SESSION['parametrosSGA']['GestionLineasTrabajo']=='S');
$gestionTurnos=($_SESSION['parametrosSGA']['GestionTurnosTrabajo']=='S');
$FichajesActividadesVarias=($_SESSION['parametrosSGA']['FichajesActividadesVarias']=='S');
$FichajesActivodEnTransformacion=($_SESSION['parametrosSGA']['FichajesActivodEnTransformacion']=='S');



$confirmarFichaje=( (isset($_POST['confirmarFichaje']) && $_POST['confirmarFichaje']=='1') || (isset($_GET['confirmarFichaje']) && $_GET['confirmarFichaje']=='1') );


if($FichajesActividadesVarias || $FichajesActivodEnTransformacion) {


	if($gestionTurnos) {
	
		$_SESSION['turnos']=arreglaArrayPXMobileProxiumResult($_SESSION['parametrosSGA']['ListaDeTurnosOperarios']);
	
	}
	
	//ini_set('display_errors', 1);
	//ini_set('display_startup_errors', 1);
	//error_reporting(E_ALL);
	
	
	if($confirmarFichaje) {
	
		//echo '<p>Confirmar fichaje</p>';
		
		if(isset($_GET['procedencia']) && $_GET['procedencia']) $procedencia=$_GET['procedencia']; else $procedencia='';
		
		switch($procedencia) {
		
			case 'transformacion':
				$urlVolver='operacion-logistica-transformacion.php?'.$_SESSION['operacion']['parametrosActuales'];
				break;
			default:
				$urlVolver='';
		}
	
		
		if(isset($_POST['cadenaOperarios']) && $_POST['cadenaOperarios']) $cadenaOperarios=$_POST['cadenaOperarios']; else if(isset($_GET['cadenaOperarios']) && $_GET['cadenaOperarios']) $cadenaOperarios=$_GET['cadenaOperarios'];
		if(isset($_POST['actividad']) && $_POST['actividad']) $actividad=$_POST['actividad']; else if(isset($_GET['actividad']) && $_GET['actividad']) $actividad=$_GET['actividad'];
		if(isset($_POST['proceso']) && $_POST['proceso']) $proceso=$_POST['proceso']; else if(isset($_GET['proceso']) && $_GET['proceso']) $proceso=$_GET['proceso']; //INICIO o FIN
		
		if(isset($_POST['operacion']) && $_POST['operacion']) $operacion=$_POST['operacion']; else if(isset($_GET['operacion']) && $_GET['operacion']) $operacion=$_GET['operacion']; else $operacion=''; //En las transformaciones, es el num de orden
		if(isset($_POST['tipoOperacion']) && $_POST['tipoOperacion']) $tipoOperacion=$_POST['tipoOperacion']; else if(isset($_GET['tipoOperacion']) && $_GET['tipoOperacion']) $tipoOperacion=$_GET['tipoOperacion']; else $tipoOperacion=''; //ACTIVIDADES GENERICAS el tipo es vacío
		
		if(isset($_POST['turno']) && $_POST['turno']) $turno=$_POST['turno']; else if(isset($_GET['turno']) && $_GET['turno']) $turno=$_GET['turno']; else $turno='';
		if(isset($_POST['linea']) && $_POST['linea']) $linea=$_POST['linea']; else if(isset($_GET['linea']) && $_GET['linea']) $linea=$_GET['linea']; else $linea='';

		

		if($proceso=='INICIOFIN') { /// ATENCION!!! ESTO INICIALMENTE NO LO USAREMOS, SE HACE AUTOMATICMANETE EN EL CIERRE DE PALET DE TRANSF. Podría dar error el inicio posterior al fin
		
			if(isset($_POST['cadenaOperariosInicial']) && $_POST['cadenaOperariosInicial']) $cadenaOperariosInicial=$_POST['cadenaOperariosInicial']; else if(isset($_GET['cadenaOperariosInicial']) && $_GET['cadenaOperariosInicial']) $cadenaOperariosInicial=$_GET['cadenaOperariosInicial'];
			
			$peticion='RealizarFichajeUsuario#'.$_SESSION['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#'.$operacion.'#'.$tipoOperacion.'#FIN#'.$cadenaOperariosInicial.'#'.$turno.'#'.$linea.'#'.$actividad;
			$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);
			
			if($traza) {
				echo '<p>'.$peticion.'</p>';
				print_r($resultado);
			}
			
			$evaluar=explode('#',$resultado[0]['Error']);
			
			if($evaluar[0]=='1') {
			
				?>
				<script>
					alert('ERROR: <?php echo $evaluar[1]; ?>',null,'error')
					.done(function(){
						<?php if($urlVolver) { ?>
						$('#popupCargando').show();
						window.location='<?php echo $urlVolver; ?>';
						<?php } ?>
					});
				</script>
				<?php
			
			}
			else {
			
				$proceso='INICIO';
				$continuar=true;
			
			}
		
		}
		else $continuar=true;

		
		$continuar=true;
		
		if($continuar) {
		
			$peticion='RealizarFichajeUsuario#'.$_SESSION['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#'.$operacion.'#'.$tipoOperacion.'#'.$proceso.'#'.$cadenaOperarios.'#'.$turno.'#'.$linea.'#'.$actividad;
			$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);
			
			if($traza) {
				echo '<p>'.$peticion.'</p>';
				print_r($resultado);
			}
			
			$evaluar=explode('#',$resultado[0]['Error']);
			
			if($evaluar[0]=='1') {
			
				?>
				<script>
					alert('ERROR: <?php echo $evaluar[1]; ?>',null,'error')
					.done(function(){
						<?php if($urlVolver) { ?>
						$('#popupCargando').show();
						window.location='<?php echo $urlVolver; ?>';
						<?php } ?>
					});
				</script>
				<?php
			
			}
			else {
			
				?>
				<script>
					alert('<?php echo $evaluar[1]; ?>',null,'ok')
					.done(function(){
						<?php if($urlVolver) { ?>
						$('#popupCargando').show();
						window.location='<?php echo $urlVolver; ?>';
						<?php } ?>
					});
				</script>
				<?php
				
				unset($cadenaOperarios);
				unset($actividad);
				unset($proceso);
				unset($turno);
			
			}
	
		}
	
	}
	else {
	
		//ESTO SOLO OCURRIRÁ EN GENERICOS
	
		if(isset($_GET['cadenaOperarios']) && $_GET['cadenaOperarios']) $cadenaOperarios=$_GET['cadenaOperarios']; else $cadenaOperarios=NULL;
		if(isset($_GET['actividad']) && $_GET['actividad']) $actividad=$_GET['actividad']; else $actividad=NULL;
		if(isset($_GET['proceso']) && $_GET['proceso']) $proceso=$_GET['proceso']; else $proceso=NULL;
		if(isset($_GET['turno']) && $_GET['turno']) $turno=$_GET['turno']; else $turno=NULL;
		
		//echo '<p>cadenaOperarios: '.$cadenaOperarios.'</p>';
		
	}
	
	$tipoOperacion=''; //ACTIVIDADES GENERICAS
	
	$peticion='ListaDeActividadesOperacion#'.$_SESSION['empresa'].'#'.$tipoOperacion;
	$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);
		
	if($traza) {
		echo "<p>".$peticion."</p>";
		print_r($resultado);
	}
	
	$_SESSION['fichaje']['actividades']=arreglaArrayPXMobileProxiumResult($resultado[0]['ListaActividades']);
	
	if($cadenaOperarios) {
	
		//$operariosSeleccionados=explode(',',base64_decode($operariosCodificado)); //POR GET NO SE PUEDE PASAR BASE64 PORQUE PUEDE CONTENER ==
		$operariosSeleccionados=explode(';',$cadenaOperarios);
		
		if(isset($_GET['eliminar']) && $_GET['eliminar']) $eliminar=$_GET['eliminar']; else $eliminar=NULL;
		
		if($eliminar) {
			$temp=array();
			$nuevaCadena='';
			foreach($operariosSeleccionados as $item) if($item!=$eliminar) {
				$temp[]=$item;
				if($nuevaCadena!='') $nuevaCadena.=';';
				$nuevaCadena.=$item;
			}
			$operariosSeleccionados=$temp;
			$cadenaOperarios=$nuevaCadena;
		}
		
		$peticion='ListaDeOperariosFichajes#'.$_SESSION['empresa'];
		$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);
			
		if($traza) {
			echo "<p>".$peticion."</p>";
			print_r($resultado);
		}
		
		$operarios=arreglaArrayPXMobileProxiumResult($resultado[0]['ListaOperarios']);
	
	}
	else $operariosSeleccionados=NULL;
	
	
	if(!$urlVolver) {
	
	?>
	<h2>Fichajes de actividades varias</h2>
	
	<form id="formularioFichajes" name="formularioFichajes" method="post" action="">
	
		<p>Actividad:
		<br />
		<select name="actividad" id="actividad" class="campo campoFichaje">
		<?php
		if(count($_SESSION['fichaje']['actividades'])>1) { 
			?><option value="">---</option><?php
		}
		foreach($_SESSION['fichaje']['actividades'] as $item) {
			?><option value="<?php echo $item['CodigoActividad']; ?>" <?php if($actividad==$item['CodigoActividad']) { ?>selected<?php } ?>><?php echo $item['NombreActividad']; ?></option><?php
		}
		?>
		</select>
		</p>
		
		<p>Proceso:
		<br />
		<select name="proceso" id="proceso" class="campo campoFichaje">
			<option value="">---</option>
			<option value="INICIO" <?php if($proceso=='INICIO') { ?>selected<?php } ?>>Iniciar fichaje</option>
			<option value="FIN" <?php if($proceso=='FIN') { ?>selected<?php } ?>>Finalizar fichaje</option>
		</select>
		</p>
		
		<?php if($gestionTurnos) { ?>
					
			<p <?php if($proceso!='INICIO') { ?>style="display:none"<?php } ?> id="bloqueTurno">Turno de Trabajo:<br />
			  <select name="turno" id="turno" class="campo">
				<option value="" selected>Seleccionar...</option>
				<?php foreach ($_SESSION['turnos'] as $item) { ?>
				<option value="<?php echo $item['Codigo']; ?>" <?php if($turno==$item['Codigo']) { ?>selected<?php } ?>><?php echo $item['Descripcion']; ?></option>
				<?php } ?>
			  </select>
			</p>
		
		<?php } ?>
		
		<?php if($operariosSeleccionados) { ?>
		
			<div id="bloqueOperarios">
		
				<p>Operarios seleccionados:</p>
				
				<table class="tablaFormateada">
					<tr>
						<th>Nombre</th>
						<th>Empresa</th>
						<th>Eliminar</th>
					</tr>
					
					<?php foreach($operarios as $operario) { ?>
					
						<?php if( in_array($operario['CodigoUsuario'],$operariosSeleccionados) ) { ?>
					
							<tr codigoUsuario="<?php echo $operario['CodigoUsuario']; ?>" style="font-size:1.2em;" >
								<td style="text-align:left"><?php echo $operario['NombreCompleto']; ?></td>
								<td><?php echo $operario['NombreEmpresaContratante']; ?></td>
								<td><a href="fichajes.php?operarios=<?php echo $cadenaOperarios; ?>&actividad=<?php echo $actividad; ?>&proceso=<?php echo $proceso; ?>&eliminar=<?php echo $operario['CodigoUsuario']; ?>" class="mostrarCargando"><img src="img_nx/papelera.png" width="30" height="30" /></a></td>
							</tr>
						
						<?php } ?>
					
					<?php } ?>
					
				</table>
			
			</div>
		
		<?php } ?>
		
		<p><input type="button" name="botonOperarios" id="botonOperarios" value="Seleccionar operarios" class="boton <?php if($operariosSeleccionados) { ?>reducido<?php } ?>"/></p>
		
		
		<?php if($operariosSeleccionados) { ?>
		
		<p><input type="button" name="botonConfirmar" id="botonConfirmar" value="CONFIRMAR <?php echo $proceso; ?> FICHAJE" class="boton"/></p>
		
		<input type="hidden" name="confirmarFichaje" id="confirmarFichaje" value="" />
		<input type="hidden" name="cadenaOperarios" id="cadenaOperarios" value="<?php echo $cadenaOperarios; ?>" />
	
	</form>
	
	<?php } ?>
	
	
	<script>
	
		function validar(turno) {
		
			$('#actividad').removeClass('error');
			$('#proceso').removeClass('error');
		
			if(!$('#actividad').val()) {
				alert('Error: Selecciona el tipo de actividad.',null,'error');
				$('#actividad').addClass('error');
				return false;
			}
			if(!$('#proceso').val()) {
				alert('Error: Selecciona el proceso a realizar.',null,'error');
				$('#proceso').addClass('error');
				return false;
			}
			if(turno && $('#proceso').val()=='INICIO' && !$('#turno').val()) {
				alert('Error: Selecciona el turno de trabajo.',null,'error');
				$('#turno').addClass('error');
				return false;
			}
			else return true;
		
		}
	
	
		$(document).ready(function() {
		
			$('.campoFichaje').on('change',function(){
			
				const hayOperariosSeleccionados=$('#cadenaOperarios').val();
				
				if(hayOperariosSeleccionados) {
			
					$('#popupCargando').show();
					window.location='fichajes.php?&actividad='+$('#actividad').val()+'&proceso='+$('#proceso').val()+'&turno='+$('#turno').val()+'&operarios='; //Para que se reinicien los operarios
					
				}
				
			});
			
			$('#proceso').on('change',function(){
			
				<?php if($gestionTurnos) { ?>
				
				if($(this).val()=='INICIO') {
					$('#bloqueTurno').show();
				}
				else {
					$('#turno').val('');
					$('#bloqueTurno').hide();
				}
				
				<?php } ?>
			
			});
			
			$('#botonOperarios').on('click',function(){
			
				if(validar()) {
					$('#popupCargando').show();
					let redireccion='fichajes-operarios.php?procedencia=generica&actividad='+$('#actividad').val()+'&proceso='+$('#proceso').val()+'&turno='+$('#turno').val();
					if($('#cadenaOperarios').val()) redireccion+='&operarios='+$('#cadenaOperarios').val();
					window.location=redireccion
				}
				
			});
			
			$('#botonConfirmar').on('click',function(){
			
				if(validar(<?php if($gestionTurnos) { ?>true<?php } ?>)) {
					$('#confirmarFichaje').val(1);
					$('#popupCargando').show();
					$('#formularioFichajes').submit();
				}
				
			});
	
		});
	
	</script>
	
	<?php
	}
	
}
else include($rutaPhp.$rutaHtml.'/maqueta/error.php');

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