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


	//implementamos nuestro constructor
public function __construct(){

}

//metodo insertar registro
public function insertar($idcliente,$idusuario,$idvendedor,$idservicio,$idventa,$tipo_comprobante,$num_notadebito,$numcontrol_notadebito,$fecha_hora,$total_venta,$total_ventad,$tasa_dollar,$idclientedespacho,$observacion,
				$idarticulo,$idalmacen,$cantidad,$precio_venta,$precio_ventad,$nrolote,$porcentaje,$subtotald){
	$sql="INSERT INTO notadebito (idcliente,idusuario,idvendedor,idservicio,idventa,tipo_comprobante,num_notadebito,numcontrol_notadebito,fecha_hora,total_credito,total_creditod,tasa_dollar,estado,idclientedespacho,observacion) 
	     VALUES ('$idcliente','$idusuario','$idvendedor','$idservicio','$idventa','$tipo_comprobante','$num_notadebito','$numcontrol_notadebito','$fecha_hora','$total_venta','$total_ventad','$tasa_dollar','Pendiente','$idclientedespacho','$observacion')";
	//return ejecutarConsulta($sql);
	echo $sql;
	$sw									=true;
	$idnotadebitonew		=ejecutarConsulta_retornarID($sql) or $sw=false;;
	$num_elementos			=0;
	$num_notadebitos		=0;
	$notadebito 				=0;
	$notadebitoactual	=0;


	//Buscamos si el documento original tiene iva
	if ($sw){
		$sqliva			="SELECT v.idventa,v.tipo_comprobante,IF(ABS(v.total_ventaimpuestod-v.total_ventad)>0,'si','no') AS iva,
						v.total_venta,v.total_ventad,v.total_ventaimpuesto,v.total_ventaimpuestod FROM venta v WHERE v.idventa='$idventa'";
		$resultiva		=	ejecutarConsulta($sqliva);
		if (mysqli_num_rows($resultiva) > 0) {
			$filaiva 	= mysqli_fetch_assoc($resultiva);
			$ivabo 		= $filaiva["iva"];
			if($ivabo=='si'){ // Si tiene iva recalaculamos todo los valor
				$total_venta = round($total_venta * 1,2);
				$total_ventad = round($total_ventad * 1,2);
				$total_venta1  		= round($total_venta*1.16,2);
				$total_ventad1 		= round($total_ventad*1.16,2);
				$iva  				= round($total_venta*0.16,2);
				$ivad  				= round($total_ventad*0.16,2);
				$total_creditosi	= $total_venta;
				$total_creditodsi 	= $total_ventad;   
			}else{
				$total_venta1  		= $total_venta;
				$total_ventad1 		= $total_ventad;
				$iva  				= 0;
				$ivad  				= 0;
				$total_creditosi	= $total_venta;
				$total_creditodsi	= $total_ventad;
			}
		}
		/*
		echo ' -- $total_venta: '.$total_venta; 
		echo ' -- $total_venta1: '.$total_venta1;
		echo ' -- $total_ventad: '.$total_ventad;
		echo ' -- $total_ventad1: '.$total_ventad1;
		*/
		//Actualizamos la nota de debito
		
		$sql_update="UPDATE notadebito SET total_creditosi='$total_creditosi',
				total_creditodsi='$total_creditodsi',
				total_credito='$total_venta1',
				total_creditod='$total_ventad1',
				iva='$iva',
				ivad='$ivad'
				WHERE idnotadebito='$idnotadebitonew'";
		echo $sql_update;
		ejecutarConsulta($sql_update);
		
	}

		
	//echo 'Lote: '.$nrolote[$num_elementos].$sql1;
	//$sw=false;
	$num_elementos			=0;
	if ($sw){
		//
		while ($num_elementos < count($idarticulo)) {
			$idventadoc = $idventa;
			//verificamos el idventa del documento afectado
			if ($nrolote[$num_elementos]=='N/A'){
				$idventadoc = $idarticulo[$num_elementos];
			}
			$sql_detalles="INSERT INTO detalle_notadebito (idnotadebito,idventa,idarticulo,idalmacen,cantidad,precio,preciod,descuento,impuestoart18,porcentaje,numerolote) 
			VALUES ('$idnotadebitonew','$idventadoc','$idarticulo[$num_elementos]','$idalmacen[$num_elementos]','$cantidad[$num_elementos]','$precio_venta[$num_elementos]','$precio_ventad[$num_elementos]','$subtotald[$num_elementos]','0','0','$nrolote[$num_elementos]')";
			echo $sql_detalles;
			ejecutarConsulta($sql_detalles) or $sw=false;
			/* if ($nrolote[$num_elementos]<>'N/A' AND $sw) {
				$sql_detalles1="UPDATE detalle_venta SET cantidadev='$cantidad[$num_elementos]',devolucion='si' WHERE idventa='$idventa' AND idarticulo='$idarticulo[$num_elementos]'";
				echo $sql_detalles1;
				ejecutarConsulta($sql_detalles1) or $sw=false;
			} */
			$num_elementos=$num_elementos+1;
		}
	}


	if ($sw) {
		// Actualizamos los numeros de facturas,control y notadebito
		$idempresa_venta 	= 	$_SESSION['idempresa_venta_empresa'];
		/* $nrofactura			=	$num_comprobante + 1;
		$nrocontrol			=	$serie_comprobante + 1; */
		
		$nronotadebito			= $num_notadebito + 1;
		$nrocontrolnotadebito	= $numcontrol_notadebito + 1;
		$sql_update				= "UPDATE empresa_venta SET nronotadebito='$nronotadebito',nrocontrolnotadebito='$nrocontrolnotadebito' WHERE idempresa_venta='$idempresa_venta'";
		echo $sql_update;
		ejecutarConsulta($sql_update);
	}
 
	return $sw;
	
}

