Skip to content
Extraits de code Groupes Projets
Valider 9c8638ab rédigé par Rémi - Le Filament's avatar Rémi - Le Filament
Parcourir les fichiers

[FIX] prorata computation

parent 0c69a335
Branches
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -202,7 +202,7 @@ class CustomerPortal(CustomerPortal):
raise werkzeug.exceptions.abort(werkzeug.wrappers.Response(status=401))
if graph_type == "repartition_data":
vals = operation.get_repartition_data(
start_date, end_date, partner_id, prm_id, data_type, graph_type
start_date, end_date, partner_id, prm_id
)
else:
vals = operation.get_graph(
......
......@@ -103,11 +103,8 @@ class AccOperation(models.Model):
for counter_id in counter_ids: # injection
if filter_counter_id is not None and counter_id != filter_counter_id:
continue
timeslot_ids = counter_ids[counter_id]
for timeslot_id in timeslot_ids:
timeslot = timeslot_ids[timeslot_id]
total_surplus = total_surplus + timeslot["surplus"]
total_prod = total_prod + timeslot["prod"]
total_surplus = total_surplus + counter_ids[counter_id]["surplus"]
total_prod = total_prod + counter_ids[counter_id]["prod"]
return total_prod, total_surplus
def sort_partners_prorata(
......@@ -120,21 +117,18 @@ class AccOperation(models.Model):
counter_ids = partner["acc_counter_ids"]
autocons = 0
for counter_id in counter_ids: # soutirage
timeslot_ids = counter_ids[counter_id]
for timeslot_id in timeslot_ids:
timeslot = timeslot_ids[timeslot_id]
if filter_counter_id is not None:
autocons = (
autocons
+ timeslot["autocons_per_inj_counter"][filter_counter_id]
+ counter_ids[counter_id]["autocons_per_inj_counter"][filter_counter_id]
)
elif filter_partner_id is not None:
autocons = (
autocons
+ timeslot["autocons_per_inj_partner"][filter_partner_id]
+ counter_ids[counter_id]["autocons_per_inj_partner"][filter_partner_id]
)
else:
autocons = autocons + timeslot["autocons"]
autocons = autocons + counter_ids[counter_id]["autocons"]
tPartners[partner_id] = autocons
total = total + autocons
......@@ -148,22 +142,19 @@ class AccOperation(models.Model):
):
tCounters = {}
for counter_id in counter_ids: # soutirage
timeslot_ids = counter_ids[counter_id]
autocons = 0
for timeslot_id in timeslot_ids:
timeslot = timeslot_ids[timeslot_id]
if filter_counter_id is not None:
autocons = (
autocons
+ timeslot["autocons_per_inj_counter"][filter_counter_id]
+ counter_ids[counter_id]["autocons_per_inj_counter"][filter_counter_id]
)
elif filter_partner_id is not None:
autocons = (
autocons
+ timeslot["autocons_per_inj_partner"][filter_partner_id]
+ counter_ids[counter_id]["autocons_per_inj_partner"][filter_partner_id]
)
else:
autocons = autocons + timeslot["autocons"]
autocons = autocons + counter_ids[counter_id]["autocons"]
tCounters[counter_id] = autocons
sorted_counter = dict(
......@@ -190,22 +181,19 @@ class AccOperation(models.Model):
tCounter["zip"] = dbCounter.zip
tCounter["city"] = dbCounter.city
timeslot_ids = counter_ids[counter_id]
autocons = 0
for timeslot_id in timeslot_ids:
timeslot = timeslot_ids[timeslot_id]
if filter_counter_id is not None:
autocons = (
autocons
+ timeslot["autocons_per_inj_counter"][filter_counter_id]
+ counter_ids[counter_id]["autocons_per_inj_counter"][filter_counter_id]
)
elif filter_partner_id is not None:
autocons = (
autocons
+ timeslot["autocons_per_inj_partner"][filter_partner_id]
+ counter_ids[counter_id]["autocons_per_inj_partner"][filter_partner_id]
)
else:
autocons = autocons + timeslot["autocons"]
autocons = autocons + counter_ids[counter_id]["autocons"]
subtotal = subtotal + autocons
tCounter["autocons"] = autocons
......@@ -250,8 +238,6 @@ class AccOperation(models.Model):
end_date,
filter_partner_id,
filter_prm_id,
data_type,
graph_type,
):
self.ensure_one()
start_date = datetime.strptime(start_date, "%d/%m/%Y")
......@@ -260,6 +246,7 @@ class AccOperation(models.Model):
acc_operation_id=self.id,
start_date=start_date,
end_date=end_date,
filter_date=False,
)
self.env["acc.logs"].create(
{
......
......@@ -451,7 +451,7 @@
<tr class="fw-bolder bg-light">
<td class="text-uppercase">Surplus</td>
<td class="text-end text-nowrap"><t
t-esc="('%.0f' % tSurplus['surplus'])"
t-esc="('%.2f' % tSurplus['surplus'])"
/> kWh</td>
<td class="text-end text-nowrap"><t
t-esc="('%.1f' % tSurplus['percentage']).replace('.', ',')"
......@@ -466,7 +466,7 @@
>
<td><t t-esc="tPartner['name']" /></td>
<td class="text-end text-nowrap"><t
t-esc="('%.0f' % tPartner['autocons'])"
t-esc="('%.2f' % tPartner['autocons'])"
/> kWh</td>
<td class="text-end text-nowrap"><t
t-esc="('%.1f' % tPartner['percentage']).replace('.', ',')"
......@@ -491,7 +491,7 @@
/>
</td>
<td class="text-end text-nowrap"><t
t-esc="('%.0f' % tCounter['autocons'])"
t-esc="('%.2f' % tCounter['autocons'])"
/> kWh</td>
<td class="text-end text-nowrap"><t
t-esc="('%.1f' % tCounter['percentage']).replace('.', ',')"
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter