Nghiệp vụ

IT

Người lập

Người duyệt

Người lập

Người duyệt

Tên, Chức danh

Nguyễn Thanh Vân

Vũ Thị Mơ



Tài khoản email/MS team

vannt4

movt2



Chức danh

Business Analyst (BA)

Business (BA BIZ)



Ngày ký





Jira Link

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

Là admin hệ thống, tôi muốn hệ thống tích hợp các thông tin nhân sự lấy từ HRIS phục vụ cho phân quyền và đo lường OLA/SLA 

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

  1. Tôi muốn cấu hình được tần suất cập nhật theo thời gian
  2. Tôi muốn chủ động cập nhật thủ công được thông tin khi có nhu cầu
  3. Tôi muốn quản lý được lịch sử đồng bộ
    1. Thời gian băt đầu
    2. Thời gian kết thúc
    3. Người đồng bộ
    4. Trạng thái
    5. Mã lỗi
    6. Mô tả lỗi
  4. Tôi muốn lọc được thông tin lịch sử đồng bộ theo
    1. Ngày: Từ- Đến
    2. Người đồng bộ
    3. Trạng thái
    4. Mã lỗi
  5. Phân quyền: Với những người có quyền xem danh mục thì sẽ có quyền full liên quan đến danh mục bao gồm cả Cấu hình và Đồng bộ ngay
  6. Phạm vi dữ liệu:
  7. Thông tin các trường dữ liệu

      STT

Thông tin dữ liệu

Mô tả

Ghi chú

1

Mã nhân viên

Mã duy nhất cho từng nhân viên

Mã NV Hris 6 chữ số

2

Tên nhân viên

Lấy thông tin Tên nhân viên (Cột Name) HRIS trả về

Full name trên HRIS

3

Email

Dùng để đăng nhập vào và nhận thông báo từ hệ thống

Email

4

Công việc chính/phụ

Thể hiện công việc tại 1 công ty là chính hay phụ (kiêm nhiệm/điều động)

Trên HRIS: P - Chính, S - Phụ (Bổ sung)

5

Mã chức danh

Mã chức danh để xác định vai trò của nhân viên trong cơ cấu tổ chức

Mã chức danh HRIS

6

Chức danh

Dùng để xác định vai trò trong quy trình và phân quyền theo chức danh/ vai trò

Chức danh HRIS

7

Phòng/ ban

Dùng để phân quyền và điều hướng luồng trong quy trình

Tên phòng ban mà CBNV đó đang đứng

8

Mã phòng/ban

Mã phòng ban

Mã phòng ban tương ứng

9

Đơn vị cấp 1

Dùng để phân quyền và điều hướng luồng trong quy trình

Tên đơn vị cấp 1

10

Mã Đơn vị cấp 1


Mã đơn vị cấp 1

11

Đơn vị cấp 2

Dùng để phân quyền và điều hướng luồng trong quy trình

Tên đơn vị cấp 2

12

Mã Đơn vị cấp 2


Mã đơn vị cấp 2

13

Đơn vị cấp 3

Dùng để phân quyền và điều hướng luồng trong quy trình

Tên đơn vị cấp 3

14

Mã Đơn vị cấp 3


Mã đơn vị cấp 3

15

Đơn vị cấp 4

Dùng để phân quyền và điều hướng luồng trong quy trình

Tên đơn vị cấp 4

16

Mã Đơn vị cấp 4


Mã đơn vị cấp 4

17

Đơn vị cấp 5

Dùng để phân quyền và điều hướng luồng trong quy trình

Tên đơn vị cấp 5

18

Mã Đơn vị cấp 5


Mã đơn vị cấp 5

19

Trạng thái nhân sự

Để xác định trạng thái hoạt động của nhân sự/ account trên hệ thống

Trạng thái Đang làm việc, nghỉ việc của nhân sự

20

Ca làm việc

Lấy mã ca làm việc

Lấy thông tin mã ca tại HRIS và cấu hình thông tin thời gian làm việc trực tiếp tại BPM theo thông tin trả về tại file excel của HRIS ( Đã thống nhất lại giữa PO vs anh Dung vì tần suất thay đổi thời gian ca làm việc không nhiều nên BPM chủ động khai báo)

Trường hợp với nhân viên có các công việc phụ, thông tin mã ca làm việc được lấy theo công việc chínhactive ( Với trường hợp một nhân viên có nhiều công việc chính thì lấy ngẫu nhiên theo một công việc chính của nhân viên đó)

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

3.1. UI/UX

3.1.1. Màn hình Tích hợp HRIS

3.1.2. Màn hình pop-up Bộ lọc

3.1.3. Màn hình pop-up Cấu hình tích hợp HRIS

        

3.1.4. Màn hình pop-up Xác nhận đồng bộ dữ liệu

3.1.6. Màn hình pop-up Cảnh báo

3.1.6. Màn hình pop-up Đồng bộ thất bại

3.2. Luồng:

tả đồ tích hợp giữa các thành phần của hệ thống BPM1, trong đó 2 hình chữ nhật màu xanh tích hợp mới cho hệ thống HRIS với service tích hợp của hệ thống BPM1

3.3. API Spec: BPM1_Giai phap tich hop HRIS.docx

Method

POST

URL

/integration/hris/sync

Description

API lấy thông tin nhân viên từ Hris

Note

API mới

3.3.3.1. Headers

STT

Field

Source Data Type / Length 

Description

Sample Values

1authorization<token>Token của người dùng đăng nhậpBearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjY0NTU3ODksInVzZXIiOiJ7XCJpZFwiOjIwMjAsXCJ1c2VybmFtZVwiOlwiMDM3NDc4ODQwNVwiLFwibmFtZVwiOlwiQ2h1IFRo4buLIExpw6puXCIsXCJyb2xlc1wiOltdLFwibWFwQmVhdXR5U2Fsb25cIjp7XCJicG0ucmVib3JuLnZuXCI6Nn0sXCJlbXBsb3llZUlkXCI6NTMxLFwiYnJhbmNoSWRcIjoyM30ifQ.wrvIFd-Q2kHgkTmPf6ryMY6aDIgXpNsWmSvvifQWc5k
3.3.3.2. RequestParam

STT

Field

Require

Data Type / Length

Description

Note

Sample Values

1fromtrueStringngày hiện tại
định dạng (2025-12-06)
3.3.3.3. Response / Incoming Data Specification
STT

Field

Data Type / Length

Description

Note

Sample Values

1codeInteger0: thành công còn lại thất bại

2messageStringmessage

3resultStringThông tin đồng bộ

Method

POST

URL

/integration/hris/sync

Description

API lấy thông tin nhân viên từ Hris

Note

API mới

3.3.3.1. Headers

STT

Field

Source Data Type / Length 

Description

Sample Values

1authorization<token>Token của người dùng đăng nhậpBearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjY0NTU3ODksInVzZXIiOiJ7XCJpZFwiOjIwMjAsXCJ1c2VybmFtZVwiOlwiMDM3NDc4ODQwNVwiLFwibmFtZVwiOlwiQ2h1IFRo4buLIExpw6puXCIsXCJyb2xlc1wiOltdLFwibWFwQmVhdXR5U2Fsb25cIjp7XCJicG0ucmVib3JuLnZuXCI6Nn0sXCJlbXBsb3llZUlkXCI6NTMxLFwiYnJhbmNoSWRcIjoyM30ifQ.wrvIFd-Q2kHgkTmPf6ryMY6aDIgXpNsWmSvvifQWc5k
3.3.3.2. RequestBody

STT

Field

Require

Data Type / Length

Description

Note

Sample Values

1List<Employee>trueStringdanh sách các bản ghi employee

2(Employee) IDfa;seString


3(Employee) ID_RCDtrueStringid record Hris

4(Employee) EMPLIDtrueStringid employee hris

5(Employee) EMPL_RCDtrueString


6(Employee) NAMEtrueStringtên nhân viên

7(Employee) EMAILtrueStringmail nhân viên

8(Employee) JOB_INDICATORtrueStringCông việc chính/ phụ 
có 2 giá trị: P (chính), S (phụ)


9(Employee) MA_CHUC_DANHtrueStringmã chức danh

10(Employee) CHUC_DANHtrueStringtên chức danh

11(Employee) PHONG_BANtrueStringtên phòng ban

12(Employee) MA_PHONG_BANtrueStringmã phòng ban

13(Employee) BANDtrueString


14(Employee) HAM trueString


15(Employee) DV_C1trueStringtên đơn vị cấp 1 (tên công ty)

16(Employee) MA_DV_C1trueStringmã đơn vị cấp 1 (mã công ty)

17(Employee) MA_DV_C2trueStringtên đơn vị cấp 2

18(Employee) DV_C2trueStringmã đơn vị cấp 2

19(Employee) MA_DV_C3trueStringtên đơn vị cấp 3

20(Employee) DV_C3trueStringmã đơn vị cấp 3

21(Employee) DV_C4trueStringtên đơn vị cấp 4

22(Employee) MA_DV_C4trueStringmã đơn vị cấp 4

23(Employee) DV_C5trueStringtên đơn vị cấp 5

