|
|
-- 1/3 : Création de la table temporaire
|
|
|
DROP TABLE IF EXISTS w_dbsetup
|
|
|
;
|
|
|
|
|
|
CREATE TEMP TABLE w_dbsetup AS
|
|
|
SELECT
|
|
|
CASE WHEN t_classes.oid = 0 THEN t_classes.oid ELSE 1 END AS oid,
|
|
|
t_classes.code,
|
|
|
t_classes.texte,
|
|
|
t_classes.is_cti,
|
|
|
t_classes.sequence,
|
|
|
t_listes_tables.code as table_code,
|
|
|
t_classes.contenu_by_code,
|
|
|
t_classes.contenu_non_replicable_ailleurs
|
|
|
FROM
|
|
|
activite.t_classes,
|
|
|
activite.t_listes_tables
|
|
|
WHERE 1=1
|
|
|
AND (is_cti = '1' OR t_classes.code ilike 'CTI_%')
|
|
|
AND table_id = t_listes_tables.oid
|
|
|
ORDER BY t_classes.code LIMIT 0
|
|
|
;
|
|
|
|
|
|
-- 2/3 : Peuplement de la table temporaire
|
|
|
INSERT INTO w_dbsetup(
|
|
|
oid,
|
|
|
code,
|
|
|
texte,
|
|
|
is_cti,
|
|
|
sequence,
|
|
|
table_code,
|
|
|
contenu_by_code,
|
|
|
contenu_non_replicable_ailleurs
|
|
|
)
|
|
|
VALUES
|
|
|
(1, 'CTIGFA1', 'Formes d''activité CTI niveau 1', '1', 1, 'FORMEACTIVITE', '0', '0'),
|
|
|
(1, 'CTIGFA2', 'Formes d''activité CTI niveau 2', '1', 2, 'FORMEACTIVITE', '0', '0'),
|
|
|
(1, 'CTIGFA3', 'Champ satisfaction', '1', 3, 'FORMEACTIVITE', '0', '0'),
|
|
|
(1, 'CTI_DURSEJ', 'Tranches séjours CTI', '1', 9, 'DURSEJ', '0', '0'),
|
|
|
(1, 'CTI_ETA_1', 'Etages CTI', '0', 4, 'ETAGE', '0', '1'),
|
|
|
(1, 'CTI_GHMDA', 'Domaines d''activité ATIH', '1', 9, 'GHM', '0', '0'),
|
|
|
(1, 'CTI_GHMGA', 'Groupes d''activité ATIH', '1', 7, 'GHM', '0', '0'),
|
|
|
(1, 'CTI_GHMGP', 'Groupes de planification ATIH', '1', 8, 'GHM', '0', '0'),
|
|
|
(1, 'CTI_MEDLIBSAL', 'Conditions d''exercice', '1', 1, 'MEDECIN', '0', '1'),
|
|
|
(1, 'CTI_PRC_1', 'Prestations CTI', '0', 4, 'PRESTA_C', '0', '0'),
|
|
|
(1, 'CTI_PREDCA', 'Décomposition CA (CTI)', '1', 9, 'PRESTA_C', '0', '0'),
|
|
|
(1, 'CTI_RUB_1', 'Rubriques CTI', '0', 4, 'RUBRIQUE', '1', '1'),
|
|
|
(1, 'CTI_RUB_2', 'Rubriques détaillées CTI.', '0', 31, 'RUBRIQUE', '0', '1'),
|
|
|
(1, 'CTI_SER_1', 'Services CTI', '0', 4, 'SERVICE_F', '0', '1'),
|
|
|
(1, 'CTI_TAGE', 'Tranches d''âge', '1', 9, 'AGE', '0', '0'),
|
|
|
(1, 'CTI_UF_1', 'Unités Fonctionnelles CTI', '0', 4, 'UF', '0', '1'),
|
|
|
(1, 'ETATSEJN1', 'Etat de séjour CTI niveau 1', '1', 11, 'ETATSEJOUR', '0', '0'),
|
|
|
(1, 'ETATSEJN2', 'Etat de séjour CTI niveau 2', '1', 10, 'ETATSEJOUR', '0', '0')
|
|
|
;
|
|
|
|
|
|
-- 3/3 : Màj de la table iCTI
|
|
|
UPDATE activite.t_classes SET
|
|
|
code = w_dbsetup.code,
|
|
|
texte = w_dbsetup.texte,
|
|
|
table_id = t_listes_tables.oid,
|
|
|
is_cti = w_dbsetup.is_cti,
|
|
|
contenu_by_code = w_dbsetup.contenu_by_code,
|
|
|
contenu_non_replicable_ailleurs = w_dbsetup.contenu_non_replicable_ailleurs
|
|
|
FROM
|
|
|
w_dbsetup,
|
|
|
activite.t_listes_tables
|
|
|
WHERE 1=1
|
|
|
AND w_dbsetup.table_code = t_listes_tables.code
|
|
|
AND t_classes.sequence = w_dbsetup.sequence
|
|
|
AND t_classes.table_id = t_listes_tables.oid
|
|
|
AND (1!=1
|
|
|
OR t_classes.code IS DISTINCT FROM w_dbsetup.code
|
|
|
OR t_classes.texte IS DISTINCT FROM w_dbsetup.texte
|
|
|
OR t_classes.table_id IS DISTINCT FROM t_listes_tables.oid
|
|
|
OR t_classes.is_cti IS DISTINCT FROM w_dbsetup.is_cti
|
|
|
OR t_classes.contenu_by_code IS DISTINCT FROM w_dbsetup.contenu_by_code
|
|
|
OR t_classes.contenu_non_replicable_ailleurs IS DISTINCT FROM w_dbsetup.contenu_non_replicable_ailleurs)
|
|
|
;
|
|
|
|
|
|
INSERT INTO activite.t_classes(code, texte, table_id, is_cti, sequence, contenu_by_code, contenu_non_replicable_ailleurs)
|
|
|
SELECT
|
|
|
w_dbsetup.code,
|
|
|
w_dbsetup.texte,
|
|
|
t_listes_tables.oid,
|
|
|
w_dbsetup.is_cti,
|
|
|
w_dbsetup.sequence,
|
|
|
w_dbsetup.contenu_by_code,
|
|
|
w_dbsetup.contenu_non_replicable_ailleurs
|
|
|
FROM
|
|
|
w_dbsetup,
|
|
|
activite.t_listes_tables
|
|
|
WHERE 1=1
|
|
|
AND w_dbsetup.table_code = t_listes_tables.code
|
|
|
AND t_listes_tables.oid::text || '-' || w_dbsetup.sequence::text NOT IN (SELECT table_id::text || '-' || sequence::text FROM activite.t_classes)
|
|
|
AND w_dbsetup.texte NOT LIKE '*SUPPRIME%'
|
|
|
;
|