22 lines
954 B
Plaintext
22 lines
954 B
Plaintext
async def report_disengaged(ns={}):
|
|
"""
|
|
统计空闲
|
|
:param ns:
|
|
:return:
|
|
"""
|
|
db = DBPools()
|
|
async with db.sqlorContext('kboss') as sor:
|
|
ns["select_date"] = ns.get("select_date", datetime.datetime.now().strftime("%Y-%m-%d"))
|
|
sql = "SELECT d.store_name,d.id,d.product_name,IFNULL(DATEDIFF(s.lease_end_time, ${select_date}$ ),DATEDIFF(s.create_at,${select_date}$ )) AS d FROM lease_server_status s LEFT JOIN lease_server_data d ON s.server_id=d.id WHERE s.del_flg=0 AND d.store_name is not NULL AND s.end_date>=CURDATE() HAVING d<=0"
|
|
data = await sor.sqlExe(sql, ns)
|
|
resp_data = {}
|
|
for i in data:
|
|
a = {i["product_name"]: resp_data.get(i["store_name"], {}).get(i["product_name"], [])}
|
|
a[i["product_name"]].append(i["d"])
|
|
resp_data.setdefault(i["store_name"], {}).update(a)
|
|
return {"status": True, "data": resp_data}
|
|
|
|
|
|
ret = await report_disengaged(params_kw)
|
|
return ret
|