File size: 2,520 Bytes
02fd3ca c9c4af4 02fd3ca 8504f5a 02fd3ca 11f91a6 8504f5a 29608b7 8504f5a 11f91a6 29608b7 11f91a6 29608b7 8504f5a 29608b7 8504f5a 29608b7 11f91a6 29608b7 8504f5a 29608b7 8504f5a 29608b7 11f91a6 29608b7 8504f5a 29608b7 |
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
import pandas as pd
import src.preprocess.extract as ex
def get_product_list(start_date=None):
"""
Get unique product list from demand data
Args:
start_date: start date to filter data. Required.
"""
demand = ex.read_orders_data(start_date=start_date)
print(demand["Material Number"].unique())
return demand["Material Number"].unique()
def get_employee_list():
employee = ex.read_employee_data()
employee = employee["Description"]
return employee["Employee_Type"].unique()
def get_released_product_list(start_date=None):
"""
get released product list from COOIS_Released_Prod_Orders.csv
Args:
start_date: start date to filter data. Required.
"""
released_orders = ex.read_orders_data(
start_date=start_date,
)
product_list = released_orders["Material Number"].unique().tolist()
print(f"Released products for date range {start_date}: {len(product_list)} products")
return product_list
def get_available_dates():
"""
get available all dates from COOIS_Released_Prod_Orders.csv
Returns:
tuple: (start_dates, end_dates) - unique start dates and end dates list
"""
released_orders = ex.read_orders_data()
released_orders["Basic start date"] = pd.to_datetime(released_orders["Basic start date"])
released_orders["Basic finish date"] = pd.to_datetime(released_orders["Basic finish date"])
start_dates = sorted(released_orders["Basic start date"].dt.date.unique())
end_dates = sorted(released_orders["Basic finish date"].dt.date.unique())
all_dates = sorted(set(start_dates + end_dates))
return all_dates, start_dates, end_dates
def get_date_ranges():
"""
get available (start_date, end_date) combinations
Returns:
list : available (start_date, end_date) combinations
"""
released_orders = ex.read_orders_data()
released_orders["Basic start date"] = pd.to_datetime(released_orders["Basic start date"])
released_orders["Basic finish date"] = pd.to_datetime(released_orders["Basic finish date"])
date_ranges = released_orders[["Basic start date", "Basic finish date"]].drop_duplicates()
date_ranges["start_date"] = date_ranges["Basic start date"].dt.date
date_ranges["end_date"] = date_ranges["Basic finish date"].dt.date
ranges = [(row["start_date"], row["end_date"]) for _, row in date_ranges.iterrows()]
ranges = sorted(set(ranges))
return ranges
|