- 新增 MyMaterialUsageQuery 查询参数 schema - 新增 MaterialUsageResponse 响应 schema(含 requisitionStatus 字段) - 新增 MyMaterialUsageListResponse 列表响应 schema Co-authored-by: Cursor <cursoragent@cursor.com>
59 lines
2.0 KiB
Python
59 lines
2.0 KiB
Python
"""Pydantic schemas - 市场物料管理"""
|
|
from pydantic import BaseModel, Field
|
|
from typing import Optional, List
|
|
from datetime import datetime
|
|
|
|
|
|
class MyMaterialUsageQuery(BaseModel):
|
|
"""我的物料领用记录查询参数"""
|
|
keyword: Optional[str] = Field(None, description="关键词搜索")
|
|
material_id: Optional[str] = Field(None, description="物料ID")
|
|
material_type: Optional[str] = Field(None, description="物料类型")
|
|
change_type: Optional[str] = Field(None, description="变动类型")
|
|
start_time: Optional[str] = Field(None, description="开始日期 YYYY-MM-DD")
|
|
end_time: Optional[str] = Field(None, description="结束日期 YYYY-MM-DD")
|
|
|
|
|
|
class MaterialUsageResponse(BaseModel):
|
|
"""物料领用记录响应"""
|
|
id: str
|
|
materialId: Optional[str] = None
|
|
materialCode: Optional[str] = None
|
|
materialName: Optional[str] = None
|
|
batchId: Optional[str] = None
|
|
stockInNo: Optional[str] = None
|
|
stockInDate: Optional[str] = None
|
|
catalogNo: Optional[str] = None
|
|
batchNo: Optional[str] = None
|
|
manufacturer: Optional[str] = None
|
|
unitPrice: Optional[float] = None
|
|
amount: Optional[float] = None
|
|
changeType: Optional[str] = None
|
|
changeQty: Optional[float] = None
|
|
usageUnit: Optional[str] = None
|
|
stockBefore: Optional[float] = None
|
|
stockAfter: Optional[float] = None
|
|
receiver: Optional[str] = None
|
|
receiverName: Optional[str] = None
|
|
purpose: Optional[str] = None
|
|
sourceType: Optional[str] = None
|
|
requisitionStatus: Optional[str] = Field(None, description="领用状态: open/closed")
|
|
useTime: Optional[str] = None
|
|
remark: Optional[str] = None
|
|
createBy: Optional[str] = None
|
|
createByName: Optional[str] = None
|
|
createTime: Optional[str] = None
|
|
updateTime: Optional[str] = None
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|
|
|
|
class MyMaterialUsageListResponse(BaseModel):
|
|
"""我的物料领用记录列表响应"""
|
|
items: List[MaterialUsageResponse]
|
|
total: int
|
|
page: int
|
|
pageSize: int
|
|
totalPages: int
|