Jump to content

Estadisticas Inicio


jhonnynho

Recommended Posts

Hey que tal, tengo una duda.

 

En la parte administrativa de prestashop, en el inicio, hay una tabla de estadisticas donde reflejan el total de ganancias por dia, mes, año, depende de como lo quiera ver la persona.

 

El caso es que el total de ganancias ahi reflejados aparecen sin IVA, de hecho si se pone el cursor encima de ventas aparece un mensaje que dice "Sum of revenue (excl. tax)" Es decir suma de ventas, tasas excluidas...

 

Mi pregunta es, como hacer para que se incluya el IVA en esa sumatoria!

 

Cualquier cosa que sepa o si alguien lo hizo ayudenme. Gracias. Adjunto imagen si alguien se pierde donde esta esa tabla.

post-836722-0-57050200-1411133503_thumb.png

Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...

Buenas,

 

para que aparezca el total de ventas con iva incluido, hay que modificar el archivo AdminStatsController.php en la carpeta controllers/admin/. El módulo dashgoals es el que hace que muestre las estadísticas en el inicio de la administración y toma los valores de este archivo.

 

Sobre la línea 181 del AdminStatsController se define el total de ventas y debemos modificar las líneas en las que toma el valor SUM(total_paid_tax_excl / o.conversion_rate) as sales y cambiarlas por SUM(total_paid_real / o.conversion_rate) as sales:

	public static function getTotalSales($date_from, $date_to, $granularity = false)
	{
		if ($granularity == 'day')
		{
			$sales = array();
			$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
			SELECT LEFT(`invoice_date`, 10) as date, SUM(total_paid_real / o.conversion_rate) as sales
			FROM `'._DB_PREFIX_.'orders` o
			LEFT JOIN `'._DB_PREFIX_.'order_state` os ON o.current_state = os.id_order_state
			WHERE `invoice_date` BETWEEN "'.pSQL($date_from).' 00:00:00" AND "'.pSQL($date_to).' 23:59:59" AND os.logable = 1
			'.Shop::addSqlRestriction(false, 'o').'
			GROUP BY LEFT(`invoice_date`, 10)');
			foreach ($result as $row)
				$sales[strtotime($row['date'])] = $row['sales'];
			return $sales;
		}
		elseif ($granularity == 'month')
		{
			$sales = array();
			$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
			SELECT LEFT(`invoice_date`, 7) as date, SUM(total_paid_real / o.conversion_rate) as sales
			FROM `'._DB_PREFIX_.'orders` o
			LEFT JOIN `'._DB_PREFIX_.'order_state` os ON o.current_state = os.id_order_state
			WHERE `invoice_date` BETWEEN "'.pSQL($date_from).' 00:00:00" AND "'.pSQL($date_to).' 23:59:59" AND os.logable = 1
			'.Shop::addSqlRestriction(false, 'o').'
			GROUP BY LEFT(`invoice_date`, 7)');
			foreach ($result as $row)
				$sales[strtotime($row['date'].'-01')] = $row['sales'];
			return $sales;
		}
		else
			return Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue('
			SELECT SUM(total_paid_real / o.conversion_rate)
			FROM `'._DB_PREFIX_.'orders` o
			LEFT JOIN `'._DB_PREFIX_.'order_state` os ON o.current_state = os.id_order_state
			WHERE `invoice_date` BETWEEN "'.pSQL($date_from).' 00:00:00" AND "'.pSQL($date_to).' 23:59:59" AND os.logable = 1
			'.Shop::addSqlRestriction(false, 'o'));
	}

Espero que os sirva.

 

Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...