X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Ffusionax%2FAdresses.sql;h=6e2b2fe74f26fc8696e6ea543be1bff59995a5bc;hb=c52be69950d31821a8a091f08ad9170e1042eaf8;hp=1b9ed47c7db316cb5fa54d0fd30090df3bb04aff;hpb=b9ad087851ce4a09236f64f67d15fdaf29e38cf0;p=platal.git diff --git a/modules/fusionax/Adresses.sql b/modules/fusionax/Adresses.sql index 1b9ed47..6e2b2fe 100644 --- a/modules/fusionax/Adresses.sql +++ b/modules/fusionax/Adresses.sql @@ -1,47 +1,62 @@ -- Import complet des adresses -DROP TABLE IF EXISTS `fusionax_adresses`; +DROP TABLE IF EXISTS fusionax_adresses; -CREATE TABLE IF NOT EXISTS `fusionax_adresses` ( - `provenance` varbinary(2) NOT NULL COMMENT 'Vaut AC, AD ou AN selon la provenance de l''info', - `id_ancien` varbinary(8) NOT NULL COMMENT 'Id unique de l''ancien', - `Type_adr` enum('E', 'P') character set binary NOT NULL DEFAULT 'P' COMMENT 'Type d''adresse : E pour Entreprise, P pour Personnelle', - `hash_adresse` binary(5) NOT NULL COMMENT 'Hash pour différencier les diverses adresses', - `Ligne1` varchar(60) character set utf8 NOT NULL, - `Ligne2` varchar(60) character set utf8 NOT NULL, - `Ligne3` varchar(60) character set utf8 NOT NULL, - `code_postal` varchar(20) character set utf8 NOT NULL, - `ville` varchar(40) character set utf8 NOT NULL, - `zip_cedex` varchar(20) character set utf8 NOT NULL, - `etat_distr` varchar(20) character set utf8 NOT NULL, - `pays` varchar(50) character set utf8 NOT NULL, - `tel` varbinary(30) NOT NULL, - `fax` varbinary(30) NOT NULL, - `Date_maj` date NOT NULL, - PRIMARY KEY (`id_ancien`, `hash_adresse`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +CREATE TABLE IF NOT EXISTS fusionax_adresses ( + provenance CHAR(2) NOT NULL COMMENT 'Vaut AC, AD ou AN selon la provenance de l''info', + ax_id VARCHAR(8) NOT NULL COMMENT 'Id unique de l''ancien', + Type_adr ENUM('E', 'P') character set binary NOT NULL DEFAULT 'P' COMMENT 'Type d''adresse : E pour Entreprise, P pour Personnelle', + Ligne1 VARCHAR(90) NOT NULL, + Ligne2 VARCHAR(90) NOT NULL, + Ligne3 VARCHAR(90) NOT NULL, + code_postal VARCHAR(20) NOT NULL, + ville VARCHAR(80) NOT NULL, + zip_cedex VARCHAR(20) NOT NULL, + etat_distr VARCHAR(20) NOT NULL, + pays VARCHAR(50) NOT NULL, + tel VARCHAR(30) NOT NULL, + fax VARCHAR(30) NOT NULL, + Date_maj DATE NOT NULL COMMENT 'Date de mise à jour de ces informations', + Code_etab BIGINT(10) DEFAULT NULL, + pid INT(11) UNSIGNED DEFAULT NULL, + jobid INT(6) UNSIGNED DEFAULT NULL, + text TEXT DEFAULT NULL, + PRIMARY KEY (ax_id, Type_adr), + INDEX (pid), + INDEX (jobid) +) ENGINE=InnoDB, CHARSET=utf8; -LOAD DATA LOCAL INFILE 'Adresses.txt' INTO TABLE `fusionax_adresses` FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' -(provenance, id_ancien, @Type_adr, Ligne1, Ligne2, Ligne3, code_postal, ville, zip_cedex, etat_distr, pays, tel, fax, @StringDate_maj) -SET +LOAD DATA LOCAL INFILE '{?}Adresses.txt' INTO TABLE `fusionax_adresses` CHARACTER SET utf8 FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' +(provenance, ax_id, @Type_adr, Ligne1, Ligne2, Ligne3, code_postal, ville, zip_cedex, etat_distr, pays, tel, fax, @StringDate_maj) +SET `Type_adr` = IF(@Type_adr = 'E', 'E', IF(@Type_adr = '', '', 'P')), -`hash_adresse` = SUBSTRING( MD5( @Type_adr ), 1, 5), `Date_maj` = CONCAT(SUBSTRING(@StringDate_maj,7),'-',SUBSTRING(@StringDate_maj,4,2),'-',SUBSTRING(@StringDate_maj,1,2)); -LOAD DATA LOCAL INFILE 'Anciens.txt' INTO TABLE `fusionax_adresses` FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' -(provenance, id_ancien, @Login, @Password, @promotion_etude, @Groupe_promo, @Nom_patronymique, @partic_patro, @prenom, @Nom_usuel, @partic_nom, - @Nom_complet, @Civilite, @Code_nationalite, @Type_membre, @corps_sortie, @StringDate_deces, @grade, @Mel_usage, @Mel_publiable, - @tel_mobile, @annee_dernCot, @Representant, @Type_adr, Ligne1, Ligne2, Ligne3, code_postal, ville, - zip_cedex, etat_distr, pays, tel, fax, @StringDate_maj) -SET -`Type_adr` = IF(@Type_adr = 'E', 'E', IF(@Type_adr = '', '', 'P')), -`hash_adresse` = SUBSTRING( MD5( @Type_adr ), 1, 5), +LOAD DATA LOCAL INFILE '{?}Anciens.txt' INTO TABLE `fusionax_adresses` CHARACTER SET utf8 FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' +(provenance, ax_id, @login, @password, @promotion_etude, @gpe_promo, @Nom_patronymique, @partic_patro, @prenom, @Nom_usuel, @partic_nom, + @Nom_complet, @civilite, @Code_nationalite, @type, @corps_sortie, @StringDate_deces, @grade, @Mel_usage, @Mel_publiable, @xxx, @xxx, + @tel_mobile, @xxx, @xxx, @xxx, @xxx, @xxx, @xxx, @xxx, @X_M_D, @xxx, @xxx, @xxx, @xxx, @xxx, @xxx, @Type_adr, + Ligne1, Ligne2, Ligne3, code_postal, ville, zip_cedex, etat_distr, pays, tel, fax, @StringDate_maj) +SET +Type_adr = IF(@Type_adr = 'E', 'E', IF(@Type_adr = '', '', 'P')), `Date_maj` = CONCAT(SUBSTRING(@StringDate_maj,7),'-',SUBSTRING(@StringDate_maj,4,2),'-',SUBSTRING(@StringDate_maj,1,2)); -LOAD DATA LOCAL INFILE 'Activites.txt' INTO TABLE `fusionax_adresses` FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' -(provenance, id_ancien, @Code_etab, @Raison_sociale, @Libelle_fonctio, @Annuaire, +LOAD DATA LOCAL INFILE '{?}Activites.txt' INTO TABLE `fusionax_adresses` CHARACTER SET utf8 FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n' +(provenance, ax_id, Code_etab, @Raison_sociale, @Libelle_fonctio, @Annuaire, Ligne1, Ligne2, Ligne3, code_postal, ville, zip_cedex, etat_distr, pays, tel, fax, @StringDate_maj) -SET +SET `Type_adr` = 'E', -`hash_adresse` = SUBSTRING( MD5( CONCAT(@Code_etab, @Libelle_fonctio) ), 1, 5), `Date_maj` = CONCAT(SUBSTRING(@StringDate_maj,7),'-',SUBSTRING(@StringDate_maj,4,2),'-',SUBSTRING(@StringDate_maj,1,2)); + +UPDATE fusionax_adresses SET Ligne1 = TRIM(Ligne1), Ligne2 = TRIM(Ligne2), Ligne3 = TRIM(Ligne3), pays = TRIM(pays), + code_postal = TRIM(code_postal), ville = TRIM(ville), zip_cedex = TRIM(zip_cedex), + tel = TRIM(tel), fax = TRIM(fax); +UPDATE fusionax_adresses SET ville = '' WHERE ville = '.'; +DELETE FROM fusionax_adresses WHERE ville = '' AND tel = '' AND fax = ''; +UPDATE fusionax_adresses SET text = CONCAT(IF(Ligne1 != '', CONCAT(Ligne1, '\n'), ''), + IF(Ligne2 != '', CONCAT(Ligne2, '\n'), ''), + IF(Ligne3 != '', CONCAT(Ligne3, '\n'), ''), + IF(code_postal != '', code_postal, zip_cedex), ' ', ville, + IF(pays != '', CONCAT('\n', pays), '')) + WHERE ville != ''; +ALTER TABLE fusionax_adresses ADD INDEX (text(20));