avant correction v2 priorite
This commit is contained in:
Binary file not shown.
Binary file not shown.
@ -162,7 +162,6 @@ def process_course(cur, cnx, con_id: int):
|
|||||||
det_id = tp_info["det_id"]
|
det_id = tp_info["det_id"]
|
||||||
|
|
||||||
detail_table = f"resultv2_{con_id}_detail"
|
detail_table = f"resultv2_{con_id}_detail"
|
||||||
|
|
||||||
# -------------------------------------------------
|
# -------------------------------------------------
|
||||||
# Règle de priorité (peut rejeter ou forcer tour)
|
# Règle de priorité (peut rejeter ou forcer tour)
|
||||||
# -------------------------------------------------
|
# -------------------------------------------------
|
||||||
@ -177,6 +176,49 @@ def process_course(cur, cnx, con_id: int):
|
|||||||
det_id,
|
det_id,
|
||||||
tp_config
|
tp_config
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# -------------------------------------------------
|
||||||
|
# Gestion mémoire locale selon la règle de priorité
|
||||||
|
# -------------------------------------------------
|
||||||
|
|
||||||
|
# Si la lecture courante est rejetée par priorité :
|
||||||
|
if status == 0 and reason_code in ("REPLACED_BY_HIGHER_PRIORITY", "LOWER_PRIORITY"):
|
||||||
|
# On doit retirer l'ancienne lecture valide de la mémoire
|
||||||
|
if (tp_id, dossard) in _last_valid_read:
|
||||||
|
del _last_valid_read[(tp_id, dossard)]
|
||||||
|
|
||||||
|
# Si la lecture courante remplace une lecture existante :
|
||||||
|
elif reason_code == "REPLACED_BY_HIGHER_PRIORITY":
|
||||||
|
# La nouvelle lecture devient la base correcte pour les intervalles
|
||||||
|
_last_valid_read[(tp_id, dossard)] = dt_local
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# -------------------------------------------------
|
||||||
|
# Si la priorité a déjà rejeté la lecture, on n'applique pas les autres règles
|
||||||
|
# -------------------------------------------------
|
||||||
|
if status == 0:
|
||||||
|
insert_detail_record(
|
||||||
|
cur, cnx, con_id,
|
||||||
|
dossard, lec,
|
||||||
|
tp_id, tp_name,
|
||||||
|
chr_loc, prio, controller,
|
||||||
|
dt_utc,
|
||||||
|
status=status,
|
||||||
|
reason_code=reason_code,
|
||||||
|
reason_ref_id=reason_ref_id,
|
||||||
|
tour=None,
|
||||||
|
tempstour=None,
|
||||||
|
tempstour_str=None
|
||||||
|
)
|
||||||
|
continue
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------
|
# -------------------------------------------------
|
||||||
# Règle d'intervalle minimum entre lectures
|
# Règle d'intervalle minimum entre lectures
|
||||||
@ -205,6 +247,23 @@ def process_course(cur, cnx, con_id: int):
|
|||||||
reason_ref_id = det_id
|
reason_ref_id = det_id
|
||||||
log_debug(f"[SKIP INTERVAL] id={rcourse_id} {delta:.1f}s < {interval_sec}s")
|
log_debug(f"[SKIP INTERVAL] id={rcourse_id} {delta:.1f}s < {interval_sec}s")
|
||||||
|
|
||||||
|
insert_detail_record(
|
||||||
|
cur, cnx, con_id,
|
||||||
|
dossard, lec,
|
||||||
|
tp_id, tp_name,
|
||||||
|
chr_loc, prio, controller,
|
||||||
|
dt_utc,
|
||||||
|
status=status,
|
||||||
|
reason_code=reason_code,
|
||||||
|
reason_ref_id=reason_ref_id,
|
||||||
|
tour=None,
|
||||||
|
tempstour=None,
|
||||||
|
tempstour_str=None
|
||||||
|
)
|
||||||
|
continue
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# -------------------------------------------------
|
# -------------------------------------------------
|
||||||
# Calcul du tour + temps de tour
|
# Calcul du tour + temps de tour
|
||||||
# -------------------------------------------------
|
# -------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user