diff --git a/ifaces/bilanc.php b/ifaces/bilanc.php
index 82de3cee..0cd2b111 100644
--- a/ifaces/bilanc.php
+++ b/ifaces/bilanc.php
@@ -480,6 +480,13 @@ function( m, key, value ) { // callback
+">
+
+
+
+
+
+
@@ -670,7 +677,9 @@ function( m, key, value ) { // callback
-
+ ">
+
+
diff --git a/ifaces/bilanhb.php b/ifaces/bilanhb.php
index 992f702b..a843dbdb 100644
--- a/ifaces/bilanhb.php
+++ b/ifaces/bilanhb.php
@@ -385,6 +385,10 @@ function( m, key, value ) { // callback
+">
+
+
+
@@ -1020,7 +1024,9 @@ function( m, key, value ) { // callback
-
+ ">
+
+
@@ -1321,6 +1327,10 @@ function( m, key, value ) { // callback
+">
+
+
+
diff --git a/moteur/export_bilanc_parloca.php b/moteur/export_bilanc_parloca.php
new file mode 100644
index 00000000..a340a1fe
--- /dev/null
+++ b/moteur/export_bilanc_parloca.php
@@ -0,0 +1,287 @@
+format('Y-m-d');
+$time_debut = $time_debut." 00:00:00";
+
+$txt2 = $_GET['date2'];
+$date2ft = DateTime::createFromFormat('d-m-Y', $txt2);
+$time_fin = $date2ft->format('Y-m-d');
+$time_fin = $time_fin." 23:59:59";
+
+
+
+
+
+//Premiere ligne = nom des champs (
+
+// on affiche la periode visée
+ if($_GET['date1'] == $_GET['date2']){
+
+ $xls_output = ' Le '.$_GET['date1']."\t";
+
+ }
+ else
+ {
+
+ $xls_output = ' Du '.$_GET['date1']." au ".$_GET['date2']."\t";
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ if ($_GET['numero'] == 0) {
+ $xls_output .= "\n\r";
+$xls_output .= "Pour tout les points de collecte"."\t";
+$xls_output .= "\n\r";
+$xls_output .= "\n\r";
+$xls_output .= "\n\r";
+$xls_output .= "localité:"."\t"."masse collecté:"."\t"."nombre de collectes:"."\t";
+$xls_output .= "\n\r";
+
+// on determine les masses totales collèctés sur cete periode(pour tout les points)
+ try
+ {
+ // On se connecte à MySQL
+ include('../moteur/dbconfig.php');
+ }
+ catch(Exception $e)
+ {
+ // En cas d'erreur, on affiche un message et on arrête tout
+ die('Erreur : '.$e->getMessage());
+ }
+
+ // Si tout va bien, on peut continuer
+
+ // On recupère tout le contenu de la table affectations
+
+ $reponse = $bdd->prepare('SELECT
+localites.nom,SUM(pesees_collectes.masse) somme,pesees_collectes.timestamp,localites.id id,COUNT(distinct collectes.id) ncol
+FROM
+pesees_collectes,collectes,localites
+
+WHERE
+ pesees_collectes.timestamp BETWEEN :du AND :au AND
+localites.id = collectes.localisation AND pesees_collectes.id_collecte = collectes.id
+GROUP BY id');
+ $reponse->execute(array('du' => $time_debut,'au' => $time_fin ));
+ // On affiche chaque entree une à une
+ while ($donnees = $reponse->fetch())
+ {
+ $xls_output .= $donnees['nom']."\t".$donnees['somme']."\t".$donnees['ncol']."\t"."\n";
+ try
+ {
+ // On se connecte à MySQL
+ include('../moteur/dbconfig.php');
+ }
+ catch(Exception $e)
+ {
+ // En cas d'erreur, on affiche un message et on arrête tout
+ die('Erreur : '.$e->getMessage());
+ }
+
+ // Si tout va bien, on peut continuer
+
+ // On recupère tout le contenu de la table affectations
+ $reponse2 = $bdd->prepare('SELECT localites.couleur,type_dechets.nom, sum(pesees_collectes.masse) somme
+ FROM type_dechets,pesees_collectes ,localites , collectes
+WHERE
+pesees_collectes.timestamp BETWEEN :du AND :au
+AND type_dechets.id = pesees_collectes.id_type_dechet
+AND localites.id = collectes.localisation AND pesees_collectes.id_collecte = collectes.id
+AND localites.id = :id_loc
+GROUP BY nom
+ORDER BY somme DESC');
+ $reponse2->execute(array('du' => $time_debut,'au' => $time_fin ,'id_loc' => $donnees['id'] ));
+ // On affiche chaque entree une à une
+$xls_output .= "objets collectés pour cette localité:"."\t"."masse collecté:"."\t";
+$xls_output .= "\n\r";
+
+ while ($donnees2 = $reponse2->fetch())
+ {
+
+ $xls_output .= $donnees2['nom']."\t".$donnees2['somme']."\t"."\n";
+
+ }
+
+ $reponse2->closeCursor(); // Termine le traitement de la requête
+ ?>
+
+ closeCursor(); // Termine le traitement de la requête
+ }else
+
+ {
+
+$xls_output .= "\n\r";
+$xls_output .= " pour le point numero: ".$_GET['numero']."\t";
+$xls_output .= "\n\r";
+$xls_output .= "\n\r";
+$xls_output .= "\n\r";
+$xls_output .= "localité:"."\t"."masse collecté:"."\t"."nombre de collectes:"."\t";
+$xls_output .= "\n\r";
+
+// on determine les masses totales collèctés sur cete periode(pour un point donné)
+ try
+ {
+ // On se connecte à MySQL
+ include('../moteur/dbconfig.php');
+ }
+ catch(Exception $e)
+ {
+ // En cas d'erreur, on affiche un message et on arrête tout
+ die('Erreur : '.$e->getMessage());
+ }
+
+ // Si tout va bien, on peut continuer
+
+ // On recupère tout le contenu de la table affectations
+
+ $reponse = $bdd->prepare('SELECT
+localites.nom,SUM(pesees_collectes.masse) somme,pesees_collectes.timestamp,localites.id,COUNT(distinct collectes.id) ncol
+FROM
+pesees_collectes,collectes,localites
+
+WHERE
+ pesees_collectes.timestamp BETWEEN :du AND :au AND
+localites.id = collectes.localisation AND pesees_collectes.id_collecte = collectes.id
+AND collectes.id_point_collecte = :numero
+GROUP BY id');
+ $reponse->execute(array('du' => $time_debut,'au' => $time_fin,'numero' => $_GET['numero'] ));
+ // On affiche chaque entree une à une
+ while ($donnees = $reponse->fetch())
+ {
+
+
+$xls_output .= $donnees['nom']."\t".$donnees['somme']."\t".$donnees['ncol']."\t"."\n";
+
+
+
+
+
+
+
+
+
+
+
+ try
+ {
+ // On se connecte à MySQL
+ include('../moteur/dbconfig.php');
+ }
+ catch(Exception $e)
+ {
+ // En cas d'erreur, on affiche un message et on arrête tout
+ die('Erreur : '.$e->getMessage());
+ }
+
+ // Si tout va bien, on peut continuer
+
+ // On recupère tout le contenu de la table affectations
+ $reponse2 = $bdd->prepare('SELECT type_dechets.couleur,type_dechets.nom, sum(pesees_collectes.masse) somme
+ FROM type_dechets,pesees_collectes ,type_collecte , collectes
+WHERE
+pesees_collectes.timestamp BETWEEN :du AND :au
+AND type_dechets.id = pesees_collectes.id_type_dechet
+AND type_collecte.id = collectes.id_type_collecte AND pesees_collectes.id_collecte = collectes.id
+AND type_collecte.id = :id_type_collecte AND collectes.id_point_collecte = :numero
+GROUP BY nom
+ORDER BY somme DESC');
+ $reponse2->execute(array('du' => $time_debut,'au' => $time_fin,'numero' => $_GET['numero'] ,'id_type_collecte' => $donnees['id'] ));
+ $xls_output .= "objets collectés pour cette localité:"."\t"."masse collecté:"."\t";
+$xls_output .= "\n\r";
+ // On affiche chaque entree une à une
+ while ($donnees2 = $reponse2->fetch())
+ {
+
+
+$xls_output .= $donnees2['nom']."\t".$donnees2['somme']."\t"."\n";
+
+
+
+ }
+ $reponse2->closeCursor(); // Termine le traitement de la requête
+ ?>
+ closeCursor(); // Termine le traitement de la requête
+
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+//=====================================================================================================================================
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+header("Content-type: application/vnd.ms-excel");
+header("Content-disposition: attachment; filename=collectes_par_localites_" . date("Ymd").".xls");
+print $xls_output;
+exit;
+}
+else {
+header('Location:../moteur/destroy.php');
+ }
+?>
+
diff --git a/moteur/export_bilanc_partype.php b/moteur/export_bilanc_partype.php
new file mode 100644
index 00000000..f1c20502
--- /dev/null
+++ b/moteur/export_bilanc_partype.php
@@ -0,0 +1,287 @@
+format('Y-m-d');
+$time_debut = $time_debut." 00:00:00";
+
+$txt2 = $_GET['date2'];
+$date2ft = DateTime::createFromFormat('d-m-Y', $txt2);
+$time_fin = $date2ft->format('Y-m-d');
+$time_fin = $time_fin." 23:59:59";
+
+
+
+
+
+//Premiere ligne = nom des champs (
+
+// on affiche la periode visée
+ if($_GET['date1'] == $_GET['date2']){
+
+ $xls_output = ' Le '.$_GET['date1']."\t";
+
+ }
+ else
+ {
+
+ $xls_output = ' Du '.$_GET['date1']." au ".$_GET['date2']."\t";
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ if ($_GET['numero'] == 0) {
+ $xls_output .= "\n\r";
+$xls_output .= "Pour tout les points de collecte"."\t";
+$xls_output .= "\n\r";
+$xls_output .= "\n\r";
+$xls_output .= "\n\r";
+$xls_output .= "type de collecte:"."\t"."masse collecté:"."\t"."nombre de collectes:"."\t";
+$xls_output .= "\n\r";
+
+// on determine les masses totales collèctés sur cete periode(pour tout les points)
+ try
+ {
+ // On se connecte à MySQL
+ include('../moteur/dbconfig.php');
+ }
+ catch(Exception $e)
+ {
+ // En cas d'erreur, on affiche un message et on arrête tout
+ die('Erreur : '.$e->getMessage());
+ }
+
+ // Si tout va bien, on peut continuer
+
+ // On recupère tout le contenu de la table affectations
+
+ $reponse = $bdd->prepare('SELECT
+type_collecte.nom,SUM(`pesees_collectes`.`masse`) somme,pesees_collectes.timestamp,type_collecte.id,COUNT(distinct collectes.id) ncol
+FROM
+pesees_collectes,collectes,type_collecte
+
+WHERE
+ pesees_collectes.timestamp BETWEEN :du AND :au AND
+type_collecte.id = collectes.id_type_collecte AND pesees_collectes.id_collecte = collectes.id
+GROUP BY id_type_collecte');
+ $reponse->execute(array('du' => $time_debut,'au' => $time_fin ));
+ // On affiche chaque entree une à une
+ while ($donnees = $reponse->fetch())
+ {
+ $xls_output .= $donnees['nom']."\t".$donnees['somme']."\t".$donnees['ncol']."\t"."\n";
+ try
+ {
+ // On se connecte à MySQL
+ include('../moteur/dbconfig.php');
+ }
+ catch(Exception $e)
+ {
+ // En cas d'erreur, on affiche un message et on arrête tout
+ die('Erreur : '.$e->getMessage());
+ }
+
+ // Si tout va bien, on peut continuer
+
+ // On recupère tout le contenu de la table affectations
+ $reponse2 = $bdd->prepare('SELECT type_dechets.couleur,type_dechets.nom, sum(pesees_collectes.masse) somme
+ FROM type_dechets,pesees_collectes ,type_collecte , collectes
+WHERE
+pesees_collectes.timestamp BETWEEN :du AND :au
+AND type_dechets.id = pesees_collectes.id_type_dechet
+AND type_collecte.id = collectes.id_type_collecte AND pesees_collectes.id_collecte = collectes.id
+AND type_collecte.id = :id_type_collecte
+GROUP BY nom
+ORDER BY somme DESC');
+ $reponse2->execute(array('du' => $time_debut,'au' => $time_fin ,'id_type_collecte' => $donnees['id'] ));
+ // On affiche chaque entree une à une
+$xls_output .= "objets collectés pour ce type de collecte:"."\t"."masse collecté:"."\t";
+$xls_output .= "\n\r";
+
+ while ($donnees2 = $reponse2->fetch())
+ {
+
+ $xls_output .= $donnees2['nom']."\t".$donnees2['somme']."\t"."\n";
+
+ }
+
+ $reponse2->closeCursor(); // Termine le traitement de la requête
+ ?>
+
+ closeCursor(); // Termine le traitement de la requête
+ }else
+
+ {
+
+$xls_output .= "\n\r";
+$xls_output .= " pour le point numero: ".$_GET['numero']."\t";
+$xls_output .= "\n\r";
+$xls_output .= "\n\r";
+$xls_output .= "\n\r";
+$xls_output .= "type de collecte:"."\t"."masse collecté:"."\t"."nombre de collectes:"."\t";
+$xls_output .= "\n\r";
+
+// on determine les masses totales collèctés sur cete periode(pour un point donné)
+ try
+ {
+ // On se connecte à MySQL
+ include('../moteur/dbconfig.php');
+ }
+ catch(Exception $e)
+ {
+ // En cas d'erreur, on affiche un message et on arrête tout
+ die('Erreur : '.$e->getMessage());
+ }
+
+ // Si tout va bien, on peut continuer
+
+ // On recupère tout le contenu de la table affectations
+
+ $reponse = $bdd->prepare('SELECT
+type_collecte.nom,SUM(`pesees_collectes`.`masse`) somme,pesees_collectes.timestamp,type_collecte.id,COUNT(distinct collectes.id) ncol
+FROM
+pesees_collectes,collectes,type_collecte
+
+WHERE
+ pesees_collectes.timestamp BETWEEN :du AND :au AND
+type_collecte.id = collectes.id_type_collecte AND pesees_collectes.id_collecte = collectes.id
+AND collectes.id_point_collecte = :numero
+GROUP BY id_type_collecte');
+ $reponse->execute(array('du' => $time_debut,'au' => $time_fin,'numero' => $_GET['numero'] ));
+ // On affiche chaque entree une à une
+ while ($donnees = $reponse->fetch())
+ {
+
+
+$xls_output .= $donnees['nom']."\t".$donnees['somme']."\t".$donnees['ncol']."\t"."\n";
+
+
+
+
+
+
+
+
+
+
+
+ try
+ {
+ // On se connecte à MySQL
+ include('../moteur/dbconfig.php');
+ }
+ catch(Exception $e)
+ {
+ // En cas d'erreur, on affiche un message et on arrête tout
+ die('Erreur : '.$e->getMessage());
+ }
+
+ // Si tout va bien, on peut continuer
+
+ // On recupère tout le contenu de la table affectations
+ $reponse2 = $bdd->prepare('SELECT type_dechets.couleur,type_dechets.nom, sum(pesees_collectes.masse) somme
+ FROM type_dechets,pesees_collectes ,type_collecte , collectes
+WHERE
+pesees_collectes.timestamp BETWEEN :du AND :au
+AND type_dechets.id = pesees_collectes.id_type_dechet
+AND type_collecte.id = collectes.id_type_collecte AND pesees_collectes.id_collecte = collectes.id
+AND type_collecte.id = :id_type_collecte AND collectes.id_point_collecte = :numero
+GROUP BY nom
+ORDER BY somme DESC');
+ $reponse2->execute(array('du' => $time_debut,'au' => $time_fin,'numero' => $_GET['numero'] ,'id_type_collecte' => $donnees['id'] ));
+ $xls_output .= "objets collectés pour ce type de collecte:"."\t"."masse collecté:"."\t";
+$xls_output .= "\n\r";
+ // On affiche chaque entree une à une
+ while ($donnees2 = $reponse2->fetch())
+ {
+
+
+$xls_output .= $donnees2['nom']."\t".$donnees2['somme']."\t"."\n";
+
+
+
+ }
+ $reponse2->closeCursor(); // Termine le traitement de la requête
+ ?>
+ closeCursor(); // Termine le traitement de la requête
+
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+//=====================================================================================================================================
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+header("Content-type: application/vnd.ms-excel");
+header("Content-disposition: attachment; filename=collectes_par_types_objet_" . date("Ymd").".xls");
+print $xls_output;
+exit;
+}
+else {
+header('Location:../moteur/destroy.php');
+ }
+?>
+
diff --git a/moteur/export_bilans.php b/moteur/export_bilans.php
new file mode 100644
index 00000000..9b28c700
--- /dev/null
+++ b/moteur/export_bilans.php
@@ -0,0 +1,65 @@
+getMessage());
+ }
+
+ // Si tout va bien, on peut continuer
+
+ // On recupère tout le contenu des visibles de la table type_dechets
+ $reponse = $bdd->query('SELECT * FROM type_dechets WHERE visible = "oui" ');
+
+ // On affiche chaque entree une à une
+ while ($donnees = $reponse->fetch())
+ {
+
+
+
+$xls_output .= $donnees['id']."\t".$donnees['timestamp']."\t".$donnees['nom']."\t".$donnees['description']."\n";
+
+
+ }
+ $reponse->closeCursor(); // Termine le traitement de la requête
+
+
+
+
+
+
+
+
+
+
+
+header("Content-type: application/vnd.ms-excel");
+header("Content-disposition: attachment; filename=type-dechets_" . date("Ymd").".xls");
+print $xls_output;
+exit;
+}
+else {
+header('Location:../moteur/destroy.php');
+ }
+?>
+