diff --git a/src/calculation_time_constrains/service.py b/src/calculation_time_constrains/service.py index 904dc6f..c8fc861 100644 --- a/src/calculation_time_constrains/service.py +++ b/src/calculation_time_constrains/service.py @@ -208,7 +208,7 @@ class OptimumCostModel: data = failures_prediction[month_key] # Risk cost = flow_rate × birnbaum_importance × downtime_hours × energy_price - monthly_risk = data['avg_flow_rate'] * birnbaum_importance * data['total_oos_hours'] * 1000 + monthly_risk = data['avg_flow_rate'] * birnbaum_importance * data['total_oos_hours'] * 1000000 risk_costs.append(monthly_risk) cumulative_risk += monthly_risk @@ -216,6 +216,8 @@ class OptimumCostModel: failure_counts.append(data['cumulative_failures']) + + raise Exception(cumulative_risk_costs) # Calculate costs for each month results = [] @@ -621,7 +623,7 @@ class OptimumCostModelWithSpareparts: for month_key in months: data = failures_prediction[month_key] - monthly_risk = data['avg_flow_rate'] * birnbaum_importance * data['total_oos_hours'] * 1000 + monthly_risk = data['avg_flow_rate'] * birnbaum_importance * data['total_oos_hours'] * 1000000 risk_costs.append(monthly_risk) cumulative_risk += monthly_risk diff --git a/src/sparepart/service.py b/src/sparepart/service.py index 00bc635..b5ad35d 100644 --- a/src/sparepart/service.py +++ b/src/sparepart/service.py @@ -500,10 +500,10 @@ class SparepartManager: recommendations.append({ 'type': 'BUDGET_SUMMARY', 'priority': 'INFO', - 'message': f'Total sparepart investment: ${total_investment:,.2f}', + 'message': f'Total sparepart investment: Rp. {total_investment:,.2f}', 'details': [ - f"Existing orders: ${pr_po_summary['total_existing_value']:,.2f}", - f"Additional orders needed: ${pr_po_summary['total_new_orders_value']:,.2f}" + f"Existing orders: Rp. {pr_po_summary['total_existing_value']:,.2f}", + f"Additional orders needed: Rp. {pr_po_summary['total_new_orders_value']:,.2f}" ], 'action': 'Ensure budget allocation for sparepart procurement' }) @@ -559,23 +559,23 @@ class SparepartManager: if not missing_parts: if pr_po_summary['existing_orders']: message = f"All spareparts available through {len(pr_po_summary['existing_orders'])} existing orders" - detailed_message = f"Total existing order value: ${pr_po_summary['total_existing_value']:,.2f}" + detailed_message = f"Total existing order value: Rp. {pr_po_summary['total_existing_value']:,.2f}" else: message = "All spareparts available from current stock" detailed_message = "No additional procurement required" else: if critical_missing: message = f"CRITICAL: {len(critical_missing)} critical spareparts missing. Overhaul cannot proceed." - detailed_message = f"Additional procurement required: ${pr_po_summary['total_new_orders_value']:,.2f}" + detailed_message = f"Additional procurement required: Rp. {pr_po_summary['total_new_orders_value']:,.2f}" else: message = f"WARNING: {len(missing_parts)} spareparts missing, but no critical parts." if pr_po_summary['total_new_orders_value'] > 0: - detailed_message = f"Additional procurement required: ${pr_po_summary['total_new_orders_value']:,.2f}. " + detailed_message = f"Additional procurement required: Rp. {pr_po_summary['total_new_orders_value']:,.2f}. " else: detailed_message = "" if pr_po_summary['existing_orders']: - detailed_message += f"Existing orders cover some requirements (${pr_po_summary['total_existing_value']:,.2f})." + detailed_message += f"Existing orders cover some requirements (Rp. {pr_po_summary['total_existing_value']:,.2f})." return { 'message': message,