85 lines
3.3 KiB
Python
85 lines
3.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""백제약품 get_monthly_sales() 테스트"""
|
|
|
|
import os
|
|
import sys
|
|
|
|
# wholesale 패키지 경로 추가
|
|
sys.path.insert(0, r'c:\Users\청춘약국\source\pharmacy-wholesale-api')
|
|
os.chdir(r'c:\Users\청춘약국\source\pharmacy-pos-qr-system\backend')
|
|
|
|
from dotenv import load_dotenv
|
|
load_dotenv()
|
|
|
|
from wholesale import BaekjeSession
|
|
|
|
def test_monthly_sales():
|
|
print("=" * 60)
|
|
print("백제약품 월간 매출 조회 테스트")
|
|
print("=" * 60)
|
|
|
|
session = BaekjeSession()
|
|
|
|
# 현재 월 조회
|
|
from datetime import datetime
|
|
now = datetime.now()
|
|
year = now.year
|
|
month = now.month
|
|
|
|
print(f"\n1. 현재 월 ({year}-{month:02d}) 조회:")
|
|
result = session.get_monthly_sales(year, month)
|
|
print(f" Success: {result.get('success')}")
|
|
if result.get('success'):
|
|
print(f" 월간 매출: {result.get('total_amount'):,}원")
|
|
print(f" 월간 반품: {result.get('total_returns'):,}원")
|
|
print(f" 순매출: {result.get('net_amount'):,}원")
|
|
print(f" 월간 입금: {result.get('total_paid'):,}원")
|
|
print(f" 월말 잔고: {result.get('ending_balance'):,}원")
|
|
print(f" 전월이월: {result.get('prev_balance'):,}원")
|
|
print(f" 회전일수: {result.get('rotate_days')}")
|
|
print(f" 조회기간: {result.get('from_date')} ~ {result.get('to_date')}")
|
|
else:
|
|
print(f" Error: {result.get('error')}")
|
|
|
|
# 전월 조회
|
|
prev_month = month - 1 if month > 1 else 12
|
|
prev_year = year if month > 1 else year - 1
|
|
|
|
print(f"\n2. 전월 ({prev_year}-{prev_month:02d}) 조회:")
|
|
result = session.get_monthly_sales(prev_year, prev_month)
|
|
print(f" Success: {result.get('success')}")
|
|
if result.get('success'):
|
|
print(f" 월간 매출: {result.get('total_amount'):,}원")
|
|
print(f" 월간 반품: {result.get('total_returns'):,}원")
|
|
print(f" 순매출: {result.get('net_amount'):,}원")
|
|
print(f" 월간 입금: {result.get('total_paid'):,}원")
|
|
print(f" 월말 잔고: {result.get('ending_balance'):,}원")
|
|
print(f" 전월이월: {result.get('prev_balance'):,}원")
|
|
print(f" 회전일수: {result.get('rotate_days')}")
|
|
print(f" 조회기간: {result.get('from_date')} ~ {result.get('to_date')}")
|
|
else:
|
|
print(f" Error: {result.get('error')}")
|
|
|
|
# 2달 전 조회
|
|
prev_month2 = prev_month - 1 if prev_month > 1 else 12
|
|
prev_year2 = prev_year if prev_month > 1 else prev_year - 1
|
|
|
|
print(f"\n3. 2달 전 ({prev_year2}-{prev_month2:02d}) 조회:")
|
|
result = session.get_monthly_sales(prev_year2, prev_month2)
|
|
print(f" Success: {result.get('success')}")
|
|
if result.get('success'):
|
|
print(f" 월간 매출: {result.get('total_amount'):,}원")
|
|
print(f" 월간 반품: {result.get('total_returns'):,}원")
|
|
print(f" 순매출: {result.get('net_amount'):,}원")
|
|
print(f" 월간 입금: {result.get('total_paid'):,}원")
|
|
print(f" 월말 잔고: {result.get('ending_balance'):,}원")
|
|
else:
|
|
print(f" Error: {result.get('error')}")
|
|
|
|
print("\n" + "=" * 60)
|
|
print("테스트 완료!")
|
|
print("=" * 60)
|
|
|
|
if __name__ == '__main__':
|
|
test_monthly_sales()
|