Subversion Repositories eFlore/Applications.cel

Rev

Rev 1840 | Rev 1914 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1840 Rev 1882
Line 46... Line 46...
46
-- -----------------------------------------------------
46
-- -----------------------------------------------------
47
DROP TABLE IF EXISTS `cel_mots_cles_images` ;
47
DROP TABLE IF EXISTS `cel_mots_cles_images` ;
Line 48... Line 48...
48
 
48
 
49
CREATE  TABLE IF NOT EXISTS `cel_mots_cles_images` (
49
CREATE  TABLE IF NOT EXISTS `cel_mots_cles_images` (
50
  `id_mot_cle_image` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL COMMENT 'Identifiant du mot-clé pour une position donnée dans l\'arbre d\'utilisateur.\nLe même mot-clé peut être placé à plusieurs endroits de l\'arbre et aura donc deux id distincts.' ,
50
  `id_mot_cle_image` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL COMMENT 'Identifiant du mot-clé pour une position donnée dans l\'arbre d\'utilisateur.\nLe même mot-clé peut être placé à plusieurs endroits de l\'arbre et aura donc deux id distincts.' ,
51
  `id_utilisateur` VARCHAR(32) NOT NULL ,
51
  `id_utilisateur` VARCHAR(255) NOT NULL ,
52
  `mot_cle` VARCHAR(50) NOT NULL COMMENT 'Mot clé de l\'utilisateur pour une position dans l\'arbre.' ,
52
  `mot_cle` VARCHAR(50) NOT NULL COMMENT 'Mot clé de l\'utilisateur pour une position dans l\'arbre.' ,
53
  `md5` VARCHAR(32) NOT NULL COMMENT 'MD5 du mot clé en minuscule.' ,
53
  `md5` VARCHAR(32) NOT NULL COMMENT 'MD5 du mot clé en minuscule.' ,
54
  `bg` BIGINT NOT NULL COMMENT 'Bordure gauche.' ,
54
  `bg` BIGINT NOT NULL COMMENT 'Bordure gauche.' ,
55
  `bd` BIGINT NOT NULL COMMENT 'bordure droite.' ,
55
  `bd` BIGINT NOT NULL COMMENT 'bordure droite.' ,
Line 79... Line 79...
79
DROP TABLE IF EXISTS `cel_images_mots_cles` ;
79
DROP TABLE IF EXISTS `cel_images_mots_cles` ;
Line 80... Line 80...
80
 
80
 
81
CREATE  TABLE IF NOT EXISTS `cel_images_mots_cles` (
81
CREATE  TABLE IF NOT EXISTS `cel_images_mots_cles` (
82
  `id_image` BIGINT NOT NULL ,
82
  `id_image` BIGINT NOT NULL ,
83
  `id_mot_cle_image` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
83
  `id_mot_cle_image` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
84
  `id_utilisateur` VARCHAR(32) NOT NULL ,
84
  `id_utilisateur` VARCHAR(128) NOT NULL ,
85
  PRIMARY KEY (`id_image`, `id_mot_cle_image`, `id_utilisateur`) ,
85
  PRIMARY KEY (`id_image`, `id_mot_cle_image`, `id_utilisateur`) ,
86
  INDEX `image` (`id_image` ASC) )
86
  INDEX `image` (`id_image` ASC) )
87
ENGINE = MyISAM
87
ENGINE = MyISAM
88
DEFAULT CHARACTER SET = utf8
88
DEFAULT CHARACTER SET = utf8
Line 95... Line 95...
95
DROP TABLE IF EXISTS `cel_images` ;
95
DROP TABLE IF EXISTS `cel_images` ;
Line 96... Line 96...
96
 
96
 
97
CREATE  TABLE IF NOT EXISTS `cel_images` (
97
CREATE  TABLE IF NOT EXISTS `cel_images` (
98
  `id_image` BIGINT NOT NULL AUTO_INCREMENT ,
98
  `id_image` BIGINT NOT NULL AUTO_INCREMENT ,
99
  `ordre` BIGINT NOT NULL ,
99
  `ordre` BIGINT NOT NULL ,
100
  `ce_utilisateur` VARCHAR(32) NOT NULL COMMENT 'L\'id utilisateur est un int mais on utilise un varchar pour stocker des observations avec des identifiants temporaires\n' ,
100
  `ce_utilisateur` VARCHAR(255) NOT NULL COMMENT 'L\'id utilisateur est un int mais on utilise un varchar pour stocker des observations avec des identifiants temporaires\n' ,
101
  `prenom_utilisateur` VARCHAR(255) NULL DEFAULT NULL ,
101
  `prenom_utilisateur` VARCHAR(255) NULL DEFAULT NULL ,
102
  `nom_utilisateur` VARCHAR(255) NULL DEFAULT NULL ,
102
  `nom_utilisateur` VARCHAR(255) NULL DEFAULT NULL ,
103
  `courriel_utilisateur` VARCHAR(255) NULL DEFAULT NULL ,
103
  `courriel_utilisateur` VARCHAR(255) NULL DEFAULT NULL ,
104
  `hauteur` INT NOT NULL ,
104
  `hauteur` INT NOT NULL ,
Line 132... Line 132...
132
-- -----------------------------------------------------
132
-- -----------------------------------------------------
133
DROP TABLE IF EXISTS `cel_mots_cles_obs` ;
133
DROP TABLE IF EXISTS `cel_mots_cles_obs` ;
Line 134... Line 134...
134
 
134
 
135
CREATE  TABLE IF NOT EXISTS `cel_mots_cles_obs` (
135
CREATE  TABLE IF NOT EXISTS `cel_mots_cles_obs` (
136
  `id_mot_cle_obs` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
136
  `id_mot_cle_obs` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
137
  `id_utilisateur` VARCHAR(32) NOT NULL ,
137
  `id_utilisateur` VARCHAR(255) NOT NULL ,
138
  `mot_cle` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
138
  `mot_cle` VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
139
  `md5` VARCHAR(32) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
139
  `md5` VARCHAR(32) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
140
  `bg` BIGINT NOT NULL ,
140
  `bg` BIGINT NOT NULL ,
141
  `bd` BIGINT NOT NULL ,
141
  `bd` BIGINT NOT NULL ,
Line 165... Line 165...
165
DROP TABLE IF EXISTS `cel_obs_mots_cles` ;
165
DROP TABLE IF EXISTS `cel_obs_mots_cles` ;
Line 166... Line 166...
166
 
166
 
167
CREATE  TABLE IF NOT EXISTS `cel_obs_mots_cles` (
167
CREATE  TABLE IF NOT EXISTS `cel_obs_mots_cles` (
168
  `id_observation` BIGINT NOT NULL ,
168
  `id_observation` BIGINT NOT NULL ,
169
  `id_mot_cle_obs` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
169
  `id_mot_cle_obs` VARCHAR(128) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
170
  `id_utilisateur` VARCHAR(32) NOT NULL ,
170
  `id_utilisateur` VARCHAR(128) NOT NULL ,
171
  PRIMARY KEY (`id_observation`, `id_mot_cle_obs`, `id_utilisateur`) ,
171
  PRIMARY KEY (`id_observation`, `id_mot_cle_obs`, `id_utilisateur`) ,
172
  INDEX `observation` (`id_observation` ASC) )
172
  INDEX `observation` (`id_observation` ASC) )
173
ENGINE = MyISAM
173
ENGINE = MyISAM
174
DEFAULT CHARACTER SET = utf8
174
DEFAULT CHARACTER SET = utf8
Line 260... Line 260...
260
  PRIMARY KEY (`id_observation`) ,
260
  PRIMARY KEY (`id_observation`) ,
261
  INDEX `id_obs` (`ordre` ASC, `ce_utilisateur` ASC) ,
261
  INDEX `id_obs` (`ordre` ASC, `ce_utilisateur` ASC) ,
262
  INDEX `date_creation` (`ce_utilisateur` ASC, `date_creation` ASC) ,
262
  INDEX `date_creation` (`ce_utilisateur` ASC, `date_creation` ASC) ,
263
  INDEX `coordonnees` (`latitude` ASC, `longitude` ASC) ,
263
  INDEX `coordonnees` (`latitude` ASC, `longitude` ASC) ,
264
  INDEX `nom_retenu` (`nom_ret` ASC) ,
264
  INDEX `nom_retenu` (`nom_ret` ASC) ,
-
 
265
  INDEX `date_observation` (`date_observation` ASC) COMMENT 'Date_transmission : nécessaire à l'ORDER BY utilisé dans la liste d'observation de DEL' ,
265
  INDEX `date_observation` (`date_observation` ASC) ,
266
  INDEX `nom_referentiel` (`nom_referentiel`(5) ASC) COMMENT 'Index sur (bdtfx,bdtfx,isfan)' ,
-
 
267
  INDEX `date_transmission` (`date_transmission` DESC) COMMENT 'Nécessaire à CEL/DEL qui officie avec transmission = 1' ,
266
  INDEX `nom_referentiel` (`nom_referentiel`(5) ASC) )
268
  INDEX `transmission` (`transmission` ASC) )
267
ENGINE = MyISAM
269
ENGINE = MyISAM
268
DEFAULT CHARACTER SET = utf8
270
DEFAULT CHARACTER SET = utf8
269
COLLATE = utf8_general_ci;
271
COLLATE = utf8_general_ci;
Line 317... Line 319...
317
-- -----------------------------------------------------
319
-- -----------------------------------------------------
318
-- View `cel_utilisateurs`
320
-- View `cel_utilisateurs`
319
-- -----------------------------------------------------
321
-- -----------------------------------------------------
320
DROP VIEW IF EXISTS `cel_utilisateurs` ;
322
DROP VIEW IF EXISTS `cel_utilisateurs` ;
321
DROP TABLE IF EXISTS `cel_utilisateurs`;
323
DROP TABLE IF EXISTS `cel_utilisateurs`;
322
CREATE  OR REPLACE VIEW `cel_utilisateurs` AS 
324
CREATE  OR REPLACE VIEW `cel_utilisateurs` AS 
323
	SELECT at.U_ID AS id_utilisateur, at.U_SURNAME AS prenom, at.U_NAME AS nom, at.U_MAIL AS courriel, at.U_PASSWD AS mot_de_passe,  
325
	SELECT at.U_ID AS id_utilisateur, at.U_SURNAME AS prenom, at.U_NAME AS nom, at.U_MAIL AS courriel, at.U_PASSWD AS mot_de_passe,
324
		ui.licence_acceptee, ui.admin, ui.preferences, ui.date_premiere_utilisation 
326
		ui.licence_acceptee, ui.admin, ui.preferences, ui.date_premiere_utilisation 
325
	FROM tela_prod_v4.annuaire_tela AS at
327
	FROM tela_prod_v4.annuaire_tela AS at
326
		LEFT JOIN cel_utilisateurs_infos AS ui ON (ui.id_utilisateur = at.U_ID);
328
		LEFT JOIN cel_utilisateurs_infos AS ui ON (ui.id_utilisateur = at.U_ID);
Line 327... Line 329...
327
 
329
 
328
-- -----------------------------------------------------
330
-- -----------------------------------------------------
329
-- View `cel_tapir`
331
-- View `cel_tapir`
330
-- -----------------------------------------------------
332
-- -----------------------------------------------------
331
DROP VIEW IF EXISTS `cel_tapir` ;
333
DROP VIEW IF EXISTS `cel_tapir` ;
332
DROP TABLE IF EXISTS `cel_tapir`;
334
DROP TABLE IF EXISTS `cel_tapir`;
333
CREATE  OR REPLACE VIEW `cel_tapir` AS 
335
CREATE  OR REPLACE VIEW `cel_tapir` AS 
334
	select concat(_utf8'urn:lsid:tela-botanica.org:cel:',`o`.`id_observation`) AS `guid`,
336
	select concat(_utf8'urn:lsid:tela-botanica.org:cel:',`o`.`id_observation`) AS `guid`,
335
		`o`.`id_observation` AS `observation_id`,
337
		`o`.`id_observation` AS `observation_id`,
336
		date_format(`o`.`date_observation`,'%Y-%m-%d') AS `observation_date`,
338
		date_format(`o`.`date_observation`,'%Y-%m-%d') AS `observation_date`,
337
		`o`.`nom_sel` AS `nom_scientifique_complet`,
339
		`o`.`nom_sel` AS `nom_scientifique_complet`,
338
		`o`.`nom_sel_nn` AS `nom_num_nomenclatural`,
340
		`o`.`nom_sel_nn` AS `nom_num_nomenclatural`,
339
		`o`.`nt` AS `nom_num_taxonomique`,
341
		`o`.`nt` AS `nom_num_taxonomique`,
340
		`o`.`famille` AS `nom_famille`,
342
		`o`.`famille` AS `nom_famille`,
341
		concat(_utf8'',`zg`.`nom`,' [INSEE:',`zg`.`code`,']') AS `lieu_commune_nom_complet`,
343
		concat(_utf8'',`zg`.`nom`,' [INSEE:',`zg`.`code`,']') AS `lieu_commune_nom_complet`,
342
		`zg`.`nom` AS `lieu_commune_nom`,
344
		`zg`.`nom` AS `lieu_commune_nom`,
343
		`zg`.`code` AS `lieu_commune_code_insee`,
345
		`zg`.`code` AS `lieu_commune_code_insee`,
344
		if((`zg`.`code` <> ''), 'Lion1906 version 26-05-2008 - http://www.lion1906.com/', NULL) AS `lieu_commune_source`,
346
		if((`zg`.`code` <> ''), 'Lion1906 version 26-05-2008 - http://www.lion1906.com/', NULL) AS `lieu_commune_source`,
345
		format(if((`o`.`latitude` <> ''), `o`.`latitude`, `zg`.`wgs84_latitude`), 5) AS `lieu_latitude`,
347
		format(if((`o`.`latitude` <> ''), `o`.`latitude`, `zg`.`wgs84_latitude`), 5) AS `lieu_latitude`,
346
		format(if((`o`.`longitude` <> ''), `o`.`longitude`, `zg`.`wgs84_longitude`), 5) AS `lieu_longitude`,
348
		format(if((`o`.`longitude` <> ''), `o`.`longitude`, `zg`.`wgs84_longitude`), 5) AS `lieu_longitude`,
347
		`o`.`geodatum` AS `lieu_geodatum`,
349
		`o`.`geodatum` AS `lieu_geodatum`,
348
		if((`o`.`geodatum` <> ''), 'Coordonnées issues de l''utilisation de Google Map', NULL) AS `lieu_georeference_source`,
350
		if((`o`.`geodatum` <> ''), 'Coordonnées issues de l''utilisation de Google Map', NULL) AS `lieu_georeference_source`,
349
		`o`.`lieudit` AS `lieu_localite`,
351
		`o`.`lieudit` AS `lieu_localite`,
350
		`o`.`prenom_utilisateur` AS `observateur_prenom`,
352
		`o`.`prenom_utilisateur` AS `observateur_prenom`,
351
		`o`.`nom_utilisateur` AS `observateur_nom`,
353
		`o`.`nom_utilisateur` AS `observateur_nom`,
352
		`o`.`courriel_utilisateur` AS `observateur_courriel`,
354
		`o`.`courriel_utilisateur` AS `observateur_courriel`,
353
		concat(`o`.`prenom_utilisateur`,_utf8' ',`o`.`nom_utilisateur`) AS `observateur_nom_complet`,
355
		concat(`o`.`prenom_utilisateur`,_utf8' ',`o`.`nom_utilisateur`) AS `observateur_nom_complet`,
354
		concat_ws(' ',`o`.`prenom_utilisateur`,`o`.`nom_utilisateur`,concat('<',`o`.`courriel_utilisateur`,'>')) AS `observateur_intitule`,
356
		concat_ws(' ',`o`.`prenom_utilisateur`,`o`.`nom_utilisateur`,concat('<',`o`.`courriel_utilisateur`,'>')) AS `observateur_intitule`,
355
		`o`.`commentaire` AS `observation_commentaire`,
357
		`o`.`commentaire` AS `observation_commentaire`,
356
		concat(_utf8'nom_num_nomenclatural=',`o`.`nom_sel_nn`,'; ',
358
		concat(_utf8'nom_num_nomenclatural=',`o`.`nom_sel_nn`,'; ',
357
			'nom_ret=',encodeToDcsv(`o`.`nom_ret`),'; ',
359
			'nom_ret=',encodeToDcsv(`o`.`nom_ret`),'; ',
358
			'nom_num_ret=',`o`.`nom_ret_nn`,'; ',
360
			'nom_num_ret=',`o`.`nom_ret_nn`,'; ',
359
			'nom_num_taxonomique=',`o`.`nt`,'; ',
361
			'nom_num_taxonomique=',`o`.`nt`,'; ',
360
			'nom_referentiel=',encodeToDcsv(`o`.`nom_referentiel`),'; ',
362
			'nom_referentiel=',encodeToDcsv(`o`.`nom_referentiel`),'; ',
361
			'saisie_date_transmission=',`o`.`date_transmission`,'; ',
363
			'saisie_date_transmission=',`o`.`date_transmission`,'; ',
362
			'saisie_date_creation=',`o`.`date_creation`,'; ',
364
			'saisie_date_creation=',`o`.`date_creation`,'; ',
363
			'ordre=',`o`.`ordre`,'; ',
365
			'ordre=',`o`.`ordre`,'; ',
364
			'station=',encodeToDcsv(`o`.`station`),'; ',
366
			'station=',encodeToDcsv(`o`.`station`),'; ',
365
			'milieu=',encodeToDcsv(`o`.`milieu`),'; ',
367
			'milieu=',encodeToDcsv(`o`.`milieu`),'; ',
366
			'mots_cles=',encodeToDcsv(`o`.`mots_cles_texte`),'; ',
368
			'mots_cles=',encodeToDcsv(`o`.`mots_cles_texte`),'; ',
367
			'zg_utm_secteur=',encodeToDcsv(`zg`.`utm_secteur`),'; ',
369
			'zg_utm_secteur=',encodeToDcsv(`zg`.`utm_secteur`),'; ',
368
			'zg_date_modification=',`zg`.`date_modification`) AS `observation_information_complement`,
370
			'zg_date_modification=',`zg`.`date_modification`) AS `observation_information_complement`,
369
		`o`.`date_modification` AS `saisie_date_modification`,
371
		`o`.`date_modification` AS `saisie_date_modification`,
370
		`o`.`date_creation` AS `saisie_date_creation` 
372
		`o`.`date_creation` AS `saisie_date_creation` 
371
	from (`cel_obs` `o` 
373
	from (`cel_obs` `o` 
372
		left join `cel_zones_geo` `zg` on((`o`.`ce_zone_geo` = `zg`.`id_zone_geo`))) 
374
		left join `cel_zones_geo` `zg` on((`o`.`ce_zone_geo` = `zg`.`id_zone_geo`))) 
373
	where `o`.`transmission` = 1 
375
	where `o`.`transmission` = 1 
Line 374... Line 376...
374
		AND (`o`.`mots_cles_texte` NOT LIKE '%sensible%' OR `o`.`mots_cles_texte` IS NULL);
376
		AND (`o`.`mots_cles_texte` NOT LIKE '%sensible%' OR `o`.`mots_cles_texte` IS NULL);
375
 
377