/*
public function anular($idnotadebito){
	//Buscamos la Nota de Credito
	$sql 				= "SELECT n.*,s.nombre as notadecredito FROM notadebito n INNER JOIN servicio s ON s.idservicio=n.idservicio WHERE n.idnotadebito='$idnotadebito'";
	$resultp		=	ejecutarConsulta($sql);
	$sw					= true;
	if (mysqli_num_rows($resultp) > 0) {
		while($filap = mysqli_fetch_assoc($resultp)){
			$notadecredito 		= $filap["notadecredito"];
			$idnotadebitod		= $filap["idnotadebito"];
			$montod						= $filap["total_creditod"];
			$idventa					= $filap["idventa"];	
			//ubicamos el tipo de nota de credito
			//Ojo Managware Por Defecto la nota de credito por devolucion siempre le colocamos NOTA DE CREDITO POR DEVOLUCION pero el cliente lo puede cambiar pendiente
			if ($notadecredito=='NOTA DE CREDITO POR DEVOLUCION') {
				//Primero Actualizamos la Factura
				$sql1				= "UPDATE venta SET devolucion=IF((montodev-'$montod')<=0,'no',devolucion),montodev=IF((montodev-'$montod')<=0,0,montodev-'$montod') WHERE idventa='$idventa'";
				ejecutarConsulta($sql1) or $sw=false;
				//Actualizamos Estadode nota de Credito
				if ($sw) {
					$sql2				= "UPDATE notadebito SET estado='Anulado' WHERE idnotadebito='$idnotadebito'";
					ejecutarConsulta($sql2) or $sw=false;
				}
				//Ahora Rebajamos Inventario. Buscamos cada articulo de la nota de crédito 
				if ($sw) {
					$sqld 			="SELECT * FROM detalle_notadebito WHERE idnotadebito='$idnotadebitod'";
					$resultd		=	ejecutarConsulta($sqld);
					//Procedemos actualizar los documentos
					if (mysqli_num_rows($resultd) > 0) {
						while($filad = mysqli_fetch_assoc($resultd)){
							$idventa		= $filad["idventa"];	
							$montod			= $filad["descuento"];
							$idarticulo	=	$filad["idarticulo"];
							$idalmacen	= $filad["idalmacen"];
							$cantidad		= $filad["cantidad"];

							// 
							//UPDATE articulo SET stock=stock + NEW.cantidad WHERE articulo.idarticulo = NEW.idarticulo;
							//UPDATE almacen1 SET stock=stock + NEW.cantidad WHERE almacen1.idarticulo = NEW.idarticulo AND almacen1.idalmacen=NEW.idalmacen;
							
							// buscamos en la table de detalle de venta el articulo para actualizar cada articulo
							$sqldv 			="SELECT * FROM detalle_venta WHERE idarticulo='$idarticulo' AND idventa='$idventa'";
							$resultdv		=	ejecutarConsulta($sqldv);
							if (mysqli_num_rows($resultdv) > 0) {
								$filadv = mysqli_fetch_assoc($resultdv);
								$lote		= $filadv["numerolote"];
								//Sé Actualiza todas las tablas que tienen que ver con el inventario
								$sql3		= "UPDATE articulo SET stock=stock - $cantidad WHERE idarticulo = '$idarticulo'";
								
								$sql4		= "UPDATE almacen1 SET stock=stock - $cantidad WHERE idarticulo = '$idarticulo' AND idalmacen='$idalmacen'";
								$sql5		= "UPDATE almacen2 SET stock=stock - $cantidad WHERE idarticulo = '$idarticulo' AND idalmacen='$idalmacen'";
								$sql6		= "UPDATE almacen3 SET stock=stock - $cantidad WHERE idarticulo = '$idarticulo' AND idalmacen='$idalmacen'";
								$sql7		= "UPDATE almacen4 SET stock=stock - $cantidad WHERE idarticulo = '$idarticulo' AND idalmacen='$idalmacen'";
								$sql8		= "UPDATE almacen5 SET stock=stock - $cantidad WHERE idarticulo = '$idarticulo' AND idalmacen='$idalmacen'";
								$sql9		= "UPDATE almacen6 SET stock=stock - $cantidad WHERE idarticulo = '$idarticulo' AND idalmacen='$idalmacen'";
								$sql10	= "UPDATE almacen7 SET stock=stock - $cantidad WHERE idarticulo = '$idarticulo' AND idalmacen='$idalmacen'";
								$sql11	= "UPDATE almacen8 SET stock=stock - $cantidad WHERE idarticulo = '$idarticulo' AND idalmacen='$idalmacen'";
								$sql12	= "UPDATE almacen9 SET stock=stock - $cantidad WHERE idarticulo = '$idarticulo' AND idalmacen='$idalmacen'";
								
								$sql13	= "UPDATE lote SET cantidad = cantidad-$cantidad WHERE idarticulo='$idarticulo' AND numerolote='$lote'";

								$sql14	= "UPDATE detalle_venta SET cantidadev = cantidadev-$cantidad WHERE idarticulo='$idarticulo' AND idventa='$idventa'";
								
								ejecutarConsulta($sql3);
								ejecutarConsulta($sql4);
								ejecutarConsulta($sql5);
								ejecutarConsulta($sql6);
								ejecutarConsulta($sql7);
								ejecutarConsulta($sql8);
								ejecutarConsulta($sql9);
								ejecutarConsulta($sql10);
								ejecutarConsulta($sql11);
								ejecutarConsulta($sql12);
								ejecutarConsulta($sql13);
								ejecutarConsulta($sql14);
							}else{
								$sw	= false;
							}
						}
					}else{
						$sw	= false;
					}
				}
			} else {
				//Ubicamos las facturas afectadas para actualizar saldo
				$sqld 			="SELECT * FROM detalle_notadebito WHERE idnotadebito='$idnotadebitod'";
				$resultd		=	ejecutarConsulta($sqld);
				//Procedemos actualizar los documentos
				if (mysqli_num_rows($resultd) > 0) {
					while($filad = mysqli_fetch_assoc($resultd)){
						$idventa		= $filad["idventa"];	
						$montod			= $filad["descuento"];
						$sql1				= "UPDATE venta SET notadebito=IF((montocxc-'$montod')<=0,'no',notadebito),montocxc=IF((montocxc-'$montod')<=0,0,montocxc-'$montod') WHERE idventa='$idventa'";
						ejecutarConsulta($sql1) or $sw=false;
						if ($sw) {
							$sql2				= "UPDATE notadebito SET estado='Anulado' WHERE idnotadebito='$idnotadebito'";
							ejecutarConsulta($sql2) or $sw=false;
						}
					}
				}else{
					$sw	= false;
				}
			}
		}
	}else{
		$sw	= false;
	}
	return $sw;
}
	*/
	
