from sqlalchemy import Column, Float, ForeignKey, Integer, UUID from sqlalchemy.orm import relationship from src.database.core import Base from src.models import DefaultMixin, IdentityMixin class PlantTransactionDataSimulations(Base, DefaultMixin, IdentityMixin): __tablename__ = "lcc_plant_tr_data_simulations" simulation_id = Column( UUID(as_uuid=True), ForeignKey("lcc_simulations.id"), nullable=False ) tahun = Column(Integer, nullable=False) is_actual = Column(Integer, nullable=False) seq = Column(Integer, nullable=False) net_capacity_factor = Column(Float, nullable=True) eaf = Column(Float, nullable=True) production_bruto = Column(Float, nullable=True) production_netto = Column(Float, nullable=True) energy_sales = Column(Float, nullable=True) fuel_consumption = Column(Float, nullable=True) revenue_a = Column(Float, nullable=True) revenue_b = Column(Float, nullable=True) revenue_c = Column(Float, nullable=True) revenue_d = Column(Float, nullable=True) revenue_total = Column(Float, nullable=True) revenue_pv = Column(Float, nullable=True) revenue_annualized = Column(Float, nullable=True) cost_a_replacement = Column(Float, nullable=True) cost_a_pm = Column(Float, nullable=True) cost_a_acquisition = Column(Float, nullable=True) cost_a_pinjaman = Column(Float, nullable=True) cost_a_depreciation = Column(Float, nullable=True) cost_a_total = Column(Float, nullable=True) cost_a_pv = Column(Float, nullable=True) cost_a_annualized = Column(Float, nullable=True) cost_c_fuel = Column(Float, nullable=True) cost_c_pv = Column(Float, nullable=True) cost_c_annualized = Column(Float, nullable=True) cost_bd_om = Column(Float, nullable=True) cost_bd_pm_nonmi = Column(Float, nullable=True) cost_bd_bd = Column(Float, nullable=True) cost_bd_total = Column(Float, nullable=True) cost_bd_pv = Column(Float, nullable=True) cost_bd_annualized = Column(Float, nullable=True) cost_disposal_cost = Column(Float, nullable=True) total_expense = Column(Float, nullable=True) total_cost_eac = Column(Float, nullable=True) total_profit_loss = Column(Float, nullable=True) total_residual_value = Column(Float, nullable=True) calc_depreciation = Column(Float, nullable=True) calc_interest_payment = Column(Float, nullable=True) calc_principal_payment = Column(Float, nullable=True) calc_dept_amount = Column(Float, nullable=True) calc2_ebitda = Column(Float, nullable=True) calc2_earning_before_tax = Column(Float, nullable=True) calc2_tax = Column(Float, nullable=True) calc2_earning_after_tax = Column(Float, nullable=True) calc2_nopat = Column(Float, nullable=True) calc3_interest_after_tax = Column(Float, nullable=True) calc3_free_cash_flow_on_project = Column(Float, nullable=True) calc3_discounted_fcf_on_project = Column(Float, nullable=True) calc4_principal_repayment = Column(Float, nullable=True) calc4_free_cash_flow_on_equity = Column(Float, nullable=True) calc4_discounted_fcf_on_equity = Column(Float, nullable=True) chart_total_revenue = Column(Float, nullable=True) chart_revenue_a = Column(Float, nullable=True) chart_revenue_b = Column(Float, nullable=True) chart_revenue_c = Column(Float, nullable=True) chart_revenue_d = Column(Float, nullable=True) chart_revenue_annualized = Column(Float, nullable=True) chart_fuel_cost_component_c = Column(Float, nullable=True) chart_fuel_cost = Column(Float, nullable=True) chart_fuel_cost_annualized = Column(Float, nullable=True) chart_oem_component_bd = Column(Float, nullable=True) chart_oem_bd_cost = Column(Float, nullable=True) chart_oem_periodic_maintenance_cost = Column(Float, nullable=True) chart_oem_annualized = Column(Float, nullable=True) chart_capex_component_a = Column(Float, nullable=True) chart_capex_biaya_investasi_tambahan = Column(Float, nullable=True) chart_capex_acquisition_cost = Column(Float, nullable=True) chart_capex_annualized = Column(Float, nullable=True) fs_chart_total_revenue = Column(Float, nullable=True) fs_chart_revenue_a = Column(Float, nullable=True) fs_chart_revenue_b = Column(Float, nullable=True) fs_chart_revenue_c = Column(Float, nullable=True) fs_chart_revenue_d = Column(Float, nullable=True) fs_chart_revenue_annualized = Column(Float, nullable=True) fs_chart_fuel_cost_component_c = Column(Float, nullable=True) fs_chart_fuel_cost = Column(Float, nullable=True) fs_chart_fuel_cost_annualized = Column(Float, nullable=True) fs_chart_oem_component_bd = Column(Float, nullable=True) fs_chart_oem_bd_cost = Column(Float, nullable=True) fs_chart_oem_periodic_maintenance_cost = Column(Float, nullable=True) fs_chart_oem_annualized = Column(Float, nullable=True) fs_chart_capex_component_a = Column(Float, nullable=True) fs_chart_capex_biaya_investasi_tambahan = Column(Float, nullable=True) fs_chart_capex_acquisition_cost = Column(Float, nullable=True) fs_chart_capex_annualized = Column(Float, nullable=True) simulation = relationship( "Simulation", back_populates="plant_transactions", lazy="joined", )