<?php  
	session_start();
	include "conexion.php";
	include "mysql_Valida_permiso.php";	
	include 'mysql_Agregar_auditoria.php';

	if (!isset($_SESSION['id_usuario']))
	{
		header('location: index.php');
		return;
	}

	$limit = $_POST['limit'];
	$fecha1 = $_POST['fecha1'];
	$fecha_inicio1 = $_POST['fecha_inicio'];
	$fecha_fin1 = $_POST['fecha_fin'];
	$fecha2 = $_POST['fecha2'];
	$fecha_inicio2 = $_POST['fecha_inicio2'];
	$fecha_fin2 = $_POST['fecha_fin2'];	
	$serie = $_POST['serie'];
	$folio = $_POST['folio'];	
	$id_serie = $_POST['id_serie'];
	$id_folio = $_POST['id_folio'];
	$activa = $_POST['activa'];
	$cancelada = $_POST['cancelada'];
	$reproceso = $_POST['reproceso'];
	$ordenamiento = $_POST['ordenamiento'];
	$total_facturas =0;
	$monto_muestra=0;
	$total_canceladas=0;

	$filtros="";

	$email="";
		$sql = "select ";
		$sql.="email ";
		$sql.="from ";
		$sql.="clientes  ";
		$sql.="where ";
		$sql.="id_cliente= ".$_SESSION['id_cliente'];

		$resultado = $conexion->query($sql); 

		while($fila = $resultado->fetch_assoc()) 
		{	 
			$email=$fila["email"];
		}

		$resultado->free();

	$sql = "select ";
    $sql .= "f.id_factura as id_factura, ";                       
    $sql .= "f.serie as serie, ";
    $sql .= "f.folio as folio, ";
    $sql .= "f.tipo as tipo, ";
    $sql .= "f.r_rfc as r_rfc, ";
    $sql .= "f.r_razon_social as r_razon_social, ";
    $sql .= "date_format(f.fecha_expedicion,'%Y/%m/%d %H:%i:%s') as fecha, ";
    $sql .= "ifnull(f.total-f.iva,0) as totaliva, ";          
    $sql .= "ifnull(f.iva,0) as iva, ";
    $sql .= "ifnull(f.total,0) as total, ";
    $sql .= "f.estado, ";
    //$sql .= "f.tipo_factura, "; //
    $sql .= "f.comprobante_tipo, "; //
    $sql .= "f.id_factura_nota_credito, ";
    $sql .= "f.estatus_proceso, "; //13
    $sql .= "f.descripcion_estatus, ";  
    $sql .= "f.factura_terminada, ";
    $sql .= "f.id_turno, ";
    $sql .= "ifnull(c.tipo,3) as cliente_tipo, ";
    $sql .= "ifnull(f.pago_metodo,'') as pago_metodo, ";
	$sql .= "f.archivo_pdf ";
    $sql .= "from ";
    $sql .= "facturas f ";
    $sql .= "left join clientes c ";
    $sql .= "on(c.id_cliente = f.id_receptor) ";
    $sql .= "where ";
    $sql .= "id_factura > 0 ";	

	if($fecha2 == 1)
	{
		$sql .= "and f.fecha_expedicion >='" . $fecha_inicio2 . " 00:00:00' and f.fecha_expedicion <='".$fecha_fin2." 23:59:59' ";
	}

	if($fecha1=="1")
	{
		$fecha_inicio1 =str_replace ( "-", '', $fecha_inicio1);
		$turnoini = $fecha_inicio1."00";

		$fecha_fin1 =str_replace ( "-", '', $fecha_fin1);
		$turnofin = $fecha_fin1."99";

		if ($turnoini !="")
		{
			$sql .= " and f.id_turno >= " . $turnoini;
		}
		if ($turnofin != "")
		{
			$sql .= " and f.id_turno <= " . $turnofin;
		}
	}

    if ($activa=="0" && $cancelada=="1")
    {
        $sql .= " and f.estado=0 ";
       
    }

    if ($activa=="1" && $cancelada=="0")
    {
        $sql .= " and f.estado=1 ";
       
    }

    if ($reproceso)
    {
        $sql .= " and f.factura_terminada=0 ";
        $sql .= " and f.estatus_proceso!=0 ";
       
    }

    if ($_SESSION['id_cliente']!="")
    {   
        $sql .= " and f.id_receptor=".$_SESSION['id_cliente']. " ";        
    }

	
	if ($serie == true && $id_serie != "")
	{
		$sql .= " and f.serie ='" . $id_serie . "' ";
	}

	if ($folio == true && $id_folio != "")
	{
		$sql .= " and f.folio =" . $id_folio . " ";
	}
	
	if ($limit=="1")
	{
		$sql .= " limit 1000 ";
	}

	$resultado = $conexion->query($sql); 

	if(!$resultado) 
		die("Error: no se pudo realizar la consulta===".$sql);

	