public function anular($idnotadebito){
	$sql2	= "UPDATE notadebito SET estado='Anulado' WHERE idnotadebito='$idnotadebito'";
	return ejecutarConsulta($sql2);
}


public function eliminararticulodecafeteriabd($iddetallec,$idnotadebitoc,$idarticuloc){
	$sql="DELETE FROM detalle_barra WHERE iddetalle_notadebito='$iddetallec' AND idnotadebito='$idnotadebitoc' AND idarticulo='$idarticuloc'";
	return ejecutarConsulta($sql);
}


//implementar un metodopara mostrar los datos de unregistro a modificar
public function mostrar($idnotadebito){
	$sql="SELECT v.idnotadebito,DATE(v.fecha_hora) as fecha,v.idcliente,p.nombre as cliente,p.num_documento, p.tipo_documento,u.idusuario,u.nombre as usuario, v.tipo_comprobante,v.total_credito,v.total_creditod,v.estado,v.tasa_dollar,v.num_notadebito,ve.idvendedor, v.idclientedespacho,d.nombred,v.observacion FROM notadebito v INNER JOIN persona p ON v.idcliente=p.idpersona INNER JOIN usuario u ON v.idusuario=u.idusuario LEFT join vendedor ve ON p.idzona=ve.idzona LEFT JOIN despacho d ON d.idclientedespacho=v.idclientedespacho WHERE idnotadebito='$idnotadebito'";
	return ejecutarConsultaSimpleFila($sql);
}

