Updates fusionax scripts for better compliance.
[platal.git] / modules / fusionax / Anciens.sql
CommitLineData
b9ad0878
PC
1-- Import complet des anciens
2
22f043e4 3DROP TABLE IF EXISTS fusionax_anciens;
b9ad0878 4
22f043e4
SJ
5CREATE TABLE IF NOT EXISTS fusionax_anciens (
6 AN CHAR(2) NOT NULL COMMENT 'Vaut toujours AN pour cette table',
7 id_ancien VARCHAR(8) NOT NULL COMMENT 'Id unique de l''ancien',
8 Login VARCHAR(15) NOT NULL COMMENT 'Login sur le site de l''AX',
9 Password INT(11) NOT NULL COMMENT 'Mot de passe sur le site AX',
10 promotion_etude SMALLINT(4) NOT NULL COMMENT 'Promotion avec laquelle il/elle a fait ses études',
11 Groupe_promo ENUM('', 'A', 'B', 'C', 'N', 'S') NOT NULL COMMENT 'Groupe de promotion (code compris seulement par AX)',
12 Nom_patronymique VARCHAR(255) NOT NULL COMMENT 'Nom patronymique (nom de jeune fille) sans la particule',
13 partic_patro VARCHAR(5) NOT NULL COMMENT 'Particule du nom patronymique',
14 prenom VARCHAR(30) NOT NULL COMMENT 'Prénom',
15 Nom_usuel VARCHAR(255) NOT NULL COMMENT 'Nom usuel (nom marital par exemple) sans la particule',
16 partic_nom VARCHAR(5) NOT NULL COMMENT 'Particule du nom usuel',
17 Nom_complet VARCHAR(255) NOT NULL COMMENT 'Nom patronymique complet (avec la particule)',
18 Civilite ENUM('', '.', 'M', 'MME', 'MLLE') NOT NULL COMMENT 'Civilité',
19 Code_nationalite CHAR(3) NOT NULL COMMENT 'Nationalité (code)',
20 Type_membre ENUM('', '*', 'F', 'FB', 'P', 'PB', 'T', 'TB', 'TA') NOT NULL COMMENT 'Type de membre (code compris seulement par AX)',
21 corps_sortie VARCHAR(50) NOT NULL COMMENT 'Corps de sortie (ou D si aucun)',
22 Date_deces DATE COMMENT 'Date de décès',
23 grade VARCHAR(50) NOT NULL COMMENT 'Grade actuel dans son corps',
24 Mel_usage VARCHAR(255) NOT NULL COMMENT 'Adresse e-mail d''usage',
25 Mel_publiable TINYINT(4) NOT NULL COMMENT 'Autorisation d''utiliser le mail',
26 tel_mobile VARCHAR(30) NOT NULL COMMENT 'Numéro de téléphone mobile',
27 annee_dernCot INT(11) NOT NULL COMMENT 'Année de dernière cotisation AX',
28 Representant ENUM('', 'K', 'DE') NOT NULL COMMENT 'Représentant de promotion',
29 hash_adr_defaut BINARY(5) NOT NULL COMMENT 'Hash de l''adresse par défaut',
30 Date_maj DATE NOT NULL,
31 PRIMARY KEY (id_ancien)
b9ad0878
PC
32) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
33
34LOAD DATA LOCAL INFILE 'Anciens.txt' INTO TABLE `fusionax_anciens` FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n'
35(`AN`, `id_ancien`, `Login`, `Password`, `promotion_etude`, `Groupe_promo`, `Nom_patronymique`, `partic_patro`, `prenom`, Nom_usuel, partic_nom,
36 Nom_complet, Civilite, Code_nationalite, Type_membre, corps_sortie, @StringDate_deces, grade, Mel_usage, Mel_publiable,
37 tel_mobile, annee_dernCot, Representant, @Type_adr_defaut, @AdrC_Ligne1, @AdrC_Ligne2, @AdrC_Ligne3, @AdrC_code_postal, @AdrC_ville,
38 @AdrC_zip_cedex, @AdrC_etat_distr, @AdrC_pays, @tel, @fax, @StringDate_maj)
39SET
40 `hash_adr_defaut` = SUBSTRING( MD5( @Type_adr_defaut ), 1, 5),
41 `Date_maj` = CONCAT(SUBSTRING(@StringDate_maj,7),'-',SUBSTRING(@StringDate_maj,4,2),'-',SUBSTRING(@StringDate_maj,1,2)),
42 `Date_deces` = CONCAT(SUBSTRING(@StringDate_deces,7),'-',SUBSTRING(@StringDate_deces,4,2),'-',SUBSTRING(@StringDate_deces,1,2));
43
cc8ea8b2 44-- Correspondances entre fiches X.org et fiches AX
b9ad0878 45DROP TABLE IF EXISTS `fusionax_import`;
22f043e4 46
b9ad0878 47CREATE TABLE IF NOT EXISTS `fusionax_import` (
22f043e4
SJ
48 `id_ancien` VARCHAR(8) NOT NULL COMMENT 'identifiant AX de l''ancien',
49 `user_id` INT(11) default NULL COMMENT 'identifiant x.org de l''ancien si on l''a trouvé',
50 `date_match_id` TIMESTAMP NULL default NULL COMMENT 'date de mise en correspondance des identifiants',
b9ad0878
PC
51 PRIMARY KEY (`id_ancien`),
52 KEY `user_id` (`user_id`)
53) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
54
55INSERT INTO `fusionax_import` ( SELECT `id_ancien`, NULL, NULL FROM `fusionax_anciens` );
cc8ea8b2 56REPLACE INTO `fusionax_import` ( SELECT `matricule_ax`, `user_id`, NOW() FROM `auth_user_md5` );
b9ad0878
PC
57
58DROP VIEW IF EXISTS `fusionax_deceased`;
59
60CREATE VIEW `fusionax_deceased` AS
61SELECT u.user_id, a.id_ancien, u.nom, u.prenom, u.promo, u.deces AS deces_xorg, a.Date_deces AS deces_ax
62FROM `auth_user_md5` AS u
63INNER JOIN fusionax_anciens AS a ON ( a.id_ancien = u.matricule_ax )
64WHERE u.deces != a.Date_deces;