| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- from __future__ import annotations
- from datetime import datetime
- from pydantic import BaseModel, Field
- from app.schemas.common import ORMModel
- class WorkOrderCreate(BaseModel):
- mine_id: str
- alarm_id: str | None = None
- diagnosis_result_id: str | None = None
- title: str
- content: str = ""
- priority: str = "medium"
- status: str = "pending"
- assignee_id: str = ""
- assignee_name: str = ""
- department: str = ""
- due_at: datetime | None = None
- attachments: list = Field(default_factory=list)
- metadata: dict = Field(default_factory=dict)
- class WorkOrderUpdate(BaseModel):
- title: str | None = None
- content: str | None = None
- priority: str | None = None
- status: str | None = None
- assignee_id: str | None = None
- assignee_name: str | None = None
- department: str | None = None
- due_at: datetime | None = None
- completed_at: datetime | None = None
- verified_at: datetime | None = None
- closed_at: datetime | None = None
- result: str | None = None
- attachments: list | None = None
- metadata: dict | None = None
- class WorkOrderRead(ORMModel):
- id: str
- mine_id: str
- alarm_id: str | None
- diagnosis_result_id: str | None
- order_no: str
- title: str
- content: str
- priority: str
- status: str
- assignee_id: str
- assignee_name: str
- department: str
- due_at: datetime | None
- completed_at: datetime | None
- verified_at: datetime | None
- closed_at: datetime | None
- result: str
- attachments: list
- metadata: dict = Field(validation_alias="metadata_json")
- created_at: datetime
- updated_at: datetime
- class WorkOrderEventCreate(BaseModel):
- event_type: str
- from_status: str = ""
- to_status: str = ""
- operator_id: str = ""
- operator_name: str = ""
- comment: str = ""
- attachments: list = Field(default_factory=list)
- class WorkOrderEventRead(ORMModel):
- id: str
- work_order_id: str
- event_type: str
- from_status: str
- to_status: str
- operator_id: str
- operator_name: str
- comment: str
- attachments: list
- created_at: datetime
|