"""库位占用记录 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")