# Work Order / WI — theo dõi Work Order, lịch công đoạn, đặt vật tư theo Process · WI, phát hành WI và tự chuyển trạng thái WI / WO

> Fine Chemical (FC) · Module MES · v0.5 · 12/10/2026 · Flow chuẩn — dùng để triển khai, kiểm thử và phát triển
>
> File sinh tự động từ sơ đồ bởi `sync.js` — đừng sửa tay. Hình là chuẩn: thấy mâu thuẫn với trang hình thì báo lại.
>
> Trang hình: /mes/work-order-wi

## Cách đọc

- Mỗi hộp trên sơ đồ có một mã `Bxx`, đánh theo thứ tự đi của luồng (từ điểm bắt đầu, theo mũi tên).
- "Đi tới" liệt kê mọi mũi tên ra khỏi hộp; chữ trong ngoặc vuông là nhãn điều kiện của mũi tên đó.
- "Nhánh tuỳ chọn" = mũi tên nét đứt trên sơ đồ: làm cũng được, bỏ qua cũng được.
- Hộp loại "Dữ liệu" ở lane Input là dữ liệu đi vào, ở lane Output là kết quả / điểm kết thúc của luồng.

## Process Flow (swimlane)

### Vai trò (lane)

- Input
- Planner
- Output

### Các bước

| Mã | Vai trò | Loại | Nội dung | Nền tảng · Màn hình | Đi tới |
| --- | --- | --- | --- | --- | --- |
| B01 | Input | Dữ liệu | Work Order RELEASED (từ Master Plan) |  | B07 |
| B02 | Input | Dữ liệu | Master data: Routing · Process · Work Center | Master data | B08 |
| B03 | Input | Dữ liệu | WI Injection theo ca (Release lịch ép) |  | B09 |
| B04 | Input | Dữ liệu | Plan công đoạn đã Release (Trimming · Outsourcing · Packing) |  | B10 |
| B05 | Input | Dữ liệu | Tiến độ: POP ca CONFIRMED · POP công đoạn · FG đã nhận |  | B14 |
| B06 | Input | Dữ liệu | Master data: BOM (vật tư theo WO) | Master data | B24 |
| B07 | Planner | Bắt đầu | Start |  | B08 |
| B08 | Planner | Bước | Sinh WI theo công đoạn Routing của WO | System (auto) · Work Order / WI | B09 |
| B09 | Planner | Bước | Gắn WI Injection theo ca | System (auto) · Work Order / WI | B10 |
| B10 | Planner | Điểm quyết định | Plan công đoạn đã Release? |  | B11 [Chưa]; B12 [Có] |
| B11 | Output | Dữ liệu | WI giữ DRAFT — chờ plan công đoạn Release |  | (kết thúc) |
| B12 | Planner | Bước | Release WI công đoạn | System (auto) · Work Order / WI | B13; B14 |
| B13 | Output | Dữ liệu | WI RELEASED theo công đoạn → shopfloor · POP |  | (kết thúc) |
| B14 | Planner | Bước | Chuyển trạng thái WI theo POP | System (auto) · Work Order / WI | B15; B16 |
| B15 | Output | Dữ liệu | WI RUNNING → COMPLETED (tự chuyển theo POP) |  | (kết thúc) |
| B16 | Planner | Bước | Chuyển trạng thái WO theo các WI | System (auto) · Work Order / WI | B17; B18 |
| B17 | Output | Dữ liệu | WO RUNNING → COMPLETED (tự chuyển theo các WI) |  | (kết thúc) |
| B18 | Planner | Kết thúc | End |  |  |
| B19 | Planner | Bắt đầu | Theo dõi WO |  | B20 |
| B20 | Planner | Bước | Mở danh sách Work Order | Web · Work Order / WI | B21 |
| B21 | Planner | Bước | Xem chi tiết Work Order | Web · Work Order / WI | B22 |
| B22 | Planner | Điểm quyết định | Planner cần làm gì? |  | B23 [Dời lịch]; B24 [Đặt vật tư] |
| B23 | Planner | Bước | Chỉnh Plan Dates công đoạn | Web · Work Order / WI | B25 |
| B24 | Planner | Bước | Chọn vật tư BOM và WI cần xuất | Web · Work Order / WI | B26 |
| B25 | Output | Dữ liệu | Lịch công đoạn đã dời (công đoạn Frozen giữ) |  | (kết thúc) |
| B26 | Planner | Bước | Tạo Material Out Request theo Process · WI | Web · Work Order / WI | B27; B28 |
| B27 | Output | Dữ liệu | MOR mang WO · WI · Process → kho Stock Out theo MOR |  | (kết thúc) |
| B28 | Planner | Kết thúc | End |  |  |

