Confirm valve hydro test list >1 year → re-test if required
60%
IN PROGRESS
P0-4
Prepare Appendix 7 — Insulation Resistance Test form
30%
IN PROGRESS
P0-1
Check cert date of all PSVs (≤6 months from FAT)
0%
READY
P0-3
Issue P&ID Rev L06 + Alarm & Trip List
0%
NOT STARTED
P0-5
Confirm C&E G34 logic SDV/PCV/FCV
0%
NOT STARTED
Issue Management Logs
🧪Dữ liệu mẫu (demo) — bấm "🔄 Tải dữ liệu" ở trên để xem dữ liệu thật từ D1
Punch List 6
Actions 6
Risk Register 5
Constraints 5
All 62 Tasks
Punch ID
Description
Category
Owner
Due Date
Status
PL-001
Earth boss contact surface has paint contamination — skid NE corner
A
Alpha ECC
05-Jul-26
OPEN
PL-002
Cable tray edge protection strip missing on west run
A
Alpha ECC
05-Jul-26
OPEN
PL-003
JB-3801-05 blanking plug missing
A
Alpha ECC
03-Jul-26
OPEN
PL-004
Instrument air tubing support bracket not installed (PDIT-3801A)
B
Alpha ECC
07-Jul-26
OPEN
PL-005
SDV-3801A limit switch conduit entry gland torque not verified
B
Alpha ECC
07-Jul-26
OPEN
PL-006
Tag plate missing on manual isolation valve XV-3801-101
C
Alpha ECC
10-Jul-26
OPEN
Action ID
Description
Owner
Due Date
Priority
Status
ACT-001
Issue P&ID Rev L06 to all parties before FAT D1
Crescent Process
24-Jun-26
HIGH
OPEN
ACT-002
Confirm McDermott TPI attendance schedule for all witness points
Crescent PM
25-Jun-26
HIGH
OPEN
ACT-003
Mobilize Yokogawa vendor rep for loop check Phase 3
Alpha ECC
28-Jun-26
HIGH
OPEN
ACT-004
Close PL-001 paint contamination — re-inspect earth boss NE corner
Alpha ECC QA
05-Jul-26
HIGH
OPEN
ACT-005
Submit FAT procedure App 7 form to client for pre-approval
Crescent PM
30-Jun-26
MEDIUM
OPEN
ACT-006
Confirm instrument air supply readiness — tie-in to plant header
Mechanical
01-Jul-26
MEDIUM
OPEN
Risk ID
Description
Score
Status
Mitigation
Owner
R-001
Client/TPI witness delay
9
OPEN
Pre-notify witness schedule 2 weeks ahead; get written confirmation
Crescent PM
R-002
Vendor commissioning engineer (H-3801) not available
6
OPEN
Lock in vendor resource now; name backup engineer
Alpha ECC
R-003
P&ID Rev L06 not issued before FAT D1
8
OPEN
Crescent to issue by D-7; escalate if not received
Crescent Process
R-004
Instrument air supply not available on FAT D1
9
OPEN
Confirm tie-in completion with mechanical team 48hrs before D1
Mechanical
R-005
Extended punch closeout delays dispatch date
6
OPEN
Raise punch items immediately; assign owner same day
Crescent PM
ID
Related Task
Constraint
Owner
Due
Status
C-001
3A
Instrument air supply not confirmed ready for pneumatic test
Mechanical
03-Jul-26
OPEN
C-002
4A
SDV air supply lines not purged
Alpha ECC
05-Jul-26
OPEN
C-003
3B
Vendor rep (Yokogawa) availability for loop check
Crescent E&I
07-Jul-26
OPEN
C-004
P0-3
P&ID Rev L06 not yet issued by Crescent
Crescent Process
24-Jun-26
OPEN
C-005
5A
H-3801 vendor commissioning engineer mobilisation
Alpha ECC
14-Jul-26
OPEN
62 tasks
ID
Activity
Phase
Status
% Complete
Time-Series & Readiness Tracking
Daily Snapshot
Daily Progress
Lookahead (14D) 14
FAT Readiness
Audit Trail
FAT chưa bắt đầu (Start: 06-Jul-26) — cột Actual % = 0 cho đến khi PM cập nhật mỗi sáng. Variance % và SPI tự tính từ Actual/Planned, không nhập tay.
Date
Day
Actual %
Planned %
Variance
SPI
Open Issues
Open Constraints
Open Punch
Log tự do mỗi ngày: Activities Completed / In Progress / Planned Tomorrow / Issues. Sẽ trống cho tới FAT D1.
Date
Day
Overall %
Activities Completed
In Progress Today
Planned Tomorrow
Issues / Blockers
Cập nhật mỗi sáng thứ Hai. Constraint lấy trực tiếp từ Constraint Log (Batch 1) — không nhập tay lại.
Task No.
Activity
Phase
Planned Start
Owner
Constraint?
Witness?
Material?
Ready?
OVERALL FAT READINESS
—
—
Discipline
Readiness %
Gate Status
Gate
Criteria Summary
Open Items
Responsible
Nguồn: bảng fat_audit đã có sẵn trong hệ thống — mọi UPSERT trên Punch/Risk/Action/Constraint/Task đều tự log vào đây, không cần bảng riêng.
#
Date / Time
Table
Record
Action
Modified By
Health, Maturity & Priority Intelligence
Health Score
Maturity Dashboard
Action Priority
AI Recommendations
Reschedule Impact
Dashboard v2
Composite index — trọng số & xếp hạng tự tính. Cột Actual Score do PM nhập (đánh giá thực địa), không tự suy ra từ log thô.
⭐ PROJECT HEALTH INDEX—
—
Dimension
Weight
Actual Score
Weighted Score
Status
Benchmark
Calculation Basis
Actions If Low
Progress bar theo discipline. Installation/Loop/Function/Documentation % & Material Ready = PM nhập tay. Open Punch = tự đếm live từ Punch List theo discipline.
Rule-based, tự tính live từ Punch List / Constraint Log / Risk Register / Action Tracker / FAT Readiness. Sắp xếp theo mức độ nghiêm trọng.
#
Category
Recommendation
Suggested Action
Owner
Priority
Trigger
Forecast Impact
Due
Status
Tự động — không cần bấm nút. Tính lại live mỗi khi FAT End Date thay đổi. Task chưa hoàn thành (Actual % < 100) dịch chuyển theo khối bằng Schedule Delay; task đã xong không di chuyển.
📅 Schedule Change
📋 Impacted Tasks
👷 Manpower Impact
Tổng hợp mọi thứ tính được từ Đợt 1+2+3. Phần Resource / What-If cần Resource Daily Input / What-If Analysis / Resource Optimizer (Đợt 5) — hiển thị available:false thay vì bịa số liệu.
Cùng dữ liệu GET /fat/schedule, gom theo Team thay vì theo thứ tự Task — dùng để kiểm tra chồng chéo lịch giữa các đội (swimlane), tương đương sheet "Gantt Chart (2)" của Excel gốc.
Checklist theo Phase — cùng nguồn /fat/schedule/tasks với tab MASTER SCHEDULE (không phải bảng riêng). Tag/Reference và FAT Ref/Remarks là dữ liệu tĩnh nạp 1 lần từ sheet Excel gốc (2 cột tag_ref / fat_ref mới thêm vào fat_schedule_tasks); Status lấy live từ fat_tasks.
Đồ thị phụ thuộc đa-predecessor (Excel gốc chỉ cho 1 predecessor/task, engine này không giới hạn). 4 loại quan hệ: FS Finish→Start · SS Start→Start · FF Finish→Finish · SF Start→Finish, cộng Lag (ngày, có thể âm = lead time). Nguồn: bảng fat_dependencies — GET/POST/DELETE /fat/schedule/dependencies.
Task
Predecessor
Type
Lag (days)
Ý nghĩa
Bảng đầy đủ ES/EF/LS/LF/Total Float — 100% tính lại mỗi lần GET. Sửa actual_finish của 1 task (POST /fat/schedule/tasks) → toàn bộ downstream + ngày kết thúc dự án tự động re-schedule ở lần GET /fat/schedule kế tiếp — không cần bước "recalculate" riêng.
Task
Description
Phase
Team
Workers
Dur.
ES
EF
LS
LF
Total Float
Critical?
Rollup nhân công theo tuần/phase, tính live từ lịch CPM × Workers mỗi task (không lưu bảng riêng). Nguồn: GET /fat/resource/chart (server trả theo ngày làm việc; bảng dưới gộp theo tuần cho gọn).
Tuần (bắt đầu)
Breakdown theo Phase
Tổng Man-Days / tuần
PM nhập Actual mỗi sáng làm việc; Planned set 1 lần lúc kickoff. Nguồn: bảng fat_resource_daily — GET/POST /fat/resource/daily.
Team
Date
Planned
Actual
Variance
Status
Forecast Duration = (Planned Workers × Planned Duration) ÷ Actual Workers — bảo toàn tổng man-day. Task chưa nhập actual_workers → NO_ACTUAL_REPORTED, không bịa số. Nguồn: GET /fat/resource/impact.
Task
Team
Planned Workers
Actual Workers
Planned Dur.
Forecast Dur.
Δ Days
Status
So Actual vs Planned (ngày gần nhất mỗi team có nhập Actual) → gắn cờ SURPLUS / DEFICIT / BALANCED, đề xuất chuyển người từ team dư sang team thiếu (greedy — team lệch nhiều nhất được ưu tiên trước). Nguồn: GET /fat/resource/optimizer.
Team
Planned
Actual
Variance
Utilization
Status
🔁 Suggested Transfers
From Team
To Team
Workers
Chạy CPM engine 2 lần (baseline vs kịch bản có thêm/bớt worker theo team) và so sánh ngày kết thúc — server không lưu kết quả tính, chỉ lưu tham số kịch bản. Nguồn: bảng fat_whatif_scenarios — GET/POST /fat/whatif/scenarios, chạy so sánh: GET /fat/whatif/run?scenario_no=.
Nguồn: bảng fat_issues — GET/POST /fat/issues. Trước đây phần "🟠 Issue" ở KPI Recommendations bị bỏ qua (available:false) vì bảng này chưa tồn tại trên giao diện.
Nguồn: bảng fat_personnel — GET/POST /fat/personnel. Nhập tên NHÂN VIÊN ở đây MỘT LẦN — Timesheet / Allowance / Hotel / Transportation tự động lấy tên từ đây theo employee_id, không nhập lại.
No
Employee Name
Team
Company
Position / Role
Daily Rate (VND/day)
Allowance Rate (VND/day)
Hotel Rate (VND/night)
Mobilization
Demobilization
1
Nguyễn Văn A
Alpha ECC E&I
Alpha
Instrument Technician
1,200,000
300,000
900,000
15-Jul-26
15-Aug-26
2
Trần Văn B
Alpha ECC E&I
Alpha
Electrical Technician
1,200,000
300,000
900,000
15-Jul-26
15-Aug-26
3
Lê Thị C
Alpha ECC E&I / QA
Alpha
QA/QC Inspector
1,400,000
300,000
900,000
15-Jul-26
15-Aug-26
4
Phạm Văn D
Crescent Mech/Piping
Crescent
Mechanical Technician
1,150,000
300,000
900,000
15-Jul-26
15-Aug-26
Nguồn: bảng fat_timesheet — GET/POST /fat/timesheet. Sheet gốc Excel có 3,300+ dòng (mỗi người × mỗi ngày FAT) — dashboard chỉ hiển thị bản ghi gần nhất, dùng bộ lọc theo tên/ngày khi tải dữ liệu thật từ D1. Employee Name/Team tự lấy từ Personnel Roster.
Date
Day
Employee Name
Team
Status
Regular Hrs
OT Hrs
Total Hrs
Location / Task / Notes
15-Jul-26
Wed
Nguyễn Văn A
Alpha ECC E&I
PRESENT
8
0
8
Cable tray installation — skid NE
15-Jul-26
Wed
Trần Văn B
Alpha ECC E&I
PRESENT
8
2
10
Earthing continuity check
16-Jul-26
Thu
Nguyễn Văn A
Alpha ECC E&I
PRESENT
8
0
8
Cable tray installation — skid NE
16-Jul-26
Thu
Lê Thị C
Alpha ECC E&I / QA
LEAVE
0
0
0
Sick leave — approved
100% auto-tính từ fat_timesheet — GET /fat/timesheet-summary (roll-up theo người, không nhập tay).
Employee Name
Team
Days Present
Days OT
Days Absent/Leave
Total Regular Hrs
Total OT Hrs
Total Hrs
Nguyễn Văn A
Alpha ECC E&I
2
0
0
16
0
16
Trần Văn B
Alpha ECC E&I
1
1
0
8
2
10
Lê Thị C
Alpha ECC E&I / QA
0
0
1
0
0
0
Days Claimed & Total Allowance tự tính (Present+OT từ Timesheet × rate từ Personnel Roster) — GET/POST /fat/allowance.
Employee Name
Team
Allowance Rate (VND/day)
Days Claimed
Total Allowance (VND)
Period
Payment Status
Nguyễn Văn A
Alpha ECC E&I
300,000
2
600,000
15-Jul → 15-Aug-26
PENDING
Trần Văn B
Alpha ECC E&I
300,000
2
600,000
15-Jul → 15-Aug-26
PENDING
Mỗi người 1 dòng mặc định (kỳ lưu trú chính) — Nights & Total Cost tự tính. GET/POST /fat/hotel.
Employee Name
Team
Hotel Name
Room Type
Check-in
Check-out
Nights
Rate (VND/night)
Total Cost (VND)
Payment Status
Nguyễn Văn A
Alpha ECC E&I
Sammy Hotel Vũng Tàu
Twin
15-Jul-26
15-Aug-26
31
900,000
27,900,000
PENDING
Trần Văn B
Alpha ECC E&I
Sammy Hotel Vũng Tàu
Twin
15-Jul-26
15-Aug-26
31
900,000
27,900,000
PENDING
Mỗi người 1 dòng mặc định (chuyến mobilization chính) — thêm dòng cho chuyến phát sinh. GET/POST /fat/transportation.
Employee Name
Team
Date
From
To
Mode
Cost (VND)
Purpose
Nguyễn Văn A
Alpha ECC E&I
15-Jul-26
HCMC
Site
Car
1,200,000
Mobilization
Trần Văn B
Alpha ECC E&I
15-Jul-26
HCMC
Site
Car
1,200,000
Mobilization
100% tự động. Labor Cost = Total Hours (Timesheet Summary) ÷ 8 × Daily Rate (Roster). GET /fat/cost-summary.
Employee Name
Team
Labor Cost (VND)
Allowance (VND)
Hotel (VND)
Transportation (VND)
TOTAL COST (VND)
Nguyễn Văn A
Alpha ECC E&I
2,400,000
600,000
27,900,000
1,200,000
32,100,000
Trần Văn B
Alpha ECC E&I
1,500,000
600,000
27,900,000
1,200,000
31,200,000
⚠️ Lưu ý khác đơn vị tiền: Personnel Cost tính bằng VND, Recovery Cost tính bằng USD — không cộng trực tiếp 2 dòng này khi chưa quy đổi tỷ giá. GET /fat/cost-rollup.
Cost Category
Source Sheet
Amount
Currency
Notes
Personnel Cost (Labor + Allowance + Hotel + Transport)
💰 Cost Summary
63,300,000
VND
Auto: tổng toàn bộ roster
Recovery Cost (contingent — chỉ tính nếu áp dụng option)
Recovery Cost
0
USD ($)
Chỉ tính nếu Recovery Cost sheet có Apply? = YES
Bảng ánh xạ 1-1 giữa "Responsible Team" label (dùng trong MASTER SCHEDULE) và Resource Bucket (dùng trong Resource Daily Input) — nguồn duy nhất, tránh double-count. GET/POST /fat/team-allocation-map.
Approved "Responsible Team" Label
Resource Bucket
Notes
All Parties
Shared / All Parties
Shared task — không tách theo team.
Alpha ECC E&I
Alpha ECC E&I
—
Alpha ECC E&I / QA
Alpha ECC E&I
Self-QA bởi crew E&I; gộp chung E&I.
Vật tư & Tài liệu — Supplies & Documents (Đợt 9)
📦 Consumables Inventory
🔩 Instrument Hookup BOM
🛠️ Equipment & Tools
📄 Document Register
✅ Closeout Checklist
⛑️ HSE Safety Log
54 items · Required Qty lấy từ BOM thực tế (D45/D49/D99/D40). Status & Est. Days Remaining tự tính để chủ động đặt hàng. GET/POST /fat/consumables.
Total Items
54
Critical
54
Low Stock
0
FAT Days Remaining
31
No
Category
Item Description
Unit
Required Qty
Received
Used
Current Stock
Min Stock
Status
Priority
Responsibility
1
Cable Tray
Perforated Cable Tray – 150mm wide
m
150
0
0
0
30
🔴 CRITICAL
HIGH
Crescent (Supply) / Alpha ECC E&I (Install)
2
Cable Tray
Perforated Cable Tray – 100mm wide
m
80
0
0
0
16
🔴 CRITICAL
HIGH
Crescent (Supply) / Alpha ECC E&I (Install)
10
Earthing
Earth Boss Assembly – M10×50mm SS316 (Stand mounted)
set
10
0
0
0
2
🔴 CRITICAL
HIGH
Crescent (Supply) / Alpha ECC E&I (Install)
Nguồn: PQ-CPPT-MEC015-D40-00001 (Instrument Hookup & Installation Drawings). Vật liệu đặc biệt theo luyện kim (SS316L/HASTELLOY C/INCONEL 625/ALLOY C276/MONEL 400) — tránh lẫn vật tư giữa các service. GET/POST /fat/hookup-bom.
Item Code
Description
Size / Spec
Material
Unit
Total Qty
Received
Status
Sheet Ref (D40)
Applicable Tags
SM1
2-Valve Manifold
1/2" NPTM × 1/2" NPTF
SS316L
No.
1
0
PENDING
Sh.03 & Sh.06
CPPT-PG-3801-01
Test Equipment theo FAT Procedure §3.2 / Consumables List Section F. Calibration Status tự tính từ Calibration Due Date. GET/POST /fat/equipment-tools.
Total
10
In Use
0
Calibration Overdue
0
Due Soon (≤30d)
0
No
Equipment / Tool
Type
Qty Needed
Calibration Req?
Cal. Due Date
Calibration Status
Availability
Assigned To
1
4–20mA Loop Calibrator (HART capable)
Test Equipment
2
Y
—
—
—
—
Cập nhật mỗi khi có revision mới. Đánh dấu bản cũ 'Superseded', không xóa — giữ lịch sử revision. GET/POST /fat/document-register.
No
Document No.
Document Title
Type
Current Rev
Status
Issued By
Remarks
1
PID-3801-001
P&ID — CPPT-PK-3801 Skid
P&ID
L06
IFC
Crescent
4 comments open từ L05
2
APP-7-3801
Appendix 7 — IR Test Form (C/C, C/A, C/G, C/S)
Test Form
-
DRAFT
Alpha ECC
—
15 hạng mục cần 'Complete' trước khi phát hành FAT Report cuối cùng và cho phép Dispatch. GET/POST /fat/closeout-checklist.
Complete
0 / 15
Not Started
15
No
Item
Category
Responsible
Required
Status
Completion Date
Sign-off By
1
Punch List Category A items closed
Punch List
Alpha ECC QA/QC
Y
NOT STARTED
—
—
3
As-built drawings submitted (P&ID, loop, C&E)
Documentation
Crescent
Y
NOT STARTED
—
—
9
Final FAT Report issued & signed
Documentation
PM
Y
NOT STARTED
—
—
10
Client witness sign-off obtained
Commercial
PM
Y
NOT STARTED
—
—
Ghi lại MỌI sự cố an toàn — kể cả near-miss (chưa có hậu quả). Không để trống nếu có sự cố xảy ra. GET/POST /fat/hse-safety-log.
Total Incidents
0
Open
0
LTI
0
Days Since Last
N/A
No
Date
Location / Area
Type
Description
Severity
Status
Chưa có sự cố nào được ghi nhận.
Tag Register · Progress Tracker · Resource Leveling (Đợt 10)
🏷️ Instrument Tag Register
Progress Tracker
🔀 Resource Leveling Options
120 tags — đối chiếu chéo với Instrument Index G32-00001 Rev L02, FAT Procedure Appendix 6, Lighting Dwg D16-00001, JB Dwg D47-00001 & Deluge P&ID PSE-PID-MPC-00005-02. Chỉ nhập 4 cột Status + 4 cột Date. GET/POST /fat/instrument-tag-register.
Installed
0/120
Cable Pulled
0/120
Loop Check Done
0/120
Overall Progress
0%
No
Tag Number
Type
Service
Installed
Cable Pulled
Loop Check
Function Test
Overall %
Remarks
1
FCV-3801A-01
FCV
Control valve
NOT STARTED
NOT STARTED
NOT STARTED
NOT STARTED
0%
—
4
FCV-3801B-03
FCV
Control valve
NOT STARTED
NOT STARTED
NOT STARTED
NOT STARTED
0%
TBC — trước ghi là FCV-3801B-02, Appendix 6 ghi -03. PM xác nhận trước FAT.
Nguồn tổng cho Overall %/SPI hiển thị ở KPI Strip đầu trang. Ở đây xem chi tiết từng task: Planned/Actual/Forecast/Variance/SPI/Float/Critical Path. GET/POST /fat/progress-tracker.
Overall %
1%
On Schedule
1
Delayed
0
SPI (EV/PV)
0.07
No.
Work Item
Phase
Status
Planned Start
Planned Finish
Actual %
Forecast Finish
SV (days)
Traffic Light
Critical Path?
P0-1
Check cert date of all PSVs (≤6 months from FAT)
Pre-FAT
NOT STARTED
29-Jun-26
29-Jun-26
0%
16-Jul-26
17
⚪ PENDING
🔴 YES
P0-2
Confirm valve hydro test list >1 year → re-test if required
Pre-FAT
IN PROGRESS
29-Jun-26
29-Jun-26
60%
16-Jul-26
17
⚪ PENDING
🔴 YES
Schedule gốc 32 ngày giả định nhân lực không giới hạn (đỉnh 37 người/ngày). 3 option dưới đây mô phỏng khi giới hạn nhân lực thực tế. Pre-FAT (P0-1…P0-12) không đổi ở mọi option. GET/POST /fat/resource-leveling-options.
Metric
Original (No cap)
Option 1 — Single-shift, 10 pax/day
Option 2 — 2-shift, 10 pax/shift
Option 3 — 2-shift + reduced crew
Total Duration
32 days
55 days
39 days
36 days
Net Slip vs Original
—
+23 days
+7 days
+4 days
★ Khuyến nghị: Option 3 slip nhỏ nhất (+4 ngày) nhưng cần vận hành 2 ca VÀ resize crew 1C/1J/1L — cần xác nhận site đủ điều kiện chạy 2 ca (HSE/Ops/access) trước khi chốt. Option 2 là phương án dự phòng an toàn hơn (+7 ngày, không cần resize crew). Trạng thái lựa chọn hiện tại: Chưa quyết định (PM decision).
⚙️ Config — Cài đặt Dự án
Đổi ngày ở đây — Header, FAT Day counter, và toàn bộ formula phụ thuộc (Reschedule Engine, Scale Engine) tự cập nhật theo. Nguồn: bảng fat_config (1 dòng/project) + fat_team_capacity — GET/POST /fat/config, /fat/team-capacity.
📅 Ngày FAT (editable)
🔒 Baseline (frozen — chỉ reset sau khi re-baseline chính thức): Baseline FAT Start — · Baseline FAT End — · Baseline Total FAT Window — ngày.
🔄 Reschedule & Scale Engine (auto-calculated)
Total FAT Days
—
Total Schedule Shift
—
Duration Scale Factor
—
Est. Mobilized Crew/Day
—
—
👷 Team Capacity — Max Headcount
Dùng để cap Resource Daily Input & cảnh báo overflow. Chỉ Alpha ECC E&I + I&C + QA/QC tính vào "Estimated Mobilized Crew/Day" phía trên.
Team
Max Headcount
Warning
Notes
Alpha ECC E&I
6
✅ Adequately staffed
Estimate based on current schedule's typical crew size.
Alpha ECC I&C
4
✅ Adequately staffed
—
Alpha ECC QA/QC
1
✅ Adequately staffed
—
Crescent E&I
1
✅ Adequately staffed
—
Crescent I&C
1
✅ Adequately staffed
—
Crescent Process
1
✅ Adequately staffed
—
Crescent PM
1
✅ Adequately staffed
—
McDermott TPI
1
✅ Adequately staffed
—
Vendor / Other
1
✅ Adequately staffed
—
Alpha ECC Mech/Piping (Phase 2 only)
5
✅ Adequately staffed
Chỉ mobilize Phase 2, không tính vào Crew/Day steady-state.
🧾 Khách hàng & Đơn hàng
Nguồn: field sales / customer trên GET /fat/projects (Đợt B). Đội D chỉ hiển thị — không tự ghép dữ liệu từ nguồn khác.
⏳ Đang chờ dữ liệu từ Đội B
Response GET /fat/projects hiện chưa có field sales/customer cho project này. Có thể Đội B chưa deploy xong, hoặc vừa rollback (xem Rủi ro ở guide Đội D). Section này sẽ tự hiện dữ liệu ngay khi field xuất hiện trong response — không cần sửa code.