Skip to content

Commit a5ef1f1

Browse files
committed
fix: Utilitzar primer el comptador actual si té lectures per crear la info base de les lectures fake
1 parent 239f1af commit a5ef1f1

File tree

1 file changed

+28
-12
lines changed
  • gestionatr/input/messages

1 file changed

+28
-12
lines changed

gestionatr/input/messages/F1.py

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2369,26 +2369,42 @@ def get_fake_pX_lectura(self, tipus, periode, base_info, lectura_desde=0, lectur
23692369

23702370
return new_integrador
23712371

2372-
def get_comptador_amb_lectures(self, tipus=None):
2372+
def get_comptador_amb_lectures(self, comptador=None, tipus=None):
23732373
"""
2374-
Retorna el primer comptador que tingui les lectures del tipus inidcat
2375-
Si cap comptador té lectures del primer tipus, es repeteix el procés amb el seguent tipus
2374+
Retorna el primer comptador que tingui lectures disponibles segons
2375+
l’ordre de prioritat dels tipus indicats.
2376+
2377+
Primer es comprova el comptador passat com a paràmetre. Si aquest no
2378+
té lectures, es busquen lectures entre els comptadors de les mesures
2379+
associades.
2380+
2381+
Si no es troba cap comptador amb lectures, es retorna None.
2382+
2383+
:param comptador: Comptador a comprovar primer (opcional)
2384+
:param tipus: Tipus de lectura per ordre de prioritat.
2385+
Per defecte ['S', 'A']
2386+
:return: Comptador amb lectures o None
23762387
"""
23772388
if tipus is None:
23782389
tipus = ['S', 'A']
2379-
comptador_amb_lectures = None
2390+
2391+
# Comprova primer el comptador passat
2392+
if comptador:
2393+
for t in tipus:
2394+
if comptador.get_lectures(tipus=t):
2395+
return comptador
2396+
2397+
# Comprova la resta de comptadors
23802398
for medida in self.medidas:
23812399
for t in tipus:
23822400
for c in medida.modelos_aparatos:
2401+
# Evita tornar a comprovar el comptador passat
2402+
if comptador and c is comptador:
2403+
continue
23832404
if c.get_lectures(tipus=t):
2384-
comptador_amb_lectures = c
2385-
break
2386-
if comptador_amb_lectures:
2387-
break
2388-
if comptador_amb_lectures:
2389-
break
2405+
return c
23902406

2391-
return comptador_amb_lectures
2407+
return None
23922408

23932409
def get_fake_AS_lectures(self, period_start=1, comptador_base=None):
23942410
res = []
@@ -2397,7 +2413,7 @@ def get_fake_AS_lectures(self, period_start=1, comptador_base=None):
23972413
te_autoconsum = (self.autoconsumo and self.autoconsumo.energia_excedentaria) or conceptes_repercutibles_excedents
23982414
if not te_autoconsum:
23992415
return res
2400-
comptador_amb_lectures = self.get_comptador_amb_lectures()
2416+
comptador_amb_lectures = self.get_comptador_amb_lectures(comptador=comptador_base)
24012417
if comptador_amb_lectures:
24022418
base_info = comptador_amb_lectures.get_lectures_activa_entrant()[0]
24032419
num_periodes = self.get_num_periodes_from_tarifa_and_tipus(tipus='S')

0 commit comments

Comments
 (0)