|
|
return: text
|
|
|
lang: plpgsql
|
|
|
src: |
|
|
|
DECLARE
|
|
|
|
|
|
sqlcmd text;
|
|
|
def_cursor refcursor;
|
|
|
_schemaname text;
|
|
|
result TEXT;
|
|
|
BEGIN
|
|
|
|
|
|
-- Entreprises
|
|
|
DROP TABLE IF EXISTS w_indicateur_condition;
|
|
|
CREATE TEMP TABLE w_indicateur_condition AS
|
|
|
SELECT
|
|
|
'CTI_ENTREPRISE#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_ENTREPRISE#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Entreprise. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'rhp_entreprise_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'ETABLISSEMENT='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'D2%' THEN COALESCE('D2#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
]::text[] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
|
|
|
]::text[] AS arbre_texte
|
|
|
FROM rh.v_etablissements_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_entreprises t_source ON v_source.oid LIKE 'D2%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid LIKE 'D2%' AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- Etablissement
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_ETABLISSEMENT#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_ETABLISSEMENT#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Etablissement. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'rhp_etablissement_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'ETABLISSEMENT='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_etablissements_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_etablissements t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid NOT LIKE 'D2%' AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- Service
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_SERVICE#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_SERVICE#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Service. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'service_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'SERVICE='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_services_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_services t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- Groupe de grille
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_GRILLE_GROUPE#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_GRILLE_GROUPE#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Grille groupe. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'grille_groupe_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'GRILLE GROUPE='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_grilles_groupes_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_grilles_groupes t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- Grille
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_GRILLE#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_GRILLE#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Grille. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'grille_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'GRILLE='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_grilles_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_grilles t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- Population
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_POPULATION#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_POPULATION#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Population. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'population_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'POPULATION='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_population_2 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON true
|
|
|
AND v_source.oid LIKE 'LS%'
|
|
|
AND t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON true
|
|
|
AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%')
|
|
|
AND t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables AS t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_population t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE true
|
|
|
AND v_source.oid NOT LIKE 'LC%'
|
|
|
AND (false
|
|
|
OR v_source.oid NOT LIKE 'LS%'
|
|
|
OR substr(v_source.oid,5) <> '0')
|
|
|
AND v_source.oid <> '-1'
|
|
|
|
|
|
;
|
|
|
|
|
|
-- Service
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_POLE#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_POLE#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Pole. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'rhp_pole_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'POLE='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_pole_2 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_pole t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- Clé budget
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_BUD#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_BUD#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Clé budgetaire. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'rhp_budget_cle_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'BUD='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_budget_cle_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_budget_cle t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
|
|
|
|
|
|
-- Service planning
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_PLANNINGSERVICESOURCE#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_PLANNINGSERVICESOURCE#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Service source Planning. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'rhp_planning_service_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'PLANNING_SERVICE_SOURCE='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_planning_service_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_planning_service t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- Qualifications
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_QUALIFICATION#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_QUALIFICATION#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Qualification. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'qualification_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'QUALIFICATION='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_qualifications_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_qualifications t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- Qualifications planning
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_PLANNINGQUALIFICATIONSOURCE#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_PLANNINGQUALIFICATIONSOURCE#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Service source Planning. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'rhp_planning_qualification_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'PLANNING_SERVICE_SOURCE='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_planning_qualification_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_planning_qualification t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- PLANNING - Type d'absence.
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_PLANNINGTYPEABSENCE#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_PLANNINGTYPEABSENCE#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Type absence Planning. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'rhp_planning_type_absence_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'PLANNING_TYPE_ABSENCE='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_planning_type_absence_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_motifs_debut_contrat t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- Types de contrat
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_TYPECONTRAT#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_TYPECONTRAT#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Type contrat. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'type_contrat_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'TYPE_CONTRAT='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_types_contrat_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_types_contrat t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- Codes emploi
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_CODEEMPLOI#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_CODEEMPLOI#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Code emploi. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'code_emploi_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'CODE_EMPLOI='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_codes_emploi_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_codes_emploi t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- Type temps de travail.
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_TYPETEMPSW#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_TYPETEMPSW#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Type tps trav.. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'type_temps_travail_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'TYPE_TEMPS_TRAVAIL='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_types_temps_travail_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_types_temps_travail t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- Types horaire
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_TYPEHORAIRE#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_TYPEHORAIRE#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Type horaire. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'type_horaire_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'TYPE_HORAIRE='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_types_horaire_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_types_horaire t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- Spécialités
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_SPECIALITE#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_SPECIALITE#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Spécialité. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'specialite_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'SPECIALITE='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_specialites_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_specialites t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- Salarié
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_SALARIE#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_SALARIE#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Salarié. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'salarie_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'SALARIE='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN COALESCE('LI#'||t_listes.code,v_source.oid)
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN COALESCE('SL#'||t_listes.code,v_source.oid)
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_salaries_2 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3) AND
|
|
|
t_listes.code <> ''
|
|
|
LEFT JOIN rh.p_salaries t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE 1=1
|
|
|
AND v_source.oid NOT LIKE 'LC%'
|
|
|
AND v_source.oid NOT LIKE 'DT%'
|
|
|
AND (1!=1
|
|
|
OR v_source.oid NOT LIKE 'LS%'
|
|
|
OR substr(v_source.oid, 5) != '0')
|
|
|
AND v_source.oid != '-1'
|
|
|
;
|
|
|
|
|
|
-- Sexe
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_SEXE#DT1'::text AS code,
|
|
|
'CTI_SEXE#DT1'::text AS condition_code,
|
|
|
'CTI_SEXE#'::text AS category_id,
|
|
|
'Sexe masculin' AS texte,
|
|
|
'Sexe masculin'::text AS texte_court,
|
|
|
'sexe_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
'DT1'::text AS value,
|
|
|
'SEXE=DT1' AS view_select_rule,
|
|
|
ARRAY[
|
|
|
'9' ,
|
|
|
'DT#1'
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
'Valeurs',
|
|
|
'Sexe masculin'
|
|
|
] AS arbre_texte
|
|
|
|
|
|
;
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_SEXE#DT2'::text AS code,
|
|
|
'CTI_SEXE#DT2'::text AS condition_code,
|
|
|
'CTI_SEXE#'::text AS category_id,
|
|
|
'Sexe féminin' AS texte,
|
|
|
'Sexe féminin'::text AS texte_court,
|
|
|
'sexe_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
'DT2'::text AS value,
|
|
|
'SEXE=DT2' AS view_select_rule,
|
|
|
ARRAY[
|
|
|
'9' ,
|
|
|
'DT#2'
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
'Valeurs',
|
|
|
'Sexe féminin'
|
|
|
] AS arbre_texte
|
|
|
|
|
|
;
|
|
|
|
|
|
-- Ages
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_AGE#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_AGE#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Age. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'age_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'AGE='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_ages_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN base.t_ages t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- Ancienneté
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_ANCIENNETE#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_ANCIENNETE#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Ancienneté. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'rhp_anciennete_annee_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'ANCIENNETE='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_anciennetes_annee_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_anciennetes_annee t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- nationalité
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_NATIONALITE#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_NATIONALITE#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Nationalité. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'nationalite_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'NATIONALITE='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_nationalites_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_nationalites t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- Motif début
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_MOTIFDEBUTCONTRAT#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_MOTIFDEBUTCONTRAT#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Motif début de contrat. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'motif_debut_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'MOTIF_DEBUT_CONTRAT='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_motifs_debut_contrat_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_motifs_debut_contrat t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- Motif fin
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_MOTIFFINCONTRAT#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_MOTIFFINCONTRAT#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Motif fin de contrat. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'motif_fin_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'MOTIF_FIN_CONTRAT='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_motifs_fin_contrat_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_motifs_fin_contrat t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- Rubriques
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_RUBRIQUE#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_RUBRIQUE#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Rubrique. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'rubrique_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'RUBRIQUE='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
v_source.texte
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_rubriques_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_rubriques t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
|
|
|
-- motifs arret
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_MOTIF_ARRET#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_MOTIF_ARRET#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Motif. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'motif_arret_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'MOTIF_ARRET='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
v_source.texte
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_motifs_arret_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_motifs_arret t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- Statuts
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_STATUT#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_STATUT#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'Statut. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'statut_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'STATUT='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_statuts_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_statuts t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
-- CSP
|
|
|
|
|
|
INSERT INTO w_indicateur_condition
|
|
|
SELECT
|
|
|
'CTI_CSP#' || v_source.oid::text AS code,
|
|
|
v_source.code as condition_code,
|
|
|
'CTI_CSP#' ||
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN 'DT#'
|
|
|
ELSE '###' END AS category_id,
|
|
|
COALESCE(t_classes.texte || '. ' || t_classes_sections.texte,'CSP. ' || v_source.texte::text) AS texte,
|
|
|
v_source.texte AS texte_court,
|
|
|
'categorie_socio_professionnelle_id'::text AS column_name,
|
|
|
''::text AS rule,
|
|
|
v_source.oid::text AS value,
|
|
|
'CSP='||v_source.oid AS view_select_rule,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN '1-Classe' || substr(v_source.oid,3,2)
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '2-Liste CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN '3-Liste CTI'
|
|
|
ELSE '9' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN 'LS#'||t_listes_tables_classes.code||':'||CASE WHEN t_classes.code <> '' THEN t_classes.code ELSE '*CLS'||to_char(t_classes.sequence,'FM00') END||':'||t_classes_sections.code
|
|
|
WHEN v_source.oid LIKE 'LI%' THEN 'LI#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'SL%' THEN 'SL#'||t_listes_tables_listes.code||':'||CASE WHEN t_listes.code <> '' THEN t_listes.code ELSE '*TXT:'||upper(t_listes.texte) END
|
|
|
WHEN v_source.oid LIKE 'DT%' THEN COALESCE('DT#'||t_source.code,v_source.oid)
|
|
|
ELSE '###'||v_source.oid END
|
|
|
|
|
|
] AS arbre_code,
|
|
|
ARRAY[
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes.texte
|
|
|
WHEN v_source.is_cti = '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes CTI'
|
|
|
WHEN v_source.is_cti <> '1' AND (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') THEN 'Listes Etablissement'
|
|
|
ELSE 'Valeurs' END,
|
|
|
CASE
|
|
|
WHEN v_source.oid LIKE 'LS%' THEN t_classes_sections.texte
|
|
|
ELSE v_source.texte END
|
|
|
] AS arbre_texte
|
|
|
FROM rh.v_categories_socio_professionnelle_1 v_source
|
|
|
LEFT JOIN rh.t_classes_sections ON v_source.oid LIKE 'LS%' AND
|
|
|
t_classes_sections.oid::text = substr(v_source.oid,5)
|
|
|
LEFT JOIN rh.t_classes ON t_classes.oid = t_classes_sections.classe_id
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_classes ON t_classes.table_id = t_listes_tables_classes.oid
|
|
|
LEFT JOIN rh.t_listes ON (v_source.oid LIKE 'LI%' OR v_source.oid LIKE 'SL%') AND
|
|
|
t_listes.oid::text = substr(v_source.oid,3)
|
|
|
LEFT JOIN rh.t_listes_tables t_listes_tables_listes ON t_listes.table_id = t_listes_tables_listes.oid
|
|
|
LEFT JOIN rh.t_categories_socio_professionnelle t_source ON v_source.oid LIKE 'DT%' AND t_source.oid = substr(v_source.oid,3)
|
|
|
WHERE v_source.oid NOT LIKE 'LC%' AND
|
|
|
(v_source.oid NOT LIKE 'LS%' OR substr(v_source.oid,5) <> '0') AND
|
|
|
v_source.oid <> '-1'
|
|
|
;
|
|
|
|
|
|
INSERT INTO rh.t_indicateur_condition(code, texte,texte_court,column_name,rule,value,view_select_rule, arbre_code, arbre_texte, condition_code, category_id)
|
|
|
SELECT code, texte,texte_court,column_name,rule,value,view_select_rule, arbre_code, arbre_texte, condition_code, category_id
|
|
|
FROM w_indicateur_condition
|
|
|
WHERE code NOT IN (SELECT code FROM rh.t_indicateur_condition WHERE code IS NOT NULL)
|
|
|
;
|
|
|
|
|
|
UPDATE rh.t_indicateur_condition SET
|
|
|
texte = w_indicateur_condition.texte,
|
|
|
texte_court = w_indicateur_condition.texte_court,
|
|
|
column_name = w_indicateur_condition.column_name,
|
|
|
rule = w_indicateur_condition.rule,
|
|
|
value = w_indicateur_condition.value,
|
|
|
view_select_rule = w_indicateur_condition.view_select_rule,
|
|
|
arbre_code = w_indicateur_condition.arbre_code,
|
|
|
arbre_texte = w_indicateur_condition.arbre_texte,
|
|
|
condition_code = w_indicateur_condition.condition_code,
|
|
|
category_id = w_indicateur_condition.category_id
|
|
|
FROM w_indicateur_condition
|
|
|
WHERE w_indicateur_condition.code = t_indicateur_condition.code AND
|
|
|
(
|
|
|
t_indicateur_condition.texte IS DISTINCT FROM w_indicateur_condition.texte OR
|
|
|
t_indicateur_condition.texte_court IS DISTINCT FROM w_indicateur_condition.texte_court OR
|
|
|
t_indicateur_condition.column_name IS DISTINCT FROM w_indicateur_condition.column_name OR
|
|
|
t_indicateur_condition.rule IS DISTINCT FROM w_indicateur_condition.rule OR
|
|
|
t_indicateur_condition.value IS DISTINCT FROM w_indicateur_condition.value OR
|
|
|
t_indicateur_condition.view_select_rule IS DISTINCT FROM w_indicateur_condition.view_select_rule OR
|
|
|
t_indicateur_condition.arbre_code IS DISTINCT FROM w_indicateur_condition.arbre_code OR
|
|
|
t_indicateur_condition.arbre_texte IS DISTINCT FROM w_indicateur_condition.arbre_texte OR
|
|
|
t_indicateur_condition.condition_code IS DISTINCT FROM w_indicateur_condition.condition_code OR
|
|
|
t_indicateur_condition.category_id IS DISTINCT FROM w_indicateur_condition.category_id
|
|
|
)
|
|
|
;
|
|
|
|
|
|
WITH toto as (
|
|
|
SELECT
|
|
|
oid,
|
|
|
split_part(code, '#', 1)
|
|
|
||'#'
|
|
|
||arbre_code[2]
|
|
|
as new_external_code
|
|
|
FROM rh.t_indicateur_condition
|
|
|
)
|
|
|
UPDATE rh.t_indicateur_condition SET
|
|
|
external_code = new_external_code
|
|
|
FROM toto
|
|
|
WHERE 1=1
|
|
|
and t_indicateur_condition.oid = toto.oid
|
|
|
and external_code IS DISTINCT FROM new_external_code
|
|
|
;
|
|
|
|
|
|
WITH external_code2 as (
|
|
|
SELECT
|
|
|
oid,
|
|
|
split_part(code, '#', 1)
|
|
|
||'#'
|
|
|
||arbre_code[2]
|
|
|
as new_external_code2
|
|
|
FROM rh.t_indicateur_condition
|
|
|
)
|
|
|
UPDATE rh.t_indicateur_condition SET
|
|
|
external_code2 = new_external_code2
|
|
|
FROM external_code2
|
|
|
WHERE 1=1
|
|
|
and t_indicateur_condition.oid = external_code2.oid
|
|
|
and external_code2 IS DISTINCT FROM new_external_code2
|
|
|
;
|
|
|
|
|
|
DELETE FROM rh.t_indicateur_condition
|
|
|
WHERE code LIKE 'CTI%' AND
|
|
|
code NOT IN (SELECT code FROM w_indicateur_condition)
|
|
|
;
|
|
|
|
|
|
UPDATE rh.t_indicateur_condition SET
|
|
|
column_texte = CASE column_name
|
|
|
WHEN 'rhp_entreprise_id' THEN 'Entreprise'
|
|
|
WHEN 'rhp_etablissement_id' THEN 'Etablissement'
|
|
|
ELSE replace(Upper(substr(split_part(column_name,'_id',1),1,1)) || substr(split_part(column_name,'_id',1),2),'_',' ') END
|
|
|
WHERE
|
|
|
column_texte IS DISTINCT FROM
|
|
|
CASE column_name
|
|
|
WHEN 'rhp_entreprise_id' THEN 'Entreprise'
|
|
|
WHEN 'rhp_etablissement_id' THEN 'Etablissement'
|
|
|
ELSE replace(Upper(substr(split_part(column_name,'_id',1),1,1)) || substr(split_part(column_name,'_id',1),2),'_',' ') END
|
|
|
;
|
|
|
|
|
|
DROP TABLE IF EXISTS w_indicateur_condition_table;
|
|
|
CREATE TEMP TABLE w_indicateur_condition_table AS
|
|
|
SELECT t_indicateur_condition.oid AS indicateur_condition_id,
|
|
|
''::text As table_name,
|
|
|
t_indicateur_condition.column_name || ' ' ||
|
|
|
CASE
|
|
|
WHEN t_indicateur_condition.value LIKE 'LS%' THEN '= ANY(ARRAY'
|
|
|
WHEN t_indicateur_condition.value LIKE 'LI%' THEN '= ANY(ARRAY'
|
|
|
WHEN t_indicateur_condition.value LIKE 'SL%' THEN '<> ALL(ARRAY'
|
|
|
WHEN t_indicateur_condition.value LIKE 'DT%' THEN '='
|
|
|
ELSE '='
|
|
|
END || ' ' ||
|
|
|
CASE
|
|
|
WHEN t_indicateur_condition.value LIKE 'LS%' THEN
|
|
|
'(SELECT to_id FROM rh.t_classes_sections_elements WHERE section_id = ' || substr(value,5) || ')'
|
|
|
WHEN t_indicateur_condition.value LIKE 'LI%' THEN
|
|
|
'(SELECT to_id FROM rh.t_listes_contenu WHERE liste_id = ' || substr(value,3) || ')'
|
|
|
WHEN t_indicateur_condition.value LIKE 'SL%' THEN
|
|
|
'(SELECT to_id FROM rh.t_listes_contenu WHERE liste_id = ' || substr(value,3) || ')'
|
|
|
WHEN t_indicateur_condition.value LIKE 'DT%' THEN
|
|
|
substr(value,3)
|
|
|
ELSE substr(value,3)
|
|
|
END || ' ' ||
|
|
|
CASE
|
|
|
WHEN t_indicateur_condition.value LIKE 'LS%' THEN ')'
|
|
|
WHEN t_indicateur_condition.value LIKE 'LI%' THEN ')'
|
|
|
WHEN t_indicateur_condition.value LIKE 'SL%' THEN ')'
|
|
|
ELSE ''
|
|
|
END AS check_where
|
|
|
FROM rh.t_indicateur_condition
|
|
|
WHERE t_indicateur_condition.code LIKE 'CTI%'
|
|
|
;
|
|
|
|
|
|
INSERT INTO w_indicateur_condition_table
|
|
|
SELECT t_indicateur_condition.oid AS indicateur_condition_id,
|
|
|
'v_arrets_travail_mois_1'::text As table_name,
|
|
|
''::text AS check_where
|
|
|
FROM rh.t_indicateur_condition
|
|
|
WHERE t_indicateur_condition.code LIKE 'CTI%' AND
|
|
|
column_name IN ('rubrique_id')
|
|
|
;
|
|
|
INSERT INTO w_indicateur_condition_table
|
|
|
SELECT t_indicateur_condition.oid AS indicateur_condition_id,
|
|
|
'v_contrats_mois_1'::text As table_name,
|
|
|
''::text AS check_where
|
|
|
FROM rh.t_indicateur_condition
|
|
|
WHERE t_indicateur_condition.code LIKE 'CTI%' AND
|
|
|
column_name IN ('rubrique_id')
|
|
|
;
|
|
|
INSERT INTO w_indicateur_condition_table
|
|
|
SELECT t_indicateur_condition.oid AS indicateur_condition_id,
|
|
|
'v_contrats_mois_1'::text As table_name,
|
|
|
''::text AS check_where
|
|
|
FROM rh.t_indicateur_condition
|
|
|
WHERE t_indicateur_condition.code LIKE 'CTI%' AND
|
|
|
column_name IN ('rhp_planning_qualification_id', 'rhp_planning_service_id')
|
|
|
;
|
|
|
INSERT INTO w_indicateur_condition_table
|
|
|
SELECT t_indicateur_condition.oid AS indicateur_condition_id,
|
|
|
'v_arrets_travail_mois_1'::text As table_name,
|
|
|
''::text AS check_where
|
|
|
FROM rh.t_indicateur_condition
|
|
|
WHERE t_indicateur_condition.code LIKE 'CTI%' AND
|
|
|
column_name IN ('rhp_planning_qualification_id', 'rhp_planning_service_id')
|
|
|
;
|
|
|
INSERT INTO w_indicateur_condition_table
|
|
|
SELECT t_indicateur_condition.oid AS indicateur_condition_id,
|
|
|
'v_historique_paie_1'::text As table_name,
|
|
|
''::text AS check_where
|
|
|
FROM rh.t_indicateur_condition
|
|
|
WHERE t_indicateur_condition.code LIKE 'CTI%' AND
|
|
|
column_name IN ('rhp_planning_qualification_id', 'rhp_planning_service_id')
|
|
|
;
|
|
|
INSERT INTO w_indicateur_condition_table
|
|
|
SELECT t_indicateur_condition.oid AS indicateur_condition_id,
|
|
|
'CALENDRIER'::text As table_name,
|
|
|
''::text AS check_where
|
|
|
FROM rh.t_indicateur_condition
|
|
|
;
|
|
|
INSERT INTO w_indicateur_condition_table
|
|
|
SELECT t_indicateur_condition.oid AS indicateur_condition_id,
|
|
|
'BUDGET_RH'::text As table_name,
|
|
|
'1<>1' AS check_where
|
|
|
FROM rh.t_indicateur_condition
|
|
|
WHERE t_indicateur_condition.code LIKE 'CTI%' AND
|
|
|
column_name NOT IN ('rhp_budget_cle_id')
|
|
|
;
|
|
|
|
|
|
ANALYSE w_indicateur_condition_table
|
|
|
;
|
|
|
|
|
|
|
|
|
INSERT INTO rh.t_indicateur_condition_table(indicateur_condition_id, table_name, check_where)
|
|
|
SELECT w_indicateur_condition_table.indicateur_condition_id, w_indicateur_condition_table.table_name, w_indicateur_condition_table.check_where
|
|
|
FROM w_indicateur_condition_table
|
|
|
LEFT JOIN rh.t_indicateur_condition_table ON
|
|
|
w_indicateur_condition_table.indicateur_condition_id = t_indicateur_condition_table.indicateur_condition_id AND
|
|
|
w_indicateur_condition_table.table_name = t_indicateur_condition_table.table_name
|
|
|
WHERE t_indicateur_condition_table.indicateur_condition_id IS NULL
|
|
|
;
|
|
|
|
|
|
|
|
|
UPDATE rh.t_indicateur_condition_table SET
|
|
|
check_where = w_indicateur_condition_table.check_where
|
|
|
FROM w_indicateur_condition_table
|
|
|
WHERE t_indicateur_condition_table.indicateur_condition_id = w_indicateur_condition_table.indicateur_condition_id AND
|
|
|
t_indicateur_condition_table.table_name = w_indicateur_condition_table.table_name AND
|
|
|
(
|
|
|
t_indicateur_condition_table.check_where IS DISTINCT FROM w_indicateur_condition_table.check_where
|
|
|
)
|
|
|
;
|
|
|
|
|
|
DELETE FROM rh.t_indicateur_condition_table
|
|
|
USING
|
|
|
(
|
|
|
SELECT t_indicateur_condition_table.indicateur_condition_id, t_indicateur_condition_table.table_name, t_indicateur_condition_table.check_where
|
|
|
FROM rh.t_indicateur_condition_table
|
|
|
LEFT JOIN w_indicateur_condition_table ON
|
|
|
w_indicateur_condition_table.indicateur_condition_id = t_indicateur_condition_table.indicateur_condition_id AND
|
|
|
w_indicateur_condition_table.table_name = t_indicateur_condition_table.table_name
|
|
|
WHERE w_indicateur_condition_table.indicateur_condition_id IS NULL
|
|
|
) subview
|
|
|
WHERE t_indicateur_condition_table.indicateur_condition_id = subview.indicateur_condition_id AND
|
|
|
t_indicateur_condition_table.table_name = subview.table_name
|
|
|
;
|
|
|
|
|
|
|
|
|
|
|
|
RETURN 'OK';
|
|
|
|
|
|
END;
|