File size: 2,780 Bytes
02fd3ca 29608b7 02fd3ca 11f91a6 29608b7 11f91a6 29608b7 11f91a6 29608b7 11f91a6 29608b7 11f91a6 29608b7 11f91a6 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.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,
# end_date=end_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()
# ๋ ์ง ์ปฌ๋ผ์ datetime์ผ๋ก ๋ณํ (์ด๋ฏธ extract.py์์ ๋ณํ๋์ง๋ง ํ์คํ ํ๊ธฐ ์ํด)
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()
# ๋ ์ง ์ปฌ๋ผ์ datetime์ผ๋ก ๋ณํ
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
# (start_date, end_date) ํํ ๋ฆฌ์คํธ๋ก ๋ฐํ
ranges = [(row["start_date"], row["end_date"]) for _, row in date_ranges.iterrows()]
ranges = sorted(set(ranges)) # ์ค๋ณต ์ ๊ฑฐ ๋ฐ ์ ๋ ฌ
return ranges
|