59 lines
1.6 KiB
Python
59 lines
1.6 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
查看 test 元的完整明细
|
|
"""
|
|
import psycopg
|
|
|
|
try:
|
|
conn = psycopg.connect(
|
|
host='192.168.0.61',
|
|
port=55432,
|
|
dbname='njts_acct',
|
|
user='njts_app',
|
|
password='njts_app2025'
|
|
)
|
|
|
|
with conn.cursor() as cur:
|
|
print("=" * 100)
|
|
print("【test 元 - 完整明細查詢】")
|
|
print("=" * 100)
|
|
|
|
# 查詢所有test元記錄的明細
|
|
cur.execute("""
|
|
SELECT
|
|
je.journal_entry_id,
|
|
je.description,
|
|
je.is_latest,
|
|
jl.account_id,
|
|
a.account_name,
|
|
jl.debit,
|
|
jl.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 je.description LIKE '%test%'
|
|
AND je.is_deleted = false
|
|
ORDER BY je.journal_entry_id, jl.journal_line_id
|
|
""")
|
|
|
|
rows = cur.fetchall()
|
|
|
|
current_je_id = None
|
|
for row in rows:
|
|
je_id, je_desc, is_latest, acc_id, acc_name, debit, credit = row
|
|
|
|
if je_id != current_je_id:
|
|
status = "✓" if is_latest else "✗"
|
|
print(f"\n{status} ID={je_id} {je_desc}")
|
|
current_je_id = je_id
|
|
|
|
if acc_id:
|
|
print(f" {acc_id:>4d} {acc_name:20s} 借={debit:>10.0f} 貸={credit:>10.0f}")
|
|
|
|
conn.close()
|
|
|
|
except Exception as e:
|
|
print(f'錯誤: {e}')
|
|
import traceback
|
|
traceback.print_exc()
|