public function agregarDetalleventa($idventa){
	$sql="SELECT dv.idventa,dv.idarticulo,a.nombre as articulo,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 as precio, 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 exentot,(case a.exento when 'si' then dv.precio_venta when 'no' then 0 ELSE 0 end)/v.tasa_dollar as exentotd ,IF(a.exento='no',(dv.precio_venta - (dv.precio_venta/(1+((SELECT iva FROM empresa_impuestos)/100)))),0) as iva,(IF(a.exento='no',(dv.precio_venta - (dv.precio_venta/(1+((SELECT iva FROM empresa_impuestos)/100)))),0))/v.tasa_dollar as ivad,dv.precio_venta/v.tasa_dollar as preciod,(dv.precio_venta/(1+((SELECT iva FROM empresa_impuestos)/100)))/v.tasa_dollar as preciodsiniva,v.idcliente,v.serie_comprobante,v.serie_comprobante,v.serie_comprobante1,v.num_comprobante1,v.tasa_dollar,dv.impuestoart18 as impoart18,dv.impuestoart18/v.tasa_dollar as impoart18d,dv.preciopvp/v.tasa_dollar as preciopvpd,dv.descuento,dv.porcentaje,((dv.cantidad*dv.precio_venta-dv.descuento))/v.tasa_dollar as subtotald,dv.preciopvp	FROM detalle_venta dv INNER JOIN venta v ON v.idventa=dv.idventa INNER JOIN articulo a ON dv.idarticulo=a.idarticulo LEFT JOIN lote l ON a.idarticulo=l.idarticulo WHERE dv.idventa='$idventa' AND l.numerolote=dv.numerolote";
	return ejecutarConsulta($sql);
}

public function listarDetalle($idnotadebito){
	$sql="SELECT dv.cantidad,
		dv.porcentaje, 
		dv.descuento,
		concat(s.nombre,' FACTURA: ',v.num_comprobante) as descripcion, 
		dv.preciod,
		nc.total_creditod 
		FROM detalle_notadebito dv 
		INNER JOIN notadebito nc ON nc.idnotadebito=dv.idnotadebito 
		INNER JOIN servicio s ON s.idservicio=nc.idservicio 
		INNER JOIN venta v ON v.idventa=dv.idventa 
		WHERE dv.cantidad>0 AND dv.idnotadebito='$idnotadebito'";
	return ejecutarConsulta($sql);
}

