Skip to content
Snippets Groups Projects
Commit 7d5ec9e6 authored by OURY Sarah's avatar OURY Sarah
Browse files

Merge branch 'PR_FLE_relectureDoc' into 'main'

Pr fle relecture doc

See merge request !25
parents 92d0f734 672f3a50
No related branches found
No related tags found
1 merge request!25Pr fle relecture doc
...@@ -59,8 +59,11 @@ String paysDUtilisation ...@@ -59,8 +59,11 @@ String paysDUtilisation
String utilisateur String utilisateur
Date dateAchat Date dateAchat
Data dateRetrait Data dateRetrait
' la durée d'usage interne correspond à l'age de l'équipement (en années) au sein de l'organisation
Double dureeUsageInterne Double dureeUsageInterne
' la durée d'usage amont correspond à la durée (en années) de première vie d'un équipement, avant que ce dernier ne soit possédé par l'organisation
Double dureeUsageAmont Double dureeUsageAmont
' la durée d'usage aval correspond à la durée (en années) de troisième vie d'un équipement, une fois que ce dernier a été sorti de l'organisation
Double dureeUsageAval Double dureeUsageAval
Double consoElecAnnuelle Double consoElecAnnuelle
Float nbJourUtiliseAn Float nbJourUtiliseAn
......
...@@ -249,9 +249,11 @@ Le déclenchement des règles présentes dans le Bloc Calcul se réalise à la s ...@@ -249,9 +249,11 @@ Le déclenchement des règles présentes dans le Bloc Calcul se réalise à la s
Il existe 2 paramètres associés à cette requête : Il existe 2 paramètres associés à cette requête :
* mode : le mode de traitement, SYNC ou ASYNC (ASYNC est la valeur par défaut) * mode : le mode de traitement, SYNC ou ASYNC (ASYNC est la valeur par défaut)
* dureeUsage : la méthode de calcul de la durée de vie des équipements physique utilisée, FIXE : la méthode de calcul de la durée de vie se base sur l'attribut 'dureeUsageInterne' de l'équipement physique ou REEL : la méthode de calcul de la durée de vie se base sur l'âge réel de l'équipement physique (dateRetrait-dateAchat) (FIXE est la valeur par défaut) * dureeUsage : la méthode de calcul de la durée de vie des équipements physiques utilisée, qui peut être
** FIXE (valeur par defaut): la méthode de calcul de la durée de vie se base sur l'attribut 'dureeUsageInterne' de l'équipement physique
** REEL : la méthode de calcul de la durée de vie se base sur l'âge réel de l'équipement physique (dateRetrait-dateAchat quand les données sont disponibles)
NumEcoEval lance alors les calculs des indicateurs et les sauvegarde dans la base correspondante. NumEcoEval effectue alors les calculs des indicateurs et les sauvegardes dans la base correspondante.
La cinématique globale est décrite ci-dessous : La cinématique globale est décrite ci-dessous :
...@@ -424,28 +426,28 @@ Elle est exprimée en années et autorise les décimales. ...@@ -424,28 +426,28 @@ Elle est exprimée en années et autorise les décimales.
[pseudocode] [pseudocode]
---- ----
Règle RG_DureeVieItem(equipementPhysique) { Règle RG_DureeVieItem(equipementPhysique, dureeVieItem) {
SI methodeDureeUsage=="REEL" SI methodeDureeUsage=="REEL"
ALORS ALORS
'dans le cas où il est possible de calculer l'age réel de l'item, ce dernier fait foi 'dans le cas où il est possible de calculer l'age réel de l'item (c'est à dire sa durée de vie au sein de l'organisation), ce dernier fait foi
SI equipementPhysique.DateAchat est correcte et renseignée ET equipementPhysique.DateRetrait est correcte et renseignée SI equipementPhysique.DateAchat est correcte et renseignée ET equipementPhysique.DateRetrait est correcte et renseignée
ALORS ALORS
SI ((equipementPhysique.DateRetrait - equipementPhysique.DateAchat) / 365 + equipementPhysique.dureeUsageAmont + equipementPhysique.dureeUsageAval < 1) SI ((equipementPhysique.DateRetrait - equipementPhysique.DateAchat) / 365 + equipementPhysique.dureeUsageAmont + equipementPhysique.dureeUsageAval < 1)
' si la durée de vie totale de l'équipement est inférieure à 1 an, on la fixe à 1 an car : 'si la durée de vie totale de l'équipement est inférieure à 1 an, on la fixe à 1 an car pour éviter d'avoir un impact supérieur à l'impact total de l'équipement sur l'ensemble de son cycle de vie
' comme impact = facteurCaracterisation/dureeDeVie, si la dureeDeVie est inférieure à 1, on prendrait + de 100% de l'impact de l'équipement pour sa première année ce qui n'est pas logique 'En effet : impact = facteurCaracterisation/dureeDeVie. Si la dureeDeVie est inférieure à 1, alors impact > facteurCaracterisation de l'équipement.
ALORS RENVOYER 1 ALORS dureeVieItem = 1
SINON RENVOYER (((equipementPhysique.DateRetrait - equipementPhysique.DateAchat) / 365) + equipementPhysique.DureeUsageAmont + equipementPhysique.DureeUsageAval) SINON dureeVieItem= (((equipementPhysique.DateRetrait - equipementPhysique.DateAchat) / 365) + equipementPhysique.DureeUsageAmont + equipementPhysique.DureeUsageAval)
'dans le cas où seul la date d'achat est disponible, la règle du "Pseudo-amortissement" prévaut (impact de 100% sur l'année d'achat, 50% l'année 2, 33% l'année 3, etc... ) 'dans le cas où seul la date d'achat est disponible, la règle du "Pseudo-amortissement" prévaut (impact de 100% sur l'année d'achat, 50% l'année 2, 33% l'année 3, etc... )
SINON SI equipementPhysique.DateAchat est correcte et equipementPhysique.DateRetrait non reseignée SINON SI equipementPhysique.DateAchat est correcte et equipementPhysique.DateRetrait non renseignée
SI ((equipementPhysique.DateRetrait - date du jour) / 365 + equipementPhysique.dureeUsageAmont + equipementPhysique.dureeUsageAval < 1) SI ((equipementPhysique.DateRetrait - date du jour) / 365 + equipementPhysique.dureeUsageAmont + equipementPhysique.dureeUsageAval < 1)
ALORS RENVOYER 1 ALORS dureeVieItem= 1
SINON RENVOYER (((equipementPhysique.DateAchat - date du jour) / 365) + equipementPhysique.DureeUsageAmont + equipementPhysique.DureeUsageAval) SINON dureeVieItem= (((equipementPhysique.DateAchat - date du jour) / 365) + equipementPhysique.DureeUsageAmont + equipementPhysique.DureeUsageAval)
'dans les autres cas, une durée de vie moyenne de l'équipement est déduite 'dans les autres cas, une durée de vie moyenne de l'équipement est déduite
SINON SINON
SI (RG_DureeVieItem_Defaut(equipementPhysique) + equipementPhysique.DureeUsageAmont + equipementPhysique.DureeUsageAval < 1) SI (RG_DureeVieItem_Defaut(equipementPhysique) + equipementPhysique.DureeUsageAmont + equipementPhysique.DureeUsageAval < 1)
ALORS RENVOYER 1 ALORS dureeVieItem= 1
SINON RENVOYER (RG_DureeVieItem_Defaut(equipementPhysique) + equipementPhysique.DureeUsageAmont + equipementPhysique.DureeUsageAval) SINON dureeVieItem= (RG_DureeVieItem_Defaut(equipementPhysique) + equipementPhysique.DureeUsageAmont + equipementPhysique.DureeUsageAval)
FIN SI FIN SI
'par défaut, la méthode de calcul de la durée de vie est la méthode "FIXE" 'par défaut, la méthode de calcul de la durée de vie est la méthode "FIXE"
SINON SINON
...@@ -453,29 +455,29 @@ Règle RG_DureeVieItem(equipementPhysique) { ...@@ -453,29 +455,29 @@ Règle RG_DureeVieItem(equipementPhysique) {
SI equipementPhysique.DureeUsageInterne est renseignée et supérieure à 0 SI equipementPhysique.DureeUsageInterne est renseignée et supérieure à 0
ALORS ALORS
SI (equipementPhysique.DureeUsageInterne + equipementPhysique.DureeUsageAmont + equipementPhysique.DureeUsageAval < 1) SI (equipementPhysique.DureeUsageInterne + equipementPhysique.DureeUsageAmont + equipementPhysique.DureeUsageAval < 1)
ALORS RENVOYER 1 ALORS dureeVieItem= 1
SINON RENVOYER (equipementPhysique.DureeUsageInterne + equipementPhysique.DureeUsageAmont + equipementPhysique.DureeUsageAval) SINON dureeVieItem= (equipementPhysique.DureeUsageInterne + equipementPhysique.DureeUsageAmont + equipementPhysique.DureeUsageAval)
SINON SINON
SI (RG_DureeVieItem_Defaut(equipementPhysique) + equipementPhysique.DureeUsageAmont + equipementPhysique.DureeUsageAval < 1) SI (RG_DureeVieItem_Defaut(equipementPhysique) + equipementPhysique.DureeUsageAmont + equipementPhysique.DureeUsageAval < 1)
ALORS RENVOYER 1 ALORS dureeVieItem= 1
SINON RENVOYER (RG_DureeVieItem_Defaut(equipementPhysique) + equipementPhysique.DureeUsageAmont + equipementPhysique.DureeUsageAval) SINON dureeVieItem= (RG_DureeVieItem_Defaut(equipementPhysique) + equipementPhysique.DureeUsageAmont + equipementPhysique.DureeUsageAval)
FIN SI FIN SI
FIN SI FIN SI
} }
Règle RG_DureeVieItem(operationNonIT) { Règle RG_DureeVieItem(operationNonIT, dureeVieItem) {
'dans le cas où il est possible de calculer l'age réel de l'item, ce dernier fait foi 'dans le cas où il est possible de calculer l'age réel de l'item, ce dernier fait foi
SI operationNonIT.dureeDeVie est correcte et renseignée SI operationNonIT.dureeDeVie est correcte et renseignée
ALORS ALORS
SI operationNonIT.dureeDeVie < 1 SI operationNonIT.dureeDeVie < 1
ALORS RENVOYER 1 ALORS dureeVieItem= 1
SINON RENVOYER operationNonIT.dureeDeVie SINON dureeVieItem= operationNonIT.dureeDeVie
'dans les autres cas, une durée de vie moyenne de l'équipement est déduite 'dans les autres cas, une durée de vie moyenne de l'équipement est déduite
SINON SINON
SI RG_DureeVieItem_Defaut(operationNonIT) < 1 SI RG_DureeVieItem_Defaut(operationNonIT) < 1
ALORS RENVOYER 1 ALORS dureeVieItem= 1
SINON RENVOYER RG_DureeVieItem_Defaut(operationNonIT) SINON dureeVieItem= RG_DureeVieItem_Defaut(operationNonIT)
FIN SI FIN SI
} }
---- ----
...@@ -503,10 +505,12 @@ La durée de vie des items peut être déterminée par défaut dans le cas où l ...@@ -503,10 +505,12 @@ La durée de vie des items peut être déterminée par défaut dans le cas où l
Règle RG_DureeVieItem_Defaut(Item, dureeVieItem_Defaut) { Règle RG_DureeVieItem_Defaut(Item, dureeVieItem_Defaut) {
'la durée de vie par défaut des items est celle renseignée dans la table des types d'items 'la durée de vie par défaut des items est celle renseignée dans la table des types d'items
SI l'item en entrée est présent dans la table des références d'items (si Item.type = ref_TypeItem.nom) SI l'item en entrée est présent dans la table des références d'items (si Item.type = ref_TypeItem.nom)
ALORS dureeVieItem_Defaut = ref_TypeItem.dureeVieDefaut ALORS dureeVieItem_Defaut= ref_TypeItem.dureeVieDefaut
'on retient l hypothèse d'une durée de vie par défaut des items égale à la durée de vie des items enregistrée dans les hypothèses 'on retient l'hypothèse d'une durée de vie par défaut des items égale à la durée de vie des items enregistrés dans les hypothèses
SINON SI ref_Hypothese(dureeVieParDefaut) existe SINON (SI Item='equipementPhysique' ET SI ref_Hypothese(dureeVieParDefaut) existe)
ALORS dureeVieItem_Defaut = ref_Hypothese(dureeVieParDefaut).valeur ALORS dureeVieItem_Defaut= ref_Hypothese(dureeVieParDefaut).valeur
SINON (SI Item='operationNonIT' ET SI ref_Hypothese(dureeVieBatimentParDefaut) existe)
ALORS dureeVieItem_Defaut= ref_Hypothese(dureeVieBatimentParDefaut).valeur
SINON SINON
ErrCalcul("la durée de vie par défaut de l'item n'a pas pu être déterminée") ErrCalcul("la durée de vie par défaut de l'item n'a pas pu être déterminée")
FIN SI FIN SI
...@@ -527,17 +531,17 @@ Cette règle permet de retrouver l'équipement de référence, c'est à dire cel ...@@ -527,17 +531,17 @@ Cette règle permet de retrouver l'équipement de référence, c'est à dire cel
|paramètre|entree/sortie|Description |paramètre|entree/sortie|Description
|organisation|entrée|l'organisation en cours de traitement |organisation|entrée|l'organisation en cours de traitement
|equipement|entrée|l'équipement dont on cherche la référence |equipement|entrée|l'équipement dont on cherche la référence
|refEquipementretenu|sortie|l'équipement dont l'impact servira de référence |refEquipementRetenu|sortie|l'équipement dont l'impact servira de référence
|=== |===
[pseudocode] [pseudocode]
---- ----
Règle RG_correspondanceRefEquipement(nomOrganisation, equipement, refEquipementretenu) { Règle RG_correspondanceRefEquipement(equipement, refEquipementRetenu) {
SI ref_CorrespondanceRefEqP(nomOrganisation, equipement.modele) existe SI ref_CorrespondanceRefEqP(equipement.modele) existe
RENVOYER refEquipementretenu = ref_CorrespondanceRefEqP(nomOrganisation, equipement.modele).refEquipementCible refEquipementRetenu= ref_CorrespondanceRefEqP(equipement.modele).refEquipementCible
SINON SI ref_TypeItem(equipement.type).refEquipementParDefaut existe SINON SI ref_TypeItem(equipement.type).refEquipementParDefaut existe
RENVOYER refEquipementretenu = ref_TypeItem(equipement.type).refEquipementParDefaut refEquipementRetenu= ref_TypeItem(equipement.type).refEquipementParDefaut
SINON SINON
ErrCalcul("aucune correspondance avec un équipement de référence n'a pu être déterminée") ErrCalcul("aucune correspondance avec un équipement de référence n'a pu être déterminée")
FIN SI FIN SI
...@@ -559,15 +563,15 @@ Cette règle permet de retrouver l'item de référence, c'est à dire celui dont ...@@ -559,15 +563,15 @@ Cette règle permet de retrouver l'item de référence, c'est à dire celui dont
|paramètre|entree/sortie|Description |paramètre|entree/sortie|Description
|organisation|entrée|l'organisation en cours de traitement |organisation|entrée|l'organisation en cours de traitement
|item|entrée|l'item dont on cherche la référence |item|entrée|l'item dont on cherche la référence
|refItemParDefaut|sortie|l'item dont l'impact servira de référence |refItemRetenu|sortie|l'item dont l'impact servira de référence
|=== |===
[pseudocode] [pseudocode]
---- ----
Règle RG_correspondanceRefItem(nomOrganisation, item, refItemRetenu) { Règle RG_correspondanceRefOperationNonIT(nomOrganisation, item, refItemRetenu) {
SI ref_TypeItem(item.type).refItemParDefaut existe SI ref_TypeItem(item.type).refItemParDefaut existe
RENVOYER refItemRetenu = ref_TypeItem(equipement.type).refItemParDefaut refItemRetenu = ref_TypeItem(equipement.type).refItemParDefaut
SINON SINON
ErrCalcul("aucune correspondance avec un item de référence n'a pu être déterminée") ErrCalcul("aucune correspondance avec un item de référence n'a pu être déterminée")
FIN SI FIN SI
...@@ -610,25 +614,24 @@ Cette règle permet le calcul de l'impact moyen d'un équipement physique sur un ...@@ -610,25 +614,24 @@ Cette règle permet le calcul de l'impact moyen d'un équipement physique sur un
[pseudocode] [pseudocode]
---- ----
soit en_EqP(Equipement) = EqP soit equipementPhysique = EqP
Règle calculIndicateurImpactEquipementPhysique(critere, etape, nomOrganisation, EqP, en_DC, ind_ImpactEquipementPhysique) { Règle calculIndicateurImpactEquipementPhysique(critere, etape, nomOrganisation, EqP, en_DC, ind_ImpactEquipementPhysique) {
'Récupération de la correspondance de refEquipement 'Récupération de la correspondance de refEquipement
refEquipementRetenu = RG_correspondanceRefEquipement(nomOrganisation, equipementPhysique) refEquipementRetenu = RG_correspondanceRefEquipement(equipementPhysique)
result=0
ind_ImpactEquipementPhysique(Equipement, EtapeACV, Critere) =
SI EtapeACV.code = "UTILISATION" SI EtapeACV.code = "UTILISATION"
EqP.quantité result= result + EqP.quantité
SI EqP.consoElecAnnuelle est renseigné SI EqP.consoElecAnnuelle est renseigné
x EqP.consoElecAnnuelle result = result x EqP.consoElecAnnuelle
'enregistrement de la consommation electrique retenue 'enregistrement de la consommation electrique retenue
ind_ImpactEquipementPhysique.consoElecMoyenne = EqP.consoElecAnnuelle ind_ImpactEquipementPhysique.consoElecMoyenne = EqP.consoElecAnnuelle
SINON SI SINON SI
'récupération de la consommation électrique de la référence de l'équipement retenue 'récupération de la consommation électrique de la référence de l'équipement retenue
x Ref_FacteurCaracterisation(refEquipementRetenu, EtapeACV, Critere).consoElecAnMoyenne result = result x Ref_FacteurCaracterisation(refEquipementRetenu, EtapeACV, Critere).consoElecAnMoyenne
'enregistrement de la consommation electrique retenue 'enregistrement de la consommation electrique retenue
ind_ImpactEquipementPhysique.consoElecMoyenne = Ref_FacteurCaracterisation(refEquipementRetenu, EtapeACV, Critere).consoElecAnMoyenne ind_ImpactEquipementPhysique.consoElecMoyenne = Ref_FacteurCaracterisation(refEquipementRetenu, EtapeACV, Critere).consoElecAnMoyenne
SINON SINON
...@@ -639,60 +642,46 @@ refEquipementRetenu = RG_correspondanceRefEquipement(nomOrganisation, equipement ...@@ -639,60 +642,46 @@ refEquipementRetenu = RG_correspondanceRefEquipement(nomOrganisation, equipement
SI EqP.NomCourtDatacenter est renseigné SI EqP.NomCourtDatacenter est renseigné
SI n_DC(EqP.NomCourtDatacenter).PUE existe SI n_DC(EqP.NomCourtDatacenter).PUE existe
x en_DC(EqP.NomCourtDatacenter).PUE result = result x en_DC(EqP.NomCourtDatacenter).PUE
SINON SI ref_Hypothese(PUEParDefaut) SINON SI ref_Hypothese(PUEParDefaut) existe
x ref_Hypothese(PUEParDefaut) result = result x ref_Hypothese(PUEParDefaut).valeur
SINON SINON
ErrCalcFonc("le PUE est manquant et ne permet le calcul de l'impact à l'usage de l'équipement") ErrCalcFonc("le PUE est manquant et ne permet le calcul de l'impact à l'usage de l'équipement")
Arret du calcul Arret du calcul
FIN SI FIN SI
x ref_FacteurCaracterisation(EtapeACV, Critere, Categorie=electricity-mix, Localisation = en_DC(NomCourtDatacenter).localisation).valeur result = result x ref_FacteurCaracterisation(EtapeACV, Critere, Categorie=electricity-mix, Localisation = en_DC(NomCourtDatacenter).localisation).valeur
SINON SINON
x ref_FacteurCaracterisation(EtapeACV, Critere, Categorie=electricity-mix, Localisation = EqP.PaysDUtilisation).valeur result = result x ref_FacteurCaracterisation(EtapeACV, Critere, Categorie=electricity-mix, Localisation = EqP.PaysDUtilisation).valeur
FIN SI
SI EqP.tauxUtilisation est renseigné
x EqP.tauxUtilisation
SINON SI EqP.modeUtilisation est renseigné
SI ref_Hypothese(EqP.modeUtilisation) existe
EqP.tauxUtilisation = ref_Hypothese(EqP.modeUtilisation)
x EqP.tauxUtilisation
SINON
EqP.tauxUtilisation = 1.0
x EqP.tauxUtilisation
SINON
EqP.tauxUtilisation = 1.0
x EqP.tauxUtilisation
FIN SI FIN SI
SINON SINON
EqP.quantité result= result + EqP.quantité
'récupération de l'impact pour le critère et l'étape ACV en cours, de la référence de l'équipement retenue
result = result x Ref_FacteurCaracterisation(refEquipementretenu, EtapeACV, Critere).valeur
result = result/ RG_DureeVieItem_Defaut(equipementPhysique)
FIN SI
SI EqP.tauxUtilisation est renseigné 'pour toutes les étapes, on multiplie par un taux d'utilisation
x EqP.tauxUtilisation SI EqP.tauxUtilisation est renseigné
result = result x EqP.tauxUtilisation
SINON SI EqP.modeUtilisation est renseigné SINON SI EqP.modeUtilisation est renseigné
SI ref_Hypothese(EqP.modeUtilisation) existe SI ref_Hypothese(EqP.modeUtilisation) existe
EqP.tauxUtilisation = ref_Hypothese(EqP.modeUtilisation) EqP.tauxUtilisation = ref_Hypothese(EqP.modeUtilisation).valeur
x EqP.tauxUtilisation result = result x EqP.tauxUtilisation
SINON SINON
EqP.tauxUtilisation = 1.0 EqP.tauxUtilisation = 1.0
x EqP.tauxUtilisation result = result x EqP.tauxUtilisation
SINON SINON
EqP.tauxUtilisation = 1.0 EqP.tauxUtilisation = 1.0
x EqP.tauxUtilisation result = result x EqP.tauxUtilisation
FIN SI FIN SI
'récupération de l'impact pour le critère et l'étape ACV en cours, de la référence de l'équipement retenue ind_ImpactEquipementPhysique.impactUnitaire= result
x Ref_FacteurCaracterisation(refEquipementretenu, EtapeACV, Critere).valeur
/ RG_DureeVieItem_Defaut(equipementPhysique)
'conso electrique retenue est null
ind_ImpactEquipementPhysique.consoElecMoyenne = null
FIN SI
} }
---- ----
...@@ -819,34 +808,34 @@ Cette règle permet le calcul de l'impact moyen d'une opération Non IT sur une ...@@ -819,34 +808,34 @@ Cette règle permet le calcul de l'impact moyen d'une opération Non IT sur une
|ind_ImpactOperationNonIT.nomItemNonIT|sortie|le nom de l'item dont on a calculé l'impact |ind_ImpactOperationNonIT.nomItemNonIT|sortie|le nom de l'item dont on a calculé l'impact
|ind_ImpactOperationNonIT.critere|sortie|le critere calculé |ind_ImpactOperationNonIT.critere|sortie|le critere calculé
|ind_ImpactOperationNonIT.etapeACV|sortie|l'étape ACV calculée |ind_ImpactOperationNonIT.etapeACV|sortie|l'étape ACV calculée
|ind_ImpactOperationNonIT.type|sortie|le type d'item |ind_ImpactOperationNonIT.typeItem|sortie|le type d'item
|ind_ImpactOperationNonIT.impactUnitaire|sortie|l'impact calculé pour le critère et l'étape ACV, vaut null en cas d'erreur |ind_ImpactOperationNonIT.impactUnitaire|sortie|l'impact calculé pour le critère et l'étape ACV, vaut null en cas d'erreur
|ind_ImpactOperationNonIT.quantite|sortie|la quantité d'items |ind_ImpactOperationNonIT.quantite|sortie|la quantité d'items
|ind_ImpactOperationNonIT.unite|sortie|l'unité présente dans le référentiel correspondant au critère en cours |ind_ImpactOperationNonIT.unite|sortie|l'unité présente dans le référentiel correspondant au critère en cours
|ind_ImpactOperationNonIT.consoElecMoyenne|sortie|la consommation électrique |ind_ImpactOperationNonIT.consoElecMoyenne|sortie|la consommation électrique
|ind_ImpactOperationNonIT.qualite|sortie|la qualité de la donnée d'inventaire |ind_ImpactOperationNonIT.qualite|sortie| operationNonIT.qualite
|=== |===
[pseudocode] [pseudocode]
---- ----
soit en_OperatioNonIT(Operation) = OpNIT soit operationNonIT = OpNIT
Règle calculIndicateurImpactOperationNonIT(critere, etape, nomOrganisation, OpNIT, ind_ImpactOperationNonIT) { Règle calculIndicateurImpactOperationNonIT(critere, etape, nomOrganisation, OpNIT, ind_ImpactOperationNonIT) {
'Récupération de la correspondance de refItem 'Récupération de la correspondance de refItem
refItemRetenu = RG_correspondanceRefOperationNonIT(nomOrganisation, OpNIT) refItemRetenu = RG_correspondanceRefOperationNonIT(nomOrganisation, OpNIT)
ind_ImpactOperationNonIT(Item, EtapeACV, Critere) = result = 0
SI OpNIT.categorie = "RESEAU_MOBILE" OU "RESEAU_FIXE" OU "MAINTENANCE" OU "BATIMENT" SI OpNIT.categorie = "RESEAU_MOBILE" OU "RESEAU_FIXE" OU "MAINTENANCE" OU "BATIMENT"
SI EtapeACV.code = "UTILISATION" SI EtapeACV.code = "UTILISATION"
OpNIT.quantité result= result + OpNIT.quantité
SI OpNIT.consoElecAnnuelle est renseigné SI OpNIT.consoElecAnnuelle est renseigné
x OpNIT.consoElecAnnuelle result= result x OpNIT.consoElecAnnuelle
'enregistrement de la consommation electrique retenue 'enregistrement de la consommation electrique retenue
ind_ImpactOperationNonIT.consoElecMoyenne = OpNIT.consoElecAnnuelle ind_ImpactOperationNonIT.consoElecMoyenne = OpNIT.consoElecAnnuelle
SINON SI SINON SI
'récupération de la consommation électrique de la référence de l'équipement retenue 'récupération de la consommation électrique de la référence de l'équipement retenue
x Ref_FacteurCaracterisation(refItemRetenu, EtapeACV, Critere).consoElecAnMoyenne result= result x Ref_FacteurCaracterisation(refItemRetenu, EtapeACV, Critere).consoElecAnMoyenne
'enregistrement de la consommation electrique retenue 'enregistrement de la consommation electrique retenue
ind_ImpactOperationNonIT.consoElecMoyenne = Ref_FacteurCaracterisation(refItemRetenu, EtapeACV, Critere).consoElecAnMoyenne ind_ImpactOperationNonIT.consoElecMoyenne = Ref_FacteurCaracterisation(refItemRetenu, EtapeACV, Critere).consoElecAnMoyenne
SINON SINON
...@@ -854,44 +843,52 @@ Règle calculIndicateurImpactOperationNonIT(critere, etape, nomOrganisation, OpN ...@@ -854,44 +843,52 @@ Règle calculIndicateurImpactOperationNonIT(critere, etape, nomOrganisation, OpN
Arret du calcul Arret du calcul
FIN SI FIN SI
x ref_FacteurCaracterisation(EtapeACV, Critere, Categorie=electricity-mix, Localisation = OpNIT.Localisation).valeur result= result x ref_FacteurCaracterisation(EtapeACV, Critere, Categorie=electricity-mix, Localisation = OpNIT.Localisation).valeur
SINON SI EtapeACV.code != "UTILISATION" SINON SI EtapeACV.code != "UTILISATION"
OpNIT.quantité result= result + OpNIT.quantité
'récupération de l'impact pour le critère et l'étape ACV en cours, de la référence de l'item retenu 'récupération de l'impact pour le critère, de l'étape ACV en cours et de la référence de l'item retenu
x Ref_FacteurCaracterisation(refItemRetenu, EtapeACV, Critere).valeur result= result x Ref_FacteurCaracterisation(refItemRetenu, EtapeACV, Critere).valeur
SI OpNIT.categorie = "RESEAU_FIXE" SI OpNIT.categorie = "RESEAU_FIXE"
/ ref_Hypothese.valeur(CAPACITE_LIGNE_FIXE_LOCALISATION) referenceHypothese= ref_TypeItem(OpNIT.type).refHypothese
SI referenceHypothese existe
SI ref_Hypothese(referenceHypothese) existe
result= result / ref_Hypothese(referenceHypothese).valeur
SINON SI OpNIT.categorie = "BATIMENT" SINON SI OpNIT.categorie = "BATIMENT"
/ RG_DureeVieItem_Defaut(operationNonIT) result= result / RG_DureeVieItem_Defaut(operationNonIT)
FIN SI FIN SI
SINON SI OpNIT.categorie = "DEPLACEMENT_ELECTRIQUE" OU "DEPLACEMENT_ESSENCE" OU DEPLACEMENT_HYBRIDE SINON SI OpNIT.categorie = "DEPLACEMENT_ELECTRIQUE" OU "DEPLACEMENT_ESSENCE" OU DEPLACEMENT_HYBRIDE
'nombre de kilomètres parcourus dans le véhicule 'la quantité est dans ce cas relative au nombre de kilomètres parcourus par le véhicule
OpNIT.quantité result= result + OpNIT.quantité
'récupération de la consommation moyenne pour le véhicule choisi, valeur récupérée dans ref_hypothèses 'récupération de la consommation moyenne pour le véhicule choisi, valeur récupérée dans ref_hypothèses
x ref_Hypothese.valeur(OpNIT.refHypothese) referenceHypothese= ref_TypeItem(OpNIT.type).refHypothese
SI referenceHypothese existe
SI ref_Hypothese(referenceHypothese) existe
result= result x ref_Hypothese(referenceHypothese).valeur
SI OpNIT.categorie = "DEPLACEMENT_ELECTRIQUE" SI OpNIT.categorie = "DEPLACEMENT_ELECTRIQUE"
'récupération du mix électrique pour le critère de Fabrication et pour l'étape ACV en cours 'récupération du mix électrique pour le critère de Fabrication et pour l'étape ACV en cours
x ref_FacteurCaracterisation.valeur(FABRICATION, Critère, mix elec, OpNIT.Localisation)) result= result x ref_FacteurCaracterisation(FABRICATION, Critère, mix elec, OpNIT.Localisation).valeur
SINON SI OpNIT.categorie = "DEPLACEMENT_ESSENCE" SINON SI OpNIT.categorie = "DEPLACEMENT_ESSENCE"
'récupération de l'impact de la production d'essence pour le critère de Fabrication et pour l'étape ACV en cours 'récupération de l'impact de la production d'essence pour le critère de Fabrication et pour l'étape ACV en cours
x ref_FacteurCaracterisation.valeur(FABRICATION, Critère, Production essence )) result= result x ref_FacteurCaracterisation(FABRICATION, Critère, Production essence).valeur
SINON SI OpNIT.categorie = "DEPLACEMENT_HYBRIDE" SINON SI OpNIT.categorie = "DEPLACEMENT_HYBRIDE"
'récupération de l'impact de la production d'essence pour le critère de Fabrication et pour l'étape ACV en cours 'récupération de l'impact de la production d'essence pour le critère de Fabrication et pour l'étape ACV en cours
x ref_FacteurCaracterisation.valeur(FABRICATION, Critère, Production essence )) result= result x ref_FacteurCaracterisation(FABRICATION, Critère, Production essence).valeur
'récupération du taux utile pour le calcul d'impact des véhicules hybrides, valeur récupérée dans ref_hypothèses 'récupération du taux utile pour le calcul d'impact des véhicules hybrides, valeur récupérée dans ref_hypothèses
x ref_Hypothese.valeur('taux_vehicule_hybride') result= result x ref_Hypothese('taux_vehicule_hybride').valeur
FIN SI FIN SI
FIN SI FIN SI
ind_ImpactOperationNonIT.impactUnitaire = result
} }
---- ----
......
...@@ -10,6 +10,7 @@ String source ...@@ -10,6 +10,7 @@ String source
'liste des types d'items autorisés 'liste des types d'items autorisés
class ref_TypeItem{ class ref_TypeItem{
*String type *String type
' Equipement, BATIMENT, RESEAU_FIXE, DEPLACEMENT_ELECTRIQUE...
String categorie String categorie
'le booléen "serveur" permet de distinguer les équipements inclus dans le calcul de l'impact d'un serveur applicatif à l'utilisation 'le booléen "serveur" permet de distinguer les équipements inclus dans le calcul de l'impact d'un serveur applicatif à l'utilisation
boolean serveur boolean serveur
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment