kboss/b/lease/report_disengaged.dspy
2025-07-16 14:27:17 +08:00

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