This commit is contained in:
admin
2026-02-20 15:47:27 +09:00
parent c60cbf2d9a
commit 584530937b
108 changed files with 12112 additions and 416 deletions

74
compare_scenarios.py Normal file
View File

@@ -0,0 +1,74 @@
import psycopg2
conn = psycopg2.connect(
host="192.168.0.61",
port=55432,
database="njts_acct",
user="njts_app",
password="njts_app2025"
)
cur = conn.cursor()
# 现在的余额ID 445已删除ID 444还在
cur.execute("""
SELECT
SUM(CASE WHEN jl.debit > 0 THEN jl.debit ELSE 0 END) as debit_total,
SUM(CASE WHEN jl.credit > 0 THEN jl.credit ELSE 0 END) as credit_total
FROM journal_entries je
LEFT JOIN journal_lines jl ON je.journal_entry_id = jl.journal_entry_id
WHERE je.entry_date >= '2025-06-01'
AND je.entry_date <= '2025-08-31'
AND jl.account_id = 2
AND je.is_deleted = false
AND je.is_latest = true
""")
result = cur.fetchone()
if result:
debit, credit = result
debit = debit or 0
credit = credit or 0
balance = debit - credit
print("=" * 100)
print("【現在の状況】ID 445削除済み、ID 444はまだ存在")
print("=" * 100)
print(f"借方合計: {debit:>15,.0f}")
print(f"貸方合計: {credit:>15,.0f}")
print(f"期末残高: {balance:>15,.0f}")
print(f"期待値: {14916322:>15,.0f}")
print(f"差額: {abs(balance - 14916322):>15,.0f}")
# 现在检查删除 ID 444 后的情况
print("\n" + "=" * 100)
print("【シミュレーション】ID 444も削除した場合")
print("=" * 100)
cur.execute("""
SELECT
SUM(CASE WHEN jl.debit > 0 THEN jl.debit ELSE 0 END) as debit_total,
SUM(CASE WHEN jl.credit > 0 THEN jl.credit ELSE 0 END) as credit_total
FROM journal_entries je
LEFT JOIN journal_lines jl ON je.journal_entry_id = jl.journal_entry_id
WHERE je.entry_date >= '2025-06-01'
AND je.entry_date <= '2025-08-31'
AND jl.account_id = 2
AND je.is_deleted = false
AND je.is_latest = true
AND je.journal_entry_id != 444
""")
result2 = cur.fetchone()
if result2:
debit2, credit2 = result2
debit2 = debit2 or 0
credit2 = credit2 or 0
balance2 = debit2 - credit2
print(f"借方合計: {debit2:>15,.0f}")
print(f"貸方合計: {credit2:>15,.0f}")
print(f"期末残高: {balance2:>15,.0f}")
print(f"期待値: {14916322:>15,.0f}")
print(f"差額: {abs(balance2 - 14916322):>15,.0f}")
cur.close()
conn.close()