Files
njts-accounting-core/check_accounts_105_502.py
2026-03-03 00:01:43 +09:00

70 lines
2.4 KiB
Python

import sys
sys.path.insert(0, '/app')
from app.core.database import get_connection
print("=" * 80)
print("【科目 105 小口現金 と 502 未払金 の確認】")
print("=" * 80)
with get_connection() as conn:
with conn.cursor() as cur:
# 科目情報を確認
print("\n【科目情報】")
cur.execute("""
SELECT account_id, account_code, account_name, account_type
FROM accounts
WHERE account_id IN (105, 502)
ORDER BY account_id
""")
accounts = cur.fetchall()
for acc in accounts:
print(f" • ID {acc['account_id']}: {acc['account_code']} {acc['account_name']} ({acc['account_type']})")
# 105 を含む journal_lines の件数
print("\n【105 小口現金 を含む仕訳行】")
cur.execute("""
SELECT COUNT(*) as cnt
FROM journal_lines
WHERE account_id = 105
""")
result = cur.fetchone()
print(f" 件数: {result['cnt']}")
if result['cnt'] > 0:
# 詳細を表示
print("\n【詳細例(最初の 10 件)】")
cur.execute("""
SELECT
jl.journal_line_id,
jl.journal_entry_id,
je.entry_date,
je.description,
jl.debit,
jl.credit
FROM journal_lines jl
JOIN journal_entries je ON jl.journal_entry_id = je.journal_entry_id
WHERE jl.account_id = 105
ORDER BY je.entry_date DESC
LIMIT 10
""")
for row in cur.fetchall():
debit_display = f"借方 {row['debit']}" if row['debit'] > 0 else ""
credit_display = f"貸方 {row['credit']}" if row['credit'] > 0 else ""
side = (debit_display + " " + credit_display).strip()
print(f" • ID {row['journal_line_id']}: {row['entry_date']} - {row['description'][:40]}... ({side})")
# 102 と比較(参考用)
print("\n【502 未払金 の現在の利用状況】")
cur.execute("""
SELECT COUNT(*) as cnt
FROM journal_lines
WHERE account_id = 502
""")
result502 = cur.fetchone()
print(f" 件数: {result502['cnt']}")
print("\n" + "=" * 80)