Files
njts-accounting-core/query_api_trial_balance.py
2026-02-20 15:47:27 +09:00

49 lines
1.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env python3
"""
通过HTTP直接调用后端API查看试算表
"""
import urllib.request
import json
from datetime import datetime
try:
# 调用试算表API
url = "http://localhost:18080/trial-balance?fiscal_year=2025&date_from=2025-06-01&date_to=2025-06-30"
req = urllib.request.Request(url)
with urllib.request.urlopen(req, timeout=10) as response:
data = json.loads(response.read())
print("=" * 100)
print("【通过API获取的試算表701科目")
print("=" * 100)
# 打印返回数据的类型和前几条
print(f"\n返回数据类型: {type(data)}")
print(f"数据长度: {len(data) if isinstance(data, (list, dict)) else 'N/A'}")
if isinstance(data, list) and len(data) > 0:
# 找701科目
for account in data:
if isinstance(account, dict) and account.get('account_code') == '701':
print(f"\n科目: {account['account_name']} (code: {account['account_code']})")
print(f" 借方: {account['debit']:,.0f}")
print(f" 貸方: {account['credit']:,.0f}")
break
# 计算总数
total_debit = sum(a['debit'] for a in data if isinstance(a, dict))
total_credit = sum(a['credit'] for a in data if isinstance(a, dict))
print(f"\n試算表合計:")
print(f" 総借方: {total_debit:,.0f}")
print(f" 総貸方: {total_credit:,.0f}")
print(f" 平衡: {total_debit == total_credit}")
else:
print(f"\nAPI返回数据: {data}")
except Exception as e:
print(f'錯誤: {e}')
import traceback
traceback.print_exc()