Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 3834 → Rev 3835

/trunk/jrest/services/CelStatistique.php
60,7 → 60,7
 
// Récupération des données
$requete = "SELECT DATE_FORMAT(date_creation, '%Y%m') AS periode, COUNT(id_image) AS nbre ".
"FROM cel_images ".
"FROM cel_images_export ".
"WHERE date_creation != '0000-00-00 00:00:00' ".
' AND ce_observation IS NOT NULL AND ce_observation != 0 '.
((isset($utilisateur)) ? " AND courriel_utilisateur = $utilisateur " : '').
132,7 → 132,7
 
// Récupération des données
$requete = "SELECT DATE_FORMAT(date_creation, '%Y%m') AS periode, COUNT(id_image) AS nbre ".
"FROM cel_images ".
"FROM cel_images_export ".
"WHERE date_creation != '0000-00-00 00:00:00' ".
((isset($utilisateur)) ? " AND courriel_utilisateur = $utilisateur " : '').
'GROUP BY periode '.
203,7 → 203,7
$requete = 'SELECT DISTINCT courriel_utilisateur , '.
' MIN(date_creation) AS date_min, MAX(date_creation) AS date_max, '.
' COUNT(id_observation) AS obs_nbre '.
'FROM cel_obs '.
'FROM cel_export_total '.
"WHERE date_creation != '0000-00-00 00:00:00' ".
" AND courriel_utilisateur LIKE '%@%' ".
'GROUP BY courriel_utilisateur '.
263,7 → 263,7
// Récupération des données
$format_date = '%Y%m%d';
$where = 'date_creation > DATE_SUB(NOW(), INTERVAL 31 DAY)';
$obs_totale = $this->executerRequeteEvol('cel_obs', 'id_observation', $format_date, $where);
$obs_totale = $this->executerRequeteEvol('cel_export_total', 'id_observation', $format_date, $where);
 
// Tri des dates pour les étiquettes des axes
$dates = array();
313,7 → 313,7
 
