This commit is contained in:
2026-03-25 23:59:29 +08:00
parent 7964ce1033
commit 23e5df0364
46 changed files with 4168 additions and 254 deletions
@@ -1,20 +1,20 @@
from pydantic import BaseModel
from pydantic import BaseModel, Field
from typing import Optional, List
from datetime import datetime
from datetime import datetime, date
class PurchaseOrderItemCreate(BaseModel):
product_id: int
quantity: int
unit_price: float
quantity: int = Field(..., gt=0, description="采购数量")
unit_price: Optional[float] = Field(None, description="单价(可选,后端自动使用物料成本价格)")
remark: Optional[str] = None
class PurchaseOrderCreate(BaseModel):
supplier_id: int
expected_date: Optional[datetime] = None
expected_date: Optional[date] = None
remark: Optional[str] = None
items: List[PurchaseOrderItemCreate]
items: List[PurchaseOrderItemCreate] = Field(min_length=1)
class PurchaseOrderResponse(BaseModel):
@@ -22,7 +22,7 @@ class PurchaseOrderResponse(BaseModel):
order_no: str
supplier_name: str
order_date: datetime
expected_date: Optional[datetime]
expected_date: Optional[date]
status: str
total_amount: float
paid_amount: float
@@ -52,10 +52,10 @@ class PurchaseOrderDetailResponse(PurchaseOrderResponse):
class PurchaseOrderReceiveItem(BaseModel):
item_id: int
receive_quantity: int
receive_quantity: int = Field(gt=0)
class PurchaseOrderReceiveRequest(BaseModel):
warehouse_id: Optional[int] = None
items: List[PurchaseOrderReceiveItem]
items: List[PurchaseOrderReceiveItem] = Field(min_length=1)
remark: Optional[str] = None