Production Management
Table of Contents
- Overview
- Screen Layout — 5 Submenus
- Customer Screen (
/customer/index) - Product Screen (
/product/index) - Employee Screen (
/employee/index) - Work Schedule Screen (
/calendar/index) - Work Order Screen (
/order/index) - ISO Analysis Link
- Usage Scenarios
- FAQ
- Related Screens
Overview
The Production group manages the domain information required for production activities (customers, products, employees, work schedules, work orders). ISO 22400-based operational analysis is currently provided under the separate ISO group, in the ISO Data / ISO Analysis menus.
| Submenu | Internal URL | Purpose |
|---|---|---|
| Customer | /customer/index | Register and manage order/supply customer information |
| Product | /product/index | Register and manage production product information |
| Employee | /employee/index | Operator registration, contact details, affiliation |
| Work Schedule | /calendar/index | Register and manage shift schedules |
| Work Order | /order/index | Register, start, end, and manage the status of work orders |
Screen Layout — 5 Submenus
Each submenu screen consists of a list (index.jsp) plus a form (form.jsp). Pressing the add/edit button on the list switches to the form screen.
| Screen | Line count | Primary users | Summary |
|---|---|---|---|
| Customer | 138+171 | Sales/administrators | Customer ID, contact person, external customer ID mapping |
| Product | 133+173 | Production planning | Product ID, BOM, external product code |
| Employee | 138+178 | HR/administrators | Employee ID, contact details, assigned site |
| Work Schedule | 156+170 | Production operations | Shift (day/night) schedules |
| Work Order | 216+260+679 | Production field | Work order lifecycle + timeline |
Customer Screen (/customer/index)
Top Toolbar
👑 고객 [사이트 ▼] [조회] [↻] [➕ 고객 추가]
| Control | Description |
|---|---|
Site selector (site_id, 200px) | All sites + registered sites |
| Search / Refresh | Apply search / refresh the screen |
| Add Customer | Go to the form screen (addCustomer()) |
List Table (10 columns)
| Column | Width | Description |
|---|---|---|
| Site ID | 120px | Domain badge (click to jump to the asset tree) |
| Customer ID | 120px | Domain badge (CUSTOMER type) |
| Customer Name | Auto | Click to open the edit screen |
| Contact Name | 100px | manager_name |
| Contact Email | 200px | manager_email |
| Contact Phone | 200px | manager_phone |
| External Customer ID | 150px | ID badge for mapping to external systems (MES/ERP) |
| Registered | 150px | yyyy-MM-dd HH:mm:ss |
| Last Modified | 150px | Time of last modification |
| Actions | 80px | 🔧 Edit / 🗑 Delete |
Form (main inputs in form.jsp)
| Input | path | Description |
|---|---|---|
| Site | site_id (selector, on new registration) | Site the customer belongs to |
| Customer ID | customer_id | Letters, digits, and _ only |
| Customer Name | customer_name | Human-readable name |
| Contact name, email, phone | manager_name/manager_email/manager_phone | Contact metadata |
| External Customer ID | external_customer_id | (Optional) ID in an external system such as MES/ERP |
| Description | description | Notes |
If an external customer ID is present, the
flow_create_customernode in Flow can automatically map external system payloads.
Product Screen (/product/index)
List Table (main columns)
| Column | Description |
|---|---|
| Site ID | Domain badge |
| Product ID | Domain badge (PRODUCT) |
| Product Name | Click to open the edit screen |
| Product Category | Category classification (e.g. home appliance, automotive parts) |
| Unit (UOM) | Unit of measure (EA/KG/L, etc.) |
| External Product ID | (Optional) for external system mapping |
| Registered / Modified / Actions | Common |
Main Form Inputs
| Input | path | Description |
|---|---|---|
| Product ID | product_id | Domain identifier |
| Product Name | product_name | — |
| Product Category | category | — |
| Unit | uom | Unit code |
| External Product ID | external_product_id | (Optional) |
| Description | description | — |
Employee Screen (/employee/index)
List Table (main columns)
| Column | Description |
|---|---|
| Site ID | Domain badge |
| Employee ID | Domain badge (EMPLOYEE) |
| Name | Click to open the edit screen |
| Department | Department information |
| Position | — |
| Email / Phone | Contact details |
| Registered / Modified / Actions | Common |
Main Form Inputs
| Input | path | Description |
|---|---|---|
| Employee ID | employee_id | Domain identifier |
| Name | employee_name | — |
Affiliation (org_id) | org_id | Assigned site/organization (falls back to site_id if omitted) |
| Department / Position | department / position | — |
| Email / Phone | email / phone | — |
Work Schedule Screen (/calendar/index)
The work schedule uses the same two-panel layout as work orders: timeline + data list.
Top Search Area
📅 근무표 [기간] [사이트 ▼] [유형 ▼] [건수 ▼] [조회] [↻] [➕ 이벤트 추가]
시프트 캘린더 / 이벤트 일정 관리
| Control | Width | Description |
|---|---|---|
Period (search_time) | Wide | Date/time range (calendar picker) |
Site (site_id) | 150px | All sites + registered sites |
Type (target_type) | 140px | All types + registered type codes (e.g. DAY/NIGHT/HOLIDAY) |
Count (limit) | 140px | Latest 50/100/200/300/500/1,000 records |
| 🔍 Search | Red primary | Reload using the conditions above |
| ↻ Refresh | Gray + rotate icon | — |
| ➕ Add Event | Red primary | Form for registering a new shift/event |
Timeline Panel
Same controls as work orders. Panel header subtitle: "Shift / event distribution by time interval".
| Quick range | Action |
|---|---|
| 10 min / 30 min / 1 hour / 6 hours / 12 hours / All | 6 buttons — the selected one is highlighted as active (default "All") |
Shifts are shown as colored bars on the timeline (data_timeline). Colors depend on the shift status (cal-status-* full-color gradient badge).
Data List Table (9 columns)
Panel header subtitle: "List of matching shifts / events".
| Column | Width | Display |
|---|---|---|
| Status | 90px | Full-color gradient cal-status-* badge — UPCOMING (blue) / PROGRESS (green) / DONE (gray) |
| Schedule ID | 200px | Domain badge (CALENDAR) |
| Site ID | 140px | Domain badge |
| Equipment ID | 140px | Domain badge (when selected) |
| Type Code | 120px | DAY/NIGHT/HOLIDAY/SETUP, etc. |
| Start Time | Auto | Shift start date/time |
| End Time | Auto | Shift end date/time |
| Registered | 160px | Registration time |
| Actions | 80px | 🔧 Edit / 🗑 Delete |
Main Form Inputs
| Input | path | Description |
|---|---|---|
| Shift ID | calendar_id | — |
| Shift Name | calendar_name | — |
| Type | calendar_type | DAY/NIGHT/HOLIDAY/SETUP, etc. |
| Start/End | start_time / end_time | — |
| Recurrence pattern | (Mon/Tue/Wed.../Sun) | Enabled per weekday |
| Description | description | — |
Work Order Screen (/order/index)
The core screen for managing the entire work order lifecycle (register, start, pause, resume, end, abort).
Top Search Area
💼 워크오더 [기간 ▭▭▭▭] [사이트 ▼] [검색...] [상태 ▼] [건수 ▼] [조회][↻] [➕ 워크오더 추가]
| Control | Width | Description |
|---|---|---|
Period (search_time) | 280px | Start–end (centered, bold) |
Site (site_id) | 150px | All sites + registered sites |
Search (search_value) | 200px | placeholder: "Search ..." — work order ID or title keyword |
Status (search_status) | 120px | All / Waiting / In Progress / Paused / Completed / Abnormal End / Delayed / Canceled |
Count (limit) | 130px | 50/100/200/300/500/1,000 |
| Search / Refresh | Red | search() / refresh() |
| Add Work Order | Red + ➕ | Go to the form screen (addOrder()) |
Hidden Fields
The top search form contains hidden fields used when arriving from other screens (equipment, customer, employee, product, etc.): shift_id, order_id, asset_id, employee_id, customer_id, product_id. They are filled in automatically when you want to see only the work orders for that resource.
Timeline
The panel header shows "Timeline — Work order progress by time interval" plus a group of 6 range buttons on the right.
| Quick range button | Action |
|---|---|
| 🕗 Last 10 min | 10 minutes from now |
| Last 30 min | 30 minutes from now |
| Last 1 hour | 1 hour from now |
| Last 6 hours | 6 hours from now |
| Last 12 hours | 12 hours from now |
| Full period (default active) | The entire search period |
The selected range button is highlighted as active. Same control pattern as the diagnostics, log, and flow screens.
In the timeline area (data_timeline), work orders are drawn on the time axis as *full-color gradient bars (t-box-2- badges)**. Each bar is colored by status (see The 7 States below); clicking it opens that work order's detail screen.
Data List Table
Panel header subtitle: "List of matching work orders".
┌────────────────────────────────────────────────────────────────────┐
│ 상태 │ 워크오더 ID │ 설비 ID │ 제목 │ 목표/실적 │ OEE │ 시작/종료 │ 등록일 │ 액션 │
└────────────────────────────────────────────────────────────────────┘
| Column | Width | Description |
|---|---|---|
| Status | 100px | Full-color gradient badge (wo-status-*, 7 types — see The 7 States) |
| Work Order ID | 250px | Domain badge |
| Equipment ID | 150px | asset_id (domain badge) |
| Title | Auto | Work order title |
| Target / Actual | 180px | target_units / actual production quantity |
| OEE | 90px | OEE for the work order (%) |
| Work order start/end time | 150px | Two lines — start and end date/time |
| Registered | 150px | Registration time |
| Actions | 150px | ▶ Start / ⏸ Pause / ⏹ End / 🚫 Abort / 🔧 Edit / 🗑 Delete |
The 7 Work Order States
Status is shown as a wo-status-* full-color gradient badge, and the same colors are applied to the timeline bars.
Delayed (DELAY) and Canceled (CANCEL) are computed by the screen from the current time; they are not
persisted. The stored states are the five: Waiting, In Progress, Paused, Completed, and Abnormal End.
Because of this, you cannot change these two with a button. To clear "Delayed", start the order;
to clear "Canceled", push back the scheduled end time. You will not find DELAY in the API or the DB.
| Code | Korean | Gradient color | Description |
|---|---|---|---|
WAIT | Waiting | Slate gray | Order whose start time has not yet arrived |
START | In Progress | 🟢 Dark green gradient | Currently running after pressing Start |
PAUSED | Paused | 🟠 Orange | Order paused while in progress (can be resumed or ended) |
END | Completed | 🔵 Deep blue-gray | Order that has been ended |
ABORTED | Abnormal End | 🔴 Deep red | Order terminated abnormally while in progress |
DELAY | Delayed | 🟡 Yellow | Order whose start time has passed but has not been started |
CANCEL | Canceled | ⚪ Light gray | Order whose end time passed without ever being started |
How the screen determines the state
The stored state takes precedence; only when it is Waiting does the screen judge by time.
저장된 상태가 진행중·일시중지·완료·비정상종료 → 그대로 표시
그 외(대기) → 지금 시각으로 판정
종료 예정 시각이 지났으면 → 취소
시작 예정 시각이 지났으면 → 지연
둘 다 아니면 → 대기
Two real-world behaviors are worth knowing here.
- A paused order keeps showing "Paused" even after its end time passes, because the stored state wins — a quiet screen does not mean everything is fine, so track paused orders past their period separately.
- Canceled is evaluated before Delayed. An order whose start and end times have both passed skips "Delayed" and appears directly as "Canceled".
For color mapping, see Status Code Definitions.
Work Order Help
An operations guide box is shown at the bottom of the screen.
❓ Work Order Help The Work Order menu lets you register, start, end, and delete production work orders.
- Waiting — The order's start time has not yet arrived.
- In Progress — The order is currently running after pressing Start.
- Paused — The order was paused while in progress. It can be resumed or ended.
- Delayed — The start time has passed but the order has not been started.
- Canceled — The end time passed without the order ever being started.
- Completed — The order has been ended.
- Abnormal End — The order was terminated abnormally while in progress.
- The timeline and list show up to 1,000 orders within the search period.
Work Order Add/Edit Form
Use Add Work Order at the top or the 🔧 Edit button on a row to open the form screen.
1) Site fieldset (new registration only)
| Input | path | Description |
|---|---|---|
| Site selection | site_id (350px selector) | Changing it reloads that site's asset/employee lists |
In edit mode (mode='U') it is kept as a hidden field.
2) Work order fieldset
| Input | path | Description |
|---|---|---|
| Work Order ID | order_id (400px) | Letters, digits, and _ only |
| Title | title (600px) | Human-readable title |
| Priority | priority (200px selector) | NORMAL / LOW / HIGH / URGENT |
3) External system integration fieldset
| Input | path | placeholder |
|---|---|---|
| External Order ID | external_order_id (400px) | "ERP/MES order ID (optional)" |
| External PO ID | external_po_id (400px) | "Purchase order ID (optional)" |
| LOT Number | lot_number (300px) | "LOT/batch number (optional)" |
| BOM ID | bom_id (300px) | "BOM ID (optional)" |
4) Period fieldset
| Input | name | Width | Description |
|---|---|---|---|
| Work order start | dp_fix_start_timestamp | 250px | placeholder: 2023-01-02 09:00 — format yyyy-MM-dd HH:mm:ss |
| Work order end | dp_fix_end_timestamp | 250px | placeholder: 2023-01-03 18:00 |
If the start/end time is earlier than the current time,
WAITswitches automatically toDELAY; if the order is not started before the end time passes, it changes automatically toCANCEL.
5) Equipment and operator fieldset
| Input | path | Description |
|---|---|---|
| Equipment ID | asset_id (300px) | Autocomplete — equipment assets of the site |
| Employee ID | employee_id (300px) | Autocomplete — employees of the site |
6) Customer and product fieldset
| Input | path | Description |
|---|---|---|
| Customer ID | customer_id (300px) | Autocomplete |
| Product ID | product_id (300px) | Autocomplete |
| Target production quantity | target_units (200px, right-aligned) | Integer — quantity to produce in this work order |
| Unit production time [MS] | time_per_unit_in_ms (200px, right-aligned) | Time to produce one unit (milliseconds) — used to derive the ideal time for OEE |
7) Description and remarks fieldset
| Input | path | Description |
|---|---|---|
| Description | description | Free text |
| Remarks | note (optional) | Operator notes |
Work Order Detail Screen (/order/view/{order_id})
Clicking the work order ID or the row in the work order list opens that order's detail screen. The layout is col-lg-9 on the left (main panels) plus col-lg-3 on the right (work order metadata + work schedule).
Top — Page Header
💼 워크오더 | {order_id} [← 목록] [↻ 새로고침]
{site_id} / {asset_id} / {product_id} / {customer_id}
A single line of identification information (site, equipment, product, customer) lets you immediately see which work order you are looking at.
Left ① Production Progress Panel (standalone)
At the very top of the screen — a large progress figure and bar plus 3 metadata cells. A 📊 ISO Analysis button sits at the right of the panel header.
┌── 생산 진행률 ──────────────────────────────────────────┐
│ │
│ 78% 생산량: 1,560 개 │
│ ████████████░░░░ 목표: 2,000 개 │
│ 잔여: 440 개 │
└───────────────────────────────────────────────────────┘
| Area | Display |
|---|---|
Achievement rate (side_prod_rate) | Large % figure + progress bar |
Production (side_prod_good) | Cumulative good units |
Target (side_prod_target) | Target quantity |
Remaining (side_prod_remaining) | Target − production |
Left ② Summary Panel — 7 Lifecycle Action Buttons
The following buttons appear as one group at the right of the panel header; they are enabled or disabled automatically depending on the work order state.
| Button | Action | Enabled when |
|---|---|---|
| ▶ Start | startOrder() | WAIT state |
| ⏸ Pause | pauseOrder() | START state |
| 🔄 Resume | resumeOrder() | PAUSED state |
| ⏹ End | endOrder() | START/PAUSED state |
| ❌ Abnormal End | abortOrder() | START/PAUSED state |
| 📅 Register Planned Stop | openPlannedStopDialog() | Always enabled |
| 🔧 Edit (icon only) | editOrder() | Always enabled |
The time of the last query (
last_refresh_time) is shown in small text in the panel header label area.
Summary Table (5 columns)
| Column | Display |
|---|---|
| Current status | Color badge (WAIT/START/PAUSED/END/ABORTED/DELAY/CANCEL) — full-color gradient tone |
| Achievement rate | Actual ÷ target (%) |
| Good | Number of good units |
| Defective | Number of defective units |
| Target | Target quantity |
Left ③ OEE Panel (standalone)
In earlier versions OEE/RAM/EMS were grouped in one panel, but OEE is now a standalone panel. Within it, four card stats show a large figure, a sparkline, and the delta versus the previous day.
| Card | Display |
|---|---|
| OEE | Overall equipment effectiveness (%) — availability × performance × quality |
| Availability | (%) |
| Performance | (%) |
| Quality | (%) |
Clicking a card opens the corresponding KPI tab in ISO Data and Analysis.
Left ④ Hourly OEE Table (12 columns)
OEE snapshots for each time interval while the work order runs. Panel header subtext: "Production and OEE metric history by time interval".
| Column | Width | Description |
|---|---|---|
| Time | 100px | Time interval |
| Equipment status | 100px | RUN/IDLE/STOP/FAULT, etc. |
| Total | Auto | Total production in that interval |
| Good | 80px | Good units |
| Defective | 80px | Defective units |
| Run time | 120px | In minutes |
| Down time | 120px | In minutes |
| OEE | 70px | Overall effectiveness (%) |
| Availability | 70px | (%) |
| Performance | 70px | (%) |
| Quality | 70px | (%) |
Left ⑤ ISO Data Tabs — OEE / RAM / EMS
A new 3-tab panel has been split out below the standalone OEE panel (tab-content-as-panels pattern). Each tab body is rendered as its own panel.
| Tab | Icon | Display |
|---|---|---|
| OEE | 🎚 | OEE KPI trend table (oee_kpi_stats_table) — availability, performance, quality by hour |
| RAM | 🔧 | RAM statistics table (ram_stats_table) — MTBF, MTTR, availability, reliability, maintainability |
| EMS | ⚡ | EMS statistics table (ems_stats_table) — energy consumption, CO2 emissions, peak power |
Above each tab's table, a trend chart by time interval (line/bar) is also displayed.
If there is no data, each tab shows "No data to display." For the meaning of each metric, see ISO Data and Analysis — OEE · RAM · EMS.
Right ① Work Order Information Panel (ds-dl)
All input items from the work order form are shown as a definition list (title, priority, external IDs, period, equipment, employee, customer, product, etc.). All domain IDs are color badges — click to jump to that domain's screen.
Right ② Work Schedule Panel
Shift information applicable to the work order's period. Includes a button to open the work schedule management screen.
Planned Stop Registration Dialog
Opened with the 📅 Register Planned Stop button in the summary panel. Registering a planned stop such as lunch or a routine inspection excludes it from the Availability calculation of OEE.
| Input | Description |
|---|---|
| Start / end time | Stop interval |
| Reason code | Lunch / meeting / routine inspection / other |
| Note | Additional description (optional) |
ISO Analysis
In the current integrated menu, ISO > ISO Analysis opens a separate analysis screen (/analysis/index). There you can review ISO 22400-based KPI analysis in detail, used together with the ISO Data and Analysis (OEE/RAM/EMS) screen.
Usage Scenarios
| Scenario | Procedure |
|---|---|
| New customer registration + first work order | Add Customer → Add Product → Add Work Order (map the external order ID) |
| Automatic reflection of shift changes | Register a shift in the work schedule → map the shift ID to the work order → start automatically at the shift time |
| External ERP synchronization | Use flow_jdbc_poll + flow_create_work_order in Flow to register external POs as work orders automatically |
| Isolating a line due to a quality issue | 🚫 Abort on the work order → ABORTED + enter abort_code |
| Tracking start delays | Search with status=DELAY → analyze the delay causes → notify the operators |
| OEE evaluation | Compare the OEE column of ended work orders with the OEE tab in ISO Data and Analysis |
FAQ
Q. The start time has passed but the order has not changed to In Progress. A. Automatic start requires a registered shift or automation flow. You can start manually with the ▶ Start action button on the work order row.
Q. What is the difference between Abnormal End (ABORTED) and Canceled (CANCEL)?
A. Abnormal End means the order was forcibly terminated while in progress; Canceled means the end time passed without the order ever being started.
Q. Do I have to enter the external order ID, PO ID, LOT, and BOM? A. They are all optional. For a one-off job with no external system integration, you can leave them blank.
Q. How do I decide the unit production time (MS)?
A. It is the ideal cycle time to produce one unit, in milliseconds. Example: 10 s/unit → 10000. This value is used in the Performance calculation of OEE.
Q. How is OEE calculated for a paused work order? A. Paused time is excluded from run time and is reflected in Availability. Note that downtime accumulates on an hourly basis.
Q. The work order ID allows only letters, digits, and _, but I want to use a Korean job name.
A. The work order ID is a system identifier and allows only letters, digits, and _. Enter the Korean text in the Title field, and it will be shown alongside throughout the screens.
Q. Autocomplete does not work. A. Autocomplete searches a site's assets, employees, customers, and products only after a site is selected. Start with Site selection.
Q. Work orders outside the search period are not shown. A. That is expected. The screen shows at most 1,000 records within the search period. For older work orders, extend the period or use the day-by-day comparison in the Daily Statistics screen.
Q. How does a customer's external ID differ from a work order's external order ID? A. The customer's external ID identifies the customer itself in an external system, while the work order's external order ID identifies that single work order (order) in an external system.
Related Screens
- Dashboard — today's work order count and donut chart
- Equipment — click a card to view that equipment's work orders
- ISO Data and Analysis — OEE/RAM/EMS analysis per work order
- Daily Statistics — work order aggregation by site and date
- Flow — automatic work order issuing and state transition automation
- Status Code Definitions — colors for the 7 states
- Factory Management — asset, customer, and product registration and the asset tree