修正
This commit is contained in:
88
check_todatu_details.py
Normal file
88
check_todatu_details.py
Normal file
@@ -0,0 +1,88 @@
|
||||
import psycopg2
|
||||
|
||||
conn = psycopg2.connect(
|
||||
host="192.168.0.61",
|
||||
port=55432,
|
||||
database="njts_acct",
|
||||
user="njts_app",
|
||||
password="njts_app2025"
|
||||
)
|
||||
|
||||
cur = conn.cursor()
|
||||
|
||||
print("=" * 120)
|
||||
print("【遠達ビル 事務所費用】详细分析")
|
||||
print("=" * 120)
|
||||
|
||||
# 查询ID 444和445的journal_lines
|
||||
for entry_id in [444, 445]:
|
||||
print(f"\n--- 仕訳入力ID={entry_id} ---")
|
||||
|
||||
cur.execute("""
|
||||
SELECT
|
||||
je.journal_entry_id,
|
||||
je.entry_date,
|
||||
je.description,
|
||||
je.is_latest,
|
||||
COUNT(*) as line_count
|
||||
FROM journal_entries je
|
||||
WHERE je.journal_entry_id = %s
|
||||
GROUP BY je.journal_entry_id, je.entry_date, je.description, je.is_latest
|
||||
""", (entry_id,))
|
||||
|
||||
je_info = cur.fetchone()
|
||||
if je_info:
|
||||
entry_id, entry_date, description, is_latest, line_count = je_info
|
||||
print(f"日付: {entry_date}")
|
||||
print(f"説明: {description}")
|
||||
print(f"最新: {is_latest}")
|
||||
print(f"明細行数: {line_count}")
|
||||
|
||||
# 取得该仕訳的所有明细行
|
||||
cur.execute("""
|
||||
SELECT
|
||||
jl.journal_line_id,
|
||||
jl.account_id,
|
||||
a.account_code,
|
||||
a.account_name,
|
||||
jl.debit,
|
||||
jl.credit
|
||||
FROM journal_lines jl
|
||||
LEFT JOIN accounts a ON jl.account_id = a.account_id
|
||||
WHERE jl.journal_entry_id = %s
|
||||
ORDER BY jl.journal_line_id
|
||||
""", (entry_id,))
|
||||
|
||||
lines = cur.fetchall()
|
||||
print(f"\n明細(全{len(lines)}行):")
|
||||
for line_id, acc_id, code, name, debit, credit in lines:
|
||||
print(f" Line {line_id}: [{code}] {name} | 借={debit or 0:>10,.0f} 貸={credit or 0:>10,.0f}")
|
||||
|
||||
# 现在检查是否有重复的journal_lines
|
||||
print("\n" + "=" * 120)
|
||||
print("【重複検出】journal_linesの重复行")
|
||||
print("=" * 120)
|
||||
|
||||
cur.execute("""
|
||||
SELECT
|
||||
journal_entry_id,
|
||||
account_id,
|
||||
debit,
|
||||
credit,
|
||||
COUNT(*) as cnt
|
||||
FROM journal_lines
|
||||
WHERE journal_entry_id IN (444, 445)
|
||||
GROUP BY journal_entry_id, account_id, debit, credit
|
||||
HAVING COUNT(*) > 1
|
||||
""")
|
||||
|
||||
duplicates = cur.fetchall()
|
||||
if duplicates:
|
||||
print("\n重复検出:")
|
||||
for entry_id, acc_id, debit, credit, cnt in duplicates:
|
||||
print(f" ID={entry_id}, 科目={acc_id}, 借={debit}, 貸={credit} → {cnt}行重複")
|
||||
else:
|
||||
print("\n重复行なし")
|
||||
|
||||
cur.close()
|
||||
conn.close()
|
||||
Reference in New Issue
Block a user