...
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 | Dùng để đăng nhập vào và nhận thông báo từ hệ thống | ||
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ính và active ( 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.2. Luồng:
...
3.3. API Spec: BPM1_Giai phap tich hop HRIS.docx
...
| title | API đồng bộ Hris - service Integration gọi Hris |
|---|
...
Method
...
URL
...
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
...
3.3.3.2. RequestParam
...
STT
...
Field
...
Require
...
Data Type / Length
...
Description
...
Note
...
Sample Values
...
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:
Môtảsơđồtíchhợpgiữacácthànhphầncủahệthống BPM1, trong đó 2 hìnhchữnhậtmàuxanhlàtíchhợpmới cho hệthống HRIS với service tíchhợpcủahệthống BPM1
3.3. API Spec: BPM1_Giai phap tich hop HRIS.docx
| Panel | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.3.3.3. Response / Incoming Data Specification1. Headers
Note Method POST | URL /integration/hris/sync | Description API lấy thông tin nhân viên từ Hris Note API mới
code | Integer | 0: thành công còn lại thất bại | 2 | message | String | message | 3 | result | String | Thông tin đồng bộ | | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Panel | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.3.3.2. RequestParam
3.3.3.1. Headers3. Response / Incoming Data Specification
<token> | Token của người dùng đăng nhập | Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjY0NTU3ODksInVzZXIiOiJ7XCJpZFwiOjIwMjAsXCJ1c2VybmFtZVwiOlwiMDM3NDc4ODQwNVwiLFwibmFtZVwiOlwiQ2h1IFRo4buLIExpw6puXCIsXCJyb2xlc1wiOltdLFwibWFwQmVhdXR5U2Fsb25cIjp7XCJicG0ucmVib3JuLnZuXCI6Nn0sXCJlbXBsb3llZUlkXCI6NTMxLFwiYnJhbmNoSWRcIjoyM30ifQ.wrvIFd-Q2kHgkTmPf6ryMY6aDIgXpNsWmSvvifQWc5k | 3.3.3.2. RequestBodySTT Field Require Data Type / Length Description Note Sample Values 1 | List<Employee> | true | String | danh sách các bản ghi employee | 2 | (Employee) ID | fa;se | String | 3 | (Employee) ID_RCD | true | String | id record Hris | 4 | (Employee) EMPLID | true | String | id employee hris | 5 | (Employee) EMPL_RCD | true | String | 6 | (Employee) NAME | true | String | tên nhân viên | 7 | (Employee) EMAIL | true | String | mail nhân viên | 8 | (Employee) JOB_INDICATOR | true | String | Công việc chính/ phụ | có 2 giá trị: P (chính), S (phụ)9 | (Employee) MA_CHUC_DANH | true | String | mã chức danh | 10 | (Employee) CHUC_DANH | true | String | tên chức danh | 11 | (Employee) PHONG_BAN | true | String | tên phòng ban | 12 | (Employee) MA_PHONG_BAN | true | String | mã phòng ban | 13 | (Employee) BAND | true | String | 14 | (Employee) HAM | true | String | 15 | (Employee) DV_C1 | true | String | tên đơn vị cấp 1 (tên công ty) | 16 | (Employee) MA_DV_C1 | true | String | mã đơn vị cấp 1 (mã công ty) | 17 | (Employee) MA_DV_C2 | true | String | tên đơn vị cấp 2 | 18 | (Employee) DV_C2 | true | String | mã đơn vị cấp 2 | 19 | (Employee) MA_DV_C3 | true | String | tên đơn vị cấp 3 | 20 | (Employee) DV_C3 | true | String | mã đơn vị cấp 3 | 21 | (Employee) DV_C4
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| Panel | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.3.3.1. Headers
3.3.3.2. RequestBody
3.3.3.3. Response / Incoming Data Specification | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| STT | Field | Data Type / Length | Description | Note | Sample Values | 1 | code | Integer | 0: thành công còn lại thất bại | 2 | message | String | message | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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.
- Nhân sự mới onboard
- Nhân sự thay đổi vị trí công việc.
- Nhân sự nghỉ việc
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:
- Tạo bảng Employee trên database Integration đóng vai trò lưu trữ dữ liệu lấy về từ HRIS theo ngày.
- Bảng integrations.employee được sử dụng làm nơi lưu trữ tạm thời dữ liệu nhân sự mới lấy về từ hệ thống HRIS.
- Dữ liệu được lấy theo từng đợt (theo ngày hoặc batch cụ thể).
- Mục tiêu: so sánh với dữ liệu hiện có trong hệ thống để xác định cần thêm mới hay cập nhật.
- Từ dữ liệu mới từ HRIS, sánh với dữ bảng dữ liệu đã có trong employee thuộc service system.
- Trường hợp bảng ghi mới:
- Có employee_id chưa tồn tại thì thêm mới vào bảng employee (thuộc service system)
- Trường hợp employee đã tồn tại employee_id và vị trí công việc trong bảng integration.employee đã tồn tại trong system.employee thì:
...
3.3.3.3. Response / Incoming Data Specification
|
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.
- Nhân sự mới onboard
- Nhân sự thay đổi vị trí công việc.
- Nhân sự nghỉ việc
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:
- Tạo bảng Employee trên database Integration đóng vai trò lưu trữ dữ liệu lấy về từ HRIS theo ngày.
- Bảng integrations.employee được sử dụng làm nơi lưu trữ tạm thời dữ liệu nhân sự mới lấy về từ hệ thống HRIS.
- Dữ liệu được lấy theo từng đợt (theo ngày hoặc batch cụ thể).
- Mục tiêu: so sánh với dữ liệu hiện có trong hệ thống để xác định cần thêm mới hay cập nhật.
- Từ dữ liệu mới từ HRIS, sánh với dữ bảng dữ liệu đã có trong employee thuộc service system.
- Trường hợp bảng ghi mới:
- Có employee_id chưa tồn tại thì thêm mới vào bảng employee (thuộc service system)
- Trường hợp employee đã tồn tại employee_id và vị trí công việc trong bảng integration.employee đã tồn tại trong system.employee thì:
- Tiến hành cập nhật thông tin đã thay đổi (so sánh giá trị từng trường).
...
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 |
|
| 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" | |||
| 2 | Thời gian bắt đầu | Thời gian (date-time) | Không bắt buộc |
|
| Thể hiện thời gian bắt đầu đồng bộ thông tin từ |
HRIS | |||
| 3 | Thời gian kết thúc | Thời gian (date-time) | Không bắt buộc |
|
| Thể hiện thời gian kết thúc đồng bộ thông tin từ |
HRIS | |||
| 4 | Người đồng bộ | Văn bản (Text) | Không bắt buộc |
|
|
|
| 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) | ||
| 5 | Trạng thái | Văn bản (Text) | Không bắt buộc |
|
|
|
|
| Thể hiển trạng thái đồng bộ thông tin từ |
HRIS | ||||
| 6 | Mã lỗi | Đường dẫn (Hyperlink) | Không bắt buộc |
|
|
|
|
| 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"
| Thể hiện nút chức năng bộ lọc |
| 8 | Nú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"
|
|
| 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ộ |
| 9 | Nú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"
|
|
|
| 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ả | |
|---|---|---|---|---|---|
| 1 | Khoảng thời gian | Ngà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 |
Hệ thống lấy ra từ list danh sách
|
|
| 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ể 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 |
| 5 | Nút "X" | Nút chức năng (Button) | Không bắt buộc |
| Thể hiện nút |
| chức năng hủy bỏ thao tác lọc. | ||||
| 6 | Nút "Đặt lại" | Nút chức năng (Button) | Không bắt buộ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. | ||
| 7 | Nút "Áp dụng" | Nút chức năng (Button) | Không bắt buộc |
|
|
|
|
|
| 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ả | |
|---|---|---|---|---|---|
| 1 |
| Nút đóng (X)/ Nút "Hủy" | Nút chức năng (Button) |
|
|
|
| Thể hiện nút chức năng hủy bỏ thao tác cấu hình | ||||
| 2 | Tần suất | Nhãn hiệu (Label) | Chỉ được chọn 1 trong 2 giá trị tần suất đồng bộ thông tin |
từ HRIS:
| Thể hiện tần suất người dùng chọn đồng bộ |
| thông tin từ HRIS | ||
| 3 | Hàng ngày | Nú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).
| Thể hiện thời gian đồng bộ |
| thông tin từ HRIS được chọn trong ngày |
| 4 |
| Tùy chọn | Nút chọn (Radio Option) | Khi chọn nút " |
Tùy chọn", hệ thống sẽ hiện |
:
|
|
|
|
|
| Thể hiện thời gian đồng bộ |
| thông tin từ HRIS các ngày được chọn trong tuần |
| 5 | Nút |
| Áp dụng | Nút chức năng (Button) |
|
- 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 thông tin khoản mục phí" 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 "Tích hợp thông tin khoản mục phí (SAP)" đượ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 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ả | |
|---|---|---|---|---|---|
| 1 |
| Bạ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 | ||
| 2 | Nút "Tôi chắc chắn" | Nút chức năng (Button) |
- 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 thông báo
- Nội dung văn bản thông báo: "Bạn có chắc chắn muốn đồng bộ dữ liệu khoản mục phí (SAP)"
| 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 | |||
| 3 | Nút "Hủy" | Nút chức năng (Button) | Cho phép người dùng nhấn để |
Cho phép người dùng nhấn để thực hiện đồng bộ thông tin khoản mục phí theo cấu hình hiện tại
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ả | |
|---|---|---|---|---|---|
| 1 | Hệ 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 | ||
| 2 | Nú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 | ||
| 2 |
| Nút "Thoát" | Nút chức năng (Button) |
Cho phép người dùng |
- Thể hiện văn bản cảnh báo
- Nội dung văn bản thông báo:"Hệ thống đang thực hiện đồng bộ.
Vui lòng chờ quá trình hoàn tất."
- 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 danh sách "Tích hợp dữ liệu khoản mục phí"
Thể hiện nút "Thoát" để đóng màn hình pop up cảnh báo
3.5.6. Pop-up "Xem chi tiết lỗi"
Trường dữ liệu
Kiểu dữ liệu
Bắt buộc
Quy định
Mô tả
- 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 thông báo
- Nội dung văn bản thông báo: "Mã lỗi. Mô tả chi tiết lỗi"
- 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 danh sách "Tích hợp dữ liệu khoản mục phí"
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ỗi | Mô tả lỗi | |
|---|---|---|
| 1 | 153 | "Đồng bộ tự động không thể thực hiện do hệ thống đang xử lý đồng bộ thủ công." |
| 2 | 162 | "Đồng bộ HRIS Employee thất bại: <log hệ thống>." |
| 3 | 163 | "Gọi HRIS bị timeout (không nhận phản hồi kịp thời)." |
| 4 | 164 | "DNS lỗi khi gọi HRIS: <log hệ thống>." |
| 5 | 165 | "Không kết nối được tới HRIS: <log hệ thống>." |
| 6 | 166 | "Lỗi mạng khi gọi HRIS: <log hệ thống>." |
| 7 | 167 | "Parse dữ liệu HRIS thất bại: <log hệ thống>." |
| 8 | 168 | "Có lỗi không mong muốn khi gọi/xử lý HRIS: <log hệ thống>." |
| 9 | 169 | "Gọi system thất bại, HTTP: <code>." |
| 10 | 170 | "Lưu/gửi employee thất bại: <log hệ thống>." |
| 11 | 171 | "Không parse được response JSON: Hris trả về dữ liệu nhưng bị lỗi định dạng." |







