pub struct WorkOrder {Show 20 fields
pub id: Uuid,
pub work_order_number: String,
pub product_id: ProductId,
pub bom_id: Option<Uuid>,
pub work_center_id: Option<String>,
pub assigned_to: Option<Uuid>,
pub status: WorkOrderStatus,
pub priority: WorkOrderPriority,
pub quantity_to_build: Decimal,
pub quantity_completed: Decimal,
pub scheduled_start: Option<DateTime<Utc>>,
pub scheduled_end: Option<DateTime<Utc>>,
pub actual_start: Option<DateTime<Utc>>,
pub actual_end: Option<DateTime<Utc>>,
pub tasks: Vec<WorkOrderTask>,
pub materials: Vec<WorkOrderMaterial>,
pub notes: Option<String>,
pub version: i32,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
}Expand description
Work Order - a manufacturing job to build products
Fields§
§id: Uuid§work_order_number: StringUnique work order number (e.g., “WO-2024-001”)
product_id: ProductIdProduct being manufactured
bom_id: Option<Uuid>BOM to use (optional - can manufacture without BOM)
work_center_id: Option<String>Work center or production line
assigned_to: Option<Uuid>User assigned to this work order
status: WorkOrderStatusCurrent status
priority: WorkOrderPriorityPriority level
quantity_to_build: DecimalQuantity to build
quantity_completed: DecimalQuantity completed so far
scheduled_start: Option<DateTime<Utc>>Scheduled start date/time
scheduled_end: Option<DateTime<Utc>>Scheduled end date/time
actual_start: Option<DateTime<Utc>>Actual start date/time
actual_end: Option<DateTime<Utc>>Actual end date/time
tasks: Vec<WorkOrderTask>Tasks within this work order
materials: Vec<WorkOrderMaterial>Materials reserved/consumed
notes: Option<String>Notes
version: i32Version for optimistic locking
created_at: DateTime<Utc>§updated_at: DateTime<Utc>Implementations§
Source§impl WorkOrder
impl WorkOrder
Sourcepub fn generate_work_order_number() -> String
pub fn generate_work_order_number() -> String
Generate a work order number based on timestamp
Sourcepub fn can_complete(&self) -> bool
pub fn can_complete(&self) -> bool
Check if work order can be completed
Sourcepub fn completion_percentage(&self) -> Decimal
pub fn completion_percentage(&self) -> Decimal
Calculate completion percentage
Sourcepub fn is_overdue(&self) -> bool
pub fn is_overdue(&self) -> bool
Check if work order is overdue
Trait Implementations§
Source§impl<'de> Deserialize<'de> for WorkOrder
impl<'de> Deserialize<'de> for WorkOrder
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<WorkOrder, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<WorkOrder, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for WorkOrder
Source§impl Serialize for WorkOrder
impl Serialize for WorkOrder
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for WorkOrder
Auto Trait Implementations§
impl Freeze for WorkOrder
impl RefUnwindSafe for WorkOrder
impl Send for WorkOrder
impl Sync for WorkOrder
impl Unpin for WorkOrder
impl UnsafeUnpin for WorkOrder
impl UnwindSafe for WorkOrder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more