from datetime import datetime from typing import List, Optional from uuid import UUID from pydantic import Field from src.models import DefaultBase, Pagination class PlantTransactionDataBase(DefaultBase): tahun: Optional[int] = Field(None, nullable=True) is_actual: Optional[int] = Field(None, nullable=True) seq: Optional[int] = Field(None, nullable=True) net_capacity_factor: Optional[float] = Field(None, nullable=True) eaf: Optional[float] = Field(None, nullable=True) production_bruto: Optional[float] = Field(None, nullable=True) production_netto: Optional[float] = Field(None, nullable=True) energy_sales: Optional[float] = Field(None, nullable=True) fuel_consumption: Optional[float] = Field(None, nullable=True) revenue_a: Optional[float] = Field(None, nullable=True) revenue_b: Optional[float] = Field(None, nullable=True) revenue_c: Optional[float] = Field(None, nullable=True) revenue_d: Optional[float] = Field(None, nullable=True) revenue_total: Optional[float] = Field(None, nullable=True) revenue_pv: Optional[float] = Field(None, nullable=True) revenue_annualized: Optional[float] = Field(None, nullable=True) cost_a_replacement: Optional[float] = Field(None, nullable=True) cost_a_pm: Optional[float] = Field(None, nullable=True) cost_a_acquisition: Optional[float] = Field(None, nullable=True) cost_a_pinjaman: Optional[float] = Field(None, nullable=True) cost_a_depreciation: Optional[float] = Field(None, nullable=True) cost_a_total: Optional[float] = Field(None, nullable=True) cost_a_pv: Optional[float] = Field(None, nullable=True) cost_a_annualized: Optional[float] = Field(None, nullable=True) cost_c_fuel: Optional[float] = Field(None, nullable=True) cost_c_pv: Optional[float] = Field(None, nullable=True) cost_c_annualized: Optional[float] = Field(None, nullable=True) cost_bd_om: Optional[float] = Field(None, nullable=True) cost_bd_pm_nonmi: Optional[float] = Field(None, nullable=True) cost_bd_bd: Optional[float] = Field(None, nullable=True) cost_bd_total: Optional[float] = Field(None, nullable=True) cost_bd_pv: Optional[float] = Field(None, nullable=True) cost_bd_annualized: Optional[float] = Field(None, nullable=True) total_expense: Optional[float] = Field(None, nullable=True) total_cost_eac: Optional[float] = Field(None, nullable=True) total_profit_loss: Optional[float] = Field(None, nullable=True) total_residual_value: Optional[float] = Field(None, nullable=True) calc_depreciation: Optional[float] = Field(None, nullable=True) calc_interest_payment: Optional[float] = Field(None, nullable=True) calc_principal_payment: Optional[float] = Field(None, nullable=True) calc_dept_amount: Optional[float] = Field(None, nullable=True) calc2_ebitda: Optional[float] = Field(None, nullable=True) calc2_earning_before_tax: Optional[float] = Field(None, nullable=True) calc2_tax: Optional[float] = Field(None, nullable=True) calc2_earning_after_tax: Optional[float] = Field(None, nullable=True) calc2_nopat: Optional[float] = Field(None, nullable=True) calc3_interest_after_tax: Optional[float] = Field(None, nullable=True) calc3_free_cash_flow_on_project: Optional[float] = Field(None, nullable=True) calc3_discounted_fcf_on_project: Optional[float] = Field(None, nullable=True) calc4_principal_repayment: Optional[float] = Field(None, nullable=True) calc4_free_cash_flow_on_equity: Optional[float] = Field(None, nullable=True) calc4_discounted_fcf_on_equity: Optional[float] = Field(None, nullable=True) created_at: Optional[datetime] = Field(None, nullable=True) updated_at: Optional[datetime] = Field(None, nullable=True) created_by: Optional[str] = Field(None, nullable=True) updated_by: Optional[str] = Field(None, nullable=True) class PlantTransactionDataCreate(PlantTransactionDataBase): pass class PlantTransactionDataUpdate(PlantTransactionDataBase): pass class PlantTransactionDataRead(PlantTransactionDataBase): id: UUID class PlantTransactionDataPagination(Pagination): items: List[PlantTransactionDataRead] = []