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 | Movt2 | |||
Ngày ký | ||||
Jira Link | BPMKVH-972 - Getting issue details... STATUS | |||
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
- Thông tin nhân viên của tập đoàn
- Thông tin cơ cấu tổ chức tập đoàn & các đơn vị thành viên
- Thông tin ca, thời gian làm việc
2. Confirmation/ Acceptance Criteria (Tiêu chí nghiệm thu)
- Tôi muốn cấu hình được tần suất cập nhật theo thời gian
- Tôi muốn chủ động cập nhật thủ công được thông tin khi có nhu cầu
- Tôi muốn quản lý được lịch sử đồng bộ
- Thời gian băt đầu
- Thời gian kết thúc
- Người đồng bộ
- Trạng thái
- Mã lỗi
- Mô tả lỗi
- Tôi muốn lọc được thông tin lịch sử đồng bộ theo
- Ngày: Từ- Đến
- Người đồng bộ
- Trạng thái
- Mã lỗi
- 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
- Phạm vi dữ liệu:
- Danh sách cbnv thuộc tập đoàn và các đơn vị thành viên (trừ MSB)
- Lấy cả công việc chính và công việc phụ (kiên nhiệm, điều động)
- Chỉ lấy người tại công ty gốc
- 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 | 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) |
3. Conversation (Mô tả chi tiết)
3.1 UI/UX: https://www.figma.com/design/0vkg7L5PNUACG6nsDlyAI0/BPM?node-id=9703-38838&p=f&t=3vrKxtmG3LGtCHXa-0
3.2 Luồng:
Mô tả sơ đồ 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 là 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 |
|---|---|---|---|---|
| 1 | authorization | <token> | Token của người dùng đăng nhập | Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjY0NTU3ODksInVzZXIiOiJ7XCJpZFwiOjIwMjAsXCJ1c2VybmFtZVwiOlwiMDM3NDc4ODQwNVwiLFwibmFtZVwiOlwiQ2h1IFRo4buLIExpw6puXCIsXCJyb2xlc1wiOltdLFwibWFwQmVhdXR5U2Fsb25cIjp7XCJicG0ucmVib3JuLnZuXCI6Nn0sXCJlbXBsb3llZUlkXCI6NTMxLFwiYnJhbmNoSWRcIjoyM30ifQ.wrvIFd-Q2kHgkTmPf6ryMY6aDIgXpNsWmSvvifQWc5k |
3.3.3.2. RequestParam
STT | Field | Require | Data Type / Length | Description | Note | Sample Values |
|---|---|---|---|---|---|---|
| 1 | from | true | String | ngà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 |
|---|---|---|---|---|---|
| 1 | 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ộ |
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 |
|---|---|---|---|---|
| 1 | authorization | <token> | Token của người dùng đăng nhập | Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjY0NTU3ODksInVzZXIiOiJ7XCJpZFwiOjIwMjAsXCJ1c2VybmFtZVwiOlwiMDM3NDc4ODQwNVwiLFwibmFtZVwiOlwiQ2h1IFRo4buLIExpw6puXCIsXCJyb2xlc1wiOltdLFwibWFwQmVhdXR5U2Fsb25cIjp7XCJicG0ucmVib3JuLnZuXCI6Nn0sXCJlbXBsb3llZUlkXCI6NTMxLFwiYnJhbmNoSWRcIjoyM30ifQ.wrvIFd-Q2kHgkTmPf6ryMY6aDIgXpNsWmSvvifQWc5k |
3.3.3.2. RequestBody
STT | 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 | true | String | tên đơn vị cấp 4 | ||
| 22 | (Employee) MA_DV_C4 | true | String | mã đơn vị cấp 4 | ||
| 23 | (Employee) DV_C5 | true | String | tên đơn vị cấp 5 | ||
| 24 | (Employee) MA_DV_C5 | true | String | mã đơn vị cấp 5 | ||
| 25 | (Employee) HR_STATUS | true | String | Trạng thái nhân sự: A (active), I (inactive) | ||
| 26 | (Employee) MA_CA_LV | true | String | mã ca làm việc |
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ì:
- Tiến hành cập nhật thông tin đã thay đổi (so sánh giá trị từng trường).
- Có thể chỉ cập nhật một số trường như vị trí công việc, đơn vị cấp 1, đơn vị cấp 2, …
- HR status từ A đổi sang I là đã nghỉ việc


