From e938b32f84e8b4321ecb2050de069eb3e8e64090 Mon Sep 17 00:00:00 2001 From: Rodolphe Quiedeville Date: Tue, 27 Mar 2007 12:58:50 +0000 Subject: [PATCH] Nouveau fichier --- scripts/addons/editeur/droits-nouveautes.php | 176 +++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 scripts/addons/editeur/droits-nouveautes.php diff --git a/scripts/addons/editeur/droits-nouveautes.php b/scripts/addons/editeur/droits-nouveautes.php new file mode 100644 index 00000000000..1b524c40fea --- /dev/null +++ b/scripts/addons/editeur/droits-nouveautes.php @@ -0,0 +1,176 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * $Id$ + * $Source$ + * + * + */ +require_once("../../../htdocs/master.inc.php"); +require_once(PHP_WRITEEXCEL_PATH."/class.writeexcel_workbook.inc.php"); +require_once(PHP_WRITEEXCEL_PATH."/class.writeexcel_worksheet.inc.php"); + +$error = 0; + +$year = strftime('%Y', time()); + +$fname = "/tmp/droits-nouveautes-".$year.".xls"; + +$workbook = &new writeexcel_workbook($fname); + +$page = &$workbook->addworksheet("Droits nouveautes ".$year); + +$fcent =& $workbook->addformat(array( + 'align' => 'center', + 'border' => 1 + )); + +$fdroit =& $workbook->addformat(array( + 'bg_color' => 0x0A, + 'color' => 0x09, + 'bold' => 1, + 'align' => 'center', + 'border' => 1 + )); + +$fvent =& $workbook->addformat(array( + 'bg_color' => 0x35, + 'bold' => 1, + 'align' => 'center' + )); + + + +$fdroits=& $workbook->addformat(array( + 'bg_color' => 24, + 'bold' => 1, + 'align' => 'center', + 'border' => 1 + )); + +$page->set_column(0,0,10); // A +$page->set_column(1,1,12); // B +$page->set_column(2,2,15); // C +$page->set_column(3,3,9); // C +$page->set_column(4,8,8); + + +$sql = "SELECT fd.fk_product, sum(fd.qty), date_format(f.datef,'%c')>6"; +$sql .= " FROM ".MAIN_DB_PREFIX."facturedet as fd,".MAIN_DB_PREFIX."facture as f"; +$sql .= " WHERE fd.fk_facture=f.rowid"; +$sql .= " AND date_format(f.datef,'%Y') ='".$year."'"; +$sql .= " GROUP BY fd.fk_product, date_format(f.datef,'%c')>6"; +$ventes = array(); +$resql=$db->query($sql); +if ($resql) +{ + while ($row = $db->fetch_row($resql)) + { + $ventes[$row[0]][$row[2]] = $row[1]; + } + $db->free($resql); +} +else +{ + print "Error "; +} + + + + +$sql = "SELECT p.rowid, p.ref,p.label, p.price_ttc as pv, s.nom as fournisseur"; +$sql .= ",c.quantite as droits, c.taux"; +$sql .= " FROM ".MAIN_DB_PREFIX."product as p"; +$sql .= ", ".MAIN_DB_PREFIX."product_cnv_livre as pl"; +$sql .= ", ".MAIN_DB_PREFIX."product_cnv_livre_contrat as c"; + +$sql .= ", ".MAIN_DB_PREFIX."product_fournisseur as pf"; +$sql .= ", ".MAIN_DB_PREFIX."societe as s"; + +$sql .= " WHERE p.rowid = pl.rowid"; +$sql .= " AND pf.fk_product = p.rowid AND s.idp=pf.fk_soc"; +$sql .= " AND p.rowid = c.fk_cnv_livre"; +$sql .= " AND p.canvas = 'livre'"; +$sql .= " ORDER BY p.rowid ASC"; + +if ($db->query($sql)) +{ + $i = 0; + $j = 1; + + $page->write_string(0, 0, "Ref", $fcent); + $page->write_string(0, 1, "Titre", $fcent); + $page->write_string(0, 2, "Nom"); + $page->write_string(0, 3, "Droits", $fdroit); + $page->write_string(0, 4, "Taux", $fcent); + $page->write_string(0, 5, "P.V.", $fcent); + + $page->write_string(0, 7, "Droits\nverses", $fcent); + $page->write_string(0, 8, "Soit\npar livre", $fcent); + + $page->write_string(0, 9, "Ventes\n1er sem", $fvent); + $page->write_string(0, 10, "Ventes\n2eme sem", $fvent); + $page->write_string(0, 11, "Total\nVentes", $fvent); + $page->write_string(0, 12, "Solde", $fcent); + + $page->write_string(0,13,"Droits\na payer",$fdroits); + $page->write_string(0,14,"Droits payes\ndavance",$fdroits); + + while ($obj = $db->fetch_object()) + { + $k = $j+1; + + $page->write_string($j, 0, $obj->ref, $fcent); + $page->write_string($j, 1, stripslashes($obj->label), $fcent); + $page->write_string($j, 2, stripslashes($obj->fournisseur), $fcent); + $page->write($j, 3, $obj->droits, $fdroit); + $page->write($j, 4, $obj->taux, $fcent); + $page->write($j, 5, $obj->pv, $fcent); + + $page->write_formula($j,6,"=F$k/1.055",$fcent); + $page->write_formula($j,7,"=F$k*E$k*D$k/100",$fcent); + $page->write_formula($j,8,"=H$k/D$k",$fcent); + + $page->write_number($j,9, $ventes[$obj->rowid][0],$fvent); + $page->write_number($j,10, $ventes[$obj->rowid][1],$fvent); + + $page->write_formula($j,11,"=J$k+K$k",$fvent); + $page->write_formula($j,12,"=L$k-D$k",$fcent); + + if ($obj->droits < ($ventes[$obj->rowid][0]+$ventes[$obj->rowid][1])) + { + $page->write_formula($j,13,"=M$k*I$k",$fdroits); + $page->write_string($j,14,'',$fdroits); + } + else + { + $page->write_string($j,13,'',$fdroits); + $page->write_formula($j,14,"=M$k*I$k",$fdroits); + } + + $j++; + $i++; + + } +} +else +{ + print "Error "; +} + +$workbook->close(); +?>