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

55 lines
1.9 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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('【 刪除重複的Entry#371 】\n')
# 方案1: 標記為已刪除
print('執行: UPDATE journal_entries SET is_deleted=true WHERE journal_entry_id=371')
cur.execute('UPDATE journal_entries SET is_deleted=true WHERE journal_entry_id = 371')
conn.commit()
print('✓ Entry#371 已標記為已刪除\n')
# 驗證
print('【 驗證結果 】\n')
cur.execute("SELECT account_id FROM accounts WHERE account_code = '701'")
aid = cur.fetchone()['account_id']
cur.execute("""
SELECT
COALESCE(SUM(l.debit), 0) AS debit,
COALESCE(SUM(l.credit), 0) AS credit
FROM journal_lines l
JOIN journal_entries j
ON j.journal_entry_id = l.journal_entry_id
LEFT JOIN journal_entries child
ON child.parent_entry_id = j.journal_entry_id
WHERE l.account_id = %s
AND j.entry_date BETWEEN '2025-06-01' AND '2025-06-30'
AND j.is_deleted = false
AND child.journal_entry_id IS NULL
""", (aid,))
row = cur.fetchone()
print(f'2025年6月 - 科目701売上高:')
print(f' 借方 (debit): {row["debit"]:>10}')
print(f' 貳方 (credit): {row["credit"]:>10}')
if row['credit'] == 4082728:
print('\n✓✓✓ 完美!貳方金額已恢復正確值 4,082,728')
else:
print(f'\n⚠️ 仍有差異,當前值:{row["credit"]}')