App 1 – Nhân sự
Hướng: Bổ sung vào hrm · Đợt: Song song (backlog hrm) · Phụ thuộc: —
Quy ước chung, nguồn dữ liệu nhân viên và cách chạy builder: 00-tong-quan.md
Mục đích: là nguồn dữ liệu gốc về nhân viên và cơ cấu tổ chức (phòng ban, chức danh, cấp bậc, team) cho các app còn lại; quản lý vòng đời nhân viên từ lúc vào đến lúc nghỉ. Người dùng chính: phòng nhân sự và quản lý. Nguồn: Employee Management, Offboarding.
Hướng: bổ sung vào hrm. hrm đã có hồ sơ nhân viên, phòng ban dạng cây, quản lý trực tiếp, kỹ năng, khen thưởng, checklist onboarding/offboarding, khung lương. Cần đối chiếu và thêm: team liên chức năng có vai trò, danh mục cấp bậc và loại hợp đồng, giá trị tiền của khen thưởng, sự kiện nhân viên và phòng ban (đợt 0). Khi dùng builder, mở repo hrm và viết prompt dạng "Bổ sung vào app hrm hiện có: …" chỉ với phần còn thiếu.
Vai trò & quyền
| Vai trò | Được làm |
|---|---|
| Quản trị (HR) | Toàn quyền: tạo/sửa nhân viên, phòng ban, chức danh, cấp bậc, kỹ năng, loại giải thưởng; cho nghỉ việc |
| Quản lý | Xem nhân viên trong phòng ban/team của mình; thêm/bớt thành viên team mình quản lý; trao khen thưởng cho người trong phòng |
| Nhân viên | Xem hồ sơ của mình; sửa ảnh, liên hệ, kỹ năng của mình; xem danh bạ công ty (tên, phòng ban, chức danh) |
Dữ liệu
Nhân viên
| Trường | Kiểu | Bắt buộc | Ghi chú |
|---|---|---|---|
| Mã nhân viên | chuỗi | có | duy nhất |
| Họ, tên | chuỗi | có | |
| chuỗi | có | duy nhất, dùng liên kết tài khoản Shell | |
| Điện thoại, ảnh | chuỗi | không | |
| Phòng ban | tham chiếu Phòng ban | có | |
| Chức danh | tham chiếu Chức danh | không | |
| Cấp bậc | tham chiếu Cấp bậc | không | Junior, Mid, Senior, Lead, Expert |
| Loại hợp đồng | danh sách | có | Chính thức, Thử việc, Bán thời gian, Cộng tác viên, Thực tập |
| Quản lý trực tiếp | tham chiếu Nhân viên | không | |
| Ngày vào làm | ngày | có | |
| Ngày nghỉ việc | ngày | không | điền khi offboarding |
| Đơn giá tính khách | số tiền / giờ | không | dùng cho hóa đơn |
| Giới hạn giờ/tuần | số | không | |
| Kỳ trả lương | danh sách | không | Hàng tuần, 2 tuần, Hàng tháng |
| Đang làm việc | đúng/sai | có | mặc định đúng |
Danh mục phụ
| Thực thể | Trường chính |
|---|---|
| Phòng ban | tên, mô tả, phòng ban cha (dạng cây), trưởng phòng |
| Chức danh | tên |
| Cấp bậc | tên, thứ tự |
| Team | tên, mô tả, loại (Phòng ban, Dự án, Liên chức năng, Tạm thời), thành viên (vai trò Quản lý hoặc Thành viên) |
| Kỹ năng | tên, màu, mô tả; gán cho nhân viên kèm mức: Cơ bản, Khá, Giỏi, Chuyên gia |
| Loại giải thưởng | tên, mô tả (mẫu: Nhân viên của tháng, Đồng đội xuất sắc, Sáng kiến) |
| Khen thưởng | nhân viên, loại giải, ngày trao, lý do, giá trị tiền (tùy chọn) |
Trạng thái nhân viên
Đang làm việc → Đã nghỉ việc. Chỉ Quản trị được chuyển; có thể kích hoạt lại.
Quy tắc nghiệp vụ
- Mã nhân viên và email không được trùng.
- Ngày nghỉ việc phải sau hoặc bằng ngày vào làm.
- Cho nghỉ việc = điền ngày nghỉ + tắt "Đang làm việc" + rút khỏi mọi team; hồ sơ được giữ lại (xóa mềm).
- Nhân viên đã nghỉ không xuất hiện trong danh sách chọn người (giao việc, thêm team…).
- Một nhân viên không thể là quản lý trực tiếp của chính mình; phòng ban không được là cha của chính nó.
- Không xóa được phòng ban còn nhân viên đang làm việc.
- Quản lý chỉ thấy nhân viên thuộc phòng ban của mình (kể cả phòng ban con).
Màn hình
| Màn hình | Nội dung |
|---|---|
| Danh sách nhân viên | Bảng có tìm kiếm, lọc theo phòng ban/chức danh/trạng thái, phân trang; nút Thêm |
| Hồ sơ nhân viên | Tab Thông tin, Kỹ năng, Khen thưởng, Team; nút Cho nghỉ việc |
| Sơ đồ tổ chức | Cây phòng ban, số người mỗi phòng, trưởng phòng |
| Team | Danh sách team, thêm/bớt thành viên |
| Danh mục | Chức danh, cấp bậc, kỹ năng, loại giải thưởng |
Prompt tham khảo
Khuyến nghị đội dev làm trực tiếp trong repo hrm: builder mở được repo có sẵn nhưng việc chạy migration cho app có database được nhập vào chưa được thiết kế xong. Prompt dưới đây mô tả đầy đủ nghiệp vụ, dùng để đối chiếu với hrm và lập backlog; chỉ làm phần còn thiếu nêu ở dòng Hướng.
Tôi cần app quản lý nhân sự, lưu trong database, có phân quyền.
Dữ liệu: phòng ban (tên, phòng ban cha, trưởng phòng), chức danh, cấp bậc,
nhân viên (mã, họ tên, email, điện thoại, phòng ban, chức danh, cấp bậc,
loại hợp đồng, quản lý trực tiếp, ngày vào làm, ngày nghỉ việc, đang làm việc),
team (tên, loại, thành viên với vai trò quản lý hoặc thành viên),
kỹ năng gán cho nhân viên kèm mức độ, và khen thưởng (loại giải, ngày, lý do, giá trị).
Phân quyền: HR toàn quyền; quản lý chỉ xem nhân viên trong phòng ban của mình
và phòng ban con; nhân viên chỉ xem và sửa liên hệ, kỹ năng của mình.
Quy tắc: mã và email không trùng; ngày nghỉ việc không trước ngày vào làm;
cho nghỉ việc thì đặt ngày nghỉ, tắt đang làm việc và rút khỏi mọi team,
không xóa hẳn; không xóa phòng ban còn nhân viên đang làm.
Màn hình: danh sách nhân viên có tìm kiếm, lọc, phân trang; hồ sơ nhân viên
có tab kỹ năng và khen thưởng; sơ đồ cây phòng ban; quản lý team; danh mục.