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


	//implementamos nuestro constructor
public function __construct(){

}

//metodo insertar registro
public function insertar($idcliente,$iddiasdecredito,$idalmacen1,$idusuario,$tipo_comprobante,$serie_comprobante,$num_comprobante,$serie_comprobante1,$num_comprobante1,$fecha_hora,$impuesto,
$total_venta,$total_ventad,$total_ventai,$total_ventaid,$idtransportista,$idvendedor,$tasa_dollar,$idclientedespacho,$idtransporte,$ordendecompra,$idarticulo,$cantidad,$precio_venta,$descuento,$nrolote,$idpedidosolo,$idalmacen,$impoart18,$precio_ventapvp){
	if ($tipo_comprobante<>'Factura'){
		$serie_comprobante 	= 0;
		$num_comprobante	= 0;	
	}
	 $sql="INSERT INTO venta (idcliente,iddiasdecredito,idalmacen,idusuario,tipo_comprobante,serie_comprobante,num_comprobante,serie_comprobante1,num_comprobante1,fecha_hora,impuesto,total_venta,total_ventad,total_ventaimpuesto,total_ventaimpuestod,estado,idtransportista,tasa_dollar,idclientedespacho,idvendedor,idtransporte,ordendecompra) 
	VALUES ('$idcliente','$iddiasdecredito','$idalmacen1','$idusuario','$tipo_comprobante','$serie_comprobante','$num_comprobante','$serie_comprobante1','$num_comprobante1','$fecha_hora','$impuesto','$total_venta','$total_ventad','$total_ventai','$total_ventaid','Pendiente','$idtransportista','$tasa_dollar','$idclientedespacho','$idvendedor','$idtransporte','$ordendecompra')";
	//return ejecutarConsulta($sql);
	echo $sql;
	$idventanew			=ejecutarConsulta_retornarID($sql);
	$num_elementos	=0;
	$num_pedidos		=0;
	$pedido 				=0;
	$pedidoactual		=0;
	$sw							=true;
	
	while ($num_elementos < count($idarticulo)) {
		//Se verifica si es un articulo o un servicio
		if ($nrolote[$num_elementos]=='N/A'){
			//Solo para Fisioterapeuta
			$sql_detalles="INSERT INTO detalle_servicio (idventa, idservicio, idcita, cantidad, precio_venta, descuento) VALUES ('$idventanew','$idarticulo[$num_elementos]','$idpedidosolo[$num_elementos]','$cantidad[$num_elementos]','$precio_venta[$num_elementos]','$descuento[$num_elementos]')";
			
			//$sql_detalles="INSERT INTO detalle_servicio (idventa, idservicio, cantidad, precio_venta, descuento) VALUES ('$idventanew','$idarticulo[$num_elementos]','$cantidad[$num_elementos]','$precio_venta[$num_elementos]','$descuento[$num_elementos]')";
			echo $sql_detalles;
			ejecutarConsulta($sql_detalles) or $sw=false;
		}else{
			$sql_lote 	= "SELECT idlote, idarticulo, numerolote, fecha, cantidad FROM lote WHERE idarticulo='$idarticulo[$num_elementos]' AND cantidad>0";
			echo $sql_lote;
			$result		=	ejecutarConsulta($sql_lote);
			if (mysqli_num_rows($result) > 0) {
				$cantidad1=$cantidad[$num_elementos];
				while($fila = mysqli_fetch_assoc($result)){
					$cantidadi 	= $cantidad1;
					$numerolote = $fila["numerolote"];
					$fecha			= $fila["fecha"];
					$cantidadl	= $fila["cantidad"];
					$cantidad1 	= $cantidad1 - $cantidadl;
					if ($cantidad1>0){
						$sql_detalle="INSERT INTO detalle_venta (idventa,idarticulo,cantidad,precio_venta,descuento,numerolote,idalmacen,impuestoart18,preciopvp) VALUES('$idventanew','$idarticulo[$num_elementos]','$cantidadl','$precio_venta[$num_elementos]','$descuento[$num_elementos]','$numerolote','$idalmacen[$num_elementos]','$impoart18[$num_elementos]','$precio_ventapvp[$num_elementos]')";
						echo $sql_detalle;
						ejecutarConsulta($sql_detalle) or $sw=false;
					}else{
						$sql_detalle="INSERT INTO detalle_venta (idventa,idarticulo,cantidad,precio_venta,descuento,numerolote,idalmacen,impuestoart18,preciopvp) VALUES('$idventanew','$idarticulo[$num_elementos]','$cantidadi','$precio_venta[$num_elementos]','$descuento[$num_elementos]','$numerolote','$idalmacen[$num_elementos]','$impoart18[$num_elementos]','$precio_ventapvp[$num_elementos]')";
						echo $sql_detalle;
						ejecutarConsulta($sql_detalle) or $sw=false;
						break;
					}
				}   
			} else {
				die("Error: No hay datos en la tabla seleccionada");
			}
			//Ahora verificamos si el articulo es de promoción
			
			if ($sw){
				$cantidadf			= $cantidad[$num_elementos];
				$sql_promocion 	= "SELECT a.idarticulo as idarticulop,de.idarticulo as idarticulopindividual,de.idarticuloorigen,de.idalmacen,de.cantidad,de.preciod FROM articulopromociones a INNER JOIN detalle_articulopromociones de ON de.idarticuloorigen=a.idarticulo WHERE a.idarticulo='$idarticulo[$num_elementos]'";
				$resultp				=	ejecutarConsulta($sql_promocion);
				if (mysqli_num_rows($resultp) > 0) {
					while($filap = mysqli_fetch_assoc($resultp)){
						$idarticulop 	= $filap["idarticulopindividual"];
						$preciop			= $filap["preciod"];
						$cantidadp		= $filap["cantidad"]*$cantidadf;
						$idalmacenp		= $filap["idalmacen"];
						$sql_detallep="INSERT INTO detalle_ventap (idventa,idarticulo,cantidad,precio_venta,descuento,numerolote,idalmacen) 
						VALUES('$idventanew','$idarticulop','$cantidadp','$preciop','0','N/A','$idalmacenp')";
						echo $sql_detallep;
						ejecutarConsulta($sql_detallep) or $sw=false;
					}
				}	
			}

 		//			echo ' Pedido : '.$idpedidosolo[$num_elementos];
			//Se actualiza el pedido si lo hay
			$pedidonro=$idpedidosolo[$num_elementos]*1;
			if ($pedidonro>0){
				$sql_update_pedido	= "UPDATE detalle_pedido 
				SET cantidad_facturada=cantidad_facturada+$cantidad[$num_elementos], 
				backorder= 
				CASE 
					WHEN backorder-$cantidad[$num_elementos]<=0 THEN 0 
					ELSE backorder-$cantidad[$num_elementos]
				END 
				WHERE idarticulo='$idarticulo[$num_elementos]' AND idpedido='$idpedidosolo[$num_elementos]'";
				//echo $sql_update_pedido;
				ejecutarConsulta($sql_update_pedido) or $sw=false;
				// Se verifica el estado del pedido
				$sql_update_estado = "UPDATE pedido p SET p.estado = 
				CASE 
					WHEN (SELECT SUM(de.backorder) FROM detalle_pedido de WHERE de.idpedido='$pedidonro' > 0) AND (SELECT SUM(de.cantidad_facturada) FROM detalle_pedido de WHERE de.idpedido='$pedidonro' <= 0) THEN 'Pendiente' 
					WHEN (SELECT SUM(de.backorder) FROM detalle_pedido de WHERE de.idpedido='$pedidonro' > 0) AND (SELECT SUM(de.cantidad_facturada) FROM detalle_pedido de WHERE de.idpedido='$pedidonro' > 0) THEN 'Parcial' 
					WHEN (SELECT SUM(de.backorder) FROM detalle_pedido de WHERE de.idpedido='$pedidonro' <= 0) AND (SELECT SUM(de.cantidad_facturada) FROM detalle_pedido de WHERE de.idpedido='$pedidonro' > 0) THEN 'Facturado' 
					ELSE 'NO' END WHERE p.idpedido='$pedidonro'"; 
				ejecutarConsulta($sql_update_estado) or $sw=false;
				//
			}
		}
		$num_elementos=$num_elementos+1;	   
	} 

	if ($sw) {
		// Actualizamos los numeros de facturas
		$idempresa_venta 	= 	$_SESSION['idempresa_venta_empresa'];
		$nronotaentrega		=	$num_comprobante1*1 + 1;
		$nrocontrol1		=	$serie_comprobante1*1 + 1;
		if ($tipo_comprobante=='Factura'){
			$nrofactura		=	$num_comprobante + 1;
			$nrocontrol		=	$serie_comprobante + 1;
			$sqlf			=	" ";
			$sql_update		=	"UPDATE empresa_venta SET nrofactura='$nrofactura', nrocontrol='$nrocontrol', nronotaentrega='$nronotaentrega',nrocontrolnotaentrega='$nrocontrol1' WHERE idempresa_venta='$idempresa_venta'";	
		}else{
			$sql_update		=	"UPDATE empresa_venta SET nronotaentrega='$nronotaentrega',nrocontrolnotaentrega='$nrocontrol1' WHERE idempresa_venta='$idempresa_venta'";
		}
		//echo $sql_update;
		ejecutarConsulta($sql_update);
	}

	return $sw;
	
}

