|
|
|
|
@ -225,7 +225,7 @@ async def save_default_equipment(*, db_session: DbSession, project_name: str):
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_asset_batch(location_tags: List[str], nr_location_tags: List[str],
|
|
|
|
|
async def get_asset_batch(location_tags: List[str], nr_location_tags: List[str],
|
|
|
|
|
db_session: DbSession,
|
|
|
|
|
base_url: str = RELIABILITY_SERVICE_API,
|
|
|
|
|
timeout: int = 600)-> dict:
|
|
|
|
|
@ -255,11 +255,12 @@ def get_asset_batch(location_tags: List[str], nr_location_tags: List[str],
|
|
|
|
|
WHERE location_tag = ANY(:location_tags)
|
|
|
|
|
""")
|
|
|
|
|
|
|
|
|
|
repairable_result = db_session.execute(repairable_query, {"location_tags": location_tags})
|
|
|
|
|
repairable_result = await db_session.execute(repairable_query, {"location_tags": location_tags})
|
|
|
|
|
|
|
|
|
|
for row in repairable_result:
|
|
|
|
|
location_tag = row[0]
|
|
|
|
|
parameters = json.loads(row[1]) if row[1] else {}
|
|
|
|
|
raw_parameters = row[1]
|
|
|
|
|
parameters = raw_parameters if isinstance(raw_parameters, dict) else json.loads(raw_parameters) if raw_parameters else {}
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
distribution, reldisp1, reldisp2 = get_distribution_from_db(parameters, is_repairable=True)
|
|
|
|
|
@ -282,11 +283,12 @@ def get_asset_batch(location_tags: List[str], nr_location_tags: List[str],
|
|
|
|
|
WHERE location_tag = ANY(:nr_location_tags)
|
|
|
|
|
""")
|
|
|
|
|
|
|
|
|
|
non_repairable_result = db_session.execute(non_repairable_query, {"nr_location_tags": nr_location_tags})
|
|
|
|
|
non_repairable_result = await db_session.execute(non_repairable_query, {"nr_location_tags": nr_location_tags})
|
|
|
|
|
|
|
|
|
|
for row in non_repairable_result:
|
|
|
|
|
location_tag = row[0]
|
|
|
|
|
parameters = json.loads(row[1]) if row[1] else {}
|
|
|
|
|
raw_parameters = row[1]
|
|
|
|
|
parameters = raw_parameters if isinstance(raw_parameters, dict) else json.loads(raw_parameters) if raw_parameters else {}
|
|
|
|
|
best_distribution = row[2]
|
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
@ -439,7 +441,7 @@ async def update_equipment_for_simulation(
|
|
|
|
|
t.location_tag for t in non_repairable.scalars().all()
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
reliability_data = get_asset_batch(
|
|
|
|
|
reliability_data = await get_asset_batch(
|
|
|
|
|
reg_nodes,
|
|
|
|
|
non_repairable_location_tags,
|
|
|
|
|
db_session
|
|
|
|
|
|