TMS-1428 [U][QA][Thêm kiểm tra cho các trang danh sách: DHM/DHSA/DHDT/DHKH]
Tài liệu mô tả chức năng: Duyệt hoàn tất, Kiểm tra, tải excel kiểm tra
1. Mô tả tổng quan
- Chức năng Duyệt hoàn tất: cho phép người dùng duyệt hoàn tất đơn hàng
- Chức năng Kiểm tra: cho phép người dùng kiểm tra và ghi nhận lại số lượng lỗi theo lô của từng đơn hàng
- Chức năng Tải excel kiểm tra: cho phép người dùng xem nội dung đã Kiểm tra của đơn hàng dưới dạng file excel
- Cả 3 chức năng trên đều được hiển thị ở các trang Danh sách đơn hàng bán bao gồm: [Danh sách đơn hàng SA],[Danh sách đơn hàng múi],[Danh sách đơn hàng dự trữ],[Danh sách đơn hàng khách hàng]
2. Các chức năng và luồng hoạt động
Cấp quyền cho tài khoản sử dụng chức năng:
- Tải khoản: Bất kể tài khoản nào đang có quyền Xem, chỉnh sửa cho các trang [Danh sách đơn hàng SA],[Danh sách đơn hàng múi],[Danh sách đơn hàng dự tr],[Danh sách đơn hàng khách hàng]
- Bộ phận: Marketing, QA
- Chức vụ: Nhân viên marketing/ Trưởng phòng Marketing
-
2.1 Chức năng duyệt hoàn tất:
-
Phân quyền: Chức năng này sẽ được mở disable khi thỏa các điều kiện sau:
- Nếu là bộ phận Marketing : Chỉ mở disable cho đơn hàng do người dùng tạo, có quyền edit trên trang, chưa từng được duyệt hoàn tất, đơn hàng đã được tạo Kiểm tra và Tổng số lượng nhập kho thành phẩm/ Tổng số lượng đơn hàng lớn hơn hoặc bằng 80%
- Nếu là bộ phận QA: Mở disable cho tất cả đơn hàng có đủ các điều kiện : có quyền edit trên trang, chưa từng được duyệt hoàn tất, đơn hàng đã được tạo Kiểm tra và Tổng số lượng nhập kho thành phẩm/ Tổng số lượng đơn hàng lớn hơn hoặc bằng 80%
-
Hoạt động của chức năng:
- Khi click vào button Duyệt hoàn tất đơn hàng sẽ được tô màu đỏ cam nếu Tổng số lỗi ở chức năng Kiểm tra > 0, còn tổng số lỗi là 0 thì không tô màu
- Khi duyệt hoàn tất thành công thì vẫn có thể tiếp tục Cập nhật/ Thêm mới Kiểm tra cho đơn hàng
-
API của chức năng:
Phương thức | Route | Mô tả |
---|---|---|
POST | /change-approval-complete-status-reserve-order |
Duyệt hoàn tất trang Danh sách đơn hàng dự trữ |
POST | /change-approval-complete-status-customer-order |
Duyệt hoàn tất trang Danh sách đơn hàng khách hàng |
POST | /change-approval-complete-status |
Duyệt hoàn tất trang Danh sách đơn hàng Múi/SA |
-
Cơ sở dữ liệu (DB):
-
Bảng
order_detail
Fields | Ý nghĩa | Mô tả |
---|---|---|
is_approval_complete | Đánh dấu đơn hàng đã được duyệt hoàn tất hay chưa | Giá trị defaul của cột này là false(0), khi được duyệt hoàn tất thì chuyển sang true(1) |
-
Bảng
reserve_orders
Fields | Ý nghĩa | Mô tả |
---|---|---|
is_approval_complete | Đánh dấu đơn hàng đã được duyệt hoàn tất hay chưa | Giá trị defaul của cột này là false(0), khi được duyệt hoàn tất thì chuyển sang true(1) |
-
Bảng
customer_orders
Fields | Ý nghĩa | Mô tả |
---|---|---|
is_approval_complete | Đánh dấu đơn hàng đã được duyệt hoàn tất hay chưa | Giá trị defaul của cột này là false(0), khi được duyệt hoàn tất thì chuyển sang true(1) |
-
2.2 Chức năng Tạo/Cập nhật Kiểm tra cho đơn hàng:
-
Phân quyền: Chức năng này sẽ được mở disable khi thỏa các điều kiện sau:
- Nếu là bộ phận Marketing : Chỉ mở disable cho đơn hàng do người dùng tạo, có quyền edit trên trang,và Tổng số lượng nhập kho thành phẩm/ Tổng số lượng đơn hàng lớn hơn hoặc bằng 80%
- Nếu là bộ phận QA: Mở disable cho tất cả đơn hàng có đủ các điều kiện : có quyền edit trên trang, và Tổng số lượng nhập kho thành phẩm/ Tổng số lượng đơn hàng lớn hơn hoặc bằng 80%
-
Hoạt động của chức năng:
- Khi click vào button Kiểm tra sẽ hiển thị component Kiểm tra với các thông tin: Tên/Mã đơn hàng ( độ dài của dữ liệu nào dài hơn thì hiển thị dữ liệu đó), button Thêm lô kiểm tra,button Xóa từng lô trên mỗi dòng dữ liệu ( chỉ hiển thị khi số lô > 1) và button Lưu/Cập nhật và button xóa ( chỉ hiển thị khi ở trạng thái Cập nhật)
- Validate: Các input Số lượng kiểm tra của đơn hàng, Số lô, Số lỗi ( nặng,nhẹ,nghiêm trọng) là các input bắt buộc phải nhập khi Tạo mới/Cập nhật dữ liệu.Ngoài ra Số lượng kiểm tra của đơn hàng phải lớn hơn 0, tổng số lỗi nhập vào ( tổng lỗi nặng,nhẹ,nghiêm trọng trên mỗi dòng dữ liệu) phải bé hơn hoặc bằng Số lượng kiểm tra.
- Click vào button Lưu/Cập nhật dữ liệu Kiểm tra cho đơn hàng sẽ được lưu mới
- Nếu trước đó đã Tạo kiểm tra cho đơn hàng -> Khi click mở lại chức năng Kiểm tra component sẽ fill ra toàn bộ giá trị đã được lưu trước đó để cập nhật . Khi ở trạng thái cập nhật thì có thể chọn xóa phiếu kiểm tra nhanh bằng cách click vào button Xóa ở phần footer của modal để xóa toàn bộ Kiểm tra
-
API của chức năng:
Phương thức | Route | Mô tả |
---|---|---|
GET | /get-order-inspection-summary |
Lấy dữ liệu của phiếu kiểm tra nếu đã được tạo trước đó |
POST | /save-order-inspection-summary |
Lưu/Cập nhật dữ liệu phiếu kiểm tra |
POST | /delete-order-inspection-summary |
Xóa phiếu Kiểm tra |
-
Cơ sở dữ liệu (DB):
-
Bảng
order_inspection_summary
Fields | Ý nghĩa | Mô tả | Tên cột/bảng dữ liệu tham chiếu |
---|---|---|---|
unique_id | Phân biệt các phiếu kiểm tra | Mỗi lần mở modal Kiểm tra và thực hiện thao tác lưu/cập nhật sẽ có 1 unique_id riêng biệt cho phiếu đó | |
order_summary_id | ID của đơn hàng | ID của đơn hàng trong bảng order_info_summary |
Từ order_summary_id lấy ra code và name của đơn hàng để map với field orderCode và orderName trên giao diện |
quantity | Số lượng kiểm tra của đơn hàng | Lưu số lượng kiểm tra của đơn hàng trong từng lô | |
batch | Số lô | Lưu số lô kiểm tra | lotNumber |
errors_minor | Số lỗi nhẹ | Lưu số lỗi nhẹ của đơn hàng trong từng lô | quantityMinor |
errors_major | Số lỗi nặng | Lưu số lỗi nặng của đơn hàng trong từng lô | quantitySerious |
errors_critical | Số lỗi nghiêm trọng | Lưu số lỗi nghiêm trọng của đơn hàng trong từng lô | quantityCritical |
note | Ghi chú | Lưu ghi chú trong từng lô kiểm tra | note |
user_id | Người lưu | ID của người lưu/ cập nhật phiếu | |
created_at | Ngày tạo | Ngày tạo phiếu kiểm tra | |
updated_at | Ngày cập nhật | Ngày cập nhật phiếu kiểm tra |
-
Bảng
order_inspection_history
Fields | Ý nghĩa | Mô tả | Tên cột/bảng dữ liệu tham chiếu |
---|---|---|---|
unique_id | Phân biệt các phiếu kiểm tra | Mỗi lần mở modal Kiểm tra và thực hiện thao tác lưu/cập nhật sẽ có 1 unique_id riêng biệt cho phiếu đó | |
order_inspection_id | ID phiếu kiểm tra | Lưu ID của phiếu kiểm tra | |
order_summary_id | ID của đơn hàng | ID của đơn hàng trong bảng order_info_summary |
Từ order_summary_id lấy ra code và name của đơn hàng để map với field orderCode và orderName trên giao diện |
quantity | Số lượng kiểm tra của đơn hàng | Lưu số lượng kiểm tra của đơn hàng trong từng lô | |
batch | Số lô | Lưu số lô kiểm tra | lotNumber |
errors_minor | Số lỗi nhẹ | Lưu số lỗi nhẹ của đơn hàng trong từng lô | quantityMinor |
errors_major | Số lỗi nặng | Lưu số lỗi nặng của đơn hàng trong từng lô | quantitySerious |
errors_critical | Số lỗi nghiêm trọng | Lưu số lỗi nghiêm trọng của đơn hàng trong từng lô | quantityCritical |
note | Ghi chú | Lưu ghi chú trong từng lô kiểm tra | note |
user_id | Người lưu | ID của người lưu/ cập nhật phiếu | |
created_at | Ngày tạo | Ngày tạo phiếu kiểm tra | |
updated_at | Ngày cập nhật | Ngày cập nhật phiếu kiểm tra | |
deleted_at | Ngày xóa | Ngày xóa phiếu kiểm tra |
-
2.3 Chức năng Tải file excel kiểm tra:
-
Phân quyền: Chức năng này sẽ được mở disable khi thỏa các điều kiện sau:
- Nếu là bộ phận Marketing : Chỉ mở disable cho đơn hàng do người dùng tạo, có quyền edit trên trang,và Tổng số lượng nhập kho thành phẩm/ Tổng số lượng đơn hàng lớn hơn hoặc bằng 80%
- Nếu là bộ phận QA: Mở disable cho tất cả đơn hàng có đủ các điều kiện : có quyền edit trên trang, và Tổng số lượng nhập kho thành phẩm/ Tổng số lượng đơn hàng lớn hơn hoặc bằng 80%
-
Hoạt động của chức năng:
- Khi click vào button Tải file excel kiểm tra nếu đơn hàng đã được Tạo/Cập nhật phiếu kiểm tra thì sẽ tải thành công file excel , ngược lại sẽ hiển thị warning "Vui lòng kiểm tra trước khi tải file".
- File excel tải về hiển thị các thông tin giống tương tự phiếu Kiểm tra trong chức năng Kiểm tra
-
API của chức năng:
Phương thức | Route | Mô tả |
---|---|---|
POST | /export-order-detail-check-excel |
Tải file excel của phiếu kiểm tra trong từng đơn hàng |
-
Cơ sở dữ liệu (DB):
- Dữ liệu trong file được lấy ra từ bảng lưu phiếu kiểm tra
order_inspection_summary
-
2.4 Tìm kiếm theo trạng thái Đã duyệt hoàn tất và Chưa duyệt hoàn tất trên trang:
- Trên các trang [Danh sách đơn hàng múi], [Danh sách đơn hàng SA], [Danh sách đơn hàng dự trữ], [Danh sách đơn hàng khách hàng] ở chức năng [Tìm kiếm] sẽ có thêm field tìm kiếm theo trạng thái : [Tất cả], [Đã duyệt hoàn tất], [Chưa duyệt hoàn tất]
- Khi tìm kiếm theo các trạng thái này thì các chức năng Tải file excel danh sách cũng sẽ tải được theo tiêu chí tìm kiếm này
3. Mô tả tổng quan về database
- Khi lưu dữ liệu của phiếu kiểm tra thì sẽ lưu vào 2 bảng:
order_inspection_summary
vàorder_inspection_history
. - Bảng
order_inspection_summary
: Đây là bảng chính lưu dữ liệu của phiếu và bảng này không dùng soft delete, khi cập nhật dữ liệu sẽ force delete dữ liệu của phiếu cũ để lưu dữ liệu cập nhật mới - Bảng
order_inspection_history
: Đây là bảng theo dõi quá trình tạp và cập nhật dữ liệu của bảngorder_inspection_summary
, đối với những dữ liệu bị force deleted trong bảngorder_inspection_summary
thì bảngorder_inspection_history
sẽ ghi nhận lại dưới dạng soft delete
-
Ref task: #1428 - Chi