AMELA_SOSHIKI_SYSTEM-257 · So sánh báo cáo · 03/09/2026
Báo cáo TRƯỚC họp ↔ SAU khi điều tra lại theo thông tin từ khách hàng
Giả thuyết ban đầu đúng hướng nhưng đánh giá sai phạm vi. Thông tin KH cung cấp trong họp đã lật lại 4 điểm quan trọng.
1 Thông tin mới từ KH trong cuộc họp
4 dữ kiện khiến team phải điều tra lại từ đầu.
2 Đối chiếu từng kết luận
Trái = báo cáo trước họp · Phải = kết quả sau khi điều tra lại trên code + dữ liệu thật.
GIỮ NGUYÊN kết luận cũ đúng
ĐIỀU CHỈNH kết luận cũ sai/thiếu
MỚI phát hiện mới, trước đây chưa có
📄 File gây lỗi ĐIỀU CHỈNH
Trước
Nghi 1 file cập nhật grade có ô trống
Tập trung phân tích file chứa cột grade
➜
Sau
6 file E2 — thủ phạm chính là 5 file KHÔNG có cột grade
①②③④⑥ reset toàn bộ dòng; file ⑤ (có cột) chỉ gây 77/85 dòng
⚙️ Cơ chế lỗi ĐIỀU CHỈNH
Trước
"Ô grade để trống → default 一般"
Giả thuyết mức giá trị từng ô
➜
Sau
"File thiếu CỘT grade → 100% dòng bị coi là trống"
Hàm resolve chạy cho mọi dòng mọi loại file; nhánh UPDATE gán đè vô điều kiện
👥 Phạm vi ảnh hưởng ĐIỀU CHỈNH
Trước
Chỉ nhân viên có grade trống trong file
Ước lượng ảnh hưởng hẹp
➜
Sau
MỌI nhân viên có mặt trong file thiếu cột grade (~4.282 người)
Kể cả người đang có grade cao; giải thích trọn nghịch lý 85 dòng vs 4.282 người
🔐 Thời điểm mất quyền MỚI
Trước
Chưa phân tích — ngầm hiểu chờ batch đồng bộ
Không giải thích được vì sao user mất quyền ngay trong ngày
➜
Sau
Permission bị hạ NGAY tại thời điểm import
Import end permission cũ, tạo bộ mới theo 一般; batch 23:00 (zoo-auth) chỉ ảnh hưởng phần HIỂN THỊ badge hôm sau
🕚 Flow đồng bộ Zoo/Ocean MỚI
Trước
Chưa có tài liệu, chưa trả lời được 4 câu hỏi của KH
Thời điểm, nơi chạy, độ trễ đều chưa rõ
➜
Sau
Xác định: batch sync:employeeOrs · 23:00 hằng ngày · tại zoo-auth
Hiển thị trễ 1 ngày; AMELA sẽ soạn sequence diagram bổ sung tài liệu
🧪 Vì sao test không bắt được MỚI
Trước
Chưa có phân tích
KH yêu cầu làm rõ trong họp
➜
Sau
Test tồn tại (20+ case) nhưng codify luôn hành vi sai là "expected"
Thiếu đúng 1 case: "đang có grade thật + import file không có cột grade → giữ nguyên"; 4 case verify STG đều là tạo mới
🎯 Spec YST-208 "trống → default 一般" GIỮ NGUYÊN
Trước
Spec là nguồn gốc thay đổi hành vi
Xác định đúng ticket 213 (YST-208/243)
➜
Sau
Xác nhận — nhưng vấn đề là CÁCH HIỂU spec
"全ての条件で未選択 → 一般" bị hiểu theo nghĩa đen, áp cả cho file không nói gì về grade
3 Bức tranh thay đổi sau điều tra lại
Tóm gọn 1 dòng cho mỗi phía.
Báo cáo trước họp
"Một file grade có ô trống làm một số người bị default 一般"
Đúng hướng spec, nhưng sai file thủ phạm, sai cơ chế, đánh giá thấp phạm vi và chưa lý giải được quyền/batch/test.
➜
Sau điều tra lại
"5 file KHÔNG có cột grade khiến toàn bộ ~4.282 nhân viên trong file bị ghi đè 一般 và mất quyền ngay lập tức"
Cơ chế xác minh trên code thật; giải thích trọn cả 4 dữ kiện KH nêu; đã có hướng fix + case test bổ sung.
Bài học: giả thuyết ban đầu chỉ nhìn theo "giá trị ô" — dữ kiện của KH (nhiều file, nghịch lý số lượng) là chìa khóa chuyển hướng sang "cấu trúc cột của từng file", từ đó mới tìm ra root cause thật.
4 Hành động tiếp theo
Sửa & phòng ngừa
· Fix theo decision tree (CREATE giữ spec, UPDATE bỏ qua field không có trong file)
· Rà các field cùng pattern gán đè (department…)
· Bổ sung test case còn thiếu + warning số grade đổi khi import
Khắc phục & báo cáo KH
· Script khôi phục grade từ history/snapshot trước 31/08
· Gửi KH sequence diagram flow import + batch sync
· Báo cáo root cause test gap kèm cải tiến quy trình verify
AMELA · YST-257 · So sánh báo cáo trước/sau điều tra lại · 03/09/2026 · Chi tiết kỹ thuật: investigation-report-visual.html