?>

	<table id="tablaTransacciones" name="tablaTransacciones" class="table table-sm table-striped"  >
		<thead>			
			<th>Id </th>
			<th>Serie</th>
			<th>Folio</th>
			<th>RFC</th>
			<th>Razon Social</th>
			<th>Fecha</th>
			<th>Subtotal</th>
			<th>Iva</th>
			<th>Total</th>
			<th>Estado</th>
			<th>Tipo</th>
			<th>Estatus Proceso</th>
			<th>Descripcion</th>
			<th>Reproceso</th>
			<th>Turno</th>
			<th>Metodo Pago</th>
			<th></th>		
		</thead>
		<tbody>
			<?php  
				while($fila = $resultado->fetch_assoc())
				{					
					$date = date_create($fila['fecha']);
					$fecha_Muestra = date_format($date, 'Y-m-d');
					$fecha_Muestra_2 = date_format($date, 'Y/m/d');	

					switch ($fila['tipo'])
                {
                    case "1": $tipocomp="Papel"; break;
                    case "2": $tipocomp="CFD"; break;
                    case "3": $tipocomp="CFDi"; break;
                    default: $tipocomp="CFDi"; break;
                }
				switch ($fila['estado'])
		                {
		                    case "0": $total_canceladas = $total_canceladas+1; $estado="Cancelada"; break;
		                    case "1": $estado="Activa"; break;
		                    case "2": $estado="Con Nota Crédito"; break;
		                    default:  $estado="Indefinido"; break;
		                }
			
				 switch($fila['comprobante_tipo'])
		                {
		                    case "I":
		                    case "ingreso":
		                        $comprobantetip="Ingreso";
		                        break;
		                    case "E":
		                    case "egreso":
		                        $comprobantetip="Egreso";
		                        break;
		                    case "P":
		                        $comprobantetip="Pago";
		                        break;
		                    default:
		                        $comprobantetip="No definido";
		                        break;
		                }
				if ($fila['factura_terminada'] != "0")
		                {
		                    switch ($fila['estatus_proceso'])
		                    {
		                        case "0": $estatusproc="Esperando Facturación"; break;
		                        case "1": $estatusproc="Facturada Correctamente"; break;
		                        case "2": $estatusproc="Error en Información de Factura"; break;
		                        case "3": $estatusproc="Falla en rutas"; break;
		                        case "4": $estatusproc="Error en SAT"; break;
		                        case "5": $estatusproc="Error en PAC"; break;
		                        case "6": $estatusproc="Error en Codigo de Barras"; break;
		                        case "7": $estatusproc="Error generando PDF"; break;
		                        case "8": $estatusproc="Error al enviar Correo Electrónico"; break;
		                        case "10": $estatusproc="Esperando Cancelación"; break;
		                        case "11": $estatusproc="Cancelada"; break;
		                        case "12": $estatusproc="Error en Cancelación"; break;
		                        default: $estatusproc="NO DEFINIDO"; break;
		                    }
		                }
		                else
		                {
		                    $estatusproc="Esperando Reprocesarse";
		                }
				 if ($fila['factura_terminada'] == "0")
		                    $estatuster="Reprocesandose";
		                else
		                    $estatuster="Terminado";
		        $id_fact="";
		        $id_fact=$fila["id_factura"].'|'.$fila["archivo_pdf"];			

		        	if($fila['estado']==0)
					{
						echo '<tr style="color:red;" class="renglon_factura" onclick="selecciona_renglon(this)" style="color: black; cursor: pointer" id="'.$fila['id_factura'].'">';
					}
					else
					{
						echo '<tr class="renglon_factura" onclick="selecciona_renglon(this)" style="color: black; cursor: pointer" id="'.$fila['id_factura'].'">';
					}					
					echo "<td align='right'>".$fila['id_factura']."&nbsp;</td>";
					echo "<td align='right'>".$fila['serie']."&nbsp;</td>";
					echo "<td align='right'>".$fila['folio']."&nbsp;&nbsp;</td>";
					
					echo "<td align='left'>".$fila['r_rfc']."&nbsp;&nbsp;</td>";
					echo "<td align='left'>".$fila['r_razon_social']."&nbsp;&nbsp;</td>";
					echo "<td align='right'>".$fila['fecha']."</td>";
					echo "<td align='right'> ".number_format($fila['totaliva'],2,'.',',')."&nbsp;</td>";
					echo "<td align='right'> ".number_format($fila['iva'],2,'.',',')."&nbsp;</td>";
					echo "<td align='right'> ".number_format($fila['total'],2,'.',',')."&nbsp;</td>";
					echo "<td align='right'>".$estado."&nbsp;</td>";
					echo "<td align='center'>".$comprobantetip."</td>";
					
					echo "<td align='left'>".$estatusproc."</td>";
					echo "<td align='left'>".$fila['descripcion_estatus']."</td>";
					echo "<td align='left'>".$estatuster."&nbsp;&nbsp;</td>";
					echo "<td align='right'>&nbsp;".$fila['id_turno']."&nbsp;</td>";
					echo "<td align='left'>&nbsp;&nbsp;".$fila['pago_metodo']."</td>";
			        if($fila['estado']==1)
			        {
			            echo '<td><img src="images/reenvio.png" alt="" width="20px;" style="cursor: pointer;" onclick="pantalla_reenvio('.$fila["id_factura"].',\''.$email.'\')"></td>';
			        }
			        else
			        {
			            echo '<td></td>';
			        }
				echo '</tr>'; 

					$monto_muestra = $monto_muestra+ $fila['total'];
					
					$total_facturas = $total_facturas+1;

				}

				$resultado->free(); 

				$informacion = 'Busco facturas ';
				$datos = "Con filtros: ";
				if($fecha1==1){ $datos=$datos." Fecha_contable=".$fecha_inicio1." hasta ".$fecha_fin1;}
				if($fecha1==1){ $datos=$datos." Fecha_Registro=".$fecha_inicio2." hasta ".$fecha_fin2;}
				if($serie==1){  $datos=$datos." Serie=".$id_serie;}
				if($folio==1){  $datos=$datos." Folio=".$id_folio;}
				$datos=$datos." Activa=".$activa." Cancelada=".$cancelada." Reproceso=".$reproceso." limit=".$limit;
				insertAuditoria($informacion,$datos,$_SESSION['id_usuario'],$_SESSION['direccion_ip'],$_SESSION['direccion_mac']);	
				mysqli_close($conexion);				
			?>

		</tbody>
	</table>


<div class="row form-group">
	
	<div class="col-md-2">
		<label for=""># Facturas:</label>
	</div>
	<div class="col-md-2">
		<input type="text" class="form-control" id="txtNumTransacciones" value="<?php echo $total_facturas; ?>" disabled>
	</div>
	<div class="col-md-2">
		<label for="">Total Canceladas:</label>
	</div>
	<div class="col-md-2">
		<input type="text" class="form-control" id="txtTotalVolumenTransacciones" value="<?php echo $total_canceladas?>" disabled>
	</div>
	<div class="col-md-2">
		<label for="">Total Monto:</label>
	</div>
	<div class="col-md-2">
		<input type="text" class="form-control" id="txtTotalMontoTransacciones" value="<?php echo number_format($monto_muestra, 2, '.', ','); ?>" disabled>
	</div>
</div>
