ETest-Vue-FastAPI/ruoyi-fastapi-backend/module_admin/entity/vo/warehouse_sample_vo.py

87 lines
3.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

from datetime import date, datetime
from pydantic import BaseModel, ConfigDict, Field
from pydantic.alias_generators import to_camel
from typing import Optional
class WarehouseSampleModel(BaseModel):
"""
样品信息模型
"""
model_config = ConfigDict(alias_generator=to_camel, from_attributes=True)
sample_id: Optional[int] = Field(default=None, description='样品ID')
receipt_id: Optional[int] = Field(default=None, description='入库单ID')
receipt_no: Optional[str] = Field(default=None, description='入库单号')
sample_model: Optional[str] = Field(default=None, description='样品型号')
sample_sn: Optional[str] = Field(default=None, description='样品SN号')
hardware_version: Optional[str] = Field(default=None, description='样品硬件版本号')
external_status: Optional[str] = Field(default=None, description='样品入库外测状态')
test_items: Optional[str] = Field(default=None, description='计划测试项')
test_deadline: Optional[date] = Field(default=None, description='计划测试截止日期')
actual_test_items: Optional[str] = Field(default=None, description='实际测试项')
delivery_date: Optional[date] = Field(default=None, description='出库交样日期')
delivery_method: Optional[str] = Field(default=None, description='出库交样方式')
delivery_person: Optional[str] = Field(default=None, description='出库交样人')
receive_person: Optional[str] = Field(default=None, description='出库接样人')
delivery_recorder: Optional[str] = Field(default=None, description='出库记录人')
status: Optional[str] = Field(default='0', description='状态')
remark: Optional[str] = Field(default=None, description='备注')
create_by: Optional[str] = Field(default=None, description='创建者')
create_time: Optional[datetime] = Field(default=None, description='创建时间')
update_by: Optional[str] = Field(default=None, description='更新者')
update_time: Optional[datetime] = Field(default=None, description='更新时间')
class WarehouseSamplePageQueryModel(BaseModel):
"""
样品分页查询模型
"""
model_config = ConfigDict(alias_generator=to_camel)
receipt_id: Optional[int] = Field(default=None, description='入库单ID')
receipt_no: Optional[str] = Field(default=None, description='入库单号')
sample_model: Optional[str] = Field(default=None, description='样品型号')
sample_sn: Optional[str] = Field(default=None, description='样品SN号')
external_status: Optional[str] = Field(default=None, description='样品入库外测状态')
status: Optional[str] = Field(default=None, description='状态')
page_num: int = Field(default=1, description='当前页码')
page_size: int = Field(default=10, description='每页记录数')
@classmethod
def as_query(cls, page_num: int = 1, page_size: int = 10, receipt_id: int = None,
receipt_no: str = None, sample_model: str = None, sample_sn: str = None,
external_status: str = None, status: str = None):
return cls(pageNum=page_num, pageSize=page_size, receiptId=receipt_id,
receiptNo=receipt_no, sampleModel=sample_model, sampleSn=sample_sn,
externalStatus=external_status, status=status)
class AddWarehouseSampleModel(WarehouseSampleModel):
"""
新增样品模型
"""
receipt_id: int = Field(description='入库单ID')
class EditWarehouseSampleModel(WarehouseSampleModel):
"""
编辑样品模型
"""
sample_id: int = Field(description='样品ID')
class DeleteWarehouseSampleModel(BaseModel):
"""
删除样品模型
"""
model_config = ConfigDict(alias_generator=to_camel)
sample_ids: str = Field(description='样品ID多个用逗号分隔')