xquery version "1.0-ml"; declare default element namespace "http://schemas.assemblee-nationale.fr/referentiel"; (: Permet de bien formatter les nombres affichés dans les amendements de crédit :) declare function local:formatNumberCredit($number, $isPLFR) { let $formattedInteger := xs:integer($number) let $numberFormatted := fn:replace(fn:format-number($formattedInteger, "#,##0"), ",", " ") return if ($isPLFR and $formattedInteger > 0) then fn:concat('+', $numberFormatted) (: Cas particulier des plfr positif +1 000 000 :) else $numberFormatted }; (: Récupération du HTML des amendements de crédit :) declare function local:getAmendementCreditHtml($amdt) { let $amdtCredit := if ($amdt/corps/contenuAuteur/dispositifAmdtCreditPLF) then ($amdt/corps/contenuAuteur/dispositifAmdtCreditPLF) else ($amdt/corps/contenuAuteur/dispositifAmdtCreditPLFR) let $CPEgalAE := $amdtCredit/cpEgalAe let $html := if ($amdt//supplementaire) (: PLFR :) then ( let $xml :=
Modifier ainsi les autorisations d'engagement et les crédits de paiement :
(en euros) | ||||
Programmes | Autorisations d’engagement suppl. ouvertes | Autorisations d’engagement annulées | Crédits de paiement suppl. ouverts | Crédits de paiement annulés |
{ fn:normalize-space($programme/libelle/fn:string()), switch ($programme/action) case 'suppression' return (ligne supprimée) case 'création' (: Création :) return (ligne nouvelle) default return () } | {local:formatNumberCredit($programme/autorisationEngagementSupplementaire/fn:string(), fn:true())} | {local:formatNumberCredit($programme/autorisationEngagementAnnule/fn:string(), fn:true())} | {local:formatNumberCredit($programme/creditPaiementSupplementaire/fn:string(), fn:true())} | {local:formatNumberCredit($programme/creditPaiementAnnule/fn:string(), fn:true())} |
{ fn:normalize-space($ligneCredit/libelle/fn:string()), switch ($ligneCredit/action) case 'suppression' return (ligne supprimée) case 'création' (: Création :) return (ligne nouvelle) default return () } | {local:formatNumberCredit($ligneCredit/autorisationEngagementSupplementaire/fn:string(), fn:true())} | {local:formatNumberCredit($ligneCredit/autorisationEngagementAnnule/fn:string(), fn:true())} | {local:formatNumberCredit($ligneCredit/creditPaiementSupplementaire/fn:string(), fn:true())} | {local:formatNumberCredit($ligneCredit/creditPaiementAnnule/fn:string(), fn:true())} |
TOTAUX | {local:formatNumberCredit($amdtCredit/totalAE/supplementaire/fn:string(), fn:true())} | {local:formatNumberCredit($amdtCredit/totalAE/annule/fn:string(), fn:true())} | {local:formatNumberCredit($amdtCredit/totalCP/supplementaire/fn:string(), fn:true())} | {local:formatNumberCredit($amdtCredit/totalCP/annule/fn:string(), fn:true())} |
SOLDE | {local:formatNumberCredit($amdtCredit/totalAE/solde/fn:string(), fn:true())} | {local:formatNumberCredit($amdtCredit/totalCP/solde/fn:string(), fn:true())} |
{if ($CPEgalAE eq fn:false()) then ( if ($totalCPPositif != 0 or $totalCPNegatif != 0) then ("I. Modifier ainsi les autorisations d'engagement et les crédits de paiement :") else ("Modifier ainsi les autorisations d'engagement et les crédits de paiement :") ) else ("Modifier ainsi les autorisations d'engagement et les crédits de paiement :")}
,(en euros) | ||
Programmes | + | - |
{ fn:normalize-space($programme/libelle/fn:string()), switch ($programme/action) case 'suppression' return (ligne supprimée) case 'création' (: Création :) return (ligne nouvelle) default return () } | { if ($programme/autorisationEngagement > 0) then (local:formatNumberCredit(fn:abs($programme/autorisationEngagement), fn:false())) else (0) } | { if ($programme/autorisationEngagement < 0) then (local:formatNumberCredit(fn:abs($programme/autorisationEngagement), fn:false())) else (0) } |
{ fn:normalize-space($ligneCredit/libelle/fn:string()), switch ($ligneCredit/action) case 'suppression' return (ligne supprimée) case 'création' (: Création :) return (ligne nouvelle) default return () } | { if ($ligneCredit/autorisationEngagement > 0) then (local:formatNumberCredit(fn:abs($ligneCredit/autorisationEngagement), fn:false())) else (0) } | { if ($ligneCredit/autorisationEngagement < 0) then (local:formatNumberCredit(fn:abs($ligneCredit/autorisationEngagement), fn:false())) else (0) } |
TOTAUX | {local:formatNumberCredit($totalAEPositif, fn:false())} | {local:formatNumberCredit($totalAENegatif, fn:false())} |
SOLDE | {local:formatNumberCredit($amdtCredit/soldeAE/fn:string(), fn:false())} |
{if ($totalAEPositif != 0 or $totalAENegatif != 0) then ("II. Modifier ainsi les crédits de paiement :") else ("Modifier ainsi les crédits de paiement :")}
,(en euros) | ||
Programmes | + | - |
{ fn:normalize-space($programme/libelle/fn:string()), switch ($programme/action) case 'suppression' return (ligne supprimée) case 'création' (: Création :) return (ligne nouvelle) default return () } | { if ($programme/creditPaiement > 0) then (local:formatNumberCredit(fn:abs($programme/creditPaiement), fn:false())) else (0) } | { if ($programme/creditPaiement < 0) then (local:formatNumberCredit(fn:abs($programme/creditPaiement), fn:false())) else (0) } |
{ fn:normalize-space($ligneCredit/libelle/fn:string()), switch ($ligneCredit/action) case 'suppression' return (ligne supprimée) case 'création' (: Création :) return (ligne nouvelle) default return () } | { if ($ligneCredit/creditPaiement > 0) then (local:formatNumberCredit(fn:abs($ligneCredit/creditPaiement), fn:false())) else (0) } | { if ($ligneCredit/creditPaiement < 0) then (local:formatNumberCredit(fn:abs($ligneCredit/creditPaiement), fn:false())) else (0) } |
TOTAUX | {local:formatNumberCredit($totalCPPositif, fn:false())} | {local:formatNumberCredit($totalCPNegatif, fn:false())} |
SOLDE | {local:formatNumberCredit($amdtCredit/soldeCP/fn:string(), fn:false())} |