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.
 
 

61 lines
1.6 KiB

return: date
lang: plpgsql
parameters:
p0:
type: text
name: i_code
p1:
type: text
name: i_option
src: |
DECLARE
_code text;
_option text;
_now date;
BEGIN
_code = i_code;
IF _code NOT IN ('NOW', 'NOWCLOTURE') THEN
_code = 'NOW';
END IF;
_option = i_option;
IF NOT EXISTS (SELECT * FROM pmsi.t_divers WHERE code = _code) THEN
_option = 'FORCE';
END IF;
IF _option = 'FORCE' THEN
_now =
CASE _code
WHEN 'NOW' THEN
(SELECT MAX(date_sortie) FROM pmsi.p_rss WHERE date_sortie <= date(now()) )
WHEN 'NOWCLOTURE' THEN
(SELECT date(date_trunc('month',MAX(date_sortie)) + interval '1 month' - interval '1 day') FROM pmsi.p_rss WHERE date_sortie <= date(now()) AND en_cours = '0' AND ghm_id > 0 AND etat = '' )
ELSE date(now())
END;
UPDATE pmsi.t_divers SET
texte = CASE _code
WHEN 'NOW' THEN 'Dernier import fil de l''eau'
WHEN 'NOWCLOTURE' THEN 'Dernier import e-PMSI'
ELSE 'Dernier import fil de l''eau'
END,
valeur = _now::text,
valeur_date = _now,
show_info_module = true
WHERE code = _code;
INSERT INTO pmsi.t_divers (code, texte, valeur, valeur_date, description, show_info_module)
SELECT
_code,
CASE _code
WHEN 'NOW' THEN 'Dernier import fil de l''eau'
WHEN 'NOWCLOTURE' THEN 'Dernier import e-PMSI'
ELSE 'Dernier import fil de l''eau'
END,
_now::text,
_now,
'Date non modifiable',
true
WHERE _code NOT IN (SELECT code FROM pmsi.t_divers);
ELSE
_now = (SELECT valeur_date FROM pmsi.t_divers WHERE code = _code);
END IF;
RETURN _now;
END;