| | """ |
| | Supply Roster Optimization Tool - Streamlit App |
| | Simplified version with configuration and optimization results |
| | """ |
| |
|
| | import streamlit as st |
| | import sys |
| | import os |
| |
|
| | |
| | sys.path.append(os.path.join(os.path.dirname(__file__), 'src')) |
| |
|
| | |
| | st.set_page_config( |
| | page_title="Supply Roster Optimization Tool", |
| | page_icon="π¦", |
| | layout="wide", |
| | initial_sidebar_state="expanded" |
| | ) |
| |
|
| | |
| | st.sidebar.title("π¦ Supply Roster Tool") |
| | st.sidebar.markdown("---") |
| |
|
| | |
| | page = st.sidebar.selectbox( |
| | "Navigate to:", |
| | ["βοΈ Settings", "π Optimization Results", "π Demand Validation"], |
| | index=0 |
| | ) |
| |
|
| | |
| | if page == "βοΈ Settings": |
| | |
| | from config_page import render_config_page |
| | |
| | st.title("π¦ Supply Roster Optimization Tool") |
| | st.markdown("---") |
| | |
| | render_config_page() |
| |
|
| | elif page == "π Optimization Results": |
| | |
| | from optimization_results import display_optimization_results |
| | |
| | |
| | if 'optimization_results' in st.session_state and st.session_state.optimization_results: |
| | |
| | display_optimization_results(st.session_state.optimization_results) |
| | |
| | else: |
| | st.title("π Optimization Results") |
| | st.info("π No optimization results available yet.") |
| | st.markdown("Please run an optimization from the **βοΈ Settings** page first to see results here.") |
| | |
| | |
| | |
| | st.markdown("### π How to Get Results:") |
| | st.markdown("1. Go to **βοΈ Settings** page") |
| | st.markdown("2. Configure your optimization parameters") |
| | st.markdown("3. Click **π Optimize Schedule**") |
| | st.markdown("4. Return here to view detailed results and input data inspection") |
| |
|
| | elif page == "π Demand Validation": |
| | |
| | try: |
| | from src.demand_validation_viz import display_demand_validation |
| | |
| | st.title("π Demand Data Validation") |
| | st.markdown("---") |
| | |
| | display_demand_validation() |
| | |
| | except ImportError as e: |
| | st.error(f"β Error loading demand validation module: {str(e)}") |
| | st.info("π‘ Please ensure the demand validation module is properly installed.") |
| | except Exception as e: |
| | st.error(f"β Error in demand validation: {str(e)}") |
| | st.info("π‘ Please check the data files and configuration.") |
| |
|