Ronald72 Posted September 11, 2022 Share Posted September 11, 2022 (edited) Bonjour a tous, On vient de mettre notre site en production et avec les premières vente je constate que les ventes ne sont pas comptabilisés les visiteurs semble ok mais par exemple les commandes sont comptabilisés dans la partie gauche mais pas dans le partie centrale ? Informations du serveur : Linux #1 SMP PREEMPT Tue Aug 28 15:11:59 CEST 2018 x86_64 Version du logiciel serveur : Apache Version de PHP : 7.4.25 Limite de mémoire : 512M Temps maximal d'exécution : 180 Taille max. pour envoi de fichiers : 128M Si vous avez un idée ? j'ai une autre site sur le même serveur qui a le meme problème ... Merci d'avance de votre aide Ronald Edited September 12, 2022 by Ronald72 Résolue (see edit history) Link to comment Share on other sites More sharing options...
ComGrafPL Posted September 11, 2022 Share Posted September 11, 2022 7 godzin temu, Ronald72 napisał: Bonjour a tous, On vient de mettre notre site en production et avec les premières vente je constate que les ventes ne sont pas comptabilisés les visiteurs semble ok mais par exemple les commandes sont comptabilisés dans la partie gauche mais pas dans le partie centrale ? Informations du serveur : Linux #1 SMP PREEMPT Tue Aug 28 15:11:59 CEST 2018 x86_64 Version du logiciel serveur : Apache Version de PHP : 7.4.25 Limite de mémoire : 512M Temps maximal d'exécution : 180 Taille max. pour envoi de fichiers : 128M Si vous avez un idée ? j'ai une autre site sur le même serveur qui a le meme problème ... Merci d'avance de votre aide Ronald Les factures sont activées ? Si ce n'est pas le cas, allumez-le. Link to comment Share on other sites More sharing options...
Ronald72 Posted September 11, 2022 Author Share Posted September 11, 2022 il y a 56 minutes, ComGrafPL a dit : Les factures sont activées ? Si ce n'est pas le cas, allumez-le. Merci pour votre réponse, non elle sont pas activé, parce que j'utilise les facture du gestion commercial (une facture par livraison, vu que j'ai des délai très long sur certaines pièce qui sont sur commande) qui sont mise a disposition avec une module spéciale pour ça, une idée comment je peux active les factures sans que les factures de prestashop sont disponible au cients ? Merci d'avance Ronald Link to comment Share on other sites More sharing options...
ComGrafPL Posted September 11, 2022 Share Posted September 11, 2022 4 minuty temu, Ronald72 napisał: Merci pour votre réponse, non elle sont pas activé, parce que j'utilise les facture du gestion commercial (une facture par livraison, vu que j'ai des délai très long sur certaines pièce qui sont sur commande) qui sont mise a disposition avec une module spéciale pour ça, une idée comment je peux active les factures sans que les factures de prestashop sont disponible au cients ? Merci d'avance Ronald Ancienne méthode de remplacement, vous pouvez donc l'essayer. Link to comment Share on other sites More sharing options...
Ronald72 Posted September 11, 2022 Author Share Posted September 11, 2022 Il y a 1 heure, ComGrafPL a dit : Ancienne méthode de remplacement, vous pouvez donc l'essayer. Super merci beaucoup pour ce lien, ça fonctionne sur ma version 1.7.8.7 et c'est encore plus simple qu'expliquer ! Ronald 1 Link to comment Share on other sites More sharing options...
Ronald72 Posted September 11, 2022 Author Share Posted September 11, 2022 Pour ceux qui on le même problème que moi, c'est a dire sans utiliser la facturation de Prestashop, il suffit de ajouté ce code dans un fichier pour afficher les stats Crée le fichier AdminCustomersController.php avec le code ci dessous puis placer le fichier dans le repertoire /override/controllers/admin a l'aide Filezilla par exemple si vous avez déjà activé la facturation puis désactivé il est probable que le fichier existe déjà, dans ce cas je vous conseille de le renommer avant de crée le nouveau fichier, si jamais ça ne fonctionne pas vous pouvez le récupérer une fois placer le fichier vide le cache de Prestashop et normalement c'est ok <?php class AdminStatsController extends AdminStatsControllerCore { 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(`date_add`, 10) as date, SUM(total_paid_tax_excl / 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 `date_add` 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(`date_add`, 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(`date_add`, 7) as date, SUM(total_paid_tax_excl / 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 `date_add` 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(`date_add`, 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_tax_excl / o.conversion_rate) FROM `'._DB_PREFIX_.'orders` o LEFT JOIN `'._DB_PREFIX_.'order_state` os ON o.current_state = os.id_order_state WHERE `date_add` BETWEEN "'.pSQL($date_from).' 00:00:00" AND "'.pSQL($date_to).' 23:59:59" AND os.logable = 1 '.Shop::addSqlRestriction(false, 'o')); } } public static function getOrders($date_from, $date_to, $granularity = false) { if ($granularity == 'day') { $orders = array(); $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS(' SELECT LEFT(`date_add`, 10) as date, COUNT(*) as orders FROM `'._DB_PREFIX_.'orders` o LEFT JOIN `'._DB_PREFIX_.'order_state` os ON o.current_state = os.id_order_state WHERE `date_add` 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(`date_add`, 10)'); foreach ($result as $row) { $orders[strtotime($row['date'])] = $row['orders']; } return $orders; } elseif ($granularity == 'month') { $orders = array(); $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS(' SELECT LEFT(`date_add`, 7) as date, COUNT(*) as orders FROM `'._DB_PREFIX_.'orders` o LEFT JOIN `'._DB_PREFIX_.'order_state` os ON o.current_state = os.id_order_state WHERE `date_add` 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(`date_add`, 7)'); foreach ($result as $row) { $orders[strtotime($row['date'].'-01')] = $row['orders']; } return $orders; } else { $orders = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue(' SELECT COUNT(*) as orders FROM `'._DB_PREFIX_.'orders` o LEFT JOIN `'._DB_PREFIX_.'order_state` os ON o.current_state = os.id_order_state WHERE `date_add` BETWEEN "'.pSQL($date_from).' 00:00:00" AND "'.pSQL($date_to).' 23:59:59" AND os.logable = 1 '.Shop::addSqlRestriction(false, 'o')); } return $orders; } public static function getPurchases($date_from, $date_to, $granularity = false) { if ($granularity == 'day') { $purchases = array(); $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS(' SELECT LEFT(`date_add`, 10) as date, SUM(od.`product_quantity` * IF( od.`purchase_supplier_price` > 0, od.`purchase_supplier_price` / `conversion_rate`, od.`original_product_price` * '.(int)Configuration::get('CONF_AVERAGE_PRODUCT_MARGIN').' / 100 )) as total_purchase_price FROM `'._DB_PREFIX_.'orders` o LEFT JOIN `'._DB_PREFIX_.'order_detail` od ON o.id_order = od.id_order LEFT JOIN `'._DB_PREFIX_.'order_state` os ON o.current_state = os.id_order_state WHERE `date_add` 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(`date_add`, 10)'); foreach ($result as $row) { $purchases[strtotime($row['date'])] = $row['total_purchase_price']; } return $purchases; } else { return Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue(' SELECT SUM(od.`product_quantity` * IF( od.`purchase_supplier_price` > 0, od.`purchase_supplier_price` / `conversion_rate`, od.`original_product_price` * '.(int)Configuration::get('CONF_AVERAGE_PRODUCT_MARGIN').' / 100 )) as total_purchase_price FROM `'._DB_PREFIX_.'orders` o LEFT JOIN `'._DB_PREFIX_.'order_detail` od ON o.id_order = od.id_order LEFT JOIN `'._DB_PREFIX_.'order_state` os ON o.current_state = os.id_order_state WHERE `date_add` BETWEEN "'.pSQL($date_from).' 00:00:00" AND "'.pSQL($date_to).' 23:59:59" AND os.logable = 1 '.Shop::addSqlRestriction(false, 'o')); } } public static function getExpenses($date_from, $date_to, $granularity = false) { $expenses = ($granularity == 'day' ? array() : 0); $orders = Db::getInstance()->ExecuteS(' SELECT LEFT(`date_add`, 10) as date, total_paid_tax_incl / o.conversion_rate as total_paid_tax_incl, total_shipping_tax_excl / o.conversion_rate as total_shipping_tax_excl, o.module, a.id_country, o.id_currency, c.id_reference as carrier_reference FROM `'._DB_PREFIX_.'orders` o LEFT JOIN `'._DB_PREFIX_.'address` a ON o.id_address_delivery = a.id_address LEFT JOIN `'._DB_PREFIX_.'carrier` c ON o.id_carrier = c.id_carrier LEFT JOIN `'._DB_PREFIX_.'order_state` os ON o.current_state = os.id_order_state WHERE `date_add` BETWEEN "'.pSQL($date_from).' 00:00:00" AND "'.pSQL($date_to).' 23:59:59" AND os.logable = 1 '.Shop::addSqlRestriction(false, 'o')); foreach ($orders as $order) { // Add flat fees for this order $flat_fees = Configuration::get('CONF_ORDER_FIXED') + ( $order['id_currency'] == Configuration::get('PS_CURRENCY_DEFAULT') ? Configuration::get('CONF_'.strtoupper($order['module']).'_FIXED') : Configuration::get('CONF_'.strtoupper($order['module']).'_FIXED_FOREIGN') ); // Add variable fees for this order $var_fees = $order['total_paid_tax_incl'] * ( $order['id_currency'] == Configuration::get('PS_CURRENCY_DEFAULT') ? Configuration::get('CONF_'.strtoupper($order['module']).'_VAR') : Configuration::get('CONF_'.strtoupper($order['module']).'_VAR_FOREIGN') ) / 100; // Add shipping fees for this order $shipping_fees = $order['total_shipping_tax_excl'] * ( $order['id_country'] == Configuration::get('PS_COUNTRY_DEFAULT') ? Configuration::get('CONF_'.strtoupper($order['carrier_reference']).'_SHIP') : Configuration::get('CONF_'.strtoupper($order['carrier_reference']).'_SHIP_OVERSEAS') ) / 100; // Tally up these fees if ($granularity == 'day') { if (!isset($expenses[strtotime($order['date'])])) { $expenses[strtotime($order['date'])] = 0; } $expenses[strtotime($order['date'])] += $flat_fees + $var_fees + $shipping_fees; } else { $expenses += $flat_fees + $var_fees + $shipping_fees; } } return $expenses; } } Bonne stats a vous, Ronald Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now