24(Employee) MA_DV_C5trueStringmã đơn vị cấp 5

25(Employee) HR_STATUStrueString
Trạng thái nhân sự: A (active), I (inactive)


26(Employee) MA_CA_LVtrueStringmã ca làm việc

3.3.3.3. Response / Incoming Data Specification
STT

Field

Data Type / Length

Description

Note

Sample Values

1codeInteger0: thành công còn lại thất bại

2messageStringmessage

Phần cấu hình đồng bộ và danh sách lích sử đồng bộ tương tự như phần SAP:  4304 - User Story- SAP về BPM- Đồng bộ thông tin dự án tương thị như phần đồng bộ dự án như thay type = HRIS_EMPLOYEE

3.4. Mô tả HRIS API:

HRIS cung cấp API trả về danh sách toàn bộ nhân sự theo ngày. 

Các trường dữ liệu được mô tả chi tiết theo tài liệu mô tả API. 

- Cập nhật dữ liệu 

Luồng cập nhật dữ liệu thông qua các bước sau: 

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

3.5.1. Màn hình danh sách Tích hợp HRIS

Trường dữ liệu

Kiểu dữ liệu

Bắt buộc

Quy định

Mô tả

1

STT

Số (Number)Không 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).
  • Hệ thống tự động gán STT theo thời gian đồng bộ gần nhất: 
    • Giao dịch đồng bộ gần nhận STT nhỏ hơn
    • Giao dịch đồng bộ gần xa hơn nhận STT lớn hơn.

Thể hiện thứ tự các bản ghi lịch sử đồng bộ trên màn hình "Tích hợp HRIS"

2Thời gian bắt đầuThời gian (date-time)Không 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).
  • Nguồn dữ liệu: Lấy theo dữ liệu khi hệ thống bắt đầu việc đồng bộ thông tin

Thể hiện thời gian bắt đầu đồng bộ thông tin từ HRIS

3Thời gian kết thúcThời gian (date-time)Không 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).
  • Nguồn dữ liệu: Lấy theo dữ liệu khi hệ thống bắt đầu việc đồng bộ thông tin

Thể hiện thời gian kết thúc đồng bộ thông tin từ HRIS

4Người đồng bộVăn bản (Text)Không 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).
  • Quy tắc hiển thị:
    • Trường hợp 1: Hệ thống tự đồng bộ
      • Hiển thị giá trị trường: "Hệ thống”.
    • Trường hợp 2: Người dùng thao tác đồng bộ
      • Hiển thị giá trị trường là Mã - Họ tên của nhân sự thao tác đồng bộ tương ứng, lấy theo dữ liệu đồng bộ từ HRIS trả về.

Thể hiện tên người thực hiện đồng bộ dữ liệu (Hệ thống hoặc tên nhân viên tương ứng)

5Trạng tháiVăn bản (Text)Không 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).
  • Giá trị trạng thái gồm 3 giá trị và ý nghĩa như sau:
    • Thành công: Quá trình đồng bộ thông tin đã hoàn tất và không phát sinh lỗi.

    • Thất bại: Quá trình đồng bộ không thành công/xảy ra lỗi. Quy tắc hiển thị:

      Trường hợp 1: Lỗi đồng bộ quy định mã giữa hai hệ thống

      • Điều kiện:
        • Lỗi đồng bộ giữa hai môi trường.
      • Hành vi hệ thống:
        • Hiển thị trạng thái Thất bại 
        • Trả về thông tin lỗi tương ứng (chưa có thông tin)

      Trường hợp 2: Lỗi đồng bộ do hệ thống đang xử lý tiến trình khác (đồng bộ tự động xảy ra trong lúc với hệ thống đang thực hiện đồng bộ thủ công)

      • Điều kiện:
        • Hệ thống đang xử lý một tiến trình đồng bộ/tác vụ liên quan khác tại cùng thời điểm
      • Hành vi hệ thống:
        • Không thực hiện tiến trình đồng bộ mới
        • Trạng thái: "Thất bại"
        • Mã lỗi: "153"
        • Mô tả lỗi: "Đồng bộ tự động không thể thực hiện do hệ thống đang xử lý đồng bộ thủ công."
    • Đang thực hiện: Quá trình đồng bộ thông tin đang tiến hành và chưa có kết quả cuối cùng. 

Thể hiển trạng thái đồng bộ thông tin từ HRIS

6Mã lỗiĐường dẫn (Hyperlink)Không bắt buộc
  • Cho phép người dùng nhấn để mở ra màn hình pop-up "Đồng bộ thất bại".
    • Màn hình pop-up "Đồng bộ thất bại": tham chiếu mục 3.5.6. Màn hình pop-up "Đồng bộ thất bại".
  • Thể hiện mã lỗi "99" trả về với trạng thái thất bại

Thể hiện mã lỗi hệ thống trả về khi đồng bộ thất bại

7

Nút "Lọc"

Nút chức năng (Button)Không bắt buộc

Cho phép người dùng nhấn để mở ra màn hình pop-up "Bộ lọc"

    • Màn hình pop-up "Bộ lọc": tham chiếu mục 3.5.2. Màn hình pop-up "Bộ lọc".

Thể hiện nút chức năng bộ lọc

8Nút "Cấu hình"Nút chức năng (Button)Không bắt buộc

Cho phép người dùng nhấn để mở ra màn hình pop-up "Cấu hình tích hợp HRIS"

    • Màn hình pop-up "Cấu hình tích hợp HRIS": tham chiếu mục 3.5.3. Màn hình pop-up "Cấu hình tích hợp HRIS".

Thể hiện nút chức năng cấu hình tích hợp/cấu hình lịch đồng bộ

9Nút "Đồng bộ ngay"Nút chức năng (Button)Không bắt buộc

Cho phép người dùng nhấn để mở ra màn hình pop-up "Xác nhận đồng bộ dữ liệu"

    • Màn hình pop-up "Xác nhận đồng bộ dữ liệu": tham chiếu mục 3.5.4. Màn hình pop-up "Xác nhận đồng bộ dữ liệu".

Thể hiện nút chức năng đồng bộ dữ liệu ngay lập tức theo thời gian hiện tại

3.5.2. Màn hình pop-up "Bộ lọc" 

Trường dữ liệu

Kiểu dữ liệu

Bắt buộc

Quy định

Mô tả

1Khoảng thời gianNgày tháng năm (Date picker)Không bắt buộc

Cho phép người dùng chọn khoảng thời gian từ ngày đến ngày đồng bộ

Thể hiện thời gian lọc từ ngày đến ngày 
2

Người đồng bộ

Lựa chọn (Droplist)Không bắt buộc
  • Cho phép người dùng chọn người thực hiện đồng bộ
  • Danh sách dữ liệu hiển thị được lấy:
    • "Hệ thống"
    • Người dùng thao tác đồng bộ, thông tin Mã - Họ tên của nhân sự theo dữ liệu đồng bộ từ HRIS trả về.

Thể hiện người thực hiện đồng bộ thông tin từ HRIS

3

Trạng thái

Lựa chọn (Droplist)Không bắt buộc

Cho phép người dùng chọn giá trị trạng thái tương ứng:

    • Thành công
    • Thất bại
    • Đang thực hiện
    • Tất cả (Khi người dùng không chọn sẽ để mặc định)

Thể hiện trạng thái đồng bộ thông tin từ HRIS

4

Mã lỗi

Văn bản (Text)Không bắt buộc

Cho phép người dùng nhập mã lỗi đồng bộ thông tin không thành công

Thể hiện thông tin mã lỗi khi đồng bộ thông tin từ HRIS

5Nú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 chức năng hủy bỏ thao tác lọc.
6Nú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 hình 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 chức năng đặt lại tất cả tiêu chí lọc về trạng thái mặc định ban đầu.
7Nú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 "Tích hợp HRIS" vẫn giữ nguyên dữ liệu như trước khi thao tác.
    • 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 "Tích hợp HRIS" được cập nhật và hiển thị theo đúng những tiêu chí người dùng đã chọn. 
Thể hiện nút chức năng áp dụng tiêu chí lọc được chọn
3.5.3. Màn hình pop-up "Cấu hình tích hợp HRIS"

Trường dữ liệu

Kiểu dữ liệu

Bắt buộc

Quy định

Mô tả

1Nút đóng (X)/ Nút "Hủy"Nút chức năng (Button)
  • Cho phép người dùng nhấn để hủy bỏ thao tác cấu hình tích hợp.
  • Khi nhấn, màn hình pop-up "Cấu hình tích hợp HRIS" đóng lại. 
Thể hiện nút chức năng hủy bỏ thao tác cấu hình
2Tần suấtNhãn hiệu (Label)

Chỉ được chọn 1 trong 2 giá trị tần suất đồng bộ thông tin từ HRIS:

    • Hàng ngày
    • Tùy chọn
Thể hiện tần suất người dùng chọn đồng bộ thông tin từ HRIS
3Hàng ngàyNút chọn (Radio Option)

Khi chọn Nút "Hàng ngày", hệ thống sẽ hiện hộp thời gian chọn thời điểm thực hiện đồng bộ thông tin khoản mục phí, theo kiểu thời gian time picker định dạng HH:mm (24h).

    • Hệ thống mặc định để thời gian là 00:00
