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.
 
 
 

279 lines
13 KiB

<?xml version="1.0" encoding="ISO-8859-1"?>
<VUE name="ECO000076" label="ECO. Justificatif LPP" title="= 'Justificatif des mouvements de LPP par ' + SELECT.GROUPBY_LABEL + ' de ' + SELECT.PERIODE_LABEL + ' à ' + SELECT.TOPERIODE_LABEL " database="iCTI" swf="*CTI_view1" globals="ECO_globals.XML" componentsFile="ECO_components.XML" dboptimizer="ECO_dboptimizer.XML" softCode="iCTI_eco">
<VIEWPROPERTIES componentName="PROPERTIES_MOUVEMENTS"/>
<VIEWPROPERTIES componentName="PROPERTIES_GROUPBY"/>
<VIEWPROPERTIES componentName="PROPERTIES_DATA"/>
<SELECTIONS label="Paramètres de l'analyse" displayText="">
<GROUP label="Période">
<FIELD name="ALIAS_PERIODE" label="" UI="combo" width="180" default="CUM_LAST_MONTH" tree="true" globalListProvider="ALIAS_PERIODE" />
<FIELD name="PERIODE" label="" UI="combo" tree="true" width="200" default="2010-01-01" globalListProvider="PERIODE_DEBUT">
</FIELD>
<FIELD name="TOPERIODE" label="au" UI="combo" tree="true" width="200" default="2010-01-31" globalListProvider="PERIODE_FIN">
</FIELD>
</GROUP>
<GROUP label="Regroupement">
<FIELD name="GROUPBY" label="" UI="combo" width="200" default="SEJ" tree="true" visible = "false">
<OPTION label="Séjour" data="SEJ" />
</FIELD>
<FIELD name="GROUPBY_TAB" width="100" label="Présentation" UI="combo" default="AUTO" visible="false">
<OPTION label="Automatique" data="AUTO"/>
<OPTION label="Arbre" data="TREE"/>
<OPTION label="Onglet" data="TAB"/>
</FIELD>
<FIELD name="GROUPBY_2" label="" UI="combo" width="200" default="SEJ" tree="true" visible = "false">
<OPTION label="RSS" data="RSS" />
</FIELD>
<FIELD name="GROUPBY_3" label="" width="200" UI="combo" default="LPP" tree="true" visible="false">
<OPTION label="LPP" data="LPP" />
</FIELD>
</GROUP>
</SELECTIONS>
<SELECTIONS componentName="FILTRES_ARTICLE_SELECTIONS"/>
<SELECTIONS componentName="FILTRES_FOURNISSEUR_SELECTIONS"/>
<SELECTIONS componentName="FILTRES_MOUVEMENT_SELECTIONS"/>
<SELECTIONS componentName="FILTRES_PROVIDER_SELECTIONS"/>
<SELECTIONS label="Filtre Indicateur" collapsible="true" displayText="= var display:String = '';
if (SELECT.DATA01 != '-1') {
display = display + ' #B#Indicateur#/B# = ' + SELECT.DATA01_LABEL;
}
return display;">
<GROUP label="">
<FIELD name="DATA01" label="Indicateur" UI="combo" width="210" default="-1" tree="true">
<OPTION label="" data="-1"/>
<OPTION label="" data="" globalListProvider="DATA_AP_IND" condition="dataItem.data5 &gt; 10 and dataItem.data5 &lt; 20"/>
</FIELD>
</GROUP>
</SELECTIONS>
<QUERIES>
<QUERY labele="">
<SQL optimizer="V_MOUVEMENTS_ARTICLES_X" optimizer2="V_ALL_X">
<select><![CDATA[
DROP TABLE IF EXISTS ECO000076;
CREATE TEMP TABLE ECO000076 AS
SELECT
rss_id,
rss_code,
rss_texte,
sejour_id,
sejour_code,
sejour_texte,
CASE WHEN lpp_id > 0 THEN lpp_id ELSE 0-article_id END AS lpp_id,
CASE WHEN lpp_id > 0 THEN lpp_code ELSE 'A-'||article_code END AS lpp_code,
CASE WHEN lpp_id > 0 THEN lpp_texte ELSE article_texte END AS lpp_texte,
0 AS ucd_id,
CASE WHEN lpp_sus_id IS NOT NULL THEN 'SUS' ELSE 'INC' END AS type_lpp_code,
SUM(sortie_quantite-entree_quantite) AS sortie_quantite,
SUM(sortie_montant-entree_montant) AS sortie_montant,
AVG(prix_unitaire) As prix_unitaire,
MAX(montant_ligne_facture) AS montant_ligne_facture,
MAX(quantite_ligne_facture) AS quantite_ligne_facture,
MAX(ca_ghs) AS ca_ghs,
MAX(encours) AS encours,
MAX(lpp_code || ' ' || article_code || ' ' || article_texte)::text AS article_texte,
array_to_string(array_agg(DISTINCT type_mouvement_code),',') AS type_mouvement_code,
array_to_string(array_agg(DISTINCT lieu_code),',') AS lieu_code,
array_to_string(array_agg(DISTINCT unite_fonctionnelle_code),',') AS UF_CODE,
array_to_string(array_agg(DISTINCT gestionnaire_code),',') as gestionnaire_code,
array_to_string(array_agg(DISTINCT CASE WHEN unite_stockage_article_id <> 0 AND unite_stockage_article_code <> 'UN' THEN unite_stockage_article_texte ELSE '' END),',') as unite_stockage_article_texte
FROM #V_MOUVEMENTS_ARTICLES_X##V_ALL_X#
WHERE (date BETWEEN '[PERIODE]' AND '[TOPERIODE]')
AND (lpp_id != 0 OR type_article_cti_code = ANY(ARRAY['DM','DMI']))
AND type_mouvement_id IN (SELECT to_id from eco.t_classes JOIN eco.t_classes_sections ON t_classes.oid = classe_id
JOIN eco.t_classes_sections_elements ON section_id = t_classes_sections.oid
WHERE t_classes.code = 'CTI_TYPMVT' AND t_classes_sections.code = '01')
AND sejour_code IS NOT NULL
AND sejour_code <> ''
[VIEW.ARTICLE_SELECT]
[VIEW.FOURNISSEUR_SELECT]
[VIEW.MOUVEMENT_SELECT]
[VIEW.PROVIDER_SELECT]
GROUP BY 1,2,3,4,5,6,7,8,9,10,11
;
]]> </select>
</SQL>
<SQL optimizer="V_MOUVEMENTS_ARTICLES_X" optimizer2="V_ALL_X">
<select><![CDATA[
SELECT
[VIEW.GROUPBY_OID_FIELD],
[VIEW.GROUPBY_COD_FIELD],
[VIEW.GROUPBY_TXT_FIELD],
[VIEW.GROUPBY_2_OID_FIELD],
[VIEW.GROUPBY_2_COD_FIELD],
[VIEW.GROUPBY_2_TXT_FIELD],
[VIEW.GROUPBY_3_OID_FIELD],
[VIEW.GROUPBY_3_COD_FIELD],
[VIEW.GROUPBY_3_TXT_FIELD],
type_lpp_code,
sum(sortie_quantite),
sum(sortie_montant),
sum(CASE WHEN montant_ligne_facture = 0 THEN ca_ghs ELSE 0 END),
base.cti_division(sum(CASE WHEN quantite_ligne_facture != 0 THEN 100*sortie_montant ELSE 0 END),sum(CASE WHEN montant_ligne_facture = 0 THEN ca_ghs ELSE 0 END)),
sum(CASE WHEN quantite_ligne_facture != 0 THEN quantite_ligne_facture ELSE 0 END),
sum(CASE WHEN quantite_ligne_facture != 0 THEN montant_ligne_facture ELSE 0 END),
sum(CASE WHEN quantite_ligne_facture != 0 THEN sortie_quantite - quantite_ligne_facture ELSE 0 END),
sum(CASE WHEN quantite_ligne_facture != 0 THEN sortie_montant - montant_ligne_facture ELSE 0 END),
AVG(prix_unitaire),
AVG(CASE WHEN quantite_ligne_facture != 0 THEN sortie_montant/quantite_ligne_facture ELSE 0 END),
MAX(article_texte),
MAX(type_lpp_code)::text ,
MAX(type_mouvement_code)::text ,
MAX(lieu_code)::text ,
MAX(uf_code)::text ,
MAX(gestionnaire_code)::text ,
MAX(unite_stockage_article_texte)::text
FROM ECO000076 v_eco_view_1
WHERE 1=1
[VIEW.MOUVEMENT_FACTURE_SELECT]
GROUP BY 1,2,3,4,5,6,7,8,9,10
UNION ALL
SELECT
-9999999 AS LVL,
'TOTAL',
COUNT(DISTINCT rss_texte)::text || ' Patients',
0,
COUNT(DISTINCT rss_id)::text || ' RSS',
'',
0,
COUNT(DISTINCT lpp_id)::text || ' LPP',
'',
'',
sum(sortie_quantite),
sum(sortie_montant),
sum(CASE WHEN montant_ligne_facture = 0 THEN ca_ghs ELSE 0 END),
base.cti_division(sum(CASE WHEN montant_ligne_facture = 0 THEN 100*sortie_montant ELSE 0 END),sum(CASE WHEN montant_ligne_facture = 0 THEN ca_ghs ELSE 0 END)),
sum(CASE WHEN quantite_ligne_facture != 0 THEN quantite_ligne_facture ELSE 0 END),
sum(CASE WHEN quantite_ligne_facture != 0 THEN montant_ligne_facture ELSE 0 END),
sum(CASE WHEN quantite_ligne_facture != 0 THEN sortie_quantite - quantite_ligne_facture ELSE 0 END),
sum(CASE WHEN quantite_ligne_facture = 0 THEN sortie_montant - montant_ligne_facture ELSE 0 END),
AVG(prix_unitaire),
AVG(CASE WHEN quantite_ligne_facture != 0 THEN sortie_montant/quantite_ligne_facture ELSE 0 END),
MAX(article_texte),
''::text ,
MAX(type_mouvement_code)::text ,
MAX(lieu_code)::text ,
MAX(uf_code)::text ,
MAX(gestionnaire_code)::text ,
MAX(unite_stockage_article_texte)::text
FROM ECO000076 v_eco_view_1
WHERE 1=1
[VIEW.MOUVEMENT_FACTURE_SELECT]
GROUP BY 1,2
;
]]> </select>
<FIELDS>
<!-- <INSERT name="CTISELECT_TREE_FIELDS"/> -->
<FIELD name="OID1" />
<FIELD name="COD1" />
<FIELD name="TXT1" />
<FIELD name="OID2" />
<FIELD name="COD2" />
<FIELD name="TXT2" />
<FIELD name="OID3" />
<FIELD name="COD3" />
<FIELD name="TXT3" />
<FIELD name="SUS" />
<FIELD name="QSOR" />
<FIELD name="MSOR" />
<FIELD name="MGHS" />
<FIELD name="PGHS" />
<FIELD name="QFAC" />
<FIELD name="MFAC" />
<FIELD name="QECA" />
<FIELD name="MECA" />
<FIELD name="PU" />
<FIELD name="PUF" />
<FIELD name="ARTI" />
<FIELD name="TLPP" />
<FIELD name="TMVT" />
<FIELD name="LIEU" />
<FIELD name="UF" />
<FIELD name="GEST" />
<FIELD name="UNIT" />
</FIELDS>
</SQL>
</QUERY>
</QUERIES>
<PRESENTATION>
<VIEWLINKS>
<VIEWLINK label="Détail mouvements séjour" shortLabel="Mouvements séjour" view="ECO000010.XML" componentName="ECO_VIEWLINK" >
<ARGS name="SPEC">
<value><![CDATA[
LINKVARIABLES['RSS'] = ROW.COD2
LINKVARIABLES['SEJ'] = ROW.COD1
LINKVARIABLES['GROUPBY'] = 'LPP'
LINKVARIABLES['LPP'] = '-1'
LINKVARIABLES['GROUPBY_2'] = 'MVT'
return 'OK';
]]>
</value>
</ARGS>
</VIEWLINK>
<VIEWLINK label="Détail Séjour Activité" shortLabel="Dossier Activité" view="ACTI000020.XML" rowcontext="true" visible="= ROW.COD1 != '0'">
<ARGS name="SPEC">
<value><![CDATA[
LINKVARIABLES['SEJOUR'] = ROW.COD1
return 'OK';
]]> </value>
</ARGS>
</VIEWLINK>
<VIEWLINK label="Détail RSS PMSI" shortLabel="Dossier PMSI" view="PMSI000006.XML" rowcontexte="true" visible="= ROW.COD2 != '0'">
<ARGS name="SPEC">
<value><![CDATA[
LINKVARIABLES['OID'] = ROW.OID2
return 'OK';
]]> </value>
</ARGS>
</VIEWLINK>
</VIEWLINKS>
<ONGLET label="Onglet" multiTab="true">
<DATAGRID title="" total="true" headerHeight="40" totalRowInRows="= ROW.OID1 == '-9999999'" variableRowHeight="true">
<COLUMN dataField="OID1" type="Number" visible="false" />
<COLUMN dataField="COD1" type="Char" width="100" outputFormat="#" headerText="N° Séjour" textAlign="left" totalComplement="*ROW">
</COLUMN>
<COLUMN dataField="OID2" type="Number" visible="false" />
<COLUMN dataField="COD2" type="Char" width="100" outputFormat="#" headerText="N° RSS" textAlign="left" totalComplement="*ROW">
</COLUMN>
<COLUMN dataField="TXT1" type="Char" width="100" headerText="N° Patient" textAlign="left" totalComplement="*ROW"/>
<!-- <COLUMN dataField="DATE" type="Date" width="100" headerText="Date" textAlign="left" totalComplement="*ROW"/> -->
<COLUMN dataField="OID3" type="Number" visible="false" />
<COLUMN dataField="COD3" type="Char" width="100" outputFormat="#" headerText="Code LPP" textAlign="left" totalComplement="*ROW">
</COLUMN>
<COLUMN dataField="TXT3" type="Char" minWidth="100" headerText="Texte" textAlign="left" totalComplement="*ROW"/>
<COLUMN dataField="TLPP" type="Char" width="40" headerText="Type LPP" textAlign="left" totalComplement="*ROW"/>
<COLUMN dataField="PU" type="Number" width="60" outputFormat="#E" headerText="PU Stock" textAlign="right" totalComplement="*ROW" />
<COLUMN dataField="QSOR" type="Number" width="80" outputFormat="#" headerText="Sorties" textAlign="right" totalComplement="*ROW" />
<COLUMN dataField="MSOR" type="Number" width="80" outputFormat="#E" headerText="Montant Sorties" textAlign="right" totalComplement="*ROW" />
<COLUMN dataField="PUF" type="Number" width="60" outputFormat="#E" headerText="PU facturé" textAlign="right" totalComplement="*ROW" />
<COLUMN dataField="QFAC" type="Number" width="80" outputFormat="#" headerText="LPP Facturés" textAlign="right" totalComplement="*ROW" />
<COLUMN dataField="MFAC" type="Number" width="80" outputFormat="#E" headerText="Montant Facturé" textAlign="right" totalComplement="*ROW" />
<COLUMN dataField="QECA" type="Number" width="80" outputFormat="#" headerText="Qté Ecart" textAlign="right" totalComplement="*ROW" />
<COLUMN dataField="MECA" type="Number" width="80" outputFormat="#E" headerText="Montant Ecart" textAlign="right" totalComplement="*ROW" />
<COLUMN dataField="MGHS" type="Number" width="80" outputFormat="#E" headerText="CA GHS théorique" textAlign="right" totalComplement="*ROW" />
<COLUMN dataField="PGHS" type="Number" width="80" outputFormat="#%" headerText="Part dans le GHS" textAlign="right" totalComplement="*ROW" />
<COLUMN dataField="TMVT" type="Char" width="40" headerText="Mvt" textAlign="left" totalComplement="*ROW"/>
<COLUMN dataField="LIEU" type="Char" width="50" headerText="Lieu" textAlign="left" totalComplement="*ROW"/>
<COLUMN dataField="UF" type="Char" width="50" headerText="U.F." textAlign="left" totalComplement="*ROW"/>
<COLUMN dataField="GEST" type="Char" width="60" headerText="Gest" textAlign="left" totalComplement="*ROW"/>
<COLUMN dataField="UNIT" type="Char" width="50" headerText="Unité" textAlign="left" totalComplement="*ROW"/>
</DATAGRID>
</ONGLET>
</PRESENTATION>
</VUE>