|
|
|
@ -1,7 +1,7 @@
|
|
|
|
|
from website.handler import BaseHandler
|
|
|
|
|
from sqlalchemy import text
|
|
|
|
|
from typing import Any
|
|
|
|
|
from website.db_mysql import get_session, get_async_session, to_json
|
|
|
|
|
from website.db_mysql import get_session, get_async_session, to_json, to_json_list
|
|
|
|
|
import json
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -103,11 +103,10 @@ async def get_enterprise_model_and_device_count(
|
|
|
|
|
# if res_device:
|
|
|
|
|
# device_count = res_device["device_count"]
|
|
|
|
|
|
|
|
|
|
sql = """
|
|
|
|
|
SELECT
|
|
|
|
|
(SELECT base_models FROM enterprise_busi_model WHERE {where_clause}) as base_models,
|
|
|
|
|
(SELECT COUNT(*) FROM enterprise_device WHERE {where_clause}) AS device_count
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sql_device_count = "SELECT COUNT(*) AS device_count FROM enterprise_device WHERE {where_clause} "
|
|
|
|
|
sql_base_model = "SELECT base_models FROM enterprise_busi_model WHERE {where_clause} "
|
|
|
|
|
|
|
|
|
|
where_clause = ""
|
|
|
|
|
params = {}
|
|
|
|
@ -118,12 +117,20 @@ async def get_enterprise_model_and_device_count(
|
|
|
|
|
where_clause = "entity_suid = :entity_suid"
|
|
|
|
|
params["entity_suid"] = entity_suid
|
|
|
|
|
|
|
|
|
|
sql = sql.format(where_clause=where_clause)
|
|
|
|
|
result = await session.execute(text(sql), params)
|
|
|
|
|
# row = result.fetchone()
|
|
|
|
|
row = to_json(result)
|
|
|
|
|
base_models, device_count = row["base_models"], row["device_count"]
|
|
|
|
|
if base_models:
|
|
|
|
|
model_count = len(json.loads(base_models))
|
|
|
|
|
sql_device_count = sql_device_count.format(where_clause=where_clause)
|
|
|
|
|
result_device_count = await session.execute(text(sql_device_count), params)
|
|
|
|
|
device_count = to_json(result_device_count)["device_count"]
|
|
|
|
|
|
|
|
|
|
sql_base_model = sql_base_model.format(where_clause=where_clause)
|
|
|
|
|
result_base_model = await session.execute(text(sql_base_model), params)
|
|
|
|
|
base_models = to_json_list(result_base_model)
|
|
|
|
|
base_model_ids = []
|
|
|
|
|
for item in base_models:
|
|
|
|
|
base_models = json.loads(item["base_models"])
|
|
|
|
|
for base_model in base_models:
|
|
|
|
|
if base_model["id"] not in base_model_ids:
|
|
|
|
|
base_model_ids.append(base_model["id"])
|
|
|
|
|
|
|
|
|
|
model_count = len(base_model_ids)
|
|
|
|
|
|
|
|
|
|
return model_count, device_count
|
|
|
|
|