Skip to main content

Production Management

Table of Contents​


Overview​

The Production group manages domain information required for production activities (Customer, Product, Employee, Calendar, Work Order). Operation analysis based on ISO 22400 is currently provided in the ISO Data / ISO Analysis menu under the separate ISO group.

Sub-menuInternal URLPurpose
Customer/customer/indexRegister and manage order/supply customer information
Product/product/indexRegister and manage production product information
Employee/employee/indexWorker registration, contact info, and affiliation
Calendar/calendar/indexRegister and manage shift schedules
Work Order/order/indexWork order registration, start, end, and status management

Screen Configuration — 5 Sub-menus​

Each sub-screen is composed of a List (index.jsp) + Form (form.jsp) structure. Clicking the Add/Edit button in the list transitions to the form screen.

ScreenLinesPrimary UserSummary
Customer138+171Sales/AdminCustomer ID, contact person, external customer ID mapping
Product133+173Production PlanningProduct ID, BOM, external product code
Employee138+178HR/AdminEmployee ID, contact info, affiliated site
Calendar156+170Production OpsShift (Day/Night) schedules
Work Order216+260+679FieldWork order lifecycle + timeline

Customer Screen (/customer/index)​

Top Tools​

👑 고객 [사이트 ▼] [조회] [↻] [➕ 고객 추가]
ControlDescription
Site Selector (site_id, 200px)Registered sites. One is always selected
Search / RefreshApply search / Refresh screen
Add CustomerGo to form screen (addCustomer())

List Table (10 Columns)​

ColumnWidthDescription
Site ID120pxDomain badge (Click to move to asset tree)
Customer ID120pxDomain badge (CUSTOMER type)
Customer NameAutoClick to move to edit screen
Contact Person100pxmanager_name
Contact Email200pxmanager_email
Contact Phone200pxmanager_phone
External Customer ID150pxID badge for mapping to external systems (MES/ERP)
Registration Date150pxyyyy-MM-dd HH:mm:ss
Last Modified Date150pxTime of last modification
Action80px🔧 Edit / 🗑 Delete

Form (form.jsp Main Inputs)​

InputpathDescription
Sitesite_id (Selector, for new registration)Site to which the customer belongs
Customer IDcustomer_idOnly alphanumeric/_ allowed
Customer Namecustomer_nameHuman-identifiable name
Contact Name·Email·Phonemanager_name/manager_email/manager_phoneContact metadata
External Systemexternal_system"e.g., SAP (Optional)" — System that issued the external customer ID (up to 50 chars). Identified as a pair with the external customer ID
External Customer IDexternal_id"ERP Customer ID (Optional)" — Customer ID within that system
DescriptiondescriptionMemo

If an external customer ID exists, external system payloads can be automatically mapped at the flow_create_customer node in Flow.


Product Screen (/product/index)​

List Table (Main Columns)​

ColumnDescription
Site IDDomain badge
Product IDDomain badge (PRODUCT)
Product NameEdit screen on click
Product CategoryCategory classification (e.g., Home Appliance, Auto Parts)
Unit (UOM)Unit of measure (EA/KG/L, etc.)
External Product ID(Optional) For external system mapping
Reg Date·Mod Date·ActionCommon

Form Main Inputs​

InputpathDescription
Product IDproduct_idDomain identifier
Product Nameproduct_name—
Product Categorycategory—
UnituomUnit code
External Systemexternal_system"e.g., SAP (Optional)" — System that issued the external product ID (up to 50 chars). Identified as a pair with the external product ID
External Product IDexternal_id"ERP Product ID (Optional)"
Descriptiondescription—

Employee Screen (/employee/index)​

List Table (Main Columns)​

ColumnDescription
Site IDDomain badge
Employee IDDomain badge (EMPLOYEE)
NameEdit screen on click
Affiliated DeptDepartment information
Position—
Email·PhoneContact info
Reg Date·Mod Date·ActionCommon

Form Main Inputs​

InputpathDescription
Employee IDemployee_idDomain identifier
Nameemployee_name—
Affiliation (org_id)org_idAffiliated site/organization (falls back to site_id if omitted)
Dept·Positiondepartment / position—
Email·Phoneemail / phone—

Calendar Screen (/calendar/index)​

The Calendar follows the same 2-panel layout as Work Orders: Timeline + Data List.

Top Search Area​

📅 근무표 [기간] [사이트 ▼] [유형 ▼] [건수 ▼] [조회] [↻] [➕ 이벤트 추가]
시프트 캘린더 / 이벤트 일정 관리
ControlWidthDescription
Period (search_time)WideDate-time range (Calendar picker)
Site (site_id)150pxRegistered sites. One is always selected
Type (target_type)140pxAll types + registered type codes (e.g., DAY/NIGHT/HOLIDAY)
Count (limit)140pxRecent 50/100/200/300/500/1,000 cases
🔍 SearchRed PrimaryReload with above conditions
↻ RefreshGray + Rotate Icon—
➕ Add EventRed PrimaryForm for registering new shifts/events

Timeline Panel​

Same controls as Work Order. Panel header aid: "Shift / Event distribution by time interval".

Quick RangeAction
10m / 30m / 1h / 6h / 12h / All6 buttons — Highlighted when active (Default: "All")

Shifts are displayed as color bars on the timeline (data_timeline). Colors vary based on shift status (cal-status-* full-color gradient badge).

Data List Table (9 Columns)​

Panel header aid: "Searched shift / event list".

ColumnWidthDisplay
Status90pxFull-color gradient cal-status-* badge — UPCOMING(Blue) / PROGRESS(Green) / DONE(Gray)
Calendar ID200pxDomain badge (CALENDAR)
Site ID140pxDomain badge
Equipment ID140pxDomain badge (if selected)
Type Code120pxDAY/NIGHT/HOLIDAY/SETUP, etc.
Start TimeAutoShift start date-time
End TimeAutoShift end date-time
Registration Date160pxRegistration time
Action80px🔧 Edit / 🗑 Delete

Form Main Inputs​

InputpathDescription
Shift IDcalendar_id—
Shift Namecalendar_name—
Typecalendar_typeDAY/NIGHT/HOLIDAY/SETUP, etc.
Start/Endstart_time / end_time—
Repeat Pattern(Mon/Tue/Wed.../Sun)Activation by day of week
Descriptiondescription—

Work Order Screen (/order/index)​

The core screen managing the entire work order lifecycle (Registration, Start, Pause, Resume, End, Abort).

Top Search Area​

💼 워크오더 [기간 ▭▭▭▭] [사이트 ▼] [검색...] [상태 ▼] [건수 ▼] [조회][↻] [➕ 워크오더 추가]
ControlWidthDescription
Period (search_time)280pxStart~End (Centered, bold)
Site (site_id)150pxRegistered sites. One is always selected
Search (search_value)200pxplaceholder: "Search ..." — Work order ID, title keywords
Status (search_status)120pxAll/Wait/In Progress/Paused/Done/Aborted/Delayed/Canceled
Count (limit)130px50/100/200/300/500/1,000
Search / RefreshRedsearch() / refresh()
Add Work OrderRed + ➕To form screen (addOrder())

Hidden Fields​

The top search form contains hidden fields used when arriving from external screens (Equipment, Customer, Employee, Product, etc.): shift_id, order_id, asset_id, employee_id, customer_id, product_id. These are automatically filled when viewing work orders for a specific external resource.

Timeline​

Panel header: "Timeline — Work Order Progress by Time Interval" + 6 range buttons on the right.

Quick Range ButtonAction
🕗 10m ago10 minutes from current
30m ago30 minutes from current
1h ago1 hour from current
6h ago6 hours from current
12h ago12 hours from current
All Period (Default)Entire search period

