t_classification_atc.texte
ORDER BY code
]]>
0
AND w_dbsetup.code_original NOT IN (SELECT code_original FROM eco.t_classification_atc WHERE code_original IS NOT NULL);
SELECT eco.cti_reorganize_classification_atc();
]]>
0
AND w_dbsetup.code NOT IN (SELECT code FROM eco.t_type_article_cti WHERE code IS NOT NULL);
]]>
0 AND code NOT IN (SELECT code FROM eco.t_listes_tables);
]]>
Sections CTI non-livrées
DROP TABLE IF EXISTS w_del_sections
;
CREATE TEMP TABLE w_del_sections as (
SELECT oid FROM eco.t_classes_sections
WHERE classe_id IN (
SELECT
t_classes.oid
FROM eco.t_classes
LEFT JOIN w_dbsetup ON w_dbsetup.code = t_classes_sections.code
WHERE 1=1
AND is_cti = '1'
AND w_dbsetup.code IS NULL
)
);
DELETE FROM eco.t_classes_sections_elements
WHERE section_id IN (SELECT oid FROM w_del_sections);
DELETE FROM eco.t_classes_sections
WHERE oid IN (SELECT oid FROM w_del_sections);
UPDATE eco.t_classes_sections SET
texte = w_dbsetup.texte,
condition = w_dbsetup.condition,
exclude_code = w_dbsetup.exclude_code,
include_code = w_dbsetup.include_code
FROM w_dbsetup, eco.t_classes, eco.t_listes_tables
WHERE t_classes.oid = t_classes_sections.classe_id
AND t_listes_tables.oid = t_classes.table_id
AND w_dbsetup.code||'@'||w_dbsetup.classe_sequence||'@'||w_dbsetup.table_code = t_classes_sections.code||'@'||t_classes.sequence||'@'||t_listes_tables.code
AND (
t_classes_sections.texte IS DISTINCT FROM w_dbsetup.texte
OR t_classes_sections.condition IS DISTINCT FROM w_dbsetup.condition
OR t_classes_sections.exclude_code IS DISTINCT FROM w_dbsetup.exclude_code
OR t_classes_sections.include_code IS DISTINCT FROM w_dbsetup.include_code
);
INSERT INTO eco.t_classes_sections(code, texte, classe_id, include_code, exclude_code)
SELECT
w_dbsetup.code,
w_dbsetup.texte,
t_classes.oid,
w_dbsetup.include_code,
w_dbsetup.exclude_code
FROM
w_dbsetup
JOIN eco.t_listes_tables ON (w_dbsetup.table_code = t_listes_tables.code
-- ou s'il s'agit de la classe des cles
OR (classe_sequence = 30 AND t_listes_tables.code = (SELECT t_listes_tables.code FROM eco.t_listes_tables JOIN eco.t_classes ON t_classes.code = 'CTI_CLE_REP' AND table_id = t_listes_tables.oid)))
JOIN eco.t_classes ON 1=1
AND t_classes.table_id = t_listes_tables.oid
AND t_classes.sequence = w_dbsetup.classe_sequence
WHERE w_dbsetup.code||'@'||w_dbsetup.classe_sequence||'@'|| CASE WHEN w_dbsetup.classe_sequence != 30 THEN w_dbsetup.table_code ELSE (SELECT valeur FROM eco.t_divers WHERE code = 'CLE_REPARTITION') END
NOT IN (
SELECT t_classes_sections.code||'@'||t_classes.sequence||'@'||CASE WHEN w_dbsetup.classe_sequence != 30 THEN t_listes_tables.code ELSE (SELECT valeur FROM eco.t_divers WHERE code = 'CLE_REPARTITION') END
FROM eco.t_classes_sections
JOIN eco.t_classes ON t_classes.oid = t_classes_sections.classe_id
JOIN eco.t_listes_tables ON t_listes_tables.oid = t_classes.table_id)
;
]]>
'' GROUP BY 1 HAVING count(*) > 1
) subview
WHERE t_indicateurs.code = subview.code AND t_indicateurs.oid <> subview.minoid;
UPDATE eco.t_indicateurs SET
texte = w_dbsetup.texte,
table_name = w_dbsetup.table_name,
column_name = w_dbsetup.column_name,
is_cti = w_dbsetup.is_cti,
entete = w_dbsetup.entete,
entete_etendue = w_dbsetup.entete_etendue,
total_function = w_dbsetup.total_function,
output_format = w_dbsetup.output_format,
width = w_dbsetup.width,
dimension_date_1 = w_dbsetup.dimension_date_1,
dimension_date_2 = w_dbsetup.dimension_date_2,
dimension_date_3 = w_dbsetup.dimension_date_3,
dimension_date_4 = w_dbsetup.dimension_date_4,
dimension_date_5 = w_dbsetup.dimension_date_5,
dimension_date = w_dbsetup.dimension_date,
is_template = w_dbsetup.is_template,
variable_definition = ARRAY[variable_definition_1,variable_definition_2,variable_definition_3] ,
variable_value = ARRAY[variable_value_1,variable_value_2,variable_value_3],
variable_value_text = ARRAY[variable_value_text_1,variable_value_text_2,variable_value_text_3],
description = w_dbsetup.description,
is_hide = CASE WHEN t_indicateurs.is_hide = '1' THEN '1' ELSE w_dbsetup.is_hide END
FROM w_dbsetup
WHERE t_indicateurs.code = w_dbsetup.code;
-- Ajout des indicateurs
INSERT INTO eco.t_indicateurs(texte,
table_name,
column_name,
is_cti,
entete,
entete_etendue,
code,
total_function,
output_format,
width,
dimension_date_1,
dimension_date_2,
dimension_date_3,
dimension_date_4,
dimension_date_5,
dimension_date,
is_template,
variable_definition,
variable_value,
variable_value_text,
description,
is_hide
)
SELECT texte,
table_name,
column_name,
is_cti,
entete,
entete_etendue,
code,
total_function,
output_format,
width,
dimension_date_1,
dimension_date_2,
dimension_date_3,
dimension_date_4,
dimension_date_5,
dimension_date,
is_template,
ARRAY[variable_definition_1,variable_definition_2,variable_definition_3] ,
ARRAY[variable_value_1,variable_value_2,variable_value_3],
ARRAY[variable_value_text_1,variable_value_text_2,variable_value_text_3],
description,
is_hide
FROM w_dbsetup WHERE oid <> 0 AND code NOT IN (SELECT code FROM eco.t_indicateurs WHERE code IS NOT NULL);
-- Thèmes
UPDATE eco.t_indicateurs SET
theme_id = ARRAY[
t_indicateur_theme_1.oid,
t_indicateur_theme_2.oid,
t_indicateur_theme_3.oid,
t_indicateur_theme_4.oid,
t_indicateur_theme_5.oid,
t_indicateur_theme_6.oid,
t_indicateur_theme_7.oid,
t_indicateur_theme_8.oid,
t_indicateur_theme_9.oid
]
FROM w_dbsetup
LEFT JOIN eco.t_indicateur_theme t_indicateur_theme_1 ON w_dbsetup.theme_1_code = t_indicateur_theme_1.code
LEFT JOIN eco.t_indicateur_theme t_indicateur_theme_2 ON w_dbsetup.theme_2_code = t_indicateur_theme_2.code
LEFT JOIN eco.t_indicateur_theme t_indicateur_theme_3 ON w_dbsetup.theme_3_code = t_indicateur_theme_3.code
LEFT JOIN eco.t_indicateur_theme t_indicateur_theme_4 ON w_dbsetup.theme_4_code = t_indicateur_theme_4.code
LEFT JOIN eco.t_indicateur_theme t_indicateur_theme_5 ON w_dbsetup.theme_5_code = t_indicateur_theme_5.code
LEFT JOIN eco.t_indicateur_theme t_indicateur_theme_6 ON w_dbsetup.theme_6_code = t_indicateur_theme_6.code
LEFT JOIN eco.t_indicateur_theme t_indicateur_theme_7 ON w_dbsetup.theme_7_code = t_indicateur_theme_7.code
LEFT JOIN eco.t_indicateur_theme t_indicateur_theme_8 ON w_dbsetup.theme_8_code = t_indicateur_theme_8.code
LEFT JOIN eco.t_indicateur_theme t_indicateur_theme_9 ON w_dbsetup.theme_9_code = t_indicateur_theme_9.code
WHERE t_indicateurs.code = w_dbsetup.code AND
theme_id IS DISTINCT FROM ARRAY[
t_indicateur_theme_1.oid,
t_indicateur_theme_2.oid,
t_indicateur_theme_3.oid,
t_indicateur_theme_4.oid,
t_indicateur_theme_5.oid,
t_indicateur_theme_6.oid,
t_indicateur_theme_7.oid,
t_indicateur_theme_8.oid,
t_indicateur_theme_9.oid
]
;
-- Mise à jour des références
UPDATE eco.t_indicateurs SET
indicateur_associe_1_id = COALESCE(t_indicateurs_1.oid,0),
indicateur_associe_2_id = COALESCE(t_indicateurs_2.oid,0),
indicateur_associe_3_id = COALESCE(t_indicateurs_3.oid,0),
indicateur_associe_4_id = COALESCE(t_indicateurs_4.oid,0),
indicateur_associe_5_id = COALESCE(t_indicateurs_5.oid,0),
indicateur_associe_6_id = COALESCE(t_indicateurs_6.oid,0),
indicateur_associe_7_id = COALESCE(t_indicateurs_7.oid,0),
indicateur_associe_8_id = COALESCE(t_indicateurs_8.oid,0),
indicateur_associe_9_id = COALESCE(t_indicateurs_9.oid,0),
indicateur_associe_10_id = COALESCE(t_indicateurs_10.oid,0),
indicateur_associe_11_id = COALESCE(t_indicateurs_11.oid,0),
indicateur_associe_12_id = COALESCE(t_indicateurs_12.oid,0),
indicateur_associe_13_id = COALESCE(t_indicateurs_13.oid,0),
indicateur_associe_14_id = COALESCE(t_indicateurs_14.oid,0),
indicateur_associe_15_id = COALESCE(t_indicateurs_15.oid,0),
indicateur_associe_16_id = COALESCE(t_indicateurs_16.oid,0),
indicateur_associe_17_id = COALESCE(t_indicateurs_17.oid,0),
indicateur_associe_18_id = COALESCE(t_indicateurs_18.oid,0),
indicateur_associe_19_id = COALESCE(t_indicateurs_19.oid,0),
indicateur_associe_20_id = COALESCE(t_indicateurs_20.oid,0),
indicateur_reference_id = COALESCE(t_indicateurs_reference.oid,0),
indicateur_template_id = COALESCE(t_indicateurs_template.oid,0)
FROM w_dbsetup
LEFT JOIN eco.t_indicateurs t_indicateurs_1 ON (w_dbsetup.indicateur_associe_1_code = t_indicateurs_1.code AND w_dbsetup.indicateur_associe_1_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_2 ON (w_dbsetup.indicateur_associe_2_code = t_indicateurs_2.code AND w_dbsetup.indicateur_associe_2_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_3 ON (w_dbsetup.indicateur_associe_3_code = t_indicateurs_3.code AND w_dbsetup.indicateur_associe_3_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_4 ON (w_dbsetup.indicateur_associe_4_code = t_indicateurs_4.code AND w_dbsetup.indicateur_associe_4_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_5 ON (w_dbsetup.indicateur_associe_5_code = t_indicateurs_5.code AND w_dbsetup.indicateur_associe_5_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_6 ON (w_dbsetup.indicateur_associe_6_code = t_indicateurs_6.code AND w_dbsetup.indicateur_associe_6_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_7 ON (w_dbsetup.indicateur_associe_7_code = t_indicateurs_7.code AND w_dbsetup.indicateur_associe_7_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_8 ON (w_dbsetup.indicateur_associe_8_code = t_indicateurs_8.code AND w_dbsetup.indicateur_associe_8_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_9 ON (w_dbsetup.indicateur_associe_9_code = t_indicateurs_9.code AND w_dbsetup.indicateur_associe_9_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_10 ON (w_dbsetup.indicateur_associe_10_code = t_indicateurs_10.code AND w_dbsetup.indicateur_associe_10_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_11 ON (w_dbsetup.indicateur_associe_11_code = t_indicateurs_11.code AND w_dbsetup.indicateur_associe_11_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_12 ON (w_dbsetup.indicateur_associe_12_code = t_indicateurs_12.code AND w_dbsetup.indicateur_associe_12_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_13 ON (w_dbsetup.indicateur_associe_13_code = t_indicateurs_13.code AND w_dbsetup.indicateur_associe_13_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_14 ON (w_dbsetup.indicateur_associe_14_code = t_indicateurs_14.code AND w_dbsetup.indicateur_associe_14_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_15 ON (w_dbsetup.indicateur_associe_15_code = t_indicateurs_15.code AND w_dbsetup.indicateur_associe_15_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_16 ON (w_dbsetup.indicateur_associe_16_code = t_indicateurs_16.code AND w_dbsetup.indicateur_associe_16_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_17 ON (w_dbsetup.indicateur_associe_17_code = t_indicateurs_17.code AND w_dbsetup.indicateur_associe_17_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_18 ON (w_dbsetup.indicateur_associe_18_code = t_indicateurs_18.code AND w_dbsetup.indicateur_associe_18_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_19 ON (w_dbsetup.indicateur_associe_19_code = t_indicateurs_19.code AND w_dbsetup.indicateur_associe_19_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_20 ON (w_dbsetup.indicateur_associe_20_code = t_indicateurs_20.code AND w_dbsetup.indicateur_associe_20_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_reference ON (w_dbsetup.indicateur_reference_code = t_indicateurs_reference.code AND w_dbsetup.indicateur_reference_code <> '')
LEFT JOIN eco.t_indicateurs t_indicateurs_template ON (w_dbsetup.indicateur_template_code = t_indicateurs_template.code AND w_dbsetup.indicateur_template_code <> '')
WHERE t_indicateurs.code = w_dbsetup.code
AND (indicateur_associe_1_code <> '' OR
indicateur_associe_2_code <> '' OR
indicateur_associe_3_code <> '' OR
indicateur_reference_code <> '' OR
indicateur_template_code <> '');
SELECT base.cti_reorganize_indicateurs('eco')
;
]]>
''
AND table_id = t_listes_tables.oid
ORDER BY t_listes.code;
]]>
'CTI_PORTFO'
ORDER BY t_rapports.code
;
]]>
0
AND code NOT IN (SELECT code FROM eco.t_rapports)
;
UPDATE eco.t_rapports SET
texte = w_dbsetup.texte,
is_cti = w_dbsetup.is_cti,
is_essentiel = w_dbsetup.is_essentiel,
rapport_template_id = template.oid,
is_template_updatable = w_dbsetup.is_template_updatable,
rapport_indicateur_condition_id = ARRAY[condition_0.oid,condition_1.oid,condition_2.oid,condition_3.oid,condition_4.oid]
FROM w_dbsetup
LEFT JOIN eco.t_rapports template ON template_code = template.code
LEFT JOIN eco.t_listes_tables table_0 ON split_part(condition_codes[1],'|',1) = table_0.code
OR table_0.code = (SELECT t_listes_tables.code FROM eco.t_listes_tables JOIN eco.t_classes ON t_classes.code = 'CTI_CLE_REP' AND table_id = t_listes_tables.oid)
LEFT JOIN eco.t_classes classe_0 ON table_0.oid = classe_0.table_id AND classe_0.code = split_part(condition_codes[1] ,'|',2)
LEFT JOIN eco.t_classes_sections section_0 ON classe_0.oid = section_0.classe_id AND section_0.code = split_part(condition_codes[1] ,'|',3)
LEFT JOIN eco.t_indicateur_condition condition_0 ON regexp_replace(regexp_replace(regexp_replace(regexp_replace(table_0.name,'^t_',''),'s_','','g'),'x',''),'s$','') || 'id' = regexp_replace(condition_0.column_name,'_','','g')
AND classe_0.sequence = substring(split_part(condition_0.code,'#',2),3,2) AND left(split_part(condition_0.code,'#',2),2) = 'LS'
AND section_0.oid = right(split_part(condition_0.code,'#',2),-4)
LEFT JOIN eco.t_listes_tables table_1 ON split_part(condition_codes[2],'|',1) = table_1.code
OR table_1.code = (SELECT t_listes_tables.code FROM eco.t_listes_tables JOIN eco.t_classes ON t_classes.code = 'CTI_CLE_REP' AND table_id = t_listes_tables.oid)
LEFT JOIN eco.t_classes classe_1 ON table_1.oid = classe_1.table_id AND classe_1.code = split_part(condition_codes[2] ,'|',2)
LEFT JOIN eco.t_classes_sections section_1 ON classe_1.oid = section_1.classe_id AND section_1.code = split_part(condition_codes[2] ,'|',3)
LEFT JOIN eco.t_indicateur_condition condition_1 ON regexp_replace(regexp_replace(regexp_replace(regexp_replace(table_1.name,'^t_',''),'s_','','g'),'x',''),'s$','') || 'id' = regexp_replace(condition_1.column_name,'_','','g')
AND classe_1.sequence = substring(split_part(condition_1.code,'#',2),3,2) AND left(split_part(condition_1.code,'#',2),2) = 'LS'
AND section_1.oid = right(split_part(condition_1.code,'#',2),-4)
LEFT JOIN eco.t_listes_tables table_2 ON split_part(condition_codes[3],'|',1) = table_2.code
OR table_2.code = (SELECT t_listes_tables.code FROM eco.t_listes_tables JOIN eco.t_classes ON t_classes.code = 'CTI_CLE_REP' AND table_id = t_listes_tables.oid)
LEFT JOIN eco.t_classes classe_2 ON table_2.oid = classe_2.table_id AND classe_2.code = split_part(condition_codes[3] ,'|',2)
LEFT JOIN eco.t_classes_sections section_2 ON classe_2.oid = section_2.classe_id AND section_2.code = split_part(condition_codes[3] ,'|',3)
LEFT JOIN eco.t_indicateur_condition condition_2 ON regexp_replace(regexp_replace(regexp_replace(regexp_replace(table_2.name,'^t_',''),'s_','','g'),'x',''),'s$','') || 'id' = regexp_replace(condition_2.column_name,'_','','g')
AND classe_2.sequence = substring(split_part(condition_2.code,'#',2),3,2) AND left(split_part(condition_2.code,'#',2),2) = 'LS'
AND section_2.oid = right(split_part(condition_2.code,'#',2),-4)
LEFT JOIN eco.t_listes_tables table_3 ON split_part(condition_codes[4],'|',1) = table_3.code
OR table_3.code = (SELECT t_listes_tables.code FROM eco.t_listes_tables JOIN eco.t_classes ON t_classes.code = 'CTI_CLE_REP' AND table_id = t_listes_tables.oid)
LEFT JOIN eco.t_classes classe_3 ON table_3.oid = classe_3.table_id AND classe_3.code = split_part(condition_codes[4] ,'|',2)
LEFT JOIN eco.t_classes_sections section_3 ON classe_3.oid = section_3.classe_id AND section_3.code = split_part(condition_codes[4] ,'|',3)
LEFT JOIN eco.t_indicateur_condition condition_3 ON regexp_replace(regexp_replace(regexp_replace(regexp_replace(table_3.name,'^t_',''),'s_','','g'),'x',''),'s$','') || 'id' = regexp_replace(condition_3.column_name,'_','','g')
AND classe_3.sequence = substring(split_part(condition_3.code,'#',2),3,2) AND left(split_part(condition_3.code,'#',2),2) = 'LS'
AND section_3.oid = right(split_part(condition_3.code,'#',2),-4)
LEFT JOIN eco.t_listes_tables table_4 ON split_part(condition_codes[5],'|',1) = table_4.code
OR table_4.code = (SELECT t_listes_tables.code FROM eco.t_listes_tables JOIN eco.t_classes ON t_classes.code = 'CTI_CLE_REP' AND table_id = t_listes_tables.oid)
LEFT JOIN eco.t_classes classe_4 ON table_4.oid = classe_4.table_id AND classe_4.code = split_part(condition_codes[5] ,'|',2)
LEFT JOIN eco.t_classes_sections section_4 ON classe_4.oid = section_4.classe_id AND section_4.code = split_part(condition_codes[5] ,'|',3)
LEFT JOIN eco.t_indicateur_condition condition_4 ON regexp_replace(regexp_replace(regexp_replace(regexp_replace(table_4.name,'^t_',''),'s_','','g'),'x',''),'s$','') || 'id' = regexp_replace(condition_4.column_name,'_','','g')
AND classe_4.sequence = substring(split_part(condition_4.code,'#',2),3,2) AND left(split_part(condition_4.code,'#',2),2) = 'LS'
AND section_4.oid = right(split_part(condition_4.code,'#',2),-4)
WHERE t_rapports.code = w_dbsetup.code;
]]>
''
AND (t_rapports.is_cti = '1' OR t_rapports.code LIKE 'CTI_%')
AND t_rapports.code <> 'CTI_PORTFO'
AND ind2.is_cti IS DISTINCT FROM '0'
ORDER BY
t_rapports.code,
ind1.code,
t_rapports_rubriques.numero_rubrique
;
]]>
'' OR
w_specific_rapports_rubriques.specific_viewlink_label <> '' OR
w_specific_rapports_rubriques.specific_viewlink_param <> ''
)
;
]]>