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

53 lines
2.2 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.
import psycopg2
from psycopg2.extras import RealDictCursor
conn = psycopg2.connect('host=192.168.0.61 port=55432 dbname=njts_acct user=njts_app password=njts_app2025')
cur = conn.cursor(cursor_factory=RealDictCursor)
print("=" * 100)
print("7月と8月のすべてのEntry完全な対冲チェーン")
print("=" * 100)
# 7月/8月の全Entry を見て、どのエントリが関連しているか確認
cur.execute('''
SELECT
je.journal_entry_id,
je.entry_date,
je.description,
je.parent_entry_id,
jl.account_id,
a.account_code,
SUM(CASE WHEN jl.debit::numeric > 0 THEN jl.debit::numeric ELSE 0 END) as debit,
SUM(CASE WHEN jl.credit::numeric > 0 THEN jl.credit::numeric ELSE 0 END) as credit
FROM journal_entries je
LEFT JOIN journal_lines jl ON je.journal_entry_id = jl.journal_entry_id
LEFT JOIN accounts a ON jl.account_id = a.account_id
WHERE EXTRACT(MONTH FROM je.entry_date) IN (7, 8)
AND EXTRACT(YEAR FROM je.entry_date) = 2025
AND je.is_deleted = false
AND jl.account_id IN (41, 201) -- 売上高 と 売掛金
GROUP BY je.journal_entry_id, je.entry_date, je.description, je.parent_entry_id, jl.account_id, a.account_code
ORDER BY je.journal_entry_id, jl.account_id
''')
rows = cur.fetchall()
for row in rows:
account_info = f"({row['account_code']}) " if row['account_code'] else ""
parent_str = f"parent={row['parent_entry_id']}" if row['parent_entry_id'] else "parent=None"
debit = row['debit'] if row['debit'] else 0
credit = row['credit'] if row['credit'] else 0
print(f"\nEntry#{row['journal_entry_id']}: {row['entry_date']} | {account_info} 借: {debit:>10,.0f} 貳: {credit:>10,.0f} | {parent_str}")
print(f" Description: {row['description']}")
print("\n" + "=" * 100)
print("対冲分析:")
print(" Entry#358 (正): 売上1.4M貳, 売掛金1.54M借")
print(" Entry#361 (取消): 売上1.4M借, 売掛金1.54M貳 [parent=358] ✓")
print(" → 7月は完全に対冲されるはずだが、なぜまだ1.4Mが残っている?")
print("\n Entry#359 (正): 売上1.4M貳, 売掛金1.54M借")
print(" Entry#362 (取消): 売上1.4M借, 売掛金1.54M貳 [parent=359] ✓")
print(" → 8月も同じ状态")
print("=" * 100)
conn.close()