private function getEvolObsParMois($param) {
// Récupération des données
$obs_totale = $this->executerRequeteEvol('cel_obs', 'id_observation');
$obs_totale = $this->executerRequeteEvol('cel_export_total', 'id_observation');
 
// Trie des dates pour les étiquettes des axes
$dates = array();
371,7 → 371,7
 
private function getEvolObsParAn($param) {
// Récupération des données
$obs_totale = $this->executerRequeteEvol('cel_obs', 'id_observation', '%Y');
$obs_totale = $this->executerRequeteEvol('cel_export_total', 'id_observation', '%Y');
 
// Trie des dates pour les étiquettes des axes
$dates = array();
412,8 → 412,8
 
private function getEvolObsHisto($param) {
// Récupération des données
$obs_totale = $this->executerRequeteEvol('cel_obs', 'id_observation');
$obs_identifiee = $this->executerRequeteEvol('cel_obs', 'id_observation', "courriel_utilisateur LIKE '%@%' ");
$obs_totale = $this->executerRequeteEvol('cel_export_total', 'id_observation');
$obs_identifiee = $this->executerRequeteEvol('cel_export_total', 'id_observation', "courriel_utilisateur LIKE '%@%' ");
$lignes = array('total', 'obs. identifiée');
 
// Post traitement des données
437,8 → 437,8
 
private function getNbreObsIdVsTest($param) {
// Récupération des données
$obs_totale = $this->executerRequeteNombre('cel_obs', 'id_observation');
$obs_identifiee = $this->executerRequeteNombre('cel_obs', 'id_observation', "courriel_utilisateur LIKE '%@%' ");
$obs_totale = $this->executerRequeteNombre('cel_export_total', 'id_observation');
$obs_identifiee = $this->executerRequeteNombre('cel_export_total', 'id_observation', "courriel_utilisateur LIKE '%@%' ");
$obs_test = $obs_totale - $obs_identifiee;
$pourcent_identifiee = round(($obs_identifiee / ($obs_totale / 100)), 2).'%';
$pourcent_anonyme = round(($obs_test / ($obs_totale / 100)), 2).'%';
466,8 → 466,8
 
private function getNbreObsPublicVsPrivee($param) {
// Récupération des données
$obs_totale = $this->executerRequeteNombre('cel_obs', 'id_observation');
$obs_public = $this->executerRequeteNombre('cel_obs', 'id_observation', 'transmission = 1');
$obs_totale = $this->executerRequeteNombre('cel_export_total', 'id_observation');
$obs_public = $this->executerRequeteNombre('cel_export_total', 'id_observation', 'transmission = 1');
$obs_privee = $obs_totale - $obs_public;
$pourcent_privee = round(($obs_privee / ($obs_totale / 100)), 2).'%';
$pourcent_public = round(($obs_public / ($obs_totale / 100)), 2).'%';
495,8 → 495,8
 
private function getNbreObsDetermineeVsInconnue($param) {
// Récupération des données
$obs_totale = $this->executerRequeteNombre('cel_obs', 'id_observation');
$obs_determinee = $this->executerRequeteNombre('cel_obs', 'id_observation', 'nom_sel_nn != 0');
$obs_totale = $this->executerRequeteNombre('cel_export_total', 'id_observation');
$obs_determinee = $this->executerRequeteNombre('cel_export_total', 'id_observation', 'nom_sel_nn != 0');
$obs_inconnue = $obs_totale - $obs_determinee;
$pourcent_determinee = round(($obs_determinee / ($obs_totale / 100)), 2).'%';
$pourcent_inconnue = round(($obs_inconnue / ($obs_totale / 100)), 2).'%';
524,19 → 524,19
 
private function getNbreObsAvecIndicationGeo($param) {
// Récupération des données
$total = $this->executerRequeteNombre('cel_obs', 'id_observation');
$total = $this->executerRequeteNombre('cel_export_total', 'id_observation');
$where_commune = $this->creerWhereIndicationGeo('zone_geo');
$obs['commune'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_commune);
$obs['commune'] = $this->executerRequeteNombre('cel_export_total', 'id_observation', $where_commune);
$where_commune_id = $this->creerWhereIndicationGeo('ce_zone_geo');
$obs['commune identifiée'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_commune_id);
$obs['commune identifiée'] = $this->executerRequeteNombre('cel_export_total', 'id_observation', $where_commune_id);
$where_lieudit = $this->creerWhereIndicationGeo('lieudit');
$obs['lieu-dit'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_lieudit);
$obs['lieu-dit'] = $this->executerRequeteNombre('cel_export_total', 'id_observation', $where_lieudit);
$where_station = $this->creerWhereIndicationGeo('station');
$obs['station'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_station);
$obs['station'] = $this->executerRequeteNombre('cel_export_total', 'id_observation', $where_station);
$where_milieu = $this->creerWhereIndicationGeo('milieu');
$obs['milieu'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_milieu);
$obs['milieu'] = $this->executerRequeteNombre('cel_export_total', 'id_observation', $where_milieu);
$where_xy = $this->creerWhereIndicationGeo('latitude').' AND '.$this->creerWhereIndicationGeo('longitude');
$obs['coordonnée'] = $this->executerRequeteNombre('cel_obs', 'id_observation', $where_xy);
$obs['coordonnée'] = $this->executerRequeteNombre('cel_export_total', 'id_observation', $where_xy);
 
$donnees = array();
$num = 1;
590,13 → 590,13
 
// Récupération des données
$max_obs = array();
$max_obs[] = $this->executerRequeteEvol('cel_obs', 'id_observation', '%Y%m%d',
$max_obs[] = $this->executerRequeteEvol('cel_export_total', 'id_observation', '%Y%m%d',
"date_creation NOT LIKE '$aujourdhui%' ", 'date_creation');
$max_obs[] = $this->executerRequeteEvol('cel_obs', 'id_observation', '%Y%m%d',
$max_obs[] = $this->executerRequeteEvol('cel_export_total', 'id_observation', '%Y%m%d',
"date_modification NOT LIKE '$aujourdhui%' ", 'date_modification');
$max_obs[] = $this->executerRequeteEvol('cel_obs', 'id_observation', '%Y%m%d',
$max_obs[] = $this->executerRequeteEvol('cel_export_total', 'id_observation', '%Y%m%d',
"date_transmission NOT LIKE '$aujourdhui%' ", 'date_transmission');
$obs_aujourdhui = $this->executerRequeteNombre('cel_obs', 'id_observation',
$obs_aujourdhui = $this->executerRequeteNombre('cel_export_total', 'id_observation',
"(date_creation LIKE '$aujourdhui%'
OR date_modification LIKE '$aujourdhui%'
OR date_transmission LIKE '$aujourdhui%') ");
645,7 → 645,7
private function getNbreObsParUtilisateur($param) {
// Récupération des données
$requete = 'SELECT courriel_utilisateur, COUNT(id_observation) AS nbre '.
'FROM cel_obs '.
'FROM cel_export_total '.
'GROUP BY courriel_utilisateur ';
$utilisateurs = Cel::db()->requeter($requete);
 
712,7 → 712,7
private function getNbreObsParUtilisateurEtTest($param) {
// Récupération des données
$requete = 'SELECT courriel_utilisateur, COUNT(id_observation) AS nbre '.
'FROM cel_obs '.
'FROM cel_export_total '.
'GROUP BY courriel_utilisateur ';
$utilisateurs = Cel::db()->requeter($requete);
 
787,7 → 787,7
 
// Récupération des données de la base
$requete = 'SELECT courriel_utilisateur, DATE_FORMAT(date_creation, "%w-%H") AS periode, (ROUND(LOG10(COUNT(id_observation))) + 1) AS nbre '.
'FROM cel_obs '.
'FROM cel_export_total '.
'WHERE date_creation != "0000-00-00 00:00:00" '.
' AND courriel_utilisateur '.($utilisateur ? "= $utilisateur " : 'LIKE "%@%" ').
'GROUP BY periode, courriel_utilisateur ';
860,7 → 860,7
$requete = 'SELECT DISTINCT courriel_utilisateur , '.
' MIN(date_creation) AS date_min, MAX(date_creation) AS date_max, '.
' COUNT(id_observation) AS obs_nbre '.
'FROM cel_obs '.
'FROM cel_export_total '.
"WHERE date_creation != '0000-00-00 00:00:00' ".
" AND courriel_utilisateur LIKE '%@%' ".
'GROUP BY courriel_utilisateur '.