<?php

	
	
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// FIN Devolvemos el precio de un artículo teniendo en cuenta descuento, pvpoferta, etc.
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Devolvemos el descuento de un artículo para un cliente
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function calcula_dto_cliente($cliente = 0) {
	include('comunes/globals.php');
	$dto = 0;
	//Vamos a cargar el código promocional del cliente
	$sentencia_sql = "SELECT descuento FROM cliente, codigos_promocionales 
							WHERE cliente.cod_descuento = codigos_promocionales.codigo_promocional AND cliente.codigo = $cliente";
	//echo("Descuento:<br />$sentencia_sql<br />\n");
	if ($conexionBD) {
		if ($resultado_dto = mysqli_query($conexionBD, $sentencia_sql)) {
			if ($fila_dto = mysqli_fetch_array($resultado_dto)) {
				$dto = $fila_dto['descuento'];
			}
		}
	}
	return($dto);
}

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// FIN Devolvemos el descuento de un artículo para un cliente
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Devolvemos el precio de un artículo para un cliente teniendo en cuenta que estamos en SINDIS
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function dame_precio_articulo_sindis($articulo, $cantidad = 1, $cliente = 0, $prensa = 0) {
	include('comunes/globals.php');
	$arti_pvp = $tipo = $iva = $familia = $tarifa = $precios_escalados = $resta_iva = $tarifas_multiples = $pvpoferta = $pvp = 0;
	$pvp_tari[0] = $pvp_tari[1] = $pvp_tari[2] = $pvp_tari[3] = $pvp_tari[4] = 0;
	$hoy = date('Y-m-d');
	//Cogemos el código de cliente de SINDIS
	$cliente = dame_cod_programa($cliente);

	//Necesitamos otros datos del artículo
	$sentencia_sql = 'SELECT pvpoferta, tipo, iva, pvp, familia, pvp_tar1 , pvp_tar2 , pvp_tar3 , pvp_tar4 FROM articulo WHERE codigo = ' . $articulo;
	//echo("Datos articulo:<br />$sentencia_sql<br />\n");
	if ($conexionBD) {
		if ($resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
			if ($fila_arti = mysqli_fetch_array($resultado_arti)) {
				$arti_pvp = $fila_arti['pvp'];
				$tipo = $fila_arti['tipo'];
				$iva = $fila_arti['iva'];
				$familia = $fila_arti['familia'];
				$pvp_tari[1] = $fila_arti['pvp_tar1'];
				$pvp_tari[2] = $fila_arti['pvp_tar2'];
				$pvp_tari[3] = $fila_arti['pvp_tar3'];
				$pvp_tari[4] = $fila_arti['pvp_tar4'];
				$pvpoferta = $fila_arti['pvpoferta'];
			}
		}
	}
	//Si el artículo está de oferta, entonces no hay que cargar más datos
	if ($pvpoferta > 0) {
		$pvp = $pvpoferta;
	}
	if ($pvp == 0) {
		//Cargamos los datos que necesitamos de los clientes que afectan al precio del artículo
		$sentencia_sql = "SELECT tarifa, precios_escalados, resta_iva FROM cliente WHERE codigo_sinlib = $cliente";
		//echo("Tarifas y precios escalados:<br />$sentencia_sql<br />\n");
		//echo("Consulta: $sentencia_sql<br />\n");
		if ($resultado_cli = mysqli_query($conexionBD, $sentencia_sql)) {
			if ($fila_cli = mysqli_fetch_array($resultado_cli)) {
				$tarifa = $fila_cli['tarifa'];
				$precios_escalados = $fila_cli['precios_escalados'];
				$resta_iva = $fila_cli['resta_iva'];
			}
		}
	}

	//Empezamos por arti_ofertas
	if ($pvp == 0) {
		$pvp = calcula_precio_oferta_arti($articulo);
		//echo("precio_oferta: $pvp<br />\n");
	}
	if ($pvp == 0) {
		$pvp = calcula_precio_cliente($articulo, $cliente);
		//echo("precio_cliente: $pvp<br />\n");
	}
	if (($pvp == 0) && ( $precios_escalados == 1 )) {
		$pvp = dame_precio_escalado($articulo, $cantidad);
		//echo("precio_escalado: $pvp<br />\n");
	}
	if (($pvp == 0) && ($tipo == "P")) {
		$pvp = $pvp_tari[$tarifa];
		//echo("Tarifa: $pvp<br />\n");
	}
	if (($pvp == 0) && ($resta_iva == 1)) {
		//Quitamos el iva
		$pvp = calcula_base($pvp, $iva);
	}
	return($pvp);
}

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Devolvemos el precio de un artículo para un cliente
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function dame_precio_articulo($articulo, $cantidad = 1, $cliente = 0, $prensa = 0) {
	include('comunes/globals.php');
	$arti_pvp = $tipo = $iva = $familia = $tarifa = $precios_escalados = $resta_iva = $tarifas_multiples = $pvpoferta = $pvp = 0;
	$pvp_tari[0] = $pvp_tari[1] = $pvp_tari[2] = $pvp_tari[3] = $pvp_tari[4] = 0;
	$hoy = date('Y-m-d');
	//El cliente que recibimos es el de la web. Necesitamos el de sinlib
	$cliente = dame_cod_programa($cliente);
	//Necesitamos unos datos previos, en este caso, del artículo. Los cargamos aquí:
	$sentencia_sql = "SELECT pvpoferta, tipo, iva, pvp, familia, pvp_tar1 , pvp_tar2 , pvp_tar3 , pvp_tar4 FROM articulo WHERE codigo = $articulo";
	if ($conexionBD) {
		if ($resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
			if ($fila_arti = mysqli_fetch_array($resultado_arti)) {
				$arti_pvp = $fila_arti['pvp'];
				$tipo = $fila_arti['tipo'];
				$iva = $fila_arti['iva'];
				$familia = $fila_arti['familia'];
				$pvp_tari[1] = $fila_arti['pvp_tar1'];
				$pvp_tari[2] = $fila_arti['pvp_tar2'];
				$pvp_tari[3] = $fila_arti['pvp_tar3'];
				$pvp_tari[4] = $fila_arti['pvp_tar4'];
				$pvpoferta = $fila_arti['pvpoferta'];
			}
		}
	}
	//Si el artículo está de oferta, entonces no hay que cargar más datos
	if ($pvpoferta > 0) {
		$pvp = $pvpoferta;
	}
	if ($pvp == 0) {
		//Cargamos los datos que necesitamos de los clientes que afectan al precio del artículo
		$sentencia_sql = "SELECT tarifa, precios_escalados, resta_iva, tarifas_multiples FROM cliente WHERE codigo_sinlib = $cliente";
		//echo("Tarifas, precios escalados, resta iva, tarifas multiples:<br />$sentencia_sql<br />\n");
		//echo("Consulta: $sentencia_sql<br />\n");
		if ($resultado_cli = mysqli_query($conexionBD, $sentencia_sql)) {
			if ($fila_cli = mysqli_fetch_array($resultado_cli)) {
				$tarifa = $fila_cli['tarifa'];
				$precios_escalados = $fila_cli['precios_escalados'];
				$resta_iva = $fila_cli['resta_iva'];
				$tarifas_multiples = $fila_cli['tarifas_multiples'];
			}
		}
	}
	//Ahora con los datos que tenemos vamos a ir viendo que precio tiene el producto
	//__________________________________________________________________________________________________________________________________________
	//_____________________________________________________ ARTIOFERTAS ________________________________________________________________________
	//__________________________________________________________________________________________________________________________________________
	if ($pvp == 0) {
		$pvp = calcula_precio_oferta_arti($articulo);
	}
	//__________________________________________________________________________________________________________________________________________
	//_____________________________________________________ DTOS_CLI_ART _______________________________________________________________________
	//__________________________________________________________________________________________________________________________________________
	if ($pvp == 0) {
		$pvp = calcula_precio_cliente($articulo, $cliente);
	}
	//__________________________________________________________________________________________________________________________________________
	//_____________________________________________________ PRECIOS ESCALADOS __________________________________________________________________
	//__________________________________________________________________________________________________________________________________________
	if (($pvp == 0) && ( $precios_escalados == 1 )) {
		$pvp = dame_precio_escalado($articulo, $cantidad);
	}
	//__________________________________________________________________________________________________________________________________________
	//_______________________________________________________________ TARIFAS X FAMILIA ________________________________________________________
	//__________________________________________________________________________________________________________________________________________
	if (($pvp == 0) && ($tipo == "P")) {
		//Si no usa tarifas múltiples, cogemos la tarifa del artículo
		if (($tarifas_multiples == 0) || ($tarifas_multiples == 255)) {
			$pvp = $pvp_tari[$tarifa];
		} else {
			//Como usa tarifas múltiples, vamos a consultarlas
			$sentencia_sql = "SELECT tariarti.pvp precio_tarifa FROM dtosclifam, tariarti
						WHERE dtosclifam.cliente = $cliente AND dtosclifam.familia = '$familia' AND dtosclifam.tarifa != 255
						AND dtosclifam.tarifa = tariarti.codigo AND tariarti.descuento = 0 AND tariarti.articulo = $articulo";
			//echo("Tarifa x familia:<br />$sentencia_sql<br />\n");
			if ($resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
				if ($fila_arti = mysqli_fetch_array($resultado_arti)) {
					$pvp = $fila_arti['precio_tarifa'];
				}
			}
		}
	}
	//__________________________________________________________________________________________________________________________________________
	//_______________________________________________________________ TARIFAS MULTIPLES ________________________________________________________
	//__________________________________________________________________________________________________________________________________________
	if (($pvp == 0) && ($tipo == 'P')) {
		$sentencia_sql = "SELECT pvp FROM tariarti WHERE articulo = $articulo AND tarifa = $tarifas_multiples AND $tarifas_multiples != 255 AND descuento = 0";
		//echo("Datos articulo:<br />$sentencia_sql<br />\n");
		if ($resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
			if ($fila_arti = mysqli_fetch_array($resultado_arti)) {
				$pvp = $fila_arti['pvp'];
			}
		}
	}
	//si no hay precio, cogemos el del artículo
	if ($pvp == 0) {
		$pvp = $arti_pvp;
	}
	//Ahora vamos a ver si hay que restar el iva
	if ($resta_iva) {
		$pvp = calcula_base($pvp, $iva);
	}
	return($pvp);
}

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// FIN Devolvemos el precio de un artículo para un cliente
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Devolvemos el descuento de un artículo
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function dame_descuento_sindis($articulo, $cliente) {
	include("comunes/globals.php");
	//Primero sacamos el artículo lo que necesitamos
	$descuento = $dto_max = $familia = $tipo = $texto = $tarifa_dto = $retorno = $promocion = $tarifa = $cod_editorial = 0;
	$dto_tar[0] = $dto_tar[1] = $dto_tar[2] = $dto_tar[3] = $dto_tar[4] = 0;
	$hoy = date("Y-m-d");
	//El cliente que recibimos es el de la web. Necesitamos el de sinlib
	$cliente = dame_cod_programa($cliente);
	//Necesitamos unos datos previos, en este caso, del artículo
	$sentencia_sql = "SELECT dto_maximo, tipo, familia, texto, promociones, dto_tar1, dto_tar2, dto_tar3, dto_tar4, cod_editorial, cod_distribuidor, tipo_libro
							FROM articulo WHERE codigo = $articulo";
	//echo("<!--$sentencia_sql-->\n");
	if ($conexionBD) {
		if ($resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
			if ($fila_arti = mysqli_fetch_array($resultado_arti)) {
				$dto_max = $fila_arti['dto_maximo'];
				$familia = $fila_arti['familia'];
				$tipo = $fila_arti['tipo'];
				$texto = $fila_arti['texto'];
				$promocion = $fila_arti['promociones'];
				$dto_tar[1] = $fila_arti['dto_tar1'];
				$dto_tar[2] = $fila_arti['dto_tar2'];
				$dto_tar[3] = $fila_arti['dto_tar3'];
				$dto_tar[4] = $fila_arti['dto_tar4'];
				$cod_editorial = $fila_arti['cod_editorial'];
				$cod_distribuidor = $fila_arti['cod_distribuidor'];
				$tipo_libro = $fila_arti['tipo_libro'];
			}
		}
		//Necesitamos algunos datos del cliente
		$sentencia_sql = "SELECT tarifa_dto_pap, tarifa FROM cliente WHERE codigo_sinlib = $cliente";
		//echo("<!--$sentencia_sql-->\n");
		if ($resultado_cli = mysqli_query($conexionBD, $sentencia_sql)) {
			if ($fila_cli = mysqli_fetch_array($resultado_cli)) {
				$tarifa_dto = $fila_cli['tarifa_dto_pap'];
				$tarifa = $fila_cli['tarifa'];
			}
		}
	}

	//Primero día del libro
	if ($descuento == 0 && $tipo == 'L') {
		$descuento = dto_dia_del_libro();
	}
	//Descuento artículo - cliente
	if ($descuento == 0) {
		$descuento = dto_articulo_cliente($articulo, $cliente);
	}
	if ($familia > 0) {
		//Descuento por cliente y familia
		if ($descuento == 0) {
			$sentencia_sql = "SELECT descuento FROM dtosclifam WHERE familia = '$familia' AND cliente = $cliente";
			//echo("$sentencia_sql<br />\n");
			if ($resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
				if ($fila_arti = mysqli_fetch_array($resultado_arti)) {
					$descuento = $fila_arti['descuento'];
				}
			}
		}
		if ($descuento == 0) {
			$sentencia_sql = "SELECT descuentos_rappel FROM familia WHERE codigo = '$familia'";
			$rappel = 0;
			//echo("$sentencia_sql<br />\n");
			if ($resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
				if ($fila_arti = mysqli_fetch_array($resultado_arti)) {
					$rappel = $fila_arti['descuentos_rappel'];
				}
			}
			if ($rappel > 0) {
				//Necesitamos calcular el rappel
				//TODO ==> Aquí se calcula el dto
				//No se va a meter el rappel en la web
			}
		}
	}
	if (($descuento == 0) && ($tipo == 'L')) {
		//Vamos a cargar los descuentos por el tipo de libro
		//Primero comprobamos descuento por cliente-distribuidor
		$sentencia_sql = "SELECT dto_ventas FROM dtotldc WHERE cliente = $cliente AND distribuidor = $cod_distribuidor AND tipo_libro = $tipo_libro";
		//echo($sentencia_sql);
		if ($resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
			if ($fila_arti = mysqli_fetch_array($resultado_arti)) {
				$descuento = $fila_arti['dto_ventas'];
			}
		}
		//Descuento tipo libro por cliente
		if ($descuento == 0) {
			$sentencia_sql = "SELECT dto_ventas FROM dtotlcli WHERE cliente = $cliente AND tipo_libro = $tipo_libro";
			if ($resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
				if ($fila_arti = mysqli_fetch_array($resultado_arti)) {
					$descuento = $fila_arti['dto_ventas'];
				}
			}
		}
		//Descuento tipo libro por editorial
		if ($descuento == 0) {
			$sentencia_sql = "SELECT dto_ventas FROM dtotledito WHERE editorial = $cod_editorial AND tipo_libro = $tipo_libro";
			if ($resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
				if ($fila_arti = mysqli_fetch_array($resultado_arti)) {
					$descuento = $fila_arti['dto_ventas'];
				}
			}
		}
		//Descuento tipo libro por distribuidor
		if ($descuento == 0) {
			$sentencia_sql = "SELECT dto_ventas FROM dtotldis WHERE distribuidor = $cod_distribuidor AND tipo_libro = $tipo_libro";
			//echo($sentencia_sql);
			if ($resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
				if ($fila_arti = mysqli_fetch_array($resultado_arti)) {
					$descuento = $fila_arti['dto_ventas'];
				}
			}
		}
	}

	//Descuentos específicos del cliente por tipo de artículo
	if ($descuento == 0) {
		$sentencia_sql = "SELECT descuento_libros, descuento_texto, descuento_papeleria, tarifa FROM cliente WHERE codigo_sinlib = $cliente";
		//echo("<!--$sentencia_sql-->\n");
		if ($resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
			if ($fila_arti = mysqli_fetch_array($resultado_arti)) {
				if ($texto) {
					$descuento = $fila_arti['descuento_texto'];
					//echo("<!-- Descuento libros de texto: $descuento -->\n");
				} else if ($tipo == 'L') {
					$descuento = $fila_arti['descuento_libros'];
					//echo("<!-- Descuento libros NO texto: $descuento -->\n");
				} else {
					$descuento = $fila_arti['descuento_papeleria'];
					if (($descuento == 0) && ($fila_arti['tarifa'] != 0)) {
						$descuento = $dto_tar[$fila_arti['tarifa']];
					}
				}
			}
		}
	}

	//Obtenemos los datos de la configuracion
	if (($descuento == 0) && ($texto)) {
		$dto_texto = 0;
		$mes_inicio_texto = 0;
		$mes_fin_texto = 0;
		$sentencia_sql = "SELECT dto_texto, mes_inicio_texto, mes_fin_texto FROM configuracion WHERE codigo = 1";
		//echo("$sentencia_sql<br />\n");
		if ($resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
			if ($fila_arti = mysqli_fetch_array($resultado_arti)) {
				$dto_texto = $fila_arti['dto_texto'];
				$mes_inicio_texto = $fila_arti['mes_inicio_texto'];
				$mes_fin_texto = $fila_arti['mes_fin_texto'];
			}
		}
		$mes_actual = intval(date("n"));
		//Si el mes actual está entre los meses de campaña, cogemos el dto de texto
		if (($mes_actual >= $mes_inicio_texto) && ( $mes_actual <= $mes_fin_texto)) {
			$descuento = $dto_texto;
			//echo("<!-- Descuento campaña texto: $descuento -->\n");
		}
	}

	//Por último, vamos a permitir sólo el máximo descuento que tenga el artículo asignado
	$descuento = ($descuento < $dto_max) ? $descuento : $dto_max;
	return($descuento);
}

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
	// Devolvemos el descuento de un artículo
	//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
	function dame_descuento($articulo, $cliente){
		include('comunes/globals.php');
		//Primero sacamos el artículo lo que necesitamos
		$descuento = $dto_max = $familia = $tipo = $texto = $grupo = $tarifa_dto = $retorno = $promocion = $tarifa = $precioFijo = 0;
		$dto_tar[0] = $dto_tar[1] = $dto_tar[2] = $dto_tar[3] = $dto_tar[4] = 0;
		$mes_inicio_texto = Shop::$configuracion->mes_inicio_texto;
		$mes_fin_texto = Shop::$configuracion->mes_fin_texto;
		$hoy = date('Y-m-d');
		//El cliente que recibimos es el de la web. Necesitamos el de sinlib
		$cliente = dame_cod_programa($cliente);
		//Necesitamos unos datos previos, en este caso, del artículo
		$sentencia_sql = "SELECT dto_maximo, tipo, familia, texto, promociones, dto_tar1, dto_tar2, dto_tar3, dto_tar4, tipo_precio
							FROM articulo WHERE codigo = $articulo";
		//echo("<!--$sentencia_sql-->\n");
		if ($conexionBD){
			if( $resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
				if ($fila_arti = mysqli_fetch_array($resultado_arti)){
					$dto_max = $fila_arti['dto_maximo'];
					$familia = $fila_arti['familia'];
					$tipo = $fila_arti['tipo'];
					$texto = $fila_arti['texto'];
					$promocion = $fila_arti['promociones'];
					$dto_tar[1] = $fila_arti['dto_tar1'];
					$dto_tar[2] = $fila_arti['dto_tar2'];
					$dto_tar[3] = $fila_arti['dto_tar3'];
					$dto_tar[4] = $fila_arti['dto_tar4'];
					$precioFijo = ( $fila_arti['tipo_precio'] == "F" ) ? true : false ;
				}
			}
			if ($familia != ""){
				$sentencia_sql = "SELECT grupo FROM familia WHERE codigo = '$familia'";
				//echo("<!--$sentencia_sql-->\n");
				if( $resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
					if ($fila_arti = mysqli_fetch_array($resultado_arti)){
						$grupo = $fila_arti['grupo'];
					}
				}
			}
			//Necesitamos algunos datos del cliente
			$sentencia_sql = "SELECT tarifa_dto_pap, tarifa, tarifas_multiples FROM cliente WHERE codigo_sinlib = $cliente";
			//echo("<!--$sentencia_sql-->\n");
			if( $resultado_cli = mysqli_query($conexionBD, $sentencia_sql)) {
				if ($fila_cli = mysqli_fetch_array($resultado_cli)){
					$tarifa_dto = $fila_cli['tarifa_dto_pap'];
					$tarifa = $fila_cli['tarifa'];
					$tarifas_multiples = $fila_cli['tarifas_multiples'];
				}
			}
			//__________________________________________________________________________________________________________________________________________
			//_____________________________________________________ DTO PROMOCIÓN ______________________________________________________________________
			//__________________________________________________________________________________________________________________________________________
			if ($promocion > 0){
				$sentencia_sql = "SELECT descuento FROM promociones WHERE codigo = $promocion AND '$hoy' >= desde_fecha AND '$hoy' <= hasta_fecha";
				//echo("<!--$sentencia_sql-->\n");
				if( $resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
					if ($fila_arti = mysqli_fetch_array($resultado_arti)){
						$descuento = $fila_arti['descuento'];
						//echo("<!-- Descuento por promocion: $descuento -->\n");
					}
				}
			}
			//__________________________________________________________________________________________________________________________________________
			//___________________________________________________ DTO DÍA DEL LIBRO ____________________________________________________________________
			//__________________________________________________________________________________________________________________________________________
			if ($descuento == 0 && $tipo == "L"){
				$descuento = dto_dia_del_libro();
			}

			//__________________________________________________________________________________________________________________________________________
			//____________________________________________________  14/Agosto/2017 _____________________________________________________________________
			//________________________________________________ DTO DÍA DE LA PAPELERÍA__________________________________________________________________
			//__________________________________________________________________________________________________________________________________________
			if ($descuento == 0 && $tipo == "P"){
				$descuento = dto_dia_papeleria();
			}

			//__________________________________________________________________________________________________________________________________________
			//___________________________________________________ FRANQUICIA FERÁN _____________________________________________________________________
			//__________________________________________________________________________________________________________________________________________
			if ($descuento == 0){
				$franquicia_feran = Shop::$configuracion->franquicia_feran;
				//Modificado por Pedro para obtener los datos de la configuración de la web
				/*$sentencia_sql = "SELECT franquicia_feran FROM configuracion WHERE codigo = 1";
				//echo("$sentencia_sql<br />\n");
				if( $resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
					if ($fila_arti = mysqli_fetch_array($resultado_arti)){
						$franquicia_feran = $fila_arti['franquicia_feran'];
					}
				}*/
				
				if ($franquicia_feran){
					$descuento = $dto_tar[$tarifa];
					//echo("<!-- Descuento franquicia ferán: $descuento -->\n");
				}
			}
			//__________________________________________________________________________________________________________________________________________
			//______________________________________________ DESCUENTO CLIENTE ARTICULO ________________________________________________________________
			//__________________________________________________________________________________________________________________________________________
			if ($descuento == 0){
				$descuento = dto_articulo_cliente($articulo, $cliente);
			}
			//__________________________________________________________________________________________________________________________________________
			//_______________________________________________ DESCUENTO CLIENTE FAMILIA ________________________________________________________________
			//__________________________________________________________________________________________________________________________________________
			if ($descuento == 0){
				$sentencia_sql = "SELECT descuento, tarifa FROM dtosclifam WHERE familia = '$familia' AND cliente = $cliente";
				//echo("$sentencia_sql<br />\n");
				if( $resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
					if ($fila_arti = mysqli_fetch_array($resultado_arti)){
						$descuento = $fila_arti['descuento'];
						//echo("<!-- Descuento cliente-familia: $descuento -->\n");
						$tarifa_dto_fam = $fila_arti['tarifa'];
						if ($tarifa_dto_fam > 0){
							//Hay que cargar la tarifa
							$sentencia_sql = "SELECT descuento FROM tarifas WHERE codigo = $tarifa_dto_fam";
							//echo("$sentencia_sql<br />\n");
							if( $resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
								if ($fila_arti = mysqli_fetch_array($resultado_arti)){
									$descuento = $fila_arti['descuento'];
									//echo("<!-- Descuento tarifa familia: $descuento -->\n");
								}
							}
						}
					}
				}
			}
			//__________________________________________________________________________________________________________________________________________
			//______________________________________________ DESCUENTOS GRUPO FAMILIA __________________________________________________________________
			//__________________________________________________________________________________________________________________________________________
			if ($descuento == 0){
				$sentencia_sql = "SELECT `descuento` FROM `dtogrupofamilia` 
													WHERE `tarifadtopape` = $tarifa_dto AND `grupofamilia` = $grupo";
				//echo("<!--$sentencia_sql-->\n");
				if ($resultado_arti = mysqli_query($conexionBD, $sentencia_sql)){
					if($fila_arti = mysqli_fetch_array($resultado_arti)){
						$descuento = $fila_arti['descuento'];
					}
				}
			}
			//__________________________________________________________________________________________________________________________________________
			//______________________________________________ DESCUENTOS DEL CLIENTE ____________________________________________________________________
			//__________________________________________________________________________________________________________________________________________
			if ($descuento == 0){
				$sentencia_sql = "SELECT descuento_libros, descuento_texto, descuento_texto_libre, descuento_papeleria FROM cliente WHERE codigo_sinlib = $cliente";
				if( $resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
					if ($fila_arti = mysqli_fetch_array($resultado_arti)){
						if ($texto){
							if ($precioFijo){
								$descuento = $fila_arti['descuento_texto'];
								//echo("<!-- Descuento libros de texto: $descuento -->\n");
							}else{
								$descuento = $fila_arti['descuento_texto_libre'];
								//echo("<!-- Descuento libros de texto: $descuento -->\n");
							}
						}else if ($tipo == "L"){
							$descuento = $fila_arti['descuento_libros'];
							//echo("<!-- Descuento libros NO texto: $descuento -->\n");
						}else{
							$dto_papeleria = $fila_arti['descuento_papeleria'];
							//Si usa tarifas múltiples, buscamos el dto ahí
							if ( ($tarifas_multiples > 0) && ($tarifas_multiples != 255) ){
								$sentencia_sql = "SELECT descuento FROM tariarti WHERE articulo = $articulo AND tarifa = $tarifas_multiples";
								if( $resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
									if ($fila_arti = mysqli_fetch_array($resultado_arti)){
										$descuento = $fila_arti['descuento'];
										//echo("<!-- Descuento tarifas múltiples: $descuento -->\n");
									}
								}
							}else{
								//No hay tarifas múltiples
								$descuento = $dto_papeleria;
								//echo("<!-- Descuento papelería: $descuento -->\n");
								if ($descuento == 0){
									//Vamos a cargar  el descuento de las tarifas normales
									$descuento = $dto_tar[$tarifa];
									//echo("<!-- Descuento tarifa papelería: $descuento -->\n");
								}
							}
						}
					}
				}
			}
			//__________________________________________________________________________________________________________________________________________
			//_____________________________________________ DESCUENTOS CAMPAÑA TEXTO ___________________________________________________________________
			//__________________________________________________________________________________________________________________________________________
			if ( ($descuento == 0) && ($texto) ){
				$dto_texto = Shop::$configuracion->dto_texto;
				$dto_texto_libre = Shop::$configuracion->dto_texto_libre;

				//14/Agosto/2017
				//Sacamos el descuento del texto de configuración si aún no se ha seteado nada
				if ($precioFijo){
					$descuento = $dto_texto;
				}else{
					$descuento = $dto_texto_libre;
				}
			}

			// 14/Agosto/2017
			// según está configurado Sinlib, si un libro es de texto, sólo se permite descuento en campaña
			$mes_actual = intval(date('n'));
			//Si el mes actual está entre los meses de campaña, cogemos el dto de texto
			if ( ($descuento > 0) && ($texto ) && ($tipo == "L") ){
				if ( ($mes_actual < $mes_inicio_texto) && ( $mes_actual > $mes_fin_texto) ){
					$descuento = 0;
				}
			}

			//Por último controlamos que no se supere el descuento máximo permitido
			$descuento = ($descuento < $dto_max) ? $descuento : $dto_max;
		}
		return($descuento);
	}

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Funciones necesarias para el cálculo del dto
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function dto_dia_del_libro() {
	include('comunes/globals.php');
	$retorno = 0;
	$sentencia_sql = 'SELECT dto_dia_libro FROM configuracion WHERE codigo = 1';
	//echo("$sentencia_sql<br />\n");
	if ($resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
		if ($fila_arti = mysqli_fetch_array($resultado_arti)) {
			$retorno = $fila_arti['dto_dia_libro'];
			//echo("<!-- Descuento día del libro: $descuento -->\n");
		}
	}
	return($retorno);
}

function dto_dia_papeleria(){
	include('comunes/globals.php');
	$retorno = 0;
	$sentencia_sql = 'SELECT dto_dia_papeleria FROM configuracion WHERE codigo = 1'; // ==> Hay que crear el campo dto_dia_papeleria
	//echo("$sentencia_sql<br />\n");
	if( $resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
		if ($fila_arti = mysqli_fetch_array($resultado_arti)){
			$retorno = $fila_arti['dto_dia_papeleria'];
			//echo("<!-- Descuento día del libro: $descuento -->\n");
		}
	}
	return($retorno);
}

function dto_articulo_cliente($articulo, $cliente) {
	include('comunes/globals.php');
	$retorno = 0;
	$sentencia_sql = "SELECT descuento FROM dtos_cli_art WHERE articulo = $articulo AND cliente = $cliente";
	//echo("$sentencia_sql<br />\n");
	if ($resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
		if ($fila_arti = mysqli_fetch_array($resultado_arti)) {
			$retorno = $fila_arti['descuento'];
			//echo("<!-- Descuento cliente-articulo: $descuento -->\n");
		}
	}
	return($retorno);
}

function dto_tipo_producto_cliente($articulo, $cliente, $tipo) {
	include("comunes/globals.php");
	$retorno = 0;
}

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Funciones necesarias para el cálculo del dto
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Aplicamos un descuento a un importe
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/*
function aplica_dto($importe, $dto) {
	$importe_a_descontar = ($dto * $importe) / 100;
	return($importe - $importe_a_descontar);
}
*/

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Aplicamos un descuento a un importe
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// Funciones necesarias para el cálculo del PVP
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//artiofertas
function calcula_precio_oferta_arti($articulo = 0) {
	include('comunes/globals.php');
	$hoy = date('Y-m-d');
	$retorno = 0;
	$sentencia_sql = "SELECT pvp FROM  `artiofertas` WHERE desde_fecha <=  '$hoy' AND hasta_fecha >=  '$hoy' AND articulo = $articulo";
	//echo($sentencia_sql);
	if ($resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
		if ($fila_arti = mysqli_fetch_array($resultado_arti)) {
			$retorno = $fila_arti['pvp'];
		}
	}
	return($retorno);
}

