<?php 
//incluir la conexion de base de datos
require "../config/Conexion.php";
class Barra{


	//implementamos nuestro constructor
public function __construct(){

}

/* insertar($idtarjeta,$idusuario,$num_pedido,$fecha_hora,$impuesto,$total_venta,
			$_POST["idarticulo"],$_POST["cantidad"],$_POST["precio_venta"],$_POST["descuento"],$_POST["porcentaje"]) */

//metodo insertar registro
public function insertar($idtarjeta,$idusuario,$num_pedido,$fecha_hora,$impuesto,$total_venta,
$idarticulo,$cantidad,$precio_venta,$precio_ventad,$descuento,$porcentaje,$idalmacen){
	$sql = "INSERT INTO barra (idtarjeta,idusuario,num_pedido,fecha_hora,impuesto,total_pedido,estado) 
			VALUES ('$idtarjeta','$idusuario','$num_pedido','$fecha_hora','$impuesto','$total_venta','Pendiente')";
	//return ejecutarConsulta($sql);
	//echo ($sql); 
	$idpedidonew=ejecutarConsulta_retornarID($sql);
	$num_elementos=0;
	$sw=true;
	while ($num_elementos < count($idarticulo)) {
	 	$sql_detalle = "INSERT INTO detalle_barra (idpedido,idarticulo,cantidad,precio_venta,preciod,descuento,porcentaje,idalmacen) 
		 				VALUES('$idpedidonew','$idarticulo[$num_elementos]','$cantidad[$num_elementos]','$precio_venta[$num_elementos]','$precio_ventad[$num_elementos]','$descuento[$num_elementos]','$porcentaje[$num_elementos]','$idalmacen[$num_elementos]')";
		 //echo ($sql_detalle);
		 ejecutarConsulta($sql_detalle) or $sw=false;
	 	$num_elementos=$num_elementos+1;
	}
	 
	return $sw;
}

//metodo insertar registro
public function actualizar($idpedido,$idtarjeta,$idusuario,$num_pedido,$fecha_hora,$impuesto,$total_venta,
$idarticulo,$cantidad,$precio_venta,$precio_ventad,$descuento,$porcentaje,$idalmacen){
	//Actualizamos el total del pedido de barra
	$sql = "UPDATE barra SET total_pedido='$total_venta' WHERE idpedido='$idpedido'";
	//echo ($sql);
	$sw=true;
	ejecutarConsulta($sql) or $sw=false;
	if ($sw) {
		//Borramos todos articulo de ese pedido en detalle de barra
		$sql = "DELETE FROM detalle_barra WHERE idpedido='$idpedido'";
		ejecutarConsulta($sql) or $sw=false;
		//echo ($sql);
		//Ahora agregamos los articulos de nuevo
		if ($sw) {
			$num_elementos=0;
			while ($num_elementos < count($idarticulo)) {
				$sql_detalle = "INSERT INTO detalle_barra (idpedido,idarticulo,cantidad,precio_venta,preciod,descuento,porcentaje,idalmacen) 
								VALUES('$idpedido','$idarticulo[$num_elementos]','$cantidad[$num_elementos]','$precio_venta[$num_elementos]','$precio_ventad[$num_elementos]','$descuento[$num_elementos]','$porcentaje[$num_elementos]','$idalmacen[$num_elementos]')";
				echo ($sql_detalle);
				ejecutarConsulta($sql_detalle) or $sw=false;
				$num_elementos=$num_elementos+1;
			}
		}	
	}
	return $sw;
}

public function anular($idpedido){
	$sql="UPDATE barra SET estado='Anulado' WHERE idpedido='$idpedido'";
	return ejecutarConsulta($sql);
}


//implementar un metodopara mostrar los datos de unregistro a modificar

public function mostrar($idpedido){
	$sql="SELECT v.idpedido,DATE(v.fecha_hora) as fecha,v.idtarjeta,p.nombre as tarjeta,u.idusuario,u.nombre as usuario, v.num_pedido,v.total_pedido,v.impuesto,v.estado FROM barra v INNER JOIN tarjeta p ON v.idtarjeta=p.idtarjeta INNER JOIN usuario u ON v.idusuario=u.idusuario WHERE idpedido='$idpedido'";
	return ejecutarConsultaSimpleFila($sql);
}

public function buscarPedido($idtarjeta){
	$sql="SELECT v.idpedido,DATE(v.fecha_hora) as fecha,v.idtarjeta,p.nombre as tarjeta,u.idusuario,u.nombre as usuario, v.num_pedido,v.total_pedido,v.impuesto,v.estado FROM barra v INNER JOIN tarjeta p ON v.idtarjeta=p.idtarjeta INNER JOIN usuario u ON v.idusuario=u.idusuario WHERE v.estado='Pendiente' and v.idtarjeta='$idtarjeta'";
	return ejecutarConsultaSimpleFila($sql);
}

public function buscarNumeroPedido(){
	/* $sql="SELECT * FROM barra WHERE num_pedido = (SELECT MAX(num_pedido) from barra)"; */
	$sql="SELECT COUNT(*) as num_pedido FROM barra";
	
	return ejecutarConsultaSimpleFila($sql);
}

public function listarDetalle($idpedido){
	$sql="SELECT dv.idpedido,dv.idarticulo,a.nombre,dv.cantidad,dv.precio_venta,dv.descuento,(dv.cantidad*dv.precio_venta-dv.descuento) as subtotal FROM detalle_barra dv INNER JOIN articulo a ON dv.idarticulo=a.idarticulo WHERE dv.idpedido='$idpedido'";
	return ejecutarConsulta($sql);
}

public function agregarDetallePedidoDeBarra($idpedido){
	$sql="SELECT dv.iddetalle_pedido,dv.idpedido,b.idtarjeta,t.num_tarjeta,dv.idarticulo,dv.idalmacen, (case a.exento when 'si' then CONCAT(a.nombre,' (E)') when 'no' then a.nombre ELSE a.nombre end) as nombre, dv.cantidad,dv.precio_venta, dv.precio_venta/(1+((SELECT iva FROM empresa_impuestos)/100)) as preciosiniva, dv.descuento, (dv.cantidad*dv.precio_venta-dv.descuento) as subtotal,a.porcentaje,l.numerolote,DATE_FORMAT(l.fecha, '%d%m%Y') as fecha, a.exento, (case a.exento when 'si' then dv.precio_venta when 'no' then 0 ELSE 0 end) as mexento, (dv.precio_venta - (dv.precio_venta/(1+((SELECT iva FROM empresa_impuestos)/100)))) as iva, dv.preciod FROM detalle_barra dv INNER JOIN articulo a ON dv.idarticulo=a.idarticulo LEFT JOIN lote l ON a.idarticulo=l.idarticulo LEFT JOIN barra b ON dv.idpedido=b.idpedido LEFT JOIN tarjeta t ON b.idtarjeta=t.num_tarjeta WHERE dv.idpedido='$idpedido'";
	return ejecutarConsulta($sql);
}
//agregarDetallePedidoDeBarra
public function agregarDetallePorTarjeDeCliente($idtarjeta){
	$sql="SELECT dv.idpedido,dv.idarticulo,dv.idalmacen,a.nombre,dv.cantidad,dv.precio_venta, 
	IF ((((a.preciod*(1+(SELECT iva FROM empresa_impuestos)/100))-TRUNCATE((a.preciod*(1+(SELECT iva FROM empresa_impuestos)/100)),0))>0.49 AND ((a.preciod*(1+(SELECT iva FROM empresa_impuestos)/100))-TRUNCATE((a.preciod*(1+(SELECT iva FROM empresa_impuestos)/100)),0))<0.55), (TRUNCATE((a.preciod*(1+(SELECT iva FROM empresa_impuestos)/100)),0)+0.5), (round(a.preciod*(1+((SELECT iva FROM empresa_impuestos)/100))))) as preciod,
	dv.precio_venta/(1+(SELECT iva FROM empresa_impuestos)/100) as preciosiniva,
	IF (a.exento='no',dv.precio_venta-dv.precio_venta/(1+(SELECT iva FROM empresa_impuestos)/100),0) as iva,
    IF (a.exento='si',dv.precio_venta,0) as exentot,
	a.exento,
	dv.descuento, (dv.cantidad*dv.precio_venta-dv.descuento) as subtotal,a.porcentaje,l.numerolote,l.fecha,b.idtarjeta,b.estado FROM detalle_barra dv INNER JOIN articulo a ON dv.idarticulo=a.idarticulo INNER JOIN barra b ON dv.idpedido=b.idpedido LEFT JOIN lote l ON a.idarticulo=l.idarticulo WHERE b.estado='Pendiente' and b.idtarjeta='$idtarjeta'";
	return ejecutarConsulta($sql);
}

//listar registros
public function listar(){
	$sql="SELECT v.idpedido,DATE(v.fecha_hora) as fecha,v.idtarjeta,t.nombre as tarjeta,u.idusuario,u.nombre as usuario, v.num_pedido,v.total_pedido,v.impuesto,v.estado FROM barra v INNER JOIN tarjeta t ON v.idtarjeta=t.idtarjeta INNER JOIN usuario u ON v.idusuario=u.idusuario ORDER BY v.idpedido DESC";
	return ejecutarConsulta($sql);
}

public function listarPedidoDeBarra(){
	$sql="SELECT v.idpedido,DATE(v.fecha_hora) as fecha,v.idtarjeta,p.nombre as tarjeta,u.idusuario,u.nombre as usuario, v.num_pedido,v.total_pedido,v.impuesto,v.estado FROM barra v INNER JOIN tarjeta p ON v.idtarjeta=p.idtarjeta INNER JOIN usuario u ON v.idusuario=u.idusuario WHERE v.estado='Pendiente'";
	return ejecutarConsulta($sql);
}

public function ventacabecera($idpedido){
	$sql= "SELECT v.idpedido, v.idcliente, p.nombre AS cliente, p.direccion, p.tipo_documento, p.num_documento, p.email, p.telefono, v.idusuario, u.nombre AS usuario, v.tipo_comprobante, v.serie_comprobante, v.num_comprobante, DATE(v.fecha_hora) AS fecha, v.impuesto, v.total_venta FROM barra v INNER JOIN persona p ON v.idcliente=p.idpersona INNER JOIN usuario u ON v.idusuario=u.idusuario WHERE v.idpedido='$idpedido'";
	return ejecutarConsulta($sql);
}

public function ventadetalles($idpedido){
	$sql="SELECT a.nombre AS articulo, a.codigo, d.cantidad, d.precio_venta, d.descuento, (d.cantidad*d.precio_venta-d.descuento) AS subtotal FROM detalle_barra d INNER JOIN articulo a ON d.idarticulo=a.idarticulo WHERE d.idpedido='$idpedido'";
         return ejecutarConsulta($sql);
}


}

 ?>
