From 5a7d039b5be516938225d23b6ca8c20ed699021c Mon Sep 17 00:00:00 2001 From: Cizz22 Date: Wed, 10 Sep 2025 12:05:45 +0700 Subject: [PATCH] fix eaf contribution endpoin --- src/aeros_simulation/model.py | 4 +++- src/aeros_simulation/router.py | 18 +++++++++++------- .../simulation_save_service.py | 4 +++- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/aeros_simulation/model.py b/src/aeros_simulation/model.py index 244eeaa..a3e6c9c 100644 --- a/src/aeros_simulation/model.py +++ b/src/aeros_simulation/model.py @@ -166,4 +166,6 @@ class EafContribution(Base, DefaultMixin): __tablename__ = "rbd_ms_eaf_contribution" location_tag = Column(String, nullable=False) - eaf_contribution = Column(Float, nullable=False) \ No newline at end of file + eaf_contribution = Column(Float, nullable=False) + efficiency_uptime = Column(Float, nullable=False) + edh = Column(Float, nullable=False) \ No newline at end of file diff --git a/src/aeros_simulation/router.py b/src/aeros_simulation/router.py index 9a6cdb7..e0762f0 100644 --- a/src/aeros_simulation/router.py +++ b/src/aeros_simulation/router.py @@ -231,7 +231,8 @@ async def calculate_contribution( #simulation_id = "2e0755bf-8cce-4743-9659-8d9920d556e7" project = await get_project(db_session=db_session) - main_edh = 7.250000000000884 + main_edh = 1.5000000000000966 + main_efficiency_uptime = 697.5303030303029 - 1.5000000000000966 try: contribution_results = defaultdict() @@ -269,7 +270,7 @@ async def calculate_contribution( custom_input = { eq.node_name: { - "mttr": 8760, + "mttr": 721, "failure_rate": 0.01, } } @@ -286,19 +287,22 @@ async def calculate_contribution( db_session=db_session, simulation_id=simulation.id, sim_data=sim_data, is_saved=True, eq_update=results ) - eaf, edh = await calculate_plant_eaf(db_session=db_session, simulation_id=simulation.id) - - eaf_contribution = (main_edh - edh)/main_edh if main_edh else 0 - + eaf, edh, efficiency_uptime = await calculate_plant_eaf(db_session=db_session, simulation_id=simulation.id) + + eaf_contribution = (main_efficiency_uptime - efficiency_uptime)/main_efficiency_uptime if main_efficiency_uptime else 0 + contribution_results[eq.node_name] = { "eaf": eaf, "edh": edh, + "efficiency_uptime": efficiency_uptime, "eaf_contribution": eaf_contribution } eaf_conf = EafContribution( location_tag=eq.node_name, - eaf_contribution=eaf_contribution + eaf_contribution=eaf_contribution, + efficiency_uptime=efficiency_uptime, + edh=edh, ) eaf_contributions_data.append(eaf_conf) diff --git a/src/aeros_simulation/simulation_save_service.py b/src/aeros_simulation/simulation_save_service.py index 2534fb1..d7cfe48 100644 --- a/src/aeros_simulation/simulation_save_service.py +++ b/src/aeros_simulation/simulation_save_service.py @@ -264,7 +264,9 @@ async def calculate_plant_eaf( plot_data=plant_plot_data.timestamp_outs ) + efficiency_uptime = plant_calc_data.total_uptime - derated_hours + plant_calc_data.eaf = eaf plant_calc_data.derating_hours = derated_hours await db_session.commit() - return eaf, derated_hours \ No newline at end of file + return eaf, derated_hours, efficiency_uptime \ No newline at end of file