public function insertarc($idcliente,$idusuario,$tipo_comprobante,$serie_comprobante,$num_comprobante,$fecha_hora,$impuesto,$total_venta,$total_ventad,$total_ventai,$total_ventaid,$idtransportista,$idvendedor,$tasa_dollar,$idclientedespacho,$modo_pago,$idarticulo,$cantidad,$precio_venta,$descuento,$nrolote,$idpedidosolo,$idalmacen,$impoart18,$precio_ventapvp){
	$sql="INSERT INTO venta (idcliente,idusuario,tipo_comprobante,serie_comprobante,num_comprobante,fecha_hora,impuesto,total_venta,total_ventad,total_ventaimpuesto,total_ventaimpuestod,estado,idtransportista,tasa_dollar,idclientedespacho,idvendedor) 
	VALUES ('$idcliente','$idusuario','$tipo_comprobante','$serie_comprobante','$num_comprobante','$fecha_hora','$impuesto','$total_venta','$total_ventad','$total_ventai','$total_ventaid','Pendiente','$idtransportista','$tasa_dollar','$idclientedespacho','$idvendedor')";
	//return ejecutarConsulta($sql);
	//echo $sql;
	$idventanew			=ejecutarConsulta_retornarID($sql);
	$num_elementos	=0;
	$num_pedidos		=0;
	$pedido 				=0;
	$pedidoactual		=0;
	$sw							=true;
	
	while ($num_elementos < count($idarticulo)) {
		//Se verifica si es un articulo o un servicio
		if ($nrolote[$num_elementos]=='N/A'){
			//Solo para Fisioterapeuta
			$precio_ventad = ($precio_venta[$num_elementos])*1/($tasa_dollar*1);
			$sql_detalles="INSERT INTO detalle_servicio (idventa, idservicio, idcita, cantidad, precio_venta,precio_ventad, descuento) VALUES ('$idventanew','$idarticulo[$num_elementos]','$idpedidosolo[$num_elementos]','$cantidad[$num_elementos]','$precio_venta[$num_elementos]','$precio_ventad','$descuento[$num_elementos]')";
			
			//$sql_detalles="INSERT INTO detalle_servicio (idventa, idservicio, cantidad, precio_venta, descuento) VALUES ('$idventanew','$idarticulo[$num_elementos]','$cantidad[$num_elementos]','$precio_venta[$num_elementos]','$descuento[$num_elementos]')";
			//echo $sql_detalles;
			ejecutarConsulta($sql_detalles) or $sw=false;
		}else{
			$sql_lote 	= "SELECT idlote, idarticulo, numerolote, fecha, cantidad FROM lote WHERE idarticulo='$idarticulo[$num_elementos]' AND cantidad>0";
  //			echo $sql_lote;
			$result		=	ejecutarConsulta($sql_lote);
			if (mysqli_num_rows($result) > 0) {
				$cantidad1		=$cantidad[$num_elementos];
				while($fila 	= mysqli_fetch_assoc($result)){
					$cantidadi 	= $cantidad1;
					$numerolote = $fila["numerolote"];
					$fecha			= $fila["fecha"];
					$cantidadl	= $fila["cantidad"];
					$cantidad1 	= $cantidad1 - $cantidadl;
					if ($cantidad1>0){
						$sql_detalle="INSERT INTO detalle_venta (idventa,idarticulo,cantidad,precio_venta,descuento,numerolote,idalmacen,impuestoart18,preciopvp) VALUES('$idventanew','$idarticulo[$num_elementos]','$cantidadl','$precio_venta[$num_elementos]','$descuento[$num_elementos]','$numerolote','$idalmacen[$num_elementos]','$impoart18[$num_elementos]','$precio_ventapvp[$num_elementos]')";
						//echo $sql_detalle;
						ejecutarConsulta($sql_detalle) or $sw=false;
					}else{
						$sql_detalle="INSERT INTO detalle_venta (idventa,idarticulo,cantidad,precio_venta,descuento,numerolote,idalmacen,impuestoart18,preciopvp) VALUES('$idventanew','$idarticulo[$num_elementos]','$cantidadi','$precio_venta[$num_elementos]','$descuento[$num_elementos]','$numerolote','$idalmacen[$num_elementos]','$impoart18[$num_elementos]','$precio_ventapvp[$num_elementos]')";
						//echo $sql_detalle;
						ejecutarConsulta($sql_detalle) or $sw=false;
						break;
					}
				}   
			} else {
				die("Error: No hay datos en la tabla seleccionada");
			}
			
		}
		$num_elementos=$num_elementos+1;	   
	}
	/***
	 * Actualizamos el metodo de pago de la factura 
	 */
	if ($sw) {
	// Actualizamos la tabla de pagos
		$sql_pagos 	= "INSERT INTO venta_pagoscita(idventa, idcliente, idformapago, idusuario, fecha_hora, total_pago, total_pagod, estado) 
	 	VALUES ('$idventanew','$idcliente','$modo_pago','$idusuario','$fecha_hora','$total_venta','$total_ventad','pagado')";
 //	 	echo $sql_pagos;
	 	ejecutarConsulta($sql_pagos) or $sw=false;
	 
	}
	//Actualizamos el estado de la factura
	if ($sw) {
		$sql_updatep = "UPDATE venta SET estado='Facturado' WHERE idventa='$idventanew'";
		//echo $sql_updatep;
		ejecutarConsulta($sql_updatep) or $sw=false;
		 
	}
	// Actualizamos los numeros de facturas
	if ($sw) {
		$idempresa_venta 	= 	$_SESSION['idempresa_venta_empresa'];
		$nrofactura			=	$num_comprobante + 1;
		$nrocontrol			=	$serie_comprobante + 1;
		$sql_update		=	"UPDATE empresa_venta SET nrofactura='$nrofactura',nrocontrol='$nrocontrol'
		WHERE idempresa_venta='$idempresa_venta'";
		//echo $sql_update;
		ejecutarConsulta($sql_update);
	}

	return $sw;
	
}

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

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


