Nghiệp vụ | IT | |||
|---|---|---|---|---|
Người lập | Người duyệt | Người lập | Người duyệt | |
Họ & Tên | Bùi Nguyệt Anh | Nguyễn Đức Trung | ||
Tài khoản email/MS Team | anhbn4 | trungnd3 | ||
Chức danh | Business Analyst (BA) | Product Owner (P.O) | ||
Ngày soạn thảo/phê duyệt |
| |||
Jira Ticket | ||||
Là người dùng tôi có thể tạo quản lý grid nhập liệu trên hệ thống BPM thông qua
Chỉnh sửa, xóa biểu mẫu
3.1 UIUX:

Màn hình công thức Giá trị lớn nhất

Màn hình công thức Giá trị nhỏ nhất

Màn hình công thức Giá trị trung bình

Màn hình nhập liệu, các nút chức năng và tiêu đề

Màn hình Import excel

Màn hình thông báo lỗi
3.2 Luồng: https://drive.google.com/file/d/1Mqum8LxzFBOK5L6rf9YDdH0iyb4DZjSg/view?usp=sharing


Xem danh sách bảng nhập liệu Tạo mới Bảng nhập liệu

Chỉnh sửa Bảng nhập liệu

Xóa bảng nhập liệu

Thêm mới cột

Chỉnh sửa cột

