forked from iti-framework/iTi-Flask
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.
117 lines
3.3 KiB
Python
117 lines
3.3 KiB
Python
from dataclasses import field
|
|
from marshmallow_dataclass import dataclass
|
|
from marshmallow import validates_schema, ValidationError
|
|
from iti.applications.common.utils.schema import BaseSchema, Pagination
|
|
from typing import ClassVar, Optional
|
|
from apiflask import fields
|
|
|
|
|
|
@dataclass(base_schema=BaseSchema)
|
|
class DeviceQuery(Pagination):
|
|
"""
|
|
设备信息查询请求
|
|
"""
|
|
|
|
keyword: Optional[str] = field(
|
|
default=None,
|
|
metadata={
|
|
"required": False,
|
|
"metadata": {
|
|
"description": "关键字 [设备名称|设备编号] 模糊查询"
|
|
},
|
|
},
|
|
)
|
|
workshop_id: int = field(
|
|
default=None,
|
|
metadata={
|
|
"required": False,
|
|
"metadata": {"example": 1, "description": "车间ID"},
|
|
},
|
|
)
|
|
status: int = field(
|
|
default=None,
|
|
metadata={
|
|
"required": False,
|
|
"metadata": {"example": 0, "description": "状态"},
|
|
},
|
|
)
|
|
Schema: ClassVar[BaseSchema] = BaseSchema # For the type check
|
|
|
|
|
|
class DeviceAddRequest(BaseSchema):
|
|
"""
|
|
新增设备信息
|
|
"""
|
|
|
|
workshop_id = fields.Integer(
|
|
required=False,
|
|
metadata={"example": 1, "description": "车间ID"},
|
|
load_default=None,
|
|
)
|
|
device_name = fields.String(
|
|
required=False,
|
|
metadata={"example": "设备名称", "descriptrion": "设备名称"},
|
|
load_default=None,
|
|
)
|
|
device_number = fields.String(
|
|
required=False,
|
|
metadata={"example": "设备编号", "description": "设备编号"},
|
|
load_default=None,
|
|
)
|
|
description = fields.String(
|
|
required=False,
|
|
metadata={"example": "设备描述", "description": "设备描述"},
|
|
load_default=None,
|
|
)
|
|
brand_name = fields.String(
|
|
required=False,
|
|
metadata={"example": "品牌名称", "description": "品牌名称"},
|
|
load_default=None,
|
|
)
|
|
specification_model = fields.String(
|
|
required=False,
|
|
metadata={"example": "规格型号", "description": "规格型号"},
|
|
load_default=None,
|
|
)
|
|
|
|
|
|
class DeviceUpdateRequest(BaseSchema):
|
|
"""
|
|
更新设备信息
|
|
"""
|
|
|
|
workshop_id = fields.Integer(
|
|
required=False,
|
|
metadata={"example": 1, "description": "车间ID"},
|
|
load_default=None,
|
|
)
|
|
device_name = fields.String(
|
|
required=False,
|
|
metadata={"example": "设备名称", "descriptrion": "设备名称"},
|
|
load_default=None,
|
|
)
|
|
device_number = fields.String(
|
|
required=False,
|
|
metadata={"example": "设备编号", "description": "设备编号"},
|
|
load_default=None,
|
|
)
|
|
description = fields.String(
|
|
required=False,
|
|
metadata={"example": "设备描述", "description": "设备描述"},
|
|
load_default=None,
|
|
)
|
|
brand_name = fields.String(
|
|
required=False,
|
|
metadata={"example": "品牌名称", "description": "品牌名称"},
|
|
load_default=None,
|
|
)
|
|
specification_model = fields.String(
|
|
required=False,
|
|
metadata={"example": "规格型号", "description": "规格型号"},
|
|
load_default=None,
|
|
)
|
|
status = fields.Integer(
|
|
required=False,
|
|
metadata={"example": 1, "description": "状态(0-已停机,1-生产中,2-维修中)"},
|
|
load_default=None,
|
|
) |