From 6d58fe5d57b69ac90a6529bfca70876f7954103b Mon Sep 17 00:00:00 2001 From: Jules Date: Fri, 25 Sep 2026 10:51:08 +0200 Subject: [PATCH] Consommables : capacite defaut 320, 15x20 compte double (papier + ruban) Co-Authored-By: Claude Opus 4.6 --- backend/destinations.py | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/backend/destinations.py b/backend/destinations.py index c477f47..df3082b 100644 --- a/backend/destinations.py +++ b/backend/destinations.py @@ -334,8 +334,8 @@ def compteur_restant() -> dict: limite_event = compteur.get("limite", 0) if compteur.get("actif") and limite_event > 0: restantes = min(restantes, max(0, limite_event - prises)) - papier_cap = conso.get("papier_capacite", 400) - ruban_cap = conso.get("ruban_capacite", 400) + papier_cap = conso.get("papier_capacite", 320) + ruban_cap = conso.get("ruban_capacite", 320) capacite_conso = int(min(papier_cap, ruban_cap)) return { "actif": compteur.get("actif", False), @@ -359,7 +359,13 @@ RATIO_RUBAN_OPTIMAL = { "10x15": 0.5, "10x15-2up": 1.0, "15x20": 1.0, - "15x20-2up": 1.0, + "15x20-2up": 2.0, +} +# Poids papier : combien d'unites 10x15 une feuille consomme +POIDS_PAPIER = { + "10x15": 1, "10x15-2up": 1, + "15x20": 2, "15x20-2up": 2, + "15x15": 2, "15x15-2up": 2, } def maj_consommables(config: dict, copies: int, format_papier: str | None): @@ -370,19 +376,20 @@ def maj_consommables(config: dict, copies: int, format_papier: str | None): is_2up = "-2up" in fmt feuilles = copies if not is_2up else (copies + 1) // 2 - conso["papier_utilise"] = conso.get("papier_utilise", 0) + feuilles + poids = POIDS_PAPIER.get(fmt, 1) + conso["papier_utilise"] = conso.get("papier_utilise", 0) + feuilles * poids conso["photos_imprimees"] = conso.get("photos_imprimees", 0) + copies ratio_optimal = RATIO_RUBAN_OPTIMAL.get(fmt, 1.0) + ruban_par_feuille = float(poids) if rembobinage: ruban_consomme = feuilles * ratio_optimal else: - ruban_consomme = feuilles * 1.0 + ruban_consomme = feuilles * ruban_par_feuille conso["ruban_utilise"] = round(conso.get("ruban_utilise", 0) + ruban_consomme, 1) - # Poses perdues = ruban avance inutilement (difference entre consomme et optimal) - poses_perdues = feuilles * 1.0 - feuilles * ratio_optimal if not rembobinage else 0 + poses_perdues = feuilles * ruban_par_feuille - feuilles * ratio_optimal if not rembobinage else 0 conso["poses_perdues"] = round(conso.get("poses_perdues", 0) + poses_perdues, 1) mettre_a_jour_config({"consommables": conso}) @@ -392,8 +399,8 @@ def consommables_etat() -> dict: """Retourne l'etat des consommables.""" config = charger_config() conso = config.get("consommables", {}) - papier_cap = conso.get("papier_capacite", 400) - ruban_cap = conso.get("ruban_capacite", 400) + papier_cap = conso.get("papier_capacite", 320) + ruban_cap = conso.get("ruban_capacite", 320) papier_used = conso.get("papier_utilise", 0) ruban_used = conso.get("ruban_utilise", 0) photos = conso.get("photos_imprimees", 0)