| | import pandas as pd |
| | import src.etl.transform as transformed_data |
| | import streamlit_page.page1 as dashboard |
| | import datetime |
| | from datetime import timedelta |
| | import src.etl.extract as extract |
| |
|
| |
|
| | def get_date_span(): |
| | try: |
| | start_date = dashboard.start_date |
| | end_date = dashboard.end_date |
| | date_span = list(range(1, (end_date - start_date).days + 1)) |
| | print(f"date from user input") |
| | return date_span, start_date, end_date |
| | except Exception as e: |
| | print(f"using default value for date span") |
| | return list(range(1, 5)), datetime(2025, 3, 24), datetime(2025, 3, 28) |
| |
|
| |
|
| | |
| | DATE_SPAN, start_date, end_date = get_date_span() |
| |
|
| | |
| | PRODUCT_LIST = transformed_data.get_released_product_list(start_date, end_date) |
| | print(PRODUCT_LIST) |
| |
|
| |
|
| | def get_employee_type_list(): |
| | try: |
| | streamlit_employee_type_list = dashboard.employee_type_list |
| | return streamlit_employee_type_list |
| | except Exception as e: |
| | print(f"using default value for employee type list") |
| | employee_type_list = extract.read_employee_data() |
| | emp_type_list = employee_type_list["employment_type"].unique() |
| | return emp_type_list |
| |
|
| | EMPLOYEE_TYPE_LIST = get_employee_type_list() |
| | print(EMPLOYEE_TYPE_LIST) |
| |
|
| | def get_shift_list(): |
| | try: |
| | streamlit_shift_list = dashboard.shift_list |
| | return streamlit_shift_list |
| | except Exception as e: |
| | print(f"using default value for shift list") |
| | shift_list = extract.read_shift_data() |
| | shift_list = shift_list["shift"].unique() |
| | return shift_list |
| | SHIFT_LIST = get_shift_list() |
| | print(SHIFT_LIST) |
| |
|
| |
|
| | LINE_LIST = ["long", "short"] |
| |
|
| | LINE_LIST_PER_TYPE = { |
| | "long": 2, |
| | "short": 3, |
| | } |
| | DEMAND_LIST = {"a": 1000, "b": 6000, "c": 4000} |
| | COST_LIST_PER_EMP_SHIFT = { |
| | "Fixed": {1: 0, 2: 22, 3: 18}, |
| | "Humanizer": {1: 10, 2: 10, 3: 10}, |
| | } |
| | PRODUCTIVITY_LIST_PER_EMP_PRODUCT = { |
| | "Fixed": { |
| | 1: {"a": 1000, "b": 1000, "c": 1000}, |
| | 2: {"a": 1000, "b": 1000, "c": 1000}, |
| | 3: {"a": 1000, "b": 1000, "c": 1000}, |
| | }, |
| | "Humanizer": { |
| | 1: {"a": 10, "b": 6, "c": 5}, |
| | 2: {"a": 1000, "b": 1000, "c": 1000}, |
| | 3: {"a": 1000, "b": 1000, "c": 1000}, |
| | }, |
| | } |
| |
|
| |
|
| | MAX_EMPLOYEE_PER_TYPE_ON_DAY = { |
| | "Fixed": { |
| | t: 8 for t in DATE_SPAN |
| | }, |
| | "Humanizer": {t: 6 for t in DATE_SPAN}, |
| | } |
| | |
| |
|
| | MAX_HOUR_PER_PERSON_PER_DAY = 14 |
| | MAX_HOUR_PER_SHIFT_PER_PERSON = {1: 3, 2: 4, 3: 6} |
| | CAP_PER_LINE_PER_HOUR = { |
| | "long": 2200, |
| | "short": 1600, |
| | } |
| | |
| |
|
| |
|
| | DAILY_WEEKLY_SCHEDULE = "daily" |
| |
|