accounting/accounting/dayend_balance.py
2025-07-16 14:32:14 +08:00

19 lines
683 B
Python

from datetime import datetime
from sqlor.dbpools import DBPools
from appPublic.uniqueID import getID
from accounting.businessdate import previous_business_date
from accounting.const import *
async def dayend_balance():
dat = await previous_business_date()
ts = datetime.now()
sql = """select a.* from (select accountid, max(acc_date) as acc_date, balance from acc_balance where accountid is not null group by accountid) a where acc_date < ${acc_date}$"""
db = DBPools()
async with db.sqlorContext(DBNAME()) as sor:
recs = await sor.sqlExe(sql, {'acc_date':dat})
for r in recs:
r['id'] = getID()
r['acc_date'] = dat
await sor.C('acc_balance', r)