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)