34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
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("完了")
|