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

65 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.
import psycopg2
conn = psycopg2.connect(
host="192.168.0.61",
port=55432,
database="njts_acct",
user="njts_app",
password="njts_app2025"
)
cur = conn.cursor()
# 查询 2025年6月到8月 普通預金(acc 2)的试算表余额
cur.execute("""
SELECT
je.entry_date,
SUM(CASE WHEN jl.debit > 0 THEN jl.debit ELSE 0 END) as debit_total,
SUM(CASE WHEN jl.credit > 0 THEN jl.credit ELSE 0 END) as credit_total
FROM journal_entries je
LEFT JOIN journal_lines jl ON je.journal_entry_id = jl.journal_entry_id
WHERE je.entry_date >= '2025-06-01'
AND je.entry_date <= '2025-08-31'
AND jl.account_id = 2
AND je.is_deleted = false
AND je.is_latest = true
GROUP BY je.entry_date
ORDER BY je.entry_date DESC
""")
results = cur.fetchall()
print("=" * 100)
print("普通預金(102) 2025年6月8月 試算表用のデータ")
print("=" * 100)
total_debit = 0
total_credit = 0
if results:
for entry_date, debit, credit in results:
debit = debit or 0
credit = credit or 0
total_debit += debit
total_credit += credit
print(f"{entry_date} | 借={debit:>15,.0f} 貸={credit:>15,.0f}")
print(f"\n合計: 借={total_debit:>15,.0f} 貸={total_credit:>15,.0f}")
print(f"期末残高: {total_debit - total_credit:>15,.0f}")
# 確認期待値
expected_balance = 14916322
actual_balance = total_debit - total_credit
print(f"\n期待値: {expected_balance:>15,.0f}")
print(f"実績値: {actual_balance:>15,.0f}")
print(f"差額: {abs(expected_balance - actual_balance):>15,.0f}")
if abs(expected_balance - actual_balance) < 1:
print("\n✅ 正常化されました!")
else:
print(f"\n⚠️ 差異があります: {expected_balance - actual_balance:,.0f}")
cur.close()
conn.close()