File size: 2,339 Bytes
a47e303
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
"""
μ„€μ • 파일 및 경둜 관리 λͺ¨λ“ˆ
"""
import os
from datetime import datetime

# κΈ°λ³Έ 파일 경둜 μ„€μ •
INPUT_DIR = os.path.join(os.getcwd(), 'input')
OUTPUT_DIR = os.path.join(os.getcwd(), 'output')
MAPPING_DIR = os.path.join(os.getcwd(), 'mapping')
TEMPLATE_DIR = os.path.join(os.getcwd(), 'templates')

# 디렉토리가 μ—†μœΌλ©΄ 생성
for directory in [INPUT_DIR, OUTPUT_DIR, MAPPING_DIR, TEMPLATE_DIR]:
    if not os.path.exists(directory):
        os.makedirs(directory)

# ν˜„μž¬ λ‚ μ§œ 정보
CURRENT_DATE = datetime.now().strftime("%Y%m%d")
CURRENT_MONTH = datetime.now().strftime("%m")  # ν˜„μž¬ μ›” (01-12)

# λ Œνƒˆμ‚¬ μ„€μ • (μΆ”ν›„ λ‹€λ₯Έ λ Œνƒˆμ‚¬κ°€ 좔가될 수 있음)
RENTAL_COMPANIES = {
    'ν•œκ΅­λ Œνƒˆ': {
        'input_file': os.path.join(INPUT_DIR, 'ν•œκ΅­λ Œνƒˆ_λ Œνƒˆλ£Œ.csv'),
        'mapping_file': os.path.join(MAPPING_DIR, 'team_name_mapping.json'),
        'erp_form_file': os.path.join(TEMPLATE_DIR, 'erp_form.csv'),
        'output_csv': os.path.join(OUTPUT_DIR, f'μžλ™μ „ν‘œ_ν•œκ΅­λ Œνƒˆ_{CURRENT_DATE}.csv'),
        'output_excel': os.path.join(OUTPUT_DIR, f'μžλ™μ „ν‘œ_ν•œκ΅­λ Œνƒˆ_{CURRENT_DATE}.xls'),
        'partner_code': '101388',  # 거래처 μ½”λ“œ (ν•œκ΅­λ Œνƒˆ: 101388)
        'cost_center': '5020',     # μ½”μŠ€νŠΈμ„Όν„°(운영2)
        'expense_acct': '53000',   # κΈ°λ³Έ λΉ„μš© 계정
        'payable_acct': '25300',   # λ―Έμ§€κΈ‰κΈˆ 계정
        'cd_company': '1200',      # νšŒμ‚¬ μ½”λ“œ
        'cd_pc': '1200',           # νšŒκ³„λ‹¨μœ„
        'cd_wdept': '1010',        # μž‘μ„±λΆ€μ„œ
        'amount_field': f'{CURRENT_MONTH}μ›”λ Œνƒˆλ£Œ',  # κΈˆμ•‘ ν•„λ“œλͺ… (ν˜„μž¬ μ›” κΈ°μ€€)
        'team_fields': [f'{CURRENT_MONTH}μ›” λ³€κ²½PJT', f'{int(CURRENT_MONTH)-1}μ›” PJT'],  # νŒ€ 정보 ν•„λ“œλͺ… (μš°μ„ μˆœμœ„ 순)
        'note_prefix': 'ν•œκ΅­λ Œνƒˆγˆœ_PC λ Œνƒˆλ£Œ',  # μ μš” 접두어
    }
}

# κΈ°λ³Έ μ„€μ •κ°’
DEFAULT_ENCODING = 'utf-8'
CSV_OUTPUT_ENCODING = 'utf-8-sig'  # Excelμ—μ„œ ν•œκΈ€μ΄ κΉ¨μ§€μ§€ μ•Šλ„λ‘ BOM 포함

# ERP κ΄€λ ¨ μ„€μ •
ERP_DATA_ROW_START = 4  # 데이터 μ‹œμž‘ ν–‰ (5ν–‰)
ERP_DOCUMENT_TYPE = '11'  # μ „ν‘œμœ ν˜• (11: 일반)
ERP_APPROVAL_STATUS = '1'  # μŠΉμΈμ—¬λΆ€ (1: λ―Έκ²°/μž„μ‹œ)
ERP_PROCESS_STATUS = 'N'  # μ „ν‘œμ²˜λ¦¬κ²°κ³Ό (N: 미처리/μž„μ‹œ)
ERP_DOCUMENT_GUBUN = '3'  # μ „ν‘œκ΅¬λΆ„ (3: λŒ€μ²΄μ „ν‘œ)