|
|
src: |
|
|
|
WITH ctl_dates AS (
|
|
|
SELECT subq.now,
|
|
|
to_char(subq.now::timestamp with time zone, 'DD/MM/YYYY'::text) AS now_l,
|
|
|
subq.nowcloture,
|
|
|
(subq.now - '6 days'::interval)::date AS now_7,
|
|
|
date_trunc('YEAR'::text, subq.nowcloture::timestamp with time zone)::date AS first_day_current_year,
|
|
|
CASE subq.nowcloture
|
|
|
WHEN (date_trunc('MONTH'::text, subq.nowcloture::timestamp with time zone)::date + '1 mon -1 days'::interval)::date THEN subq.nowcloture
|
|
|
ELSE (date_trunc('MONTH'::text, subq.nowcloture::timestamp with time zone)::date - '1 day'::interval)::date
|
|
|
END AS last_day_of_last_month,
|
|
|
CASE to_char(subq.nowcloture::timestamp with time zone, 'ID'::text)
|
|
|
WHEN '7'::text THEN subq.nowcloture::timestamp without time zone
|
|
|
ELSE to_date(to_char(subq.nowcloture::timestamp with time zone, 'IYYYIW'::text) || '7'::text, 'IYYYIWID'::text) - '7 days'::interval
|
|
|
END::date AS last_day_of_last_week,
|
|
|
to_date(to_char(subq.nowcloture - ((
|
|
|
CASE to_char(subq.nowcloture::timestamp with time zone, 'ID'::text)
|
|
|
WHEN '7'::text THEN '-1'::text
|
|
|
ELSE '0'::text
|
|
|
END || ' week'::text)::interval), 'IYYYIW'::text) || '7'::text, 'IYYYIWID'::text) AS last_day_of_week_0,
|
|
|
to_char(to_date(to_char(subq.nowcloture - ((
|
|
|
CASE to_char(subq.nowcloture::timestamp with time zone, 'ID'::text)
|
|
|
WHEN '7'::text THEN '-1'::text
|
|
|
ELSE '0'::text
|
|
|
END || ' week'::text)::interval), 'IYYYIW'::text) || '7'::text, 'IYYYIWID'::text)::timestamp with time zone, 'DD/MM/YYYY'::text) AS last_day_of_weekn_0,
|
|
|
to_date(to_char(subq.nowcloture - ((
|
|
|
CASE to_char(subq.nowcloture::timestamp with time zone, 'ID'::text)
|
|
|
WHEN '7'::text THEN '0'::text
|
|
|
ELSE '1'::text
|
|
|
END || ' week'::text)::interval), 'IYYYIW'::text) || '7'::text, 'IYYYIWID'::text) AS last_day_of_week_1,
|
|
|
to_char(to_date(to_char(subq.nowcloture - ((
|
|
|
CASE to_char(subq.nowcloture::timestamp with time zone, 'ID'::text)
|
|
|
WHEN '7'::text THEN '0'::text
|
|
|
ELSE '1'::text
|
|
|
END || ' week'::text)::interval), 'IYYYIW'::text) || '7'::text, 'IYYYIWID'::text)::timestamp with time zone, 'DD/MM/YYYY'::text) AS last_day_of_weekn_1,
|
|
|
to_date(to_char(subq.nowcloture - ((
|
|
|
CASE to_char(subq.nowcloture::timestamp with time zone, 'ID'::text)
|
|
|
WHEN '7'::text THEN '1'::text
|
|
|
ELSE '2'::text
|
|
|
END || ' week'::text)::interval), 'IYYYIW'::text) || '7'::text, 'IYYYIWID'::text) AS last_day_of_week_2,
|
|
|
to_char(to_date(to_char(subq.nowcloture - ((
|
|
|
CASE to_char(subq.nowcloture::timestamp with time zone, 'ID'::text)
|
|
|
WHEN '7'::text THEN '1'::text
|
|
|
ELSE '2'::text
|
|
|
END || ' week'::text)::interval), 'IYYYIW'::text) || '7'::text, 'IYYYIWID'::text)::timestamp with time zone, 'DD/MM/YYYY'::text) AS last_day_of_weekn_2,
|
|
|
to_date(to_char(subq.nowcloture - ((
|
|
|
CASE to_char(subq.nowcloture::timestamp with time zone, 'ID'::text)
|
|
|
WHEN '7'::text THEN '2'::text
|
|
|
ELSE '3'::text
|
|
|
END || ' week'::text)::interval), 'IYYYIW'::text) || '7'::text, 'IYYYIWID'::text) AS last_day_of_week_3,
|
|
|
to_char(to_date(to_char(subq.nowcloture - ((
|
|
|
CASE to_char(subq.nowcloture::timestamp with time zone, 'ID'::text)
|
|
|
WHEN '7'::text THEN '2'::text
|
|
|
ELSE '3'::text
|
|
|
END || ' week'::text)::interval), 'IYYYIW'::text) || '7'::text, 'IYYYIWID'::text)::timestamp with time zone, 'DD/MM/YYYY'::text) AS last_day_of_weekn_3,
|
|
|
to_date(to_char(subq.nowcloture - ((
|
|
|
CASE to_char(subq.nowcloture::timestamp with time zone, 'ID'::text)
|
|
|
WHEN '7'::text THEN '3'::text
|
|
|
ELSE '4'::text
|
|
|
END || ' week'::text)::interval), 'IYYYIW'::text) || '7'::text, 'IYYYIWID'::text) AS last_day_of_week_4,
|
|
|
to_char(to_date(to_char(subq.nowcloture - ((
|
|
|
CASE to_char(subq.nowcloture::timestamp with time zone, 'ID'::text)
|
|
|
WHEN '7'::text THEN '3'::text
|
|
|
ELSE '4'::text
|
|
|
END || ' week'::text)::interval), 'IYYYIW'::text) || '7'::text, 'IYYYIWID'::text)::timestamp with time zone, 'DD/MM/YYYY'::text) AS last_day_of_weekn_4,
|
|
|
CASE
|
|
|
WHEN to_char(subq.nowcloture::timestamp with time zone, 'DD'::text) = base.cti_last_day(subq.nowcloture)::text THEN subq.nowcloture
|
|
|
WHEN to_char(subq.nowcloture::timestamp with time zone, 'DD'::text) >= 20::text THEN to_date(to_char(subq.nowcloture::timestamp with time zone, 'YYYYMM'::text) || '20'::text, 'YYYYMMDD'::text)
|
|
|
WHEN to_char(subq.nowcloture::timestamp with time zone, 'DD'::text) >= 10::text THEN to_date(to_char(subq.nowcloture::timestamp with time zone, 'YYYYMM'::text) || '10'::text, 'YYYYMMDD'::text)
|
|
|
ELSE base.cti_last_day((subq.nowcloture - '1 mon'::interval)::date)
|
|
|
END AS decade_last,
|
|
|
base.cti_last_day(subq.nowcloture) AS decade_0,
|
|
|
to_date(to_char(subq.nowcloture::timestamp with time zone, 'YYYYMM'::text) || '20'::text, 'YYYYMMDD'::text) AS decade_1,
|
|
|
to_date(to_char(subq.nowcloture::timestamp with time zone, 'YYYYMM'::text) || '10'::text, 'YYYYMMDD'::text) AS decade_2,
|
|
|
base.cti_last_day((subq.nowcloture - '1 mon'::interval)::date) AS decade_3,
|
|
|
to_date(to_char(subq.nowcloture - '1 mon'::interval, 'YYYYMM'::text) || '20'::text, 'YYYYMMDD'::text) AS decade_4,
|
|
|
to_date(to_char(subq.nowcloture - '1 mon'::interval, 'YYYYMM'::text) || '10'::text, 'YYYYMMDD'::text) AS decade_5,
|
|
|
base.cti_last_day((subq.nowcloture - '2 mons'::interval)::date) AS decade_6,
|
|
|
to_char(base.cti_last_day(subq.nowcloture)::timestamp with time zone, 'DD/MM/YYYY'::text) AS decade_0_l,
|
|
|
to_char(to_date(to_char(subq.nowcloture::timestamp with time zone, 'YYYYMM'::text) || '20'::text, 'YYYYMMDD'::text)::timestamp with time zone, 'DD/MM/YYYY'::text) AS decade_1_l,
|
|
|
to_char(to_date(to_char(subq.nowcloture::timestamp with time zone, 'YYYYMM'::text) || '10'::text, 'YYYYMMDD'::text)::timestamp with time zone, 'DD/MM/YYYY'::text) AS decade_2_l,
|
|
|
to_char(base.cti_last_day((subq.nowcloture - '1 mon'::interval)::date)::timestamp with time zone, 'DD/MM/YYYY'::text) AS decade_3_l,
|
|
|
to_char(to_date(to_char(subq.nowcloture - '1 mon'::interval, 'YYYYMM'::text) || '20'::text, 'YYYYMMDD'::text)::timestamp with time zone, 'DD/MM/YYYY'::text) AS decade_4_l,
|
|
|
to_char(to_date(to_char(subq.nowcloture - '1 mon'::interval, 'YYYYMM'::text) || '10'::text, 'YYYYMMDD'::text)::timestamp with time zone, 'DD/MM/YYYY'::text) AS decade_5_l,
|
|
|
to_char(base.cti_last_day((subq.nowcloture - '2 mons'::interval)::date)::timestamp with time zone, 'DD/MM/YYYY'::text) AS decade_6_l
|
|
|
FROM ( SELECT max(
|
|
|
CASE
|
|
|
WHEN t_divers.code = 'NOW'::text THEN t_divers.valeur_date
|
|
|
ELSE NULL::date
|
|
|
END) AS now,
|
|
|
max(
|
|
|
CASE
|
|
|
WHEN t_divers.code = 'NOWCLOTURE'::text THEN t_divers.valeur_date
|
|
|
ELSE NULL::date
|
|
|
END) AS nowcloture
|
|
|
FROM pmsi.t_divers
|
|
|
WHERE t_divers.code = ANY (ARRAY['NOW'::character varying::text, 'NOWCLOTURE'::character varying::text])) subq
|
|
|
)
|
|
|
SELECT 1000 AS tri,
|
|
|
1 AS lvl,
|
|
|
'Cumul au dernier mois'::text AS txt,
|
|
|
'CUM_LAST_MONTH'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
ctl_dates.last_day_of_last_month AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 1001 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Janvier à décembre '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '12'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '12'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'CURRENT_YEAR_DEC'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '1201'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 1002 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Janvier à novembre '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '11'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '11'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'CURRENT_YEAR_NOV'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '1101'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 1003 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Janvier à octobre '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '10'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '10'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'CURRENT_YEAR_OCT'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '1001'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 1004 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Janvier à septembre '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '09'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '09'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'CURRENT_YEAR_SEP'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0901'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 1005 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Janvier à août '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '08'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '08'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'CURRENT_YEAR_AUG'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0801'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 1006 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Janvier à juillet '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '07'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '07'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'CURRENT_YEAR_JUL'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0701'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 1007 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Janvier à juin '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '06'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '06'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'CURRENT_YEAR_JUN'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0601'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 1008 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Janvier à mai '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '05'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '05'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'CURRENT_YEAR_MAY'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0501'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 1009 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Janvier à avril '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '04'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '04'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'CURRENT_YEAR_APR'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0401'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 1010 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Janvier à mars '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '03'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '03'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'CURRENT_YEAR_MAR'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0301'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 1011 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Janvier à février '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '02'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '02'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'CURRENT_YEAR_FEB'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0201'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 1012 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Janvier à janvier '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '01'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '01'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'CURRENT_YEAR_JAN'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0101'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 2000 AS tri,
|
|
|
1 AS lvl,
|
|
|
'Cumul à dernière décade'::text AS txt,
|
|
|
'CUM_LAST_DECADE'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
ctl_dates.decade_last AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 2001 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Cumul au '::text || ctl_dates.decade_0_l AS txt,
|
|
|
'CUM_LAST_DECADE_0'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
ctl_dates.decade_0 AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 2002 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Cumul au '::text || ctl_dates.decade_1_l AS txt,
|
|
|
'CUM_LAST_DECADE_1'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
ctl_dates.decade_1 AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 2003 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Cumul au '::text || ctl_dates.decade_2_l AS txt,
|
|
|
'CUM_LAST_DECADE_2'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
ctl_dates.decade_2 AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 2004 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Cumul au '::text || ctl_dates.decade_3_l AS txt,
|
|
|
'CUM_LAST_DECADE_3'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
ctl_dates.decade_3 AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 2005 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Cumul au '::text || ctl_dates.decade_4_l AS txt,
|
|
|
'CUM_LAST_DECADE_4'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
ctl_dates.decade_4 AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 2006 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Cumul au '::text || ctl_dates.decade_5_l AS txt,
|
|
|
'CUM_LAST_DECADE_5'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
ctl_dates.decade_5 AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 2007 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Cumul au '::text || ctl_dates.decade_6_l AS txt,
|
|
|
'CUM_LAST_DECADE_6'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
ctl_dates.decade_6 AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 3000 AS tri,
|
|
|
1 AS lvl,
|
|
|
'Cumul à dernière semaine'::text AS txt,
|
|
|
'CUM_LAST_WEEK'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
ctl_dates.last_day_of_last_week AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 3001 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Cumul au '::text || ctl_dates.last_day_of_weekn_0 AS txt,
|
|
|
'CUM_LAST_MONTH_W0'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
ctl_dates.last_day_of_week_0 AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 3002 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Cumul au '::text || ctl_dates.last_day_of_weekn_1 AS txt,
|
|
|
'CUM_LAST_MONTH_W1'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
ctl_dates.last_day_of_week_1 AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 3003 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Cumul au '::text || ctl_dates.last_day_of_weekn_2 AS txt,
|
|
|
'CUM_LAST_MONTH_W2'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
ctl_dates.last_day_of_week_2 AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 3004 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Cumul au '::text || ctl_dates.last_day_of_weekn_3 AS txt,
|
|
|
'CUM_LAST_MONTH_W3'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
ctl_dates.last_day_of_week_3 AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 3005 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Cumul au '::text || ctl_dates.last_day_of_weekn_4 AS txt,
|
|
|
'CUM_LAST_MONTH_W4'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
ctl_dates.last_day_of_week_4 AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 4000 AS tri,
|
|
|
1 AS lvl,
|
|
|
'Cumul au '::text || ctl_dates.now_l AS txt,
|
|
|
'CUM_NOW'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
ctl_dates.now AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 4500 AS tri,
|
|
|
1 AS lvl,
|
|
|
'12 derniers mois glissants'::text AS txt,
|
|
|
'CUM_LAST_12_MONTH'::text AS cod,
|
|
|
date_trunc('MONTH'::text, ctl_dates.last_day_of_last_month - '11 mons'::interval)::date AS deb,
|
|
|
ctl_dates.last_day_of_last_month AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 4501 AS tri,
|
|
|
2 AS lvl,
|
|
|
(base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '11 mons'::interval), 'Month'::text)) || ' à '::text) || base.cti_to_french(to_char(ctl_dates.nowcloture::timestamp with time zone, 'Month YYYY'::text)) AS txt,
|
|
|
'CUM_LAST_12_MONTH_0'::text AS cod,
|
|
|
date_trunc('MONTH'::text, ctl_dates.nowcloture - '11 mons'::interval)::date AS deb,
|
|
|
base.cti_last_day(ctl_dates.nowcloture) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 4502 AS tri,
|
|
|
2 AS lvl,
|
|
|
(base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year'::interval), 'Month'::text)) || ' à '::text) || base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 mon'::interval), 'Month YYYY'::text)) AS txt,
|
|
|
'CUM_LAST_12_MONTH_1'::text AS cod,
|
|
|
date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year'::interval)::date AS deb,
|
|
|
base.cti_last_day(date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 mon'::interval)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 4503 AS tri,
|
|
|
2 AS lvl,
|
|
|
(base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year 1 mon'::interval), 'Month'::text)) || ' à '::text) || base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '2 mons'::interval), 'Month YYYY'::text)) AS txt,
|
|
|
'CUM_LAST_12_MONTH_2'::text AS cod,
|
|
|
date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year 1 mon'::interval)::date AS deb,
|
|
|
base.cti_last_day(date_trunc('MONTH'::text, ctl_dates.nowcloture - '2 mons'::interval)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 4504 AS tri,
|
|
|
2 AS lvl,
|
|
|
(base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year 2 mons'::interval), 'Month'::text)) || ' à '::text) || base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '3 mons'::interval), 'Month YYYY'::text)) AS txt,
|
|
|
'CUM_LAST_12_MONTH_3'::text AS cod,
|
|
|
date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year 2 mons'::interval)::date AS deb,
|
|
|
base.cti_last_day(date_trunc('MONTH'::text, ctl_dates.nowcloture - '3 mons'::interval)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 4505 AS tri,
|
|
|
2 AS lvl,
|
|
|
(base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year 3 mons'::interval), 'Month'::text)) || ' à '::text) || base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '4 mons'::interval), 'Month YYYY'::text)) AS txt,
|
|
|
'CUM_LAST_12_MONTH_4'::text AS cod,
|
|
|
date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year 3 mons'::interval)::date AS deb,
|
|
|
base.cti_last_day(date_trunc('MONTH'::text, ctl_dates.nowcloture - '4 mons'::interval)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 4506 AS tri,
|
|
|
2 AS lvl,
|
|
|
(base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year 4 mons'::interval), 'Month'::text)) || ' à '::text) || base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '5 mons'::interval), 'Month YYYY'::text)) AS txt,
|
|
|
'CUM_LAST_12_MONTH_5'::text AS cod,
|
|
|
date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year 4 mons'::interval)::date AS deb,
|
|
|
base.cti_last_day(date_trunc('MONTH'::text, ctl_dates.nowcloture - '5 mons'::interval)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 4507 AS tri,
|
|
|
2 AS lvl,
|
|
|
(base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year 5 mons'::interval), 'Month'::text)) || ' à '::text) || base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '6 mons'::interval), 'Month YYYY'::text)) AS txt,
|
|
|
'CUM_LAST_12_MONTH_6'::text AS cod,
|
|
|
date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year 5 mons'::interval)::date AS deb,
|
|
|
base.cti_last_day(date_trunc('MONTH'::text, ctl_dates.nowcloture - '6 mons'::interval)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 4508 AS tri,
|
|
|
2 AS lvl,
|
|
|
(base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year 6 mons'::interval), 'Month'::text)) || ' à '::text) || base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '7 mons'::interval), 'Month YYYY'::text)) AS txt,
|
|
|
'CUM_LAST_12_MONTH_7'::text AS cod,
|
|
|
date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year 6 mons'::interval)::date AS deb,
|
|
|
base.cti_last_day(date_trunc('MONTH'::text, ctl_dates.nowcloture - '7 mons'::interval)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 4509 AS tri,
|
|
|
2 AS lvl,
|
|
|
(base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year 7 mons'::interval), 'Month'::text)) || ' à '::text) || base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '8 mons'::interval), 'Month YYYY'::text)) AS txt,
|
|
|
'CUM_LAST_12_MONTH_8'::text AS cod,
|
|
|
date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year 7 mons'::interval)::date AS deb,
|
|
|
base.cti_last_day(date_trunc('MONTH'::text, ctl_dates.nowcloture - '8 mons'::interval)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 4510 AS tri,
|
|
|
2 AS lvl,
|
|
|
(base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year 8 mons'::interval), 'Month'::text)) || ' à '::text) || base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '9 mons'::interval), 'Month YYYY'::text)) AS txt,
|
|
|
'CUM_LAST_12_MONTH_9'::text AS cod,
|
|
|
date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year 8 mons'::interval)::date AS deb,
|
|
|
base.cti_last_day(date_trunc('MONTH'::text, ctl_dates.nowcloture - '9 mons'::interval)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 4511 AS tri,
|
|
|
2 AS lvl,
|
|
|
(base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year 9 mons'::interval), 'Month'::text)) || ' à '::text) || base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '10 mons'::interval), 'Month YYYY'::text)) AS txt,
|
|
|
'CUM_LAST_12_MONTH_10'::text AS cod,
|
|
|
date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year 9 mons'::interval)::date AS deb,
|
|
|
base.cti_last_day(date_trunc('MONTH'::text, ctl_dates.nowcloture - '10 mons'::interval)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 4512 AS tri,
|
|
|
2 AS lvl,
|
|
|
(base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year 10 mons'::interval), 'Month'::text)) || ' à '::text) || base.cti_to_french(to_char(date_trunc('MONTH'::text, ctl_dates.nowcloture - '11 mons'::interval), 'Month YYYY'::text)) AS txt,
|
|
|
'CUM_LAST_12_MONTH_11'::text AS cod,
|
|
|
date_trunc('MONTH'::text, ctl_dates.nowcloture - '1 year 10 mons'::interval)::date AS deb,
|
|
|
base.cti_last_day(date_trunc('MONTH'::text, ctl_dates.nowcloture - '11 mons'::interval)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 5000 AS tri,
|
|
|
1 AS lvl,
|
|
|
'7 derniers jours'::text AS txt,
|
|
|
'LAST_7_DAYS'::text AS cod,
|
|
|
ctl_dates.now_7 AS deb,
|
|
|
ctl_dates.now AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 7000 AS tri,
|
|
|
1 AS lvl,
|
|
|
'Cumul année précédente'::text AS txt,
|
|
|
'LAST_YEAR'::text AS cod,
|
|
|
(ctl_dates.first_day_current_year - '1 year'::interval)::date AS deb,
|
|
|
(base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '1201'::text)::date) - '1 year'::interval)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 7001 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Janvier à décembre '::text || to_char(ctl_dates.first_day_current_year - '1 year'::interval, 'YYYY'::text) AS txt,
|
|
|
'LAST_YEAR_DEC'::text AS cod,
|
|
|
(ctl_dates.first_day_current_year - '1 year'::interval)::date AS deb,
|
|
|
(base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '1201'::text)::date) - '1 year'::interval)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 7002 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Janvier à novembre '::text || to_char(ctl_dates.first_day_current_year - '1 year'::interval, 'YYYY'::text) AS txt,
|
|
|
'LAST_YEAR_NOV'::text AS cod,
|
|
|
(ctl_dates.first_day_current_year - '1 year'::interval)::date AS deb,
|
|
|
(base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '1101'::text)::date) - '1 year'::interval)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 7003 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Janvier à octobre '::text || to_char(ctl_dates.first_day_current_year - '1 year'::interval, 'YYYY'::text) AS txt,
|
|
|
'LAST_YEAR_OCT'::text AS cod,
|
|
|
(ctl_dates.first_day_current_year - '1 year'::interval)::date AS deb,
|
|
|
(base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '1001'::text)::date) - '1 year'::interval)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 7004 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Janvier à septembre '::text || to_char(ctl_dates.first_day_current_year - '1 year'::interval, 'YYYY'::text) AS txt,
|
|
|
'LAST_YEAR_SEP'::text AS cod,
|
|
|
(ctl_dates.first_day_current_year - '1 year'::interval)::date AS deb,
|
|
|
(base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0901'::text)::date) - '1 year'::interval)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 7005 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Janvier à août '::text || to_char(ctl_dates.first_day_current_year - '1 year'::interval, 'YYYY'::text) AS txt,
|
|
|
'LAST_YEAR_AUG'::text AS cod,
|
|
|
(ctl_dates.first_day_current_year - '1 year'::interval)::date AS deb,
|
|
|
(base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0801'::text)::date) - '1 year'::interval)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 7006 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Janvier à juillet '::text || to_char(ctl_dates.first_day_current_year - '1 year'::interval, 'YYYY'::text) AS txt,
|
|
|
'LAST_YEAR_JUL'::text AS cod,
|
|
|
(ctl_dates.first_day_current_year - '1 year'::interval)::date AS deb,
|
|
|
(base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0701'::text)::date) - '1 year'::interval)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 7007 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Janvier à juin '::text || to_char(ctl_dates.first_day_current_year - '1 year'::interval, 'YYYY'::text) AS txt,
|
|
|
'LAST_YEAR_JUN'::text AS cod,
|
|
|
(ctl_dates.first_day_current_year - '1 year'::interval)::date AS deb,
|
|
|
(base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0601'::text)::date) - '1 year'::interval)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 7008 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Janvier à mai '::text || to_char(ctl_dates.first_day_current_year - '1 year'::interval, 'YYYY'::text) AS txt,
|
|
|
'LAST_YEAR_MAY'::text AS cod,
|
|
|
(ctl_dates.first_day_current_year - '1 year'::interval)::date AS deb,
|
|
|
(base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0501'::text)::date) - '1 year'::interval)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 7009 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Janvier à avril '::text || to_char(ctl_dates.first_day_current_year - '1 year'::interval, 'YYYY'::text) AS txt,
|
|
|
'LAST_YEAR_APR'::text AS cod,
|
|
|
(ctl_dates.first_day_current_year - '1 year'::interval)::date AS deb,
|
|
|
(base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0401'::text)::date) - '1 year'::interval)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 7010 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Janvier à mars '::text || to_char(ctl_dates.first_day_current_year - '1 year'::interval, 'YYYY'::text) AS txt,
|
|
|
'LAST_YEAR_MAR'::text AS cod,
|
|
|
(ctl_dates.first_day_current_year - '1 year'::interval)::date AS deb,
|
|
|
(base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0301'::text)::date) - '1 year'::interval)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 7011 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Janvier à février '::text || to_char(ctl_dates.first_day_current_year - '1 year'::interval, 'YYYY'::text) AS txt,
|
|
|
'LAST_YEAR_FEB'::text AS cod,
|
|
|
(ctl_dates.first_day_current_year - '1 year'::interval)::date AS deb,
|
|
|
(base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0201'::text)::date) - '1 year'::interval)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 7012 AS tri,
|
|
|
2 AS lvl,
|
|
|
'Janvier à janvier '::text || to_char(ctl_dates.first_day_current_year - '1 year'::interval, 'YYYY'::text) AS txt,
|
|
|
'LAST_YEAR_JAN'::text AS cod,
|
|
|
(ctl_dates.first_day_current_year - '1 year'::interval)::date AS deb,
|
|
|
(base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0101'::text)::date) - '1 year'::interval)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 8000 AS tri,
|
|
|
1 AS lvl,
|
|
|
'Dernier semestre'::text AS txt,
|
|
|
'LAST_HALF'::text AS cod,
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text)::integer >= 7 THEN ctl_dates.first_day_current_year
|
|
|
ELSE (to_char(ctl_dates.nowcloture - '1 year'::interval, 'YYYY'::text) || '0701'::text)::date
|
|
|
END AS deb,
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text)::integer >= 7 THEN (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0630'::text)::date
|
|
|
ELSE (to_char(ctl_dates.nowcloture - '1 year'::interval, 'YYYY'::text) || '1231'::text)::date
|
|
|
END AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 8001 AS tri,
|
|
|
2 AS lvl,
|
|
|
'1ème semestre '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) AS txt,
|
|
|
'HALF_1'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
(to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0630'::text)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
WHERE to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text)::integer >= 7
|
|
|
UNION
|
|
|
SELECT 8002 AS tri,
|
|
|
2 AS lvl,
|
|
|
'2ème semestre '::text || to_char(ctl_dates.nowcloture - '1 year'::interval, 'YYYY'::text) AS txt,
|
|
|
'LAST_YEAR_HALF_2'::text AS cod,
|
|
|
(to_char(ctl_dates.nowcloture - '1 year'::interval, 'YYYY'::text) || '0701'::text)::date AS deb,
|
|
|
(to_char(ctl_dates.nowcloture - '1 year'::interval, 'YYYY'::text) || '1231'::text)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 8003 AS tri,
|
|
|
2 AS lvl,
|
|
|
'1er semestre '::text || to_char(ctl_dates.nowcloture - '1 year'::interval, 'YYYY'::text) AS txt,
|
|
|
'LAST_YEAR_HALF_1'::text AS cod,
|
|
|
(to_char(ctl_dates.nowcloture - '1 year'::interval, 'YYYY'::text) || '0101'::text)::date AS deb,
|
|
|
(to_char(ctl_dates.nowcloture - '1 year'::interval, 'YYYY'::text) || '0630'::text)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 9000 AS tri,
|
|
|
1 AS lvl,
|
|
|
'Dernier trimestre'::text AS txt,
|
|
|
'LAST_QUARTER'::text AS cod,
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text)::integer >= 10 THEN (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0701'::text)::date
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text)::integer >= 7 THEN (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0401'::text)::date
|
|
|
ELSE ctl_dates.first_day_current_year
|
|
|
END AS deb,
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text)::integer >= 10 THEN (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0930'::text)::date
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text)::integer >= 7 THEN (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0630'::text)::date
|
|
|
ELSE (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0331'::text)::date
|
|
|
END AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 9002 AS tri,
|
|
|
2 AS lvl,
|
|
|
'3ème trimestre '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) AS txt,
|
|
|
'QUARTER_3'::text AS cod,
|
|
|
(to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0701'::text)::date AS deb,
|
|
|
(to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0930'::text)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 9003 AS tri,
|
|
|
2 AS lvl,
|
|
|
'2ème trimestre '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) AS txt,
|
|
|
'QUARTER_2'::text AS cod,
|
|
|
(to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0401'::text)::date AS deb,
|
|
|
(to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0630'::text)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 9004 AS tri,
|
|
|
2 AS lvl,
|
|
|
'1er trimestre '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) AS txt,
|
|
|
'QUARTER_1'::text AS cod,
|
|
|
ctl_dates.first_day_current_year AS deb,
|
|
|
(to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0331'::text)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 9011 AS tri,
|
|
|
2 AS lvl,
|
|
|
'4ème trimestre '::text || to_char(ctl_dates.nowcloture - '1 year'::interval, 'YYYY'::text) AS txt,
|
|
|
'LAST_YEAR_QUARTER_4'::text AS cod,
|
|
|
(to_char(ctl_dates.nowcloture - '1 year'::interval, 'YYYY'::text) || '1001'::text)::date AS deb,
|
|
|
(to_char(ctl_dates.nowcloture - '1 year'::interval, 'YYYY'::text) || '1231'::text)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 9012 AS tri,
|
|
|
2 AS lvl,
|
|
|
'3ème trimestre '::text || to_char(ctl_dates.nowcloture - '1 year'::interval, 'YYYY'::text) AS txt,
|
|
|
'LAST_YEAR_QUARTER_3'::text AS cod,
|
|
|
(to_char(ctl_dates.nowcloture - '1 year'::interval, 'YYYY'::text) || '0701'::text)::date AS deb,
|
|
|
(to_char(ctl_dates.nowcloture - '1 year'::interval, 'YYYY'::text) || '0930'::text)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 9013 AS tri,
|
|
|
2 AS lvl,
|
|
|
'2ème trimestre '::text || to_char(ctl_dates.nowcloture - '1 year'::interval, 'YYYY'::text) AS txt,
|
|
|
'LAST_YEAR_QUARTER_2'::text AS cod,
|
|
|
(to_char(ctl_dates.nowcloture - '1 year'::interval, 'YYYY'::text) || '0401'::text)::date AS deb,
|
|
|
(to_char(ctl_dates.nowcloture - '1 year'::interval, 'YYYY'::text) || '0630'::text)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 9014 AS tri,
|
|
|
2 AS lvl,
|
|
|
'1er trimestre '::text || to_char(ctl_dates.nowcloture - '1 year'::interval, 'YYYY'::text) AS txt,
|
|
|
'LAST_YEAR_QUARTER_1'::text AS cod,
|
|
|
(to_char(ctl_dates.nowcloture - '1 year'::interval, 'YYYY'::text) || '0101'::text)::date AS deb,
|
|
|
(to_char(ctl_dates.nowcloture - '1 year'::interval, 'YYYY'::text) || '0331'::text)::date AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 10000 AS tri,
|
|
|
1 AS lvl,
|
|
|
'Dernier mois'::text AS txt,
|
|
|
'LAST_MONTH'::text AS cod,
|
|
|
date_trunc('MONTH'::text, ctl_dates.last_day_of_last_month::timestamp with time zone)::date AS deb,
|
|
|
ctl_dates.last_day_of_last_month AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 10001 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Décembre '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '12'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '12'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'MONTH_DEC'::text AS cod,
|
|
|
(to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '1201'::text)::date AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '1201'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 10002 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Novembre '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '11'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '11'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'MONTH_NOV'::text AS cod,
|
|
|
(to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '1101'::text)::date AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '1101'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 10003 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Octobre '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '10'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '10'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'MONTH_OCT'::text AS cod,
|
|
|
(to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '1001'::text)::date AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '1001'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 10004 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Septembre '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '09'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '09'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'MONTH_SEP'::text AS cod,
|
|
|
(to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0901'::text)::date AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0901'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 10005 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Août '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '08'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '08'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'MONTH_AUG'::text AS cod,
|
|
|
(to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0801'::text)::date AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0801'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 10006 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Juillet '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '07'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '07'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'MONTH_JUL'::text AS cod,
|
|
|
(to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0701'::text)::date AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0701'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 10007 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Juin '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '06'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '06'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'MONTH_JUN'::text AS cod,
|
|
|
(to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0601'::text)::date AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0601'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 10008 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Mai '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '05'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '05'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'MONTH_MAY'::text AS cod,
|
|
|
(to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0501'::text)::date AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0501'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 10009 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Avril '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '04'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '04'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'MONTH_APR'::text AS cod,
|
|
|
(to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0401'::text)::date AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0401'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 10010 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Mars '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '03'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '03'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'MONTH_MAR'::text AS cod,
|
|
|
(to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0301'::text)::date AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0301'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 10011 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Février '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '02'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '02'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'MONTH_FEB'::text AS cod,
|
|
|
(to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0201'::text)::date AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0201'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
UNION
|
|
|
SELECT 10012 AS tri,
|
|
|
2 AS lvl,
|
|
|
('Janvier '::text || to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text)) ||
|
|
|
CASE
|
|
|
WHEN to_char(ctl_dates.nowcloture::timestamp with time zone, 'MM'::text) = '01'::text THEN ' - Dernier mois e-PMSI'::text
|
|
|
WHEN to_char(ctl_dates.now::timestamp with time zone, 'YYYYMM'::text) = (to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '01'::text) THEN ' - Mois en cours'::text
|
|
|
ELSE ''::text
|
|
|
END AS txt,
|
|
|
'MONTH_JAN'::text AS cod,
|
|
|
(to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0101'::text)::date AS deb,
|
|
|
base.cti_last_day((to_char(ctl_dates.nowcloture::timestamp with time zone, 'YYYY'::text) || '0101'::text)::date) AS fin
|
|
|
FROM ctl_dates
|
|
|
ORDER BY 1;
|