//implementar un metodopara mostrar los datos de unregistro a modificar
public function mostrar($idventa){
	$sql="SELECT v.idventa,DATE(v.fecha_hora) as fecha,v.idcliente,p.nombre as cliente, p.tipo_documento,p.num_documento,u.idusuario,u.nombre as usuario, v.tipo_comprobante,v.serie_comprobante,v.num_comprobante,v.serie_comprobante1,v.num_comprobante1,v.total_venta,v.impuesto,v.estado,v.idalmacen,v.idtransportista,v.idtransporte,v.idvendedor,v.idclientedespacho,v.ordendecompra,d.nombred FROM venta v INNER JOIN persona p ON v.idcliente=p.idpersona INNER JOIN usuario u ON v.idusuario=u.idusuario INNER JOIN despacho d ON v.idclientedespacho=d.idclientedespacho WHERE idventa='$idventa'";
	return ejecutarConsultaSimpleFila($sql);
}

public function listarDetalle($idventa){
	$sql="SELECT dv.idventa,dv.idarticulo,a.nombre,dv.cantidad,dv.precio_venta,(dv.precio_venta/v.tasa_dollar) as precio_ventad,dv.descuento,(dv.descuento/v.tasa_dollar) as descuentod,(dv.cantidad*dv.precio_venta-dv.descuento) as subtotal, dv.impuestoart18, (((dv.precio_venta/v.tasa_dollar)*dv.cantidad)-(dv.descuento/v.tasa_dollar)) as subtotald FROM detalle_venta dv INNER JOIN venta v ON v.idventa=dv.idventa INNER JOIN articulo a ON dv.idarticulo=a.idarticulo WHERE dv.idventa='$idventa'";
	return ejecutarConsulta($sql);
}