The selected range button is highlighted as active. This follows the same control pattern as Diagnosis, Log, and Flow screens.

In the timeline area (data_timeline), work orders are displayed as full-color gradient bars (t-box-2- badges)* on the time axis. Each bar is colored by status (see 7 Work Order Statuses below). Clicking a bar moves to the Work Order Details screen.

Data List Table​

Panel header aid: "Searched work order list".

┌────────────────────────────────────────────────────────────────────┐
│ 상태 │ 워크오더 ID │ 설비 ID │ 제목 │ 목표/실적 │ OEE │ 시작/종료 │ 등록일 │ 액션 │
└────────────────────────────────────────────────────────────────────┘
ColumnWidthDescription
Status100pxFull-color gradient badge (wo-status-* 7 types — see 7 Work Order Statuses)
Work Order ID250pxDomain badge
Equipment ID150pxasset_id (Domain badge)
TitleAutoWork order title
Target / Actual180pxPlanned Qty / Actual — Displayed with unit symbols (e.g., 1,250.5 kg). Scrapes are the sum of Waste + Rework. See Quantities and Units below.
OEE90pxOEE (%) per work order
Work Order Start/End Time150pxTwo lines — Start and End date-time
Registration Date150pxRegistration time
Action150px▶ Start / ⏸ Pause / ⏹ End / 🚫 Abort / 🔧 Edit / 🗑 Delete

7 Work Order Statuses​

Statuses are displayed as wo-status-* full-color gradient badges, and the same colors are applied to the timeline bars.

2 of the 7 types are not stored statuses

Delayed (DELAY) and Canceled (CANCEL) are calculated by the screen based on time and are not stored as data. The stored statuses are Wait, In Progress, Paused, Done, and Aborted.

Therefore, these two cannot be changed via buttons. To clear "Delayed", start the order. To clear "Canceled", push back the scheduled end time. These will not be found in API or DB as DELAY.

CodeLabelGradient ColorDescription
WAITWaitSlate GrayOrder where the start time has not yet arrived
STARTIn Progress🟢 Dark GreenCurrently operating after pressing the Start button
PAUSEDPaused🟠 OrangeOrder paused during progress (can be resumed or ended)
ENDDone🔵 Deep Blue-GrayOrder processed as ended
ABORTEDAborted🔴 Dark RedOrder abnormally terminated during progress
DELAYDelayed🟡 YellowOrder that has not started despite the start time passing
CANCELCanceled⚪ Light GrayOrder where the end time passed without starting

Screen Status Determination Priority​

The stored status takes precedence; time-based determination occurs only when the stored status is «Wait».

저장된 상태가 진행중·일시중지·완료·비정상종료 → 그대로 표시
그 외(대기) → 지금 시각으로 판정
종료 예정 시각이 지났으면 → 취소
시작 예정 시각이 지났으면 → 지연
둘 다 아니면 → 대기

Note these two real-world behaviors:

  • Paused orders continue to appear as "Paused" even after the end time has passed. This is because the stored status overrides the time. Do not assume a quiet screen is normal; track paused orders past their period.
  • Canceled is determined before Delayed. Orders where both start and end times have passed skip "Delayed" and appear immediately as "Canceled".

For color mapping, refer to Status Code Definitions.

Work Order Help​

An operation guide box is displayed at the bottom of the screen.

❓ Work Order Help The Work Order menu allows management of registration, starting, ending, and deletion of production work orders.

  • Wait — Order where the start time has not yet arrived.
  • In Progress — Order currently operating after pressing the Start button.
  • Paused — Order paused during progress. Can be resumed or ended.
  • Delayed — Order that has not started despite the start time passing.
  • Canceled — Order where the end time passed without starting.
  • Done — Order processed as ended.
  • Aborted — Order abnormally terminated during progress.
  • Up to 1,000 orders within the search period are displayed in the timeline and list.

Work Order Add/Edit Form​