//listar registros
public function listar(){
	//$sql="SELECT v.idnotadebito,DATE(v.fecha_hora) as fecha,v.idcliente,p.nombre as cliente,u.idusuario,u.nombre as usuario, v.tipo_comprobante,v.total_credito,v.total_creditod,v.estado,v.tasa_dollar,v.num_notadebito FROM notadebito v INNER JOIN persona p ON v.idcliente=p.idpersona INNER JOIN usuario u ON v.idusuario=u.idusuario ORDER BY v.idnotadebito DESC";
	$sql="SELECT v.idnotadebito,DATE(v.fecha_hora) as fecha,v.idcliente,p.nombre as cliente,u.idusuario,u.nombre as usuario, v.tipo_comprobante,
			v.total_credito,
			v.total_creditosi,
			v.total_creditod,
			v.total_creditodsi,
			v.iva,
			v.ivad,
			v.estado,
			v.tasa_dollar,
			v.num_notadebito 
			FROM notadebito v 
			INNER JOIN persona p ON v.idcliente=p.idpersona 
			INNER JOIN usuario u ON v.idusuario=u.idusuario 
			ORDER BY v.idnotadebito DESC";
	return ejecutarConsulta($sql);
}

public function listarnotadebito(){
	$sql="SELECT v.idnotadebito,DATE(v.fecha_hora) as fecha,v.idcliente,p.nombre as cliente,u.idusuario,u.nombre as usuario, v.tipo_comprobante,v.total_notadebito,v.total_notadebitod,v.estado,v.tasa_dollar,v.num_notadebito,v.idvendedor,ve.nombre as vendedor,p.idzona, z.nombre as zona FROM notadebito v INNER JOIN persona p ON v.idcliente=p.idpersona LEFT JOIN vendedor ve ON v.idvendedor=ve.idvendedor INNER JOIN usuario u ON v.idusuario=u.idusuario LEFT JOIN zona z ON p.idzona=z.idzona ORDER BY v.idnotadebito DESC";
	return ejecutarConsulta($sql);
}

