Quản lý lịch đăng ký
Điều phối Vận tải (ĐPVT) và Điều phối Kho (ĐPK)
I. Tổng quan
Trang Quản lý lịch đăng ký cho phép theo dõi và quản lý toàn bộ vòng đời các lịch hẹn dock. Hai đối tượng sử dụng chính với quyền hạn khác nhau:
| Tính năng | Điều phối Vận tải (ĐPVT) | Điều phối Kho (ĐPK) |
|---|---|---|
| Xem danh sách đăng ký | Nội bộ (internal) | Nội bộ + Ngoại bộ (external) |
| Sửa đăng ký | Có (REGISTERED, PENDING_ARRIVAL) | Không |
| Huỷ đăng ký thủ công | Có | Có |
| Tìm kiếm theo | ID đăng ký, mã đơn hàng, SĐT tài xế | ID đăng ký, tên dock, nhà cung cấp |
| Cột bổ sung trong bảng | — | Dock ID, Nhà cung cấp |
Một nhân viên có thể đảm nhận cả 2 vai trò ĐPVT và ĐPK cùng lúc. Giao diện và quyền hạn hiển thị sẽ khác nhau tùy theo vai trò.
Màn hình Quản lý lịch đăng ký
II. Các trạng thái lịch đăng ký
Mỗi lịch đăng ký dock trải qua các trạng thái theo vòng đời dưới đây:
| Trạng thái | Ý nghĩa | Hiển thị button Thao tác |
|---|---|---|
| REGISTERED – Đăng ký | Lịch đã được tạo, chưa đến ngày/giờ đăng tài. | Sửa lịch / Huỷ lịch |
| PENDING_ARRIVAL – Chờ đến | Đang trong cửa sổ thời gian cho phép đến kho. | Sửa lịch / Huỷ lịch |
| CHECKING_IN – Đăng tài | Xe đã đến kho, bảo vệ đã ghi nhận đăng tài. | Huỷ lịch |
| NO_SHOW – Không đến | Xe không đến trong khung giờ cho phép. | — |
| WAITING_FOR_DOCK – Chờ vào dock | Xe đã qua cổng, đang chờ điều phối phân dock. | — |
| AT_DOCK – Tại dock | Xe đang hoạt động trong dock. | — |
| LEFT_DOCK – Rời dock | Xe đã hoàn tất vận hành, rời dock. | — |
| CHECKED_OUT – Rời cổng | Xe đã ra khỏi kho, vòng đời hoàn tất. | — |
| CANCELED – Huỷ | Lịch bị huỷ bởi người dùng hoặc hệ thống. | — |
- PENDING_ARRIVAL được hệ thống tự chuyển khi:
[giờ bắt đầu slot - số phút sớm cho phép]≤ giờ hiện tại ≤[giờ bắt đầu slot + số phút trễ cho phép], và xe chưa đăng tài. - NO_SHOW xảy ra khi giờ hiện tại vượt quá
[giờ bắt đầu slot + số phút trễ cho phép]mà xe vẫn chưa đến.
III. Xem và tra cứu danh sách đăng ký
3.1. Bộ lọc và tìm kiếm
| Công cụ | Mô tả và cách dùng |
|---|---|
| Lọc theo trạng thái | Chọn 1 hoặc nhiều trạng thái từ thanh filter bên trên bảng để thu hẹp kết quả. |
| Lọc theo khoảng ngày | Chọn ngày bắt đầu và kết thúc → nhấn 'Áp dụng'. Hệ thống lọc theo appointment_date. |
| Tìm kiếm (ĐPVT) | Nhập vào ô 'Tìm kiếm ID đăng ký, mã đơn hàng, SĐT tài xế' → nhấn Enter. Hỗ trợ tìm theo phần (không cần nhập đủ). |
| Tìm kiếm (ĐPK) | Nhập vào ô 'Tìm kiếm ID đăng ký, tên dock, nhà cung cấp' → nhấn Enter. |
| Cài đặt cột hiển thị | Click icon cài đặt → chọn/bỏ các cột cần xem → nhấn 'Áp dụng'. |
Cả hai vai trò đều hỗ trợ tìm không phân biệt hoa/thường, tự động bỏ khoảng trắng đầu/cuối, và tìm theo phần giá trị. Nếu không có kết quả → hiển thị 'Không tìm thấy đăng ký phù hợp'.
3.2. Xem chi tiết một đăng ký
Click vào mã ID đăng ký (link màu xanh) trong bảng để mở pop-up Chi tiết. Pop-up có 2 tab:
| Tab | Nội dung |
|---|---|
| Thông tin chung | Toàn bộ thông tin lịch hẹn: ID, trạng thái, ngày, khung giờ, kho, dock, tài xế, biển số, đơn hàng, loại hàng, ghi chú, lịch sử tạo/sửa/huỷ. |
| Theo dõi | Timeline toàn bộ events theo thứ tự thời gian: từ Đăng ký → Chờ đến → Đăng tài → Chờ vào dock → Gọi vào → Tại dock → Rời dock → Rời cổng (hoặc Huỷ). |
Pop-up chi tiết (view ĐPVT) hiển thị cảnh báo: 'Vui lòng đăng tài lúc [giờ bắt đầu - X phút] và trước [giờ bắt đầu + Y phút] để đảm bảo thời gian vận hành.' Hãy thông báo tài xế nếu cần.
IV. Sửa lịch đăng ký [Chỉ Điều phối Vận tải]
Chỉ nhân viên Điều phối Vận tải (ĐPVT) mới có quyền sửa đăng ký. Điều phối Kho không thực hiện được thao tác này.
4.1. Điều kiện cho phép sửa
Button 'Sửa lịch' trong menu Thao tác chỉ hiển thị khi đăng ký ở trạng thái:
REGISTERED(Đăng ký)PENDING_ARRIVAL(Chờ đến)
Các trạng thái từ CHECKING_IN trở đi không thể sửa. Hệ thống sẽ báo: 'Đăng ký đã sang trạng thái [X]. Không thể chỉnh sửa!'
4.2. Cách thực hiện sửa đăng ký
| Bước | Thao tác |
|---|---|
| 1. Mở menu Thao tác | Click button 'Thao tác' trên hàng đăng ký cần sửa trong bảng. |
| 2. Chọn 'Sửa lịch' | Click option 'Sửa lịch' → Pop-up 'Sửa đăng ký dock' hiển thị với dữ liệu hiện tại. |
| 3. Chỉnh sửa thông tin | Cập nhật các trường cần thay đổi (xem bảng bên dưới). |
| 4. Click 'Chỉnh sửa' | Hệ thống validate và lưu thay đổi nếu hợp lệ. |
| 5. Hoàn tất | Tài xế nhận thông báo trên App Driver: 'Lịch đăng ký dock [ID] được cập nhật mới'. |
4.3. Các trường được phép sửa
| Trường | Ghi chú |
|---|---|
Kho (appointment_warehouse_id) | Khi đổi kho → trường Khung giờ tự động reset về trống, cần chọn lại. |
Loại đăng ký (registration_type) | Nội bộ hoặc Ngoại bộ. |
| Loại vận hành | Nhập hàng hoặc Xuất hàng. |
| Loại hàng | Lạnh, Mát, Khô (chọn nhiều). |
Ngày đăng ký (appointment_date) | Ngày xe hẹn vào kho. |
Khung giờ (appointment_time_slot_id) | Phải chọn lại nếu đã đổi kho. |
| Mã thay thế | reference_type và reference_code (nếu có). |
| Ghi chú | Nội dung ghi chú bổ sung. |
Nếu ĐPVT sửa đổi kho sang kho khác ngoài phân quyền của ĐPK, đăng ký sẽ bị hiển thị mờ (disabled) trong view ĐPK và không cập nhật dữ liệu cho đến khi kho được chỉnh lại về đúng phạm vi.
V. Huỷ lịch đăng ký
5.1. Huỷ thủ công — Cả ĐPVT và ĐPK đều thực hiện được
Button 'Huỷ lịch' chỉ hiển thị khi đăng ký ở 3 trạng thái:
REGISTERED(Đăng ký)PENDING_ARRIVAL(Chờ đến)CHECKING_IN(Đăng tài)
| Bước | Thao tác |
|---|---|
| 1. Mở menu Thao tác | Click button 'Thao tác' trên hàng đăng ký cần huỷ. |
| 2. Chọn 'Huỷ lịch' | Click option 'Huỷ lịch' → Pop-up 'Huỷ đăng ký' hiển thị. |
| 3. Nhập lý do | Điền lý do huỷ vào trường 'Lí do huỷ đăng ký' (bắt buộc, không được để trống). |
| 4. Click 'Xác nhận' | Hệ thống validate và thực hiện huỷ nếu hợp lệ. |
| 5. Hoàn tất | Đăng ký chuyển sang CANCELED. Tài xế nhận thông báo: 'Đăng ký dock [ID] đã bị huỷ'. |
Nếu đăng ký đã sang trạng thái WAITING_FOR_DOCK trở đi, hệ thống báo: 'Đăng ký đã sang trạng thái [X]. Không thể huỷ!' Liên hệ điều phối kho để xử lý ngoại lệ.
5.2. Huỷ tự động bởi hệ thống
Hệ thống tự động huỷ đăng ký (không cần thao tác thủ công) trong 2 trường hợp:
| Trường hợp | Chi tiết |
|---|---|
| Đơn hàng bị huỷ | Khi đơn hàng liên kết bị huỷ (status = CANCELLED), tất cả đăng ký dock ở trạng thái REGISTERED / PENDING_ARRIVAL / CHECKING_IN sẽ bị huỷ tự động. |
| Đơn rebroadcast | Khi đơn hàng rebroadcast với thời điểm mới, các đăng ký cũ ở trạng thái REGISTERED / PENDING_ARRIVAL / CHECKING_IN sẽ bị huỷ. |
Huỷ tự động do hệ thống ghi nhận appointment_canceled_by_role = SYSTEM và không yêu cầu lý do huỷ. Tài xế vẫn nhận được thông báo trên App Driver.
VI. Tab Theo dõi — Timeline vận hành
Trong pop-up Chi tiết đăng ký, tab 'Theo dõi' hiển thị toàn bộ lịch sử events theo thứ tự thời gian:
| Event | Người thực hiện | Ghi chú |
|---|---|---|
| Đăng ký | Điều phối Vận tải | Thời điểm tạo lịch ban đầu. |
| Chỉnh sửa | Điều phối Vận tải | Mỗi lần sửa ghi nhận một dòng mới. |
| Huỷ | ĐPVT / ĐPK / Hệ thống | Kèm lý do huỷ (nếu huỷ thủ công). |
| Chờ đến | Hệ thống tự động | Thời điểm bắt đầu cửa sổ đăng tài. |
| Không đến | Hệ thống tự động | Thời điểm hết hạn đăng tài. |
| Đăng tài | Bảo vệ kho | Phương thức: QR / mã / barcode. |
| Chờ vào dock | Bảo vệ kho (check-in) | Xác nhận vào cổng. |
| Chuẩn bị gọi | Hệ thống / Điều phối Kho | Xe được chọn ưu tiên vào slot. |
| Trì hoãn gọi | Điều phối Kho | Bị ưu tiên bởi xe khác. |
| Đổi dock | Điều phối Kho | Ghi nhận dock mới (không thay đổi dock gốc). |
| Gọi vào dock | Điều phối Kho | Loa phát + thông báo App Driver. |
| Tại dock | Điều phối Kho | Xác nhận xe vào dock. |
| Rời dock | Điều phối Kho | Xe hoàn tất vận hành trong dock. |
| Rời cổng | Bảo vệ kho (check-out) | OPERATION_COMPLETED hoặc OPERATION_FAILED. |
VII. Thông báo tới tài xế trên App Driver
Hệ thống tự động gửi thông báo đến App Driver của tài xế trong 2 trường hợp:
| Sự kiện | Nội dung thông báo gửi đến tài xế |
|---|---|
| Sửa đăng ký | "Lịch đăng ký dock [ID đăng ký] được cập nhật mới" → Click vào thông báo: mở trang Chi tiết đăng ký. |
| Huỷ đăng ký (thủ công hoặc tự động) | "Đăng ký dock [ID đăng ký] đã bị huỷ" → Click vào thông báo: mở trang Chi tiết đăng ký. |
VIII. Xử lý các thông báo lỗi
| Thông báo lỗi | Nguyên nhân | Hành động |
|---|---|---|
| Đăng ký đã sang trạng thái [X]. Không thể chỉnh sửa! | Trạng thái đã vượt qua PENDING_ARRIVAL, không đủ điều kiện sửa. | Không thể sửa — liên hệ điều phối cấp cao nếu cần xử lý ngoại lệ. |
| Đăng ký đã sang trạng thái [X]. Không thể huỷ! | Trạng thái đã vượt qua CHECKING_IN. | Không thể huỷ thủ công — liên hệ điều phối kho để can thiệp phía vận hành. |
| Lý do huỷ không được để trống | Chưa nhập nội dung vào trường 'Lí do huỷ đăng ký'. | Nhập lý do huỷ trước khi nhấn 'Xác nhận'. |
| Lỗi input / Lỗi hệ thống | Dữ liệu nhập sai định dạng hoặc lỗi kỹ thuật. | Kiểm tra lại thông tin nhập, thử lại. Nếu vẫn lỗi liên hệ bộ phận kỹ thuật. |
IX. Tóm tắt button Thao tác
| Option | Điều kiện hiển thị | Ai dùng được | Kết quả |
|---|---|---|---|
| Theo dõi | Tất cả trạng thái | ĐPVT & ĐPK | Mở pop-up Chi tiết đăng ký. |
| Sửa lịch | REGISTERED / PENDING_ARRIVAL | Chỉ ĐPVT | Mở pop-up Sửa đăng ký. |
| Huỷ lịch | REGISTERED / PENDING_ARRIVAL / CHECKING_IN | ĐPVT & ĐPK | Mở pop-up Huỷ đăng ký, yêu cầu nhập lý do. |