import psycopg2
import requests

conn = psycopg2.connect(host='192.168.0.61', port=55432, dbname='njts_acct', user='njts_app', password='njts_app2025')
cur = conn.cursor()

# 一時的に承認解除
cur.execute("UPDATE monthly_payroll SET status='calculated' WHERE payroll_id IN (10,11)")
conn.commit()
conn.close()
print("承認解除完了")

# 再計算
for pid in [10, 11]:
    r = requests.post('http://192.168.0.61:18000/payroll/calculation/' + str(pid) + '/recalculate', json={})
    d = r.json()
    if 'detail' in d:
        print('id=' + str(pid) + ' ERROR: ' + str(d['detail']))
    else:
        keys = ['health_insurance', 'care_insurance', 'pension_insurance',
                'employment_insurance', 'child_support', 'income_tax', 'resident_tax', 'other_deduction']
        comp = sum(float(d.get(k) or 0) for k in keys)
        td = float(d.get('total_deduction') or 0)
        print('id=' + str(pid) +
              ' health=' + str(d['health_insurance']) +
              ' care=' + str(d['care_insurance']) +
              ' income_tax=' + str(d['income_tax']) +
              ' total_ded=' + str(td) +
              ' SUM=' + str(comp) +
              ' DIFF=' + str(td - comp) +
              ' net=' + str(d['net_payment']))

print("完了")
