-- 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.description,
        t_divers.show_info_module,
        t_divers.texte,
        t_divers.valeur,
        t_divers.valeur_date::text
    FROM 
        activite.t_divers
    ORDER BY code LIMIT 0
;

-- 2/3 : Peuplement de la table temporaire
INSERT INTO w_dbsetup(
    code,
    description,
    show_info_module,
    texte,
    valeur,
    valeur_date
)
VALUES
('DATEFERMETURE', 'Date de fermeture (AAAAMMJJ). Vide si ouvert ', 'f', 'Date fermeture établissement', '', '1970-01-01'),
('EMCHCSSRPSY', '0=1 EMC par séjour, 1=1 EMC par semaine', 'f', 'Mode génération EMC HC SSR ou PSY', '0', '1970-01-01'),
('ETALITCSVFILE', 'Emplacement du fichier CSV qui contient l''historique des places', 'f', 'Emplacement du fichier CSV qui contient l''historique des places', '', '1970-01-01'),
('NOW', 'Date non modifiable', 't', 'Date des derniers mouvements', '', '1970-01-01'),
('NOWCLOTURE', 'Date non modifiable', 't', 'Date clôture', '', '1970-01-01'),
('OPTADM_DAYOUT', '0=JS non inclus sauf DE=DS | 1=JS non inclus | 2=JS inclus', 'f', 'Activite : Comptabilisation du jour de sortie', '0', '1970-01-01'),
('PLACESREF', '', 'f', '', 'ETA', '1970-01-01'),
('SEANCEHOSPIT', '1=Conserver les séances en hospit, 2=Ne conserver que les séances de dialyse, 0=Pas de séance en hospit', 'f', 'Traitement des séances en hospit', '1', '1970-01-01'),
('SIGEMS_CHPDOX', 'Préfixe pour demande CP (separateur virgule et chaque préfixe avec %)', 'f', 'Préfixe pour demande CP', 'P%', '1970-01-01'),
('TAUXSORAVANT', 'par default taux de sortie avant 12hh00', 'f', 'Taux de sortie avant hh:mm', '120000', '1970-01-01')
;

-- 3/3 : Màj de la table iCTI
INSERT INTO activite.t_divers(code, description, show_info_module, texte, valeur, valeur_date)
    SELECT 
        w_dbsetup.code,
        w_dbsetup.description,
        w_dbsetup.show_info_module,
        w_dbsetup.texte,
        w_dbsetup.valeur,
        CASE WHEN w_dbsetup.valeur_date = '' THEN '19700101'::date ELSE w_dbsetup.valeur_date::date END AS valeur_date
    FROM
        w_dbsetup
    WHERE w_dbsetup.code NOT IN (SELECT code from activite.t_divers)
;