public function agregarDetallenotadebito($idnotadebito){
	$sql="SELECT dv.idarticulo,a.nombre as articulo,l.numerolote,dv.cantidad,	(CASE WHEN pr.idlistaprecio =1 THEN a.preciod WHEN pr.idlistaprecio =2 THEN a.preciobd ELSE a.preciocd END)*(SELECT tasa_dollar FROM empresa_tasacambio ORDER by tasa_dollar DESC LIMIT 1) as precio,	a.preciod,0 as porcentaje,0 as descuento,	dv.cantidad*(CASE WHEN pr.idlistaprecio =1 THEN a.preciod WHEN pr.idlistaprecio =2 THEN a.preciobd ELSE a.preciocd END)*(SELECT tasa_dollar FROM empresa_tasacambio ORDER by tasa_dollar DESC LIMIT 1) as subtotal,	dv.cantidad*(CASE WHEN pr.idlistaprecio =1 THEN a.preciod WHEN pr.idlistaprecio =2 THEN a.preciobd ELSE a.preciocd END) as subtotald,	dv.idpedido,dv.idalmacen,	IF (a.exento='no',((CASE WHEN pr.idlistaprecio =1 THEN a.preciod WHEN pr.idlistaprecio =2 THEN a.preciobd ELSE a.preciocd END)*(SELECT tasa_dollar FROM empresa_tasacambio ORDER by tasa_dollar DESC LIMIT 1)*(1+((SELECT iva FROM empresa_impuestos)/100)))-((CASE WHEN pr.idlistaprecio =1 THEN a.preciod WHEN pr.idlistaprecio =2 THEN a.preciobd ELSE a.preciocd END)*(SELECT tasa_dollar FROM empresa_tasacambio ORDER by tasa_dollar DESC LIMIT 1)),0) as iva,	IF (a.exento='no',((CASE WHEN pr.idlistaprecio =1 THEN a.preciod WHEN pr.idlistaprecio =2 THEN a.preciobd ELSE a.preciocd END)*(1+((SELECT iva FROM empresa_impuestos)/100)))-((CASE WHEN pr.idlistaprecio =1 THEN a.preciod WHEN pr.idlistaprecio =2 THEN a.preciobd ELSE a.preciocd END)),0) as ivad,	IF (a.exento='si',(CASE WHEN pr.idlistaprecio =1 THEN a.preciod WHEN pr.idlistaprecio =2 THEN a.preciobd ELSE a.preciocd END)*(SELECT tasa_dollar FROM empresa_tasacambio ORDER by tasa_dollar DESC LIMIT 1),0) as exentot,	IF (a.exento='si',(CASE WHEN pr.idlistaprecio =1 THEN a.preciod WHEN pr.idlistaprecio =2 THEN a.preciobd ELSE a.preciocd END),0) as exentotd,	a.impuestoart18d*(SELECT tasa_dollar FROM empresa_tasacambio ORDER by tasa_dollar DESC LIMIT 1) as impoart18,	a.impuestoart18d as impoart18d,	(CASE WHEN pr.idlistaprecio =1 THEN a.preciopvpd WHEN pr.idlistaprecio =2 THEN a.pvpdb ELSE a.pvpdc END)*(SELECT tasa_dollar FROM empresa_tasacambio ORDER by tasa_dollar DESC LIMIT 1) as preciopvp,	(CASE WHEN pr.idlistaprecio =1 THEN a.preciopvpd WHEN pr.idlistaprecio =2 THEN a.pvpdb ELSE a.pvpdc END) as preciopvpd 	FROM detalle_notadebito dv 	INNER JOIN notadebito pe ON pe.idnotadebito=dv.idnotadebito	INNER JOIN persona pr ON pr.idpersona=pe.idcliente	INNER JOIN articulo a ON a.idarticulo=dv.idarticulo 	INNER JOIN notadebito p ON p.idnotadebito=dv.idnotadebito 	LEFT JOIN lote l ON l.idarticulo=dv.idarticulo 	WHERE dv.idnotadebito='$idnotadebito'";
	return ejecutarConsulta($sql);
}


public function notadebitocabecera($idnotadebito){
	//$sql= "SELECT v.idnotadebito, v.num_notadebito,v.idcliente, p.nombre AS cliente,d.nombred as cliented, p.direccion,d.direcciond,p.licencia_licor,d.licencia_licord, p.tipo_documento,d.tipo_documentod, p.num_documento, d.num_documentod, p.email, d.emaild, p.telefono,d.telefonod, p.resenaendollar, v.idusuario, u.nombre AS vendedor, DATE(v.fecha_hora) AS fecha, v.total_credito, v.total_creditod, v.tasa_dollar, t.nombre as nombrevendedor,s.idtiposervicio,s.nombre as notadebito,ve.serie_comprobante,ve.num_comprobante,ve.serie_comprobante1,ve.num_comprobante1,v.observacion FROM notadebito v INNER JOIN persona p ON v.idcliente=p.idpersona INNER JOIN servicio s ON v.idservicio=s.idservicio INNER JOIN venta ve ON ve.idventa=v.idventa LEFT JOIN despacho d ON v.idclientedespacho=d.idclientedespacho LEFT JOIN usuario u ON v.idusuario=u.idusuario LEFT JOIN vendedor t ON v.idvendedor=t.idvendedor WHERE v.idnotadebito='$idnotadebito'";
	$sql="SELECT v.idnotadebito, v.num_notadebito,v.idcliente, p.nombre AS cliente,d.nombred as cliented, p.direccion,d.direcciond,p.licencia_licor,d.licencia_licord, p.tipo_documento,d.tipo_documentod, p.num_documento, d.num_documentod, p.email, d.emaild, p.telefono,d.telefonod, p.resenaendollar, v.idusuario, u.nombre AS vendedor, DATE(v.fecha_hora) AS fecha, v.total_credito, v.total_creditod, v.total_creditosi,v.total_creditodsi,v.iva,v.ivad,v.tasa_dollar, ve.tasa_dollar AS tasaventa,t.nombre as nombrevendedor,s.idtiposervicio,s.nombre as notacredito,ve.serie_comprobante,ve.num_comprobante,ve.serie_comprobante1,ve.num_comprobante1,v.observacion,DATE(ve.fecha_hora) AS fechafactura, ve.total_ventad as total_ventadf,ve.total_ventaimpuestod as total_ventaimpuestodf,ve.total_venta as total_ventaf,ve.total_ventaimpuesto as total_ventaimpuestof,ve.total_ventaimpuestod-ve.total_ventad as ivadf,ve.total_ventaimpuesto-ve.total_venta as ivaf 
		FROM notadebito v 
		INNER JOIN persona p ON v.idcliente=p.idpersona 
		INNER JOIN servicio s ON v.idservicio=s.idservicio 
		INNER JOIN venta ve ON ve.idventa=v.idventa 
		LEFT JOIN despacho d ON v.idclientedespacho=d.idclientedespacho 
		LEFT JOIN usuario u ON v.idusuario=u.idusuario 
		LEFT JOIN vendedor t ON v.idvendedor=t.idvendedor 
		WHERE v.idnotadebito='$idnotadebito'";
	return ejecutarConsulta($sql);
}

