Job Lifecycle
A job moves through a series of states as it progresses along a production line. Each state transition is validated — jobs can only move forward in specific, well-defined ways.
State Machine
stateDiagram-v2 [*] --> pending: Job is created pending --> in_progress: Operator starts the job in_progress --> completed: Job completes at the final station in_progress --> pending: Job completes and auto-advances to the next station in_progress --> queued: Job completes but operator has not yet chosen a destination in_progress --> pending: Job completes and operator selects destination queued --> pending: Operator selects a destination station in_progress --> scrapped: Job is scrapped pending --> pending: Job is manually reassigned to a different station in_progress --> pending: Job is manually reassigned to a different station completed --> [*] scrapped --> [*]
States
| State | Description |
|---|---|
| Pending | The job is at a station, waiting to be started by an operator. |
| In Progress | The job is actively being worked on at a station. |
| Queued | Work is complete at the current station, but the job has multiple possible next stations and the operator has not yet selected a destination. The job sits in a routing buffer until an operator chooses where to send it. |
| Completed | The job finished successfully at the end of the process flow (no further stations exist). |
| Scrapped | The job was scrapped during production. |
| Aborted | The job was aborted with a reason from the OEE taxonomy. |
Transitions
1. Creating a Job
A new job is created and enters the pending state at its starting station. A station history entry is recorded at the same time. If no job number is provided, one is generated automatically.
2. Starting a Job
An operator starts a pending job. The job moves from pending to in progress, and the system records who started it and when. Operators can backdate the start time if the job was actually started earlier.
3. Completing a Job
An operator completes a job that is in progress. The system records the good parts and scrap parts produced (these accumulate across stations rather than replacing previous counts). The station history entry for the current station is closed with a snapshot of the work done there.
What happens next depends on the process flow — specifically, how many stations follow the current one:
| Next stations in the flow | What happens |
|---|---|
| None | The job is marked completed — it has reached the end of the line. |
| Exactly one | The job automatically advances to the next station as pending. See Job Auto-Advancement. |
| Two or more | The operator is prompted to choose a destination. If they choose one, the job advances to that station as pending. If they decline, the job enters a queued state at the current station until an operator routes it. |
4. Scrapping a Job
An operator scraps a job that is in progress. The job moves to the scrapped state, and the system records the scrap count and any notes. The station history entry is closed.
5. Manually Reassigning a Job
A job that is not completed or scrapped can be manually reassigned to a different station. The job resets to pending at the new station, clearing any start and completion timestamps. A new station history entry is created, and the previous one is closed.
Station History
Every time a job visits a station, the visit is recorded. Each visit tracks:
- An incrementing entry number for each station visit
- When the job entered and exited the station
- The good parts and scrap parts produced at that specific station
- The lifecycle timestamps for that station visit (when posted, started, and completed)
This history enables:
- Full traceability of a job’s journey through the production flow
- Per-station performance metrics
- First-pass yield calculations — if a job has visited more than one station entry, it indicates rework (see Station Dashboard KPIs)