进销存系统重构
This commit is contained in:
@@ -9,17 +9,23 @@ from .product_schemas import (
|
||||
from .supplier_schemas import SupplierCreate, SupplierResponse
|
||||
from .customer_schemas import CustomerCreate, CustomerResponse
|
||||
from .warehouse_schemas import WarehouseCreate, WarehouseResponse
|
||||
from .inventory_schemas import InventoryResponse
|
||||
from .inventory_schemas import InventoryResponse, InventoryCreate, InventoryUpdate
|
||||
from .stock_movement_schemas import StockMovementCreate, StockMovementResponse
|
||||
from .purchase_order_schemas import (
|
||||
PurchaseOrderCreate,
|
||||
PurchaseOrderResponse,
|
||||
PurchaseOrderItemCreate
|
||||
PurchaseOrderItemCreate,
|
||||
PurchaseOrderItemResponse,
|
||||
PurchaseOrderDetailResponse,
|
||||
PurchaseOrderReceiveItem,
|
||||
PurchaseOrderReceiveRequest
|
||||
)
|
||||
from .sales_order_schemas import (
|
||||
SalesOrderCreate,
|
||||
SalesOrderResponse,
|
||||
SalesOrderItemCreate,
|
||||
SalesOrderItemResponse,
|
||||
SalesOrderDetailResponse,
|
||||
ProductionMaterialPlanItemResponse,
|
||||
SalesOrderProductionPlanResponse,
|
||||
SalesOrderIssueRequest,
|
||||
@@ -47,10 +53,11 @@ __all__ = [
|
||||
"SupplierCreate", "SupplierResponse",
|
||||
"CustomerCreate", "CustomerResponse",
|
||||
"WarehouseCreate", "WarehouseResponse",
|
||||
"InventoryResponse",
|
||||
"InventoryResponse", "InventoryCreate", "InventoryUpdate",
|
||||
"StockMovementCreate", "StockMovementResponse",
|
||||
"PurchaseOrderCreate", "PurchaseOrderResponse", "PurchaseOrderItemCreate",
|
||||
"SalesOrderCreate", "SalesOrderResponse", "SalesOrderItemCreate",
|
||||
"PurchaseOrderItemResponse", "PurchaseOrderDetailResponse", "PurchaseOrderReceiveItem", "PurchaseOrderReceiveRequest",
|
||||
"SalesOrderCreate", "SalesOrderResponse", "SalesOrderItemCreate", "SalesOrderItemResponse", "SalesOrderDetailResponse",
|
||||
"ProductionMaterialPlanItemResponse", "SalesOrderProductionPlanResponse",
|
||||
"SalesOrderIssueRequest", "SalesOrderIssueResponse",
|
||||
"FinanceAllocationCreate", "FinanceTransactionCreate",
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
|
||||
|
||||
class InventoryResponse(BaseModel):
|
||||
@@ -14,3 +15,19 @@ class InventoryResponse(BaseModel):
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class InventoryCreate(BaseModel):
|
||||
product_id: int
|
||||
warehouse_id: int
|
||||
quantity: int = 0
|
||||
locked_quantity: int = 0
|
||||
batch_number: Optional[str] = None
|
||||
location: Optional[str] = None
|
||||
|
||||
|
||||
class InventoryUpdate(BaseModel):
|
||||
quantity: Optional[int] = None
|
||||
locked_quantity: Optional[int] = None
|
||||
batch_number: Optional[str] = None
|
||||
location: Optional[str] = None
|
||||
|
||||
@@ -31,3 +31,31 @@ class PurchaseOrderResponse(BaseModel):
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class PurchaseOrderItemResponse(BaseModel):
|
||||
id: int
|
||||
product_id: int
|
||||
product_sku: str
|
||||
product_name: str
|
||||
quantity: int
|
||||
received_quantity: int
|
||||
unit_price: float
|
||||
amount: float
|
||||
remark: Optional[str] = None
|
||||
|
||||
|
||||
class PurchaseOrderDetailResponse(PurchaseOrderResponse):
|
||||
supplier_id: int
|
||||
items: List[PurchaseOrderItemResponse]
|
||||
|
||||
|
||||
class PurchaseOrderReceiveItem(BaseModel):
|
||||
item_id: int
|
||||
receive_quantity: int
|
||||
|
||||
|
||||
class PurchaseOrderReceiveRequest(BaseModel):
|
||||
warehouse_id: Optional[int] = None
|
||||
items: List[PurchaseOrderReceiveItem]
|
||||
remark: Optional[str] = None
|
||||
|
||||
@@ -37,6 +37,21 @@ class SalesOrderResponse(BaseModel):
|
||||
from_attributes = True
|
||||
|
||||
|
||||
class SalesOrderItemResponse(BaseModel):
|
||||
id: int
|
||||
product_id: int
|
||||
quantity: int
|
||||
delivered_quantity: int
|
||||
unit_price: float
|
||||
amount: float
|
||||
remark: Optional[str] = None
|
||||
|
||||
|
||||
class SalesOrderDetailResponse(SalesOrderResponse):
|
||||
customer_id: int
|
||||
items: List[SalesOrderItemResponse]
|
||||
|
||||
|
||||
class ProductionMaterialPlanItemResponse(BaseModel):
|
||||
material_id: int
|
||||
material_sku: str
|
||||
|
||||
Reference in New Issue
Block a user