# Curing Checking — tồn phòng curing theo lô: tuổi lô so với Cure Std, số đã xuất sang Trimming, tồn còn lại

> Fine Chemical (FC) · Module MES · v0.6 · 09/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/curing-checking

## 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
- Warehouse Staff
- System
- 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 | Lô Curing đã xác nhận (Curing Confirmation) |  | B06 |
| B02 | Input | Dữ liệu | Master data: Cure Std · Curing Room | Master data | B07 |
| B03 | Input | Dữ liệu | Phiếu Stock Out Curing → WH-TRM-01 của lô |  | B12 |
| B04 | Input | Dữ liệu | Lô Reopen ở Curing Confirmation (đã duyệt) |  | B22 |
| B05 | System | Bắt đầu | Start |  | B06 |
| B06 | System | Bước | Hiện lô trong LOT Inventory | System (auto) · Curing Checking | B07 |
| B07 | System | Bước | Tính Aged theo In Date | System (auto) · Curing Checking | B08 |
| B08 | System | Điểm quyết định | Aged ≥ Cure Std? |  | B09 [Không]; B10 [Có] |
| B09 | Output | Dữ liệu | Lô UNDER CURING — lên plan Trimming được, chưa xuất |  | (kết thúc) |
| B10 | System | Bước | Hiện lô CURED – UNALLOCATED | System (auto) · Curing Checking | B11; B12 |
| B11 | Output | Dữ liệu | Lô CURED – UNALLOCATED → Curring Room INV List |  | (kết thúc) |
| B12 | System | Bước | Cập nhật Released · On-hand | System (auto) · Curing Checking | B13 |
| B13 | System | Điểm quyết định | On-hand = 0? |  | B14 [Không]; B15 [Có] |
| B14 | Output | Dữ liệu | Lô còn On-hand — chọn tiếp ở Trimming Planning |  | (kết thúc) |
| B15 | System | Bước | Ẩn lô khỏi LOT Inventory | System (auto) · Curing Checking | B16; B17 |
| B16 | Output | Dữ liệu | Lô rời phòng curing |  | (kết thúc) |
| B17 | System | Kết thúc | End |  |  |
| B18 | Warehouse Staff | Bắt đầu | Cần xuất báo cáo |  | B19 |
| B19 | Warehouse Staff | Bước | Xuất Excel lưới đang lọc | Web · Curing Checking | B20; B21 |
| B20 | Output | Dữ liệu | File Excel LOT Inventory |  | (kết thúc) |
| B21 | Warehouse Staff | Kết thúc | End |  |  |
| B22 | System | Bước | Gỡ lô khỏi LOT Inventory | System (auto) · Curing Checking | B23 |
| B23 | Output | Dữ liệu | Lô rút khỏi phòng curing — chờ xác nhận lại |  | (kết thúc) |

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

#### B06 · Hiện lô trong LOT Inventory

- System · System (auto) · Curing Checking
- Đến từ: B05, B01
- Đi tới: B07 · Tính Aged theo In Date

> Hệ thống hiện các lô đã xác nhận ở Curing Confirmation còn tồn trong phòng Curing.  
> Thao tác: Curing Checking › bảng "LOT Inventory": "LOT No." · "WO No." · "Item" · "Room" · "In Date" · "Cure Std" · "Aged" · "In Qty" · "Released" · "On-hand" · "Lot Status"; lọc "Curing Room" · "WO No." · "Lot Status" (lọc ngay khi chọn).  
> Hệ thống: "Room" là phòng Warehouse Staff chọn ở ô "Curing room" của Curing Confirmation lúc xác nhận lô. Tồn phòng Curing là kho công đoạn "WH-CUR-01 / Curing"; kiểm kê làm ở kho này bên WMS.  
> Hệ thống: màn chỉ để xem tồn — không kiểm kê, không đổi trạng thái lô; nút duy nhất là "Excel".  
> Kết quả: dòng đếm "[WH-CUR-01 / Curing · <n> lots · <số đôi> pairs on-hand]".  
> Kiểm thử:  
> - Confirm 4 lô ca ngày 2026-08-11 ở Curing Confirmation → 4 lô đó hiện ở đây, Aged 0 d  
> - Lọc "Curing Room" = CUR-ROOM-B → chỉ còn lô của CUR-ROOM-B; thêm "Lot Status" = Under Curing → chỉ còn lô chưa đủ ngày  
> Nguồn: Q-20261009-03 · Q-20261009-09 (câu 1, 2) · prototype v0.87  

#### B07 · Tính Aged theo In Date

- System · System (auto) · Curing Checking
- Đến từ: B02, B06
- Đi tới: B08 · Aged ≥ Cure Std?

> Hệ thống tính tuổi của lô trong phòng Curing, theo ngày.  
> Hệ thống: "Aged" = ngày hiện tại − "In Date"; "Cure Std" = Standard curing days của master data (prototype: 2 d) — cùng đơn vị với Curing Confirmation ("Standard curing 2 days") và Trimming Planning.  
> Kiểm thử:  
> - In Date 2026-08-09, ngày hiện tại 2026-08-11 → Aged 2 d  
> Nguồn: Q-20261009-03 (câu 3) · Q-20260918-29 · prototype v0.85  

#### B08 · Aged ≥ Cure Std?

- System
- Đến từ: B07
- Đi tới [Không]: B09 · Lô UNDER CURING — lên plan Trimming được, chưa xuất
- Đi tới [Có]: B10 · Hiện lô CURED – UNALLOCATED

> Lô đã đủ số ngày curing chuẩn chưa?  
> Có: "Aged" ≥ "Cure Std" → "Lot Status" là Cured – Unallocated, cột "Aged" tô xanh.  
> Không: "Lot Status" là Under Curing, cột "Aged" tô cam.  
> Kiểm thử:  
> - Cure Std 2 d, Aged 1 d → Không  
> - Cure Std 2 d, Aged 2 d → Có  
> Nguồn: Q-20261009-03 (câu 1) · Q-20260918-29  

#### B10 · Hiện lô CURED – UNALLOCATED

- System · System (auto) · Curing Checking
- Đến từ: B08
- Đi tới: B11 · Lô CURED – UNALLOCATED → Curring Room INV List
- Đi tới: B12 · Cập nhật Released · On-hand

> Hệ thống hiện lô đủ ngày curing là tồn chung chờ Trimming.  
> Kết quả: lô không gắn Customer PO; Trimming Planning chọn được lô để lên plan.  
> Hệ thống: bước chuyển sang Cured – Unallocated do Curing Confirmation đặt; màn này chỉ hiển thị. Lô không có trạng thái release sang Trimming.  
> Nguồn: Q-20260930-05 (câu 3) · Q-20261009-03 (câu 1)  

#### B12 · Cập nhật Released · On-hand

- System · System (auto) · Curing Checking
- Đến từ: B10, B03
- Đi tới: B13 · On-hand = 0?

> Hệ thống cập nhật số đã xuất sang kho Trimming và số còn trong phòng.  
> Hệ thống: "Released" = tổng phiếu Stock Out Curing → WH-TRM-01 đang APPROVED của lô; phiếu bị CANCELLED (sửa / huỷ plan Trimming) trả lại số đó. "On-hand" = "In Qty" − "Released".  
> Kết quả: xuất một phần thì lô vẫn còn On-hand; "Lot Status" không đổi.  
> Kiểm thử:  
> - In Qty 1.600, phiếu 510 APPROVED → Released 510, On-hand 1.090  
> - Huỷ plan đó → phiếu CANCELLED → Released 0, On-hand 1.600  
> Nguồn: Q-20261006-02 (câu 1, 2) · Q-20261009-03 · prototype v0.85  

#### B13 · On-hand = 0?

- System
- Đến từ: B12
- Đi tới [Không]: B14 · Lô còn On-hand — chọn tiếp ở Trimming Planning
- Đi tới [Có]: B15 · Ẩn lô khỏi LOT Inventory

> Lô còn tồn trong phòng không?  
> Có: "On-hand" = 0 → bỏ lô khỏi bảng.  
> Không: lô còn On-hand, chọn tiếp được ở Trimming Planning.  
> Nguồn: Q-20261009-03 (câu 1) · prototype v0.85  

#### B15 · Ẩn lô khỏi LOT Inventory

- System · System (auto) · Curing Checking
- Đến từ: B13
- Đi tới: B16 · Lô rời phòng curing
- Đi tới: B17 · End

> Hệ thống bỏ lô đã xuất hết khỏi bảng.  
> Kết quả: lô rời "LOT Inventory"; "Lot Status" vẫn là Cured – Unallocated — không có trạng thái Released.  
> Nguồn: Q-20260930-05 (câu 3) · Q-20261009-03 (câu 1)  

#### B19 · Xuất Excel lưới đang lọc

- Warehouse Staff · Web · Curing Checking
- Đến từ: B18
- Đi tới: B20 · File Excel LOT Inventory
- Đi tới: B21 · End