public function mostrardetallefactura($idventa){
	$sql="SELECT d.idarticulo,a.nombre,d.cantidad,d.precio_venta FROM detalle_venta d INNER JOIN articulo a ON d.idarticulo=a.idarticulo WHERE d.idventa='$idventa'";
	return ejecutarConsulta($sql);
}



//listar registros
public function listar(){
	//fisioterapia
	//$sql="SELECT v.idventa,DATE(v.fecha_hora) as fecha,v.idcliente, CONCAT(p.nombre1,' ',p.apellido1) as cliente,u.idusuario,u.nombre as usuario, v.tipo_comprobante,v.serie_comprobante,v.num_comprobante,v.total_venta,v.impuesto,v.estado FROM venta v INNER JOIN registro p ON v.idcliente=p.idpaciente INNER JOIN usuario u ON v.idusuario=u.idusuario ORDER BY v.idventa DESC";
	//
	$sql="SELECT v.idventa,date_format(DATE(v.fecha_hora), '%d-%m-%Y') as fecha,v.idcliente,p.nombre as cliente,u.idusuario,u.nombre as usuario, v.tipo_comprobante,IF(v.serie_comprobante=0,'',v.serie_comprobante) as serie_comprobante, IF(v.num_comprobante=0,'',v.num_comprobante) as num_comprobante,v.serie_comprobante1,v.num_comprobante1,v.total_ventaimpuestod-v.montocxc-v.montodev as total_ventaimpuestod,v.total_venta,v.impuesto,v.estado,v.notacredito,v.devolucion,v.montocxc,v.montodev FROM venta v INNER JOIN persona p ON v.idcliente=p.idpersona INNER JOIN usuario u ON v.idusuario=u.idusuario ORDER BY v.idventa DESC";
	return ejecutarConsulta($sql);
}
//SELECT v.idventa,DATE(v.fecha_hora) as fecha,v.idcliente,p.nombre as cliente,u.idusuario,u.nombre as usuario, v.tipo_comprobante,IF(v.serie_comprobante=0,'',v.serie_comprobante) as serie_comprobante, IF(v.num_comprobante=0,'',v.num_comprobante) as num_comprobante,v.serie_comprobante1,v.num_comprobante1,v.total_ventaimpuestod-v.montocxc-v.montodev as total_ventaimpuestod,v.total_venta,v.impuesto,v.estado,v.notacredito,v.devolucion,v.montocxc,v.montodev FROM venta v INNER JOIN persona p ON v.idcliente=p.idpersona INNER JOIN usuario u ON v.idusuario=u.idusuario WHERE v.estado<>'Anulado' ORDER BY v.idventa DESC