Access this screen via the top Add Work Order button or the row's 🔧 Edit button.

1) Site fieldset (New registration only)​

InputpathDescription
Select Sitesite_id (350px Selector)Reloads asset/employee list for that site upon change

In edit mode (mode='U'), this is maintained as a hidden field.

2) Work Order fieldset​

InputpathDescription
Work Order IDorder_id (400px)Only alphanumeric/_ allowed
Work Order Nameorder_name (600px)Required — Human-readable name. Will not save if empty or whitespace only
Prioritypriority (200px Selector)1 Emergency / 2 High / 3 Normal (Default) / 4 Low — B2MML Priority integer; smaller is higher

3) External System Integration fieldset​

Inputpathplaceholder
External Work Order IDexternal_id (400px)"ERP/MES Work Order ID (Optional)" — Identified as a pair with the system name (external_system). System name is entered via V5 API (MES Integration)
Customer PO IDcustomer_po_id (400px)"Customer 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_planned_start_timestamp250pxplaceholder: 2023-01-02 09:00 — Format yyyy-MM-dd HH:mm:ss
Work Order Enddp_planned_end_timestamp250pxplaceholder: 2023-01-03 18:00

If start/end times are in the past, WAIT → DELAY auto-transitions. If not started by the end time, it auto-changes to CANCEL.

5) Equipment and Worker fieldset​

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

6) Customer and Production Product fieldset​

InputpathDescription
Customer IDcustomer_id (300px)Autocomplete
Product IDproduct_id (300px)Autocomplete
Planned Qtyplanned_quantity (200px, Right-aligned)Required, value > 0. Quantity to produce. For unit counts (EA, pc, unit, box, set), integers are used; others allow up to four decimal places.
Unitunit_of_measure (Selector)Required. UN/ECE Rec 20 allowed list — see Quantities and Units. Selecting a product defaults to the product's base unit (otherwise EA). Actuals, calibrations, and scrap records are all received in this unit.
Unit Production Time [MS]time_per_unit_in_ms (200px, Right-aligned)Time to produce one unit (milliseconds) — Used for OEE anomaly time calculation

7) Description and Notes fieldset​

InputpathDescription
DescriptiondescriptionFree text
Notesnote (Optional)Operator memo

Quantities and Units​

Work order quantities are treated as a bundle of value and unit (ISA-95 / B2MML Quantity). The unit is selected when creating the work order, and all actuals, calibrations, and scrap records for that order are received in that unit. Unit conversion is not performed — values in different units are rejected.

Unit CodeScreen SymbolInput
EA · H87 · C62EA · pc · unitInteger (Count)
BX · SETbox · setInteger (Number of boxes/sets)
KGM · GRM · TNEkg · g · tUp to four decimal places
LTR · MLT · MTQL · mL · m³Up to four decimal places
MTR · MTKm · m²Up to four decimal places
  • Unit symbols are always attached — EA is not omitted. One space between number and symbol: 25,920 EA, 1,250.5 kg.
  • Symbols are language-independent. Even on Korean screens, EA is used instead of «개».
  • When writing both, such as «Good / Planned», the unit is written once after the denominator: 2,671 / 25,920 EA. In large number rows, symbols appear as small subscripts.
  • Period KPIs that sum multiple work orders only aggregate quantities when the unit is identical. If units are mixed, they are shown by unit instead of a total sum — ratios (OEE, Availability, Performance, Quality) remain unaffected.
  • Value per unit in EMS includes the denominator unit: kWh/EA, kWh/kg.
  • Work orders created before the upgrade are all EA.

Waste · Rework · Scrap​

Scrapes are divided into Waste (discarded, ISO 22400 SQ) and Rework (fixed, RQ). The screen distinguishes these by term.

