[ Index ]
 

Code source de Dolibarr 2.0.1

Accédez au Source d'autres logiciels libres

Classes | Fonctions | Variables | Constantes | Tables

title

Body

[fermer]

/htdocs/telephonie/script/ -> plan-facturation.php (source)

   1  <?PHP
   2  /* Copyright (C) 2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
   3   *
   4   * This program is free software; you can redistribute it and/or modify
   5   * it under the terms of the GNU General Public License as published by
   6   * the Free Software Foundation; either version 2 of the License, or
   7   * (at your option) any later version.
   8   *
   9   * This program is distributed in the hope that it will be useful,
  10   * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12   * GNU General Public License for more details.
  13   *
  14   * You should have received a copy of the GNU General Public License
  15   * along with this program; if not, write to the Free Software
  16   * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  17   *
  18   * $Id: plan-facturation.php,v 1.5 2005/12/05 09:39:38 rodolphe Exp $
  19   * $Source: /cvsroot/dolibarr/dolibarr/htdocs/telephonie/script/plan-facturation.php,v $
  20   *
  21   * Génération du plan de facturation
  22   *
  23   */
  24  print "Mem : ".memory_get_usage() ."\n";
  25  require  ("../../master.inc.php");
  26  
  27  require_once (DOL_DOCUMENT_ROOT."/telephonie/lignetel.class.php");
  28  require_once (DOL_DOCUMENT_ROOT."/telephonie/facturetel.class.php");
  29  require_once (DOL_DOCUMENT_ROOT."/telephonie/communication.class.php");
  30  require_once (DOL_DOCUMENT_ROOT."/telephonie/numero.class.php");
  31  require_once (DOL_DOCUMENT_ROOT."/includes/php_writeexcel/class.writeexcel_workbook.inc.php");
  32  require_once (DOL_DOCUMENT_ROOT."/includes/php_writeexcel/class.writeexcel_worksheet.inc.php");
  33  
  34  $error = 0;
  35  
  36  $datetime = time();
  37  
  38  $date = strftime("%d%h%Y%Hh%Mm%S",$datetime);
  39  
  40  $sql = "SELECT c.rowid, sl.ligne, sl.code_analytique";
  41  
  42  $sql .= ", s.nom, c.ref, s.code_client, s.address, s.cp, s.ville";
  43  
  44  $sql .=" FROM ".MAIN_DB_PREFIX."telephonie_societe_ligne as sl";
  45  $sql .=" , ".MAIN_DB_PREFIX."telephonie_contrat as c";
  46  $sql .=" , ".MAIN_DB_PREFIX."societe as s";
  47  $sql .= " WHERE sl.fk_contrat  = c.rowid";
  48  $sql .= " AND c.fk_client_comm = 52";
  49  $sql .= " AND sl.statut <> 7";
  50  $sql .= " AND c.fk_soc_facture = s.idp";
  51  $sql .= " ORDER BY c.rowid ASC, sl.code_analytique ASC";
  52  
  53  $resql = $db->query($sql);
  54  
  55  if ($resql)
  56  {
  57  
  58    $dir = DOL_DATA_ROOT . "/telephonie/rapports/".$keygroupe;
  59    
  60    if (! file_exists($dir))
  61      {
  62        umask(0);
  63        if (! @mkdir($dir, 0755))
  64      {
  65        print "Erreur: Le répertoire '$dir' n'existe pas et Dolibarr n'a pu le créer.";
  66      }
  67      }    
  68  
  69    $fname = "/tmp/plan-facturation-".strftime("%d-%m-%Y",$datetime).".xls";
  70  
  71    print "Open $fname\n";
  72  
  73    $workbook = &new writeexcel_workbook($fname);
  74  
  75    $page2 = &$workbook->addworksheet("Plan");
  76  
  77    $page2->set_column(0,0,8);
  78    $page2->set_column(1,1,20);
  79    $page2->set_column(2,2,48);
  80    $page2->set_column(4,4,20);
  81    $page2->set_column(5,5,50);
  82  
  83    $formatcc =& $workbook->addformat();
  84    $formatcc->set_align('center');
  85    $formatcc->set_align('vcenter');  
  86  
  87    $fclient =& $workbook->addformat();
  88    $fclient->set_align('left');
  89    $fclient->set_align('vcenter');  
  90  
  91    $fcode =& $workbook->addformat();
  92    $fcode->set_align('center');
  93    $fcode->set_align('vcenter');  
  94    $fcode->set_border(1);
  95  
  96    $fligne =& $workbook->addformat();
  97    $fligne->set_align('center');
  98    $fligne->set_align('vcenter');  
  99    $fligne->set_right(6);
 100    $fligne->set_bottom(1);
 101  
 102    $fnb =& $workbook->addformat();
 103    $fnb->set_align('vcenter');
 104    $fnb->set_align('center');
 105    $fnb->set_top(1);
 106    $fnb->set_right(1);
 107    $fnb->set_bottom(1);
 108    $fnb->set_left(6);
 109  
 110    $fduree =& $workbook->addformat();
 111    $fduree->set_align('center');
 112    $fduree->set_align('vcenter');  
 113    $fduree->set_border(1);
 114  
 115    $fcout =& $workbook->addformat();
 116    $fcout->set_align('center');
 117    $fcout->set_align('vcenter');
 118    $fcout->set_num_format('0.00');
 119    $fcout->set_border(1);
 120  
 121    $fb =& $workbook->addformat();
 122    $fb->set_align('vcenter');  
 123    $fb->set_bold();
 124    $fb->set_top(2);
 125  
 126    $fc =& $workbook->addformat();
 127    $fc->set_align('vcenter');  
 128    $fc->set_top(2);
 129  
 130    $fa =& $workbook->addformat();
 131    $fa->set_align('left');
 132    $fa->set_align('vcenter');  
 133    $fa->set_top(2);
 134  
 135    $fd =& $workbook->addformat();
 136    $fd->set_align('center');
 137    $fd->set_align('vcenter');  
 138    $fd->set_top(2);
 139  
 140    $num = $db->num_rows($resql);
 141    $i = 0;
 142    $b = 0;
 143    $oc = '';
 144  
 145    while($i < $num)
 146      {
 147        $obj = $db->fetch_object($resql);
 148  
 149        if ($oc <> $obj->ref)
 150      {
 151        $b++;
 152  
 153        $z = $obj->nom . "(".$obj->code_client.")". "\n";
 154        $z.= $obj->address."\n";
 155        $z.= $obj->cp . " ".$obj->ville;
 156        
 157        $page2->write_string($i, 0,  $b, $fc);
 158        $page2->write_string($i, 1,  "Contrat : ".$obj->ref, $fb);
 159        $page2->write_string($i, 2,  $z, $fa);
 160  
 161        $oc = $obj->ref;
 162        $a = 0;
 163  
 164        $page2->write_string($i, 3,  $obj->code_analytique, $fd);
 165        $page2->write_string($i, 4,  $obj->ligne, $fd);
 166        $page2->write_string($i, 5,  $obj->nom, $fa);
 167  
 168      }
 169  
 170        else
 171      {
 172        $page2->write_string($i, 3,  $obj->code_analytique, $formatcc);
 173        $page2->write_string($i, 4,  $obj->ligne, $formatcc);
 174        $page2->write_string($i, 5,  $obj->nom, $fclient);
 175      }
 176  
 177        $i++;
 178        $a++;
 179      }
 180  
 181    $workbook->close();
 182    dolibarr_syslog("Close $fname");
 183    
 184  }
 185  
 186  ?>


Généré le : Mon Nov 26 12:29:37 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics