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

Nguyễn Hữu Lộc

Phạm Văn Quân

Tài khoản email/MS Team

anhbn4

trungnd3

Locnh1

Quanpv3

Chức danh

Business Analyst (BA)

Product Owner (P.O)

Dev

Techlead

Ngày soạn thảo/phê duyệt

 


26.06.2025


Jira Ticket

[BSHKVH-1054] Màn hình Quản lý yêu cầu làm rõ (Chi tiết gói thầu) - Jira




1. Card (Mô tả tính năng)

Là thành viên Hội đồng thầu tôi muốn quản lý tập trung các yêu cầu làm rõ hồ sơ mời thầu của nhà thầu và ý kiến phản hồi của thành viên hội đồng thầu

2. Confirmation/ Acceptance Criteria (Tiêu chí nghiệm thu)

  1. Thành viên hội đồng thầu xem được:
    1. Danh sách nhà thầu & tài khoản tương ứng các lần làm rõ của từng nhà thầu
    2. Thời gian xuất hiện yêu cầu làm rõ
    3. Trạng thái của yêu cầu làm rõ:
      • Chờ phản hồi
      • Đã phân công
      • Chờ tổng hợp
      • Đã phản hồi
    4. Lịch sử tổng hợp làm rõ hồ sơ mời thầu của thư ký hội đồng thầu
    5. Lịch sử yêu cầu làm rõ của từng nhà thầu
    6. Tìm kiếm nhanh theo tên nhà thầu
    7. Lọc theo thời gian và trạng thái xuất hiện yêu cầu làm rõ
  2. Thư ký hội đồng thầu có thể gửi Tổng hợp yêu cầu làm rõ (chung) cho tất cả các nhà thầu
  3. Thư ký hội đồng thầu có thể phân công thành viên hội đồng thầu phản hồi yêu cầu làm rõ 

3. Conversation (Mô tả chi tiết)

3.1 UIUX Màn hình 

3.1.1 Màn hình Quản lý yêu cầu làm rõ & Bộ lọc

3.1.2 Màn hình quản lý lịch sử tổng hợp làm rõ

                                                              Được phân quyền Thêm                                Được phân quyền xem

3.1.3 Màn hình Yêu cầu làm rõ

                                               Được phân quyền Thêm                                                                                                                      Được phân quyền Xem

3.2 Luồng:

3.3 API Spec: <gắn link tài liệu mô tả API vào đây>

API Spec Document

Method

GET

URL

<DOMAIN>/application/clarificationRequest/byTenderPackage

Description

API danh sách quản lý yêu cầu làm rõ

Note

Đã có api cũ nhưng hiện tại api cũ đang là lấy tất cả chứ không chia theo từng gói thầu và phải lược bỏ một số param không dùng đến.
→ Tạo api mới

1. Headers

STT

Field

Source Data Type / Length 

Description

Sample Values


authorizationStringToken

Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjYzMDk1MTgsInVzZXIiOiJ7XCJpZFwiOjIwMjAsXCJ1c2VybmFtZVwiOlwiMDM3NDc4ODQwNVwiLFwibmFtZVwiOlwiQ2h1IFRo4buLIExpw6

puXCIsXCJyb2xlc1wiOltdLFwibWFwQmVhdXR5U2Fsb25cIjp7XCJicG0ucmVib3JuLnZuXCI6Nn0sXCJlbXBsb3llZUlkXCI6NTMxLFwiYnJhbmNoSWRcIjoyM30ifQ.UGz8TQudVxEd7rp_rsLXePraHELTRWHyc7iXNvVnn14

2. Param

STT

Field

Required

Data Type / Length

Description

Note

1
organizationName

String
Tên nhà thầu
2tenderPackageIdtrueIntegerId gói thầu
3
status

Integer
Trạng thái
4
startDate

String
Thời gian nhận từ ngày
5endDate
StringThời gian nhận đến ngày
6limit
IntegerSố bản ghi
7page
IntegerTrang

3. Response / Incoming Data Specification

STT

Field

Data Type / Length

Description

Note

Sample Values


codeIntegerCode


messageStringMessage


loadMoreAble
Boolean




preLoadAble
Boolean




resultObjectKết quả


result.totalLongTổng số bản ghi


result.pageIntegerSố trang hiện tại


result.itemsListDanh sách kết quả


result.items[?].idIntegerId


result.items[?].organizationIdIntegerId nhà thầu


result.items[?].organizationNameStringTên nhà thầu


result.items[?].contactIdIntegerId người liên hệ


result.items[?].contactNameStringTên người liên hệ


result.items[?].contactEmailStringEmail người liên hệ


result.items[?].roundIntegerSố lần làm rõ


result.items[?].createdTimeTimestampThời gian nhận


result.items[?].statusIntegerTrạng thái

Method

POST

URL

<DOMAIN>/application/generalClarification/update

Description

API gửi tổng hợp làm rõ HSMT

Note

Đã có

1. Headers

STT

Field

Source Data Type / Length 

Description

Sample Values


authorizationStringToken

Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjYzMDk1MTgsInVzZXIiOiJ7XCJpZFwiOjIwMjAsXCJ1c2VybmFtZVwiOlwiMDM3NDc4ODQwNVwiLFwibmFtZVwiOlwiQ2h1IFRo4buLIExpw6

puXCIsXCJyb2xlc1wiOltdLFwibWFwQmVhdXR5U2Fsb25cIjp7XCJicG0ucmVib3JuLnZuXCI6Nn0sXCJlbXBsb3llZUlkXCI6NTMxLFwiYnJhbmNoSWRcIjoyM30ifQ.UGz8TQudVxEd7rp_rsLXePraHELTRWHyc7iXNvVnn14

2. Body

STT

Field

Required

Data Type / Length

Description

Note

1
id
true
Integer
id tổng hợp làm rõ HSMT, mặc định thêm mới = 0
2
content

String
Nội dung
3
packageId
true
Integer
Id gói thầu
4
attachments

String
Danh sách file

3. Response / Incoming Data Specification

STT

Field

Data Type / Length

Description

Note

Sample Values


codeIntegerCode


messageStringMessage


resultObjectKết quả


result.idIntegerid tổng hợp làm rõ HSMT


result.packageIdIntegerId gói thầu


result.contentStringNội dung


result.attachmentsString
Danh sách file



result.employeeIdIntegerNgười tạo


result.createdTime
Timestamp
Thời gian tạo

Method

GET

URL

<DOMAIN>/application/generalClarification/list

Description

API Lịch sử gửi tổng hợp làm rõ HSMT

Note

Đã có

1. Headers

STT

Field

Source Data Type / Length 

Description

Sample Values


authorizationStringToken

Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjYzMDk1MTgsInVzZXIiOiJ7XCJpZFwiOjIwMjAsXCJ1c2VybmFtZVwiOlwiMDM3NDc4ODQwNVwiLFwibmFtZVwiOlwiQ2h1IFRo4buLIExpw6

puXCIsXCJyb2xlc1wiOltdLFwibWFwQmVhdXR5U2Fsb25cIjp7XCJicG0ucmVib3JuLnZuXCI6Nn0sXCJlbXBsb3llZUlkXCI6NTMxLFwiYnJhbmNoSWRcIjoyM30ifQ.UGz8TQudVxEd7rp_rsLXePraHELTRWHyc7iXNvVnn14

2. PARAM

STT

Field

Required

Data Type / Length

Description

Note

1
packageId
true
Integer
Id gói thầu

3. Response / Incoming Data Specification

STT

Field

Data Type / Length

Description

Note

Sample Values


codeIntegerCode


messageStringMessage


resultObjectKết quả


result[?].idIntegerid tổng hợp làm rõ HSMT


result[?].packageIdIntegerId gói thầu


result[?].contentStringNội dung


result[?].attachmentsString
Danh sách file



result[?].employeeIdIntegerNgười tạo


result[?].createdTime
Timestamp
Thời gian tạo

Method

GET

URL

<DOMAIN>/application/clarificationDetail/list

Description

API danh sách chi tiết yêu cầu làm rõ

Note

Đã có

1. Headers

STT

Field

Source Data Type / Length 

Description

Sample Values


authorizationStringToken

Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjYzMDk1MTgsInVzZXIiOiJ7XCJpZFwiOjIwMjAsXCJ1c2VybmFtZVwiOlwiMDM3NDc4ODQwNVwiLFwibmFtZVwiOlwiQ2h1IFRo4buLIExpw6

puXCIsXCJyb2xlc1wiOltdLFwibWFwQmVhdXR5U2Fsb25cIjp7XCJicG0ucmVib3JuLnZuXCI6Nn0sXCJlbXBsb3llZUlkXCI6NTMxLFwiYnJhbmNoSWRcIjoyM30ifQ.UGz8TQudVxEd7rp_rsLXePraHELTRWHyc7iXNvVnn14

2. PARAM

STT

Field

Required

Data Type / Length

Description

Note

1
clarificationId
true
Integer
Id gói thầu

roundtrueIntegerSố vòng

3. Response / Incoming Data Specification

STT

Field

Data Type / Length

Description

Note

Sample Values


codeIntegerCode


messageStringMessage


resultObjectKết quả


result[?].idIntegerid tổng hợp làm rõ HSMT


result[?].attachmentsStringDanh sách file


result[?].contentStringNội dung


result[?].assignTime
Timestamp




result[?].processTime
Timestamp




result[?].status
Integer
Trạng thái


result[?].employeeId
Integer




result[?].employeeName
String




result[?].documentId
Integer




result[?].clarificationId
Integer




result[?].organizationId
Integer




result[?].documentName
String




result[?].documentPosition
String




result[?].idFromPortal
Integer




result[?].documentType
String




result[?].documentEmployeeName
String




result[?].documentEmployeeId
String




result[?].employeeIdSow
Integer




result[?].employeeIdBom
Integer




result[?].employeeIdEngineer
Integer




result[?].employeeIdExperiment
Integer




result[?].employeeIdBoq
Integer




result[?].employeeIdDesign
Integer




result[?].employeeIdSplcontact
Integer




result[?].employeePackageId
Integer




result[?].employeeNameSow
String




result[?].employeeNameBom
String




result[?].employeeNameEngineer
String




result[?].employeeNameExperiment
String




result[?].employeeNameBoq
String




result[?].employeeNameDesign
String




result[?].employeeNameSplcontact
String



Method

GET

URL

<DOMAIN>/system/employee/list

Description

API Danh sách nhân viên

Note

Đã có

1. Headers

STT

Field

Source Data Type / Length 

Description

Sample Values


authorizationStringToken

Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjYzMDk1MTgsInVzZXIiOiJ7XCJpZFwiOjIwMjAsXCJ1c2VybmFtZVwiOlwiMDM3NDc4ODQwNVwiLFwibmFtZVwiOlwiQ2h1IFRo4buLIExpw6

puXCIsXCJyb2xlc1wiOltdLFwibWFwQmVhdXR5U2Fsb25cIjp7XCJicG0ucmVib3JuLnZuXCI6Nn0sXCJlbXBsb3llZUlkXCI6NTMxLFwiYnJhbmNoSWRcIjoyM30ifQ.UGz8TQudVxEd7rp_rsLXePraHELTRWHyc7iXNvVnn14

2. PARAM

STT

Field

Required

Data Type / Length

Description

Note

1
name

String
Tên, email nhân viên

page
Integer


limit
Integer

3. Response / Incoming Data Specification

STT

Field

Data Type / Length

Description

Note

Sample Values


codeIntegerCode


messageStringMessage


totalLongTổng số bản ghi


pageIntegerSố trang


resultObjectKết quả


result.item[?].idIntegerId user


result.item[?].nameStringTên


result.item[?].userNameStringTên đăng nhập


result.item[?].avatar
String
avatar



result.item[?].phone
String
Số điện thoại


result.item[?].email
String
email


result.item[?].address
String
Đại chỉ


result.item[?].jteId
Integer




result.item[?].jteNameString



result.item[?].departmentIdInteger



result.item[?].rolesString



result.item[?].leadershipInteger



result.item[?].statusInteger



result.item[?].positionInteger



result.item[?].isOwnerInteger



result.item[?].userIdInteger



result.item[?].managerIdInteger



result.item[?].serviceCountInteger



result.item[?].title
String




result.item[?].branchName
String




result.item[?].branchAddress
String




result.item[?].departmentName
String




result.item[?].viewMode
Integer




result.item[?].idToken
String




result.item[?].accessToken
String




result.item[?].uniqueId
String




result.item[?].viewCustomerMode
Integer




result.item[?].viewBusinessPartnerMode
Integer




result.item[?].sip
String




result.item[?].shiftIdInteger



result.item[?].shiftName
String




result.item[?].branchIdInteger



result.item[?].bsnIdInteger



result.item[?].managerName
String




result.item[?].managerAvatar
String




result.item[?].lstEmployeeIdList<Integer>



result.item[?].rank
Integer




result.item[?].tmpIdInteger



result.item[?].lstOrgApp
List<EBOrgApp>
public class EBOrgApp {
private Integer id;
private String code;
private String startDate;
private String endDate;
private Integer packageId;
private Integer period;
private Integer periodBonus;
private Integer price;
private Integer priceDiscount;
private Integer bsnId;

//Thông tin mở rộng (Tên gói đang dùng)
private String packageName;
private Integer packageType;
}



result.item[?].lstEmployeeRole
List<JobTitle>
public class JobTitle {
private Integer id;
private String title;
private Integer position;
private Integer departmentId;
private Integer isManager;

//Tên bộ phận phòng ban
private String departmentName;
}


Method

POST

URL

<DOMAIN>/application/clarificationRequest/assign

Description

API Gửi phân công yêu cầu làm rõ 

Note

Đã có

1. Headers

STT

Field

Source Data Type / Length 

Description

Sample Values


authorizationStringToken

Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjYzMDk1MTgsInVzZXIiOiJ7XCJpZFwiOjIwMjAsXCJ1c2VybmFtZVwiOlwiMDM3NDc4ODQwNVwiLFwibmFtZVwiOlwiQ2h1IFRo4buLIExpw6

puXCIsXCJyb2xlc1wiOltdLFwibWFwQmVhdXR5U2Fsb25cIjp7XCJicG0ucmVib3JuLnZuXCI6Nn0sXCJlbXBsb3llZUlkXCI6NTMxLFwiYnJhbmNoSWRcIjoyM30ifQ.UGz8TQudVxEd7rp_rsLXePraHELTRWHyc7iXNvVnn14

2. BODY

STT

Field

Required

Data Type / Length

Description

Note

1
clarificationDetail

List<ClarificationDetail>
public class ClarificationDetail {
private Integer id;
private String attachments;
private String content;
private Timestamp assignTime;
private Timestamp processTime;
private Integer status;
private Integer employeeId;
private String employeeName;
private Integer documentId;
private Integer clarificationId;
private Integer organizationId;
private String documentName;
private Integer documentPosition;
private Integer idFromPortal;

//Trường thông tin mở rộng
private String documentType;
private String documentEmployeeName;
private String documentEmployeeId;

private Integer employeeIdSow;
private Integer employeeIdBom;
private Integer employeeIdEngineer;
private Integer employeeIdExperiment;
private Integer employeeIdBoq;
private Integer employeeIdDesign;
private Integer employeeIdSplcontact;
private Integer employeePackageId;

private String employeeNameSow;
private String employeeNameBom;
private String employeeNameEngineer;
private String employeeNameExperiment;
private String employeeNameBoq;
private String employeeNameDesign;
private String employeeNameSplcontact;
}

3. Response / Incoming Data Specification

STT

Field

Data Type / Length

Description

Note

Sample Values


codeIntegerCode


messageStringMessage


resultObjectKết quả


result.id
Integer
Id


result.round
Integer
Số vòng


result.status
Integer
Trạng thái


result.assignTime
Timestamp
Thời gian assign



result.createdTime
Timestamp
Thời gian tạo


result.responseTimeDay
Integer
Thời gian phản hồi (ngày)


result.responseTimeHour
Integer
Thời gian phản hồi (giờ)


result.responseTimeMinute
Integer
Thời gian phản hồi (phút)


result.responseTime
Timestamp
Thời gian phản hồi


result.organizationId
Integer




result.packageId
Integer




result.projectId
Integer




result.packageName
String




result.projectName
String




result.branchName
String




result.tenderPackageName
String




result.packageProjectName
String




result.packageProjectCode
String




result.idFromPortal
Integer




result.contactId
Integer




result.userId
Integer




result.processingTimeDay
Integer
Thời gian xử lý (ngày)


result.processingTimeHour
Integer
Thời gian xử lý (giờ)


result.processingTimeMinute
Integer
Thời gian xử lý (phút)


result.organizationName
Integer



4. Mô tả các trường dữ liệu trên màn hình 

4.1 Màn hình Quản lý yêu cầu làm rõ

4.1.1. Phân quyền 

Màn hình Quản lý yêu cầu làm rõ được mở cho phép người dùng nhấn khi gói thầu đã được phát hành (hoàn thành bước A1.04 thực hiện mời thầu)

Màn hình Quản lý yêu cầu làm rõ 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 Site đấu thầu là chức năng cha và "Hồ sơ mời thầu" là chức năng con với các quyền: 


  • Xem:
    • Cho phép xem danh sách yêu cầu làm rõ: ẩn nút chức năng "Gửi tổng hợp"
    • Cho phép xem chi tiết phân công Yêu cầu làm rõ: nhấn vào tên nhà thầu để mở Pop-up Xem yêu cầu làm rõ: ẩn nút chức năng "Gửi phân công làm rõ yêu cầu", "Gửi trả lời yêu cầu làm rõ"
    • Cho phép xem chi tiết yêu cầu màn rõ: nhấn vào biểu tượng con mặt trong màn hình Phân công yêu cầu làm rõ: ẩn nút chức năng "Lưu"
    • Cho phép xem lịch sử yêu cầu làm rõ: Hiển thị nút chức năng "Lịch sử", trong màn hình lịch sử ẩn nút chức năng "Tổng hợp mới"
  • Thêm:
    • Cho phép người dùng gửi tổng hợp yêu cầu làm rõ: màn hình Quản lý yêu cầu làm rõ hiển thị nút chức năng "Gửi tổng hợp"
    • Cho phép chỉnh sửa chi tiết yêu cầu màn rõ: nhấn vào biểu tượng con mặt trong màn hình Phân công yêu cầu làm rõ hiển thị nút chức năng "Lưu"
    • Cho phép người dùng tổng hợp mới từ lịch sử yêu cầu làm rõ: màn hình Lịch sử yêu cầu làm rõ hiển thị nút chức năng "Tổng hợp mới"
    • Cho phép người dùng phân công yêu cầu làm rõ: màn hình chi tiết Yêu cầu làm rõ hiển thị nút chức năng "Gửi phân công làm rõ yêu cầu", "Gửi trả lời yêu cầu làm rõ"
4.1.2. Mô tả về các trường/nút chức năng rên màn hình quản lý yêu cầu làm rõ & bộ lọc

          4.1.2.1 Màn hình Quản lý yêu cầu làm rõ

STT

Trường/Nút chức năng

Kiểu dữ liệu

Điều kiện

Quy định

Mô tả

Màn hình quản lý yêu cầu làm rõ

1STT

Number



Số thự tự hệ thống tự sinh

2Nhà thầuHyperlink

Hiển thị danh sách nhà thầu gửi yêu cầu làm rõ

Nhấn vào tên nhà thầu hệ thống mở Pop-up chi tiết yêu cầu làm rõ

3Tên người liên hệText

Hiển thị tên người liên hệ gửi yêu cầu làm rõ

4Email người liên hệText

Hiển thị email (tài khoản) gửi yêu cầu làm rõ

5Lần làm rõNumber

Hiển thị lần làm rõ hiện tại của nhà thầu

6Thời gian nhậnDate time

Hiển thị thời gian yêu cầu làm rõ gần nhất của nhà thầu

7Trạng tháiText

Trạng thái làm rõ của nhà thầu:

  • Chờ phản hồi: các yêu cầu được gửi tới hội đồng thầu mà chưa được phân công.
  • Đã phân công: các yêu cầu đã được thư ký hội đồng thầu phân công cho thành viên hội đồng thầu.
  • Chờ tổng hợp: các yêu cầu mà thành viên hội đồng thầu đã phản hồi, chờ thư ký tổng hợp và gửi cho nhà thầu
  • Đã phản hồi: các yêu cầu mà thư ký hội đồng thầu đã phản hồi.
8Bộ lọcButton

Chức năng cho phép người dùng thực hiện lọc nhà thầu cần xử lý làm rõ

Nhấn vào hệ thống hiển thị Pop-up điều kiện lọc

9SearchboxSearchbox

Chức năng cho phép người dùng thực hiện tìm kiếm theo tên nhà thầu

10Lịch sửButton
Chỉ cho phép nhấn khi đã có lịch sử gửi tổng hợp yêu cầu làm rõ

Cho phép người dùng mở Pop-up lịch sử tổng hợp yêu cầu lảm rõ yêu câu

11Gửi đánh giáButton

Cho phép người dùng mở Pop-up gửi tổng hợp yêu cầu làm rõ

Màn hình bộ lọc

1Từ ngàyDate

Cho phép người dùng nhập thông tin từ ngày

2Đến ngàyDate

Cho phép người dùng nhập thông tin đến ngày

3Trạng tháiDroplist

Cho phép người dùng lựa chọn các trạng thái làm rõ của nhà thầu:

  • Tất cả
  • Chờ phản hồi
  • Đã phân công
  • Chờ tổng hợp
  • Đã phản hồi
4Đặt lạiButton

Chức năng cho phép người dùng xóa hết các điều kiện lọc đã chọn

5Áp dụngButton

Với trường hợp lọc nhiều điều kiện hệ thống sử dụng điều kiện And.

  • Nếu người dùng điền đủ thông tin từ ngày đến ngày: hệ thống lọc dữ liệu trong khoảng thời gian
  • Nếu người dùng chỉ điền từ ngày: lọc các gói thầu có ngày ≥ Từ ngày.
  • Nều người dùng chỉ điền đến ngày: lọc các gói thầu có ngày ≤ Đến ngày.
  • Nếu người dùng điền Từ ngày > Đến ngày → hiển thị cảnh báo "Tham số ngày không hợp lệ"

Chức năng cho phép người dùng lọc dữ liệu theo các kiều kiện đã chọn.

Hệ thống tắt màn hình Pop-up điều kiện lọc.


           4.1.2.2 Màn hình Pop-up Chi tiết yêu cầu làm rõ

STT

Trường/Nút chức năng

Kiểu dữ liệu

Điều kiện

Quy định

Mô tả

1

Tab lần gửi yêu cầu làm rõ

Number



Hiển thị danh sách các lần làm rõ của nhà thầu

Hệ thống mặc định hiển thị lần gần nhất khi mở ra Pop-up

Hệ thống cho phép nhấn vào các lần trước đó để xem lại lịch sử phân công và chi tiết nội dung đàm phán từng lần

2

STT

Number

Tham chiếu tài liệu URD mục 2.7.4.3

3

Tên hồ sơ

Text

Tham chiếu tài liệu URD mục 2.7.4.3

4

Người trả lời yêu cầu làm rõ

Text

Tham chiếu tài liệu URD mục 2.7.4.3

5

Trạng thái

Number

Tham chiếu tài liệu URD mục 2.7.4.3

6

Nút xem chi tiết

Date time

Tham chiếu tài liệu URD mục 2.7.4.3

7

Nút “Gửi tổng hợp”

Text

Tham chiếu tài liệu URD mục 2.7.4.3

5 Comments

  1. Nguyễn Đức Trung Công Thành Hùng Bùi Nguyệt Anh 

    Thiếu mô tả liên quan đến Tổng hợp làm rõ HSMT (cả điều kiện phân quyền nút Gửi tổng hợp)

  2. Nguyễn Đức Trung Bùi Nguyệt Anh Công Thành Hùng Thiếu mô tả liên quan đến Yêu cầu làm rõ

    Nội dung mới:

    • Chia thành Lần có lịch sử
    • Phân chia quyền view và quyền chỉnh sửa