● Quản lý tài khoản người dùng và phân quyền ● Quản lý thông tin cá nhân của nhân viên ● Quản lý thông tin vị trí công việc, lịch sử công việc, chức vụ.... Mô tả Đăng nhập vào hệ thống M
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
ĐẠI HỌC QUỐC GIA TP HCM
BÁO CÁO MÔN HỌC ĐỒ ÁN 2
Đề tài:
XÂY DỰNG ỨNG DỤNG QUẢN LÝ DOANH NGHIỆP
Giảng viên hướng dẫn:
Thầy Huỳnh Nguyễn Khắc Huy
Nhóm sinh viên thực hiện:
Nguyễn Huỳnh Lợi Đào Mạnh Dũng
Trang 2Chương 1 Giới thiệu đề tài 3
Trang 3Chương 1 Giới thiệu đề tài
1.1 Dẫn nhập
Xã hội ngày càng phát triển cùng với những tiến bộ khoa học kĩ thuật vượt bậc Do công nghệ ngày càng được ứng dụng mạnh mẽ nên các lĩnh vực phát triển theo hướng tự động hóa giúp giảm sức nhân công, tăng hiệu suất làm việc Trở về thực tại, nhiều doanh nghiệp khi mở rộng quy mô kinh doanh, số lượng nhân viên tăng lên thì gặp khó khăn trong công tác quản lý nhân sự Ứng dụng quản lý nhân
sự dưới đây ra đời nhằm mục đích giảm thiểu thời gian, công sức cho việc quản lý nhân sự
● Quản lý tài khoản người dùng và phân quyền
● Quản lý thông tin cá nhân của nhân viên
● Quản lý thông tin vị trí công việc, lịch sử công việc, chức vụ
● Chấm công thời gian làm việc, tính lương nhân viên
1.2.3 Kết quả hướng tới
Hướng tới việc xây dựng một hệ thống quản lý có ứng dụng client trên nền web chạy ổn định, đáp ứng các yêu cầu quản lý cơ bản và có thể phát triển sau này
Trang 4Chương 2 Các kiến thức công nghệ, nền tảng
2.1 Dotnet Core
ASP.NET Core là một web framework mã nguồn và được tối ưu hóa cho cloud để phát triển các ứng dụng web chạy trên nhiều nền tảng như Windows, Linux và Mac Hiện tại, nó bao gồm MVC framework được kết hợp các tính năng của MVC và Web API thành một web framework duy nhất
Các ứng dụng ASP.NET Core có thể chạy trên NET Core hoặc trên NET Framework hoàn chỉnh
2.2 Entity Framework Core
Entity Framework Core là phiên bản mới của Entity Framework sau EF 6.x
Nó là mã nguồn mở, nhẹ, có thể mở rộng và là phiên bản đa nền tảng của công nghệ truy cập dữ liệu Entity Framework
Entity Framework là một framework Object/Relational Mapping (O/RM - ánh xạ quan hệ/đối tượng) Đây là một cải tiến của ADO.NET, cung cấp cho các nhà phát triển một cơ chế tự động để truy cập và lưu trữ dữ liệu trong cơ sở dữ liệu
EF Core được dự định sẽ sử dụng với các ứng dụng NET Core Tuy nhiên,
nó cũng có thể được sử dụng với các ứng dụng dựa trên NET Framework 4.5+ tiêu chuẩn
Trang 52.3 Reactjs
React là một thư viện Javascript nhằm đơn giản hóa việc phát triển giao diện trực quan được phát triển tại facebook và phát hành vào năm 2013, React được sử dụng làm thư viện font-end chính của facebook và instagram từ khi nó ra mắt Hiện nay số lượng ứng dụng React đang tăng lên rất nhanh
Mục tiêu chính của nó là làm cho chúng ta dễ dàng hình dung về một giao diện và trạng thái của nó tại bất kỳ thời điểm nào, bằng cách chia UI thành một bộ các “Component”
React được sử dụng để xây dựng các ứng dụng single page application
Trang 6Chương 3 Xây dựng ứng dụng
3.1 Usecase
a) Quản lý tài khoản
Trang 7b) Quản lý thông tin cá nhân
Trang 8c) Quản lý cơ cấu tổ chức
Trang 9d) Quản lý vị trí công việc
Trang 10e) Chấm công
Trang 11f) Tính lương
Trang 12Mô tả Đăng nhập vào hệ thống
Main Flow - Người dùng nhập tên đăng nhập và mật
khẩu
- Nhấn nút đăng nhập
- Hệ thống xác thực thông tin đăng nhập
- Nếu thông tin đăng nhập đúng thì cho phép đăng nhập người dùng vào hệ thống
- Nếu thông tin đăng nhập sai thì thông báo lỗi ra màn hình
Alternative Flow(s) Nếu nhập thiếu thông tin, thông báo lỗi
Mô tả Tạo tạo tài khoản người dùng
Main Flow - Quản lý nhập thông tin tài khoản
- Nhấn nút tạo tài khoản
- Hệ thống tạo tài khoản Alternative Flow(s)
Mô tả
Main Flow - Quản lý chọn tài khoản
- Đến trang chỉnh sửa role
Trang 13- Chọn role mới
- Bấm đồng ý Alternative Flow(s)
Main Flow Đến trang thay đổi mật khẩu
Nhập mật khẩu mới Nhập lại mật khẩu mới Bấm đồng ý
Alternative Flow(s)
Usecase Chỉnh sửa thông tin cá nhân
Mô tả Chỉnh sửa thông tin cá nhân Main Flow Đến trang thông tin cá nhân
Nhập thông tin mới Bấm cập nhật Alternative Flow(s)
Usecase Cập nhật thông tin nhân viên
Mô tả Cập nhật thông tin nhân viên Main Flow - Vào trang thông tin nhân viên
- Nhập thông tin mới
- Bấm cập nhật Alternative Flow(s)
Trang 14Usecase Xem thông tin cá nhân
Mô tả Xem thông tin cá nhân
Xem thông tin Alternative Flow(s)
Mô tả Tạo đơn vị trong cơ cấu tổ chức
Main Flow - Bấm nút tạo mới ở đơn vị cha
- Điền thông tin
- Bấm đồng ý Alternative Flow(s)
Mô tả Chỉnh sửa thông tin đơn vị trong cơ cấu tổ
chức Main Flow Bấm chỉnh sửa đơn vị
Nhập thông tin mới Bấm cập nhật Alternative Flow(s)
Main Flow Chọn nút xóa cạnh đơn vị
Bấm nút xóa Chọn xác nhận
Trang 15Alternative Flow(s)
Mô tả Xem cơ cấu tổ chức
Main Flow Vào mục cơ cấu tổ chức
Usecase Chỉnh sửa vị trí công việc
Nhập thông tin vị tri mới Bấm cập nhật
Alternative Flow(s)
Usecase Quản lý chức vụ công việc
Mô tả Thêm, xóa, sửa chức vụ công việc
Chọn tab chức vụ công việc Chọn chức năng cần dùng Alternative Flow(s)
Usecase Quản lý loại hình làm việc
Mô tả Thêm, xóa, sửa loại hình làm việc
Chọn tab chức vụ công việc Chọn chức năng cần dùng Alternative Flow(s)
Trang 16Usecase Xem lịch sử công việc
Mô tả Xem lịch sử các vị trí công việc đã và
đang đảm nhận
Chọn tab công việc
Hệ thống hiển thị lịch sử công việc Alternative Flow(s)
Mô tả Tạo thông tin chấm công
Main Flow Nhập ngày, số ngày công…
Bấm tạo Alternative Flow(s)
Mô tả Phê duyệt thông tin chấm công
Main Flow Quản lý chọn thông tin chấm công
Bấm nút phê duyệt Alternative Flow(s)
Mô tả Tạo yêu cầu nghỉ phép
Main Flow Bấm tạo yêu cầu nghỉ phép
Điền thông tin nghỉ phép Chọn loại nghỉ phép Bấm nút đồng ý Alternative Flow(s)
Trang 17Usecase Phê duyệt nghỉ phép
Main Flow Quản lý chọn yêu cầu nghỉ phép
Bấm nút phê duyệt Alternative Flow(s)
Mô tả Tạo, xóa, sửa ngày nghỉ lễ hưởng nguyên
lương Main Flow Đi đến phần cài đặt
Chọn tab nghỉ lễ Chọn chức năng tương ứng Alternative Flow(s)
Mô tả Quản lý loại nghỉ phép
Main Flow Đi đến phần cài đặt
Chọn tab nghỉ phép Chọn chức năng tương ứng Alternative Flow(s)
Mô tả Quản lý tạo bảng tính lương
Nhập thời gian tính lương Bấm đồng ý
Trang 18Usecase Chốt bảng lương
Mô tả Quản lý chốt bảng lương đã có
Bấm chốt bảng lương Alternative Flow(s)
Mô tả Xem thông tin tiền lương Main Flow Vào trang xem phiếu lương Alternative Flow(s)
Trang 193.3 Thiết kế database
a) Sơ đồ ERD
Trang 20b) Danh sách các bảng
STT Tên bảng Ý nghĩa
1 User Thông tin của tài khoản quản lý
2 Employee Thông tin cơ bản của nhân viên
3 Position Thông tin vị trí công việc hiện tại
4 JobTitle Thông tin chức vụ công việc
5 JobCategory Thông tin danh mục chức vụ công việc
6 WorkType Thông tin loại hình làm việc (full-time, part-time)
7 OrganizationUnit Thông tin cơ cấu tổ chức phòng ban, đội nhóm
8 WorkingLog Thông tin thời gian làm việc, nghỉ phép của nhân
Trang 21c) Mô tả chi tiết các bảng
● Bảng User
● Bảng Employee
STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa
1 Id int(11) Mã tài khoản
2 UserName varchar(255) Tên tài khoản
3 password varchar(255) Mật khẩu tài khoản
STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa
1 Id in(11) Mã nhân viên
2 FirstName varchar(255) Họ
3 Lastname varchar(255) Tên
4 WorkEmail varchar(255) Địa chỉ email công việc
5 Phone varchar(20) Số điện thoại
6 DateOfBirth date Ngày sinh
7 Sex varchar(50) Giới tính
8 Address varchar(1000) Địa chỉ thường trú
9 CurrentAddress varchar(1000) Địa chi hiện tại
10 NationalId int Mã quốc gia
11 UserId int Mã tài khoản
Trang 22● Bảng Position
STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa
1 Id in(11) Mã vị trí công việc
2 StartDate date Ngày bắt đầu làm việc
3 EndDate int(11) Số điện thoại khách hàng
4 Salary varchar(255) Địa chỉ khách hàng
5 LeaveDate varchar(255) email khách hàng
6 LeaveReason datetime Ngày tạo
7 LeaveTypeId datetime Ngày cập nhật gần đây
8 EmployeeId int Mã nhân viên
9 JobTitleId int Mã chức vụ công việc
10 WorkTypeId int Mã loại hình làm việc
11 UnitId int Mã đơn vị tổ chức
12 RecordStatus int Trạng thái bản ghi
Trang 23● Bảng JobTitle
● Bảng JobCategory
● Bảng WorkType
STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa
1 Id in(11) Mã chức vụ công việc
2 Name varchar(255) Tên chức vụ công việc
3 Description varchar(1000) Mô tả
4 RecordStatus int Trạng thái bản ghi
5 JobCategoryId int Mã danh mục công việc
STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa
1 Id in(11) Mã danh mục công việc
2 Name varchar(255) Tên danh mục công việc
3 Description varchar(1000) Mô tả
4 RecordStatus int Trạng thái bản ghi
STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa
1 Id in(11) Mã loại hình làm việc
2 Name varchar(255) Tên loại hình làm việc
3 Description varchar(1000) Mô tả
4 RecordStatus int Trạng thái bản ghi
Trang 24● Bảng OrganizationUnit
● Bảng WorkingLog
STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa
1 Id in(11) Mã đơn vị tổ chức
2 Name varchar(255) Tên đơn vị tổ chức
3 Description varchar(1000) Mô tả
4 RecordStatus int Trạng thái bản ghi
5 ParentId int Mã đơn vị cha
STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa
1 id int(11) Mã
2 Type int Loại bản ghi (đi làm/ nghỉ phép)
3 Date date Ngày, tháng, năm
4 Duration double Thời gian nghỉ (giờ)
5 Note varchar(1000) Ghi chú
6 TimeOffTypeId datetime Mã loại nghỉ phép
7 EmployeeId datetime Mã nhân viên nghỉ phép
Trang 252 Name varchar(255) Tên loại nghỉ phép
3 IsPaidTimeOff bit Là loại nghỉ phép được hưởng lương
4 Description varchar(1000) Mô tả
STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa
2 Name varchar(255) Tên ngày nghỉ
4 RecordStatus int Trạng thái bản ghi
STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa
Trang 26● Bảng Payslip
3 Amount decimal(18,2) Tổng tiền lương
4 StartDate date Ngày bắt đầu tính lương
5 EndDate date Ngày kết thúc tính lương
6 CreatedAt date Ngày tạo bảng lương
7 EmployeeNo int Số nhân viên
8 Status varchar(50) Trạng thái
STT Tên thuộc tính Kiểu dữ liệu Ý nghĩa
2 EmployeeId int Mã nhân viên
3 Amount decimal(18,2) Tổng tiền lương
4 StartDate date Ngày bắt đầu tính lương
5 EndDate date Ngày kết thúc tính lương
6 CreatedAt date Ngày tạo bảng lương
7 Status varchar(50) Trạng thái
8 Attendance double Số ngày công
9 PaidTimeOff double Số ngày nghỉ được trả lương
10 HolidayTimeOff double Số ngày nghỉ lễ
11 UnpaidTimeOff double Số ngày nghỉ không lương
Trang 273.4 Mô tả giao diện
a) Màn hình thống kê
Màn hình thống kê thống kê sự phân bổ các nhân viên theo:
- Đơn vị
- Loại hình làm việc
Trang 28Mỗi tài khoản sẽ gắn với một nhân viên, được phân quyền
c) Màn hình cơ cấu tổ chức
Tổ chức các phòng ban theo dạng cây
Trang 29d) Màn hình danh sách nhân viên
Danh sách nhân viên, với các trạng thái:
Trang 30tài khoản để nhân viên có thể đăng nhập và xem thông tin cá nhân của mình trên
hệ thống
f) Thêm công việc cho nhân viên
Ngoài các thông tin chung, nhân viên có thông tin công việc đi kèm
g) Màn hình danh sách nghỉ phép
Danh sách nghỉ phép của nhân viên, với các trạng thái: Đang chờ, Đã duyệt, Đã từ
chối