From 624206c70def3d2122561dfc2aaf24d7b81f8d06 Mon Sep 17 00:00:00 2001 From: Felix Blanke <info@fblanke.de> Date: Tue, 21 Jan 2025 16:16:39 +0100 Subject: [PATCH] Change rounding strategy to ceil --- AKModel/models.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/AKModel/models.py b/AKModel/models.py index 800cb3e8..487a0ece 100644 --- a/AKModel/models.py +++ b/AKModel/models.py @@ -1,5 +1,7 @@ +import decimal import itertools import json +import math from dataclasses import dataclass from datetime import datetime, timedelta from typing import Iterable, Generator @@ -1008,11 +1010,12 @@ class AKSlot(models.Model): conflict_slots = AKSlot.objects.filter(ak__in=self.ak.conflicts.all()) dependency_slots = AKSlot.objects.filter(ak__in=self.ak.prerequisites.all()) + ceil_offet_eps = decimal.Decimal(1e-4) # self.slots_in_an_hour is set in AKJSONExportView data = { "id": str(self.pk), - "duration": round(self.duration * self.slots_in_an_hour), + "duration": math.ceil(self.duration * self.slots_in_an_hour - ceil_offet_eps), "properties": { "conflicts": [str(conflict.pk) for conflict in conflict_slots.all()], "dependencies": [str(dep.pk) for dep in dependency_slots.all()], -- GitLab