<?php 
ob_start();
if (strlen(session_id()) < 1){
	session_start();//Validamos si existe o no la sesión
}
if (!isset($_SESSION["nombre"]))
{
  header("Location: ../vistas/login.html");//Validamos el acceso solo a los usuarios logueados al sistema.
}
else
{
//Validamos el acceso solo al usuario logueado y autorizado.
if ($_SESSION['ventas']==1)
{
require_once "../modelos/Asignaciones.php";

$venta=new Venta();

$idventa=isset($_POST["idventa"])? limpiarCadena($_POST["idventa"]):"";
$idcliente=isset($_POST["idcliente"])? limpiarCadena($_POST["idcliente"]):"";
$idusuario=$_SESSION["idusuario"];
$tipo_comprobante=isset($_POST["tipo_comprobante"])? limpiarCadena($_POST["tipo_comprobante"]):"";
//$num_comprobante=isset($_POST["num_comprobante"])? limpiarCadena($_POST["num_comprobante"]):"";
$fecha_hora=isset($_POST["fecha_hora"])? limpiarCadena($_POST["fecha_hora"]):"";
$idsede=isset($_POST["idsede"])? limpiarCadena($_POST["idsede"]):"";
$idarea=isset($_POST["idarea"])? limpiarCadena($_POST["idarea"]):"";
$idcargo=isset($_POST["idcargo"])? limpiarCadena($_POST["idcargo"]):"";
$ubicacion=isset($_POST["ubicacion"])? limpiarCadena($_POST["ubicacion"]):"";
$observaciones=isset($_POST["observaciones"])? limpiarCadena($_POST["observaciones"]):"";
$procedimiento=isset($_POST["procedimiento"])? limpiarCadena($_POST["procedimiento"]):"";
$verificador=isset($_POST["verificador"])? limpiarCadena($_POST["verificador"]):"";
$total_venta=isset($_POST["total_venta"])? limpiarCadena($_POST["total_venta"]):"";

switch ($_GET["op"]){
	case 'guardaryeditar':
		if (empty($idventa)){
			$rspta=$venta->insertar($idcliente,$idusuario,$tipo_comprobante,$fecha_hora,$idsede,$idarea,$idcargo,$ubicacion,$verificador,$observaciones,$procedimiento,$total_venta,$_POST["idarticulo"],$_POST["correlativo"],$_POST["marca"],$_POST["modelo"],$_POST["serie"],$_POST["color"],$_POST["condicion"],$_POST["estado"],$_POST["observacion"],$_POST["cantidad"],$_POST["precio_venta"],$_POST["descuento"]);
			echo $rspta ? "Venta registrada" : "No se pudieron registrar todos los datos de la venta";
		}
		else {
		}
	break;

	case 'anular':
		$rspta=$venta->anular($idventa);
 		echo $rspta ? "Venta anulada" : "Venta no se puede anular";
	break;

	case 'mostrar':
		$rspta=$venta->mostrar($idventa);
 		//Codificar el resultado utilizando json
 		echo json_encode($rspta);
	break;

	case 'listarDetalle':
		//Recibimos el idingreso
		$id=$_GET['id'];

		$rspta = $venta->listarDetalle($id);
		$total=0;
		echo '<thead style="background-color:#A9D0F5">
                                    <th>Opciones</th>
                                    <th>Artículo</th>
									<th>Precio</th>
									<th>Cantidad</th>
									<th>Devaluación</th>
									<th>Código</th>
									<th>Marca</th>
									<th>Modelo</th>
									<th>Serie</th>
									<th>Color</th>
									<th>Condición</th>
									<th>Estado</th>
									<th>Observaciones</th>
                                    <th>Subtotal</th>
                                </thead>';

		while ($reg = $rspta->fetch_object())
				{
					echo '<tr class="filas"><td></td><td>'.$reg->nombre.'</td><td>'.$reg->precio_venta.'</td><td>'.$reg->cantidad.'</td><td>'.$reg->descuento.'</td><td>'.$reg->correlativo.'</td><td>'.$reg->marca.'</td><td>'.$reg->modelo.'</td><td>'.$reg->serie.'</td><td>'.$reg->color.'</td><td>'.$reg->condicion.'</td><td>'.$reg->estado.'</td><td>'.$reg->observacion.'</td><td>S/.'.$reg->subtotal.'</td></tr>';
					$total=$total+($reg->precio_venta*$reg->cantidad-$reg->descuento);
				}
		echo '<tfoot>
									<th></th>
                                    <th></th>
                                    <th></th>
                                    <th></th>
									<th></th>
                                    <th></th>
                                    <th></th>
                                    <th></th>
									<th></th>
									<th></th>
									<th></th>
									<th></th>
									<th></th>
									<th><h4><strong>TOTAL</strong></h4></th>
                                    <th><h4 id="total">S/.'.$total.'</h4><input type="hidden" name="total_venta" id="total_venta"></th> 
									<th></th>
								</tfoot>';
	break;

	case 'listar':
		$rspta=$venta->listar();
 		//Vamos a declarar un array
 		$data= Array();

 		while ($reg=$rspta->fetch_object()){
 			if($reg->tipo_comprobante=='Ticket'){
 				$url='../reportes/exPrestamo.php?id=';
 			}
 			elseif($reg->tipo_comprobante=='Entrega'){
 				$url='../reportes/exEntrega.php?id=';
 			}
			 else{
				$url='../reportes/exInventario.php?id=';
			}
 			$data[]=array(
 				"0"=>(($reg->estado=='Aceptado')?'<button class="btn btn-warning btn-xs" onclick="mostrar('.$reg->idventa.')"><i class="fa fa-eye"></i></button>'.
 					' <button class="btn btn-danger btn-xs" onclick="anular('.$reg->idventa.')"><i class="fa fa-close"></i></button>':
 					'<button class="btn btn-warning btn-xs" onclick="mostrar('.$reg->idventa.')"><i class="fa fa-eye"></i></button>').
 					'<a target="_blank" href="'.$url.$reg->idventa.'"> <button class="btn btn-info btn-xs"><i class="fa fa-file"></i></button></a>',
 				"1"=>$reg->idventa,
				"2"=>$reg->fecha,
 				"3"=>$reg->cliente,
				"4"=>$reg->nombre,
 				"5"=>$reg->nom_sede,
 				"6"=>$reg->nombre_a,
 				"7"=>$reg->verificador,
 				"8"=>$reg->usuario,
				"9"=>$reg->observaciones,
 				"10"=>($reg->estado=='Aceptado')?'<span class="label bg-green">Aceptado</span>':
 				'<span class="label bg-red">Anulado</span>'
 				);
 		}
 		$results = array(
 			"sEcho"=>1, //Información para el datatables
 			"iTotalRecords"=>count($data), //enviamos el total registros al datatable
 			"iTotalDisplayRecords"=>count($data), //enviamos el total registros a visualizar
 			"aaData"=>$data);
 		echo json_encode($results);

	break;

	case 'selectCliente':
		require_once "../modelos/Persona.php";
		$persona = new Persona();

		$rspta = $persona->listarC();

		while ($reg = $rspta->fetch_object())
				{
				echo '<option value=' . $reg->idpersona . '>' . $reg->nombre . '</option>';
				}
	break;

	case 'selectArea':
		require_once "../modelos/Area.php";
		$area = new Area();

		$rspta = $area->listarA();

		while ($reg = $rspta->fetch_object())
				{
				echo '<option value=' . $reg->idarea . '>' . $reg->nombre_a . '</option>';
				}
	break;
	
	case 'listarArticulosA':
		require_once "../modelos/Articulo.php";
		$articulo=new Articulo(); 

		$rspta=$articulo->listarActivosA();
 		//Vamos a declarar un array
 		$data= Array();

 		while ($reg=$rspta->fetch_object()){
 			$data[]=array(
 				"0"=>'<button class="btn btn-warning" onclick="agregarDetalle('.$reg->idingreso.',\''.$reg->nombre.'\',\''.$reg->precio_compra.'\')"><span class="fa fa-plus"></span></button>',
 				"1"=>$reg->idingreso,
				"2"=>$reg->nombre,
				"3"=>$reg->precio_compra,
 				"4"=>$reg->nombre_a,
 				"5"=>$reg->nom_sede
 				//"5"=>$reg->precio_venta,
 				//"6"=>"<img src='../files/articulos/".$reg->imagen."' height='50px' width='50px' >"
 				);
 		}
 		$results = array(
 			"sEcho"=>1, //Información para el datatables
 			"iTotalRecords"=>count($data), //enviamos el total registros al datatable
 			"iTotalDisplayRecords"=>count($data), //enviamos el total registros a visualizar
 			"aaData"=>$data);
 		echo json_encode($results);
	break;
}
//Fin de las validaciones de acceso
}
else
{
  require 'noacceso.php';
}
}
ob_end_flush();
?>