Files
njts-accounting-core/backend/check_parent_ids.py
2026-01-16 09:50:21 +09:00

46 lines
1.9 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.
from app.core.database import get_connection
with get_connection() as conn, conn.cursor() as cur:
# 普通預金(102)の6月の仕訳を確認
cur.execute('''
SELECT
je.journal_entry_id,
je.entry_date,
je.description,
je.parent_entry_id,
jl.debit,
jl.credit,
CASE WHEN child.journal_entry_id IS NOT NULL THEN 'Y' ELSE 'N' END as has_child
FROM journal_entries je
JOIN journal_lines jl ON jl.journal_entry_id = je.journal_entry_id
LEFT JOIN journal_entries child ON child.parent_entry_id = je.journal_entry_id
WHERE jl.account_id = (SELECT account_id FROM accounts WHERE account_code = '102')
AND je.entry_date BETWEEN '2025-06-01' AND '2025-06-30'
AND je.is_deleted = false
ORDER BY je.journal_entry_id
''')
rows = cur.fetchall()
print('ID\t日付\t\t説明\t\t\t\t\tparent\t借方\t\t貸方\t\tchild?')
print('='*120)
for r in rows:
desc = r['description'][:40].ljust(40)
parent = str(r['parent_entry_id']) if r['parent_entry_id'] else '-'
print(f"{r['journal_entry_id']}\t{r['entry_date']}\t{desc}\t{parent}\t{r['debit']}\t{r['credit']}\t{r['has_child']}")
print('\n集計child=Nのみ:')
cur.execute('''
SELECT
SUM(jl.debit) as total_debit,
SUM(jl.credit) as total_credit
FROM journal_entries je
JOIN journal_lines jl ON jl.journal_entry_id = je.journal_entry_id
LEFT JOIN journal_entries child ON child.parent_entry_id = je.journal_entry_id
WHERE jl.account_id = (SELECT account_id FROM accounts WHERE account_code = '102')
AND je.entry_date BETWEEN '2025-06-01' AND '2025-06-30'
AND je.is_deleted = false
AND child.journal_entry_id IS NULL
''')
result = cur.fetchone()
print(f"借方: {result['total_debit']}, 貸方: {result['total_credit']}")