<?php
require ('Conexion/Conexion.php');
require ('lib/lib.php');
if(!isset($_SESSION['WEB2'])){	
	echo "<script language='JavaScript'>location.href = 'index.php'</script>";
	die();
} else{
	Inactividad();

	if($_POST['TipoReporte'] != ''){
		if(preg_match("/^[[:digit:]]+$/", $_POST['TipoReporte'])){
		
			$Bandera = 1;		
			$TipoReporte = $_POST['TipoReporte'];
	
			if($TipoReporte == 1) $ReporteNombre = 'CONSUMOS X FECHA';
			elseif($TipoReporte == 2) $ReporteNombre = 'CONSUMOS X TARJETA';
			elseif($TipoReporte == 3) $ReporteNombre = 'CONSUMOS X ESTACION';
			elseif($TipoReporte == 4) $ReporteNombre = 'CONSUMOS X PRODUCTO';
			elseif($TipoReporte == 5) $ReporteNombre = 'CONSUMOS X DEPARTAMENTO';				
			elseif($TipoReporte == 6) $ReporteNombre = 'CONC. DE VENTAS X GRUPO';
			elseif($TipoReporte == 7) $ReporteNombre = 'AUDITORIA WEB';
			elseif($TipoReporte == 8) $ReporteNombre = 'MONEDERO ELECTRONICO';
			elseif($TipoReporte == 9) $ReporteNombre = 'ESTADO DE CUENTA';
			else $Bandera = "<p class='error'>El Tipo de reporte seleccionado no existe!</p>";
			
			if($Bandera == 1){	
			
				if($TipoReporte != 8 ){
					if($_POST['FechaIni'] != ''){
						if($_POST['FechaFin'] != ''){
							if ( restar_dates2($_POST['FechaIni'], $_POST['FechaFin']) >= 0) {	
								if($_POST['Formato'] != ''){
									if(preg_match("/^[[:digit:]]+$/", $_POST['Formato'])){
										$FechaIni = str_replace('/','',$_POST['FechaIni']);
										$FechaFin = str_replace('/','',$_POST['FechaFin']);								
										$Formato = $_POST['Formato'];
										if($Formato == 1) $Formato = 'PDF';
										elseif($Formato == 2) $Formato = 'XLS';
										else $Bandera = "<p class='error'>El Tipo de Reporte es inválido!</p>";
									}else
										$Bandera = "<p class='error'>El Formato de Impresión seleccionado es inválido!</p>";
								}else
									$Bandera = "<p class='error'>Seleccione el Formato de Impresion del Reporte!</p>";
							}else
								$Bandera = "<p class='error'>La Fecha Final no puede ser mayor que la Fecha Inicial!</p>";
						}else
							$Bandera = "<p class='error'>Seleccione la Fecha Final del reporte!</p>";
					}else
						$Bandera = "<p class='error'>Seleccione la Fecha Inicial del reporte!</p>";
				}		
				
				if($TipoReporte == 2){
					if($_POST['FlotillaIni'] != ''){
						if(preg_match("/^[[:digit:]]+$/", $_POST['FlotillaIni'])){
							if($_POST['FlotillaFin'] != ''){
								if(preg_match("/^[[:digit:]]+$/", $_POST['FlotillaFin'])){
									if($_POST['FlotillaIni'] <= $_POST['FlotillaFin']){
										$FlotillaIni = $_POST['FlotillaIni'];
										$FlotillaFin = $_POST['FlotillaFin'];
									}else
										$Bandera = "<p class='error'>La Flotilla Inicial debe ser Mayor que la Flotilla Final!</p>";
								}else
									$Bandera = "<p class='error'>El No. de la Flotilla Final debe ser Númerico!</p>";						
							}else
								$Bandera = "<p class='error'>Seleccione el No. de Flotilla Final!</p>";
						}else
							$Bandera = "<p class='error'>El No. de la Flotilla Inicial debe ser Númerico!</p>";
					}else
						$Bandera = "<p class='error'>Seleccione el No. de Flotilla Inicial!</p>";
				}
						
				if($TipoReporte == 8){
					if($_POST['Serie'] != ''){
						if(preg_match("/^[a-zA-Z0-9\-]{1,15}$/i", $_POST['Serie'])){
							if($_POST['Folio'] != ''){
								if(preg_match("/^[[:digit:]]+$/", $_POST['Folio'])){
									$Serie = strtoupper($_POST['Serie']);
									$Folio = $_POST['Folio'];
									$Formato = $_POST['Formato'];
									if($Formato == 1) $Formato = 'PDF';
									elseif($Formato == 3){
										$QueryFactura = mssql_query("SELECT XML, FacturaID FROM Factura WHERE Serie = '$Serie' AND Folio = '$Folio' AND ClienteID = ". $_SESSION['ClienteID']."");
										$XMLFactura = mssql_fetch_array($QueryFactura);
										if($XMLFactura['XML'] != ''){
											$_SESSION['NombreArchivo'] = $Serie.$Folio;
											$_SESSION['FacturaID'] = $XMLFactura['FacturaID'];
											$Bandera = 'DescargarXML';
										}else
											$Bandera = "<p class='error'>El Reporte no fue encontrado, veririque los Datos en Estado de Cuenta!</p>";
									}
									else $Bandera = "<p class='error'>El Tipo de Reporte es inválido!</p>";
								}else
									$Bandera = "<p class='error'>El No. del Folio debe ser Númerico!</p>";
							}else
								$Bandera = "<p class='error'>Escriba el Folio del reporte a consultar!</p>";
						}else
							$Bandera = "<p class='error'>El Formato de la Serie escrito es inválido!</p>";
					}else
						$Bandera = "<p class='error'>Escriba la Serie del reporte a consultar!</p>";
				}
				//$Bandera =1;
				if($Bandera == 1){
						
					$SoapURL = "http://".$_SESSION['CistemWebIP'].":9005/SOAP?service=ServiceWEB";
							$Client = new SoapClient($SoapURL,
						array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP,
							  'exceptions' => true));						  
					$GasolineroID = $_SESSION['GasolineroID'];
					$RutaReportes = $_SESSION['RutaReportes'];
					
					if($TipoReporte == 8)
						$Parametros = 'Identificador="'.$_SESSION['GasolineroID'].'",Serie="'.$Serie.'",FacturaINI="'.$Folio.'"';
					else if($TipoReporte == 2)
						$Parametros = 'ClienteINI="'.$_SESSION['ClienteID'].'",ClienteFIN="'.$_SESSION['ClienteID'].'",FechaINI="'.$FechaIni.'000000'.'",FechaFIN="'.$FechaFin.'235959'.'",TarjetaIni="'.$FlotillaIni.'",TarjetaFin="'.$FlotillaFin.'"';
					else if($TipoReporte == 9){
						$fecha = time(); 
						$Anio = date ( "Y" , $fecha );
						
						$PeriodoINI = strtotime($_POST['FechaIni']);
						$PeriodoINI = date("m", $PeriodoINI);
						$PeriodoFIN = strtotime($_POST['FechaFin']);
						$PeriodoFIN = date("m", $PeriodoFIN);

						$Parametros = 'Identificador="'.$_SESSION['GasolineroID'].'",Ejercicio="'.$Anio.'",PeriodoIni="'.$PeriodoINI.'",PeriodoFin="'.$PeriodoFIN.'",ClienteIni="'.$_SESSION['ClienteID'].'",ClienteFin="'.$_SESSION['ClienteID'].'",Grupo="'.$_SESSION['Grupo'].'",FormaCompraID="'.$_SESSION['FormaCompraID'].'",DiaFacturarID="'.$_SESSION['DiaCorteSemana'].'"';
					}else
						$Parametros = 'ClienteINI="'.$_SESSION['ClienteID'].'",ClienteFIN="'.$_SESSION['ClienteID'].'",FechaINI="'.$FechaIni.'000000'.'",FechaFIN="'.$FechaFin.'235959'.'"';
					
					$A = $Client->Imprimir($ReporteNombre, $GasolineroID, $Parametros, $RutaReportes, $Formato);
					
					/*echo $Parametros;
					echo '-';
					echo $ReporteNombre;
					echo '-';
					echo $Formato;*/
					//print_r($A);
					//die();
					if($A->Ruta == '' && $A->Error == '')
						echo "<p class='success'>El Reporte consultado no contiene datos!</p>";
					elseif($A->Ruta != ''){
						$Tipo = extension($A->Ruta);
						$_SESSION['NombreArchivo'] = Nombre($A->Ruta);
						if($Tipo == 'pdf')
							echo 'PDF';
						elseif($Tipo == 'xls')
							echo 'XLS';
						elseif($Tipo == 'xml')
							echo 'XML';
						else
							echo "<p class='success'>El Tipo de Reporte es desconocido. Comuniquese con el Administrador!</p>";
					} else
						echo "<p class='error'>Error en la consulta del Reporte, Comuniquese con el Administrador!</p>";	
				}else
					echo $Bandera;
			}else
				echo $Bandera;
		}else 
			echo "<p class='error'>Seleccione un Tipo de Reporte válido!</p>";
	}else 
		echo "<p class='error'>Seleccione el Tipo de Reporte que desea Consultar!</p>";
}
?>