From fcec5d6bdeceba409453be8ba5d56fd21dc5032d Mon Sep 17 00:00:00 2001
From: fheinrich <fheinrich@techfak.uni-bielefeld.de>
Date: Thu, 21 Mar 2024 11:59:39 +0100
Subject: [PATCH] Fix no orders appearing at all with small times and

---
 cooperative_cuisine/orders.py | 29 ++++++++++++++---------------
 1 file changed, 14 insertions(+), 15 deletions(-)

diff --git a/cooperative_cuisine/orders.py b/cooperative_cuisine/orders.py
index 95b994c5..0b0529e0 100644
--- a/cooperative_cuisine/orders.py
+++ b/cooperative_cuisine/orders.py
@@ -402,7 +402,7 @@ class RandomOrderGeneration(OrderGeneration):
         """For efficient checking to update order removable."""
         self.number_cur_orders: int = 0
         """How many orders are currently open."""
-        self.needed_orders: int = 0
+        self.num_needed_orders: int = 0
         """For the sample on dur but when it was restricted due to max order number."""
 
     def init_orders(self, now) -> list[Order]:
@@ -435,26 +435,25 @@ class RandomOrderGeneration(OrderGeneration):
             if new_finished_orders:
                 self.create_random_next_time_delta(now)
                 return []
-        # print(
-        #     " - -",
-        #     self.needed_orders,
-        #     self.number_cur_orders,
-        #     self.next_order_time,
-        #     now,
-        # )
-
-        if self.needed_orders:
-            self.needed_orders -= len(new_finished_orders)
-            self.needed_orders = max(self.needed_orders, 0)
-            self.number_cur_orders += len(new_finished_orders)
+
+        # print(self.number_cur_orders, self.num_needed_orders)
+
+        if self.num_needed_orders:
+            # self.num_needed_orders -= len(new_finished_orders)
+            # self.num_needed_orders = max(self.num_needed_orders, 0)
+            # self.number_cur_orders += len(new_finished_orders)
+
             return self.create_orders_for_meals(
-                self.random.choices(self.available_meals, k=len(new_finished_orders)),
+                self.random.choices(
+                    self.available_meals,
+                    k=len(new_finished_orders) + len(expired_orders),
+                ),
                 now,
             )
 
         if self.next_order_time <= now:
             if self.number_cur_orders >= self.kwargs.max_orders:
-                self.needed_orders += 1
+                self.num_needed_orders += 1
             else:
                 if not self.kwargs.sample_on_serving:
                     self.create_random_next_time_delta(now)
-- 
GitLab