//dtos_cli_art
function calcula_precio_cliente($articulo = 0, $cliente = 0) {
	include('comunes/globals.php');
	$retorno = 0;
	$sentencia_sql = "SELECT pvp FROM `dtos_cli_art` WHERE articulo = $articulo AND cliente = $cliente";
	if ($resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
		if ($fila_arti = mysqli_fetch_array($resultado_arti)) {
			$retorno = $fila_arti['pvp'];
		}
	}
	return($retorno);
}

//preciosecal
function dame_precio_escalado($articulo = 0, $cantidad = 1) {
	include('comunes/globals.php');
	$retorno = 0;
	$hoy = date('Y-m-d');
	$sentencia_sql = "SELECT pvp FROM preciosescal WHERE $cantidad >= desde AND $cantidad <= hasta 
						AND '$hoy' >= desde_fecha AND '$hoy' <= hasta_fecha AND articulo = $articulo";
	//echo("$sentencia_sql<br />\n");
	if ($resultado_arti = mysqli_query($conexionBD, $sentencia_sql)) {
		if ($fila_arti = mysqli_fetch_array($resultado_arti)) {
			$retorno = $fila_arti['pvp'];
		}
	}
	return($retorno);
}

//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// GASTOS DE ENVÍO
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//function dame_gastos_x_cliente($tipo_envio, $localidad, $cantidad_articulos_cesta){
function dame_gastos_x_cliente_pedido($cliente, $pedido = 0, $tipo_envio = 0, $cantidad_articulos = 0) {
	include('comunes/globals.php');
	$retorno = 0;
	$finded = false;
	$gastos = false;
	$localidad = '';
	$cantidad_articulos = 0;
	$importe_pedido = 0;
	$descuento = 0;
	$objCliente = new Usuario($cliente);
	$tipo_rango_envio = 0;
	//si hay pedido, cogemos el tipo de envío de ahí
	if ($pedido > 0) {
		$sentencia_sql = 'SELECT tipo_envio, descuento FROM mc_pedcli WHERE codigo = ' . $pedido;
		if ($conexionBD) {
			if ($resultado = mysqli_query($conexionBD, $sentencia_sql)) {
				if ($fila = mysqli_fetch_array($resultado)) {
					$tipo_envio = $fila["tipo_envio"];
					$descuento = $fila["descuento"];
				}
			}
		}
		//Vamos con las lineas
		$sentencia_sql = 'SELECT cantidad, importe_con_dto FROM ml_pedcli WHERE mc_pedcli = ' . $pedido;
		if ($conexionBD) {
			if ($resultado = mysqli_query($conexionBD, $sentencia_sql)) {
				while ($fila = mysqli_fetch_array($resultado)) {
					$cantidad_articulos += $fila["cantidad"];
					$importe_pedido += $fila["importe_con_dto"];
				}
			}
		}
		//OJO que al importe hay que aplicarle el dto
		$importe_pedido = Price::setDiscount($importe_pedido, $descuento);
	} else {
		/*
		//Hay que coger los datos de la cesta de las variables globales
		$importe_pedido = $importe_cesta;
		$cantidad_articulos = $cantidad_cesta;
		if ($descuento_cesta > 0) {
			$importe_pedido = $importe_cesta_con_dto;
		}
		*/
		//Vamos a coger los datos de la cesta:
		$cesta = CabeceraCesta::getCart();
		$importe_pedido = $cesta->importe;
		$cantidad_articulos = $cesta->cantidad;
		/*if ($descuento_cesta > 0) {
			$importe_pedido = $importe_cesta_con_dto;
		}*/
	}

	//Modificado por Pedro el 14/Agosto/2017 ==> comprobamos todos los escaparates de todos los artículos de la cesta para ver el importe mínimo para gastos gratis:
	//$importe_pedido ==> importe del pedido.
	//Vamos a cargar los códigos de escaparate:
	$listaArticulos = array();
	if ($pedido > 0) {
		//Vamos con las lineas
		$sentencia_sql = 'SELECT articulo FROM ml_pedcli WHERE mc_pedcli = ' . $pedido;
		if ($conexionBD) {
			if ($resultado = mysqli_query($conexionBD, $sentencia_sql)) {
				while ($fila = mysqli_fetch_array($resultado)) {
					$listaArticulos[] = $fila["articulo"];
				}
			}
		}
	} else {
		$cesta = CabeceraCesta::getCart();
		//Hay que coger los datos de la cesta de las variables globales
		/*$array_articulos_cesta = Sesion::get('array_articulos_cesta');
		foreach($array_articulos_cesta as $clave => $valor){
			$listaArticulos[] = $valor;
		}*/
		foreach($cesta->lineas as $clave => $valor){
			$listaArticulos[] = $valor->objeto_articulo;
		}
	}
	//En lista artículos tenemos los artículos de la cesta
	$valorMaximo = 0;
	foreach($listaArticulos as $clave => $valor){
		if (is_a($valor, 'Articulo')){
			$tmpArticulo = $valor;
		}else{
			$tmpArticulo = new Articulo($valor);
		}
		foreach($tmpArticulo->lista_escaparates as $claveEscaparate => $valorEscaparate){
			if ($valorEscaparate->importe_minimo_g_envio_gratis > $valorMaximo){
				$valorMaximo = $valorEscaparate->importe_minimo_g_envio_gratis;
			}
		}
	}
	
	
	//Ahora cogemos la localidad del cliente
	if ($cliente > 0) {
		$localidad = $objCliente->direcciones[0]->cod_postal;
	}
	//Empezamos por los gastos más restrictivos, tarifasporlo
	$select_g_envio = "SELECT `importe_fijo`,`importe_x_unidad` importe_unidad,`reembolso`,`recargo_reembolso`,`porc_recargo_reembolso` 
							FROM `tarifasporlo` 
							WHERE `tipo_envio` = $tipo_envio AND `localidad` = $localidad";
	if ($conexionBD) {
		if ($resultado_g_envio = mysqli_query($conexionBD, $select_g_envio)) {
			if ($fila_g_envio = mysqli_fetch_array($resultado_g_envio)) {
				$gastos = $fila_g_envio;
				$finded = true;
			}
		}
	}

	//Vamos a hacerlo por rango de envío siempre y cuando no se hayan seteado por localidad y no superemos el valor máximo:
	if ( (!$finded) && ($valorMaximo <= $importe_pedido) ) {
		//OJO a los decimales
		$importe_select = number_format($importe_pedido, 2, ".", "");
		$select_g_envio = "SELECT `importe`, `tipo_envio_cliente` FROM `rango_envio` 
							WHERE ($importe_select >= `rango_inferior` AND $importe_select <= `rango_superior`) AND tipo_envio_cliente = $tipo_envio";
		if ($conexionBD) {
			if ($resultado_g_envio = mysqli_query($conexionBD, $select_g_envio)) {
				if ($fila_g_envio = mysqli_fetch_array($resultado_g_envio)) {
					$tipo_rango_envio = $fila_g_envio["tipo_envio_cliente"];
					$retorno = $fila_g_envio["importe"];
					$finded = false;
				}
			}
		}
	}

	//Miramos directamente en la tabla de envío
	if (!$finded) {
		$select_g_envio = "SELECT `importe_fijo`,`importe_unidad`,`reembolso`,`recargo_reembolso`,`porc_rec_reembolso` porc_recargo_reembolso FROM `tipo_envio_cli` WHERE `codigo` = $tipo_envio";
		//echo("<!-- $select_g_envio -->");
		if ($conexionBD) {
			if ($resultado_g_envio = mysqli_query($conexionBD, $select_g_envio)) {
				if ($fila_g_envio = mysqli_fetch_array($resultado_g_envio)) {
					$gastos = $fila_g_envio;
					$finded = true;
				}
			}
		}
	}

	//Si hemos encontrado los gastos, los calculamos
	if ($finded) {
		/*echo("<!--");
		print_r($gastos);
		echo("-->");*/
		//print_r($gastos);
		//Si no existe rango de envio le aplicamos el importe fijo
		if ($tipo_rango_envio != $tipo_envio) {
			$retorno = $gastos['importe_fijo'];
		}
		if ($gastos['importe_unidad'] > 0) {
			$retorno += $cantidad_articulos * $gastos['importe_unidad'];
		}
		if ($gastos['reembolso']) {
			//Si hay porcentaje de recargo de reembolso lo sumamos
			if ($gastos['porc_recargo_reembolso'] > 0) {
				//$retorno = ($retorno * $gastos["porc_recargo_reembolso"]) / 100;
				$retorno += ( ($importe_pedido + $retorno) * $gastos['porc_recargo_reembolso']) / 100;
			}
			//Es un reembolso, así que hay que calcular los gastos x reembolso
			$retorno += $gastos['recargo_reembolso'];
		}
	}
	
	if (isset($_SESSION['g_envio_gratis'])) {
		if($_SESSION['g_envio_gratis'] > 0){
		$retorno = 0;	
		}		
	}
	return($retorno);
}
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// GASTOS DE ENVÍO	//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
?>