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.
111 lines
3.2 KiB
Python
111 lines
3.2 KiB
Python
from datetime import datetime
|
|
from typing import Any, List, Optional
|
|
from uuid import UUID
|
|
|
|
from pydantic import Field
|
|
|
|
from src.models import CommonParams, DefaultBase, Pagination
|
|
|
|
|
|
class PlantFSTransactionDataBase(DefaultBase):
|
|
fs_chart_total_revenue: Optional[float] = Field(
|
|
None, ge=0, le=1_000_000_000_000_000
|
|
)
|
|
fs_chart_revenue_a: Optional[float] = Field(
|
|
None, ge=0, le=1_000_000_000_000_000
|
|
)
|
|
fs_chart_revenue_b: Optional[float] = Field(
|
|
None, ge=0, le=1_000_000_000_000_000
|
|
)
|
|
fs_chart_revenue_c: Optional[float] = Field(
|
|
None, ge=0, le=1_000_000_000_000_000
|
|
)
|
|
fs_chart_revenue_d: Optional[float] = Field(
|
|
None, ge=0, le=1_000_000_000_000_000
|
|
)
|
|
fs_chart_revenue_annualized: Optional[float] = Field(
|
|
None, ge=0, le=1_000_000_000_000_000
|
|
)
|
|
fs_chart_fuel_cost_component_c: Optional[float] = Field(
|
|
None, ge=0, le=1_000_000_000_000_000
|
|
)
|
|
fs_chart_fuel_cost: Optional[float] = Field(
|
|
None, ge=0, le=1_000_000_000_000_000
|
|
)
|
|
fs_chart_fuel_cost_annualized: Optional[float] = Field(
|
|
None, ge=0, le=1_000_000_000_000_000
|
|
)
|
|
fs_chart_oem_component_bd: Optional[float] = Field(
|
|
None, ge=0, le=1_000_000_000_000_000
|
|
)
|
|
fs_chart_oem_bd_cost: Optional[float] = Field(
|
|
None, ge=0, le=1_000_000_000_000_000
|
|
)
|
|
fs_chart_oem_periodic_maintenance_cost: Optional[float] = Field(
|
|
None, ge=0, le=1_000_000_000_000_000
|
|
)
|
|
fs_chart_oem_annualized: Optional[float] = Field(
|
|
None, ge=0, le=1_000_000_000_000_000
|
|
)
|
|
fs_chart_capex_component_a: Optional[float] = Field(
|
|
None, ge=0, le=1_000_000_000_000_000
|
|
)
|
|
fs_chart_capex_biaya_investasi_tambahan: Optional[float] = Field(
|
|
None, ge=0, le=1_000_000_000_000_000
|
|
)
|
|
fs_chart_capex_acquisition_cost: Optional[float] = Field(
|
|
None, ge=0, le=1_000_000_000_000_000
|
|
)
|
|
fs_chart_capex_annualized: Optional[float] = Field(
|
|
None, ge=0, le=1_000_000_000_000_000
|
|
)
|
|
fs_cost_disposal_cost: Optional[float] = Field(
|
|
None, ge=0, le=1_000_000_000_000_000
|
|
)
|
|
tahun: Optional[int] = Field(None, ge=1900, le=9999)
|
|
seq: Optional[int] = Field(None, ge=0, le=9999)
|
|
created_at: Optional[datetime] = Field(None)
|
|
updated_at: Optional[datetime] = Field(None)
|
|
created_by: Optional[str] = Field(None)
|
|
updated_by: Optional[str] = Field(None)
|
|
|
|
|
|
class PlantFSTransactionDataCreate(PlantFSTransactionDataBase):
|
|
pass
|
|
|
|
|
|
class PlantFSTransactionDataUpdate(PlantFSTransactionDataBase):
|
|
pass
|
|
|
|
|
|
class PlantFSTransactionDataRead(PlantFSTransactionDataBase):
|
|
id: UUID
|
|
|
|
|
|
class PlantFSTransactionDataPagination(Pagination):
|
|
items: List[PlantFSTransactionDataRead] = []
|
|
|
|
|
|
class PlantFSTransactionDataImport(DefaultBase):
|
|
data: List[List[Any]]
|
|
seq: Optional[int] = None
|
|
|
|
|
|
class PlantFSTransactionChart(PlantFSTransactionDataBase):
|
|
pass
|
|
|
|
|
|
class PlantFSChartData(DefaultBase):
|
|
items: List[PlantFSTransactionChart]
|
|
bep_year: Optional[int] = Field(None, ge=0, le=9999)
|
|
bep_total_lcc: Optional[float] = Field(None, ge=0, le=1_000_000_000_000_000)
|
|
|
|
|
|
class ListQueryParams(CommonParams):
|
|
search: Optional[str] = Field(
|
|
default=None,
|
|
description="Search keyword",
|
|
)
|
|
|
|
|