Spaces:
Sleeping
Sleeping
Update main.py
Browse files
main.py
CHANGED
|
@@ -10,6 +10,7 @@ import data_processor
|
|
| 10 |
import erp_generator
|
| 11 |
import file_handler
|
| 12 |
import reporter
|
|
|
|
| 13 |
|
| 14 |
|
| 15 |
def process_rental_company(company_name: str):
|
|
@@ -82,6 +83,57 @@ def process_uploaded_file(file_obj):
|
|
| 82 |
|
| 83 |
return output_csv
|
| 84 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 85 |
|
| 86 |
def main():
|
| 87 |
"""
|
|
|
|
| 10 |
import erp_generator
|
| 11 |
import file_handler
|
| 12 |
import reporter
|
| 13 |
+
import pandas as pd
|
| 14 |
|
| 15 |
|
| 16 |
def process_rental_company(company_name: str):
|
|
|
|
| 83 |
|
| 84 |
return output_csv
|
| 85 |
|
| 86 |
+
def process_rental_company_with_voucher(uploaded_file_path, voucher_number):
|
| 87 |
+
"""
|
| 88 |
+
μ¬μ©μκ° μ
λ‘λν νμΌκ³Ό μ νλ²νΈλ₯Ό λ°μ ERP μλ μ ννμΌμ μμ±νλ ν¨μ
|
| 89 |
+
|
| 90 |
+
Args:
|
| 91 |
+
uploaded_file_path (str): μ
λ‘λλ νμΌ κ²½λ‘ (CSV λ³νλ κ²½λ‘)
|
| 92 |
+
voucher_number (str): μ¬μ©μ μ
λ ₯ μ νλ²νΈ
|
| 93 |
+
|
| 94 |
+
Returns:
|
| 95 |
+
output_path (str): μ΅μ’
μ μ₯λ νμΌ κ²½λ‘ (xlsx)
|
| 96 |
+
"""
|
| 97 |
+
# νκ΅λ ν κΈ°μ€μΌλ‘ μ€μ (νΉμ λ€λ₯΄λ©΄ μΆν νμ₯ κ°λ₯)
|
| 98 |
+
company_name = "νκ΅λ ν"
|
| 99 |
+
company_config = cfg.RENTAL_COMPANIES[company_name]
|
| 100 |
+
|
| 101 |
+
# λ§€ν μ 보 λ‘λ
|
| 102 |
+
mapping_file = company_config['mapping_file']
|
| 103 |
+
mapping_dict = mapping_utils.load_mapping_file(mapping_file)
|
| 104 |
+
|
| 105 |
+
# λ°μ΄ν° λ‘λ λ° μ μ²λ¦¬
|
| 106 |
+
df, df_filtered = data_processor.load_and_preprocess_data(uploaded_file_path, company_config, mapping_dict)
|
| 107 |
+
|
| 108 |
+
# λ°μ΄ν° μμ½ μμ±
|
| 109 |
+
summary = data_processor.summarize_data(df_filtered, mapping_dict)
|
| 110 |
+
|
| 111 |
+
# ERP λ°μ΄ν° μμ±
|
| 112 |
+
erp_df = erp_generator.generate_erp_data(df_filtered, company_config)
|
| 113 |
+
|
| 114 |
+
# ERP νμ€ μ»¬λΌ κ΅¬μ‘°λ‘ μ€λΉ
|
| 115 |
+
erp_df = erp_generator.prepare_erp_columns(erp_df)
|
| 116 |
+
|
| 117 |
+
# κ΄λ¦¬νλͺ© μ€μ
|
| 118 |
+
erp_df = erp_generator.set_management_items(erp_df, df_filtered, company_config)
|
| 119 |
+
|
| 120 |
+
# **μ¬κΈ°μ μ νλ²νΈ μ±μλ£κΈ°**
|
| 121 |
+
if 'ROW_ID' in erp_df.columns:
|
| 122 |
+
erp_df['ROW_ID'] = voucher_number
|
| 123 |
+
if 'NO_DOCU' in erp_df.columns:
|
| 124 |
+
erp_df['NO_DOCU'] = voucher_number
|
| 125 |
+
|
| 126 |
+
# μ μ₯ κ²½λ‘ μ€μ
|
| 127 |
+
output_filename = f"μλμ ν_μμ±νμΌ_{datetime.now().strftime('%Y%m%d')}.xlsx"
|
| 128 |
+
output_path = os.path.join(cfg.OUTPUT_DIR, output_filename)
|
| 129 |
+
|
| 130 |
+
os.makedirs(cfg.OUTPUT_DIR, exist_ok=True)
|
| 131 |
+
|
| 132 |
+
# μμ
λ‘ μ μ₯
|
| 133 |
+
erp_df.to_excel(output_path, index=False)
|
| 134 |
+
|
| 135 |
+
return output_path
|
| 136 |
+
|
| 137 |
|
| 138 |
def main():
|
| 139 |
"""
|