public function notadebitodetalles($idnotadebito){
	$sql="SELECT a.nombre AS articulo, a.codigo, d.cantidad as cajas, f.factorconversion as unidadesxcaja, (f.factorconversion*d.cantidad) as unidades, a.unidademedidad as capacidad, (f.factorconversion*d.cantidad*a.unidademedidad) as litro, a.gradoalcohol, d.precio_venta,d.precio_ventad,(d.cantidad*d.precio_ventad) AS subtotal, c.idcategoriadeunidades, c.nombre, u.idunidademedidad, u.nombre, a.exento, t.codigotipoarticulo,al.porcentaje as alicuota FROM detalle_notadebito d INNER JOIN articulo a ON d.idarticulo=a.idarticulo INNER JOIN categoriadeunidades c ON c.idcategoriadeunidades=a.idcategoriadeunidades INNER JOIN unidademedidad u ON u.idunidademedidad=a.idunidademedidad INNER JOIN factorunidademedidad f ON f.idfactorunidademedidad=a.idfactorunidademedidad INNER JOIN tipoarticulo t ON t.idtipoarticulo=a.idtipoarticulo INNER JOIN alicuota al ON al.idalicuota=a.idalicuota WHERE d.idnotadebito='$idnotadebito'";
    return ejecutarConsulta($sql);
}

public function notadebitodetallesimporte($idnotadebito){
	$sql="SELECT s.nombre AS articulo, s.codigo, d.cantidad as cajas, 1 as unidadesxcaja, 1 as unidades, 1 as capacidad, 1 as litro, 0 as gradoalcohol, d.descuento as precio_ventad,d.descuento*v.tasa_dollar as precio_venta,d.descuento - ((d.porcentaje*d.descuento)/100) AS subtotal, 1 as idcategoriadeunidades, 'N/A' as nombre, 'NA/' AS idunidademedidad, 'NA/' AS nombre, 'si' as exento, 'NA/' AS codigotipoarticulo,d.porcentaje as alicuota, IF(v.num_comprobante<>0,CONCAT('FACTURA: ',SUBSTRING('000', 1, LENGTH(v.num_comprobante)+1),v.num_comprobante),CONCAT('NOTA ENTREGA: ',SUBSTRING('000', 1, LENGTH(v.num_comprobante1)+1),v.num_comprobante1)) AS factura FROM detalle_notadebito d LEFT JOIN venta v ON v.idventa=d.idventa INNER JOIN notadebito nc ON nc.idnotadebito=d.idnotadebito INNER JOIN servicio s ON s.idservicio=nc.idservicio WHERE d.idnotadebito='$idnotadebito'";
    return ejecutarConsulta($sql);
}