### Chi tiết từng bước (nội dung hover trên sơ đồ)

#### B08 · Sinh WI theo công đoạn Routing của WO

- Planner · System (auto) · Work Order / WI
- Đến từ: B02, B07
- Đi tới: B09 · Gắn WI Injection theo ca

> Hệ thống sinh Work Instruction (WI) cho từng công đoạn trong Routing của WO.  
> Khi nào: ngay khi WO RELEASED ("WO status changes to Released and the system can generate Work Instructions").  
> Hệ thống: một WI cho mỗi công đoạn cần WI hoặc cần theo dõi sản lượng ("One WI is created for each operation flagged as requiring WI or output tracking.").  
> Kết quả: WI công đoạn (Curing · Trimming · Spray · Packing · FG) → DRAFT. Không sinh WI Injection ở bước này.  
> Kiểm thử:  
> - WO có Routing 4 công đoạn (không kể Injection) → 4 WI DRAFT  
> Nguồn: BRD §6.1 Step 5 · BRD §6.2 Step 3 · Q-20260923-19 (G)  

#### B09 · Gắn WI Injection theo ca

- Planner · System (auto) · Work Order / WI
- Đến từ: B03, B08
- Đi tới: B10 · Plan công đoạn đã Release?

> Hệ thống gắn các WI Injection theo ca vào WO khi Planner Release lịch ép.  
> Khi nào: Planner Release lịch ép ở Injection Schedule.  
> Hệ thống: mỗi máy × ngày × ca (Day (AB) / Night (CD)) sinh một WI Injection; một Detail Plan (I/J Plan) ứng một WO. Không còn WI Injection mức WO.  
> Kết quả: WI Injection → RELEASED, hiện ở tab "Work Instructions" của WO với cột "Shift".  
> Kiểm thử:  
> - WO có lịch ép 2 ca (Day (AB) và Night (CD) cùng máy cùng ngày) → 2 WI Injection, mỗi ca một WI  
> Nguồn: Q-20261012-01 (câu 3) · Q-20260923-19 (A, G) · prototype v0.88  

#### B10 · Plan công đoạn đã Release?

- Planner
- Đến từ: B04, B09
- Đi tới [Chưa]: B11 · WI giữ DRAFT — chờ plan công đoạn Release
- Đi tới [Có]: B12 · Release WI công đoạn

> Plan công đoạn (Trimming / Outsourcing / Packing) của WO đã được Release chưa?  
> Có: plan đã Release bằng nút "Release Trimming Plan", "Release Outsourcing Order" hoặc "Release Packing Plan" → phát hành WI của công đoạn đó.  
> Chưa: WI giữ DRAFT, chờ plan công đoạn được Release.  
> Chưa chốt: Trimming Planning vẫn hiện trạng thái "Approved" sau khi Release, còn Outsourcing và Packing hiện "Released" — chưa rõ Trimming có đổi nhãn sang "Released" không (prototype v0.88).  
> Nguồn: Q-20260918-28 (câu 2) · prototype v0.82, v0.88  

#### B12 · Release WI công đoạn

- Planner · System (auto) · Work Order / WI
- Đến từ: B10
- Đi tới: B13 · WI RELEASED theo công đoạn → shopfloor · POP
- Đi tới: B14 · Chuyển trạng thái WI theo POP

> Hệ thống phát hành WI của công đoạn khi plan công đoạn được Release.  
> Khi nào: plan công đoạn của WO đã Release.  
> Kết quả: WI DRAFT → RELEASED; hiện trên hàng đợi shopfloor theo work center / ca.  
> Kiểm thử:  
> - Release plan Trimming của WO → WI Trimming của WO sang RELEASED; WI Packing vẫn DRAFT  
> Chưa chốt: prototype v0.88 để WI công đoạn ở RELEASED ngay khi WO được release, chưa chờ plan công đoạn Release; chỉ WO chưa release mới hiện WI DRAFT.  
> Nguồn: Q-20260918-28 (câu 2) · BRD §6.2 Step 5 · prototype v0.88  

#### B14 · Chuyển trạng thái WI theo POP

- Planner · System (auto) · Work Order / WI
- Đến từ: B05, B12
- Đi tới: B15 · WI RUNNING → COMPLETED (tự chuyển theo POP)
- Đi tới: B16 · Chuyển trạng thái WO theo các WI

> Hệ thống tự chuyển trạng thái WI theo kết quả POP, không có nút Close WI.  
> Khi nào: WI đã RELEASED.  
> Hệ thống: WI công đoạn RELEASED → RUNNING → COMPLETED khi số xác nhận ≥ số của công đoạn ("Confirmed ≥ process qty"). WI Injection theo ca → COMPLETED khi POP của ca CONFIRMED; phần thiếu về Remaining, xếp sang ca / WI mới.  
> Kết quả: WI COMPLETED là trạng thái cuối, không có CLOSED.  
> Kiểm thử:  
> - Ca Day (AB) có POP CONFIRMED → WI Injection của ca đó COMPLETED; ca Night (CD) chưa có POP vẫn RELEASED  
> Chưa chốt: điều kiện thật để WI chuyển RELEASED → RUNNING (POP đầu tiên, sản lượng > 0 hay bắt đầu tay); prototype v0.88 suy từ dữ liệu mẫu — WI công đoạn RUNNING khi công đoạn ngay trước đã COMPLETED, WI Injection RUNNING khi Material Lot Assignment đã "Confirmed" (OQ-121).  
> Nguồn: Q-20261012-02 (câu 1) · BRD §6.4 · quy ước Q5 · prototype v0.88  

#### B16 · Chuyển trạng thái WO theo các WI

- Planner · System (auto) · Work Order / WI
- Đến từ: B14
- Đi tới: B17 · WO RUNNING → COMPLETED (tự chuyển theo các WI)
- Đi tới: B18 · End

> Hệ thống tự chuyển trạng thái WO theo các WI của nó, không có nút Close WO.  
> Khi nào: WO đã RELEASED.  
> Hệ thống: WO RELEASED → RUNNING khi có WI RUNNING hoặc COMPLETED; WO → COMPLETED khi mọi WI COMPLETED. WO chưa release hiện "Not Released".  
> Kết quả: WO COMPLETED là trạng thái cuối, không có CLOSED. CANCELLED chỉ sinh khi cancel Master Plan.  
> Kiểm thử:  
> - WO có 7 WI, 4 COMPLETED và 2 RUNNING → WO RUNNING; khi cả 7 COMPLETED → WO COMPLETED  
> Chưa chốt: luồng cancel Master Plan chưa vẽ nên chưa rõ WO sang CANCELLED thế nào; điều này lệch Q-20260923-03 (Master Plan RELEASED không Cancel ở Master Plan). Điều kiện "FG đã nhận đủ" có tính vào WO COMPLETED không cũng chưa chốt.  
> Nguồn: Q-20261012-01 (câu 1) · Q-20261012-02 (câu 1) · prototype v0.88  

#### B20 · Mở danh sách Work Order

- Planner · Web · Work Order / WI
- Đến từ: B19
- Đi tới: B21 · Xem chi tiết Work Order

> Planner mở danh sách Work Order để theo dõi.  
> Thao tác: menu "Work Order / WI" › tab "Work Orders"; ô tìm "WO / WI no. or item"; lọc "Status" All · Released · Running · Completed · Not Released.  
> Hệ thống: thẻ "Work Orders" · "Released" · "Running" · "Completed" · "Work Instructions" · "Completed WI"; cột WO No · Master Plan · Item Code · Item Name · Qty · Processes · Plan From · Plan To · Progress · Status.  
> Kết quả: tab "Work Instructions" liệt kê cả WI công đoạn và WI Injection theo ca, có cột "Shift".  
> Nguồn: Q-20261012-01 (câu 1) · prototype v0.88  

#### B21 · Xem chi tiết Work Order

- Planner · Web · Work Order / WI
- Đến từ: B20
- Đi tới: B22 · Planner cần làm gì?

> Planner xem chi tiết một Work Order.  
> Thao tác: nút "View" hoặc bấm WO No.  
> Hệ thống: đầu trang có chip trạng thái WO và "Plan risk: <riskStatus>"; nút "Plan Dates" · "Booking Material Out Request" · "Print Work Order"; tab Items / Size · Sales Orders · Material · Defects · LOTs · Process Schedule · Work Instructions · Material Out Requests.  
> Kết quả: tab "Work Instructions" có WI Injection theo ca (cột "Shift") và WI từng công đoạn.  
> Chưa chốt: "Print Work Order" chưa có mẫu in; màn WO vẫn hiện 6 công đoạn cố định, chưa nhận Routing chọn ở Master Plan Step 3 (OQ-49).  
> Nguồn: prototype v0.88 · Q-20261012-01  

#### B22 · Planner cần làm gì?

- Planner
- Đến từ: B21
- Đi tới [Dời lịch]: B23 · Chỉnh Plan Dates công đoạn
- Đi tới [Đặt vật tư]: B24 · Chọn vật tư BOM và WI cần xuất

> Planner cần dời lịch hay đặt vật tư?  
> Dời lịch: chỉnh Plan Dates của công đoạn.  
> Đặt vật tư: tạo Material Out Request theo Process · WI.  
> Nguồn: prototype v0.88  

#### B23 · Chỉnh Plan Dates công đoạn

- Planner · Web · Work Order / WI
- Đến từ: B22
- Đi tới: B25 · Lịch công đoạn đã dời (công đoạn Frozen giữ)

> Planner dời ngày kế hoạch của công đoạn.  
> Thao tác: nút "Plan Dates" › bảng SEQ · CODE · PROCESS · LEAD · PLAN FROM · PLAN TO · FREEZE › "Save Plan".  
> Hệ thống: đổi ngày một công đoạn thì mọi công đoạn sau chưa Frozen dời cùng số ngày ("Changing a process date shifts every later unfrozen process by the same number of days.").  
> Chặn khi: công đoạn Frozen (đã có Good / NG / Rework) — không sửa được.  
> Kiểm thử:  
> - Dời công đoạn 2 thêm 3 ngày → công đoạn 3, 4 chưa Frozen dời 3 ngày  
> Nguồn: BRD §6.1 Freeze Rule · prototype v0.88  

#### B24 · Chọn vật tư BOM và WI cần xuất

- Planner · Web · Work Order / WI
- Đến từ: B06, B22
- Đi tới: B26 · Tạo Material Out Request theo Process · WI

> Planner chọn dòng vật tư BOM cần xin xuất kho và WI sẽ nhận vật tư đó.  
> Thao tác: nút "Booking Material Out Request" › tick dòng ("BOM demand for this Work Order — select the lines to request from the warehouse. Process = where the material is used (sample data).").  
> Hệ thống: tab "Material" liệt kê mọi vật tư BOM của WO, cột "Process"; popup có thêm "Process" và "Work Instruction". Dòng Injection chọn WI theo ca ("<WI> · <Shift> · <Line>"), dòng khác hiện WI công đoạn. "Request Qty" mặc định = Remaining; dòng Remaining = 0 không chọn được.  
> Kiểm thử:  
> - Dòng có Remaining = 0 → không tick được  
> Chưa chốt: cột "Process" của vật tư hiện là dữ liệu mẫu (OQ-118); "Request Qty" > Remaining chỉ tô đỏ, vẫn tạo được phiếu (OQ-119).  
> Nguồn: Q-20261012-01 (câu 4) · prototype v0.88  

#### B26 · Tạo Material Out Request theo Process · WI

- Planner · Web · Work Order / WI
- Đến từ: B24
- Đi tới: B27 · MOR mang WO · WI · Process → kho Stock Out theo MOR
- Đi tới: B28 · End

> Planner tạo các phiếu yêu cầu xuất vật tư (MOR) gửi kho, mỗi cặp Process · WI một phiếu.  
> Thao tác: nút "Create Request".  
> Hệ thống: mỗi (Process, WI) một MOR mang WO · WI · Process; MOR không phải điều kiện để sinh WI.  
> Kết quả: MOR-… trạng thái Requested, hiện ở tab "Material Out Requests" (cột "WI No", "Process"); kho Stock Out theo MOR, vật tư Injection ra khu Mixing, MOR → ISSUED, rồi Material Lot Assignment lấy lô đã xuất theo đúng WI theo ca (flow material-issue-return).  
> Kiểm thử:  
> - Chọn 3 dòng Injection cho 2 WI theo ca và 1 dòng Packing → 3 MOR  
> Chưa chốt: MOR tạo tay cho Packing / Outsourcing có trùng MOR tự sinh khi Release plan Packing / Outsourcing không (OQ-119); khu Mixing là kho nào trên WMS chưa có nguồn.  
> Nguồn: Q-20261012-01 (câu 4) · BRD §6.3 Step 1 · prototype v0.88  

## Vòng đời trạng thái

#### Work Order

`RELEASED` → `RUNNING` → `COMPLETED`

Bước chuyển:

- `RELEASED` -- Có WI RUNNING / COMPLETED --> `RUNNING`
- `RUNNING` -- Mọi WI COMPLETED --> `COMPLETED`

#### Work Instruction (theo công đoạn)

`DRAFT` → `RELEASED` → `RUNNING` → `COMPLETED`

Bước chuyển:

- `DRAFT` -- Release plan công đoạn --> `RELEASED`
- `RELEASED` -- Điều kiện chưa chốt (OQ-121) --> `RUNNING`
- `RUNNING` -- Confirmed ≥ process qty --> `COMPLETED`

