1. Card (Mô tả tính năng)
Là admin nghiệp vụ, tôi muốn xếp hạng và đề xuất tương ứng với điểm số được đánh giá cho các nhà cung cấp nhà thầu
2. Confirmation/ Acceptance Criteria (Tiêu chí nghiệm thu)
- Tôi muốn xem được danh sách xếp hạng đánh giá bao gồm thông tin
- Mã xếp hạng đánh giá
- Tên xếp hạng đánh giá
- Phiên bản
- Mã thang điểm- Tên thang điểm
- Ngày tạo
- Ngày áp dụng
- Trạng thái (Hoạt động/Không hoạt động/Đóng)
- Tôi muốn sắp xếp theo Ngày tạo (Ngày tạo mới lên trên)
- Tôi muốn tìm kiếm được xếp hạng trong danh sách xếp hạng theo mã- tên xếp hạng
- Tôi muốn lọc được theo
- Mã thang điểm- Tên thang điểm
- Phiên bản
- Trạng thái
- Tôi muốn tạo mới được Xếp hạng đánh giá tương ứng theo thang điểm bao gồm các thông tin
- Mã xếp hạng đánh giá
- Tên xếp hạng đánh giá
- Mã thang điểm- Tên thang điểm: Chọn từ danh mục mã thang điểm
- Phiên bản
- Ngày tạo
- Ngày áp dụng: Cho phép nhập ngày quá khứ
- Loại đánh giá: disable,Load theo mã thang điểm
- Lĩnh vực: disable, Load theo mã thang điểm
- Thông tin xếp hạng
- Giá trị điểm tối thiểu: Dấu, Số
- Giá trị điểm tối đa: Dấu, Số
- Xếp hạng
- Đề xuất
- Trạng thái (Hoạt động/Không hoạt động)
- Tôi muốn hệ thống cảnh báo và chặn trong trường hợp thêm mới trùng mã xếp hạng
- Tôi muốn hệ thống cảnh báo và chặn trong trường hợp thêm mới xếp hạng có mã thang điểm trùng với mã thang điểm của một mã xếp hạng khác
- Tôi muốn hệ thống cảnh báo và chặn trong trường hợp các khoảng điểm trong cùng mã xếp hạng giao nhau
- Tôi muốn xem chi tiết được xếp hạng
- Tôi muốn cập nhật thông tin xếp hạng và đề xuất, phiên bản áp dụng khi cập nhật thông tin đánh giá lên lịch sử đánh giá theo mã xếp hạng của thang điểm tương ứng đang hoạt động
3. Conversation (Mô tả chi tiết)
3.1 UIUX:
Màn hình danh sách danh mục xếp hạng theo thang điểm:
...
| Panel |
|---|
| title | list danh sách đánh giá |
|---|
|
Method | GET | URL | application/supplier-rating/list |
|---|
Description | API lấy thông tin đánh giá NCC |
|---|
Note | API mới |
|---|
STT | Field | Source Data Type / Length | Description | Sample Values |
|---|
| 1 | authorization | String | Token | Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjYzOTgyNDUsInVzZXIiOiJ7XCJpZFwiOjIwMjAsXCJ1c2VybmFtZVwiOlwiMDM3NDc4ODQwNVwiLFwibmFtZVwiOlwiQ2h1IFRo4buLIExpw6puXCIsXCJyb2xlc1wiOltdLFwibWFwQmVhdXR5U2Fsb25cIjp7XCJicG0ucmVib3JuLnZuXCI6Nn0sXCJlbXBsb3llZUlkXCI6NTMxLFwiYnJhbmNoSWRcIjoyM30ifQ.qRoaRDxjqyWS-3Az_ZqLmR0KAcPTM7jXggW1Ja5wpEc |
2. ParamSTT | Field | Required | Data Type / Length | Description | Note |
|---|
| 1 | name | false | Integer | text to search |
| | 2 | status | false | Integer |
|
| | 3 | scoreId | false | Integer |
|
| | 3 | version | false | String |
|
|
3. Response / Incoming Data Specification| STT | Field | Data Type / Length | Description | Note |
|---|
| code | Integer | 0: thành công, != 0 thất bại |
|
| message | String |
|
|
| result | Object | Object |
|
| (result) | Object[] | danh sách thông tin |
|
| (result) id | Integer | Id |
|
| (result) code | Integer | mã |
|
| (result) name | Integer | tên |
|
| (result)version | String | version |
|
| (result)createdAt | String | format date UTC |
|
| (result)scoreId | Integer | mã thang điểm |
|
| (result)ratingScaleName | String |
|
|
| (result)ratingScaleCode | String |
|
|
| (result)ratingScaleEvaluationType | String |
|
|
| (result)applyAt | String | thời gian áp dụng |
|
| (result)status | Integer | trạng thái |
|
| (result)scoreDetailLst | Object[] | danh sách chi tiết |
|
| (result.scoreDetailLst)order | Integer |
|
|
| (result.scoreDetailLst)operatorMin | String | LESS_THAN, LESS_EQUAL |
|
| (result.scoreDetailLst)min | Double |
|
|
| (result.scoreDetailLst)operatorMax | String | GREATER_THAN, GREATER_EQUAL |
|
| (result.scoreDetailLst)max | Double |
|
|
| (result.scoreDetailLst)ratting | String |
|
|
| (result.scoreDetailLst)recommended | String |
|
|
| Panel |
|---|
| Method | POST | URL | application/supplier-rating |
|---|
Description | API lấy thông tin đánh giá NCC |
|---|
Note | API mới |
|---|
STT | Field | Source Data Type / Length | Description | Sample Values |
|---|
| 1 | authorization | String | Token | Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjYzOTgyNDUsInVzZXIiOiJ7XCJpZFwiOjIwMjAsXCJ1c2VybmFtZVwiOlwiMDM3NDc4ODQwNVwiLFwibmFtZVwiOlwiQ2h1IFRo4buLIExpw6puXCIsXCJyb2xlc1wiOltdLFwibWFwQmVhdXR5U2Fsb25cIjp7XCJicG0ucmVib3JuLnZuXCI6Nn0sXCJlbXBsb3llZUlkXCI6NTMxLFwiYnJhbmNoSWRcIjoyM30ifQ.qRoaRDxjqyWS-3Az_ZqLmR0KAcPTM7jXggW1Ja5wpEc |
2. ParamSTT | Field | Required | Data Type / Length | Description | Note |
|---|
| 1 | code | Integer | mã |
|
| | 2 | name | Integer | tên |
|
| | 3 | version | String | version |
|
| | 4 | scoreId | Integer | mã thang điểm |
|
| | 5 | applyAt | String | thời gian áp dụng |
|
| | 6 | scoreDetailLst | Object[] | danh sách chi tiết |
|
|
| (result.scoreDetailLst)order | Integer |
|
|
|
| (result.scoreDetailLst)operatorMin | String | LESS_THAN, LESS_EQUAL |
|
|
| (result.scoreDetailLst)min | Double |
|
|
|
| (result.scoreDetailLst)operatorMax | String | GREATER_THAN, GREATER_EQUAL |
|
|
| (result.scoreDetailLst)max | Double |
|
|
|
| (result.scoreDetailLst)ratting | String |
|
|
|
| (result.scoreDetailLst)recommended | String |
|
|
|
3. Response / Incoming Data Specification| STT | Field | Data Type / Length | Description | Note |
|---|
| code | Integer | 0: thành công, != 0 thất bại |
|
| message | String |
|
|
| result | Object | Object |
|
| | Object[] | danh sách thông tin |
|
| (result) id | Integer | Id |
|
| (result) code | Integer | mã |
|
| (result) name | Integer | tên |
|
| (result)version | String | version |
|
| (result)createdAt | String | format date UTC |
|
| (result)scoreId | Integer | mã thang điểm |
|
| (result)ratingScaleName | String |
|
|
| (result)ratingScaleCode | String |
|
|
| (result)ratingScaleEvaluationType | String |
|
|
| (result)applyAt | String | thời gian áp dụng |
|
| (result)status | Integer | trạng thái |
|
| (result)scoreDetailLst | Object[] | danh sách chi tiết |
|
| (result.scoreDetailLst)order | Integer |
|
|
| (result.scoreDetailLst)operatorMin | String | LESS_THAN, LESS_EQUAL |
|
| (result.scoreDetailLst)min | Double |
|
|
| (result.scoreDetailLst)operatorMax | String | GREATER_THAN, GREATER_EQUAL |
|
| (result.scoreDetailLst)max | Double |
|
|
| (result.scoreDetailLst)ratting | String |
|
|
| (result.scoreDetailLst)recommended | String |
|
|
|
| Panel |
|---|
| title | get chi tiết đánh giá |
|---|
| Method | GET | URL | application/supplier-rating/get |
|---|
Description | API lấy thông tin chi tiết đánh giá NCC |
|---|
Note | API mới |
|---|
STT | Field | Source Data Type / Length | Description | Sample Values |
|---|
| 1 | authorization | String | Token | Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjYzOTgyNDUsInVzZXIiOiJ7XCJpZFwiOjIwMjAsXCJ1c2VybmFtZVwiOlwiMDM3NDc4ODQwNVwiLFwibmFtZVwiOlwiQ2h1IFRo4buLIExpw6puXCIsXCJyb2xlc1wiOltdLFwibWFwQmVhdXR5U2Fsb25cIjp7XCJicG0ucmVib3JuLnZuXCI6Nn0sXCJlbXBsb3llZUlkXCI6NTMxLFwiYnJhbmNoSWRcIjoyM30ifQ.qRoaRDxjqyWS-3Az_ZqLmR0KAcPTM7jXggW1Ja5wpEc |
2. ParamSTT | Field | Required | Data Type / Length | Description | Note |
|---|
| 1 | id | Integer | mã |
|
|
3. Response / Incoming Data Specification| STT | Field | Data Type / Length | Description | Note |
|---|
| code | Integer | 0: thành công, != 0 thất bại |
|
| message | String |
|
|
| result | Object | Object |
|
| | Object[] | danh sách thông tin |
|
| (result) id | Integer | Id |
|
| (result) code | Integer | mã |
|
| (result) name | Integer | tên |
|
| (result)version | String | version |
|
| (result)createdAt | String | format date UTC |
|
| (result)scoreId | Integer | id thang điểm |
|
| (result)ratingScaleName | String | tên thang điểm |
|
| (result)ratingScaleCode | String | mã thang điểm |
|
| (result)ratingScaleEvaluationType | String | loại đánh giá |
|
| (result)applyAt | String | thời gian áp dụng |
|
| (result)status | Integer | trạng thái |
|
| (result)scoreDetailLst | Object[] | danh sách chi tiết |
|
| (result.scoreDetailLst)order | Integer |
|
|
| (result.scoreDetailLst)operatorMin | String | LESS_THAN, LESS_EQUAL |
|
| (result.scoreDetailLst)min | Double |
|
|
| (result.scoreDetailLst)operatorMax | String | GREATER_THAN, GREATER_EQUAL |
|
| (result.scoreDetailLst)max | Double |
|
|
| (result.scoreDetailLst)ratting | String |
|
|
| (result.scoreDetailLst)recommended | String |
|
|
|
|
...
| Trường thông tin/Nút chức năng | Kiểu dữ liệu | Điều kiện | Quy định | Mô tả |
|---|
| 1 | Tiêu đề pop-up | Văn bản (Text) | Bắt buộc | Không cho phép người dùng thao tác tương tác (nhấn/chọn/sửa). | Thể hiện tiêu đề pop-up "Cảnh báo trùng" |
| 2 | Văn bản cảnh báo | Nút chức năng (Button) | Bắt buộc | Không cho phép người dùng thao tác tương tác (nhấn/chọn/sửa). | - Thể hiện văn bản cảnh báo - Nội dung văn bản cảnh báo: "Có khoảng điểm <chi tiết khoảng điểm> trong cùng mã xếp hạng giao nhau. Vui lòng kiểm tra lại!" |
| 3 | Nút "Thoát" | Nút chức năng (Button) | Bắt buộc | - Cho phép người dùng nhấn để tắt màn hình pop-up. - Khi nhấn, màn hình pop-up đóng lại và hệ thống điều hướng về màn hình về màn hình "Thêm mới xếp hạng đánh giá"- Màn hình "Thêm mới xếp hạng đánh giá": Tham chiếu mục 3.4.2. Màn hình pop-up "Thêm mới xếp hạng đánh giá" | Thể hiện nút "Thoát" để đóng màn hình cảnh báo pop up trùng |
3.4.3.5. Màn hình pop-up "Bộ lọc"
| Trường thông tin/Nút chức năng | Kiểu dữ liệu | Điều kiện | Quy định | Mô tả |
|---|
| 1 | Phiên bản | Văn bản (Text) | Không bắt buộc | - Cho phép người dùng nhấn để chọn giá trị nhà cung cấp từ danh sách thả xuống của trường. - Hành vi hệ thống khi thực hiện lọc như sau: - Trường hợp 1: Người dùng chọn giá trị phiên bản: Khi nhấn nút "Áp dụng", hệ thống lọc danh sách phiên bản theo mã phiên bản đã chọn.
- Trường hợp 2: Người dùng không chọn giá trị phiên bản: Khi nhấn nút "Áp dụng", hệ thống không lọc danh sách xếp hạng đánh giá theo trường phiên bản.
| Thể hiện tên nhà cung cấp trong hợp đồng với gợi ý mặc định (placeholder) "Chọn phiên bản" |
| 2 | Mã thang điểm- Tên thang điểm | Lựa chọn (Select) | Không bắt buộc | - Cho phép người dùng nhấn để chọn giá trị mã tháng điểm- tên thang điểm từ danh sách thả xuống của trường. - Hành vi hệ thống khi thực hiện lọc như sau: - Trường hợp 1: Người dùng chọn giá trị mã tháng điểm- tên thang điểm: Khi nhấn nút "Áp dụng", hệ thống lọc danh sách hợp đồng theo dự án đã chọn.
- Trường hợp 2: Người dùng không chọn giá trị tên dự án: Khi nhấn nút "Áp dụng", hệ thống không lọc danh sách xếp hạng đánh giá theo trường
- Mã thang điểm- Tên thang điểm
| Thể hiện tên dự án trong hợp đồng với gợi ý mặc định (placeholder) "Chọn mã thang điểm- tên thang điểm" |
| 3 | Trạng thái | Lựa chọn (Select) | Không bắt buộc | - Cho phép người dùng nhấn để chọn giá trị trạng thái từ danh sách thả xuống của trường. - Hành vi hệ thống khi thực hiện lọc như sau: - Trường hợp 1: Người dùng chọn giá trị trạng thái: Khi nhấn nút "Áp dụng", hệ thống lọc danh sách trạng thái đã chọn.
- Trường hợp 2: Người dùng không chọn giá trị trạng thái: Khi nhấn nút "Áp dụng", hệ thống không lọc danh sách xếp hạng đánh giá theo trường trạng thái.
| Thể hiện trạng thái của hợp đồng với gợi ý mặc định (placeholder) "Chọn trạng thái" |
| 4 | Nút "Áp dụng" | Nút chức năng (Button) | Không bắt buộc | - Cho phép người dùng nhấn để áp dụng những tiêu chí lọc đã chọn. - Hành vi hiển thị kết quả hệ thống khi người dùng nhấn nút "Áp dụng" như sau: - Trường hợp 1: Không chọn bất kỳ tiêu chí lọc nào:
- Hệ thống vẫn cho phép người dùng nhấn nút “Áp dụng”.
- Sau khi nhấn, hệ thống đóng pop-up nhưng không thực hiện lọc.
- Màn hình "Danh sách hợp đồng" vẫn giữ nguyên dữ liệu như trước khi thao tác.
- Không hiển thị bất kỳ thông báo lỗi hay cảnh báo nào.
- Trường hợp 2: Chọn một hoặc nhiều tiêu chí lọc:
- Hệ thống vẫn cho phép người dùng nhấn nút “Áp dụng”.
- Sau khi nhấn, hệ thống đóng pop-up và thực hiện lọc theo toàn bộ các tiêu chí mà người dùng đã chọn.
- Màn hình "Danh sách hợp đồng" được cập nhật và hiển thị theo đúng những tiêu chí người dùng chọn đã chọn.
| Thể hiện nút áp dụng tiêu chí lọc được chọn |
| 5 | Nút "Đặt lại" | Nút chức năng (Button) | Không bắt buộc | - Cho phép người dùng nhấn để đặt lại tất cả tiêu chí lọc về trạng thái mặc định ban đầu. - Hành vi hệ thống khi người dùng nhấn nút "Đặt lại" như sau: - Hành vi 1: Toàn bộ các trường trên màn hình pop-up "Bộ lọc" sẽ được chuyển về giá trị mặc định ban đầu.
- Hành vi 2: Màn hinh pop-up "Bộ lọc" vẫn được giữ trạng thái mở để người dùng có thể tiếp tục thao tác.
| Thể hiện nút đặt lại tất cả tiêu chí lọc về trạng thái mặc định ban đầu. |
| 6 | Nút "X" | Nút chức năng (Button) | Không bắt buộc | - Cho phép người dùng nhấn để hủy bỏ thao tác lọc. - Khi nhấn, màn hình pop-up "Bộ lọc" đóng lại. | Thể hiện nút "X" để để hủy bỏ thao tác lọc. |
...