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

60 lines
2.5 KiB
Python

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
sys.path.insert(0, 'backend')
os.environ['DB_HOST'] = '192.168.0.61'
os.environ['DB_NAME'] = 'njts_acct'
os.environ['DB_USER'] = 'njts_app'
os.environ['DB_PASSWORD'] = 'njts_app2025'
os.environ['DB_PORT'] = '55432'
from app.core.database import get_connection
with get_connection() as conn:
with conn.cursor() as cur:
print('\n【 accounts 表 - 前20条 】')
cur.execute("SELECT account_id, account_code, account_name FROM accounts ORDER BY account_code LIMIT 20")
for row in cur.fetchall():
print(f"account_id={row['account_id']:<3} account_code={row['account_code']:<5} account_name={row['account_name']}")
print('\n【 查找 account_code=701 对应的 account_id 】')
cur.execute("SELECT account_id, account_code, account_name FROM accounts WHERE account_code = '701'")
row = cur.fetchone()
if row:
print(f"account_code='701' 对应的 account_id = {row['account_id']}")
print(f"完整信息: {row}")
else:
print("未找到 account_code='701'")
print('\n【 journal_lines 中 account_id 的唯一值 (前20个) 】')
cur.execute("SELECT DISTINCT account_id FROM journal_lines ORDER BY account_id LIMIT 20")
account_ids = [row['account_id'] for row in cur.fetchall()]
print(f"journal_lines中的account_id: {account_ids}")
print('\n【 2025年6月份的交易 - 查找 account_code=701 的交易 】')
cur.execute("""
SELECT
jl.journal_line_id,
jl.journal_entry_id,
jl.account_id,
ac.account_code,
ac.account_name,
jl.debit,
jl.credit
FROM journal_lines jl
JOIN accounts ac ON ac.account_id = jl.account_id
JOIN journal_entries je ON je.journal_entry_id = jl.journal_entry_id
WHERE ac.account_code = '701'
AND je.entry_date >= '2025-06-01'
AND je.entry_date <= '2025-06-30'
ORDER BY jl.journal_line_id
LIMIT 10
""")
cols = [desc[0] for desc in cur.description]
print(f"找到的交易数: {cur.rowcount if hasattr(cur, 'rowcount') else '未知'}")
for row in cur.fetchall():
print(f" {row['journal_entry_id']:>5} | {row['account_id']:>3} | {row['account_code']:>5} | {row['debit']:>10} | {row['credit']:>10}")