| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- from typing import Optional
- from pydantic import BaseModel, Field
- class PurchasePlanBase(BaseModel):
- plan_no: Optional[str] = Field(default=None, max_length=255, alias="planNo")
- plan_date: str = Field(max_length=255, alias="planDate")
- start_date: Optional[str] = Field(default=None, max_length=255, alias="startDate")
- end_date: Optional[str] = Field(default=None, max_length=255, alias="endDate")
- business_type: str = Field(max_length=255, alias="businessType")
- product_id: Optional[str] = Field(default=None, alias="productId")
- product: str = Field(max_length=255)
- specification: Optional[str] = Field(default=None, max_length=255)
- planned_quantity: float = Field(alias="plannedQuantity")
- vehicle_no: Optional[str] = Field(default="", max_length=255, alias="vehicleNo")
- customer_name: Optional[str] = Field(default=None, max_length=255, alias="customerName")
- remarks: Optional[str] = Field(default=None)
- execution_status: Optional[str] = Field(default=None, max_length=50, alias="executionStatus")
- executed_at: Optional[str] = Field(default=None, max_length=255, alias="executedAt")
- last_weighing_slip_id: Optional[str] = Field(default=None, alias="lastWeighingSlipId")
- executed_quantity: Optional[float] = Field(default=0, alias="executedQuantity")
- auto_generate_enabled: int = Field(default=0, alias="autoGenerateEnabled")
- auto_generate_end_month: Optional[str] = Field(
- default=None, max_length=7, alias="autoGenerateEndMonth"
- )
- auto_generate_last_month: Optional[str] = Field(
- default=None, max_length=7, alias="autoGenerateLastMonth"
- )
- model_config = {"from_attributes": True, "populate_by_name": True}
- class PurchasePlanCreate(BaseModel):
- plan_no: Optional[str] = Field(default=None, max_length=255, alias="planNo")
- plan_date: str = Field(max_length=255, alias="planDate")
- start_date: Optional[str] = Field(default=None, max_length=255, alias="startDate")
- end_date: Optional[str] = Field(default=None, max_length=255, alias="endDate")
- business_type: str = Field(max_length=255, alias="businessType")
- product_id: str = Field(alias="productId")
- planned_quantity: float = Field(alias="plannedQuantity")
- vehicle_no: Optional[str] = Field(default="", max_length=255, alias="vehicleNo")
- customer_name: Optional[str] = Field(default=None, max_length=255, alias="customerName")
- remarks: Optional[str] = Field(default=None)
- execution_status: Optional[str] = Field(default=None, max_length=50, alias="executionStatus")
- auto_generate_enabled: Optional[int] = Field(default=0, alias="autoGenerateEnabled")
- auto_generate_end_month: Optional[str] = Field(
- default=None, max_length=7, alias="autoGenerateEndMonth"
- )
- model_config = {"populate_by_name": True}
- class PurchasePlanUpdate(BaseModel):
- plan_no: Optional[str] = Field(default=None, max_length=255, alias="planNo")
- plan_date: Optional[str] = Field(default=None, max_length=255, alias="planDate")
- start_date: Optional[str] = Field(default=None, max_length=255, alias="startDate")
- end_date: Optional[str] = Field(default=None, max_length=255, alias="endDate")
- business_type: Optional[str] = Field(default=None, max_length=255, alias="businessType")
- product_id: Optional[str] = Field(default=None, alias="productId")
- product: Optional[str] = Field(default=None, max_length=255)
- specification: Optional[str] = Field(default=None, max_length=255)
- planned_quantity: Optional[float] = Field(default=None, alias="plannedQuantity")
- vehicle_no: Optional[str] = Field(default=None, max_length=255, alias="vehicleNo")
- customer_name: Optional[str] = Field(default=None, max_length=255, alias="customerName")
- remarks: Optional[str] = Field(default=None)
- execution_status: Optional[str] = Field(default=None, max_length=50, alias="executionStatus")
- executed_at: Optional[str] = Field(default=None, max_length=255, alias="executedAt")
- last_weighing_slip_id: Optional[str] = Field(default=None, alias="lastWeighingSlipId")
- executed_quantity: Optional[float] = Field(default=None, alias="executedQuantity")
- auto_generate_enabled: Optional[int] = Field(default=None, alias="autoGenerateEnabled")
- auto_generate_end_month: Optional[str] = Field(
- default=None, max_length=7, alias="autoGenerateEndMonth"
- )
- auto_generate_last_month: Optional[str] = Field(
- default=None, max_length=7, alias="autoGenerateLastMonth"
- )
- model_config = {"populate_by_name": True}
- class PurchasePlanRead(PurchasePlanBase):
- id: str
- is_deleted: int = Field(default=0, alias="isDeleted")
- created_at: str = Field(alias="createdAt")
- create_by: Optional[str] = Field(default=None, alias="createBy")
- create_by_name: Optional[str] = Field(default=None, alias="createByName")
- class PurchasePlanWithFillLink(PurchasePlanRead):
- fill_link_inventory_id: Optional[str] = Field(default=None, alias="fillLinkInventoryId")
|