source: pmb4.1/trunk/fuentes/pmb/circ/relance/relance_export.php @ 478

Last change on this file since 478 was 478, checked in by mabarracus, 4 years ago

copy trusty code 4.1

  • Property svn:executable set to *
File size: 6.7 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: relance_export.php,v 1.4 2013-10-04 12:48:39 dgoron Exp $
6
7//Affichage des recouvrements pour un lecteur, format Excel HTML
8
9// définition du minimum nécéssaire
10$base_path="../..";                           
11$base_auth = "CIRCULATION_AUTH"; 
12$base_noheader=1;
13$base_nosession=1;
14//$base_nocheck = 1 ;
15require_once ("$base_path/includes/init.inc.php"); 
16
17header("Content-Type: application/download\n");
18header("Content-Disposition: atachement; filename=\"tableau.xls\"");
19
20require_once($class_path."/emprunteur.class.php");
21require_once($class_path."/comptes.class.php");
22require_once($class_path."/mono_display.class.php");
23require_once($class_path."/serial_display.class.php");
24require_once($class_path."/amende.class.php");
25
26$export_relance_tpl="
27<html>
28<head>
29        <meta http-equiv=Content-Type content='text/html; charset=".$charset."' />
30</head>
31<body>
32        <table>
33                <tr>
34                        <th>".$msg["relance_export_empr_cb"]."</th>
35                        <th>".$msg["relance_export_empr_name"]."</th>
36                        <th>".$msg["relance_export_empr_surname"]."</th>
37                        <th>".$msg["relance_export_empr_adr1"]."</th>
38                        <th>".$msg["relance_export_empr_adr2"]."</th>
39                        <th>".$msg["relance_export_empr_cp"]."</th>
40                        <th>".$msg["relance_export_empr_ville"]."</th>
41                        <th>".$msg["relance_export_empr_mail"]."</th>
42                        <th>".$msg["relance_export_empr_tel1"]."</th>
43                        <th>".$msg["relance_export_empr_tel2"]."</th>
44                        ".($pmb_lecteurs_localises ? "<th>".$msg["relance_export_empr_location"]."</th>" : "")."
45                        <th>".$msg["relance_export_empr_categ"]."</th>
46                        <th>".$msg["relance_export_empr_codestat"]."</th>
47                        <th>".$msg["relance_export_empr_statut"]."</th>
48                        <th>".$msg["relance_export_empr_groupes"]."</th>
49                        <th>".$msg["relance_export_empr_niveau_suppose"]."</th>
50                        <th>".$msg["relance_export_empr_total_amende"]."</th>
51                        <th>".$msg["relance_export_empr_frais_relance"]."</th>
52                        <th>".$msg["relance_export_expl_titre"]."</th>
53                        <th>".$msg["relance_export_expl_cb"]."</th>
54                        <th>".$msg["relance_export_expl_pret_date"]."</th>
55                        <th>".$msg["relance_export_expl_pret_retour"]."</th>
56                        <th>".$msg["relance_export_expl_niveau_relance"]."</th>
57                        <th>".$msg["relance_export_expl_date_relance"]."</th>
58                        <th>".$msg["relance_export_expl_mail"]."</th>
59                        <th>".$msg["relance_export_expl_printed"]."</th>
60                        <th>".$msg["relance_export_expl_amende"]."</th>
61                </tr>
62                !!relance_liste!!
63        </table>
64</body>
65</html>";
66
67$req ="select id_empr  from empr, pret, exemplaires, empr_categ where 1 ";
68$req.= "and pret_retour<CURDATE() and pret_idempr=id_empr and pret_idexpl=expl_id and id_categ_empr=empr_categ group by id_empr";
69$res=mysql_query($req);
70while ($r=mysql_fetch_object($res)) {
71        $relance_liste.=get_relance($r->id_empr);
72}
73
74print str_replace("!!relance_liste!!",$relance_liste,$export_relance_tpl);
75
76function get_relance($id_empr){
77        global $dbh,$charset, $msg, $pmb_gestion_financiere, $pmb_gestion_amende;
78        global $pmb_lecteurs_localises;
79
80        // liste des relances
81        if (($pmb_gestion_financiere)&&($pmb_gestion_amende)) {
82                $amende=new amende($id_empr);
83                $level=$amende->get_max_level();
84                $niveau_min=$level["level_min"];
85                $id_expl=$level["level_min_id_expl"];
86                $total_amende = $amende->get_total_amendes();
87        }
88       
89        $niveau_suppose = $level["level_normal"];
90        $cpt_id=comptes::get_compte_id_from_empr($id_empr,2);
91        $cpt=new comptes($cpt_id);
92
93        $frais_relance=$cpt->summarize_transactions("","",0,$realisee=-1);
94        if ($frais_relance<0) $frais_relance=-$frais_relance; else $frais_relance=0;
95       
96        $empr=new emprunteur($id_empr,'', FALSE, 0);   
97       
98        //Groupes
99        if (count($empr->groupes)) {
100                $lib_groupes=strip_tags(implode(" / ",$empr->groupes));
101        } else {
102                $lib_groupes = "";
103        }
104        $info_empr="
105        <td>".$empr->cb."</td>
106        <td>".$empr->nom."</td>
107        <td>".$empr->prenom."</td>
108        <td>".$empr->adr1."</td>
109        <td>".$empr->adr2."</td>
110        <td>".$empr->cp."</td>
111        <td>".$empr->ville."</td>
112        <td>".$empr->mail."</td>
113        <td>".$empr->tel1."</td>
114        <td>".$empr->tel2."</td>
115        ".($pmb_lecteurs_localises ? "<td>".$empr->empr_location_l."</td>" : "")."
116        <td>".$empr->cat_l."</td>
117        <td>".$empr->cstat_l."</td>
118        <td>".$empr->empr_statut_libelle."</td>
119        <td>".$lib_groupes."</td>
120        <td>".$niveau_suppose."</td>
121        <td>".$total_amende."</td>
122        <td>".$frais_relance."</td>
123        ";
124       
125        $reqexpl = "select pret_idexpl as expl from pret where pret_retour<CURDATE() and pret_idempr=$id_empr";
126       
127        $resexple=mysql_query($reqexpl,$dbh);
128        while(($liste = mysql_fetch_object($resexple))){                       
129                $dates_resa_sql = " date_format(pret_date, '".$msg["format_date"]."') as aff_pret_date, date_format(pret_retour, '".$msg["format_date"]."') as aff_pret_retour " ;
130               
131                $requete = "SELECT notices_m.notice_id as m_id, notices_s.notice_id as s_id, pret_idempr, expl_id, expl_cb,expl_cote, pret_date, pret_retour,
132                niveau_relance,
133                date_relance,
134                printed,               
135                tdoc_libelle, section_libelle, location_libelle, trim(concat(ifnull(notices_m.tit1,''),ifnull(notices_s.tit1,''),' ',ifnull(bulletin_numero,''), if (mention_date!='', concat(' (',mention_date,')') ,''))) as tit, ".$dates_resa_sql.", " ;
136                $requete.= " notices_m.tparent_id, notices_m.tnvol " ; 
137                $requete.= " FROM (((exemplaires LEFT JOIN notices AS notices_m ON expl_notice = notices_m.notice_id ) LEFT JOIN bulletins ON expl_bulletin = bulletins.bulletin_id) LEFT JOIN notices AS notices_s ON bulletin_notice = notices_s.notice_id), docs_type, docs_section, docs_location, pret ";
138                $requete.= " WHERE expl_id='".$liste->expl."' and expl_typdoc = idtyp_doc and expl_section = idsection and expl_location = idlocation and pret_idexpl = expl_id  ";
139                $res_det_expl = mysql_query($requete) ;
140                $expl = mysql_fetch_object($res_det_expl);
141                               
142                $amd = $amende->get_amende($liste->expl);
143               
144                $reqlog = "select sum(log.log_printed) as printed, sum(log.log_mail) as mail
145                        from log_retard as log, log_expl_retard  as expl where log.idempr=$id_empr and  log.niveau_reel='".$expl->niveau_relance."'
146                        and expl.num_log_retard=log.id_log and expl_id='".$liste->expl."' ";
147               
148                $reslog=mysql_query($reqlog);
149                if($log=mysql_fetch_object($reslog)) {
150                        $printed=$log->printed;
151                        $mail=$log->mail;
152                } else {
153                        $printed=0;
154                        $mail=0;
155                }
156               
157                $info.="
158                <tr>
159                        $info_empr
160                        <td>".htmlentities($expl->tit,ENT_QUOTES,$charset)."</td>
161                        <td>".htmlentities($expl->expl_cb,ENT_QUOTES,$charset)."</td>
162                        <td>".format_date($expl->pret_date)."</td>
163                        <td>".format_date($expl->pret_retour)."</td>
164                        <td>".$expl->niveau_relance."</td>
165                        <td>".format_date($expl->date_relance)."</td>
166                        <td>".htmlentities($mail,ENT_QUOTES,$charset)."</td>
167                        <td>".htmlentities($printed,ENT_QUOTES,$charset)."</td>
168                        <td>".htmlentities($amd["valeur"],ENT_QUOTES,$charset)."</td>
169                </tr>
170                ";
171
172        }               
173        return $info;
174}
175
176?>
Note: See TracBrowser for help on using the repository browser.