-- 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.texte,
    	t_listes.chapitre,
    	t_listes.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
    	rh.t_listes,
    	rh.t_listes_tables
    WHERE 1=1
    	AND is_cti = '1'
    	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,
    texte,
    chapitre,
    code,
    is_cti,
    show_omit,
    utilisateur_createur,
    est_partagee_modification,
    table_name
)
VALUES
(1, 'Primes à périodicité non mensuelle - Bilan Social', '', 'CTI_BS_PPNM', '1', '1', '*CTI', '1', 't_rubriques'),
(1, 'Eléments exceptionnels : Rupture de contrat : OD/Net.', 'Elements exceptionnels', 'CTI_EXP_CNT', '1', '1', '*CTI', '1', 't_rubriques'),
(1, 'IJSS : Payé SS / OD/Net.', 'Elements exceptionnels', 'CTI_EXP_IJS', '1', '1', '*CTI', '1', 't_rubriques'),
(1, 'Eléments exceptionnels : Prime de précarité', 'Elements exceptionnels', 'CTI_EXP_PRE', '1', '1', '*CTI', '1', 't_rubriques'),
(1, 'Eléments exceptionnels : Retraite', 'Elements exceptionnels', 'CTI_EXP_RET', '1', '1', '*CTI', '1', 't_rubriques'),
(1, 'Elements exceptionnels Retraite et rupture.', 'Elements exceptionnels', 'CTI_EXP_RRU', '1', '1', '*CTI', '1', 't_rubriques'),
(1, 'Heures contrat', 'Paramétrage', 'CTI_HCNT', '1', '0', '*CTI', '1', 't_rubriques'),
(1, 'Pegase forfaits jours', 'Paramétrage', 'CTI_PEGASE_FTJ', '1', '0', '*CTI', '1', 't_rubriques')
;

-- 3/3 : Màj de la table iCTI
UPDATE rh.t_listes SET 
	texte = w_dbsetup.texte, 
	chapitre = w_dbsetup.chapitre, 
	table_id = t_listes_tables.oid,
	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
FROM w_dbsetup, rh.t_listes_tables
WHERE  w_dbsetup.table_name = t_listes_tables.name and t_listes.code = w_dbsetup.code
;

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

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