#### WI Injection (mỗi ca một WI)

`RELEASED` → `RUNNING` → `COMPLETED`

Bước chuyển:

- `RELEASED` -- Điều kiện chưa chốt (OQ-121) --> `RUNNING`
- `RUNNING` -- POP ca CONFIRMED --> `COMPLETED`

## Input

| # | Input | Loại | Đi vào bước |
| --- | --- | --- | --- |
| I-1 | Work Order `RELEASED` — mỗi Big Plan của Master Plan một WO (Style · Model · Base Color · SPRAY/Logo · Area, P.O Month = Plan Month), mang Routing chọn ở Master Plan | Chứng từ — Master Plan | Start → Sinh WI theo công đoạn Routing của WO |
| I-2 | Routing · Process · Work Center | Master data | Sinh WI theo công đoạn Routing của WO |
| I-3 | WI Injection theo ca — mỗi máy × ngày × ca một WI (sinh khi Planner Release lịch ép ở Injection Schedule) | Chứng từ — Injection Schedule | Gắn WI Injection theo ca |
| I-4 | Plan công đoạn đã Release (Trimming · Outsourcing · Packing) | Chứng từ — màn Plan công đoạn | Plan công đoạn đã Release? |
| I-5 | Tiến độ: POP ca `CONFIRMED` · POP công đoạn · FG đã nhận | Kết quả sản xuất — MES | Chuyển trạng thái WI theo POP |
| I-6 | BOM — vật tư theo WO | Master data | Chọn vật tư BOM và WI cần xuất |

## Bước ↔ màn hình thực hiện

| Bước | Vai trò | Màn hình · nút trên UI |
| --- | --- | --- |
| Sinh WI theo công đoạn Routing của WO · Gắn WI Injection theo ca · Release WI công đoạn · Chuyển trạng thái WI theo POP · Chuyển trạng thái WO theo các WI | System (auto) | Work Order / WI · tab `Work Instructions` |
| Mở danh sách Work Order · Xem chi tiết Work Order | Planner | Work Order / WI · tab `Work Orders` (`View`) |
| Chỉnh Plan Dates công đoạn | Planner | Work Order · `Plan Dates` (`Save Plan`) |
| Chọn vật tư BOM và WI cần xuất · Tạo Material Out Request theo Process · WI | Planner | Work Order · `Booking Material Out Request` (`Create Request`) |

## Output

| # | Output | Điều kiện sinh ra |
| --- | --- | --- |
| O-1 | MOR mang WO · WI · Process → kho Stock Out theo MOR | Planner chọn vật tư BOM và WI rồi bấm Create Request — mỗi cặp (Process, WI) một MOR, không phải điều kiện để sinh WI |
| O-2 | WI giữ `DRAFT` — chờ plan công đoạn Release | Plan Trimming / Outsourcing / Packing của WO chưa Release |
| O-3 | WI `RELEASED` theo công đoạn → shopfloor · POP | Plan công đoạn đã Release |
| O-4 | WI `RUNNING` → `COMPLETED` (tự chuyển theo POP) | WI đã `RELEASED` và có POP; WI `COMPLETED` là trạng thái cuối |
| O-5 | WO `RUNNING` → `COMPLETED` (tự chuyển theo các WI) | Có WI `RUNNING` hoặc `COMPLETED` → WO `RUNNING`; mọi WI `COMPLETED` → WO `COMPLETED` |
| O-6 | Lịch công đoạn đã dời (công đoạn Frozen giữ) | Planner bấm Save Plan ở Plan Dates |

## Thuật ngữ

| Thuật ngữ | Nghĩa trong flow này |
| --- | --- |
| `Work Order (WO)` | Lệnh sản xuất sinh khi Release Master Plan; một Detail Plan (I/J Plan) ứng một WO |
| `WI` | Work Instruction — lệnh làm việc của một công đoạn; WI Injection tính theo từng ca |
| `Routing` | Chuỗi công đoạn của WO, quyết định WI nào được sinh |
| `Plan công đoạn` | Plan Trimming / Outsourcing / Packing; khi Release thì WI công đoạn được phát hành |
| `POP` | Point of Production — khai báo sản lượng theo ca |
| `Frozen` | Công đoạn đã có Good / NG / Rework, không dời lịch được |
| `MOR` | Material Out Request — yêu cầu kho xuất vật tư; mỗi cặp (Process, WI) một MOR |
| `Process` | Công đoạn dùng vật tư, ghi ở cột `Process` của tab `Material` (Injection · Trimming · Packing …) |
| `Shift` | Ca của WI Injection: Day (AB) hoặc Night (CD) |