> Warehouse Staff xuất lưới đang lọc ra file Excel.  
> Thao tác: nút "Excel".  
> Kết quả: file Excel "LOT Inventory" theo bộ lọc hiện tại.  
> Nguồn: prototype v0.85  

#### B22 · Gỡ lô khỏi LOT Inventory

- System · System (auto) · Curing Checking
- Đến từ: B04
- Đi tới: B23 · Lô rút khỏi phòng curing — chờ xác nhận lại

> Hệ thống gỡ lô bị mở lại ở Curing Confirmation khỏi danh sách tồn.  
> Khi nào: Production Supervisor đã duyệt Reopen, lô về WAITING CONFIRMATION.  
> Kết quả: lô rời bảng "LOT Inventory"; khi xác nhận lại, lô vào lại như lô mới.  
> Chưa chốt: lô xác nhận lại vào như lô mới — đề xuất, chưa được xác nhận.  
> Nguồn: quy ước Q3  

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

#### Lot Status hiển thị trên Curing Checking — bước chuyển do Curing Confirmation đặt

`UNDER CURING` → `CURED – UNALLOCATED`

Bước chuyển:

- `UNDER CURING` -- Aged ≥ Cure Std --> `CURED – UNALLOCATED`

## Input

| # | Input | Loại | Đi vào bước |
| --- | --- | --- | --- |
| I-1 | Lô Curing đã xác nhận (1 ca ép = 1 lô) từ Curing Confirmation | Kết quả sản xuất — MES | Hiện lô trong LOT Inventory |
| I-2 | Cure Std (Standard curing days) · Curing Room | Master data | Tính Aged theo In Date |
| I-3 | Phiếu Stock Out Curing → WH-TRM-01 của lô (APPROVED / CANCELLED) | Phiếu kho — MES Trimming Planning / Curing Confirmation | Cập nhật Released · On-hand |
| I-5 | Lô bị Reopen ở Curing Confirmation (Production Supervisor đã duyệt) | Kết quả — MES Curing Confirmation | Gỡ lô khỏi LOT Inventory |

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

| Bước | Vai trò | Màn hình · nút trên UI |
| --- | --- | --- |
| Hiện lô trong LOT Inventory · Tính Aged theo In Date · Hiện lô CURED – UNALLOCATED · Cập nhật Released · On-hand · Ẩn lô khỏi LOT Inventory · Gỡ lô khỏi LOT Inventory | System (auto) | Curing Checking · bảng `LOT Inventory`; lọc `Curing Room`, `WO No.`, `Lot Status` |
| Xuất Excel lưới đang lọc | Warehouse Staff | Curing Checking · `Excel` (nút duy nhất của màn) |

## Output

| # | Output | Điều kiện sinh ra |
| --- | --- | --- |
| O-1 | Lô `UNDER CURING` — lên plan Trimming được, chưa xuất kho | Aged < Cure Std |
| O-2 | Lô `CURED – UNALLOCATED` → Curring Room INV List (nguồn của Trimming Planning) | Aged ≥ Cure Std — bước chuyển do Curing Confirmation đặt |
| O-4 | Lô còn On-hand — chọn tiếp ở Trimming Planning | Xuất một phần, On-hand > 0 |
| O-5 | Lô rời phòng curing | On-hand = 0 (đã xuất hết sang kho Trimming) |
| O-9 | Lô rút khỏi phòng curing — chờ xác nhận lại | Curing Confirmation Reopen lô (Supervisor đã duyệt) |
| O-8 | File Excel LOT Inventory | Bấm Excel |

## Thuật ngữ

| Thuật ngữ | Nghĩa trong flow này |
| --- | --- |
| `Cure Std` | Số ngày curing chuẩn (Standard curing days, prototype: 2 d) |
| `Aged` | Ngày hiện tại − In Date: số ngày lô đã ở phòng Curing |
| `In Qty / Released / On-hand` | Số vào phòng · tổng phiếu Stock Out Curing → WH-TRM-01 đang APPROVED · số còn lại = In Qty − Released |
| `WH-CUR-01 / Curing` | Kho công đoạn (Process warehouse) của phòng Curing; kiểm tồn / kiểm kê làm ở kho này bên WMS |
| `Room` | Phòng Curing (CUR-ROOM-A / B) Warehouse Staff chọn lúc xác nhận lô ở Curing Confirmation |
| `Lot Status` | UNDER CURING · CURED – UNALLOCATED (prototype hiển thị Under Curing / Cured – Unallocated) — bộ của Curing Confirmation |
