Skip to content
Extraits de code Groupes Projets

[FIX] fix horodate on period

6 files
+ 86
53
Comparer les modifications
  • Côte à côte
  • En ligne

Fichiers

+ 14
6
@@ -136,7 +136,8 @@ class AccOperation(models.Model):
_("Pas de données brute pour le mois précedent présente")
)
# contrôle, l'ensemble des affectations ne doit pas dépasser la production à affecter
# contrôle, l'ensemble des affectations ne
# doit pas dépasser la production à affecter
for slot in data:
item = data.get(slot)
affect = item.get("affect")
@@ -147,7 +148,8 @@ class AccOperation(models.Model):
if abs(affect_sum + remaining_prod - total_production) > 1e-3:
raise ValidationError(
_(
"Une erreur s'est produite lors de l'affectation de l'auto-consommation"
"Une erreur s'est produite lors de "
"l'affectation de l'auto-consommation"
)
)
@@ -158,14 +160,18 @@ class AccOperation(models.Model):
if affect:
total_production = item.get("prod_initiale")
# calcul du pourcentage attribué à chaque compteur par rapport à la production totale
# calcul du pourcentage attribué à chaque
# compteur par rapport à la production totale
weights = {}
for counter_id in affect:
affecte_counter = affect.get(counter_id)
if total_production == 0:
weight = 0.0
else:
weight = math.floor((affecte_counter * 100 / total_production) * 1e+6) / 1e+6
weight = (
math.floor((affecte_counter * 100 / total_production) * 1e6)
/ 1e6
)
weights[counter_id] = weight
slot_line = []
@@ -381,9 +387,11 @@ class AccOperation(models.Model):
"""
counter_period = {}
res = [
datetime.strptime(d, "%d-%m-%y")
d.date()
for d in list(
OrderedDict.fromkeys([h.strftime("%d-%m-%y") for h in date_list])
OrderedDict.fromkeys(
[utc_to_local(h, "Europe/Paris") for h in date_list]
)
)
]
for date_item in res:
Chargement en cours