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.
 
 

711 lines
28 KiB

<?xml version="1.0" encoding="ISO-8859-1"?>
<VUE name="ACTI000098"
label="Tableau HSTV"
database="iCTI"
swf="*CTI_view1"
softCode="iCTI_activite"
globals="ACTI_globals.XML"
admProvider="csis">
<title><![CDATA[=
var title:String = 'Tableau HSTV';
title = title + ' (' + VIEW.PERIODE_H + ' - ' + VIEW.TOPERIODE_H + ')'
return title;
]]></title>
<VIEWPROPERTIES>
<PROPERTY dataLink="VIEWPROPERTIES" nameField="name" valueField="value"/>
<PROPERTY name="GROUPBY_OID_FIELD" >
<value><![CDATA[
[EVAL
if ('[GROUPBY]' == 'UF') {return "temp_acti000098.parent_id";}
if ('[GROUPBY]' == 'UFTCLS01') {return "parent_section_id[1]";}
if ('[GROUPBY]' == 'UFTCLS02') {return "parent_section_id[2]";}
if ('[GROUPBY]' == 'UFTCLS03') {return "parent_section_id[3]";}
return 'parent_id';
EVAL]
]]></value>
</PROPERTY>
<PROPERTY name="GROUPBY_COD_FIELD" >
<value><![CDATA[
[EVAL
if ('[GROUPBY]' == 'UF') {return "parent_code";}
if ('[GROUPBY]' == 'UFTCLS01') {return "parent_section_code[1]";}
if ('[GROUPBY]' == 'UFTCLS02') {return "parent_section_code[2]";}
if ('[GROUPBY]' == 'UFTCLS03') {return "parent_section_code[3]";}
return 'parent_code';
EVAL]
]]></value>
</PROPERTY>
<PROPERTY name="GROUPBY_TXT_FIELD" >
<value><![CDATA[
[EVAL
if ('[GROUPBY]' == 'UF') {return "parent_texte";}
if ('[GROUPBY]' == 'UFTCLS01') {return "parent_section_texte[1]";}
if ('[GROUPBY]' == 'UFTCLS02') {return "parent_section_texte[2]";}
if ('[GROUPBY]' == 'UFTCLS03') {return "parent_section_texte[3]";}
return 'parent_code';
EVAL]
]]></value>
</PROPERTY>
<PROPERTY name="GROUPBY2_OID_FIELD" >
<value><![CDATA[
[EVAL
if ('[GROUPBY_2]' == 'UF') {return "temp_acti000098.parent_id";}
if ('[GROUPBY_2]' == 'UFTCLS01') {return "parent_section_id[1]";}
if ('[GROUPBY_2]' == 'UFTCLS02') {return "parent_section_id[2]";}
if ('[GROUPBY_2]' == 'UFTCLS03') {return "parent_section_id[3]";}
return '';
EVAL]
]]></value>
</PROPERTY>
<PROPERTY name="GROUPBY2_COD_FIELD" >
<value><![CDATA[
[EVAL
if ('[GROUPBY_2]' == 'UF') {return "parent_code";}
if ('[GROUPBY_2]' == 'UFTCLS01') {return "parent_section_code[1]";}
if ('[GROUPBY_2]' == 'UFTCLS02') {return "parent_section_code[2]";}
if ('[GROUPBY_2]' == 'UFTCLS03') {return "parent_section_code[3]";}
return '';
EVAL]
]]></value>
</PROPERTY>
<PROPERTY name="GROUPBY2_TXT_FIELD" >
<value><![CDATA[
[EVAL
if ('[GROUPBY_2]' == 'UF') {return "parent_texte";}
if ('[GROUPBY_2]' == 'UFTCLS01') {return "parent_section_texte[1]";}
if ('[GROUPBY_2]' == 'UFTCLS02') {return "parent_section_texte[2]";}
if ('[GROUPBY_2]' == 'UFTCLS03') {return "parent_section_texte[3]";}
return '';
EVAL]
]]></value>
</PROPERTY>
</VIEWPROPERTIES>
<SELECTIONS label="Paramètres">
<GROUP label="Budget">
<FIELD name="BUDGET" label="" UI="combo" width="200" default="-1" >
<OPTION label="Choix obligatoire" data="-1"/>
<OPTION dataLink="BUDGET" dataField="cod" labelField="txt" />
</FIELD>
</GROUP>
<GROUP label="Période">
<FIELD name="TOMOIS" label="" UI="combo" width="200" default="12" >
<OPTION label="Année complète" data="12"/>
<OPTION label="janvier" data="01"/>
<OPTION label="février" data="02"/>
<OPTION label="mars" data="03"/>
<OPTION label="avril" data="04"/>
<OPTION label="mai" data="05"/>
<OPTION label="juin" data="06"/>
<OPTION label="juillet" data="07"/>
<OPTION label="aout" data="08"/>
<OPTION label="septembre" data="09"/>
<OPTION label="octobre" data="10"/>
<OPTION label="novembre" data="11"/>
<OPTION label="décembre" data="12"/>
</FIELD>
</GROUP>
<GROUP label="Regroupement">
<FIELD name="GROUPBY" label="" UI="combo" width="200" default="UF" tree="true">
<OPTION label="Unité fonctionnelle" data="UF" globalListProvider="UF_GROUPBY"/>
</FIELD>
<FIELD name="GROUPBY_TAB" width="100" label="Présentation" UI="combo" default="AUTO" visible="= SELECT.GROUPBY_2 != '-1' ">
<OPTION label="Automatique" data="AUTO"/>
<OPTION label="Arbre" data="TREE"/>
<OPTION label="Onglet" data="TAB"/>
</FIELD>
</GROUP>
<GROUP label="">
<FIELD name="GROUPBY_2" label="" UI="combo" width="200" default="-1" tree="true">
<OPTION label="" data="-1" treeLevel="1"/>
<OPTION label="Unité fonctionnelle" data="UF" globalListProvider="UF_GROUPBY"/>
</FIELD>
</GROUP>
</SELECTIONS>
<QUERIES>
<QUERY>
<SQL optimizer="V_SEJOURS_X" optimizer2="V_MOUVEMENTS_SEJOUR_X">
<select><![CDATA[
DROP TABLE IF EXISTS temp_ACTI000098_0;
CREATE TEMP TABLE temp_ACTI000098_0 AS
SELECT
CASE WHEN t_budgets.dimension1 = 'UF' THEN t_unites_fonctionnelles.oid WHEN t_budgets.dimension1 = 'SER' THEN t_services_facturation.oid ELSE 0 END AS parent_id ,
CASE WHEN t_budgets.dimension1 = 'UF' THEN t_unites_fonctionnelles.code WHEN t_budgets.dimension1 = 'SER' THEN t_services_facturation.code ELSE '' END AS parent_code ,
CASE WHEN t_budgets.dimension1 = 'UF' THEN t_unites_fonctionnelles.texte WHEN t_budgets.dimension1 = 'SER' THEN t_services_facturation.texte ELSE '' END AS parent_texte,
CASE WHEN t_budgets.dimension1 = 'UF' THEN
t_unites_fonctionnelles.section_id
WHEN t_budgets.dimension1 = 'SER' THEN
t_services_facturation.section_id
ELSE NULL END
AS parent_section_id,
CASE WHEN t_budgets.dimension1 = 'UF' THEN
t_unites_fonctionnelles.section_code
WHEN t_budgets.dimension1 = 'SER' THEN
t_services_facturation.section_code
ELSE NULL END
AS parent_section_code,
CASE WHEN t_budgets.dimension1 = 'UF' THEN
t_unites_fonctionnelles.section_texte
WHEN t_budgets.dimension1 = 'SER' THEN
t_services_facturation.section_texte
ELSE NULL END
AS parent_section_texte,
COALESCE(CASE WHEN t_budgets.dimension1 = 'UF' THEN t_unites_fonctionnelles.finess_id WHEN t_budgets.dimension1 = 'SER' THEN t_services_facturation.finess_id ELSE NULL END,0) AS finess_id,
COALESCE(t_finess_c.code,'') AS finess_code,
COALESCE(t_finess_c.texte,'') AS finess_texte,
t_finess_c.section_id
t_finess_c.section_code
t_finess_c.section_texte
FROM activite.t_budgets
LEFT JOIN activite.t_unites_fonctionnelles ON t_budgets.oid = [BUDGET] AND t_budgets.dimension1 = 'UF'
LEFT JOIN activite.t_services_facturation ON t_budgets.oid = [BUDGET] AND t_budgets.dimension1 = 'SER'
LEFT JOIN activite.t_finess_c ON t_finess_c.oid = COALESCE(t_unites_fonctionnelles.finess_id, t_services_facturation.finess_id);
DROP TABLE IF EXISTS temp_ACTI000098;
CREATE TEMP TABLE temp_ACTI000098 AS
SELECT
CASE
WHEN dimension1 = 'UF' THEN lieu_unite_fonctionnelle_id
WHEN dimension1 = 'SER' THEN lieu_service_id
WHEN dimension1 = 'ETA' THEN lieu_etage_id
ELSE 0
END AS parent_id,
date_trunc('month', date) + interval '13 month' - interval '1 day' AS date,
0::numeric AS pre_nb_places,
NULL::date[] AS pre_nb_jours_places ,
SUM(nb_entrees_directes) AS pre_nb_entrees_directes,
SUM(nb_sorties_directes) AS pre_nb_sorties_directes,
SUM(nb_ambulatoires) AS pre_nb_ambulatoires,
SUM(nb_externes) AS pre_nb_externes,
SUM(nb_jours_js_non_inclus) AS pre_nb_jours_js_non_inclus,
SUM(nb_seances) AS pre_nb_seances,
0::numeric AS cur_nb_places,
NULL::date[] AS cur_nb_jours_places ,
0::numeric AS cur_nb_entrees_directes,
0::numeric AS cur_nb_sorties_directes,
0::numeric AS cur_nb_ambulatoires,
0::numeric AS cur_nb_externes,
0::numeric AS cur_nb_jours_js_non_inclus,
0::numeric AS cur_nb_seances,
0::numeric AS bud_nb_entrees_directes,
0::numeric AS bud_nb_sorties_directes,
0::numeric AS bud_nb_ambulatoires,
0::numeric AS bud_nb_externes,
0::numeric AS bud_nb_jours_js_non_inclus,
0::numeric AS bud_nb_seances
FROM activite.t_budgets
JOIN #V_MOUVEMENTS_SEJOUR_X# ON v_mouvements_sejour_2.date BETWEEN t_budgets.date_debut - interval '1 year' AND '[VIEW.TOPERIODE]'::date - interval '1 year'
JOIN #V_SEJOURS_X# ON v_mouvements_sejour_2.no_sejour = v_sejours_1.no_sejour
WHERE t_budgets.oid = [BUDGET] AND est_mouvement_previsionnel <> '1'
GROUP BY 1,2;
INSERT INTO temp_ACTI000098
SELECT
CASE
WHEN dimension1 = 'UF' THEN lieu_unite_fonctionnelle_id
WHEN dimension1 = 'SER' THEN lieu_service_id
WHEN dimension1 = 'ETA' THEN lieu_etage_id
ELSE 0
END AS parent_id,
date_trunc('month', date) + interval '1 month' - interval '1 day' AS date,
0::numeric AS pre_nb_places,
NULL::date[] AS pre_nb_jours_places ,
0::numeric AS pre_nb_entrees_directes,
0::numeric AS pre_nb_sorties_directes,
0::numeric AS pre_nb_ambulatoires,
0::numeric AS pre_nb_externes,
0::numeric AS pre_nb_jours_js_non_inclus,
0::numeric AS pre_nb_seances,
0::numeric AS cur_nb_places,
NULL::date[] AS cur_nb_jours_places ,
SUM(nb_entrees_directes) AS cur_nb_entrees_directes,
SUM(nb_sorties_directes) AS cur_nb_sorties_directes,
SUM(nb_ambulatoires) AS cur_nb_ambulatoires,
SUM(nb_externes) AS cur_nb_externes,
SUM(nb_jours_js_non_inclus) AS cur_nb_jours_js_non_inclus,
SUM(nb_seances) AS cur_nb_seances,
0::numeric AS bud_nb_entrees_directes,
0::numeric AS bud_nb_sorties_directes,
0::numeric AS bud_nb_ambulatoires,
0::numeric AS bud_nb_externes,
0::numeric AS bud_nb_jours_js_non_inclus,
0::numeric AS bud_nb_seances
FROM activite.t_budgets
JOIN #V_MOUVEMENTS_SEJOUR_X# ON v_mouvements_sejour_2.date BETWEEN date_debut AND '[VIEW.TOPERIODE]'
JOIN #V_SEJOURS_X# ON v_mouvements_sejour_2.no_sejour = v_sejours_1.no_sejour
WHERE t_budgets.oid = [BUDGET] AND est_mouvement_previsionnel <> '1'
GROUP BY 1,2;
INSERT INTO temp_ACTI000098
SELECT
parent_id,
date,
0::numeric AS pre_nb_places,
NULL::date[] AS pre_nb_jours_places ,
0::numeric AS pre_nb_entrees_directes,
0::numeric AS pre_nb_sorties_directes,
0::numeric AS pre_nb_ambulatoires,
0::numeric AS pre_nb_externes,
0::numeric AS pre_nb_jours_js_non_inclus,
0::numeric AS pre_nb_seances,
0::numeric AS cur_nb_places,
NULL::date[] AS cur_nb_jours_places ,
0::numeric AS cur_nb_entrees_directes,
0::numeric AS cur_nb_sorties_directes,
0::numeric AS cur_nb_ambulatoires,
0::numeric AS cur_nb_externes,
0::numeric AS cur_nb_jours_js_non_inclus,
0::numeric AS cur_nb_seances,
SUM(nb_entrees_directes) AS bud_nb_entrees_directes,
SUM(nb_sorties_directes) AS bud_nb_sorties_directes,
SUM(nb_ambulatoires) AS bud_nb_ambulatoires,
SUM(nb_externes) AS bud_nb_externes,
SUM(nb_jours_js_non_inclus) AS bud_nb_jours_js_non_inclus,
SUM(nb_seances) AS bud_nb_seances
FROM activite.v_budgets_saisis_2
WHERE oid = [BUDGET] AND date <= '[VIEW.TOPERIODE]'
GROUP BY 1,2;
INSERT INTO temp_ACTI000098
SELECT
CASE
WHEN dimension1 = 'UF' THEN uf_id
WHEN dimension1 = 'SER' THEN service_id
WHEN dimension1 = 'ETA' THEN etage_id
ELSE 0
END AS parent_id,
date_trunc('month', date) + interval '13 month' - interval '1 day' AS date,
SUM(nb_lits_ouverts) AS pre_nb_places,
base.cti_group_array3(DISTINCT CASE WHEN nb_lits_ouverts <> 0 THEN date ELSE NULL END) AS pre_nb_jours_places,
0::numeric AS pre_nb_entrees_directes,
0::numeric AS pre_nb_sorties_directes,
0::numeric AS pre_nb_ambulatoires,
0::numeric AS pre_nb_externes,
0::numeric AS pre_nb_jours_js_non_inclus,
0::numeric AS pre_nb_seances,
0::numeric AS cur_nb_places,
NULL::date[] AS cur_nb_jours_places ,
0::numeric AS cur_nb_entrees_directes,
0::numeric AS cur_nb_sorties_directes,
0::numeric AS cur_nb_ambulatoires,
0::numeric AS cur_nb_externes,
0::numeric AS cur_nb_jours_js_non_inclus,
0::numeric AS cur_nb_seances,
0::numeric AS bud_nb_entrees_directes,
0::numeric AS bud_nb_sorties_directes,
0::numeric AS bud_nb_ambulatoires,
0::numeric AS bud_nb_externes,
0::numeric AS bud_nb_jours_js_non_inclus,
0::numeric AS bud_nb_seances
FROM activite.v_places_1
JOIN activite.t_budgets ON t_budgets.oid = [BUDGET] AND
v_places_1.date BETWEEN t_budgets.date_debut - interval '1 year' AND '[VIEW.TOPERIODE]'::date - interval '1 year' AND
parent_type = t_budgets.dimension1
GROUP BY 1,2;
INSERT INTO temp_ACTI000098
SELECT
CASE
WHEN dimension1 = 'UF' THEN uf_id
WHEN dimension1 = 'SER' THEN service_id
WHEN dimension1 = 'ETA' THEN etage_id
ELSE 0
END AS parent_id,
date_trunc('month', date) + interval '1 month' - interval '1 day' AS date,
0::numeric AS pre_nb_places,
NULL::date[] AS pre_nb_jours_places ,
0::numeric AS pre_nb_entrees_directes,
0::numeric AS pre_nb_sorties_directes,
0::numeric AS pre_nb_ambulatoires,
0::numeric AS pre_nb_externes,
0::numeric AS pre_nb_jours_js_non_inclus,
0::numeric AS pre_nb_seances,
SUM(nb_lits_ouverts) AS cur_nb_places,
base.cti_group_array3(DISTINCT CASE WHEN nb_lits_ouverts <> 0 THEN date ELSE NULL END) AS cur_nb_jours_places,
0::numeric AS cur_nb_entrees_directes,
0::numeric AS cur_nb_sorties_directes,
0::numeric AS cur_nb_ambulatoires,
0::numeric AS cur_nb_externes,
0::numeric AS cur_nb_jours_js_non_inclus,
0::numeric AS cur_nb_seances,
0::numeric AS bud_nb_entrees_directes,
0::numeric AS bud_nb_sorties_directes,
0::numeric AS bud_nb_ambulatoires,
0::numeric AS bud_nb_externes,
0::numeric AS bud_nb_jours_js_non_inclus,
0::numeric AS bud_nb_seances
FROM activite.v_places_1
JOIN activite.t_budgets ON t_budgets.oid = [BUDGET] AND
v_places_1.date BETWEEN date_debut AND '[VIEW.TOPERIODE]' AND
parent_type = t_budgets.dimension1
GROUP BY 1,2;
]]></select>
</SQL>
<SQL>
<select><![CDATA[
CTISELECT_TREE
WORKTABLE{temp_ACTI000098_3}
GROUPBY1{[VIEW.GROUPBY_OID_FIELD],, [VIEW.GROUPBY_COD_FIELD],, [VIEW.GROUPBY_TXT_FIELD]}
GROUPBY1MODE{[GROUPBY_TAB]}
GROUPBY2{[VIEW.GROUPBY2_OID_FIELD],, [VIEW.GROUPBY2_COD_FIELD],, [VIEW.GROUPBY2_TXT_FIELD]}
INDICATORS{
SUM(cur_nb_places),
SUM(pre_nb_places),
SUM(0),
(SELECT count(DISTINCT cti_unnest) from base.cti_unnest(base.cti_group_array4(cur_nb_jours_places))),
(SELECT count(DISTINCT cti_unnest) from base.cti_unnest(base.cti_group_array4(pre_nb_jours_places))),
SUM(0),
SUM(cur_nb_entrees_directes + cur_nb_ambulatoires),
SUM(pre_nb_entrees_directes + pre_nb_ambulatoires),
SUM(bud_nb_entrees_directes + bud_nb_ambulatoires),
SUM(cur_nb_jours_js_non_inclus + cur_nb_ambulatoires),
SUM(pre_nb_jours_js_non_inclus + pre_nb_ambulatoires),
SUM(bud_nb_jours_js_non_inclus + bud_nb_ambulatoires),
SUM(cur_nb_externes),
SUM(pre_nb_externes),
SUM(bud_nb_externes),
}
FROM temp_ACTI000098
JOIN temp_ACTI000098_0 ON temp_ACTI000098.parent_id = temp_ACTI000098_0.parent_id;
UPDATE temp_ACTI000098_3 SET
level = 1,
code1 = chr(128),
code = 'TOTAL',
texte = 'TOTAL GENERAL'
WHERE oid = -9999999 AND oidt = -9999999;
UPDATE temp_ACTI000098_3 SET
code1 = chr(128),
code = 'S-TOTAL ' || code,
texte = 'SOUS TOTAL ' || texte
WHERE oid = -9999999 AND oidt <> -9999999;
DROP TABLE IF EXISTS temp_ACTI000098_4;
CREATE TEMP TABLE temp_ACTI000098_4 AS
SELECT oidt, labelt, textet, oid1, code1, oid2, code2, 0 AS oid3, '0' AS code3, oid, code, texte, level,
0 AS cur_nb,
0 AS pre_nb,
0 AS bud_nb
FROM temp_ACTI000098_3
WHERE indicateurs[1] <> 0 OR indicateurs[2] <> 0 OR indicateurs[3] <> 0 OR
indicateurs[4] <> 0 OR indicateurs[5] <> 0 OR indicateurs[6] <> 0 OR
indicateurs[7] <> 0 OR indicateurs[8] <> 0 OR indicateurs[9] <> 0 OR
indicateurs[10] <> 0 OR indicateurs[11] <> 0 OR indicateurs[12] <> 0 OR
indicateurs[12] <> 0 OR indicateurs[13] <> 0 OR indicateurs[15] <> 0
UNION
SELECT oidt, labelt, textet, oid1, code1, oid2, code2, 1 AS oid3, '1' AS code3, oid, '' AS code, 'Nombre de lits et places installés (moyenne mensuelle)' AS texte, 3 AS level,
base.cti_division(indicateurs[1], indicateurs[4]),
base.cti_division(indicateurs[2], indicateurs[5]),
base.cti_division(indicateurs[3], indicateurs[6])
FROM temp_ACTI000098_3
WHERE indicateurs[1] <> 0 OR indicateurs[2] <> 0 OR indicateurs[3] <> 0 OR
indicateurs[4] <> 0 OR indicateurs[5] <> 0 OR indicateurs[6] <> 0
UNION
SELECT oidt, labelt, textet, oid1, code1, oid2, code2, 2 AS oid3, '2' AS code3, oid, '' AS code, 'Nombre de séjours (entrées)' AS texte, 3 AS level,
indicateurs[7],
indicateurs[8],
indicateurs[9]
FROM temp_ACTI000098_3
WHERE
indicateurs[7] <> 0 OR indicateurs[8] <> 0 OR indicateurs[9] <> 0
UNION
SELECT oidt, labelt, textet, oid1, code1, oid2, code2, 3 AS oid3, '3' AS code3, oid, '' AS code, 'Nombre de journées' AS texte, 3 AS level,
indicateurs[10],
indicateurs[11],
indicateurs[12]
FROM temp_ACTI000098_3
WHERE
indicateurs[10] <> 0 OR indicateurs[11] <> 0 OR indicateurs[12] <> 0
UNION
SELECT oidt, labelt, textet, oid1, code1, oid2, code2, 4 AS oid3, '4' AS code3, oid, '' AS code, 'Taux d''occupation' AS texte, 3 AS level,
base.cti_division(indicateurs[10] , indicateurs[1]) * 100,
base.cti_division(indicateurs[11] , indicateurs[2]) * 100,
0
FROM temp_ACTI000098_3
WHERE indicateurs[1] <> 0 OR indicateurs[2] <> 0 OR indicateurs[3] <> 0 OR
indicateurs[10] <> 0 OR indicateurs[11] <> 0 OR indicateurs[12] <> 0
UNION
SELECT oidt, labelt, textet, oid1, code1, oid2, code2, 5 AS oid3, '5' AS code3, oid, '' AS code, 'DMS' AS texte, 3 AS level,
base.cti_division(indicateurs[10] , indicateurs[7]) ,
base.cti_division(indicateurs[11] , indicateurs[8]) ,
0
FROM temp_ACTI000098_3
WHERE
indicateurs[7] <> 0 OR indicateurs[8] <> 0 OR indicateurs[9] <> 0 OR
indicateurs[10] <> 0 OR indicateurs[11] <> 0 OR indicateurs[12] <> 0
UNION
SELECT oidt, labelt, textet, oid1, code1, oid2, code2, 7 AS oid3, '7' AS code3, oid, '' AS code, 'Nombre de consultations externes' AS texte, 3 AS level,
indicateurs[13],
indicateurs[14],
indicateurs[15]
FROM temp_ACTI000098_3
WHERE
indicateurs[12] <> 0 OR indicateurs[13] <> 0 OR indicateurs[15] <> 0 ;
SELECT oidt, labelt, textet, oid1, code1, oid2, code2, oid3, code3, oid, code, texte, level,
CASE WHEN oid3 = 4 THEN '#,00%' WHEN oid3 = 5 THEN '#,00' ELSE '#' END,
cur_nb,
pre_nb,
cur_nb - pre_nb,
CASE WHEN pre_nb <> 0 AND cur_nb <> 0 THEN base.cti_division(cur_nb - pre_nb, pre_nb) * 100 ELSE 0 END ,
bud_nb,
cur_nb - bud_nb,
CASE WHEN bud_nb <> 0 AND cur_nb <> 0 THEN base.cti_division(cur_nb - bud_nb, bud_nb) * 100 ELSE 0 END
FROM temp_ACTI000098_4
ORDER BY labelt,oidt,code1,oid1,code2,oid2,code3,oid3;
]]></select>
<FIELDS>
<INSERT name="CTISELECT_TREE_FIELDS"/>
<FIELD name="FMT" />
<FIELD name="CUR" />
<FIELD name="PRE" />
<FIELD name="EVO_PRE" />
<FIELD name="EVP_PRE" />
<FIELD name="BUD" />
<FIELD name="EVO_BUD" />
<FIELD name="EVP_BUD" />
</FIELDS>
</SQL>
</QUERY>
<QUERY type="comboLink" name="BUDGET" >
<SQL select="SELECT oid, texte FROM activite.t_budgets" >
<FIELDS>
<FIELD name="cod" />
<FIELD name="txt" />
</FIELDS>
</SQL>
</QUERY>
<QUERY type="propertiesLink" name="VIEWPROPERTIES" forSelections="false">
<SQL select="
SELECT 'TOPERIODE', date_trunc('year',date_fin) + interval '[TOMOIS] month' - interval '1 day'
FROM activite.t_budgets
WHERE oid = [BUDGET]
">
<FIELDS>
<FIELD name="name"/>
<FIELD name="value"/>
</FIELDS>
</SQL>
</QUERY>
<QUERY type="propertiesLink" name="VIEWPROPERTIES" forSelections="false">
<SQL select="
SELECT 'PERIODE', date_debut
FROM activite.t_budgets
WHERE oid = [BUDGET]
">
<FIELDS>
<FIELD name="name"/>
<FIELD name="value"/>
</FIELDS>
</SQL>
</QUERY>
<QUERY type="propertiesLink" name="VIEWPROPERTIES" forSelections="false">
<SQL select="
SELECT 'PERIODE_H', p_calendrier_mois.texte_court
FROM activite.t_budgets
JOIN base.p_calendrier_mois ON t_budgets.date_debut BETWEEN p_calendrier_mois.date_debut AND p_calendrier_mois.date_fin
WHERE oid = [BUDGET]
">
<FIELDS>
<FIELD name="name"/>
<FIELD name="value"/>
</FIELDS>
</SQL>
</QUERY>
<QUERY type="propertiesLink" name="VIEWPROPERTIES" forSelections="false">
<SQL select="
SELECT 'TOPERIODE_H', p_calendrier_mois.texte_court
FROM activite.t_budgets
JOIN base.p_calendrier_mois ON date_trunc('year',t_budgets.date_fin) + interval '[TOMOIS] month' - interval '1 day'
BETWEEN p_calendrier_mois.date_debut AND p_calendrier_mois.date_fin
WHERE oid = [BUDGET]
">
<FIELDS>
<FIELD name="name"/>
<FIELD name="value"/>
</FIELDS>
</SQL>
</QUERY>
<QUERY type="propertiesLink" name="VIEWPROPERTIES" forSelections="false">
<SQL select="
SELECT 'PERIODEP_H', p_calendrier_mois.texte_court
FROM activite.t_budgets
JOIN base.p_calendrier_mois ON t_budgets.date_debut - interval '1 year' BETWEEN p_calendrier_mois.date_debut AND p_calendrier_mois.date_fin
WHERE oid = [BUDGET]
">
<FIELDS>
<FIELD name="name"/>
<FIELD name="value"/>
</FIELDS>
</SQL>
</QUERY>
<QUERY type="propertiesLink" name="VIEWPROPERTIES" forSelections="false">
<SQL select="
SELECT 'TOPERIODEP_H', p_calendrier_mois.texte_court
FROM activite.t_budgets
JOIN base.p_calendrier_mois ON date_trunc('year',t_budgets.date_fin) + interval '[TOMOIS] month' - interval '1 day' - interval '1 year'
BETWEEN p_calendrier_mois.date_debut AND p_calendrier_mois.date_fin
WHERE oid = [BUDGET]
">
<FIELDS>
<FIELD name="name"/>
<FIELD name="value"/>
</FIELDS>
</SQL>
</QUERY>
</QUERIES>
<CALCFIELDS>
</CALCFIELDS>
<PRESENTATION>
<ONGLET excelLabel="Suivi budget" label="Suivi budget" queryNumber="0" multiTab="true">
<DATAGRID title="" total="false" headerHeight="54" sortable="false" variableRowHeight="true">
<ROWSTYLE name="fontSize" value="11"/>
<FOOTERROWSTYLE name="fontSize" value="11"/>
<ROWSTYLE name="rowHeight" value="20" condition="ROW.LVL == '1'"/>
<ROWSTYLE name="backgroundColor" value="0xFFD393" condition="ROW.LVL == '1'"/>
<ROWSTYLE name="fontWeight" value="bold" condition="ROW.LVL == '1'"/>
<ROWSTYLE name="borderSides" value="top bottom" condition="ROW.LVL == '1'"/>
<ROWSTYLE name="borderStyle" value="solid" condition="ROW.LVL == '1'"/>
<ROWSTYLE name="borderThickness" value="2" condition="ROW.LVL == '1'"/>
<ROWSTYLE name="fontWeight" value="bold" condition="ROW.LVL == '2'"/>
<ROWSTYLE name="rowHeight" value="20" condition="ROW.LVL == '1'"/>
<ROWSTYLE name="backgroundColor" value="0xFFD393" condition="ROW.LVL == '1' "/>
<COLUMN dataField="LVL" width="50" type="Char" visible="false" headerText="Code" textAlign="left" otherFunction="text" totalFunction="text">
</COLUMN>
<COLUMN dataField="FMT" width="50" type="Char" visible="false" headerText="Code" textAlign="left" otherFunction="text" totalFunction="text">
</COLUMN>
<COLUMN dataField="TABD" width="60" type="Number" visible="false" headerText="Oid">
</COLUMN>
<COLUMN dataField="OID1" width="60" type="Char" visible="false" headerText="Oid">
</COLUMN>
<COLUMN dataField="COD1" width="60" type="Char" visible="false" headerText="Oid">
</COLUMN>
<COLUMN dataField="OID2" width="60" type="Char" visible="false" headerText="Oid">
</COLUMN>
<COLUMN dataField="COD2" width="60" type="Char" visible="false" headerText="Oid">
</COLUMN>
<COLUMN dataField="OID3" width="60" type="Char" visible="false" headerText="Oid">
</COLUMN>
<COLUMN dataField="COD3" width="60" type="Char" visible="false" headerText="Oid">
</COLUMN>
<COLUMN dataField="OID" width="60" type="Char" visible="false" headerText="Oid">
</COLUMN>
<COLUMN dataField="COD" width="100" type="Char" visible="false" headerText="Code" textAlign="left" otherFunction="text" totalFunction="text">
<CELLSTYLE name="paddingLeft" value="15" condition="ROW.LVL == '2' &amp;&amp; VIEW.GROUPBY_TAB != 'TAB' "/>
<CELLSTYLE name="paddingLeft" value="30" condition="ROW.LVL == '3' &amp;&amp; VIEW.GROUPBY_TAB != 'TAB' "/>
<CELLSTYLE name="paddingLeft" value="15" condition="ROW.LVL == '2' &amp;&amp; VIEW.GROUPBY_TAB == 'TAB' "/>
</COLUMN>
<COLUMN dataField="TXT" type="Char" minWidth="150" headerText="SELECT.GROUPBY_LABEL" headerTextCalc="true" textAlign="left" totalFunction="text" totalComplement="TOTAL" otherFunction="text" otherComplement="Autres">
<CELLSTYLE name="paddingLeft" value="15" condition="ROW.LVL == '2' &amp;&amp; VIEW.GROUPBY_TAB != 'TAB' "/>
<CELLSTYLE name="paddingLeft" value="30" condition="ROW.LVL == '3' &amp;&amp; VIEW.GROUPBY_TAB != 'TAB' "/>
<CELLSTYLE name="paddingLeft" value="15" condition="ROW.LVL == '2' &amp;&amp; VIEW.GROUPBY_TAB == 'TAB' "/>
</COLUMN>
<COLUMN dataField="CUR" type="Number" width="100" outputFormat="= ROW.FMT" visible="true" headerTextCalc="true" headerText="'Réalisé\r' + VIEW.PERIODE_H + ' à\r ' + VIEW.TOPERIODE_H" textAlign="right" totalFunction="text" otherFunction="text" otherComplement="">
</COLUMN>
<COLUMN dataField="PRE" type="Number" width="100" outputFormat="= ROW.FMT" visible="true" headerTextCalc="true" headerText="'Réalisé\r' + VIEW.PERIODEP_H + ' à\r ' + VIEW.TOPERIODEP_H" textAlign="right" totalFunction="text" otherFunction="text" otherComplement="">
</COLUMN>
<COLUMN dataField="EVO_PRE" type="Number" width="100" outputFormat="= ROW.FMT" visible="true" headerText="Evolution" textAlign="right" totalFunction="text" otherFunction="text" otherComplement="">
</COLUMN>
<COLUMN dataField="EVP_PRE" type="Number" width="100" outputFormat="#,00%" visible="true" headerText="% Evolution" textAlign="right" totalFunction="text" otherFunction="text" otherComplement="">
</COLUMN>
<COLUMN dataField="BUD" type="Number" width="100" outputFormat="= ROW.FMT" visible="true" headerTextCalc="true" headerText="'Prévisions\r' + VIEW.PERIODE_H + ' à\r ' + VIEW.TOPERIODE_H" textAlign="right" totalFunction="text" otherFunction="text" otherComplement="">
</COLUMN>
<COLUMN dataField="EVO_BUD" type="Number" width="100" outputFormat="= ROW.FMT" visible="true" headerText="Ecart / Prévisions" textAlign="right" totalFunction="text" otherFunction="text" otherComplement="">
</COLUMN>
<COLUMN dataField="EVP_BUD" type="Number" width="100" outputFormat="#,00%" visible="true" headerText="% Ecart / Prévisions" textAlign="right" totalFunction="text" otherFunction="text" otherComplement="">
</COLUMN>
</DATAGRID>
</ONGLET>
</PRESENTATION>
</VUE>