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

//ini_set('display_errors', 1);
//ini_set('display_startup_errors', 1);
//error_reporting(E_ALL);



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




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


//09-02-2023 SE PASA TODA LA DEFINICIÓN Y LA CREACION DE LA CLASE A OTRO SCRIPT, PARA COMPARTIR DATOS FUERA DE ESTA PANTALLA
//			 VER EL NUM DE FOTOS CARGADAS EN LOS LISTADOS
include('contenidos/fotos-definicion-datos.php');




if($numeroDocumento) {



	if($_POST['enviarFotos']=='1') {
	
		if($traza) echo '<p>Proceso de envío de fotos</p>';
		
		//SGASubirFotos#EMP#OPREP#TipoDoc
		
		$peticion='SGASubirFotos#'.$empresaDocumento.'#'.$numeroDocumento.'#'.$envioDirectoFotosTipoProceso;
	
		$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);
		
		if($traza) {
			echo "<p>".$peticion."</p>";
			print_r($resultado);
		}
		
		$valores=explode('#',$resultado[0]['Error']);
		
		if($valores[0]=='1') {
			?><script>alert('Error: <?php echo $valores[1]; ?>',null,'error');</script><?php
		}
		else if($valores[0]=='0') {
			?>
			<script>
				alert('<?php echo $valores[1]; ?>',null,'ok')
				.done(function(){
					$('#botonVolver').trigger('click');
				});
            </script>
			<?php
		}
		else {
			?><script>alert('Error desconocido.<br>El sistema no ha respondido.',null,'error');</script><?php
		}
		
	
	}
	else if($_POST['borrarfoto']) {
		
		$fotosProceso->borraFoto($_POST['nombreArchivo']);
	
	}
	

	$hayArchivosGaleria=false;
	if(is_array($_FILES['archivo-guardado']['name'])) {
		foreach($_FILES['archivo-guardado']['name'] as $item) {
			if($item!='') $hayArchivosGaleria=true;
		}
	}

	$hayFotoPregrabada=false;
	if(isset($_GET['archivo']) && $_GET['archivo']) {
		$archivo=$_GET['archivo'];
		$nombreArchivo=$_GET['nombreArchivo'];
		$hayFotoPregrabada=true;
	}
	
	//echo '<p>archivo name:</p>';
	//print_r($_FILES['archivo']['name']);
	//echo '<p>archivo guardado:</p>';
	//print_r($_FILES['archivo-guardado']);
	//echo '<p>hayArchivosGaleria: '.$hayArchivosGaleria.'</p>';
	//echo '<p>hayFotoPregrabada: '.$hayFotoPregrabada.'</p>';
	
	
	if( $_FILES['archivo']['name'] || $hayArchivosGaleria || $hayFotoPregrabada ) {
	

	
		$archivos=array();
	
		

		if($_FILES['archivo']['name']) {
		
			$archivos[]=$_FILES['archivo'];
			
		}
		else if($hayArchivosGaleria) {
		
			foreach($_FILES['archivo-guardado']['tmp_name'] as $clave=>$valor) {
				//Los archivos en bloque, no vienen separados por archivo, sino con los mismos índices en los subnivles. Se invierte para que coincida con un arhiv solo (arriba)
				$archivos[$clave]['name']=$_FILES['archivo-guardado']['name'][$clave];
				$archivos[$clave]['type']=$_FILES['archivo-guardado']['type'][$clave];
				$archivos[$clave]['tmp_name']=$_FILES['archivo-guardado']['tmp_name'][$clave];
				$archivos[$clave]['error']=$_FILES['archivo-guardado']['error'][$clave];
				$archivos[$clave]['size']=$_FILES['archivo-guardado']['size'][$clave];
			}
			
		}
		else if($hayFotoPregrabada) {
		
			if(file_exists($archivo)) { //puede haberse ya borrado
		
				$objetoArchivo=array();
				$objetoArchivo['name']=$nombreArchivo;
				$objetoArchivo['type']=image_type_to_mime_type(exif_imagetype($archivo));
				$objetoArchivo['tmp_name']=$archivo;
				$objetoArchivo['error']=0;
				$objetoArchivo['size']=filesize($archivo);
				
				//echo '<p>Objeto archivo:</p>';
				//print_r($objetoArchivo);
			
				$archivos[]=$objetoArchivo;
				
			}
			
		}
	
		$cuantosErrores=0;
		

		
		foreach($archivos as $archivo) {
		
			
			//echo '<hr>';
			//print_r($archivo);
			//echo '<hr>';
			
			
			if($subProceso=='puntosControl') {
				if($archivo['type']=='image/png') $extension='.png';
				else $extension='.jpg';
				$descripcionLimpia=limpiaNombreArchivo($puntoControl['Descripcion']);
				if(substr($descripcionLimpia,-1)!='.') $descripcionLimpia.='.';
				$nombreArchivo=$descripcionLimpia.' '.date('d-m-Y').' '.date("H\h i' s''").$sufijo.$extension;
			}
			else {
				//$valores=explode('.',$archivo['name']); //Para quitar la extensión
				//$nombreArchivo=$valores[0];
				$nombreArchivo=$archivo['name'];
			}
		
			$resultado=$fotosProceso->grabaFoto($archivo,$nombreArchivo);
			
			//echo '<p>////////</p>';
			//print_r($resultado);
			//echo '<p>////////</p>';
			
			if(!$resultado) $cuantosErrores++;
			
		}
		
		//echo '<p>cuantosErrores: '.$cuantosErrores.'</p>';
		
		if( $cuantosErrores==0 ) {
				
			if(count($archivos)==1) {
				?><p>Nueva fotografía subida correctamente.</p><?php
			}
			else {
				?><p>Fotografías de la galería subidas correctamente.</p><?php
			}
			
		}
		else {
		
			if(count($archivos)==1) {
				?><script>alert('ERROR: No pudo subirse la fotografía.',null,'error')</script><?php
			}
			else {
				?><script>alert('ERROR: Al menos <?php echo $cuantosErrores; ?> fotografías de la galería no han podido subirse.',null,'error')</script><?php
			}
			
		}
			
	}

	
	//echo '<p>sufijo: '.$sufijo.'</p>';
	
	$fotosSubidas=$fotosProceso->fotosSubidas($sufijo);
	$contadorSubidas=count($fotosSubidas);

	//echo '<p>sePuedenTomarFotos: '.$sePuedenTomarFotos.'</p>';

	?>
	
	<?php if($proceso=='salidas') { ?>
	
		<?php //9-2-2021 Sacamos la cabecera a "contenidos" para reutilizarla en varias pantallas ?>
        <?php include('contenidos/orden-preparacion-S-cabecera.php'); ?>
	
	<?php } else if($proceso=='entradas') { ?>
    
        <h2>Entrada de Mercancía Nº <?php echo $_SESSION['entrada']['NumEntrada']; ?></h2>
        
        <table class="tablaFormateada anchoMaximo desplazamientoSuperior">
        <tr>
            <?php if(count($_SESSION['empresas'])>1) { ?><th>Empresa</th><?php } ?>
            <th>Fecha</th>
            <th>Régimen</th>
            <th>Cliente</th>
            <th>Nombre Cliente</th>
            <th>Ref. Cliente</th>
            <th>Tipo Entrada</th>
            <th>Documento</th>
            <th>Expedidor</th>
        </tr>
        <tr>
            <?php if(count($_SESSION['empresas'])>1) { ?><td><?php echo $_SESSION['entrada']['Empresa']; ?></td><?php } ?>
            <td><?php echo fechaNacional($_SESSION['entrada']['FechaEntrada']); ?></td>
            <td><?php echo $_SESSION['entrada']['Regimen']; ?></td>
            <td><?php echo $_SESSION['entrada']['ClientePropietario']; ?></td>
            <td><?php echo $_SESSION['entrada']['NombreClientePropietario']; ?></td>
            <td><?php echo $_SESSION['entrada']['ReferenciaCliente']; ?></td>
            <td><?php echo $_SESSION['entrada']['TipoEntrada']; ?></td>
            <td><?php echo $_SESSION['entrada']['TipoDocumento']; ?> <?php echo $_SESSION['entrada']['NumeroDocumento']; ?></td>
            <td><?php echo $_SESSION['entrada']['Expedidor']; ?></td>
          </tr>
        </table>
    
    <?php } else if($proceso=='cargas') { ?>
    
        <h2>Fotografías Carga de Camión Nº <?php echo $numeroDocumento; ?></h2>
        
        <table class="tablaFormateada">
            <tr>
                <th>Nº Carga</th>
                <th>Nombre</th>
                <?php if($_SESSION['visibilidadZonaCarga']) { ?><th>Zona Carga</th><?php } ?>
                <th>Fecha</th>
                <th>Hora</th>
                <th>Órdenes</th>
                <th>Bultos</th>
                <th><?php if($_SESSION['parametrosSGA']['GestionPackingList']=='S' || $_SESSION['parametrosSGA']['PickingPacking']=='S') { ?>Packing Lists<?php } ?></th>
            </tr>
            <tr style="height:75px">
                <td><?php echo $orden['NumCarga']; ?></td>
                <td><?php echo $orden['NombreCarga']; ?></td>
                <?php if($_SESSION['visibilidadZonaCarga']) { ?><td><?php echo $orden['ZonaCargaCamion']; ?></td><?php } ?>
                <td><?php echo fechaNacional($orden['FechaCarga']); ?></td>
                <td><?php echo $orden['HoraCarga']; ?></td>
                <td><?php echo $orden['NumOrdenesT']; ?><?php if($orden['NumOrdenesPdtesT']>0) { ?>/<span style="font-weight:400;color:#FF0000"><?php echo $orden['NumOrdenesPdtesT']; ?></span><?php } ?></td>
                <td><?php echo $orden['NumPaletsT']; ?></td>
                <td><?php if($_SESSION['parametrosSGA']['GestionPackingList']=='S' || $_SESSION['parametrosSGA']['PickingPacking']=='S') { ?><?php echo $orden['NumPackingList']; ?><?php if($orden['NumPackingListPdtes']>0 && $_SESSION['parametrosSGA']['PickingPacking']!='S') { ?>/<span style="font-weight:400;color:#FF0000"><?php echo $orden['NumPackingListPdtes']; ?></span><?php } ?><?php } ?></td>
            </tr>
        </table>
    
    <?php } ?>
    
    
    <?php if($subProceso=='puntosControl') { ?>
    
        <div id="popupInfo" class="popup" style="display:none">
        <div class="popupContenido">
            <p><img src="<?php echo DIR_IMAGENES; ?>/palet-info.png" alt="Info" class="icono"/></p>
            <p id="popupInfoContenido"></p>
            <p><input type="button" id="botonCerrarInfo" name="botonCerrarInfo" value="Cerrar" class="boton reducido"/></p>
        </div>
        </div>
        
        <p>Punto de control</p>
        
        <table class="tablaFormateada">
        <tr>
            <th>Estado</th>
            <th>Descripción</th>
            <?php if($puntoControl['Valor']) { ?>
            <th>Valor</th>
            <?php } ?>
            <?php if($puntoControl['ActualizaDato']=='S') { ?>
            <th>Nuevo valor</th>
            <?php } ?>
            <?php if($puntoControl['Observaciones']) { ?>
            <th>Observaciones</th>
            <?php } ?>
            <?php if($puntoControl['Info']) { ?>
            <th></th>
            <?php } ?>
        </tr>
        <tr>
            <td><?php if($puntoControl['Estado']=='NOOK') echo 'No ok'; else if($puntoControl['Estado']=='OK') echo 'Ok'; else if($puntoControl['Estado']=='NA') echo 'N/A'; ?></td>
            <td><?php echo $puntoControl['Descripcion']; ?></td>
            <?php if($puntoControl['Valor']) { ?>
            <td><?php echo $puntoControl['Valor']; ?></td>
            <?php } ?>
            <?php if($puntoControl['ActualizaDato']=='S') { ?>
            <td><?php echo $puntoControl['NuevoValor']; ?></td>
            <?php } ?>
            <?php if($puntoControl['Observaciones']) { ?>
            <td><?php echo $puntoControl['Observaciones']; ?></td>
            <?php } ?>
            <?php if($puntoControl['Info']) { ?>
            <td><img id="botonInfo<?php echo$clavePuntoControl; ?>" src="<?php echo DIR_IMAGENES; ?>/botones/info.png" alt="Info" class="icono reducido botonInfo" contenido="<?php echo $puntoControl['Info']; ?>"/></td>
            <?php } ?>
          </tr>
        </table>
        
        <script>
		
		$(document).ready(function() {
        
            $('.botonInfo').on('click',function() {
                
                var contenido=$(this).attr('contenido');
                    
                $('#popupInfoContenido').html(contenido);
                $('#popupInfo').show();
                
            });
			
			$('#botonCerrarInfo').on('click',function() {
			
				$('#popupInfoContenido').html('');
				$('#popupInfo').hide();
			
			});
			
		});
        
        </script>
    
    <?php } //Fin subseccion puntos de control ?>
	
	<form action="" method="post" enctype="multipart/form-data" name="formularioFotos" id="formularioFotos">
	
    	<?php if( $sePuedenTomarFotos ) { ?> 
        
         <style type="text/css">
			<!--
			.bloqueBotones {
				width:calc(100% - 40px);
				display:flex;
				align-items:center;
				justify-content:center;
				padding-right:40px;
			}
			.botonCamara {
				width:124px;
				float:left;
				margin: 0 20px 0 0;
			}
			.archivoOcultarCapa {
				width:124px;
				height:124px;
				float:left;
			}
			.archivoOcultar { opacity:0 }
			#archivo-guardado-etiqueta {
				display:block;
				width:124px;
				height:124px;
				cursor:pointer;
				background-image:url("<?php echo $rutaHtml; ?>/img_nx/botones/galeria-open.png");
				background-size: contain;
				float:left;
				margin:5px 0 0 20px;
			}
			-->
		</style>
        
        <div class="bloqueBotones">
        
        	<?php if(isset($camaraIntegrada) && $camaraIntegrada) { ?>
            
            	<img id="botonCamaraIntegrada" src="<?php echo DIR_IMAGENES; ?>/botones/camera-open.png" border="0" style="cursor:pointer;margin-top:20px">
                
                <?php
				$url=$_SERVER['REQUEST_URI'];
				$partes=explode('?',$url);
				$parametros=$partes[1];
				?>
                
                <script>
				$(document).ready(function() {
					$('#botonCamaraIntegrada').on('click',function(){
						mostrarCargando(true);
						window.location='camara.php?<?php echo $parametros; ?>';
					});
				});
				</script>
            
            <?php } else { ?>
        
                <div id="filescontainer" class="botonCamara">
                    <div id="filecontainer1" class="fileUpload btn btn-primary">
                        <img src="<?php echo DIR_IMAGENES; ?>/botones/camera-open.png" border="0">
                        <input type="file" name="archivo" id="archivo" onChange="subirFoto();" accept="image/*" capture="camera" class="upload" />
                    </div>
                </div>
            
            <?php } ?>
            
            <div class="archivoOcultarCapa">
                <label id="archivo-guardado-etiqueta"><input type="file" name="archivo-guardado[]" id="archivo-guardado" onChange="subirFoto();" accept="image/*" class="archivoOcultar" multiple/></label>
            </div>
            
        </div>
        
        <?php } ?>
                
        <div id="popupFoto" class="popupScroll" style="display:none"></div>
        <div id="popupFotoContenido" class="popupContenidoScroll" style="display:none;padding:20px">
        	<img src="" id="fotoGrande" style="max-width:100%" class="cerrable"/>
            <input id="nombreArchivo" name="nombreArchivo" type="hidden" value="" />
            
            <input id="borrarfoto" name="borrarfoto" type="hidden" value="" />
            <p><?php if( $sePuedenTomarFotos ) { ?><img name="botonBorrar" id="botonBorrar" src="<?php echo DIR_IMAGENES; ?>/papelera.png" style="float:right;width:40px;height:40px;margin-top:10px;margin-left:-100px;" border="0"/><?php } ?><input type="button" id="boton" name="boton" value="Cerrar" class="campoRedondeado boton cerrable" style="width:150px" /></p>
            
        </div>
                
    </form>
    
    <form action="" method="post" enctype="multipart/form-data" name="formularioEnviarFotos" id="formularioEnviarFotos">
    <input type="hidden" id="enviarFotos" name="enviarFotos" value="" />
    </form>
    
    
    <?php
	
	if($contadorSubidas>0) {
	
		?>
		<p>Fotografías grabadas:</p>
        
        <div class="miniaturas-contenedor">
        <?php
		foreach($fotosSubidas as $foto) {
		
			if($rest_ws_url) {
				?><div class="miniaturas-caja"><img src="data:image/png;base64, <?php echo $fotosProceso->verFoto($foto); ?>" class="miniatura selectorFotoDinamica" archivo="<?php echo $foto; ?>"></div><?php
			}
			else {
				?><div class="miniaturas-caja"><img src="<?php echo $fotosProceso->rutaHtml."/".$foto; ?>" class="miniatura selectorFotoDinamica" archivo="<?php echo $foto; ?>"></div><?php
			}
			
			
		}
		?>
        </div>
        <?php
		
	}
	
	
	
	?>
    
    <?php if($envioDirectoFotos) { ?>
    
    	<?php if($contadorSubidas>0) { ?>
        
    	<p><input type="button" id="botonEnviarFotos" name="botonEnviarFotos" value="Enviar fotos" class="boton"/></p>
        
        <?php } ?>
    
    	<?php if($botonVolver) { ?>
    
    		<p><input type="button" id="botonVolver" name="botonVolver" value="<?php echo $botonVolver; ?>" class="boton reducido botonVolver"/></p>
            
        <?php } ?>
    
    
    <?php } else if($botonVolver) { ?>
    
    	<p><input type="button" id="botonVolver" name="botonVolver" value="<?php echo $botonVolver; ?>" class="boton botonVolver"/></p>
    
    <?php } ?>
	
	<script>
	
	function subirFoto() {
	
		$('#popupCargando').show();
		$('#formularioFotos').submit();
		
	}
	
	$(document).ready(function() {
	
		<?php if($envioDirectoFotos) { ?>
		
			$('#botonEnviarFotos').on('click',function(){
		
				$('#popupCargando').show();
				$('#enviarFotos').val(1);
				$('#formularioEnviarFotos').submit();
			
			});
			
		<?php } ?>
	
		<?php if($botonVolver) { ?>
	
			$('.botonVolver').on('click',function(){
			
				$("#popupCargando").show();
				window.location='<?php echo $direccionVolver; ?>';
			
			});
		
		<?php } ?>
	
		$(document).on('click','.selectorFotoDinamica',function(){
			$('#fotoGrande').attr('src',$(this).attr('src'));
			$('#nombreArchivo').val($(this).attr('archivo'));
			$('#popupFoto').fadeIn();
			$('#popupFotoContenido').fadeIn();
			
		});
					
		$(document).on('click','.cerrable',function(){
			$('#popupFoto').hide();
			$('#popupFotoContenido').hide();
		});
		
		$('#botonBorrar').on('click',function(){
			confirm('Se va a proceder a borrar esta fotografía.<br>¿Deseas continuar?','advertencia')
			.done(function(){
				$('#borrarfoto').val(1);
				$("#popupCargando").show();
				$('#formularioFotos').submit();
			});
		});
		
		<?php if($proceso=='salidas') { ?>
		
		$('#botonSgteProducto').on("click",function(e){
		
			e.preventDefault();
			$("#popupCargando").show();
			window.location='<?php echo $rutaHtml; ?>/orden-preparacion-S.php?orden=<?php echo $_SESSION['orden']['OrdenPreparacion']; ?>&empresa=<?php echo $_SESSION['orden']['Empresa']; ?>';
		});
		
		<?php } else if($proceso=='entradas') { ?>
		
		$('#botonLectura').on("click",function(e){
		
			e.preventDefault();
			$("#popupCargando").show();
			window.location='entrada-mercancia-gs1-proceso.php';
		});
		
		<?php } ?>
		
	});
	
	</script>
	
	<?php

	
}
else {
	?><p class="error">Error, no consta ningún proceso al que asociar fotografías.</p><?php
}


if($subProceso!='puntosControl') {

	if($proceso=='salidas') {
	
		$mostrarInfo=true;
		include($rutaPhp.$rutaHtml.'/maqueta/menu-orden-preparacion-S.php');
	
	} else if($proceso=='entradas') {
	
		$pantallaFotos=true;
		include($rutaPhp.$rutaHtml.'/maqueta/menu-entrada-mercancia-gs1.php');
	
	}
	
}

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