Update index.php

Add quarter report of sell service/product
This commit is contained in:
BENKE Charles 2013-08-06 21:31:32 +02:00
parent 3caf119596
commit 024ba2ee42

View File

@ -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 '</td></tr></table>';
print '</div></div></div>';
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 '<br>';
print '<table class="noborder" width="75%">';
if ($product_type==1)
print '<tr class="liste_titre"><td align=left>'.$langs->trans("ProductSellByQuarterHT").'</td>';
else
print '<tr class="liste_titre"><td align=left>'.$langs->trans("SerciceSellByQuarterHT").'</td>';
print '<td align=right>'.$langs->trans("Quarter1").'</td>';
print '<td align=right>'.$langs->trans("Quarter2").'</td>';
print '<td align=right>'.$langs->trans("Quarter3").'</td>';
print '<td align=right>'.$langs->trans("Quarter4").'</td>';
print '<td align=right>'.$langs->trans("Total").'</td>';
print '</tr>';
}
$i = 0;
while ($i < $num)
{
$objp = $db->fetch_object($result);
if ($tmpyear != $objp->annee)
{
if ($trim1+$trim2+$trim3+$trim4 > 0)
{
print '<tr ><td align=left>'.$tmpyear.'</td>';
print '<td align=right>'.price($trim1).'</td>';
print '<td align=right>'.price($trim2).'</td>';
print '<td align=right>'.price($trim3).'</td>';
print '<td align=right>'.price($trim4).'</td>';
print '<td align=right>'.price($trim1+$trim2+$trim3+$trim4).'</td>';
print '</tr>';
$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 '<tr ><td align=left>'.$tmpyear.'</td>';
print '<td align=right>'.price($trim1).'</td>';
print '<td align=right>'.price($trim2).'</td>';
print '<td align=right>'.price($trim3).'</td>';
print '<td align=right>'.price($trim4).'</td>';
print '<td align=right>'.price($trim1+$trim2+$trim3+$trim4).'</td>';
print '</tr>';
}
if ($num > 0 )
print '</table>';
}
}
?>