|
|
-- 1/3 : Création de la table temporaire
|
|
|
DROP TABLE IF EXISTS w_dbsetup
|
|
|
;
|
|
|
|
|
|
CREATE TEMP TABLE w_dbsetup AS
|
|
|
SELECT
|
|
|
t_widget_user_parameter.oid as uuid,
|
|
|
t_dashboard.code || '|' || t_chart.code as dashboard_widget_code,
|
|
|
username,
|
|
|
title,
|
|
|
x,
|
|
|
y,
|
|
|
w,
|
|
|
h,
|
|
|
time_calc,
|
|
|
visible,
|
|
|
t_dashboard.code || '|' || t_dashboard_onglet.index as tab_code,
|
|
|
max_cat,
|
|
|
array_agg(DISTINCT t_indicateur_serie.code) as include_series_code
|
|
|
FROM pmsi.t_widget_user_parameter
|
|
|
JOIN pmsi.t_dashboard_widget ON t_dashboard_widget.oid = dashboard_widget_id
|
|
|
JOIN pmsi.t_dashboard ON t_dashboard.oid= t_dashboard_widget.dashboard_id
|
|
|
JOIN pmsi.t_chart on t_chart.oid = t_dashboard_widget.chart_id
|
|
|
JOIN pmsi.t_dashboard_onglet on t_dashboard_onglet.oid = tab_id
|
|
|
LEFT JOIN pmsi.t_indicateur_serie ON ARRAY[t_indicateur_serie.oid] <@ include_series_id
|
|
|
WHERE username = 'cti'
|
|
|
GROUP BY 1,2,3,4,5,6,7,8,9,10,11, t_dashboard_onglet.index
|
|
|
ORDER BY 2, 6, 7 LIMIT 0
|
|
|
;
|
|
|
|
|
|
-- 2/3 : Peuplement de la table temporaire
|
|
|
INSERT INTO w_dbsetup(
|
|
|
uuid,
|
|
|
dashboard_widget_code,
|
|
|
username,
|
|
|
title,
|
|
|
x,
|
|
|
y,
|
|
|
w,
|
|
|
h,
|
|
|
time_calc,
|
|
|
visible,
|
|
|
tab_code,
|
|
|
max_cat,
|
|
|
include_series_code
|
|
|
)
|
|
|
VALUES
|
|
|
('ed6dc64d-67dc-43ee-aa36-0cd4c8faf96a', 'CTI_CAS|CTI_CAT2ADA', 'cti', 'CAT2A par Domaine Activite', 2, 0, 4, 15, 'val', 't', 'CTI_CAS|1', 10, '{"CTI_CAT2AAMBU", "CTI_CAT2AHOSP"}'),
|
|
|
('4dbc1879-9b7e-484e-8e24-d11521cd85fb', 'CTI_CAS|CTI_CAT2AMOYDA', 'cti', 'CAT2A Moyen par Domaine Activite', 0, 15, 4, 12, 'val', 't', 'CTI_CAS|1', 5, '{"CTI_CAT2AAMBUMOY", "CTI_CAT2AHOSPMOY"}'),
|
|
|
('32d6e040-7365-4ac3-a92a-c438b5e2e891', 'CTI_CAS|CTI_INFO', 'cti', 'GHM', 0, 0, 2, 5, 'val', 't', 'CTI_CAS|1', 0, '{"CTI_GHM80"}'),
|
|
|
('b56adc4b-31ae-4f7f-bbb8-6fd3c891efb3', 'CTI_CAS|CTI_INFO', 'cti', 'DMS', 0, 5, 2, 5, 'val', 't', 'CTI_CAS|1', 0, '{"CTI_DMSHOSP"}'),
|
|
|
('c07d7267-ab42-4e01-8e38-835c20f763ed', 'CTI_CAS|CTI_INFO', 'cti', 'Séjours', 0, 10, 2, 5, 'val', 't', 'CTI_CAS|1', 0, '{"CTI_NBSEJGR"}'),
|
|
|
('0b4f34a5-5542-49aa-a5c6-4666077e3e6c', 'CTI_CAS|CTI_NBSEJ', 'cti', 'Nombre de sejours', 0, 27, 6, 10, 'val', 't', 'CTI_CAS|1', 8, '{"CTI_NBSEJFEMMES", "CTI_NBSEJHOMMES"}'),
|
|
|
('0a339d4b-5ef5-477d-9397-65626f076cbb', 'CTI_CAS|CTI_NBSEJCAS', 'cti', 'Séjours PMSI par CAS', 4, 15, 2, 12, 'val', 't', 'CTI_CAS|1', 0, '{"CTI_NBSEJ"}')
|
|
|
;
|
|
|
|
|
|
-- 3/3 : Màj de la table iCTI
|
|
|
DELETE FROM pmsi.t_widget_user_parameter WHERE username = 'cti';
|
|
|
|
|
|
INSERT INTO pmsi.t_widget_user_parameter(
|
|
|
oid,
|
|
|
dashboard_widget_id,
|
|
|
username,
|
|
|
title,
|
|
|
x,
|
|
|
y,
|
|
|
w,
|
|
|
h,
|
|
|
time_calc,
|
|
|
visible,
|
|
|
tab_id,
|
|
|
max_cat,
|
|
|
include_series_id
|
|
|
)
|
|
|
SELECT
|
|
|
w_dbsetup.uuid,
|
|
|
t_dashboard_widget.oid,
|
|
|
w_dbsetup.username,
|
|
|
w_dbsetup.title,
|
|
|
w_dbsetup.x,
|
|
|
w_dbsetup.y,
|
|
|
w_dbsetup.w,
|
|
|
w_dbsetup.h,
|
|
|
w_dbsetup.time_calc,
|
|
|
w_dbsetup.visible,
|
|
|
pmsi.t_dashboard_onglet.oid,
|
|
|
w_dbsetup.max_cat,
|
|
|
case when array_agg(DISTINCT t_indicateur_serie.oid) = ARRAY[NULL]::bigint[] then ARRAY[]::bigint[] else array_agg(DISTINCT t_indicateur_serie.oid) end
|
|
|
FROM w_dbsetup
|
|
|
JOIN pmsi.t_dashboard ON t_dashboard.code = SPLIT_PART(dashboard_widget_code, '|', 1)
|
|
|
JOIN pmsi.t_chart on t_chart.code = SPLIT_PART(dashboard_widget_code, '|', 2)
|
|
|
JOIN pmsi.t_dashboard_widget ON t_dashboard_widget.dashboard_id = t_dashboard.oid and t_dashboard_widget.chart_id = t_chart.oid
|
|
|
JOIN pmsi.t_dashboard_onglet ON t_dashboard_onglet.dashboard_id = t_dashboard.oid and t_dashboard_onglet.index = SPLIT_PART(tab_code, '|', 2)
|
|
|
LEFT JOIN pmsi.t_indicateur_serie ON ARRAY[t_indicateur_serie.code] <@ include_series_code
|
|
|
GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12
|
|
|
ORDER BY 1
|
|
|
;
|