Term on ScreenMeaningLocation
ScrapSum of Waste + ReworkGood/Scrap row in work order list, summary info table, production panel. If rework exists, details are attached: 14 kg (폐기 12.75 · 재작업 1.25)
WasteWaste onlyColumn in production history (by hour) table, second field in quantity correction dialog, correction footnote («Corrected — Measured good ..., Waste ...»)
ReworkRework onlyScrap details, correction footnote «Including Rework N»
  • PLC-detected scrapes are counted as Waste since the disposition is unknown. Rework occurs only in scrap records where the disposition is selected as REWORK.
  • Quantity correction fixes Good and Waste. Rework is left as a scrap record, not a correction.
  • Quality (Q) is Good ÷ Production, so rework also reduces quality. For API field names, see Order Service — Waste and Rework.

Work Order Details Screen (/order/view/{order_id})​

Enter this screen by clicking a work order ID or row in the work order list. The screen consists of a col-lg-9 left side (main panels) + col-lg-3 right side (work order meta + calendar).

Top — Page Header​

💼 워크오더 | {order_id} [← 목록] [↻ 새로고침]
{site_id} / {asset_id} / {product_id} / {customer_id}

Identification info (Site, Equipment, Product, Customer) allows immediate identification of the work order in one line.

Left ① Production Progress Panel (Standalone)​

Top of the screen — Large progress percentage/bar + 3 meta fields. 📊 ISO Analysis button on the right of the panel header.

┌── 생산 진행률 ──────────────────────────────────────────┐
│ │
│ 78% 생산량: 1,560 EA │
│ ████████████░░░░ 목표: 2,000 EA │
│ 잔여: 440 EA │
└───────────────────────────────────────────────────────┘
AreaDisplay
Achievement Rate (side_prod_rate)Large % number + progress bar
Production Volume (side_prod_good)Cumulative good quantity
Target (side_prod_target)Planned quantity (with unit symbol)
Remaining (side_prod_remaining)Target − Production Volume

Left ② Summary Information Panel — 7 Lifecycle Action Buttons​

The following buttons are displayed as a group on the right of the panel header. Activation/deactivation automatically switches based on work order status.

ButtonActionActivation Condition
▶ StartstartOrder()WAIT status
⏸ PausepauseOrder()START status
🔄 ResumeresumeOrder()PAUSED status
⏹ EndendOrder()START/PAUSED status
❌ AbortabortOrder()START/PAUSED status
📅 Register Planned StopopenPlannedStopDialog()Always active
🔧 Edit (Icon only)editOrder()Always active

The last retrieval reference time (last_refresh_time) is displayed in small text in the panel header label area.

Summary Information Table (5 Columns)​

ColumnDisplay
Current StatusColor badge (WAIT/START/PAUSED/END/ABORTED/DELAY/CANCEL) — Full-color gradient tone
Achievement RateActual ÷ Target (%)
GoodGood quantity (Work order unit)
ScrapScrap sum = Waste + Rework (Work order unit). If rework exists, (폐기 … · 재작업 …) details are attached
TargetPlanned quantity (Work order unit)

Left ③ OEE Panel (Standalone)​

OEE, RAM, and EMS were previously grouped, but OEE is now a standalone panel. Four card stats are displayed as large numbers + sparklines + delta compared to the previous day.

CardDisplay
OEEOverall Efficiency (%) — Availability × Performance × Quality
Availability(%)
Performance(%)
Quality(%)

Clicking each card moves to the corresponding KPI tab in ISO Data and Analysis.

Left ④ Hourly OEE Table (12 Columns)​

OEE snapshots for every hour during the work order. Panel header sub-text: "Production volume · OEE metric history by hour".

ColumnWidthDescription
Time100pxTime interval
Equipment Status100pxRUN/IDLE/STOP/FAULT, etc.
TotalAutoTotal production for that hour
Good80pxGood quantity
Waste80pxWaste quantity for that hour — This table's rows do not include rework, so «Waste» is used instead of «Scrap»
Operating Time120pxIn minutes
Down Time120pxIn minutes
OEE70pxOverall Efficiency (%)
Availability70px(%)
Performance70px(%)
Quality70px(%)

