pour déploiement auto v2 via gitlab
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

80 lines
3.4 KiB

return: text
lang: plpgsql
parameters:
p0:
type: text
name: i_column_name
src: |
DECLARE
to_column_name text;
listeString text;
listeCode text;
d int;
f int;
l int;
BEGIN
to_column_name = i_column_name;
d = strpos(to_column_name,'[LISTE:');
IF (d > 0) THEN
f = strpos(to_column_name,']');
IF (f > 0) THEN
l = f - d + 1;
listeString = substr(to_column_name, d, l);
listeCode = substr(listeString, 8, length(listeString) - 8);
to_column_name = replace(to_column_name, listeString, '(SELECT to_id FROM pmsi.t_listes JOIN pmsi.t_listes_contenu ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = ''' || listeCode || ''')');
END IF;
END IF;
d = strpos(to_column_name,'[LISTE:');
IF (d > 0) THEN
f = strpos(to_column_name,']');
IF (f > 0) THEN
l = f - d + 1;
listeString = substr(to_column_name, d, l);
listeCode = substr(listeString, 8, length(listeString) - 8);
to_column_name = replace(to_column_name, listeString, '(SELECT to_id FROM pmsi.t_listes JOIN pmsi.t_listes_contenu ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = ''' || listeCode || ''')');
END IF;
END IF;
d = strpos(to_column_name,'[LISTE:');
IF (d > 0) THEN
f = strpos(to_column_name,']');
IF (f > 0) THEN
l = f - d + 1;
listeString = substr(to_column_name, d, l);
listeCode = substr(listeString, 8, length(listeString) - 8);
to_column_name = replace(to_column_name, listeString, '(SELECT to_id FROM pmsi.t_listes JOIN pmsi.t_listes_contenu ON t_listes.oid = t_listes_contenu.liste_id WHERE t_listes.code = ''' || listeCode || ''')');
END IF;
END IF;
d = strpos(to_column_name,'[CLASSE:');
IF (d > 0) THEN
f = strpos(to_column_name,']');
IF (f > 0) THEN
l = f - d + 1;
listeString = substr(to_column_name, d, l);
listeCode = substr(listeString, 9, length(listeString) - 9);
to_column_name = replace(to_column_name, listeString, '(SELECT to_id FROM pmsi.t_classes JOIN pmsi.t_classes_sections ON classe_id = t_classes.oid JOIN pmsi.t_classes_sections_elements ON section_id = t_classes_sections.oid WHERE t_classes.code || '':'' || t_classes_sections.code = ''' || listeCode || ''')');
END IF;
END IF;
d = strpos(to_column_name,'[CLASSE:');
IF (d > 0) THEN
f = strpos(to_column_name,']');
IF (f > 0) THEN
l = f - d + 1;
listeString = substr(to_column_name, d, l);
listeCode = substr(listeString, 9, length(listeString) - 9);
to_column_name = replace(to_column_name, listeString, '(SELECT to_id FROM pmsi.t_classes JOIN pmsi.t_classes_sections ON classe_id = t_classes.oid JOIN pmsi.t_classes_sections_elements ON section_id = t_classes_sections.oid WHERE t_classes.code || '':'' || t_classes_sections.code = ''' || listeCode || ''')');
END IF;
END IF;
d = strpos(to_column_name,'[CLASSE:');
IF (d > 0) THEN
f = strpos(to_column_name,']');
IF (f > 0) THEN
l = f - d + 1;
listeString = substr(to_column_name, d, l);
listeCode = substr(listeString, 9, length(listeString) - 9);
to_column_name = replace(to_column_name, listeString, '(SELECT to_id FROM pmsi.t_classes JOIN pmsi.t_classes_sections ON classe_id = t_classes.oid JOIN pmsi.t_classes_sections_elements ON section_id = t_classes_sections.oid WHERE t_classes.code || '':'' || t_classes_sections.code = ''' || listeCode || ''')');
END IF;
END IF;
RETURN to_column_name;
END;