Lark Base 88 - Phái cử: Luồng dữ liệu từ schema thật
Lark Base 88 - Phái cử: Luồng dữ liệu (Data Flow)
Trạng thái: Dựng từ schema thật qua Lark API — có field_id + table_id làm căn cứ, không đoán. Phạm vi đã đọc: 3 bảng core (Đơn hàng, TTS, Nghiệp đoàn) + 80 bảng list. Còn 77 bảng chỉ biết tên + table_id, chưa đọc fields — xem mục Open Questions. Nguồn: Lark API
bitable_v1_appTableField_list+bitable_v1_appTable_list, truy vấn 2026-04-10.
1. Các thực thể cốt lõi (Core Entities)
1.1 Đơn hàng - Chính thức — tblh7nrQpK8TqIs2 (234 fields)
Primary key: Mã đơn hàng — AutoNumber, format XXXXX.DH
Bản chất: Đơn hàng tuyển dụng từ nghiệp đoàn Nhật, mỗi record là 1 đợt tuyển cho 1 xí nghiệp cụ thể.
Key fields:
Tiến độ đơn hàng(Stage) — 6 giai đoạn: Phỏng vấn → Làm hồ sơ → Đã gửi hồ sơ → Có COE → Có Visa → Đã xuất cảnh (kích hoạt bằng Automation)PTTT(SingleSelect) — phòng thị trường phụ trách: NB4 / Nhân / Thanh / QuýCB PTTT+CB PTTT phụ— cán bộ được phân công (6 người: Quý, Thùy, Nhân, Thanh, Hồng, Huyền, Hương)Pháp nhân(SingleSelect) — Hoàng Hưng / INCOMEX / Hoàng Gia LongLoại Visa(SingleSelect) — 1 Go / 3 Go / TokuteiSố Nam cần,Số Nữ cần— kế hoạch tuyểnĐơn hàng đối tác— nếu chọn "Đối tác" thì HỆ THỐNG KHÔNG kích hoạt automation
Lifecycle fields (mốc thời gian):
Thời gian dự kiến thi tuyểnNgày thi tuyểnTG dự kiến COE→Dự kiến XC→Chốt ngày XCNgày kết thúc HĐ(formula từChốt ngày XC+Thời gian hợp đồng)
1.2 TTS - Thông tin — tblKnzaih6154r2e (233 fields)
Primary key: Mã TTS — AutoNumber, format XXXXXX.TTS
Bản chất: Hồ sơ thực tập sinh, 1 record = 1 người.
Lifecycle stages (trường trạng thái):
Tình trạng tư vấn→ Đã tư vấnĐủ hồ sơ thi tuyển→ Đủ HS thi tuyểnHoàn thành HSL→ Hoàn thànhTình trạng Cọc→ Đã cọc / Cọc chưa đủKS duyệt tiến cử→ Lựa chọn / Xem xét / Từ chốiĐN chốt thi→ Chốt thi / Huỷ chốt thiKết quả thi tuyển→ Trúng tuyển / Dự bị / Chưa trúng tuyển / Phát sinh / HuỷTiến độ đào tạo(text)Hoàn thiện thủ tục XC→ Đã hoàn thiệnKý HS trước XC→ Đã kýSẵn sàng xuất cảnh→ Sẵn sàng / Phát sinhĐã xuất cảnh→ Đã XC / Không XC
Attachment fields (hồ sơ số): SYLL, Form khai TTS, Bằng cấp, CCCD, Giấy Khai sinh, Xác nhận cư trú, Giấy kết hôn, Ảnh thẻ, Form dịch, Hộ chiếu, Xác nhận dân sự, Đơn tự nguyện, Giấy sức khoẻ, Cam kết, Phiếu thu, File HĐPC
Tự động sinh từ formula: Tuổi TTS, 性別 (JP), Gender (EN), 家族関係 (quan hệ người báo tin tiếng Nhật), Ngày/Tháng/Năm sinh tách lẻ, Ngày/Tháng/Năm cấp CCCD tách lẻ
1.3 Nghiệp đoàn — tblG18kR9aFhWrJW (87 fields)
Primary key: Mã Nghiệp đoàn — AutoNumber, format XXXX.ND
Bản chất: Master data nghiệp đoàn Nhật (kumiai).
Key fields:
Tình trạng— Đang hợp tác / Dừng hợp tácTên NĐ viết tắt - chữ Romaji,Tên NĐ phiên âm,Tên NĐ đầy đủ - chữ HánSố giấy phép TTS,Số giấy phép TokuteiPhí ủy thác đào tạo NĐ (Yên),Phí quản lý TTSKỳ thu PQL— 1 / 3 / 6 thángTạo Seikyu - Đòi từ ngày→Tạo Seikyu - Đòi đến ngày(formula EOMONTH-based)
1.4 Các bảng core khác (biết tên + table_id, chưa đọc fields)
| Bảng | table_id | Vai trò suy luận |
|---|---|---|
| Xí nghiệp | tblqFRpClTG0OCjE | Master data xí nghiệp Nhật, link từ Đơn hàng |
| Nghiệp đoàn con - Hồ sơ | tblCJ4jLZzm1QNUv | Sub-union của Nghiệp đoàn |
| TTS - Sau XC | tbl2GXNdArZ7zoAR | Trạng thái TTS sau khi xuất cảnh, dùng cho đòi PQL |
| TTS - Lịch sử tài chính | tblV5n2TeZQ2DBQs | Log thanh toán của TTS |
| TTS - Lịch sử tiến cử | tbl53WdWtcBPu3CU | Log lần tiến cử (để đếm Số ĐH đã tham gia) |
| Phái cử 2 | tbl9jI3FQlWBhSSH | Có thể là bảng xuất cảnh mới (phái cử phiên bản 2) |
| PTTT - Danh sách phòng | tblyMOEYAKmBp3q5 | Master phòng thị trường, dùng cho "xác định ĐH đối tác" |
| PTTT - Danh sách CB | tblZEntbaLQ1XeuP | Master cán bộ PTTT |
| Tuyển dụng - Danh sách CB | tbllL0zIjit08ZGj | Master cán bộ tuyển dụng (link với TTS) |
| Seikyu - Lịch sử đòi PQL TTS | tbllKnnh4pDKgM0U | Log các lần đòi phí quản lý |
| Xuất HĐ - PQL, PĐT, Tokutei | tblrTlhvZQOQiFwZ | Quản lý hóa đơn xuất cho NĐ |
2. Quan hệ giữa các bảng (Link Fields đã xác nhận)
Tất cả link fields là DuplexLink (hai chiều) trừ khi ghi khác.
Từ Đơn hàng - Chính thức
| Field trong Đơn hàng | field_id | Trỏ sang bảng | back_field |
|---|---|---|---|
| Mã Nghiệp đoàn | fldurWDSGm | tblG18kR9aFhWrJW (Nghiệp đoàn) | "Đơn hàng - Chính thức" |
| Chọn Nghiệp đoàn - Hồ sơ | fldljQBY7A | tblCJ4jLZzm1QNUv (Nghiệp đoàn con - Hồ sơ) | "Đơn hàng chính thức" |
| Mã Xí nghiệp | fldhKyCARN | tblqFRpClTG0OCjE (Xí nghiệp) | "Đơn hàng chính thức" |
| DANH SÁCH TRÚNG TUYỂN | fldxYn8vJL | tblKnzaih6154r2e (TTS - Thông tin) | "Đơn hàng trúng tuyển" |
| DANH SÁCH TIẾN CỬ | fldsNJFiHT | tblKnzaih6154r2e (TTS - Thông tin) | "Tiến cử TTS cho ĐH" |
Lookup fields (đọc gián tiếp qua link):
Nghiệp đoàn quản lý (viết tắt)← lookup từ Nghiệp đoàn quaMã Nghiệp đoànXí nghiệp← lookup từ Xí nghiệp quaMã Xí nghiệpXác định ĐH đối tác← lookup từ PTTT - Danh sách phòng quaPTTTfield
Từ TTS - Thông tin
| Field trong TTS | field_id | Trỏ sang bảng | back_field |
|---|---|---|---|
| Nhân viên tuyển dụng phụ trách TTS | fldcDAyZPW | tbllL0zIjit08ZGj (Tuyển dụng - Danh sách CB) | "TTS - Thông tin 2" |
| TTN tiến cử | fldPTsPOxl | tblh7nrQpK8TqIs2 (Đơn hàng) | "DANH SÁCH TIẾN CỬ" — không được sửa/xoá |
Lookup field quan trọng:
Số ĐH đã tham gia← đếm từ TTS - Lịch sử tiến cử (tbl53WdWtcBPu3CU)
Từ Nghiệp đoàn
| Field trong Nghiệp đoàn | field_id | Trỏ sang bảng | back_field |
|---|---|---|---|
| Thuộc PTTT | fldP6Q1AVm | tblyMOEYAKmBp3q5 (PTTT - Danh sách phòng) | "Nghiệp đoàn 2" |
| Thuộc CB PTTT | fldbdhMCzQ | tblZEntbaLQ1XeuP (PTTT - Danh sách CB) | "Nghiệp đoàn" |
| Nghiệp đoàn con | fld0VRXRJx | tblCJ4jLZzm1QNUv (Nghiệp đoàn con - Hồ sơ) | "Chọn NĐ mẹ" |
| Xuất HĐ - PQL, PĐT, Tokutei | fld2fV0YJk | tblrTlhvZQOQiFwZ (Xuất HĐ) | "Chọn Nghiệp đoàn" |
| PTTT - Thông tin khách | fldzWVkj0Z | tbl6DlIJa3KjjEPD (PTTT - Thông tin khách) | "Nghiệp đoàn liên quan" |
Lookup fields tài chính (pattern đòi PQL):
Số tháng PQL chưa đòi/đã QL chưa đòi/đến hạn chưa đòi← tbl2GXNdArZ7zoAR (TTS - Sau XC)Số tiền đã đòi trong tháng/Số tháng đã đòi - chưa nhận← tblesysRlXQn4d30 (Seikyu - PQL đã gửi)Số hết hạn HĐ trong tháng/Số bỏ trốn, về nước sớm/Số XC trong tháng← tbl2GXNdArZ7zoAR
3. Luồng dữ liệu thực tế (Data Flow)
3.1 Luồng đơn hàng → xuất cảnh
PTTT - Danh sách phòng (master)
│ (có CB PTTT, có Thông tin khách, có Nghiệp đoàn hợp tác)
▼
Nghiệp đoàn (master Nhật)
├─ Nghiệp đoàn con - Hồ sơ (sub-union)
└─ PTTT - Thông tin khách (đối tác cụ thể bên Nhật)
│
▼
Đơn hàng - Chính thức ←── Xí nghiệp (master)
│
│ [Pha 1: THÔNG BÁO]
│ Tiến độ đơn hàng = "Phỏng vấn"
│ Thời gian dự kiến thi tuyển, Yêu cầu TTS (tuổi, chiều cao, ...)
│
│ [Pha 2: TIẾN CỬ]
│ DANH SÁCH TIẾN CỬ (link → TTS - Thông tin)
│ ↓
│ TTS.TTN tiến cử (back-link, readonly)
│ ↓
│ TTS.KS duyệt tiến cử (Lựa chọn/Xem xét/Từ chối)
│ ↓
│ TTS.ĐN chốt thi (Chốt thi)
│
│ [Pha 3: THI TUYỂN]
│ Ngày thi tuyển
│ TTS.Kết quả thi tuyển = Trúng/Dự bị/Không
│ ↓
│ DANH SÁCH TRÚNG TUYỂN (link → TTS)
│
│ [Pha 4: LÀM HỒ SƠ]
│ Tiến độ đơn hàng = "Làm hồ sơ" → "Đã gửi hồ sơ"
│ TTS.Hoàn thành HSL, Tình trạng Cọc, File HĐPC
│
│ [Pha 5: COE + VISA]
│ TG dự kiến COE → Dự kiến XC
│ Tiến độ đơn hàng = "Có COE" → "Có Visa"
│
│ [Pha 6: XUẤT CẢNH]
│ Chốt ngày XC
│ Tiến độ đơn hàng = "Đã xuất cảnh"
│ TTS.Đã xuất cảnh = Đã XC
▼
TTS - Sau XC (tbl2GXNdArZ7zoAR) ← bắt đầu track sau XC
3.2 Luồng đòi phí quản lý (Seikyu/PQL) — tính từ Nghiệp đoàn
Nghiệp đoàn
│
│ Kỳ thu PQL (1/3/6 tháng)
│ Tạo Seikyu - Đòi từ ngày → Đòi đến ngày (formula EOMONTH)
│ Mã món đòi PQL = "<Mã NĐM>-<MM.YYYY>"
▼
TTS - Sau XC (tbl2GXNdArZ7zoAR)
│ Lookup: Số tháng PQL chưa đòi, đã QL chưa đòi, đến hạn chưa đòi
│ Đếm theo filter: có NĐ = mã này && số tháng chưa đòi > 0
▼
Seikyu - Lịch sử đòi PQL TTS (tbllKnnh4pDKgM0U)
│ Log từng lần đòi của từng TTS
▼
Seikyu - PQL đã gửi (tblesysRlXQn4d30)
│ Đánh dấu đã gửi
│ flde4vkaOO (trạng thái thanh toán) = empty → chưa nhận tiền
▼
Xuất HĐ - PQL, PĐT, Tokutei (tblrTlhvZQOQiFwZ)
│ Triger xuất HĐ PQL / PĐT / Tokutei (checkbox trong Nghiệp đoàn)
│ Chọn Nghiệp đoàn (link back)
▼
(Dừng — chưa trace tiếp được)
3.3 Luồng tuyển dụng — CB tuyển TTS
Tuyển dụng - Danh sách CB (tbllL0zIjit08ZGj)
│
│ Link: "Nhân viên tuyển dụng phụ trách TTS"
▼
TTS - Thông tin
(1 CB có thể phụ trách nhiều TTS)
4. Quy luật mã hóa (từ schema thật)
| Mã | Định dạng | Nguồn | Ghi chú |
|---|---|---|---|
| Mã đơn hàng | XXXXX.DH |
AutoNumber 5 chữ số + ".DH" | tblh7nrQpK8TqIs2.fldQ7ZT2Ui |
| Mã TTS | XXXXXX.TTS |
AutoNumber 6 chữ số + ".TTS" | tblKnzaih6154r2e.fldqfexM3k |
| Mã TTS không chữ | XXXXXX |
AutoNumber 6 chữ số | dùng cho hệ thống khác |
| Mã Nghiệp đoàn | XXXX.ND |
AutoNumber 4 chữ số + ".ND" | tblG18kR9aFhWrJW.fldt9VGyvm |
| Mã NĐM không chữ | XXXX |
AutoNumber 4 chữ số | không hậu tố |
| Mã nghiệp đoàn con | XXXXX.NDC |
(từ bảng Nghiệp đoàn con) | Mẫu 00011.NDC quan sát được |
| Mã món đòi PQL | <Mã NĐM>-<MM.YYYY> |
Formula | Ghép tự động |
5. Automation & Trigger fields đã thấy
Trong các bảng đã đọc, có các trường checkbox/trigger dùng cho Automation:
19.2 - Trigger nhập vào đơn mẹ(Đơn hàng)19.3 - Trigger cập nhật TTS cùng ĐH(Đơn hàng)11.4 - Trigger ghi DS TTS lớp GDĐH(TTS)Triger xuất HĐ PQL/PĐT/Tokutei(Nghiệp đoàn)120 - trigger(Nghiệp đoàn)
Suy luận: Các trigger dạng NN.N - Trigger ... có vẻ là số thứ tự automation được đánh số có hệ thống — có thể đã thiết lập 19+ automation đánh số. Cần kiểm tra trong tab "Tự động hoá" của từng Base.
6. Open Questions (cần khảo sát tiếp)
Cấp ưu tiên cao — ảnh hưởng đến sửa chữa/nâng cấp
- 77 bảng còn lại trong Base 88 chưa đọc fields — cần đọc schema từng bảng để biết link fields đầy đủ. Dự kiến nhiều bảng liên quan cross-reference (ví dụ: Số liệu hàng tháng, BÁO CÁO, Cải tiến).
- Automation rules chưa được lấy — Lark API không cho phép đọc automation rules. Phải vào web UI xem. Các trigger field đã thấy nhưng không biết logic đằng sau.
- Bảng
Phái cử 2— có vẻ là bảng xuất cảnh phiên bản mới, cần đọc để hiểu có thay thế gì không. - Base
88 - Phái cử (Base đệm)(Nf2bb1ExXaYnlksgoyQl72GNgAc) — vai trò staging/buffer chưa rõ.
Cấp ưu tiên trung bình
- Quan hệ với 17 Base khác trong folder "Dữ liệu Phái cử" — hiện chỉ biết tên + app_token + số bảng. Có thể có bảng đồng bộ (sync table) giữa các Base.
- Các formula phức tạp trong lookup fields: nhiều formula lồng FILTER + LISTCOMBINE + COUNTA → nếu sửa schema cần test kỹ.
Đơn hàng đối tácflag — khi set = "Đối tác" thì HỆ THỐNG KHÔNG kích hoạt automation. Cần hiểu rõ các automation nào bị vô hiệu hoá.
Cấp ưu tiên thấp — tò mò kỹ thuật
- Ý nghĩa của prefix số trong các trigger (19.2, 19.3, 11.4, 120) — có thể có sơ đồ đánh số automation.
- Các field formula song ngữ (性別, 家族関係 tiếng Nhật) — phục vụ xuất file cho phía Nhật, cần map sang PG đúng cách khi migrate.
7. Căn cứ để sửa chữa / nâng cấp / tương tác
Nếu cần thay đổi:
- Đổi loại field → phải tra
field_idrồi gọi API (không được gọi bằng tên vì tên có thể trùng) - Đổi link relationship → cần xoá link cũ rồi tạo link mới, cẩn thận
back_field_idở bảng đối diện - Đổi formula → test kỹ với dữ liệu mẫu trước, vì nhiều formula lồng FILTER + cross-table reference
- Thêm record → dùng
bitable_v1_appTableRecord_batchCreate, fields phải theofield_idkhông phải tên - Sửa trạng thái workflow → gần như cần phối hợp cả Đơn hàng + TTS + automation trigger
- KHÔNG được sửa field
TTN tiến cửtrong TTS (schema ghi rõ "Không được chỉnh sửa, xóa thông tin trong cột này")
Khi migrate sang PG sau này:
- 2 bảng core (Đơn hàng, TTS) mỗi bảng ~234 fields → cần chia thành nhiều bảng PG chuẩn 3NF
- Các field formula không migrate trực tiếp — phải viết view/function trong PG
- Các link field → foreign key trong PG
- Các lookup field → JOIN query trong PG
- Các trigger automation của Lark → Directus Flow / PG trigger trong hệ mới
8. Cross-reference
- Blueprint tổng quan 80 bảng:
knowledge/dev/lark/lark-base-88-phai-cu-blueprint.md - Registry 18 Base (tên + app_token):
knowledge/dev/lark/lark-base-registry.md - Tài liệu này: Luồng dữ liệu chi tiết dựa trên schema thật
Dựng: 2026-04-10 | Chuyển sang knowledge/dev/lark/: 2026-04-10 Nguồn: Lark API qua MCP + schema thực tế Độ tin cậy: Cao cho 3 bảng đã đọc fields, trung bình cho các quan hệ cross-table, thấp cho 77 bảng chưa đọc