public function listarpagada(){
	
	$sql="SELECT v.idventa,date_format(DATE(v.fecha_hora), '%d-%m-%Y') as fecha,NOW() as today,v.idcliente,p.nombre as cliente,u.idusuario,u.nombre as usuario, v.tipo_comprobante,IF(v.serie_comprobante=0,'',v.serie_comprobante) as serie_comprobante, IF(v.num_comprobante=0,'',v.num_comprobante) as num_comprobante,v.serie_comprobante1,v.num_comprobante1,v.total_ventad-v.montocxc-v.montodev as total_ventaimpuestod,v.total_venta,v.impuesto,v.estado,v.notacredito,v.devolucion,v.montocxc,v.montodev,ve.idvendedor,ve.nombre as vendedor,	IF(ve.nombre LIKE 'CHRISTIAN%','no',IF(ve.nombre LIKE 'RICARDO GONZALEZ%','no','si')) as cobrar,DATEDIFF(NOW(),DATE(v.fecha_hora)) as discobranza	FROM venta v 	INNER JOIN persona p ON v.idcliente=p.idpersona 	INNER JOIN usuario u ON v.idusuario=u.idusuario	INNER JOIN vendedor ve ON  v.idvendedor=ve.idvendedor	WHERE v.estado='Pagada' and v.comision='no' and v.total_ventad>0 ORDER BY v.idventa DESC";
	return ejecutarConsulta($sql);
}

