<?php
	session_start();

	include('conexion.php');
	include 'mysql_Agregar_auditoria.php';
	require('./fpdf/fpdf.php');

	ini_set('max_execution_time', '300');
	set_time_limit(300);

	$cliente = $_SESSION['id_cliente'];
	$id_vehiculo = $_GET['id_vehiculo'];
	$fecha_inicio = $_GET['fecha_inicio'];
	$fecha_fin = $_GET['fecha_fin'];
	$fini = date_create($fecha_inicio);
	$finiMuestra =  date_format($fini, 'Ymd');	
	$ffin = date_create($fecha_fin);
	$ffinMuestra =  date_format($ffin, 'Ymd');	
		
	$sql = "SELECT ";
	$sql .= "id_cliente, ";
	$sql .= "razon_social, ";
	$sql .= "nombre_comercial, ";
	$sql .= "saldo ";
	$sql .= "FROM ";
	$sql .= "clientes ";
	$sql .= "WHERE ";
	$sql .= "id_cliente = " . $cliente;
	
	$resultado = $conexion->query($sql); 
								
	if (!$resultado) 
	{
		die("Error: no se pudo realizar la consulta cliente");
	}
		
	while ($fila = $resultado->fetch_assoc()) 
	{
		$_SESSION['id_cliente'] = $fila['id_cliente'];
		$_SESSION['razon_cliente'] = $fila['razon_social'];
		$_SESSION['nombre_cliente'] = $fila['nombre_comercial'];
		$saldo_cliente = $fila['saldo'];
	}

	$resultado->free();

	$_SESSION['saldo_muestra'] = number_format($saldo_cliente, 2, '.', ',');
	$_SESSION['fech1'] = $fecha_inicio;	
	$_SESSION['fech2'] = $fecha_fin;

	class PDF extends FPDF
	{
		function Header()
		{
			$this->SetFont('Arial','B',14);
			$this->Cell(130,10,'Reporte Estado de Cuenta');
			$this->SetFont('Arial','',10);
			date_default_timezone_set('America/Mazatlan');
			$time = time();	
			$this->Cell(50,10,'Fecha: ' . date("Y/m/d  H:i:s", $time) );
			$this->Ln();
			$this->SetFont('Arial','',10);			
			$this->Cell(25,5,"Cliente");
			$this->Cell(50,5,$_SESSION["id_cliente"]);
			$this->Ln();		
			$this->Cell(25,5,"Razon Social");
			$this->Cell(50,5,$_SESSION['razon_cliente']);
			$this->Ln();		
			$this->Cell(25,5,"Saldo");
			$this->Cell(50,5,$_SESSION['saldo_muestra']);
			$this->Ln();
			$this->Cell(25,5,"Fecha Inicio");
			$this->Cell(50,5,$_SESSION['fech1']);
			$this->Ln();		
			$this->Cell(25,5,"Fecha Fin");
			$this->Cell(50,5,$_SESSION['fech2']);
			$this->Ln();			
			$this->SetFont('Arial','B',14);
			$this->ln();
			$this->SetFont('Arial','',9);
			$this->Cell(20, 5, 'Transaccion', 'B', 0, 'L');
			$this->Cell(30, 5, 'F. Registro', 'B', 0, 'L');
			$this->Cell(18, 5, 'F. Contable', 'B', 0, 'L');
			$this->Cell(20, 5, 'Tipo', 'B', 0, 'L');
			$this->Cell(37, 5, 'Modo', 'B', 0, 'L');			
			$this->Cell(20, 5, 'Cargo', 'B', 0, 'R');
			$this->Cell(25, 5, 'Abono', 'B', 0, 'R');
			$this->Cell(20, 5, 'Saldo', 'B', 0, 'R');				
		}
	}
	
	$pdf = new PDF();
	$pdf->AliasNbPages();
	$pdf->SetTitle('Reporte Estado de Cuenta');
	$pdf->AddPage();				
	
	$sql = "SELECT ";
	$sql .= "t.id_transaccion, ";
	$sql .= "t.fecha, ";
	$sql .= "concat(SUBSTRING(t.id_turno,7,2),'/',SUBSTRING(t.id_turno,5,2),'/',SUBSTRING(t.id_turno,1,4)) as id_turno, ";
	$sql .= "t.id_tipo, ";
	$sql .= "v.id_tag, ";
	$sql .= "t.descripcion, ";
	$sql .= "t.monto, ";
	$sql .= "t.saldo ";		
	$sql .= "FROM ";
	$sql .= "transacciones t ";
	$sql .= "left join transacciones_detalle td ";
	$sql .= "on (t.id_transaccion = td.id_transaccion) ";
	$sql .= "left join gaslight.ventas ve ";
	$sql .= "on (td.id_venta = ve.id_venta) ";
	$sql .= "left join vehiculos v ";
	$sql .= "on (v.id_vehiculo = t.id_vehiculo) ";
	$sql .= "where ";	
	$sql .= "t.id_cliente = " . $cliente . " ";
	$sql .= "and t.id_turno >= '" . $finiMuestra . "00" . "' and t.id_turno <='" . $ffinMuestra . "06" . "' ";

	if ($id_vehiculo != 0)
	{
		$sql .= "and v.id_vehiculo = " . $id_vehiculo . " ";
	}
		
	$sql .= "order by t.id_turno, t.id_transaccion asc";
			
	$resultado = $conexion->query($sql); 	

	if (!$resultado) 
	{
		die("Error: no se pudo realizar la consulta de transacciones");
	}
			
	$monto_cargo = 0.00;
	$monto_abono = 0.00;
					
	$pdf->SetFont('Arial','',9);
	$pdf->SetFont('Arial','',8);
	
	while ($fila = $resultado->fetch_assoc()) 
	{
		$id_transaccion = $fila['id_transaccion'];	
		$fecha = $fila['fecha'];
		$id_tipo = $fila['id_tipo'];
		$descripcion = $fila['descripcion'];
		$monto = $fila['monto'];
		$saldo = $fila['saldo'];
		$punto = '.';
			
		if ($id_tipo == 1)
		{			
			$monto_cargo = $monto_cargo + $monto;
			$monto = $monto * -1;
			$tipo = "Consumo";		
			$cargo = $monto;
			$abono = '0.00';
		}
			
		if ($id_tipo == 2)
		{
			$monto_abono = $monto_abono + $monto;
			$tipo = "Deposito";		
			$cargo = '0.00';
			$abono = $monto;					
		}
			
		if ($id_tipo == 3)
		{
			$monto_cargo = $monto_cargo + $monto;
			$monto = $monto * -1;
			$tipo = "Ajuste cargo";	
			$cargo = $monto;
			$abono = '0.00';			
		}
			
		if ($id_tipo == 4)
		{
			$monto_abono = $monto_abono + $monto;
			$tipo = "Ajuste abono";		
			$cargo = '0.00';
			$abono = $monto;	
		}
		
		$cargoMuestra = number_format($cargo, 2, '.', ',');
		$abonoMuestra = number_format($abono, 2, '.', ',');
		$saldoMuestra = number_format($saldo, 2, '.', ',');				 
		$date = date_create($fecha);
		$fechaMuestra =  date_format($date, 'd/m/Y h:m:s');
		
		$pdf->ln();
		$pdf->Cell(20, 2, $id_transaccion, 0, 0,'L');
		$pdf->Cell(30, 2, $fechaMuestra, 0, 0,'L');
		$pdf->Cell(18, 2, $fila['id_turno'], 0, 0, 'L');
		$pdf->Cell(20, 2, $tipo, 0, 0, 'L');
		$pdf->SetFont('Arial', '', 7);

		$length = 30;    
		$stringDisplay = substr(($descripcion . " " . $fila['id_tag']), 0, $length);

		if (strlen(($descripcion . " " . $fila['id_tag'])) > $length)
		{
			$stringDisplay .= ' ...';
		}

		$pdf->Cell(30, 2, $stringDisplay, 0, 0, 'L', false);
		$pdf->SetFont('Arial', '', 8);				
		$pdf->Cell(25, 2, $cargoMuestra, 0, 0, 'R');
		$pdf->Cell(27, 2, $abonoMuestra, 0, 0, 'R');
		$pdf->Cell(22, 2, $saldoMuestra, 0, 0, 'R');
		$pdf->ln();
	}

	$resultado->free();		

	$pdf->ln();
	$pdf->SetX(115);
	$pdf->Cell(20, 10, 'Totales');
	$pdf->SetFont('Arial', '', 9);

	$monto_cargo = $monto_cargo * -1;
	$monto_cargoMuestra = number_format($monto_cargo, 2, '.', ',');
	$monto_abonoMuestra = number_format($monto_abono, 2, '.', ',');

	$pdf->Cell(20, 10, '$'. $monto_cargoMuestra, 0, 0, 'R');
	$pdf->Cell(25, 10, '$'. $monto_abonoMuestra, 0, 0, 'R');
	$pdf->Cell(20, 10, '$'. $saldoMuestra, 0, 0, 'R');

	$informacion = 'Genero Reporte Estado de Cuenta formato PDF ';
	$datos = "Con filtros: ";
	if ($id_vehiculo != 0)
	{
		$datos=$datos." Vehiculo=".$id_vehiculo;
	}
	$datos=$datos." Del id_turno=". $finiMuestra . "00" . " al id_turno =" . $ffinMuestra . "06";	
	insertAuditoria($informacion,$datos,$_SESSION['id_usuario'],$_SESSION['direccion_ip'],$_SESSION['direccion_mac']);	
		
	mysqli_close($conexion);

	$pdf->Output();
?>