Skip to main content

Production Management

Table of Contents


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.

SubmenuInternal URLPurpose
Customer/customer/indexRegister and manage order/supply customer information
Product/product/indexRegister and manage production product information
Employee/employee/indexOperator registration, contact details, affiliation
Work Schedule/calendar/indexRegister and manage shift schedules
Work Order/order/indexRegister, 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.

ScreenLine countPrimary usersSummary
Customer138+171Sales/administratorsCustomer ID, contact person, external customer ID mapping
Product133+173Production planningProduct ID, BOM, external product code
Employee138+178HR/administratorsEmployee ID, contact details, assigned site
Work Schedule156+170Production operationsShift (day/night) schedules
Work Order216+260+679Production fieldWork order lifecycle + timeline

Customer Screen (/customer/index)

Top Toolbar

👑 고객 [사이트 ▼] [조회] [↻] [➕ 고객 추가]
ControlDescription
Site selector (site_id, 200px)All sites + registered sites
Search / RefreshApply search / refresh the screen
Add CustomerGo to the form screen (addCustomer())

List Table (10 columns)

ColumnWidthDescription
Site ID120pxDomain badge (click to jump to the asset tree)
Customer ID120pxDomain badge (CUSTOMER type)
Customer NameAutoClick to open the edit screen
Contact Name100pxmanager_name
Contact Email200pxmanager_email
Contact Phone200pxmanager_phone
External Customer ID150pxID badge for mapping to external systems (MES/ERP)
Registered150pxyyyy-MM-dd HH:mm:ss
Last Modified150pxTime of last modification
Actions80px🔧 Edit / 🗑 Delete

Form (main inputs in form.jsp)

InputpathDescription
Sitesite_id (selector, on new registration)Site the customer belongs to
Customer IDcustomer_idLetters, digits, and _ only
Customer Namecustomer_nameHuman-readable name
Contact name, email, phonemanager_name/manager_email/manager_phoneContact metadata
External Customer IDexternal_customer_id(Optional) ID in an external system such as MES/ERP
DescriptiondescriptionNotes

If an external customer ID is present, the flow_create_customer node in Flow can automatically map external system payloads.


Product Screen (/product/index)

List Table (main columns)

ColumnDescription
Site IDDomain badge
Product IDDomain badge (PRODUCT)
Product NameClick to open the edit screen
Product CategoryCategory 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 / ActionsCommon

Main Form Inputs

InputpathDescription
Product IDproduct_idDomain identifier
Product Nameproduct_name
Product Categorycategory
UnituomUnit code
External Product IDexternal_product_id(Optional)
Descriptiondescription

Employee Screen (/employee/index)

List Table (main columns)

ColumnDescription
Site IDDomain badge
Employee IDDomain badge (EMPLOYEE)
NameClick to open the edit screen
DepartmentDepartment information
Position
Email / PhoneContact details
Registered / Modified / ActionsCommon

Main Form Inputs

InputpathDescription
Employee IDemployee_idDomain identifier
Nameemployee_name
Affiliation (org_id)org_idAssigned site/organization (falls back to site_id if omitted)
Department / Positiondepartment / position
Email / Phoneemail / phone

Work Schedule Screen (/calendar/index)

The work schedule uses the same two-panel layout as work orders: timeline + data list.

Top Search Area

📅 근무표 [기간] [사이트 ▼] [유형 ▼] [건수 ▼] [조회] [↻] [➕ 이벤트 추가]
시프트 캘린더 / 이벤트 일정 관리
ControlWidthDescription
Period (search_time)WideDate/time range (calendar picker)
Site (site_id)150pxAll sites + registered sites
Type (target_type)140pxAll types + registered type codes (e.g. DAY/NIGHT/HOLIDAY)
Count (limit)140pxLatest 50/100/200/300/500/1,000 records
🔍 SearchRed primaryReload using the conditions above
↻ RefreshGray + rotate icon
➕ Add EventRed primaryForm for registering a new shift/event

Timeline Panel

Same controls as work orders. Panel header subtitle: "Shift / event distribution by time interval".

Quick rangeAction
10 min / 30 min / 1 hour / 6 hours / 12 hours / All6 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".

ColumnWidthDisplay
Status90pxFull-color gradient cal-status-* badge — UPCOMING (blue) / PROGRESS (green) / DONE (gray)
Schedule ID200pxDomain badge (CALENDAR)
Site ID140pxDomain badge
Equipment ID140pxDomain badge (when selected)
Type Code120pxDAY/NIGHT/HOLIDAY/SETUP, etc.
Start TimeAutoShift start date/time
End TimeAutoShift end date/time
Registered160pxRegistration time
Actions80px🔧 Edit / 🗑 Delete

Main Form Inputs

InputpathDescription
Shift IDcalendar_id
Shift Namecalendar_name
Typecalendar_typeDAY/NIGHT/HOLIDAY/SETUP, etc.
Start/Endstart_time / end_time
Recurrence pattern(Mon/Tue/Wed.../Sun)Enabled per weekday
Descriptiondescription

Work Order Screen (/order/index)

The core screen for managing the entire work order lifecycle (register, start, pause, resume, end, abort).

Top Search Area

