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

66 lines
2.1 KiB
Python

import psycopg2
conn = psycopg2.connect(
host="192.168.0.61",
port=55432,
database="njts_acct",
user="njts_app",
password="njts_app2025"
)
cur = conn.cursor()
print("=" * 100)
print("遠達ビル相関の全仕訳(削除フラグ関わらず)")
print("=" * 100)
cur.execute("""
SELECT
je.journal_entry_id,
je.entry_date,
je.description,
je.revision_count,
je.is_latest,
je.is_deleted,
COALESCE(SUM(CASE WHEN jl.account_id = 2 THEN jl.credit ELSE 0 END), 0) as account_2_credit
FROM journal_entries je
LEFT JOIN journal_lines jl ON je.journal_entry_id = jl.journal_entry_id
WHERE je.description LIKE '%遠達ビル%'
GROUP BY je.journal_entry_id, je.entry_date, je.description, je.revision_count, je.is_latest, je.is_deleted
ORDER BY je.journal_entry_id ASC
""")
results = cur.fetchall()
for entry_id, entry_date, description, rev_count, is_latest, is_deleted, acc2_credit in results:
deleted_mark = "【削除】" if is_deleted else " "
latest_mark = "" if is_latest else ""
print(f"ID={entry_id:3d} {entry_date} {deleted_mark} [{latest_mark}v{rev_count}] acc2_credit={acc2_credit:>10,.0f} | {description}")
print("\n試算表に計上される仕訳 (is_latest=true AND is_deleted=false)")
cur.execute("""
SELECT
je.journal_entry_id,
je.entry_date,
je.description,
COALESCE(SUM(CASE WHEN jl.account_id = 2 THEN jl.credit ELSE 0 END), 0) as account_2_credit
FROM journal_entries je
LEFT JOIN journal_lines jl ON je.journal_entry_id = jl.journal_entry_id
WHERE je.description LIKE '%遠達ビル%'
AND je.is_latest = true
AND je.is_deleted = false
GROUP BY je.journal_entry_id, je.entry_date, je.description
ORDER BY je.journal_entry_id ASC
""")
results2 = cur.fetchall()
total_credit = 0
for entry_id, entry_date, description, acc2_credit in results2:
total_credit += acc2_credit
print(f"ID={entry_id:3d} {entry_date} acc2_credit={acc2_credit:>10,.0f} | {description}")
print(f"\n合計: {total_credit:>10,.0f}")
cur.close()
conn.close()