-- 1/3 : Création de la table temporaire
DROP TABLE IF EXISTS w_dbsetup
;

CREATE TEMP TABLE w_dbsetup AS
    SELECT 
    	t_listes.oid, 
    	t_listes.code,
    	t_listes.texte,
    	t_listes.chapitre,
    	t_listes.contenu_by_code,
    	t_listes.include_code,
    	t_listes.exclude_code,
    	t_listes.is_cti, 
    	t_listes.show_omit, 
    	t_listes.utilisateur_createur, 
    	t_listes.est_partagee_modification,
    	t_listes_tables.name as table_name 
    FROM 
    	eco.t_listes, 
    	eco.t_listes_tables 
    WHERE 
    	(is_cti = '1' OR t_listes.code LIKE 'CTI%')
    	AND t_listes.code <> ''
    	AND table_id = t_listes_tables.oid
    ORDER BY t_listes.code LIMIT 0
;

-- 2/3 : Peuplement de la table temporaire
INSERT INTO w_dbsetup(
    oid,
    code,
    texte,
    chapitre,
    contenu_by_code,
    include_code,
    exclude_code,
    is_cti,
    show_omit,
    utilisateur_createur,
    est_partagee_modification,
    table_name
)
VALUES
(1, 'CTI_ALIBIO', 'Aliments Biologiques', '', '0', '', '', '1', '0', '*CTI', '1', 't_articles'),
(1, 'CTI_ESS_ART80', 'Liste des articles représentant 80% des stocks en montant', '', '0', '', '', '1', '0', '*CTI', '1', 't_articles'),
(1, 'CTI_FAMALI', 'Alimentation', '', '0', '', '', '1', '0', '*CTI', '1', 't_familles_articles'),
(1, 'CTI_FAMNRJ', 'Energie', '', '0', '', '', '1', '0', '*CTI', '1', 't_familles_articles'),
(1, 'CTI_FOUH', 'Fournisseurs favorisant le travail de personnes handicapés ou en difficulté', '', '0', '', '', '1', '0', '*CTI', '1', 't_fournisseurs'),
(1, 'CTI_FOUREF', 'Fournisseurs références', '', '0', '', '', '1', '0', '*CTI', '1', 't_fournisseurs'),
(1, 'CTI_FOUREG', 'Fournisseurs régionaux', '', '0', '', '', '1', '0', '*CTI', '1', 't_fournisseurs'),
(1, 'CTI_NRJREN', 'Energie renouvelables', '', '0', '', '', '1', '0', '*CTI', '1', 't_articles'),
(1, 'CTI_UFPER', 'UF de pertes ou périmés', '', '0', '', '', '1', '1', '*CTI', '1', 't_unites_fonctionnelles')
;

-- 3/3 : Màj de la table iCTI
UPDATE eco.t_listes SET 
	texte = w_dbsetup.texte, 
	chapitre = w_dbsetup.chapitre, 
	contenu_by_code= w_dbsetup.contenu_by_code, 
	include_code = w_dbsetup.include_code, 
	exclude_code = w_dbsetup.exclude_code, 
	is_cti = w_dbsetup.is_cti,
	show_omit = w_dbsetup.show_omit,
	utilisateur_createur = w_dbsetup.utilisateur_createur,
	est_partagee_modification = w_dbsetup.est_partagee_modification,
	table_id = t_listes_tables.oid
FROM 
	w_dbsetup, 
	eco.t_listes_tables
WHERE 
	w_dbsetup.table_name = t_listes_tables.name 
	AND t_listes.code = w_dbsetup.code
;


INSERT INTO eco.t_listes(
	code, 
	texte, 
	chapitre,
	contenu_by_code,
	include_code,
	exclude_code,
	is_cti, 
	show_omit, 
	utilisateur_createur, 
	est_partagee_modification, 
	table_id
	)
	SELECT 
		w_dbsetup.code, 
		w_dbsetup.texte, 
		w_dbsetup.chapitre,
		w_dbsetup.contenu_by_code,
		w_dbsetup.include_code,
		w_dbsetup.exclude_code,
		w_dbsetup.is_cti, 
		w_dbsetup.show_omit, 
		w_dbsetup.utilisateur_createur, 
		w_dbsetup.est_partagee_modification, 
		t_listes_tables.oid
	FROM 
		w_dbsetup, 
		eco.t_listes_tables 
	WHERE 
		w_dbsetup.table_name = t_listes_tables.name 
		AND w_dbsetup.code NOT IN (SELECT code FROM eco.t_listes) 
		AND w_dbsetup.texte NOT LIKE '*SUPPRIME%'
;


DELETE FROM eco.t_listes WHERE texte like '*SUPPRIME%' AND is_cti = '1'
;

SELECT base.cti_initialize_listes_by_code('eco');