Xóa thông tin cột
3.3 API Spec: <gắn link tài liệu mô tả API vào đây>
1. Headers
2. BODY
3. Response / Incoming Data Specification
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.4 Mô tả các trường dữ liệu chức năng Cài đặt bảng nhập liệu:
Màn hình Cài đặt bảng nhập liệu là một đối tượng phân quyền tại chức năng: Quản lý người dùng > Quản lý cơ sở > Danh sách phòng ban > Cấu hình phân quyền
Với Cài đặt là chức năng cha và "Cài đặt bảng nhập liệu" là chức năng con với các quyền:
3.4.1. Màn hình danh sách bảng nhập liệu
Trường/Nút chức năng | Kiểu dữ liệu | Bắt buộc | Quy định | Mô tả | |
|---|---|---|---|---|---|
| 1 | Mã bảng | Text | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 2 | Tên bảng | Text | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 3 | Trạng thái | Button | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 4 | Người tạo | Text | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 5 | Bộ phận | Text | Hiển thị thông tin phòng ban tại thời điểm khởi tạo của người tạo. | ||
| 6 | Thời gian tạo | Date Time | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 7 | Thêm mới | Button | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 8 | Sửa | Button | Cho phép người dùng mở Pop-up chỉnh sửa bảng nhập liệu Hệ thống kiểm tra đã phát sinh dữ liệu (đã sinh công việc có chứa bảng hoặc được đã được khai báo tại màn hình Quản lý biểu mẫu):
| ||
| 9 | Sao chép | Button | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 10 | Xóa | Button | Cho phép người dùng xóa bảng nhập liệu Hệ thống kiểm tra đã phát sinh dữ liệu (đã sinh công việc có chứa bảng hoặc được đã được khai báo tại màn hình Quản lý biểu mẫu)
| ||
| 11 | Chọn nhiều | Button | Cho phép người dùng thực hiện chọn nhiều bảng muốn xóa. Hệ thống khóa không cho phép lựa chọn các bảng đã được sử dụng (đã phát sinh dữ liệu nhập liệu vào bảng) Với nút "chọn tất cả" hệ thống chỉ tự động chọn các bảng chưa được sử dụng. | ||
| 12 | Xóa hàng loạt | Button | Cho phép người dùng xóa bảng nhập liệu Hệ thống kiểm tra mã bảng này đã được sử dụng để nhập dữ liệu:
| ||
| 13 | Tìm kiếm | Searchbox | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) |
3.4.2. Màn hình tạo mới bảng nhập liệu
Hệ thống mặc định tạo sẵn một cột Số thứ tự với định dạng Văn bản. Cột này sẽ được ẩn không cho phép người dùng sửa - xóa.
Cột Số thứ tự được dùng để xác định mối quan hệ cha - con giữa các dòng dữ liệu khi nhập liệu.
Trường/Nút chức năng | Kiểu dữ liệu | Bắt buộc | Quy định | Mô tả | |
|---|---|---|---|---|---|
| 1 | Thông tin chung | ||||
| 2 | Mã bảng* | Text | x | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | |
| 3 | Tên bảng* | Text | x | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | |
| 4 | Trạng thái | Toggle | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 5 | Áp dụng | Button | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 6 | Chỉnh sửa | Button | Chỉ hiển thị với màn hình xem chi tiết | Chức năng cho phép người dùng chỉnh sửa chi tiết bảng nhập liệu: Hệ thống kiểm tra bảng nhập liệu đã được sử dụng (sử dụng tức đã được tạo mới ở chức năng "Quản lý biểu mẫu" hoặc đã sinh ra công việc trong quy trình)
| |
| 7 | Hủy | Button | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 8 | Thông tin cấu hình | ||||
| 9 | Mã cột* | Text | x | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | |
| 10 | Tên cột* | Text | x | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | |
| 11 | Gợi ý nhập liệu | Button | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 12 | Bắt buộc | Checkbox | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 13 | Kiểu dữ liệu* | Droplist | x | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | |
| 14 | Tính tổng giá trị cột | Toggle | Chỉ hiển thị khi kiểu dữ liệu cột là "Số" hay"Phần trăm" Hệ thống mặc định là "Không" | Hệ thống cho phép người dùng lựa chọn cột này có tính toán tổng hay không (toggle):
| |
| 15 | Văn bản | Text | LTham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 16 | Số | Text | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 17 | Phần trăm | Text | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 18 | Công thức - Lựa chọn: Công thức toán học | Text | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 19 | Công thức - Lựa chọn: Giá trị lớn nhất | Text | Với lựa chọn công thức giá trị lớn nhất: Hệ thống cho phép người dùng lựa chọn các cùng định "Số" hoặc "Phần trăm" với cột đang khai báo Ví dụ: Cột đang khai báo kiểu dữ liệu là số → chỉ cho phép lựa chọn các cột so sánh định dạng số Từ đó khi nhập liệu hệ thống sẽ tự động so sánh các cột được cấu hình và đưa ra giá trị lớn nhất. Hệ thống cho phép:
Kết quả so sánh sẽ được hiển thị và làm tròn dựa trên cài đặt số nguyên hay số thập phân của cột: Ví dụ:
Đơn giá 1 = 9,123 Đơn giá 2 = 10 Đơn giá 3 = 11,567 → Đơn giá Max = 12 (<5 làm tròn xuống, >=5 làm tròn lên)
Đơn giá 1 = 9,123 Đơn giá 2 = 10 Đơn giá 3 = 11,567 → Đơn giá Max = 11,57 (<5 làm tròn xuống, >=5 làm tròn lên) | ||
| 20 | Công thức - Lựa chọn: Giá trị nhỏ nhất | Text | Với lựa chọn công thức giá trị nhỏ nhất: Hệ thống cho phép người dùng lựa chọn các cùng định "Số" hoặc "Phần trăm" với cột đang khai báo Ví dụ: Cột đang khai báo kiểu dữ liệu là số → chỉ cho phép lựa chọn các cột so sánh định dạng số Từ đó khi nhập liệu hệ thống sẽ tự động so sánh các cột được cấu hình và đưa ra giá trị nhỏ nhất. Hệ thống cho phép:
Kết quả so sánh sẽ được hiển thị và làm tròn dựa trên cài đặt số nguyên hay số thập phân của cột: Ví dụ:
Đơn giá 1 = 9,123 Đơn giá 2 = 10 Đơn giá 3 = 11,567 → Đơn giá Min = 9 (<5 làm tròn xuống, >=5 làm tròn lên)
Đơn giá 1 = 9,123 Đơn giá 2 = 10 Đơn giá 3 = 11,567 → Đơn giá Min = 9,12 (<5 làm tròn xuống, >=5 làm tròn lên) | ||
| 21 | Công thức - Lựa chọn: Giá trị trung bình | Với lựa chọn công thức giá trị trung bình: Hệ thống cho phép người dùng lựa chọn các cùng định "Số" hoặc "Phần trăm" với cột đang khai báo Ví dụ: Cột đang khai báo kiểu dữ liệu là số → chỉ cho phép lựa chọn các cột tính trung bình là định dạng số Từ đó khi nhập liệu hệ thống sẽ tự động tính: Giá trị TB = tổng giá trị các cột được lựa chọn / tổng số lượng cột được lựa chọn Hệ thống cho phép:
Kết quả so sánh sẽ được hiển thị và làm tròn dựa trên cài đặt số nguyên hay số thập phân của cột: Ví dụ:
Đơn giá 1 = 9,123 Đơn giá 2 = 10 Đơn giá 3 = 11,567 → Đơn giá trung bình = (9,123 + 10 + 11,567) = 10,23 → hiển thị = 10 (<5 làm tròn xuống, >=5 làm tròn lên)
Đơn giá 1 = 9,123 Đơn giá 2 = 10 Đơn giá 3 = 11,567 → Đơn giá trung bình = (9,123 + 10 + 11,567) = 10,23 → hiển thị = 10,2 (<5 làm tròn xuống, >=5 làm tròn lên) | |||
| 22 | Thời gian | Text | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 23 | Lựa chọn | Text | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 24 | Hộp chọn | Text | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 25 | Tìm kiếm | Text | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 26 | Nhóm cột | Text | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 27 | Áp dụng | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | |||
| 28 | Hủy | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | |||
| 29 | Thông tin bảng | ||||
| 30 | Tên cột | Button |
| ||
| 31 | Nút | Button | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 32 | Nút | Button | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 33 | Sửa | Button | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 34 | Xóa cột | Button | Chỉ hiển bị với loại dữ liệu là cột | Cho phép người dùng xóa cột lựa chọn.
| |
| 35 | Bỏ nhóm cột | Button | Chỉ hiển bị với loại dữ liệu là nhóm cột | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | |
| 36 | Thêm cột | Button | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
3.4.3. Màn hình nhập liệu bảng dữ liệu được cài đặt
Trường/Nút chức năng | Kiểu dữ liệu | Bắt buộc | Quy định | Mô tả | |
|---|---|---|---|---|---|
| 1 | Cột | Button | x | Mặc định luôn có Cho phép người dùng lựa chọn thao tác:
| |
| 2 | STT | Text | x | Độ dài ký tự: 13 Là cột được đánh dấu là số thứ tự tại cài đặt bảng nhập liệu. Hệ thống khóa không cho người dùng nhập thủ công. Chỉ cho phép người dùng nhập liệu bằng cách import. | Hệ thống khóa (chỉ nhận giá trị khi import) và tự sinh theo logic: Cấp cha (cấp gốc) là STT tăng dần không chưa ký tự ".". Ví dụ: 1,2,3,... Cấp con bao gồm mã cấp cha là tiền tố, thêm ký tự "." và tăng dần. Ví dụ 1.1, 1.2.1 |
| 3 | Dữ liệu định dạng văn bản | Text | Độ dài ký tự: 5000 | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | |
| 4 | Dữ liệu định dạng số nhập thủ công | Number |
| Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | |
| 5 | Dữ liệu định dạng số công thức | Number |
| Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | |
| 6 | Dữ liệu định dạng phần trăm nhập thủ công | Number |
| Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | |
| 7 | Dữ liệu định dạng phần trăm công thức | Number |
| Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | |
| 8 | Dữ liệu định dạng thời gian | Date Time | Độ dài ký tự: 16 | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | |
| 9 | Dữ liệu định dạng hộp chọn | Checkbox | Độ dài ký tự: 01 | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | |
| 10 | Dữ liệu định dạng lựa chọn | Droplist | Độ dài ký tự: 10 | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | |
| 11 | Dữ liệu định dạng tìm kiếm | Droplist | Độ dài ký tự: theo độ dài của cột Khóa chính và Được tìm kiếm được lựa chọn | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | |
| 12 | Nút "Thêm dòng" (Nút thêm dòng ở button) | Button | Hệ thống chèn thêm một dòng ngang cấp bên dưới dòng được chọn | ||
| 13 | Nút "Tăng cấp" | Button | Khóa xám với cấp con nhỏ nhất | Tăng dòng được chọn và toàn bộ cấp con thuộc tăng thêm 01 cấp. Khi tăng cấp, hệ thống giữ nguyên vị trí các dòng hiện tại. Cập nhật lại giá trị cột được đánh dấu "Số thứ tự" Khi lưu hệ thống sắp xếp lại vị trí các hàng dựa trên số thứ tự Khi tăng cấp:
| |
| 14 | Nút "Giảm cấp" | Button | Khóa xám với cấp cha lớn nhấ | Giảm dòng được chọn và toàn bộ cấp con thuộc giảm xuống 01 cấp Khi giảm cấp, hệ thống giữ nguyên vị trí các dòng hiện tại. Cập nhật lại giá trị cột được đánh dấu "Số thứ tự" Khi lưu hệ thống sắp xếp lại vị trí các hàng dựa trên số thứ tự Khi giảm cấp:
| |
| 15 | Nút "Xóa dòng" | Button | Hệ thống xóa dòng được lựa chọn.
| ||
| 16 | Nút "Thêm dòng" | Button | Luôn hiện ở cuối | Thêm dòng ở cuối cùng ở bảng nhập liệu với cấp cha lớn nhất | |
| 17 | Nút "Xuất dữ liệu Excel" | Button | Tham chiếu: User Story - Quản lý grid tổng thể (ver1) | ||
| 18 | Nút "Gán dữ liệu Excel" | Button | Hệ thống mở Pop-up Gán dữ liệu Excel |
3.4.3. Màn hình gán dữ liệu Excel
Trường/Nút chức năng | Kiểu dữ liệu | Bắt buộc | Quy định | Mô tả | |
|---|---|---|---|---|---|
| 1 | Tài liệu mẫu | Button | Cho phép người dùng tải xuống file tài liệu mẫu (không có dữ liệu) File tài liệu mẫu là file xlsx | ||
| 2 | Tài liệu đính kèm | Button | Cho phép người dùng tải lên file đính kèm. Hệ thống chỉ cho phép tải lên 01 file một lần. Nếu tiếp tục tải file hệ thống sẽ ghi đè lên file cũ. Hệ thống chỉ cho phép đính kèm file định dạng xls, xlsx Hệ thống thông báo toast: Định dạng file không hợp lệ | ||
| 3 | Hủy | Button | Cho phép người dùng thoát khỏi Pop-up Gán dữ liệu Excel | ||
| 4 | Áp dụng | Button | Chỉ hiển thị khi có đã đính kèm file | Cho phép người dùng thực hiện gán dữ liệu bằng file Excel. Khi import hệ thống tự động tính các giá trị cột được cài đặt là "Công thức" không nhận giá trị tại file của người dùng import. Khi import hệ thống xóa cũ liệu cũ và thay thế bằng dữ liệu mới. Khi import hệ thống chỉ nhận giá trị với các trường không bị khóa. Hệ thống kiểm tra trùng giá trị cột được đánh dấu "Số thứ tự" trong cài đặt bảng nhập liệu:
Hệ thống kiểm tra tính hợp lệ của trường được đánh dấu "Số thứ tự" Ví dụ: Có mục 3.1 nhưng không có mục 3
Hệ thống kiểm tra bắt buộc các trường thông tin:
Hệ thống kiểm tra định dạng dữ liệu:
|
3.4.4. Màn hình Thông báo lỗi Gán dữ liệu Excel
Trường/Nút chức năng | Kiểu dữ liệu | Bắt buộc | Quy định | Mô tả | |
|---|---|---|---|---|---|
| 1 | Tài xuống | Button | Cho phép người dùng tải xuống dữ liệu danh sách lỗi | ||
| 2 | Danh sách lỗi | Button | Hiển thị danh sách lỗi khi gán dữ liệu Excel:
| ||
| 3 | Hủy | Button | Cho phép người dùng thoát khỏi Pop-up thông báo lỗi Gán dữ liệu Excel | ||
| 4 | Nhập lại | Button | Hệ thống mở Pop-up Gán dữ liệu Excel |
3.4.5. Các trường hợp nhập liệu đặc thù
3.4.5.1 Bảng dữ liệu Lập danh sách nhà thầu
Khi nhập mã nhà thầu: hệ thống tự động lấy mã người liên hệ được cài đặt là người liên hệ mặc định trong danh sách nhà cung cấp
Người dùng có thể lựa chọn lại mã người liên hệ thuộc nhà cung cấp
Hệ thống tự động lấy thông tin tên người liên hệ, email, số điện thoại dựa trên mã người liên hệ
3.4.5.2 Bảng dữ liệu Kế hoạch lựa chọn nhà thầu:
Hệ thống tự động tính toán số ngày = Ngày kết thúc - Ngày bắt đầu - Thứ 7 - Chủ Nhật - Các ngày nghỉ lễ được khai báo trong danh mục ngày lễ
3.4.5.3 Bảng dữ liệu Đánh giá hồ sơ tài chính (Màn hình đánh giá HSTC)
Cột "Giá thấp nhất": Hệ thống hiển thị giá thấp nhất trong tất cả các lần nộp thầu/đàm phán giá giữa tất cả nhà thầu
Giá thấp nhất là giá so sánh giữa các lần và các nhà thầu bằng cột "Tổng đơn giá" (= Đơn giá vật tư + Đơn giá nhân công)
3.4.5.4 Bảng dữ liệu Đánh giá hồ sơ kỹ thuật - Bảng dữ liệu BoQ (Màn hình đánh giá HSKT)
Hệ thống hỗ trợ kiểm tra dữ liệu nộp thầu so với dữ liệu hồ sơ mời thầu theo điều kiện "chứa" và các giá trị ngắn cách với nhau bằng dấu ","
Trường "Nhà sản xuất" và "Nhà sản xuất (NT)"
Trường "Xuất xứ" và "Xuất xứ (NT)"
Trường "Yêu cầu kỹ thuật" và "Yêu cầu kỹ thuật (NT)"
Nếu cả 03 trường này đều đạt điều kiện "Chứa" thì giá trị trường "Đạt/Không" sẽ mặc định là "Đạt"
Nếu không trường "Đạt/Không" sẽ có giá trị là "Không đạt"
Ví dụ: Xuất xứ = FPT, CMC, Viettel.
Nếu Xuất xứ (NT) = FPT → Đạt
Nếu Xuất xứ (NT) = FIS → Không đạt
3.5 Một số tính năng thiết kế biểu mẫu GRID
Chỉnh sửa độ rộng cột (Column Resizing)
Thao tác:
Áp dụng tại màn hình cấu hình grid khi người dùng thực hiện config các trường trong bảng nhập liệu, và tại màn hình nhập dữ liệu thực tế.
Người dùng đưa con trỏ chuột vào ranh giới giữa hai cột liền kề.
Hệ thống hiển thị biểu tượng mũi tên ↔ (resize) nhằm thông báo cho người dùng biết có thể thực hiện thao tác thay đổi độ rộng cột.
Khi kéo thả:
Người dùng nhấn giữ chuột và kéo theo phương ngang:
Độ rộng cột được thay đổi theo vị trí di chuyển chuột (hiển thị đường preview trong quá trình kéo).
Các cột còn lại không tự động co giãn để đảm bảo cấu trúc bảng ổn định.
Sau khi thả chuột, độ rộng cột được cập nhật ngay trên giao diện.
Các cột còn lại vẫn giữ nguyên, không bị co giãn tự động.
Điều kiện:
Độ rộng cột tối thiểu: ....px
Độ rộng tối đa: ....px
Lưu cấu hình:
Tại màn hình cài đặt cấu hình bảng: độ rộng cột được lưu trong cấu hình grid.
Độ rộng cột sẽ được áp dụng theo cấu hình từ màn cài đặt cấu hình bảng. Người dùng vẫn được phép điều chỉnh lại độ rộng cột bằng thao tác kéo thả tương tự.
Độ rộng điều chỉnh ở màn hình nhập liệu có thể chỉ lưu cho phien làm việc hiện tại.
Thao tác:
Áp dụng tại màn hình nhập dữ liệu bảng.
Khi người dùng nhập nội dung có độ dài vượt quá kích thước mặc định của ô (ví dụ: đoạn text nhiều dòng, nội dung có ký tự xuống dòng), hệ thống sẽ tự động xử lý để hiển thị đầy đủ mà không cần người dùng thay đổi độ rộng cột.
Hành vi hệ thống: