18 |
* $Id$ |
* $Id$ |
19 |
* $Source$ |
* $Source$ |
20 |
* |
* |
|
* |
|
21 |
* Prépare les factures à imprimer |
* Prépare les factures à imprimer |
22 |
*/ |
*/ |
23 |
|
|
28 |
\version $Revision$ |
\version $Revision$ |
29 |
*/ |
*/ |
30 |
|
|
|
|
|
31 |
require ("../../master.inc.php"); |
require ("../../master.inc.php"); |
|
|
|
32 |
require_once (DOL_DOCUMENT_ROOT."/facture.class.php"); |
require_once (DOL_DOCUMENT_ROOT."/facture.class.php"); |
33 |
require_once (DOL_DOCUMENT_ROOT."/societe.class.php"); |
require_once (DOL_DOCUMENT_ROOT."/societe.class.php"); |
34 |
require_once (DOL_DOCUMENT_ROOT."/paiement.class.php"); |
require_once (DOL_DOCUMENT_ROOT."/paiement.class.php"); |
36 |
require_once (DOL_DOCUMENT_ROOT."/telephonie/lignetel.class.php"); |
require_once (DOL_DOCUMENT_ROOT."/telephonie/lignetel.class.php"); |
37 |
require_once (DOL_DOCUMENT_ROOT."/telephonie/facturetel.class.php"); |
require_once (DOL_DOCUMENT_ROOT."/telephonie/facturetel.class.php"); |
38 |
require_once (DOL_DOCUMENT_ROOT."/telephonie/telephonie.contrat.class.php"); |
require_once (DOL_DOCUMENT_ROOT."/telephonie/telephonie.contrat.class.php"); |
39 |
|
require_once (DOL_DOCUMENT_ROOT."/telephonie/pdf/pdfdetail_nodet.modules.php"); |
40 |
|
require_once (DOL_DOCUMENT_ROOT."/includes/modules/facture/modules_facture.php"); |
41 |
|
require_once (DOL_DOCUMENT_ROOT."/includes/modules/facture/pdf_ibreizh.modules.php"); |
42 |
|
|
43 |
$error = 0; |
$error = 0; |
44 |
|
|
45 |
$datetime = time(); |
$opt = getopt("m:"); |
46 |
|
|
47 |
|
if ($opt['m'] > 0) |
48 |
|
{ |
49 |
|
$datetime = mktime(10,10,10,$opt['m'],10,2005); |
50 |
|
} |
51 |
|
else |
52 |
|
{ |
53 |
|
$datetime = time(); |
54 |
|
} |
55 |
$date = strftime("%d%h%Y%Hh%Mm%S",$datetime); |
$date = strftime("%d%h%Y%Hh%Mm%S",$datetime); |
56 |
|
|
57 |
$user = new User($db, 1); |
$user = new User($db, 1); |
69 |
$month = substr("00".($month - 1), -2) ; |
$month = substr("00".($month - 1), -2) ; |
70 |
} |
} |
71 |
|
|
72 |
|
|
73 |
|
$sql = "SELECT distinct(f.fk_facture), ff.facnumber "; |
74 |
|
$sql .= " FROM ".MAIN_DB_PREFIX."telephonie_contrat_service as cs"; |
75 |
|
$sql .= " , ".MAIN_DB_PREFIX."telephonie_facture as f"; |
76 |
|
$sql .= " , ".MAIN_DB_PREFIX."facture as ff"; |
77 |
|
$sql .= " , ".MAIN_DB_PREFIX."telephonie_societe_ligne as l"; |
78 |
|
$sql .= " WHERE l.fk_contrat = cs.fk_contrat"; |
79 |
|
$sql .= " AND f.fk_ligne = l.rowid"; |
80 |
|
$sql .= " AND f.fk_facture = ff.rowid"; |
81 |
|
$sql .= " AND date_format(f.date,'%m%Y') = '".$month.$year."'"; |
82 |
|
|
83 |
|
$resql = $db->query($sql); |
84 |
|
|
85 |
|
dolibarr_syslog("Impression des factures de ".$month.$year); |
86 |
|
|
87 |
|
if ( $resql ) |
88 |
|
{ |
89 |
|
$num = $db->num_rows($resql); |
90 |
|
$i = 0; |
91 |
|
|
92 |
|
dolibarr_syslog("$num factures a imprimer"); |
93 |
|
|
94 |
|
$pdf = new FPDF('P','mm','A4'); |
95 |
|
$pdf->Open(); |
96 |
|
|
97 |
|
$pdf->SetMargins(10, 10, 10); |
98 |
|
$pdf->SetAutoPageBreak(1,0); |
99 |
|
|
100 |
|
$file = "/tmp/fac.pdf"; |
101 |
|
|
102 |
|
while ($i < $num) |
103 |
|
{ |
104 |
|
$row = $db->fetch_row($resql); |
105 |
|
|
106 |
|
print $row[1]." ".$row[0]."\n"; |
107 |
|
|
108 |
|
$xx = new pdf_ibreizh($db); |
109 |
|
$xx->_write_pdf_file($row[0], &$pdf, 1); |
110 |
|
|
111 |
|
$fql = "SELECT rowid, ligne"; |
112 |
|
$fql .= " FROM ".MAIN_DB_PREFIX."telephonie_facture as f"; |
113 |
|
$fql .= " WHERE f.fk_facture = ".$row[0]; |
114 |
|
|
115 |
|
$refql = $db->query($fql); |
116 |
|
|
117 |
|
if ( $refql ) |
118 |
|
{ |
119 |
|
while ($fow = $db->fetch_row($refql)) |
120 |
|
{ |
121 |
|
$obj_factel = new FactureTel($db); |
122 |
|
$obj_factel->fetch($fow[0]); |
123 |
|
$ligne_id = $fow[1]; |
124 |
|
$yy = new pdfdetail_nodet ($db, $ligne_id, $year, $month, $obj_factel); |
125 |
|
$yy->_write_pdf_file($obj_factel, $ligne_id, $pdf, 1); |
126 |
|
} |
127 |
|
} |
128 |
|
|
129 |
|
$i++; |
130 |
|
} |
131 |
|
|
132 |
|
$pdf->Close(); |
133 |
|
$pdf->Output($file); |
134 |
|
|
135 |
|
$db->free($resql); |
136 |
|
} |
137 |
|
else |
138 |
|
{ |
139 |
|
$error = 1; |
140 |
|
dolibarr_syslog("Erreur ".$error); |
141 |
|
dolibarr_syslog($db->error()); |
142 |
|
} |
143 |
|
|
144 |
|
$db->close(); |
145 |
|
|
146 |
|
|
147 |
|
|
148 |
|
|
149 |
|
|
150 |
|
|
151 |
|
|
152 |
|
|
153 |
|
|
154 |
|
|
155 |
|
|
156 |
|
|
157 |
/* |
/* |
158 |
* Lecture du batch |
* Ancienne méthode |
159 |
* |
* |
160 |
*/ |
*/ |
161 |
|
|
162 |
|
exit; |
163 |
|
|
164 |
$sql = "SELECT distinct(f.fk_facture), ff.facnumber "; |
$sql = "SELECT distinct(f.fk_facture), ff.facnumber "; |
165 |
$sql .= " FROM ".MAIN_DB_PREFIX."telephonie_contrat_service as cs"; |
$sql .= " FROM ".MAIN_DB_PREFIX."telephonie_contrat_service as cs"; |
166 |
$sql .= " , ".MAIN_DB_PREFIX."telephonie_facture as f"; |
$sql .= " , ".MAIN_DB_PREFIX."telephonie_facture as f"; |
167 |
$sql .= " , ".MAIN_DB_PREFIX."facture as ff"; |
$sql .= " , ".MAIN_DB_PREFIX."facture as ff"; |
168 |
$sql .= " , ".MAIN_DB_PREFIX."telephonie_societe_ligne as l"; |
$sql .= " , ".MAIN_DB_PREFIX."telephonie_societe_ligne as l"; |
|
|
|
169 |
$sql .= " WHERE l.fk_contrat = cs.fk_contrat"; |
$sql .= " WHERE l.fk_contrat = cs.fk_contrat"; |
170 |
$sql .= " AND f.fk_ligne = l.rowid"; |
$sql .= " AND f.fk_ligne = l.rowid"; |
171 |
$sql .= " AND f.fk_facture = ff.rowid"; |
$sql .= " AND f.fk_facture = ff.rowid"; |
205 |
dolibarr_syslog($db->error()); |
dolibarr_syslog($db->error()); |
206 |
} |
} |
207 |
|
|
|
/* |
|
|
* Traitements |
|
|
* |
|
|
*/ |
|
|
|
|
208 |
$db->close(); |
$db->close(); |
209 |
|
|
|
dolibarr_syslog("Conso mémoire ".memory_get_usage() ); |
|
|
|
|
210 |
?> |
?> |