60 lines
2.5 KiB
Python
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}")
|