public function notadebitodetallesimportefactura($idnotacredito){
	//$sql="SELECT d.idarticulo,a.nombre as articulo,d.cantidad as cajas,d.precio_venta,d.precio_venta/v.tasa_dollar as precio_ventad,f.factorconversion AS unidadesxcaja,a.gradoalcohol AS gradoalcohol,a.unidademedidad AS capacidad,1 as unidades, 1 as litro FROM detalle_venta d INNER JOIN venta v ON v.idventa=d.idventa INNER JOIN notacredito n ON n.idventa=v.idventa LEFT JOIN articulo a ON a.idarticulo=d.idarticulo LEFT JOIN factorunidademedidad f ON f.idfactorunidademedidad=a.idfactorunidademedidad WHERE n.idnotacredito='$idnotacredito' UNION ALL SELECT d.idservicio as idarticulo,a.nombre as articulo,d.cantidad,d.precio_venta,d.precio_venta/v.tasa_dollar as precio_ventad,1 AS unidadesxcaja,0 AS gradoalcohol,1 AS capacidad,1 as unidades, 1 as litro FROM detalle_servicio d INNER JOIN venta v ON v.idventa=d.idventa INNER JOIN notacredito n ON n.idventa=v.idventa LEFT JOIN servicio a ON a.idservicio=d.idservicio WHERE n.idnotacredito='$idnotacredito'";
    $sql="SELECT d.idarticulo,a.nombre as articulo,d.cantidad as cajas,d.precio_venta,d.precio_venta/v.tasa_dollar as precio_ventad,f.factorconversion AS unidadesxcaja,a.gradoalcohol AS gradoalcohol,a.unidademedidad AS capacidad,1 as unidades, 1 as litro 
            FROM detalle_venta d 
            INNER JOIN venta v ON v.idventa=d.idventa 
            INNER JOIN notadebito n ON n.idventa=v.idventa 
            LEFT JOIN articulo a ON a.idarticulo=d.idarticulo 
            LEFT JOIN factorunidademedidad f ON f.idfactorunidademedidad=a.idfactorunidademedidad 
            WHERE n.idnotadebito='$idnotacredito' 
            UNION ALL 
            SELECT d.idservicio as idarticulo,a.nombre as articulo,d.cantidad,d.precio_venta,d.precio_venta/v.tasa_dollar as precio_ventad,1 AS unidadesxcaja,0 AS gradoalcohol,1 AS capacidad,1 as unidades, 1 as litro 
            FROM detalle_servicio d 
            INNER JOIN venta v ON v.idventa=d.idventa 
            INNER JOIN notadebito n ON n.idventa=v.idventa 
            LEFT JOIN servicio a ON a.idservicio=d.idservicio
            WHERE n.idnotadebito='$idnotacredito'";
	return ejecutarConsulta($sql);
}

public function notadebitodetallesdevolucion($idnotadebito){
	$sql="SELECT s.nombre AS articulo, s.codigo, d.cantidad as cajas, 1 as unidadesxcaja, 1 as unidades, 1 as capacidad, 1 as litro, 0 as gradoalcohol, d.precio as precio_venta,d.preciod as precio_ventad,d.preciod - ((d.porcentaje*d.preciod)/100) AS subtotal, 1 as idcategoriadeunidades, 'N/A' as nombre, 'NA/' AS idunidademedidad, 'NA/' AS nombre, s.exento, 'NA/' AS codigotipoarticulo,d.porcentaje as alicuota, CONCAT('FACTURA: ',SUBSTRING('000', 1, LENGTH(v.num_comprobante)+1),v.num_comprobante) AS factura FROM detalle_notadebito d LEFT JOIN venta v ON v.idventa=d.idventa INNER JOIN notadebito nc ON nc.idnotadebito=d.idnotadebito INNER JOIN articulo s ON s.idarticulo=d.idarticulo WHERE d.cantidad>0 AND d.idnotadebito='$idnotadebito'";
    return ejecutarConsulta($sql);
}
//
public function ventatasacambio(){
	$sql="SELECT tasa_dollar,tasa_euro FROM empresa_tasacambio WHERE idempresa='1'";
    return ejecutarConsulta($sql);
}

}

 ?>
