diff --git a/gestion/lib/Db/Bdd.php b/gestion/lib/Db/Bdd.php index 6d607ff..609c3a4 100644 --- a/gestion/lib/Db/Bdd.php +++ b/gestion/lib/Db/Bdd.php @@ -2064,41 +2064,39 @@ class Bdd { public function retrieveTotalInvoicesForTheYear(){ $sql = "SELECT - EXTRACT(YEAR FROM facture.date_paiement) AS y, - EXTRACT(MONTH FROM facture.date_paiement) AS m, + EXTRACT(YEAR FROM devis.date) AS y, + EXTRACT(MONTH FROM devis.date) AS m, SUM( COALESCE(client_group_discount.ht_amount,produit.prix_unitaire) * produit_devis.quantite ) AS total - FROM ".$this->tableprefix."facture AS facture - JOIN ".$this->tableprefix."devis AS devis - ON MONTH(facture.date_paiement) = MONTH(devis.date) AND - YEAR(facture.date_paiement) = YEAR(devis.date) - JOIN ".$this->tableprefix."produit_devis AS produit_devis + from oc_gestion_devis as devis + JOIN oc_gestion_produit_devis AS produit_devis ON devis.id = produit_devis.devis_id - JOIN ".$this->tableprefix."produit AS produit + JOIN oc_gestion_produit AS produit ON produit_devis.produit_id = produit.id - JOIN ".$this->tableprefix."client AS client + JOIN oc_gestion_client AS client ON devis.id_client = client.id - LEFT JOIN ".$this->tableprefix."client_group AS client_group + JOIN oc_gestion_client_group AS client_group ON client.fk_client_group_id = client_group.id - LEFT JOIN ".$this->tableprefix."client_group_discount AS client_group_discount + JOIN oc_gestion_client_group_discount AS client_group_discount ON client_group.id = client_group_discount.fk_client_group_id AND produit.id = client_group_discount.fk_produit_id WHERE (devis.mentions = ? OR devis.mentions = ?) GROUP BY - EXTRACT(YEAR FROM facture.date_paiement), - EXTRACT(MONTH FROM facture.date_paiement) + EXTRACT(YEAR FROM devis.`date`), + EXTRACT(MONTH FROM devis.`date`) ORDER BY - EXTRACT(YEAR FROM facture.date_paiement) DESC, - EXTRACT(MONTH FROM facture.date_paiement);"; + EXTRACT(YEAR FROM devis.`date`) DESC, + EXTRACT(MONTH FROM devis.`date`);"; + return $this->execSQL($sql, [ DevisMentionConstant::FACTURED, DevisMentionConstant::FACTURED_FORMATTED ]); - } + } /** * Annual turnover per month without VAT */ @@ -2135,25 +2133,22 @@ class Bdd { public function getStatArticleAnnuel($idNextcloud, $annee) { $sql = "SELECT p.id, p.reference, - COALESCE(SUM(CASE WHEN MONTH(f.date_paiement) = 1 THEN pd.quantite ELSE 0 END), 0) AS janvier, - COALESCE(SUM(CASE WHEN MONTH(f.date_paiement) = 2 THEN pd.quantite ELSE 0 END), 0) AS fevrier, - COALESCE(SUM(CASE WHEN MONTH(f.date_paiement) = 3 THEN pd.quantite ELSE 0 END), 0) AS mars, - COALESCE(SUM(CASE WHEN MONTH(f.date_paiement) = 4 THEN pd.quantite ELSE 0 END), 0) AS avril, - COALESCE(SUM(CASE WHEN MONTH(f.date_paiement) = 5 THEN pd.quantite ELSE 0 END), 0) AS mai, - COALESCE(SUM(CASE WHEN MONTH(f.date_paiement) = 6 THEN pd.quantite ELSE 0 END), 0) AS juin, - COALESCE(SUM(CASE WHEN MONTH(f.date_paiement) = 7 THEN pd.quantite ELSE 0 END), 0) AS juillet, - COALESCE(SUM(CASE WHEN MONTH(f.date_paiement) = 8 THEN pd.quantite ELSE 0 END), 0) AS aout, - COALESCE(SUM(CASE WHEN MONTH(f.date_paiement) = 9 THEN pd.quantite ELSE 0 END), 0) AS septembre, - COALESCE(SUM(CASE WHEN MONTH(f.date_paiement) = 10 THEN pd.quantite ELSE 0 END), 0) AS octobre, - COALESCE(SUM(CASE WHEN MONTH(f.date_paiement) = 11 THEN pd.quantite ELSE 0 END), 0) AS novembre, - COALESCE(SUM(CASE WHEN MONTH(f.date_paiement) = 12 THEN pd.quantite ELSE 0 END), 0) AS decembre + COALESCE(SUM(CASE WHEN MONTH(d.date) = 1 THEN pd.quantite ELSE 0 END), 0) AS janvier, + COALESCE(SUM(CASE WHEN MONTH(d.date) = 2 THEN pd.quantite ELSE 0 END), 0) AS fevrier, + COALESCE(SUM(CASE WHEN MONTH(d.date) = 3 THEN pd.quantite ELSE 0 END), 0) AS mars, + COALESCE(SUM(CASE WHEN MONTH(d.date) = 4 THEN pd.quantite ELSE 0 END), 0) AS avril, + COALESCE(SUM(CASE WHEN MONTH(d.date) = 5 THEN pd.quantite ELSE 0 END), 0) AS mai, + COALESCE(SUM(CASE WHEN MONTH(d.date) = 6 THEN pd.quantite ELSE 0 END), 0) AS juin, + COALESCE(SUM(CASE WHEN MONTH(d.date) = 7 THEN pd.quantite ELSE 0 END), 0) AS juillet, + COALESCE(SUM(CASE WHEN MONTH(d.date) = 8 THEN pd.quantite ELSE 0 END), 0) AS aout, + COALESCE(SUM(CASE WHEN MONTH(d.date) = 9 THEN pd.quantite ELSE 0 END), 0) AS septembre, + COALESCE(SUM(CASE WHEN MONTH(d.date) = 10 THEN pd.quantite ELSE 0 END), 0) AS octobre, + COALESCE(SUM(CASE WHEN MONTH(d.date) = 11 THEN pd.quantite ELSE 0 END), 0) AS novembre, + COALESCE(SUM(CASE WHEN MONTH(d.date) = 12 THEN pd.quantite ELSE 0 END), 0) AS decembre FROM ".$this->tableprefix."produit p LEFT JOIN ".$this->tableprefix."produit_devis pd ON p.id = pd.produit_id LEFT JOIN ".$this->tableprefix."devis d ON pd.devis_id = d.id - LEFT JOIN ".$this->tableprefix."facture f - ON MONTH(f.date_paiement) = MONTH(d.date) AND - YEAR(f.date_paiement) = YEAR(f.date) - WHERE YEAR(f.date_paiement) = ".$annee." AND pd.devis_id IS NOT NULL AND + WHERE YEAR(d.date) = ".$annee." AND pd.devis_id IS NOT NULL AND (d.mentions = ? or d.mentions = ?) GROUP BY p.id, p.reference;"; return $this->execSQL($sql, [ @@ -2179,9 +2174,6 @@ class Bdd { COALESCE(SUM(CASE WHEN MONTH(d.date) = 11 THEN 1 ELSE 0 END), 0) AS novembre, COALESCE(SUM(CASE WHEN MONTH(d.date) = 12 THEN 1 ELSE 0 END), 0) AS decembre FROM ".$this->tableprefix."devis d - LEFT JOIN ".$this->tableprefix."facture f - ON MONTH(f.date_paiement) = MONTH(d.date) AND - YEAR(f.date_paiement) = YEAR(f.date) LEFT JOIN ".$this->tableprefix."thanato thanato ON d.id_thanato = thanato.id WHERE YEAR(d.date) = ".$annee." AND d.id_thanato IS NOT NULL AND (d.mentions = ? or d.mentions = ?)