public function listarf(){
	//fisioterapia
	$sql="SELECT v.idventa,date_format(DATE(v.fecha_hora), '%d-%m-%Y') as fecha,v.idcliente, CONCAT(p.nombre1,' ',p.apellido1) as cliente,u.idusuario,u.nombre as usuario, v.tipo_comprobante,v.serie_comprobante,v.num_comprobante,v.total_venta,v.impuesto,v.estado FROM venta v INNER JOIN registro p ON v.idcliente=p.idpaciente INNER JOIN usuario u ON v.idusuario=u.idusuario ORDER BY v.idventa DESC";
	//
	//$sql="SELECT v.idventa,DATE(v.fecha_hora) as fecha,v.idcliente,p.nombre as cliente,u.idusuario,u.nombre as usuario, v.tipo_comprobante,v.serie_comprobante,v.num_comprobante,v.total_venta,v.impuesto,v.estado FROM venta v INNER JOIN persona p ON v.idcliente=p.idpersona INNER JOIN usuario u ON v.idusuario=u.idusuario ORDER BY v.idventa DESC";
	return ejecutarConsulta($sql);
}


public function ventacabecera($idventa){
	$sql= "SELECT v.idventa, v.idcliente, p.nombre AS cliente,d.nombred as cliented, p.nombref as codigo,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, ve.nombre AS vendedor, ve.telefono as telefonov, v.tipo_comprobante, v.serie_comprobante, v.num_comprobante, v.serie_comprobante1, v.num_comprobante1, DATE(v.fecha_hora) AS fecha, v.impuesto, v.total_venta, v.tasa_dollar, t.nombre as nombretransporte, t.nombre as chofer, t.tipo_documento as tipo_documentoc,	t.num_documento as num_documentoc, tr.vehiculo,tr.placa, v.ordendecompra,d.cproveedor,IF(dc.nombre is null,'CONTADO',CONCAT('CREDITO ',dc.nombre,' DÍAS')) AS modopago,IF(dc.nombre IS null,0,dc.nombre) as dia,IF(DATE(DATE_ADD(v.fecha_hora,INTERVAL dc.nombre DAY)) IS null,DATE(v.fecha_hora),DATE(DATE_ADD(v.fecha_hora,INTERVAL dc.nombre DAY))) as fechav,su.nombre as zona,v.total_venta,v.total_ventad,v.total_ventaimpuesto,v.total_ventaimpuestod	FROM venta v 	INNER JOIN persona p ON v.idcliente=p.idpersona 	LEFT JOIN despacho d ON v.idclientedespacho=d.idclientedespacho	LEFT JOIN clientedatosfinanciero c ON c.idpersona=v.idcliente	LEFT JOIN diasdecreditos dc ON dc.iddiasdecredito=v.iddiasdecredito	LEFT JOIN subzona su ON su.idsubzona=p.idzona	LEFT JOIN usuario u ON v.idusuario=u.idusuario 		LEFT JOIN transportista t ON t.idtransportista=v.idtransportista	LEFT JOIN transporte tr ON tr.idtransporte=v.idtransporte		LEFT JOIN vendedor ve ON ve.idvendedor=v.idvendedor WHERE v.idventa='$idventa'";
	return ejecutarConsulta($sql);
}

public function ventacabecerafisioterapia($idventa){
	$sql= "SELECT v.idventa, v.idcliente, p.nombre1 AS cliente,p.apellido1 AS cliented, p.direccion,p.direccion as direcciond,'N/A' AS licencia_licor,'N/A' AS licencia_licord, 'CEDULA' AS tipo_documento, 'CEDULA' AS tipo_documentod, p.ci AS num_documento, p.ci as num_documentod,p.email, p.email AS emaild, p.telefonocel AS telefono,p.telefonohab AS telefonod, 'si' AS resenaendollar, v.idusuario, u.nombre AS vendedor, v.tipo_comprobante, v.serie_comprobante, v.num_comprobante, DATE(v.fecha_hora) AS fecha, v.impuesto, v.total_venta, v.tasa_dollar, 'N/A' as nombretransporte, 'N/A' as vehiculo, 'N/A' as placa FROM venta v INNER JOIN registro p ON v.idcliente=p.idpaciente LEFT JOIN despacho d ON v.idclientedespacho=d.idclientedespacho LEFT JOIN usuario u ON v.idusuario=u.idusuario WHERE v.idventa='$idventa'";
	return ejecutarConsulta($sql);
}

