修正
This commit is contained in:
54
analyze_1400000_issue.py
Normal file
54
analyze_1400000_issue.py
Normal file
@@ -0,0 +1,54 @@
|
||||
#!/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:
|
||||
# 获取account_id
|
||||
cur.execute("SELECT account_id FROM accounts WHERE account_code = '701'")
|
||||
aid = cur.fetchone()['account_id']
|
||||
|
||||
print('\n【 Entry#357 和 Entry#360 的关系 】')
|
||||
cur.execute("""
|
||||
SELECT
|
||||
j.journal_entry_id,
|
||||
j.parent_entry_id,
|
||||
j.entry_date,
|
||||
j.description,
|
||||
l.debit,
|
||||
l.credit,
|
||||
j.is_deleted
|
||||
FROM journal_entries j
|
||||
LEFT JOIN journal_lines l ON l.journal_entry_id = j.journal_entry_id AND l.account_id = %s
|
||||
WHERE j.journal_entry_id IN (357, 360)
|
||||
ORDER BY j.journal_entry_id
|
||||
""", (aid,))
|
||||
|
||||
print("Entry# | Parent | Debit | Credit | Description (first 60 chars)")
|
||||
for row in cur.fetchall():
|
||||
parent_info = f"{row['parent_entry_id']}" if row['parent_entry_id'] else "None"
|
||||
desc = row['description'] if row['description'] else ""
|
||||
print(f"#{row['journal_entry_id']:<5} | {parent_info:<6} | {str(row['debit'] or 0):>10} | {str(row['credit'] or 0):>10} | {desc[:60]}")
|
||||
|
||||
print('\n【 发现问题了!】')
|
||||
print('Entry#357: credit=1,400,000 (【未計上のため...】描述的原始交易)')
|
||||
print('Entry#360: debit=1,400,000 (【未計上のため取消】取消交易)')
|
||||
print('')
|
||||
print('这个1,400,000的交易不应该被计入:')
|
||||
print(' 当前结果 5,482,728 应该 - 1,400,000 = 4,082,728 ✓')
|
||||
print('')
|
||||
print('问题是:Entry#360没有设置parent_entry_id指向Entry#357')
|
||||
print('所以LEFT JOIN过滤逻辑无法识别这个取消关系。')
|
||||
print('')
|
||||
print('解决方案之一:检查Entry#360是否应该有 parent_entry_id=357')
|
||||
Reference in New Issue
Block a user