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.
45 lines
1.1 KiB
Python
45 lines
1.1 KiB
Python
from datetime import datetime
|
|
from typing import List, Optional
|
|
from uuid import UUID
|
|
|
|
from pydantic import Field
|
|
|
|
from src.models import DefultBase, Pagination
|
|
from src.overhaul_scope.schema import ScopeRead
|
|
from src.scope_equipment_job.schema import ScopeEquipmentJobRead
|
|
from src.job.schema import ActivityMasterRead
|
|
|
|
class OverhaulScheduleBase(DefultBase):
|
|
pass
|
|
|
|
|
|
class OverhaulScheduleCreate(OverhaulScheduleBase):
|
|
year: int
|
|
plan_duration: Optional[int] = Field(None)
|
|
planned_outage: Optional[int] = Field(None)
|
|
actual_shutdown: Optional[int] = Field(None)
|
|
start: datetime
|
|
finish: datetime
|
|
remark: Optional[str] = Field(None)
|
|
|
|
|
|
class OverhaulScheduleUpdate(OverhaulScheduleBase):
|
|
start: datetime
|
|
finish: datetime
|
|
|
|
|
|
class OverhaulScheduleRead(OverhaulScheduleBase):
|
|
id: UUID
|
|
year: int
|
|
plan_duration: Optional[int]
|
|
planned_outage: Optional[int]
|
|
actual_shutdown: Optional[int]
|
|
start: datetime
|
|
finish: datetime
|
|
remark: Optional[str]
|
|
|
|
|
|
|
|
class OverhaulSchedulePagination(Pagination):
|
|
items: List[OverhaulScheduleRead] = []
|