public function ventadetalles($idventa){
	$sql="SELECT a.nombre AS articulo, a.codigo, d.cantidad as cajas, f.factorconversion as unidadesxcaja, a.idmarca,m.descripcion as clasificacion, (f.factorconversion*d.cantidad) as unidades, a.unidademedidad as capacidad, (f.factorconversion*d.cantidad*a.unidademedidad) as litro, a.gradoalcohol, d.precio_venta, ROUND((d.precio_venta/v.tasa_dollar),2) as precio_ventad,v.tasa_dollar,v.tasa_dollar*a.impuestoart18d as impuestoart16, (d.cantidad*d.precio_venta+d.descuento) AS subtotal, d.porcentaje, c.idcategoriadeunidades, c.nombre, u.idunidademedidad, u.nombre, a.exento, t.codigotipoarticulo,al.porcentaje as alicuota,d.preciopvp,a.peso, t.nombre	as tipoarticulo,ROUND((((SELECT empresa_impuestos.porcentajeprecio/100 FROM empresa_impuestos)*(d.precio_venta))*(SELECT empresa_impuestos.iva/100 FROM empresa_impuestos))*d.cantidad,2) as ivaper,ROUND((((SELECT (empresa_impuestos.porcentajeprecio/100)+1 FROM empresa_impuestos)*(d.precio_venta)))*d.cantidad,2) as pvpt	FROM detalle_venta d INNER JOIN venta v ON v.idventa=d.idventa	INNER JOIN articulo a ON d.idarticulo=a.idarticulo 	LEFT JOIN categoriadeunidades c ON c.idcategoriadeunidades=a.idcategoriadeunidades	LEFT JOIN marca m ON m.idmarca=a.idmarca	LEFT JOIN unidademedidad u ON u.idunidademedidad=a.idunidademedidad LEFT JOIN factorunidademedidad f ON f.idfactorunidademedidad=a.idfactorunidademedidad LEFT JOIN tipoarticulo t ON t.idtipoarticulo=a.idtipoarticulo LEFT JOIN alicuota al ON al.idalicuota=a.idalicuota WHERE d.idventa='$idventa'";
	return ejecutarConsulta($sql);
}

public function ventadetallesfisioterapia($idventa){
	$sql="SELECT a.descripcion AS articulo, a.codigo, d.cantidad as cajas, 1 as unidadesxcaja, 1 as unidades, 1 as capacidad, 1 as litro, 0 as gradoalcohol, d.precio_venta, 0 as impuestoart16, ((d.cantidad*d.precio_venta)-d.descuento) AS subtotal, d.porcentaje, 1 as idcategoriadeunidades, 'N/A' as nombre, 1 as idunidademedidad, 'N/A' as nombre, a.exento, 'N/A' as codigotipoarticulo,0 as alicuota,0 as preciopvp,c.fecha,c.descripcion,f.nombre as fisioterapeuta FROM detalle_servicio d INNER JOIN servicio a ON d.idservicio=a.idservicio INNER JOIN citas c ON d.idcita=c.id RIGHT JOIN fisioterapeuta f ON c.idfisioterapeuta=f.idfisioterapeuta WHERE d.idventa='$idventa'";
    return ejecutarConsulta($sql);
}

public function ventatasacambio(){
	$sql="SELECT tasa_dollar,tasa_euro FROM empresa_tasacambio WHERE idempresa='1'";
    return ejecutarConsulta($sql);
}

public function listarFacturas($idcliente){
	$sql="SELECT v.idventa,v.idalmacen,v.idcliente,v.idusuario,v.idtransportista,v.idclientedespacho,v.tipo_comprobante,IF(v.serie_comprobante=0,'Sin Factura',v.serie_comprobante) as serie_comprobante,v.num_comprobante,v.serie_comprobante1,v.num_comprobante1,v.fecha_hora,v.total_ventaimpuesto as precio,v.total_ventaimpuestod as preciod,v.estado FROM venta v WHERE v.idcliente='$idcliente' AND v.estado<>'Anulado' ORDER BY v.idventa DESC;";
	return ejecutarConsulta($sql);
}

}

 ?>
