|
|
@@ -0,0 +1,58 @@
|
|
|
+"""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
|