42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
"""库位占用记录 schemas"""
|
|
from datetime import datetime
|
|
from typing import Optional
|
|
|
|
from pydantic import BaseModel, ConfigDict, Field
|
|
|
|
|
|
class OccupancyCreateBody(BaseModel):
|
|
"""手动入库请求"""
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
slot_id: str = Field(..., alias="slotId")
|
|
item_type: str = Field("other", alias="itemType")
|
|
item_code: str = Field(..., alias="itemCode")
|
|
item_name: str = Field(..., alias="itemName")
|
|
item_source: str = Field("manual", alias="itemSource")
|
|
remark: Optional[str] = None
|
|
|
|
|
|
class OccupancyListQuery(BaseModel):
|
|
"""占用记录查询"""
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
slot_id: str = Field(..., alias="slotId")
|
|
occupancy_status: Optional[str] = Field("stored", alias="occupancyStatus")
|
|
item_type: Optional[str] = Field(None, alias="itemType")
|
|
page: int = 1
|
|
page_size: int = Field(20, alias="pageSize")
|
|
|
|
|
|
class OccupancyHistoryQuery(BaseModel):
|
|
"""出入库历史查询"""
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
slot_id: Optional[str] = Field(None, alias="slotId")
|
|
facility_node_id: Optional[str] = Field(None, alias="facilityNodeId")
|
|
item_type: Optional[str] = Field(None, alias="itemType")
|
|
start_date: Optional[str] = Field(None, alias="startDate")
|
|
end_date: Optional[str] = Field(None, alias="endDate")
|
|
page: int = 1
|
|
page_size: int = Field(20, alias="pageSize")
|