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