<?php  
	include "conexion.php";
	include "insertar_log.php";
	$id_aplicacion = "0";
	$id_transaccion = $_POST['id_transaccion'];
	$id_pg = 0;
	$id_venta = 0;

	$datos = " Ingresa a validar_transaccion id_transaccion=".$id_transaccion;	
	insertarLog($datos,$id_aplicacion);
	
	$tiempo_factura = 0;
	
	$factura=0;
	$id_cliente=0;
	$existe=0;
	$transaccion="";
	$mes_factura=0;

	$sentencia = $conexion->prepare("select id_cliente from clientes where publico_general=1");
	$sentencia->execute();

	$resultado = $sentencia->get_result();
	if($fila = $resultado->fetch_assoc())
	{
		$id_pg = $fila["id_cliente"];

	}
	$sentencia->close();

	$sentencia = $conexion->prepare("select id_venta from transacciones_detalle where id_transaccion=".$id_transaccion);
	$sentencia->execute();

	$resultado = $sentencia->get_result();
	if($fila = $resultado->fetch_assoc())
	{
		$id_venta = $fila["id_venta"];

	}
	$sentencia->close();

	$sentencia = $conexion->prepare("select TIMESTAMPDIFF(MINUTE, fecha_venta, now()) tiempo_ticket  from ventas where id_venta=".$id_venta);

	$sentencia->execute();

	$resultado = $sentencia->get_result();
	if($fila = $resultado->fetch_assoc())
	{
		$tiempo_factura = $fila["tiempo_ticket"];

	}
	$sentencia->close();

	$sentencia = $conexion->prepare("SELECT COUNT(id_venta) cuantos FROM ventas WHERE DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(fecha_venta, '%Y-%m') and id_venta=".$id_venta);

	$sentencia->execute();

	$resultado = $sentencia->get_result();
	if($fila = $resultado->fetch_assoc())
	{
		$mes_factura = $fila["cuantos"];

	}
	$sentencia->close();

	$sentencia = $conexion->prepare("select id_transaccion,abs(monto) monto,id_cliente,factura from transacciones where id_transaccion=".$id_transaccion);
	$sentencia->execute();

	$resultado = $sentencia->get_result();
	if($fila = $resultado->fetch_assoc())
	{
		$existe=1;
		$fila["tiempo_factura"] =$tiempo_factura;
		$id_cliente = $fila["id_cliente"];
		$factura = $fila["factura"];
		$transaccion=$fila;
	}
	$sentencia->close();

	if($existe==0)
	{
		$datos = " La transaccion no existe id_transaccion=".$id_transaccion;	
		insertarLog($datos,$id_aplicacion);
		echo response(1,"La transaccion no existe","");
		return;
	}
	if($factura!=0)
	{
		$datos = " La transaccion ya esta facturada id_transaccion=".$id_transaccion;	
		insertarLog($datos,$id_aplicacion);
		echo response(1,"La transaccion ya esta facturada","");
		return;
	}
	if($id_cliente!=$id_pg)
	{
		$datos = " La transaccion esta asignada a un cliente id_transaccion=".$id_transaccion;	
		insertarLog($datos,$id_aplicacion);
		echo response(1,"La transaccion esta asignada a un cliente","");
		return;
	}

	if($mes_factura!=0)
	{
		$datos = " Venta Fuera de Periodo id_transaccion=".$id_transaccion;	
		insertarLog($datos,$id_aplicacion);
		echo response(1,"Venta Fuera de Periodo","");
		return;
	}

	$conexion->close();


	$datos = " Termina proceso validar_transaccion...";	
			insertarLog($datos,$id_aplicacion);

	echo response(0,"OK",$transaccion);
	return;

	function response($estatus,$estatus_mensaje,$respuesta){
		header("HTTP/1.1".$estatus);

		$response["estatus"]=$estatus;
		$response["estatus_mensaje"]=$estatus_mensaje;
		$response["respuesta"]=$respuesta;
		
		$json_response = json_encode($response, JSON_UNESCAPED_UNICODE);

		echo $json_response;

	}

?>