A few fixes on how to deal with AX export.
[platal.git] / modules / fusionax / Adresses.sql
1 -- Import complet des adresses
2
3 DROP TABLE IF EXISTS fusionax_adresses;
4
5 CREATE TABLE IF NOT EXISTS fusionax_adresses (
6 provenance CHAR(2) NOT NULL COMMENT 'Vaut AC, AD ou AN selon la provenance de l''info',
7 ax_id VARCHAR(8) NOT NULL COMMENT 'Id unique de l''ancien',
8 Type_adr ENUM('E', 'P') character set binary NOT NULL DEFAULT 'P' COMMENT 'Type d''adresse : E pour Entreprise, P pour Personnelle',
9 Ligne1 VARCHAR(90) NOT NULL,
10 Ligne2 VARCHAR(90) NOT NULL,
11 Ligne3 VARCHAR(90) NOT NULL,
12 code_postal VARCHAR(20) NOT NULL,
13 ville VARCHAR(80) NOT NULL,
14 zip_cedex VARCHAR(20) NOT NULL,
15 etat_distr VARCHAR(20) NOT NULL,
16 pays VARCHAR(50) NOT NULL,
17 tel VARCHAR(30) NOT NULL,
18 fax VARCHAR(30) NOT NULL,
19 Code_etab BIGINT(10) DEFAULT NULL,
20 text TEXT DEFAULT NULL,
21 PRIMARY KEY (ax_id, Type_adr)
22 ) ENGINE=InnoDB, CHARSET=utf8;
23
24 LOAD DATA LOCAL INFILE '{?}Adresses.txt' INTO TABLE `fusionax_adresses` FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n'
25 (provenance, ax_id, @Type_adr, Ligne1, Ligne2, Ligne3, code_postal, ville, zip_cedex, etat_distr, pays, tel, fax, @StringDate_maj)
26 SET
27 `Type_adr` = IF(@Type_adr = 'E', 'E', IF(@Type_adr = '', '', 'P'));
28
29 LOAD DATA LOCAL INFILE '{?}Anciens.txt' INTO TABLE `fusionax_adresses` FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n'
30 (provenance, ax_id, @login, @password, @promotion_etude, @gpe_promo, @Nom_patronymique, @partic_patro, @prenom, @Nom_usuel, @partic_nom,
31 @Nom_complet, @civilite, @Code_nationalite, @type, @corps_sortie, @StringDate_deces, @grade, @Mel_usage, @Mel_publiable, @xxx, @xxx,
32 @tel_mobile, @xxx, @xxx, @xxx, @xxx, @xxx, @xxx, @xxx, @X_M_D, @xxx, @xxx, @xxx, @xxx, @xxx, @xxx, @Type_adr,
33 Ligne1, Ligne2, Ligne3, code_postal, ville, zip_cedex, etat_distr, pays, tel, fax, @date_MAJ)
34 SET
35 Type_adr = IF(@Type_adr = 'E', 'E', IF(@Type_adr = '', '', 'P'));
36
37 LOAD DATA LOCAL INFILE '{?}Activites.txt' INTO TABLE `fusionax_adresses` FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\r\n'
38 (provenance, ax_id, Code_etab, @Raison_sociale, @Libelle_fonctio, @Annuaire,
39 Ligne1, Ligne2, Ligne3, code_postal, ville, zip_cedex, etat_distr, pays, tel, fax, @StringDate_maj)
40 SET
41 `Type_adr` = 'E';
42
43 UPDATE fusionax_adresses SET Ligne1 = TRIM(Ligne1), Ligne2 = TRIM(Ligne2), Ligne3 = TRIM(Ligne3), pays = TRIM(pays),
44 code_postal = TRIM(code_postal), ville = TRIM(ville), zip_cedex = TRIM(zip_cedex),
45 tel = TRIM(tel), fax = TRIM(fax);
46 UPDATE fusionax_adresses SET ville = '' WHERE ville = '.';
47 DELETE FROM fusionax_adresses WHERE ville = '' AND tel = '' AND fax = '';
48 UPDATE fusionax_adresses SET text = CONCAT(IF(Ligne1 != '', CONCAT(Ligne1, '\n'), ''),
49 IF(Ligne2 != '', CONCAT(Ligne2, '\n'), ''),
50 IF(Ligne3 != '', CONCAT(Ligne3, '\n'), ''),
51 IF(code_postal != '', code_postal, zip_cedex), ' ', ville,
52 IF(pays != '', CONCAT('\n', pays), ''))
53 WHERE ville != '';
54 ALTER TABLE fusionax_adresses ADD INDEX (text(20));