File size: 897 Bytes
ee14b8f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from typing import List, Dict
import streamlit as st
from .manufacturer_db import ManufacturerDB

class OrderQueue:
    def __init__(self):
        # Initialize session state for orders if not exists
        if 'orders' not in st.session_state:
            st.session_state.orders = []
    
    def add_order(self, order: Dict):
        """
        Add a new order to the queue.
        Order dict should contain: {'medicine': str, 'quantity': str, 'dosage': str}
        """
        st.session_state.orders.append(order)
        
    def get_all_orders(self) -> List[Dict]:
        return st.session_state.orders
    
    def clear_queue(self):
        st.session_state.orders = []
        
    def get_grouped_orders(self, db: ManufacturerDB) -> Dict[str, List[Dict]]:
        """Group all current orders by manufacturer."""
        return db.get_orders_by_manufacturer(st.session_state.orders)