This commit is contained in:
admin
2026-02-20 15:47:27 +09:00
parent c60cbf2d9a
commit 584530937b
108 changed files with 12112 additions and 416 deletions

View File

@@ -0,0 +1,98 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Verify the correction logic is working correctly
Check test entries (ID=431, 432)
"""
import sys
sys.path.insert(0, '/app')
from app.core.database import get_connection
def verify():
with get_connection() as conn:
with conn.cursor() as cur:
print("=" * 80)
print("【修正ロジックの検証: test 元ID=431、432")
print("=" * 80)
print()
print("【step 1: 修正チェーンの構造確認】")
cur.execute("""
SELECT
journal_entry_id,
description,
is_latest,
is_deleted,
parent_entry_id,
original_entry_id,
entry_date,
created_at,
revision_count
FROM journal_entries
WHERE journal_entry_id IN (431, 432)
ORDER BY journal_entry_id
""")
entries = cur.fetchall()
for e in entries:
print(f"\nID={e['journal_entry_id']}:")
print(f" 説明: {e['description']}")
print(f" is_latest: {e['is_latest']} {'✓最新版' if e['is_latest'] else '✗旧版'}")
print(f" is_deleted: {e['is_deleted']}")
print(f" parent_entry_id: {e['parent_entry_id']}")
print(f" original_entry_id: {e['original_entry_id']}")
print(f" entry_date: {e['entry_date']}")
print(f" created_at: {e['created_at']}")
print(f" revision_count: {e['revision_count']}")
print()
print("【Step 2: 各エントリの仕訳行詳細】")
for eid in [431, 432]:
print(f"\nID={eid}:")
cur.execute("""
SELECT
a.account_code,
a.account_name,
l.debit,
l.credit
FROM journal_lines l
JOIN accounts a ON a.account_id = l.account_id
WHERE l.journal_entry_id = %s
ORDER BY a.account_code
""", (eid,))
lines = cur.fetchall()
for line in lines:
print(f" {line['account_code']} {line['account_name']:<15s} | 借={line['debit']:>10.0f} 貸={line['credit']:>10.0f}")
print()
print("【Step 3: is_latest=true フィルターでのみ統計】")
cur.execute("""
SELECT
SUM(CASE WHEN l.account_id = (SELECT account_id FROM accounts WHERE account_code = '5') THEN l.debit ELSE 0 END) as debit_5,
SUM(CASE WHEN l.account_id = (SELECT account_id FROM accounts WHERE account_code = '5') THEN l.credit ELSE 0 END) as credit_5,
SUM(CASE WHEN l.account_id = (SELECT account_id FROM accounts WHERE account_code = '41') THEN l.debit ELSE 0 END) as debit_41,
SUM(CASE WHEN l.account_id = (SELECT account_id FROM accounts WHERE account_code = '41') THEN l.credit ELSE 0 END) as credit_41
FROM journal_lines l
JOIN journal_entries j ON j.journal_entry_id = l.journal_entry_id
WHERE (l.journal_entry_id = 431 OR l.journal_entry_id = 432)
AND j.is_latest = true
""")
result = cur.fetchone()
print(f"売掛金5: 借={result['debit_5']:>10.0f} 貸={result['credit_5']:>10.0f}")
print(f"売上高41: 借={result['debit_41']:>10.0f} 貸={result['credit_41']:>10.0f}")
print()
print("✓ 検証完了")
if __name__ == "__main__":
try:
verify()
except Exception as e:
print(f"エラー: {e}")
import traceback
traceback.print_exc()
sys.exit(1)