Ứng dụng quản lý nhân sự trong Odoo bao gồm nhiều module được tích hợp chặt chẽ, thực hiện các chức năng sau: quản lý cơ cấu nhân sự, quản lý hồ sơ nhân viên, quản lý kĩ năng, kinh nghiệm, quản lý tuyển dụng và đào tạo, đánh giá năng lực nhân viên, quản lý lịch làm việc/cơng tác (timesheets), quản lý chi phí, nghỉ phép, nghỉ lễ, bảo hiểm, chấm cơng và tính lương tự động…
Các module HR có liên hệ chặt chẽ với với một số model trong module cơ bản
base bao gồm:
res_partner: được dùng để lưu trữ dữ liệu liên quan đến tất cả các đối tác
(partner) của hệ thống bao gồm nhân viên, khách hàng của công ty chủ quản và công ty tổ chức có liên hệ. Từ model này có thể tham chiếu các thông tin khác của đối tác như: lang (ngôn ngữ), name (tên), address (địa chỉ),…
res_partner
Tên trường Mô tả Kiểu dữ
liệu
Ràng buộc
Id Khóa chính được quản lý tự
động bởi hệ thống
Int
Name Tên của đối tác, có thể là
tên cơng ty, tên khách hàng, tên nhà cung cấp, tên nhân viên
Char
Company_type Chỉ loại công ty là person
hay company
Char
Is_company Chỉ đối tác có phải là cơng
ty hay khơng
Boolean
Supplier Chỉ đối tác có phải là nhà
cung cấp hay không
Boolean
Customer Chỉ đối tác có phải là khách
hàng hay không
Employee Chỉ đối tác là nhân viên Boolean
User_ids Chỉ mã người dùng (chỉ
dành cho loại đối tác là nhân viên)
Int Kết nối
one2many với bảng res_user
Bảng 8 Cấu trúc bảng res_partner
Hình 15 Sơ đồ phân loại các đối tác của hệ thống
res_user: kế thừa lớp res_partner chứa dữ liệu user, cũng thuộc module base.
Trong Odoo, vai trò của user được hiểu là người tham gia vào hoạt động của hệ thống Odoo. Chỉ có đối tác là nhân viên mới được phân quyền người dùng. Thông tin về người dùng (user) được lưu trong bảng res_user thuộc về module cơ bản như sau:
res_user
Tên trường Mô tả Kiểu dữ
liệu
Ràng buộc
Id Khóa chính được quản lý
tự động bởi hệ thống
Int
Login Tài khoản đăng nhập của
người dùng
Char
Password Mật khẩu Char
Partner_id Mỗi user sẽ liên kết với 1
đối tác nhân viên
Int Kết nối many2one
với bảng res_partner
Đối tác
(Partner)
Đối tác bên ngoài
Khách hàng Nhà Cung cấp
Groups_id Chỉ nhóm người dùng. Mỗi nhóm người dùng sẽ có phân quyền khác nhau
Int Kết nối
many2many với bảng res_groups
Bảng 9 Cấu trúc bảng res_user
Để đăng nhập và làm việc với hệ thống thì mỗi nhân viên sẽ được quản lý cấp một tài khoản User/password. Đối với nhân viên các phịng hành chính khi đến cơng ty làm việc sẽ được điểm danh tự động, bằng cách sử dụng tài khoản User của mình để đăng nhập và làm việc với hệ thống. Khi đã hết giờ làm, nhân viên đăng xuất khỏi hệ thống. Hệ thống tự động tính số giờ mà nhân viên làm được trong ngày đó mà khơng cần chấm cơng dạng Timesheet.
Thông tin nhân sự được lưu trữ trong bảng hr_employee của module hr (human resource) với các trường sau:
hr_employee
Tên trường Mô tả Kiểu dữ
liệu
Ràng buộc
Id Khóa chính được quản lý
tự động bởi hệ thống
Int
Birth_day Ngày sinh Date
Address_id Mã địa chỉ Int Kết nối
many2one với bảng res_partner
Name Tên đầy đủ của nhân viên Char
Marital Tình trạng hơn nhân
Ssnid Mã số bảo hiểm xã hội Char
Manager_id Mã người quản lý Int Kết nối
many2one với bảng res_user
Department_id Mã phòng ban Int Kết nối
many2one với bảng department
Resource_id Mã resource Int Kết nối
many2one với bảng
resource_resource
Bảng 10 Cấu trúc bảng hr_employee
Bảng hr_employee kế thừa từ bảng resource_resource của model resource. Thông tin của bảng resource_resource gồm các trường như sau:
Resource_resource
Tên trường Mô tả Kiểu dữ
liệu
Ràng buộc
Id Khóa chính được quản lý
tự động bởi hệ thống
Int
Name Tên của nhân viên hay
một tài nguyên của tổ chức
Code Mã của resource Int
Active Cho phép ẩn hoặc hiển thị
tài nguyên/nhân viên
Boolean
Resource_type Chỉ loại tài nguyên là
human (người) hay
material (nguyên vật liệu)
Char
user_id Mã người dùng Int Kết nối many2one
với bảng res_user
Calendar_id Mã lịch công tác Int Kết nối many2one
với bảng
Bảng 11 Cấu trúc bảng resource_resource
Module hr có mối liên hệ với nhiều module thuộc nhóm hr khác như hr_contract, hr_expense, hr_payroll, hr_attendance,..
Mối liên hệ giữa các bảng chính của module hr với các bảng của module base như trong hình 16 bên dưới.
Hình 16 Lược đồ thực thể kết hợp giữa các bảng về nhân sự