Thể hiện thời gian đồng bộ thông tin từ HRIS được chọn trong ngày
4Tùy chọnNút chọn (Radio Option)

Khi chọn nút "Tùy chọn", hệ thống sẽ hiện:

    • Các checkbox group thời gian từ thứ 2 đến chủ nhật: Người dùng có thể chọn thời gian ngày thực hiện đồng bộ thông tin. Khi chọn nút "Tùy chọn" hệ thống mặc định chọn tất cả các ngày
    • Hộp thời gian: Người dùng có thể chọn thời điểm thực hiện đồng bộ thông tin, theo kiểu thời gian time picker định dạng HH:mm (24h).
      • Hệ thống mặc định để thời gian là 00:00
Thể hiện thời gian đồng bộ thông tin từ HRIS các ngày được chọn trong tuần
5Nút Áp dụngNút chức năng (Button)
  • Cho phép người dùng nhấn để áp dụng thời gian cài đặt cấu hình tự động mới.
  • Khi người dùng nhấn nút "Áp dụng", hệ thống cài đặt thời gian cấu hình tự động.
Thể hiện nút chức năng áp dụng thời gian cài đặt cấu hình tự động mới
3.5.4. Màn hình pop-up "Xác nhận đồng bộ dữ liệu"

Trường dữ liệu

Kiểu dữ liệu

Bắt buộc

Quy định

Mô tả

1Bạn có chắc chắc muốn đồng bộ dữ liệu HRIS?Nhãn hiệu (Label)


Thể hiện văn bản thông báo

2Nút "Tôi chắc chắn" Nút chức năng (Button)
  • Cho phép người dùng nhấn để thực hiện đồng bộ thông tin từ HRIS
  • Khi người dùng nhấn nút "Tôi chắc chắn" trong lúc với hệ thống đang thực hiện đồng bộ song song tiến trình khác (Thao tác của người dùng xảy ra trước hệ thống tự động hoặc đang thực hiện đồng bộ thủ công tiếp tục nhấn thủ công nữa). Khi nhấn sẽ xuất hiện pop-up "Cảnh báo"
    • Màn hình pop-up "Cảnh báo": tham chiếu mục 3.5.5. Màn hình pop-up "Cảnh báo".

Thể hiện nút chức năng để thực hiện đồng bộ thông tin từ HRIS theo cấu hình hiện tại

3Nút "Hủy"
Nút chức năng (Button)

Cho phép người dùng nhấn để hủy bỏ thao tác đồng bộ ngay

Thể hiện nút chức năng để hủy bỏ thao tác đồng bộ ngay.
3.5.5. Pop-up "Cảnh báo"

Trường dữ liệu

Kiểu dữ liệu

Bắt buộc

Quy định

Mô tả

1Hệ thống đang thực hiện đồng bộ.
Vui lòng chờ quá trình hoàn tất.
Nhãn hiệu (Label)


Thể hiện văn bản cảnh báo

2Nút "Thoát"Nút chức năng (Button)

Cho phép người dùng nhấn để đóng màn hình pop-up

Thể hiện nút chức năng để đóng màn hình pop up

3.5.6. Pop-up "Đồng bộ thất bại"

Trường dữ liệu

Kiểu dữ liệu

Bắt buộc

Quy định

Mô tả

1

<Mã lỗi>

<Mô tả lỗi>

Nhãn hiệu (Label)

Thể hiện văn bản thông báo

2Nút "Thoát"Nút chức năng (Button)

Cho phép người dùng nhấn để đóng màn hình pop-up.

Thể hiện nút chức năng để đóng màn hình pop up

Bảng mã lỗi


Mã lỗiMô tả lỗi
1153"Đồng bộ tự động không thể thực hiện do hệ thống đang xử lý đồng bộ thủ công."
2162"Đồng bộ HRIS Employee thất bại: <log hệ thống>."
3163"Gọi HRIS bị timeout (không nhận phản hồi kịp thời)."
4164"DNS lỗi khi gọi HRIS: <log hệ thống>."
5165"Không kết nối được tới HRIS: <log hệ thống>."
6166"Lỗi mạng khi gọi HRIS: <log hệ thống>."
7167"Parse dữ liệu HRIS thất bại: <log hệ thống>."
8168"Có lỗi không mong muốn khi gọi/xử lý HRIS: <log hệ thống>."
9169"Gọi system thất bại, HTTP: <code>."
10170"Lưu/gửi employee thất bại: <log hệ thống>."
11171"Không parse được response JSON: Hris trả về dữ liệu nhưng bị lỗi định dạng."