diff --git a/htdocs/product/index.php b/htdocs/product/index.php index 247ddf7d5ff..b1d2209d94c 100644 --- a/htdocs/product/index.php +++ b/htdocs/product/index.php @@ -258,10 +258,121 @@ else dol_print_error($db); } +// ici le récap des ventes par trimestre de service et de produit +if (! empty($conf->product->enabled)) + activitytrim(0); + +if (! empty($conf->service->enabled)) + activitytrim(1); + //print ''; print ''; llxFooter(); $db->close(); + +function activitytrim($product_type) +{ + global $conf,$langs,$db; + + // on affiche les 3 dernières années + $begindate=date('Y',dol_time_plus_duree(time(), -3, "y")); + + // ventilation par trimestre + $sql = "SELECT DATE_FORMAT(p.datep,'%Y') as annee, DATE_FORMAT(p.datep,'%m') as mois, sum(fd.total_ht) as Mnttot"; + $sql.= " FROM ".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."facture as f, ".MAIN_DB_PREFIX."facturedet as fd"; + $sql.= " , ".MAIN_DB_PREFIX."paiement as p,".MAIN_DB_PREFIX."paiement_facture as pf"; + $sql.= " WHERE f.fk_soc = s.rowid"; + $sql.= " AND f.rowid = fd.fk_facture"; + $sql.= " AND pf.fk_facture = f.rowid"; + $sql.= " AND pf.fk_paiement= p.rowid"; + $sql.= " AND fd.product_type=".$product_type; + $sql.= " AND s.entity = ".$conf->entity; + $sql.= " AND DATE_FORMAT(p.datep,'%Y') > ".date('Y',$begindate)." and paye=1"; + $sql.= " GROUP BY annee, mois "; + $sql.= " ORDER BY annee, mois "; + + $result = $db->query($sql); + if ($result) + { + $tmpyear=$beginyear; + $trim1=0; + $trim2=0; + $trim3=0; + $trim4=0; + $lgn = 0; + $num = $db->num_rows($result); + + if ($num > 0 ) + { + print '
'; + print ''; + + if ($product_type==1) + print ''; + else + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + $i = 0; + + while ($i < $num) + { + $objp = $db->fetch_object($result); + if ($tmpyear != $objp->annee) + { + if ($trim1+$trim2+$trim3+$trim4 > 0) + { + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + $lgn++; + } + // on passe à l'année suivante + $tmpyear = $objp->annee; + $trim1=0; + $trim2=0; + $trim3=0; + $trim4=0; + } + + if ($objp->mois == "01" || $objp->mois == "02" || $objp->mois == "03") + $trim1 += $objp->Mnttot; + + if ($objp->mois == "04" || $objp->mois == "05" || $objp->mois == "06") + $trim2 += $objp->Mnttot; + + if ($objp->mois == "07" || $objp->mois == "08" || $objp->mois == "09") + $trim3 += $objp->Mnttot; + + if ($objp->mois == "10" || $objp->mois == "11" || $objp->mois == "12") + $trim4 += $objp->Mnttot; + + $i++; + } + if ($trim1+$trim2+$trim3+$trim4 > 0) + { + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + if ($num > 0 ) + print '
'.$langs->trans("ProductSellByQuarterHT").'
'.$langs->trans("SerciceSellByQuarterHT").''.$langs->trans("Quarter1").''.$langs->trans("Quarter2").''.$langs->trans("Quarter3").''.$langs->trans("Quarter4").''.$langs->trans("Total").'
'.$tmpyear.''.price($trim1).''.price($trim2).''.price($trim3).''.price($trim4).''.price($trim1+$trim2+$trim3+$trim4).'
'.$tmpyear.''.price($trim1).''.price($trim2).''.price($trim3).''.price($trim4).''.price($trim1+$trim2+$trim3+$trim4).'
'; + } +} + ?>