💼 워크오더 [기간 ▭▭▭▭] [사이트 ▼] [검색...] [상태 ▼] [건수 ▼] [조회][↻] [➕ 워크오더 추가]
ControlWidthDescription
Period (search_time)280pxStart–end (centered, bold)
Site (site_id)150pxAll sites + registered sites
Search (search_value)200pxplaceholder: "Search ..." — work order ID or title keyword
Status (search_status)120pxAll / Waiting / In Progress / Paused / Completed / Abnormal End / Delayed / Canceled
Count (limit)130px50/100/200/300/500/1,000
Search / RefreshRedsearch() / refresh()
Add Work OrderRed + ➕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 buttonAction
🕗 Last 10 min10 minutes from now
Last 30 min30 minutes from now
Last 1 hour1 hour from now
Last 6 hours6 hours from now
Last 12 hours12 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 │ 시작/종료 │ 등록일 │ 액션 │
└────────────────────────────────────────────────────────────────────┘
ColumnWidthDescription
Status100pxFull-color gradient badge (wo-status-*, 7 types — see The 7 States)
Work Order ID250pxDomain badge
Equipment ID150pxasset_id (domain badge)
TitleAutoWork order title
Target / Actual180pxtarget_units / actual production quantity
OEE90pxOEE for the work order (%)
Work order start/end time150pxTwo lines — start and end date/time
Registered150pxRegistration time
Actions150px▶ 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.

Two of the seven are not stored states

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.

CodeKoreanGradient colorDescription
WAITWaitingSlate grayOrder whose start time has not yet arrived
STARTIn Progress🟢 Dark green gradientCurrently running after pressing Start
PAUSEDPaused🟠 OrangeOrder paused while in progress (can be resumed or ended)
ENDCompleted🔵 Deep blue-grayOrder that has been ended
ABORTEDAbnormal End🔴 Deep redOrder terminated abnormally while in progress
DELAYDelayed🟡 YellowOrder whose start time has passed but has not been started
CANCELCanceled⚪ Light grayOrder 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)

InputpathDescription
Site selectionsite_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

InputpathDescription
Work Order IDorder_id (400px)Letters, digits, and _ only
Titletitle (600px)Human-readable title
Prioritypriority (200px selector)NORMAL / LOW / HIGH / URGENT

3) External system integration fieldset

Inputpathplaceholder
External Order IDexternal_order_id (400px)"ERP/MES order ID (optional)"
External PO IDexternal_po_id (400px)"Purchase order ID (optional)"
LOT Numberlot_number (300px)"LOT/batch number (optional)"
BOM IDbom_id (300px)"BOM ID (optional)"

4) Period fieldset

InputnameWidthDescription
Work order startdp_fix_start_timestamp250pxplaceholder: 2023-01-02 09:00 — format yyyy-MM-dd HH:mm:ss
Work order enddp_fix_end_timestamp250pxplaceholder: 2023-01-03 18:00

If the start/end time is earlier than the current time, WAIT switches automatically to DELAY; if the order is not started before the end time passes, it changes automatically to CANCEL.

5) Equipment and operator fieldset

InputpathDescription
Equipment IDasset_id (300px)Autocomplete — equipment assets of the site
Employee IDemployee_id (300px)Autocomplete — employees of the site

6) Customer and product fieldset

InputpathDescription
Customer IDcustomer_id (300px)Autocomplete
Product IDproduct_id (300px)Autocomplete
Target production quantitytarget_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

InputpathDescription
DescriptiondescriptionFree text
Remarksnote (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 개 │
└───────────────────────────────────────────────────────┘
AreaDisplay
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.

ButtonActionEnabled when
▶ StartstartOrder()WAIT state
⏸ PausepauseOrder()START state
🔄 ResumeresumeOrder()PAUSED state
⏹ EndendOrder()START/PAUSED state
❌ Abnormal EndabortOrder()START/PAUSED state
📅 Register Planned StopopenPlannedStopDialog()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)

ColumnDisplay
Current statusColor badge (WAIT/START/PAUSED/END/ABORTED/DELAY/CANCEL) — full-color gradient tone
Achievement rateActual ÷ target (%)
GoodNumber of good units
DefectiveNumber of defective units
TargetTarget 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.

CardDisplay
OEEOverall 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".

ColumnWidthDescription
Time100pxTime interval
Equipment status100pxRUN/IDLE/STOP/FAULT, etc.
TotalAutoTotal production in that interval
Good80pxGood units
Defective80pxDefective units
Run time120pxIn minutes
Down time120pxIn minutes
OEE70pxOverall effectiveness (%)
Availability70px(%)
Performance70px(%)
Quality70px(%)

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.

TabIconDisplay
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
EMSEMS 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.

InputDescription
Start / end timeStop interval
Reason codeLunch / meeting / routine inspection / other
NoteAdditional 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

ScenarioProcedure
New customer registration + first work orderAdd Customer → Add Product → Add Work Order (map the external order ID)
Automatic reflection of shift changesRegister a shift in the work schedule → map the shift ID to the work order → start automatically at the shift time
External ERP synchronizationUse 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 delaysSearch with status=DELAY → analyze the delay causes → notify the operators
OEE evaluationCompare 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.