修正
This commit is contained in:
80
simple_check.py
Normal file
80
simple_check.py
Normal file
@@ -0,0 +1,80 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
import os
|
||||
import sys
|
||||
|
||||
# PostgreSQL接続情報を設定
|
||||
os.environ['DB_HOST'] = 'localhost'
|
||||
os.environ['DB_NAME'] = 'accounting_db'
|
||||
os.environ['DB_USER'] = 'postgres'
|
||||
os.environ['DB_PASSWORD'] = 'root'
|
||||
os.environ['DB_PORT'] = '5432'
|
||||
|
||||
# backendパスを追加
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), 'backend'))
|
||||
|
||||
from app.core.database import get_connection
|
||||
|
||||
print("データベース接続テスト...")
|
||||
|
||||
with get_connection() as conn:
|
||||
with conn.cursor() as cur:
|
||||
# 最初のテスト: 701の全ての6月データ
|
||||
print("\n=== テスト1: 701の全ての6月クレジットデータ ===")
|
||||
sql = """
|
||||
SELECT
|
||||
COALESCE(SUM(l.credit), 0) as total_credit
|
||||
FROM journal_lines l
|
||||
JOIN journal_entries e ON e.journal_entry_id = l.journal_entry_id
|
||||
WHERE l.account_id = 701
|
||||
AND EXTRACT(YEAR FROM e.entry_date) = 2025
|
||||
AND EXTRACT(MONTH FROM e.entry_date) = 6
|
||||
"""
|
||||
|
||||
cur.execute(sql)
|
||||
result = cur.fetchone()
|
||||
print(f"素のSUMクエリ結果: {result['total_credit']}")
|
||||
|
||||
# テスト2: ユーザーが期待する値
|
||||
print("\n=== テスト2: ユーザー期待値との比較 ===")
|
||||
print(f"実際の値: {result['total_credit']}")
|
||||
print(f"期待値: 4082728")
|
||||
print(f"差異: {result['total_credit'] - 4082728}")
|
||||
|
||||
# テスト3: 詳細なデータ確認
|
||||
print("\n=== テスト3: 6月の全トランザクション詳細 ===")
|
||||
sql_detail = """
|
||||
SELECT
|
||||
e.journal_entry_id,
|
||||
e.entry_date,
|
||||
e.description,
|
||||
l.credit,
|
||||
e.is_deleted,
|
||||
e.parent_entry_id
|
||||
FROM journal_lines l
|
||||
JOIN journal_entries e ON e.journal_entry_id = l.journal_entry_id
|
||||
WHERE l.account_id = 701
|
||||
AND EXTRACT(YEAR FROM e.entry_date) = 2025
|
||||
AND EXTRACT(MONTH FROM e.entry_date) = 6
|
||||
ORDER BY e.entry_date, e.journal_entry_id
|
||||
"""
|
||||
|
||||
cur.execute(sql_detail)
|
||||
rows = cur.fetchall()
|
||||
|
||||
total = 0
|
||||
for row in rows:
|
||||
status = []
|
||||
if row['is_deleted']:
|
||||
status.append("DELETED")
|
||||
if row['parent_entry_id']:
|
||||
status.append(f"correction(parent={row['parent_entry_id']})")
|
||||
status_str = " | ".join(status) if status else "OK"
|
||||
|
||||
print(f"ID:{row['journal_entry_id']:5d} | {row['entry_date']} | {row['description']:35s} | " +
|
||||
f"credit:{row['credit']:>12,.0f} | {status_str}")
|
||||
total += row['credit']
|
||||
|
||||
print(f"\n合計: {total:,.0f}")
|
||||
|
||||
print("\n処理完了")
|
||||
Reference in New Issue
Block a user