|
|
src: |
|
|
|
SELECT t_budgets.oid,
|
|
|
t_budgets_saisis.parent_id,
|
|
|
CASE
|
|
|
WHEN t_budgets.dimension1 = 'UF'::text THEN t_unites_fonctionnelles.code
|
|
|
WHEN t_budgets.dimension1 = 'SER'::text THEN t_services_facturation.code
|
|
|
ELSE ''::text
|
|
|
END AS parent_code,
|
|
|
CASE
|
|
|
WHEN t_budgets.dimension1 = 'UF'::text THEN t_unites_fonctionnelles.texte
|
|
|
WHEN t_budgets.dimension1 = 'SER'::text THEN t_services_facturation.texte
|
|
|
ELSE ''::text
|
|
|
END AS parent_texte,
|
|
|
CASE
|
|
|
WHEN t_budgets.dimension1 = 'UF'::text THEN t_unites_fonctionnelles.section_id
|
|
|
WHEN t_budgets.dimension1 = 'SER'::text THEN t_services_facturation.section_id
|
|
|
ELSE NULL::bigint[]
|
|
|
END AS parent_section_id,
|
|
|
CASE
|
|
|
WHEN t_budgets.dimension1 = 'UF'::text THEN t_unites_fonctionnelles.section_code
|
|
|
WHEN t_budgets.dimension1 = 'SER'::text THEN t_services_facturation.section_code
|
|
|
ELSE NULL::text[]
|
|
|
END AS parent_section_code,
|
|
|
CASE
|
|
|
WHEN t_budgets.dimension1 = 'UF'::text THEN t_unites_fonctionnelles.section_texte
|
|
|
WHEN t_budgets.dimension1 = 'SER'::text THEN t_services_facturation.section_texte
|
|
|
ELSE NULL::text[]
|
|
|
END AS parent_section_texte,
|
|
|
COALESCE(
|
|
|
CASE
|
|
|
WHEN t_budgets.dimension1 = 'UF'::text THEN t_unites_fonctionnelles.finess_id
|
|
|
WHEN t_budgets.dimension1 = 'SER'::text THEN t_services_facturation.finess_id
|
|
|
ELSE NULL::bigint
|
|
|
END, 0::bigint) AS finess_id,
|
|
|
COALESCE(t_finess_c.code, ''::text) AS finess_code,
|
|
|
COALESCE(t_finess_c.texte, ''::text) AS finess_texte,
|
|
|
t_finess_c.section_id AS finess_section_id,
|
|
|
t_finess_c.section_code AS finess_section_code,
|
|
|
t_finess_c.section_texte AS finess_section_texte,
|
|
|
p_calendrier_mois.date_fin AS date,
|
|
|
t_budgets_saisis.budget_nb_entrees_directes_mois[date_part('month'::text, p_calendrier_mois.date_fin)] AS nb_entrees_directes,
|
|
|
t_budgets_saisis.budget_nb_sorties_directes_mois[date_part('month'::text, p_calendrier_mois.date_fin)] AS nb_sorties_directes,
|
|
|
t_budgets_saisis.budget_nb_ambulatoires_mois[date_part('month'::text, p_calendrier_mois.date_fin)] AS nb_ambulatoires,
|
|
|
t_budgets_saisis.budget_nb_externes_mois[date_part('month'::text, p_calendrier_mois.date_fin)] AS nb_externes,
|
|
|
t_budgets_saisis.budget_nb_jours_js_non_inclus_mois[date_part('month'::text, p_calendrier_mois.date_fin)] AS nb_jours_js_non_inclus,
|
|
|
t_budgets_saisis.budget_nb_seances_mois[date_part('month'::text, p_calendrier_mois.date_fin)] AS nb_seances
|
|
|
FROM activite.t_budgets
|
|
|
JOIN base.p_calendrier_mois ON p_calendrier_mois.date_fin >= t_budgets.date_debut AND p_calendrier_mois.date_fin <= t_budgets.date_fin
|
|
|
JOIN activite.t_budgets_saisis ON t_budgets_saisis.budget_id = t_budgets.oid
|
|
|
LEFT JOIN activite.t_unites_fonctionnelles ON t_budgets_saisis.parent_id = t_unites_fonctionnelles.oid AND t_budgets.dimension1 = 'UF'::text
|
|
|
LEFT JOIN activite.t_services_facturation ON t_budgets_saisis.parent_id = t_services_facturation.oid AND t_budgets.dimension1 = 'SER'::text
|
|
|
LEFT JOIN activite.t_finess_c ON t_finess_c.oid = COALESCE(t_unites_fonctionnelles.finess_id, t_services_facturation.finess_id)
|
|
|
ORDER BY t_budgets.oid, t_budgets_saisis.parent_code, t_budgets_saisis.parent_section_id;
|