duongvanthanh2011
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # Data Dictionary for HRM Database ## MODULE 1: QUẢN LÝ TỔ CHỨC VÀ NHÂN SỰ ### 1. CongTy **Mục đích**: Lưu trữ thông tin công ty. **Primary Key**: `id` (bigint, IDENTITY) **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | MaCongTy | character varying | Mã công ty. | | TenCongTy(vi) | character varying | Tên công ty (tiếng Việt). | | MaSoThue | character varying | Mã số thuế. | | DiaChi(vi) | text | Địa chỉ (tiếng Việt). | | TenCongTy(en) | character varying | Tên công ty (tiếng Anh). | | DiaChi(en) | text | Địa chỉ (tiếng Anh). | | TenVietTat | character varying | Tên viết tắt. | | Fax | character varying | Số fax. | | SoDienThoai | character varying | Số điện thoại. | | NguoiDaiDien | character varying | Người đại diện. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | --- ### 2. PhongBan **Mục đích**: Quản lý phòng ban/bộ phận. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `congty_id` → `CongTy(id)` - `phongbancha_id` → `PhongBan(id)` (tự tham chiếu) **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | MaPhongBan | character varying | Mã phòng ban. | | TenPhongBan | character varying | Tên phòng ban. | | Level | integer | Cấp độ phòng ban. | | GhiChu | text | Ghi chú. | | TrangThai | character varying | Trạng thái (Hoạt động, Tạm dừng, Đã giải thể). | | create_at | timestamp with time zone | Thời điểm tạo (trùng lặp với created_at). | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | congty_id | bigint | Khóa ngoại tới bảng CongTy. | | phongbancha_id | bigint | ID phòng ban cha (cấu trúc cây)-setup quan hệ cho các phòng ban cha-con. | --- ### 3. ChucVu **Mục đích**: Quản lý chức vụ/vị trí công việc trong công ty. **Primary Key**: `id` (bigint, IDENTITY) **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | MaChucVu | character varying | Mã chức vụ. | | TenViTriCongViec | character varying | Tên chức vụ. | | GhiChu | text | Ghi chú. | | TrangThai | character varying | Trạng thái (e.g., 'active', 'inactive'). | --- ### 4. NhanVien **Mục đích**: Quản lý thông tin nhân viên. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `user_id` → `public.auth_user(id)` - `loaivn` → `Loainhanvien(id)` - `nganhang` → `Nganhang(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | MaNhanVien | character varying | Mã nhân viên. | | HoVaTen | character varying | Họ và tên. | | Email | character varying | Email. | | SoDienThoai | character varying | Số điện thoại. | | DiaChi | text | Địa chỉ. | | GioiTinh | character varying | Giới tính. | | NgaySinh | date | Ngày sinh. | | SoCCCD | character varying | Số CCCD. | | NgayVaoLam | date | Ngày vào làm. | | LoaiNV | character varying | Loại nhân viên (Cộng tác viên, Nhân viên, Thời vụ,...). | | TrangThaiNV | character varying | Trạng thái nhân viên (Chính thức, Hợp đồng, Thử việc, Sa thải,...). | | Ngân hàng | integer | Khóa ngoại tới bảng Nganhang. | | TenNganHang | character varying | Tên ngân hàng. | | SoTKNganHang | character varying | Số tài khoản ngân hàng. | | TenTKNganHang | character varying | Tên tài khoản ngân hàng (Mỗi NV có 1 tk ngân hàng). | | MaSoThue | character varying | Mã số thuế. | | TrangThai | character varying | Trạng thái tổng quát (active of inactive). | | user_id | integer | Khóa ngoại tới bảng auth_user. | **Chi tiết trường dữ liệu**: - `TrangThaiNV`: Trạng thái nhân viên - **Đang làm**: Nhân viên đang làm việc bình thường - **Thử việc**: Đang trong thời gian thử việc - **Đã nghỉ**: Đã nghỉ việc - **Nghỉ thai sản**: Đang nghỉ thai sản - **Nghỉ không lương**: Đang nghỉ không lương - `TrangThai`: Trạng thái bản ghi - **Active**: Bản ghi đang hoạt động - **Inactive**: Bản ghi đã xóa (soft delete) --- ### 5. LichSuCongTac **Mục đích**: Lưu trữ lịch sử công tác của nhân viên. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `nhanvien_id` → `NhanVien(id)` - `phongban_id` → `PhongBan(id)` - `chucvu_id` → `ChucVu(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | BatDau | date | Ngày bắt đầu công tác. | | KetThuc | date | Ngày kết thúc công tác. | | NoiCongTac | character varying | Nơi công tác. | | TrangThai | character varying | Trạng thái (Đang công tác, Đã kết thúc). | | nhanvien_id | bigint | Khóa ngoại tới bảng NhanVien. | | phongban_id | bigint | Khóa ngoại tới bảng PhongBan. | | chucvu_id | bigint | Khóa ngoại tới bảng ChucVu. | --- ## MODULE 2: HỢP ĐỒNG LAO ĐỘNG ### 6. HopDong **Mục đích**: Quản lý loại hợp đồng lao động. **Primary Key**: `id` (bigint, IDENTITY) **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | MaHopDong | character varying | Mã hợp đồng. | | TenHopDong | character varying | Tên hợp đồng. | | FileHopDong | character varying | Đường dẫn file hợp đồng. | | LoaiHopDong | character varying | Loại hợp đồng (e.g., 'full-time'). | | GhiChu | text | Ghi chú. | **Chi tiết trường dữ liệu**: - `LoaiHopDong`: Loại hợp đồng - **Hợp đồng thử việc**: 1-2 tháng - **Hợp đồng xác định thời hạn**: 1-3 năm - **Hợp đồng không xác định thời hạn**: Vô thời hạn - **Hợp đồng thời vụ**: Theo dự án --- ### 7. LichSuHopDong **Mục đích**: Lưu trữ lịch sử hợp đồng của nhân viên. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `hopdong_id` → `HopDong(id)` - `nhanvien_id` → `NhanVien(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | SoHopDong | character varying | Số hợp đồng. | | FileHopDong | character varying | Đường dẫn file hợp đồng. | | NgayHetHan | date | Ngày hết hạn. | | NgayBatDau | date | Ngày bắt đầu. | | NgayKyHopDong | date | Ngày ký hợp đồng. | | LuongCoBan | double precision | Lương cơ bản. | | TrangThai | character varying | Trạng thái (e.g., 'active', 'expired'). | | hopdong_id | bigint | Khóa ngoại tới bảng HopDong. | | nhanvien_id | bigint | Khóa ngoại tới bảng NhanVien. | **Chi tiết trường dữ liệu**: - `TrangThai`: Trạng thái hợp đồng - **Đang hiệu lực**: Hợp đồng đang có hiệu lực - **Hết hạn**: Hợp đồng đã hết hạn - **Đã thanh lý**: Thanh lý trước hạn --- ## MODULE 3: QUẢN LÝ CA LÀM VIỆC VÀ LỊCH LÀM VIỆC ### 8. CaLamViec **Mục đích**: Quản lý thông tin ca làm việc. **Primary Key**: `id` (bigint, IDENTITY) **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | MaCaLamViec | character varying | Mã ca làm việc. | | TenCaLamViec | character varying | Tên ca làm việc. | | LoaiChamCong | character varying | Loại chấm công (e.g., 'Cố định', 'Linh động', 'Tự do'). | | SoKhungGioTrongCa | smallint | Số khung giờ trong ca. | | SoLanChamCongTrongNgay | smallint | Số lần chấm công trong ngày. | | CoNghiTrua | boolean | Có nghỉ trưa trong ca hay không. | | CongCuaCaLamViec | smallint | Công của ca (số ngày công). | | CoCanCheckout | boolean | Yêu cầu checkout hay không. | | TongThoiGianLamViecCuaCa | real | Tổng thời gian làm việc của ca (giờ). | | TrangThai | character varying | Trạng thái ca (e.g., 'active', 'inactive'). | **Chi tiết trường dữ liệu**: - `LoaiChamCong`: Loại chấm công - **Cố định** - **Linh động** - **Tự do** --- ### 9. KhungGioLamViec **Mục đích**: Quản lý khung giờ làm việc của ca. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `calamviec_id` → `CaLamViec(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | ThoiGianBatDau | time with time zone | Giờ bắt đầu. | | ThoiGianKetThuc | time with time zone | Giờ kết thúc. | | CongCuaKhungGio | smallint | Công của khung giờ. | | ThoiGianChoPhepDenMuon | real | Thời gian cho phép đến muộn. | | ThoiGianDiMuonKhongTinhChamCong | real | Thời gian đi muộn không tính chấm công. | | ThoiGianChoPhepChamCongSomNhat | time with time zone | Giờ sớm nhất cho phép chấm công. | | ThoiGianChoPhepVeSomNhat | real | Thời gian sớm nhất cho phép về sớm. | | ThoiGianVeSomKhongTinhChamCong | real | Thời gian về sớm không tính chấm công. | | ThoiGianChoPhepVeMuonNhat | time with time zone | Giờ muộn nhất cho phép về muộn. | | YeuCauChamCong | boolean | Yêu cầu chấm công hay không. | | ThoiGianLamViecToiThieu | real | Thời gian làm việc tối thiểu. | | GhiChu | text | Ghi chú. | | calamviec_id | bigint | Khóa ngoại tới bảng CaLamViec. | --- ### 10. KhungGioNghiTrua (KhungGioNghi) **Mục đích**: Quản lý khung giờ nghỉ trưa của ca làm việc. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `calamviec_id` → `CaLamViec(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | GioBatDau | time with time zone | Giờ bắt đầu nghỉ trưa. | | GioKetThuc | time with time zone | Giờ kết thúc nghỉ trưa. | | GhiChu | text | Ghi chú. | | calamviec_id | bigint | Khóa ngoại tới bảng CaLamViec. | --- ### 11. LichNghi **Mục đích**: Quản lý lịch nghỉ lễ, tết. **Primary Key**: `id` (bigint, IDENTITY) **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | MaLichNghi | character varying | Mã lịch nghỉ. | | TenLichNghi | character varying | Tên lịch nghỉ. | | LoaiLichNghi | character varying | Loại lịch nghỉ (e.g., 'holiday', 'weekend'). | | Ngay | date | Ngày nghỉ. | | LoaiNghi | character varying | Loại nghỉ (e.g., 'Nghỉ cả ngày', 'Nghỉ nửa ngày'). | | HeSoLamViec | real | Hệ số làm việc. | | ApDungTinhLuong | boolean | Có áp dụng tính lương. | | TrangThai | character varying | Trạng thái (e.g., 'active', 'inactive'). | **Chi tiết trường dữ liệu**: - `LoaiNghi`: Loại nghỉ - **Nghỉ cả ngày** - **Nghỉ nửa ngày** - `LoaiLichNghi`: Loại lịch nghỉ - **Nghỉ cuối tuần** - **Nghỉ lễ** - `HeSoLamViec`: Khi thêm Lịch Nghỉ có `LoaiLichNghi` là 'holiday' thì sẽ là Hệ số công so với ngày thường --- ### 12. LichLamViec **Mục đích**: Quản lý lịch làm việc tổng quát. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `lichnghi_id` → `LichNghi(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | MaLichLamViec | character varying | Mã lịch làm việc. | | TenLichLamViec | character varying | Tên lịch làm việc. | | LoaiKichBanLamViec | character varying | Loại kịch bản làm việc (e.g., 'fixed', 'rotating'). | | TrangThai | character varying | Trạng thái (e.g., 'active', 'inactive'). | | lichnghi_id | bigint | Khóa ngoại tới bảng LichNghi. | **Chi tiết trường dữ liệu**: - `LoaiKichBanLamViec`: Loại kịch bản - **Cố định**: Lịch cố định theo tuần (Thứ 2-CN) - **Lịch trình**: Lịch theo chu kỳ lặp lại --- ### 13. LichLamViec_CoDinh **Mục đích**: Quản lý lịch làm việc cố định theo ngày trong tuần. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `calamviec_id` → `CaLamViec(id)` - `lichlamviec_id` → `LichLamViec(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | NgayTrongTuan | integer | Ngày trong tuần (1-7). | | CaiDatCa | character varying | Cài đặt ca làm việc. | | GhiChu | text | Ghi chú. | | calamviec_id | bigint | Khóa ngoại tới bảng CaLamViec. | | lichlamviec_id | bigint | Khóa ngoại tới bảng LichLamViec. | --- ### 14. LichLamViec_LichTrinh **Mục đích**: Quản lý lịch trình làm việc theo chu kỳ. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `lichlamviec_id` → `LichLamViec(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | TenChuKy | character varying | Tên chu kỳ lịch trình. | | MaChuKy | character varying | Mã chu kỳ. | | SoNgayLap | integer | Số ngày lặp chu kỳ. | | NgayBatDauChuKy | date | Ngày bắt đầu chu kỳ. | | GhiChu | text | Ghi chú. | | lichlamviec_id | bigint | Khóa ngoại tới bảng LichLamViec. | --- ### 15. CTLichLamViec_LichTrinh **Mục đích**: Liên kết lịch làm việc với lịch trình chi tiết. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `calamviec_id` → `CaLamViec(id)` - `lichlamviec_lichtrinh_id` → `LichLamViec_LichTrinh(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | CaLamViecTungNgay | character varying | Ca làm việc theo ngày trong lịch trình. | | calamviec_id | bigint | Khóa ngoại tới bảng CaLamViec. | | lichlamviec_lichtrinh_id | bigint | Khóa ngoại tới bảng LichLamViec_LichTrinh. | --- ### 16. LichLamViec_NhanVien **Mục đích**: Liên kết nhân viên với lịch làm việc. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `lichlamviec_id` → `LichLamViec(id)` - `nhanvien_id` → `NhanVien(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | NgayApDung | timestamp without time zone | Ngày áp dụng lịch. | | NgayKetThuc | timestamp without time zone | Ngày kết thúc lịch. | | TrangThai | character varying | Trạng thái (e.g., 'active', 'inactive'). | | lichlamviec_id | bigint | Khóa ngoại tới bảng LichLamViec. | | nhanvien_id | bigint | Khóa ngoại tới bảng NhanVien. | --- ### 17. LichLamViec_PhongBan (Bỏ qua) **Mục đích**: Liên kết phòng ban với lịch làm việc. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `lichlamviec_id` → `LichLamViec(id)` - `phongban_id` → `PhongBan(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | NgayApDung | timestamp without time zone | Ngày áp dụng lịch. | | NgayKetThuc | timestamp without time zone | Ngày kết thúc lịch. | | TrangThai | character varying | Trạng thái (e.g., 'active', 'inactive'). | | lichlamviec_id | bigint | Khóa ngoại tới bảng LichLamViec. | | phongban_id | bigint | Khóa ngoại tới bảng PhongBan. | --- ### 18. LichLamViecThucTe **Mục đích**: Lưu trữ lịch làm việc thực tế của nhân viên sau điều chỉnh. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `calamviec_id` → `CaLamViec(id)` - `nhanvien_id` → `NhanVien(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | NgayLamViec | date | Ngày làm việc. | | CoPhaiNgayNghi | boolean | Có phải ngày nghỉ hay không. | | ChoPhepGhiDe | boolean | Cho phép ghi đè lịch. | | GhiChu | text | Ghi chú. | | calamviec_id | bigint | Khóa ngoại tới bảng CaLamViec. | | nhanvien_id | bigint | Khóa ngoại tới bảng NhanVien. | --- ## MODULE 4: CHẤM CÔNG ### 19. CongViec **Mục đích**: Quản lý công việc trong công ty. **Primary Key**: `id` (bigint, IDENTITY) **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | MaCongViec | character varying | Mã công việc. | | TenCongViec | character varying | Tên công việc. | | LoaiCongViec | character varying | Loại công việc. ('Nhóm', 'Cá nhân')| | GhiChu | text | Ghi chú. | | BieuThucTinhToan | character varying | Công thức tính toán liên quan. | | TrangThaiCongThuc | character varying | Trạng thái công thức. | | TrangThaiCV | character varying | Trạng thái công việc. | | DanhSachThamSo | json | Danh sách tham số (JSON). | **Chi tiết trường dữ liệu**: - `LoaiCongViec`: Loại công việc - **Nhóm** - **Cá nhân** - `TrangThaiCV`: Trạng thái công việc - **Hoạt động**: Đang hoạt động - **Không hoạt động**: Ngưng hoạt động - `TrangThaiCongThuc`: Tháng thái công việc có sử dụng công thức hay không - Bật: Lúc chấm công công việc sẽ hiển thị các trường dữ liệu tương ứng với `DanhSachThamSo` - Tắt: Không hiển thị các trường dữ liệu trong `DanhSachThamSo` - `DanhSachThamSo`: Json chứa các trường dữ liệu cần thiết để tính ra tiền công của công việc dựa theo `BieuThucTinhToan` --- ### 20. BangChamCong **Mục đích**: Lưu trữ thông tin chấm công hàng ngày của nhân viên. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `congviec_id` → `CongViec(id)` - `nhanvien_id` → `NhanVien(id)` - `lichlamviec_id` → `LichLamViec(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | ThoiGianChamCongVao | time with time zone | Giờ vào làm. | | ThoiGianChamCongRa | time with time zone | Giờ ra về. | | ThoiGianLamViec | real | Tổng thời gian làm việc (giờ). | | NgayLamViec | date | Ngày chấm công. | | ThoiGianLamThem | real | Thời gian làm thêm (giờ). | | CoTinhLamThem | boolean | Có tính giờ làm thêm hay không. | | CoAnTrua | boolean | Có ăn trưa tại công ty hay không. | | ThoiGianDiMuon | integer | Thời gian đi muộn (phút). | | ThoiGianVeSom | integer | Thời gian về sớm (phút). | | ThoiGianDiSom | integer | Thời gian đi sớm (phút). | | ThoiGianVeMuon | integer | Thời gian về muộn (phút). | | LoaiChamCong | character varying | Loại chấm công (e.g., 'VP', 'SX'). | | TenCongViec | character varying | Tên công việc. | | CoPhaiNgayNghi | boolean | Có phải ngày nghỉ hay không. | | ThamSoTinhLuong | json | Tham số tính lương (dữ liệu động). | | ThanhTien | double precision | Số tiền tính được từ chấm công/Công, ca chấm công. | | GhiChu | text | Ghi chú bổ sung. | | congviec_id | bigint | Khóa ngoại tới bảng CongViec. | | nhanvien_id | bigint | Khóa ngoại tới bảng NhanVien. | | lichlamviec_id | bigint | Khóa ngoại tới bảng LichLamViec. | **Chi tiết trường dữ liệu**: - `LoaiChamCong`: Loại chấm công - **VP**: Chấm công theo loại văn phòng - **SX**: Chấm công theo loại sản xuất - `CoTinhLamThem`: - `Có`: sẽ tự động tính thêm lương giờ khi giờ chấm công > Giờ setup trong lịch làm việc - `Không` : Se không được tính thêm giờ kể cả giờ chấm công > Giờ setup - `ThoiGianDiMuon (minutes late)` - Mô tả: Số phút nhân viên đến sau giờ bắt đầu ca (actual_checkin - scheduled_start). - Giá trị lưu: thường >= 0; nếu nhân viên đúng giờ hoặc đến sớm thì lưu 0. - Ứng dụng: dùng để phạt/trừ công, báo cáo đi muộn. - `ThoiGianDiSom (minutes arrived early)` - Mô tả: Số phút nhân viên đến sớm hơn giờ bắt đầu ca (scheduled_start - actual_checkin). - Giá trị lưu: thường >= 0; nếu đến đúng giờ hoặc muộn thì lưu 0. - Ứng dụng: ít khi dùng để phạt; có thể dùng để cộng giờ làm thêm nếu chính sách quy định tính làm thêm cho thời gian đến sớm. - `ThoiGianVeSom (minutes left early)` - Mô tả: Số phút nhân viên rời khỏi trước giờ kết thúc ca (scheduled_end - actual_checkout). - Giá trị lưu: >= 0; nếu về đúng hoặc muộn thì lưu 0. - Ứng dụng: trừ công, cảnh báo, báo cáo. - `ThoiGianVeMuon (minutes left late / overtime end)` - Mô tả: Số phút nhân viên ở lại sau giờ kết thúc ca (actual_checkout - scheduled_end). - Giá trị lưu: >= 0; nếu về trước hoặc đúng giờ thì lưu 0. - Ứng dụng: căn cứ tính làm thêm (OT) nếu chính sách cho phép. --- ## MODULE 5: LÀM THÊM GIỜ ### 21. ThietKeLamThem **Mục đích**: Quản lý thiết kế chế độ làm thêm giờ. **Primary Key**: `id` (bigint, IDENTITY) **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | CoGioiHanThoiGian | boolean | Có giới hạn thời gian. | | GioiHanGioNgay | integer | Giới hạn giờ ngày. | | GioiHanGioTuan | integer | Giới hạn giờ tuần. | | GioiHanGioThang | integer | Giới hạn giờ tháng. | | GioiHanGioNam | integer | Giới hạn giờ năm. | | CoGioiHanNgay | boolean | Có giới hạn ngày. | | CoGioiHanTuan | boolean | Có giới hạn tuần. | | CoGioiHanThang | boolean | Có giới hạn tháng. | | CoGioiHanNam | boolean | Có giới hạn năm. | | TrangThai | character varying | Trạng thái (e.g., 'active', 'inactive'). | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | MaThietKe | character varying | Mã thiết kế. | | TenThietKe | character varying | Tên thiết kế. | --- ### 22. LoaiNgayApDung_LamThem **Mục đích**: Quản lý quy định làm thêm theo loại ngày. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `thietkelamthem_id` → `ThietKeLamThem(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | LoaiNgayApDung | character varying | Loại ngày áp dụng (e.g., 'weekday', 'holiday'). | | ChoPhepLamThemGio | boolean | Cho phép làm thêm giờ. | | CachThucTinh | character varying | Cách thức tính. | | NguongKhongTinhOT | real | Ngưỡng không tính OT. | | KhongTinhNeuDuoiPhut | real | Không tính nếu dưới phút này. | | ApDungNghiGiuaCa | boolean | Áp dụng nghỉ giữa ca. | | BatDauNghiGiuaCa | time without time zone | Bắt đầu nghỉ giữa ca. | | KetThucNghiGiuaCa | time without time zone | Kết thúc nghỉ giữa ca. | | CoQuyDoiLuongThem | boolean | Có quy đổi lương thêm. | | PhanTramLuongLamThem | real | Phần trăm lương làm thêm. | | TrangThai | character varying | Trạng thái (e.g., 'active', 'inactive'). | | thietkelamthem_id | bigint | Khóa ngoại tới bảng ThietKeLamThem. | | ApDungCheckinCheckout | boolean | Áp dụng check-in/check-out. | ![image](https://hackmd.io/_uploads/Byi4yQvRgx.png) **Chi tiết trường dữ liệu**: - `LoaiNgayApDung`: Loại ngày - **Ngày thường**: Làm thêm ngày thường - **Ngày nghỉ**: Làm thêm ngày nghỉ - **Ngày lễ**: Làm thêm ngày lễ - `CachThucTinh`: Cách tính - **Hết ca sẽ tính là làm thêm:** check out sau giờ hết ca thì khoảng thời gian dôi ra sẽ được tính là làm thêm (phải đủ công đối ca làm việc thời gian linh động) - **Nhân viên gửi đơn:** nhân viên phải gửi đơn thì mới được ghi nhận làm thêm. - Khi chọn lựa chọn này, nhân viên gửi đơn bao nhiêu tiếng thì sẽ được tính bấy nhiêu giờ làm thêm khi đơn được duyệt - Tuy nhiên, admin có thể kiểm soát giờ làm thêm bằng cách bật yêu cầu check out khi hết giờ làm thêm. Từ đó kết hợp cả đơn và check in check out thực tế để tính giờ làm thêm --- ### 23. LamThem_NhanVien **Mục đích**: Liên kết nhân viên với thiết kế làm thêm giờ. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `nhanvien_id` → `NhanVien(id)` - `thietkelamthem_id` → `ThietKeLamThem(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | TrangThai | character varying | Trạng thái (e.g., 'active', 'inactive'). | | nhanvien_id | bigint | Khóa ngoại tới bảng NhanVien. | | thietkelamthem_id | bigint | Khóa ngoại tới bảng ThietKeLamThem. | --- ## MODULE 6: QUẢN LÝ NGHỈ PHÉP ### 24. QuyNghi **Mục đích**: Quản lý quỹ nghỉ phép, có những ngày nghỉ như thế nào. **Primary Key**: `id` (bigint, IDENTITY) **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | MaQuyNghi | character varying | Mã quy nghỉ. | | TenQuyNghi | character varying | Tên quy nghỉ. | | TinhCongChoNgayNghi | boolean | Tính công cho ngày nghỉ. | | NgayPhatHanhQuyNghi | date | Ngày phát hành quy nghỉ. | | DonViNgayPhatHanh | character varying | Đơn vị ngày phát hành. | | GioiHanNVTheoThamNien | boolean | Giới hạn nhân viên theo thâm niên. | | ThoiGianGioiHanTheoThamNien | real | Thời gian giới hạn theo thâm niên. | | GioiHanNgayNghi | boolean | Giới hạn ngày nghỉ. | | DonViQuyNghi | character varying | Đơn vị quy nghỉ. | | PhanBoNgayNghiTyLeThuanThamNien | boolean | Phân bố ngày nghỉ tỷ lệ thâm niên. | | KyApDung | character varying | Kỳ áp dụng. | | LoaiQuyDinhNgayNghi | character varying | Loại quy định ngày nghỉ. | | CongDonNgayNghiQuaNam | boolean | Cộng dồn ngày nghỉ qua năm. | | SoNgayToiDaCongDonQuaNamSau | real | Số ngày tối đa cộng dồn qua năm sau. | | ThoiGianApDungSoDu | real | Thời gian áp dụng số dư. | | QuyDoiNgayNghiThanhTien | boolean | Quy đổi ngày nghỉ thành tiền. | | SoNgayToiDaDuocQuyDoi | real | Số ngày tối đa được quy đổi. | | LoaiQuyDoiNgayNghi | character varying | Loại quy đổi ngày nghỉ. | **Chi tiết trường dữ liệu**: - `KyApDung`: Kỳ áp dụng - **Theo năm** - **Theo tháng** - **Làm thêm** - `PhanBoNgayNghiTyLeThuanThamNien`: ý nghĩa là nếu tích thì những nhân viên mới vào làm sau ngày cấp phát nghỉ phép ( ví dụ cấp phát là 1/1 hằng năm) nhưng nhân viên đi làm từ tháng 5 thì sẽ tính ngày nghỉ từ tháng 5 đến tháng 12 cho nhân viên đó. Nếu không tích thì sẽ áp dụng theo quy tắc của quỹ nghỉ đó - Cách tính ngày nghỉ còn lại trong năm: - Quy tắc: là được nghỉ bao nhiêu ngày trong năm của quỹ nghỉ đó, ví dụ được nghỉ 24 ngày và nhân viên bắt đầu đi làm từ 12/9 => nếu tích phân bổ ngày nghỉ tỷ lệ thuận với thâm niên thì ngày nghỉ của nhân viên mới sẽ là = 24/365 * (số ngày còn lại của năm tính từ ngày bắt đầu làm việc) - `LoaiQuyDinhNgayNghi`: Chính là phần Quy định tích lũy trong Acheckin - 'Tăng cố định theo thâm niên': sau x năm thâm niên thì được nhận y ngày nghỉ mỗi năm. Có thể thêm/xóa các khoảng thâm niên - 'Tăng tịnh tiến theo thâm niên': cứ sau x năm thì được cộng thêm y ngày vào tổng số ngày nghỉ mỗi năm hiện có - 'Cố định theo năm': mỗi năm nhận được y ngày nghỉ, con số cố định không thay đổi ![image](https://hackmd.io/_uploads/SyPsEXP0eg.png) --- ### 25. QuyNghi_TheoThamNien **Mục đích**: Quản lý quy nghỉ theo thâm niên. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `quynghi_id` → `QuyNghi(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | NamThamNien | real | Năm thâm niên. | | SoNgayNghiDuocCap | real | Số ngày nghỉ được cấp. | | SoNamThamNienTinhTien | real | Số năm thâm niên tính tiền. | | SoNgayNghiTuongUngCongThem | real | Số ngày nghỉ tương ứng cộng thêm. | | quynghi_id | bigint | Khóa ngoại tới bảng QuyNghi. | --- ### 26. QuyNghi_NhanVien **Mục đích**: Liên kết nhân viên với quy định nghỉ phép. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `nhanvien_id` → `NhanVien(id)` - `quynghi_id` → `QuyNghi(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | TrangThai | character varying | Trạng thái (e.g., 'active', 'inactive'). | | nhanvien_id | bigint | Khóa ngoại tới bảng NhanVien. | | quynghi_id | bigint | Khóa ngoại tới bảng QuyNghi. | --- ### 27. SoDuNgayNghiPhep **Mục đích**: Quản lý số dư ngày nghỉ phép của nhân viên. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `quynghi_id` → `QuyNghi(id)` - `nhanvien_id` → `NhanVien(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | SoNgayDuocCap | real | Số ngày được cấp. | | SoNgayDaSuDung | real | Số ngày đã sử dụng. | | SoNgayDuocChuyenTuNamTruoc | real | Số ngày chuyển từ năm trước. | | SoNgayDieuChinh | real | Số ngày điều chỉnh. | | NamApDung | real | Năm áp dụng. | | ThoiGianTinhToanCuoiCung | real | Thời gian tính toán cuối cùng. | | quynghi_id | bigint | Khóa ngoại tới bảng QuyNghi. | | nhanvien_id | bigint | Khóa ngoại tới bảng NhanVien. | --- ## MODULE 7: QUẢN LÝ ĐƠN BÁO ### 28. DonBao_LuongDuyet **Mục đích**: Quản lý luồng duyệt đơn báo. **Primary Key**: `id` (bigint, IDENTITY) **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | TenLuongDuyet | character varying | Tên luồng duyệt. | | MaLuongDuyet | character varying | Mã luồng duyệt. | | GhiChu | text | Ghi chú. | | TrangThai | character varying | Trạng thái (e.g., 'active', 'inactive'). | --- ### 29. DonBao_BuocQuyTrinhDuyet **Mục đích**: Quản lý các bước trong quy trình duyệt đơn. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `luongduyet_id` → `DonBao_LuongDuyet(id)` - `nhanvien_id` → `NhanVien(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | LoaiNut | character varying | Loại nút (e.g., 'approval', 'condition'). | | TenNut | character varying | Tên nút. | | VaiTroNguoiDuyet | character varying | Vai trò người duyệt (e.g., 'manager'). | | GhiChu | text | Ghi chú. | | nhanvien_id | bigint | Khóa ngoại tới bảng NhanVien. | | luongduyet_id | bigint | Khóa ngoại tới bảng DonBao_LuongDuyet. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | ThoiGianXuLyToiDa | real | Thời gian xử lý tối đa (giờ). | | HanhDongKhiQuaHan | character varying | Hành động khi quá hạn (e.g., 'auto_approve'). | **Chi tiết trường dữ liệu**: - `VaiTroNguoiDuyet`: Vai trò - **Trưởng phòng**: Trưởng phòng duyệt - **Giám đốc**: Giám đốc duyệt - **Nhân sự**: Phòng nhân sự duyệt - **Người quản lý trực tiếp**: Quản lý trực tiếp duyệt --- ### 30. DonBao_BuocChuyenQuyTrinh **Mục đích**: Quản lý các bước chuyển quy trình duyệt đơn. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `luongduyet_id` → `DonBao_LuongDuyet(id)` - `NutBatDau` → `DonBao_BuocQuyTrinhDuyet(id)` - `NutKeTiep` → `DonBao_BuocQuyTrinhDuyet(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | NutBatDau | bigint | Khóa ngoại tới nút bắt đầu. | | NutKeTiep | bigint | Khóa ngoại tới nút tiếp theo. | | luongduyet_id | bigint | Khóa ngoại tới bảng DonBao_LuongDuyet. | --- ### 31. DonBao_DieuKienCuaBuocDuyet **Mục đích**: Lưu trữ điều kiện cho các bước duyệt. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `cacbuocduyet_id` → `DonBao_BuocChuyenQuyTrinh(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | cacbuocduyet_id | bigint | Khóa ngoại tới bảng DonBao_BuocChuyenQuyTrinh. | | NguonDuLieu | character varying | Nguồn dữ liệu kiểm tra (e.g, 'REQUEST_DETAILS', 'REQUESTER_INFO). | | TruongDuLieuCanKiemTra | character varying | Trường dữ liệu cần kiểm tra. (e.g, 'department_id', 'so_ngay_nghi_tinh_cong') | | ToanTuSoSanh | character varying | Toán tử so sánh (e.g., '=', '>'). | | GiaTriSoSanh | character varying | Giá trị so sánh. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | **Giải thích chi tiết**: - **`NguonDuLieu` (Nguồn dữ liệu)**: Là một danh sách các "ngữ cảnh" (contexts) mà bạn định nghĩa trước trong code. - `'REQUEST_DETAILS'`: Chỉ cho hệ thống tìm trong cột **JSON `details`** của chính đơn báo đó. - `'REQUESTER_INFO'`: Chỉ cho hệ thống tìm trong thông tin của người làm đơn (tức là bảng **`employees`**). - **`TruongDuLieuCanKiemTra` (Tên trường)**: Là tên của một trường dữ liệu hoặc một "key" trong JSON tương ứng với nguồn đã chọn. --- ### 32. DonBao_LoaiDonBao **Mục đích**: Quản lý loại đơn báo. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `luongduyet_id` → `DonBao_LuongDuyet(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | TenLoaiDonBao | character varying | Tên loại đơn báo. | | MaLoaiDonBao | character varying | Mã loại đơn báo. | | TrangThai | character varying | Trạng thái (e.g., 'active', 'inactive'). | | GhiChu | text | Ghi chú. | | luongduyet_id | bigint | Khóa ngoại tới bảng DonBao_LuongDuyet. | --- ### 33. DonBao_LoaiDonBao_TruongDuLieu **Mục đích**: Quản lý trường dữ liệu cho từng loại đơn báo. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `loaidonbao_id` → `DonBao_LoaiDonBao(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | TenTruong | character varying | Tên trường dữ liệu. | | MaTruong | character varying | Mã trường dữ liệu. | | KieuDuLieu | character varying | Kiểu dữ liệu (e.g., 'text', 'date'). | | CoBatBuoc | boolean | Có bắt buộc hay không. | | CauHinh | json | Cấu hình trường (JSON) (e.g, {"options":["PHEP_NAM","KHONG_LUONG"]}). | | MoTa | text | Mô tả trường. | | ThuTuHienThi | integer | Thứ tự hiển thị. | | ThamChieuBang | character varying | Tham chiếu tới bảng khác (e.g., hrm.QuyNghi). | | loaidonbao_id | bigint | Khóa ngoại tới bảng DonBao_LoaiDonBao. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | --- ### 34. DonBao **Mục đích**: Quản lý các đơn báo (nghỉ phép, làm thêm, v.v.). **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `loaidonbao_id` → `DonBao_LoaiDonBao(id)` - `nhanvien_id` → `NhanVien(id)` - `BuocDuyetHienTai` → `DonBao_BuocQuyTrinhDuyet(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | TenDonBao | character varying | Tên đơn báo. | | MaDonBao | character varying | Mã đơn báo. | | BuocDuyetHienTai | bigint | Khóa ngoại tới bước duyệt hiện tại. | | TrangThai | character varying | Trạng thái đơn (e.g., 'pending', 'approved'). | | LyDo | text | Lý do đơn báo. | | loaidonbao_id | bigint | Khóa ngoại tới bảng DonBao_LoaiDonBao. | | nhanvien_id | bigint | Khóa ngoại tới bảng NhanVien. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | DuLieuChiTietTungLoaiDon | json | Dữ liệu chi tiết từng loại đơn (JSON). | **Chi tiết trường dữ liệu**: - `TrangThai`: Trạng thái đơn - **Nháp**: Mới tạo, chưa gửi - **Chờ duyệt**: Đang chờ xét duyệt - **Đã duyệt**: Đã được phê duyệt - **Từ chối**: Bị từ chối - **Hủy**: Đã hủy --- ### 35. DonBao_NhatKyPheDuyet **Mục đích**: Lưu trữ lịch sử phê duyệt đơn báo. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `donbao_id` → `DonBao(id)` - `nguoiduyet_id` → `NhanVien(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | TenThuTuThucHien | character varying | Tên thứ tự thực hiện. | | LoaiHanhDongDuyet | character varying | Loại hành động duyệt (e.g., 'SUBMITTED', 'APPROVED'). | | nguoiduyet_id | bigint | Khóa ngoại tới người duyệt. | | TrangThaiCuaDonTruocHanhDong | character varying | Trạng thái đơn trước hành động. | | TrangThaiCuaDonSauHanhDong | character varying | Trạng thái đơn sau hành động. | | GhiChu | text | Ghi chú. | | ThoiDiemThucHien | timestamp without time zone | Thời điểm thực hiện. | | donbao_id | bigint | Khóa ngoại tới bảng DonBao. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | **Giải thích chi tiết**: - **`LoaiHanhDongDuyet` (Hành động)**: Mô tả **hành động (verb)** mà người dùng đã thực hiện. Nó trả lời câu hỏi: "Người dùng đã **làm gì**?". - Ví dụ: `APPROVED` (Đã duyệt), `REJECTED` (Đã từ chối), `COMMENTED` (Đã bình luận), `SUBMITTED` (Đã gửi). - **`TrangThaiCuaDonTruocHanhDong` / `TrangThaiCuaDonSauHanhDong` (Trạng thái)**: Mô tả **trạng thái (state)** của đơn báo **trước và sau** khi hành động diễn ra. Nó trả lời câu hỏi: "Kết quả của hành động đó là gì?". **Ví dụ trong luồng duyệt nhiều cấp**: Hãy xem một đơn xin nghỉ có 2 cấp duyệt: Quản lý trực tiếp (QLTT) → Trưởng phòng (TP). | Ai làm? | `Hành động` | `Trạng thái trước` | `Trạng thái sau` | Diễn giải | |:---|:---|:---|:---|:---| | Nhân viên | `SUBMITTED` | `DRAFT` | `PENDING_MANAGER` | Nhân viên **gửi** đơn. Trạng thái chuyển từ "Nháp" sang "Chờ QLTT duyệt". | | QLTT | `APPROVED` | `PENDING_MANAGER` | `PENDING_DEPT_HEAD` | QLTT **duyệt**. Trạng thái chuyển từ "Chờ QLTT" sang "Chờ TP duyệt". | | TP | `REJECTED` | `PENDING_DEPT_HEAD` | `REJECTED` | TP **từ chối**. Trạng thái chuyển từ "Chờ TP" sang "Bị từ chối". | --- ## MODULE 8: QUẢN LÝ LƯƠNG ### 36. NhomPhanTuLuong **Mục đích**: Quản lý nhóm thành phần lương. **Primary Key**: `id` (bigint, IDENTITY) **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | TenNhom | character varying | Tên nhóm. | | MaNhom | character varying | Mã nhóm. | --- ### 37. PhanTuLuong **Mục đích**: Quản lý thành phần lương. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `nhomphantu_id` → `NhomPhanTuLuong(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | TenPhanTu | character varying | Tên thành phần. | | MaPhanTu | character varying | Mã thành phần. | | LoaiPhanTu | character varying | Loại thành phần (e.g., 'income'). | | MoTa | text | Mô tả. | | TrangThai | character varying | Trạng thái (e.g., 'active', 'inactive'). | | nhomphantu_id | bigint | Khóa ngoại tới bảng NhomPhanTuLuong. | **Chi tiết trường dữ liệu**: - `LoaiPhanTu`: Loại phần tử - **Thu nhập**: Lương cơ bản, phụ cấp, thưởng, hoa hồng... - **Khấu trừ**: BHXH, BHYT, BHTN, thuế TNCN... --- ### 38. CheDoLuong **Mục đích**: Quản lý chế độ lương của công ty. **Primary Key**: `id` (bigint, IDENTITY) **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | MaCheDo | character varying | Mã chế độ lương. | | TenCheDo | character varying | Tên chế độ lương. | | GhiChu | text | Ghi chú. | | NgayApDung | date | Ngày áp dụng chế độ lương. | | NgayHetHan | date | Ngày hết hạn chế độ lương. | | TrangThai | character varying | Trạng thái (e.g., 'active', 'inactive'). | --- ### 39. QuyTacCheDoLuong **Mục đích**: Quản lý quy tắc chế độ lương. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `chedoluong_id` → `CheDoLuong(id)` - `phantuluong_id` → `PhanTuLuong(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | TenQuyTac | character varying | Tên quy tắc. | | MaQuyTac | character varying | Mã quy tắc. | | BieuThucTinhToan | character varying | Biểu thức tính toán. | | MoTa | text | Mô tả. | | NguonDuLieu | character varying | Nguồn dữ liệu. | | TrangThai | character varying | Trạng thái (e.g., 'active', 'inactive'). | | chedoluong_id | bigint | Khóa ngoại tới bảng CheDoLuong. | | phantuluong_id | bigint | Khóa ngoại tới bảng PhanTuLuong. | **Chi tiết trường dữ liệu**: - `NguonDuLieu`: Nguồn dữ liệu - **Nhập tay**: Nhập thủ công - **Công thức**: Tự động tính theo công thức - **Hệ thống**: Lấy từ dữ liệu hệ thống , chấm công, Bảng `ThietLapSoLieuCoDinh` --- ### 40. ThietLapSoLieuCoDinh **Mục đích**: Quản lý số liệu cố định cho nhân viên. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `nhanvien_id` → `NhanVien(id)` - `phantuluong_id` → `PhanTuLuong(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | nhanvien_id | bigint | Khóa ngoại tới bảng NhanVien. | | phantuluong_id | bigint | Khóa ngoại tới bảng PhanTuLuong. | | GiaTriMacDinh | double precision | Giá trị mặc định. | | GhiChu | text | Ghi chú. | --- ### 41. NhanVien_CheDoLuong **Mục đích**: Liên kết nhân viên với chế độ lương. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `chedoluong_id` → `CheDoLuong(id)` - `nhanvien_id` → `NhanVien(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | TrangThai | character varying | Trạng thái (e.g., 'active', 'inactive'). | | chedoluong_id | bigint | Khóa ngoại tới bảng CheDoLuong. | | nhanvien_id | bigint | Khóa ngoại tới bảng NhanVien. | --- ### 42. PhongBan_CheDoLuong (Bỏ đi) **Mục đích**: Liên kết phòng ban với chế độ lương. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `chedoluong_id` → `CheDoLuong(id)` - `phongban_id` → `PhongBan(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | TrangThai | character varying | Trạng thái (e.g., 'active', 'inactive'). | | chedoluong_id | bigint | Khóa ngoại tới bảng CheDoLuong. | | phongban_id | bigint | Khóa ngoại tới bảng PhongBan. | --- ### 43. KyLuong **Mục đích**: Quản lý kỳ lương của công ty. **Primary Key**: `id` (bigint, IDENTITY) **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | Thang | smallint | Tháng của kỳ lương. | | NgayBatDau | date | Ngày bắt đầu kỳ lương. | | NgayKetThuc | date | Ngày kết thúc kỳ lương. | | NgayChotLuong | date | Ngày chốt lương. | --- ### 44. BangLuong **Mục đích**: Quản lý bảng lương tổng hợp của kỳ lương. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `kyluong_id` → `KyLuong(id)` - `chedoluong_id` → `CheDoLuong(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | MaBangLuong | character varying | Mã bảng lương. | | TenBangLuong | character varying | Tên bảng lương. | | TongSoLuongNhanVien | integer | Tổng số nhân viên trong bảng lương. | | TongTienLuong | double precision | Tổng tiền lương. | | GhiChu | text | Ghi chú. | | NgayTao | date | Ngày tạo bảng lương. | | NguoiTao | character varying | Người tạo bảng lương. | | TrangThai | character varying | Trạng thái (e.g., 'draft', 'final'). | | kyluong_id | bigint | Khóa ngoại tới bảng KyLuong. | | chedoluong_id | bigint | Khóa ngoại tới bảng CheDoLuong. | **Chi tiết trường dữ liệu**: - `TrangThai`: Trạng thái bảng lương - **Nháp**: Đang soạn thảo - **Chờ duyệt**: Chờ phê duyệt - **Đã duyệt**: Đã được duyệt - **Đã chi trả**: Đã chuyển khoản --- ### 45. PhieuLuong **Mục đích**: Quản lý phiếu lương của nhân viên, các phiếu lương sẽ nằm trong bảng lương. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `bangluong_id` → `BangLuong(id)` - `nhanvien_id` → `NhanVien(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | TenPhieuLuong | character varying | Tên phiếu lương. | | MaPhieuLuong | character varying | Mã phiếu lương. | | NgayPhatHanh | date | Ngày phát hành. | | TenNhanVien | character varying | Tên nhân viên (denormalized). | | TenPhongBan | character varying | Tên phòng ban (denormalized). | | TenChucVu | character varying | Tên chức vụ (denormalized). | | TongThuNhap | double precision | Tổng thu nhập. | | TongKhauTru | double precision | Tổng khấu trừ. | | TongThuNhapChiuThue | double precision | Tổng thu nhập chịu thuế. | | TongTienDongBaoHiem | double precision | Tổng tiền đóng bảo hiểm. | | SoTienThueTNCN | double precision | Số tiền thuế TNCN. | | NgayChamCong | json | Dữ liệu chấm công (JSON). | | LuongThucLinh | double precision | Lương thực lĩnh. | | TrangThai | character varying | Trạng thái (e.g., 'draft', 'final'). | | GhiChu | text | Ghi chú. | | nhanvien_id | bigint | Khóa ngoại tới bảng NhanVien. | | bangluong_id | bigint | Khóa ngoại tới bảng BangLuong. | --- ### 46. CTPhieuLuong **Mục đích**: Chi tiết các thành phần lương trong phiếu lương. **Primary Key**: `id` (bigint, IDENTITY) **Foreign Keys**: - `phieuluong_id` → `PhieuLuong(id)` **Cột**: | Tên Cột | Kiểu Dữ Liệu | Mô Tả | |----------|--------------|-------| | id | bigint | Khóa chính, tự động tăng. | | created_at | timestamp with time zone | Thời điểm tạo bản ghi. | | updated_at | timestamp with time zone | Thời điểm cập nhật bản ghi. | | MaPhanTuLuong | character varying | Mã thành phần lương. | | TenPhanTuLuong | character varying | Tên thành phần lương. | | LoaiPhanTu | character varying | Loại thành phần (e.g., 'income', 'deduction'). | | NguonDuLieu | text | Nguồn dữ liệu tính toán. | | BieuThucTinhToan | character varying | Công thức tính toán. | | GiaTriDauVao | json | Dữ liệu đầu vào (JSON). | | GiaTriTinhDuoc | double precision | Giá trị tính toán được. | | ThuTuHienThi | smallint | Thứ tự hiển thị trên phiếu lương. | | phieuluong_id | bigint | Khóa ngoại tới bảng PhieuLuong. | --- # NOTE CÁC LUỒNG THỰC HIỆN ## 1. Luồng duyệt trong đơn báo Hãy xem hệ thống xử lý ví dụ của bạn như thế nào: * **Yêu cầu:** Bước 1: HR duyệt. Bước 2: Phân nhánh theo phòng ban (A, B). Bước 3: Gộp lại cho Giám đốc duyệt. **Cấu hình luồng duyệt:** 1. **`DonBao_BuocQuyTrinhDuyet`**: Tạo 5 nút: START, HR_APPROVAL, DEPT_A_APPROVAL, DEPT_B_APPROVAL, DIRECTOR_APPROVAL, END. 2. **`DonBao_BuocChuyenQuyTrinh` & `DonBao_DieuKienCuaBuocDuyet`**: * **Cạnh 1 (Không điều kiện):** `NutBatDau`: START -> `NutKeTiep`: HR_APPROVAL. * **Cạnh 2 (Có điều kiện):** `NutBatDau`: HR_APPROVAL -> `NutKeTiep`: DEPT_A_APPROVAL. * `DonBao_DieuKienCuaBuocDuyet`: `NguonDuLieu`='REQUESTER_INFO', `TruongDuLieuCanKiemTra`='department_id', `ToanTuSoSanh`='=', `GiaTriSoSanh`='ID_PHONG_A'. * **Cạnh 3 (Có điều kiện):** `NutBatDau`: HR_APPROVAL -> `NutKeTiep`: DEPT_B_APPROVAL. * `transition_conditions`: `NguonDuLieu`='REQUESTER_INFO', `TruongDuLieuCanKiemTra`='department_id', `ToanTuSoSanh`='=', `GiaTriSoSanh`='ID_PHONG_B'. * **Cạnh 4 (Không điều kiện - Gộp nhánh):** `NutBatDau`: DEPT_A_APPROVAL -> `NutKeTiep`: DIRECTOR_APPROVAL. * **Cạnh 5 (Không điều kiện - Gộp nhánh):** `NutBatDau`: DEPT_B_APPROVAL -> `NutKeTiep`: DIRECTOR_APPROVAL. * **Cạnh 6 (Không điều kiện):** `NutBatDau`: DIRECTOR_APPROVAL -> `NutKeTiep`: END. **Luồng xử lý khi nhân viên Phòng A tạo đơn:** 1. **Tạo đơn:** Đơn được tạo với `current_step_id` là START. 2. **Chuyển đến Bước 1:** Hệ thống tìm cạnh nối từ START -> HR_APPROVAL. Đơn được chuyển cho HR duyệt. 3. **HR Duyệt -> Phân nhánh:** HR duyệt đơn. Hệ thống tìm các cạnh nối đi ra từ HR_APPROVAL. * Nó thấy có 2 cạnh (đến DEPT_A và DEPT_B). * Nó kiểm tra điều kiện của từng cạnh. Điều kiện `department_id` = 'ID_PHONG_A' đúng. Điều kiện kia sai. * Hệ thống cập nhật `current_step_id` thành DEPT_A_APPROVAL và thông báo cho Trưởng phòng A. 4. **Trưởng phòng A Duyệt -> Gộp nhánh:** TP.A duyệt đơn. Hệ thống tìm cạnh nối đi ra từ DEPT_A_APPROVAL. * Chỉ có một cạnh duy nhất không điều kiện đến DIRECTOR_APPROVAL. * Hệ thống cập nhật `current_step_id` thành DIRECTOR_APPROVAL và thông báo cho Giám đốc. 5. **Giám đốc Duyệt -> Kết thúc:** Giám đốc duyệt. Hệ thống tìm cạnh nối từ DIRECTOR_APPROVAL -> END. Đơn được cập nhật `status` thành 'APPROVED' và kích hoạt các hành động sau phê duyệt (cập nhật chấm công). ## 2. Luồng hoạt động Module 3 QUẢN LÝ CA LÀM VIỆC VÀ LỊCH LÀM VIỆC 1. **Thiết lập ca làm việc:** - Quản trị viên tạo ca làm việc (Ca sáng, ca chiều, ca tối, ca đêm) - Định nghĩa khung giờ: Giờ vào - giờ ra - Thiết lập khung giờ nghỉ trưa (nếu có) - Cấu hình quy tắc: Cho phép đến muộn bao nhiêu phút, về sớm bao nhiêu phút 2. **Tạo lịch làm việc:** - **Lịch cố định**: Thiết lập ca cho từng ngày trong tuần - **Lịch lịch trình**: Tạo chu kỳ (ví dụ: 15 ngày), thiết lập ca cho từng ngày trong chu kỳ 3. **Gán lịch làm việc:** - Gán lịch cho toàn bộ phòng ban hoặc từng nhân viên cụ thể - Thiết lập ngày áp dụng và ngày kết thúc 4. **Thiết lập lịch nghỉ:** - Tạo danh sách ngày lễ, tết trong năm - Định nghĩa hệ số làm việc nếu làm vào ngày nghỉ (150%, 200%, 300%) 5. **Điều chỉnh lịch thực tế:** - Quản trị viên có thể điều chỉnh lịch cho từng nhân viên theo nhu cầu - Đánh dấu cho phép ghi đè để nhân viên có thể yêu cầu thay đổi ## 3. Luồng hoạt động Module 1: QUẢN LÝ TỔ CHỨC VÀ NHÂN SỰ + Module 2: HỢP ĐỒNG LAO ĐỘNG 1. **Đăng ký - Developer sẽ đăng ký tài khoản với quyền admin cho phần mềm HRM, sau đó sẽ setup thông tin đầu vào cho công ty** 2. **Setup thông tin danh mục hệ thống** - Setup thông tin Loại nhân viên - Tiếp đến là thông tin ngân hàng - Tiếp đến là thông tin bảo hiểm - Tiếp đến là setup thông tin hợp đồng lao động - Tiếp đến sẽ tạo danh sách các chức danh (trưởng phòng, phó phòng, giám đốc, phó giám đốc,...) - Tiếp đến là sẽ setup thông tin công ty (thông tin chi tiết) 3. **Thiết lập cơ cấu tổ chức và cây nhân sự:** - Sau đó Admin sẽ thiết lập cấu trúc Công ty - Phòng ban - Bộ phận, và phân cấp quản lý + người quản lý - Tìm kiếm nhân viên và tìm kiếm bộ phận (có thể chia rạch ròi) - Nhập bộ phận (để sau) - Bộ lọc danh sách nhân viên theo trạng thái nhân viên (đang làm, đã nghỉ, chưa kích hoạt) + giới tính - Chi tiết thông tin nhân sự + Sửa thông tin nhân sự + Thông tin cơ bản sẽ giống như trong thiết kế database + Thông tin nâng cao: + Quá trình công tác + Hợp đồng lao động: chọn hợp đồng lao động, công ty ký hợp đồng từ phần danh mục, và điền các thông tin # + TK Ngân hàng: lấy từ dữ liệu danh mục + Thuế thu nhập cá nhân: mã số thuế + BHXH + BHYT + BH khác: đây là các thông tin về bảo hiểm (số sổ, ngày đóng,..) của nhân viên đó - Thêm trường dữ liệu vào bảng NhanVien - Nhập/ xuất danh sách: để phát triển sau - Thêm nhân sự: loại nhân viên sẽ dropdown với dữ liệu setup sẵn (cộng tác viên, nhân viên, thử việc,...) - Xóa nhân sự + cho nghỉ việc - Phân trang danh sách nhân viên 4. **Quản lý thông tin:** - Quản lý hợp đồng: Tổng hợp các hợp đồng của các nhân viên + bộ lọc theo các tiêu chí (bộ phận, trạng thái - chưa có hiệu lực, có hiệu lực, đã hết hạn), ... (các tiêu chí như acheckin) - Quản lý tạm ứng + quản lý bồi thường (phát triển sau) 5. **Báo cáo:** - Báo cáo thống kê nhân sự: theo các tiêu chí như Loại nhân viên, giới tính, chức danh, thâm niên, độ tuổi,... - Báo cáo biến động nhân sự: theo các tiêu chí như loại thời gian, bộ phận, chức danh,... (như acheckin)

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully