You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
4.1 KiB
Python
81 lines
4.1 KiB
Python
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] = []
|