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

CREATE TEMP TABLE w_dbsetup AS
    SELECT 
    	t_divers.code,
    	t_divers.texte, 
    	t_divers.valeur,
    	t_divers.valeur_date::text,
    	t_divers.description
    FROM 
    	eco.t_divers
    WHERE t_divers.code IN ('CLE_REPARTITION', 'UPDATE PMSI')
    ORDER BY code LIMIT 0
;

-- 2/3 : Peuplement de la table temporaire
INSERT INTO w_dbsetup(
    code,
    texte,
    valeur,
    valeur_date,
    description
)
VALUES
('CLE_REPARTITION', 'Code de la table à utiliser pour créer la classe utilisée comme clé de répartition', 'TYA', '1970-01-01', 'TYA (type d''articles, défaut), ART (articles), CAA (cétgories articles), CPT (compte), FAA (familles articles), LIE (lieu)'),
('UPDATE PMSI', 'Mise à jour des données PMSI à partir des données Gestion Economique', '0', '1970-01-01', '0: Désactivé 1: Activé')
;

-- 3/3 : Màj de la table iCTI
-- Mise à jour des données
INSERT INTO eco.t_divers(
	code,
	texte,
	valeur,
	valeur_date,
	description
)
SELECT
	code,
	texte,
	valeur,
	CASE WHEN valeur_date = '' THEN NULL::date ELSE valeur_date::date END AS valeur_date,
	description
FROM w_dbsetup
WHERE code NOT IN (SELECT code FROM eco.t_divers)