accounting/accounting/dayend_balance.py
2024-07-31 16:16:21 +08:00

19 lines
681 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)