Left ⑤ ISO Data Tab — OEE / RAM / EMS​

A 3-tab panel has been separated below the standalone OEE panel (tab-content-as-panels pattern). The tab body displays each 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
EMS⚡EMS statistics table (ems_stats_table) — Energy consumption·CO2 emission·Peak power

An hourly trend chart (line/bar) is displayed above the table in each tab.

If no data exists, "No data to display" is shown in each tab. For detailed metric meanings, refer to ISO Data and Analysis — OEE · RAM · EMS.

Right ① Work Order Info Panel (ds-dl)​

All input items from the Work Order Form are displayed as a definition list (Work Order Name, Priority, External ID, Period, Equipment, Employee, Customer, Product, etc.). Domain IDs are all color badges — click to move to the respective domain screen.

Right ② Calendar Panel​

Shift information applied during the work order period. Includes a button to enter the Calendar management screen.

Planned Stop Registration Dialog​

Opened via the 📅 Register Planned Stop button in the summary panel. Registering planned stops such as lunch or periodic inspections excludes them from the Availability calculation in OEE.

InputDescription
Start / End TimeStop interval
Reason CodeLunch/Meeting/Periodic Inspection/Other
MemoAdditional description (Optional)

ISO Analysis​

The ISO > ISO Analysis in the integrated menu moves to a separate analysis screen (/analysis/index). Here, detailed KPI analysis based on ISO 22400 can be viewed and used alongside the ISO Data and Analysis (OEE/RAM/EMS) screen.


Usage Scenarios​

ScenarioProcedure
New Customer Reg + First Work OrderAdd Customer → Add Product → Add Work Order (Map external order ID)
Auto-reflect Shift ChangeRegister shift in Calendar → Map shift ID in Work Order → Auto-start based on shift time
External ERP SyncUse flow_jdbc_poll + flow_create_work_order in Flow to auto-register external PO as work order
Line Isolation due to Quality Issue🚫 Abort work order → Enter ABORTED + abort_code
Start Delay TrackingSearch by status=DELAY → Analyze delay reason → Notify operator
OEE EvaluationCompare OEE column of ended work order + OEE tab in ISO Data and Analysis

FAQ​

Q. The start time has passed, but it doesn't change to In Progress. A. Auto-start requires a registered shift or automation flow. Manual start is possible via the ▶ Start action button in the work order row.

Q. What is the difference between Aborted (ABORTED) and Canceled (CANCEL)? A. Aborted occurs when an order is forcibly terminated during progress, while Canceled occurs when the end time passes without the order ever starting.

Q. Do I have to enter the external work order ID, customer PO ID, LOT, and BOM? A. All are optional. If it is a one-time task not integrated with an external system, you may leave them blank.

Q. How do I determine the Unit Production Time (MS)? A. It is the ideal cycle time to produce one unit (milliseconds). Example: 10s/unit → 10000. This value is used for OEE Performance calculations.

Q. How is OEE calculated for a paused work order? A. Pause time is excluded from operating time and reflected in Availability. However, downtime accumulates by the hour.

Q. I want to use a Korean name for the work order, but the ID only allows alphanumeric/_. A. The Work Order ID is a system identifier and only allows alphanumeric/_. Enter the Korean name in the Work Order Name field to have it displayed across the screen.

Q. Autocomplete is not working. A. Autocomplete searches for assets, employees, customers, and products only after a site is selected. Please select a Site first.

Q. Work orders outside the search period are not visible. A. This is normal behavior. The screen displays a maximum of 1,000 orders within the search period. For older work orders, increase the period or use daily comparison in the Daily Statistics screen.

Q. What is the difference between a customer's external ID and a work order's external order ID? A. The Customer's External ID is the external system identifier for the customer themselves; the Work Order's External Order ID is the external system identifier for that specific work order (order).