| import pandas as pd |
| import src.etl.extract as ex |
|
|
|
|
| def get_product_list(): |
| demand = ex.read_demand_data() |
| 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): |
| |
| 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(): |
| """ |
| COOIS_Released_Prod_Orders.csv์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ๋ ์ง๋ฅผ ๊ฐ์ ธ์ต๋๋ค. |
| |
| Returns: |
| tuple: (start_dates, end_dates) - ๊ณ ์ ํ ์์ ๋ ์ง์ ์ข
๋ฃ ๋ ์ง ๋ฆฌ์คํธ |
| """ |
| |
| 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(): |
| """ |
| COOIS_Released_Prod_Orders.csv์์ ๋ ์ง ๋ฒ์ ์กฐํฉ์ ๊ฐ์ ธ์ต๋๋ค. |
| |
| Returns: |
| list: ์ฌ์ฉ ๊ฐ๋ฅํ (start_date, end_date) ์กฐํฉ ๋ฆฌ์คํธ |
| """ |
| 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 |
|
|
|
|
|
|