Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

Ý TƯỞNG LÀM ĐỒ ÁN

Họ và tên: Nguyễn Thanh Tùng


MSV: 18810310359
Mong muốn điểm khi bảo vệ đồ án, được điểm trong khoảng: 6.5đ(C+) ->
8đ (B+)
Nội dung đồ án: làm về quản lý doanh nghiệp nội bộ với người dùng và
admin, Với chức năng nổi bật là: Chấm công online, Chạy Batch tự động ,Bổ sung
công, Tạo dự án, Tạo user

Những chức năng đã làm được


1. Chức năng Chấm công online (dành cho user)

Mô tả: Có 2 nút checkin và checkout. Checkin là giờ vào làm, và chỉ checkin
được 1 lần. Còn checkout là giờ ra sẽ checkout được nhiều lần (gần như ko giới
hạn).
Hàng ngày cứ đến 0h ngày hôm sau, sẽ có batch chạy để sinh ra 1 bản ghi
mới của ngày hiện tại. Nhân viên khi làm việc sẽ checkin, làm xong thì checkout.
Tính công sẽ được khi mà có cả checkin và checkout, nếu thiếu 1 trong 2 checkin,
checkout thì tổng công sẽ ko đc tính.
Tính công = Tổng sáng + Tổng chiều (max = 8 tiếng)
 Nếu Checkin trước 12h

1
 Nếu Checkin trước 8h thì Checkin đều là 8h, còn sau 8h sẽ bằng số
giờ lúc đó, tức:
Checkin = 7h55 => checkin = 8h
Checkin= 8h30 => checkin = 8h30
 Nếu Checkout trước 12h:
Tổng sáng = Checkout – checkin (max = 4 tiếng)
 Nếu checkout sau 12h
Tổng sáng = 12h – checkin (max = 4 tiếng)
 Nếu checkout sau 13h30
Tổng chiều = checkout – 13h30 (max = 4 tiếng)
 Nếu Checkin sau 12h (đồng nghĩa checkout ko thể nào trước 12h, và chỉ tính
tổng chiều )
 Checkin từ 12h- 13h30:
Tổng chiều = checkout – 13h30 (max = 4 tiếng)
 Checkout sau 17h30:
Tổng chiều = 17h30 – checkin (max = 4 tiếng)
Và 23h của ngày hôm đó, sẽ chạy batch để update công trong máy chấm
công và công trên chấm công online. Giải thích cho điều này vì có thể trong đợt
dịch thì remote 50%. Có thể nhân viên tuần này làm ở nhà, tuần sau lại lên công ty
chấm công bình thường:
 Nếu hôm đó 0 chấm công trên máy chấm công:
Công sẽ lấy từ chấm công online
 Nếu hôm đó chấm công 1 lần trên máy chấm công:
 Nếu checkin, checkout đều rỗng:
Checkin = số giờ trên máy chấm công
Checkout = rỗng
 Nếu checkin tồn tại, checkout rỗng: so sánh checkin và chấm công
 Nếu checkin(8h) < số giờ trên máy chấm công(8h30):
Checkin = checkin(8h)
Checkout = số giờ trên máy chấm công(8h30)
 Nếu checkin(8h30) > số giờ trên máy chấm công(8h):
Checkin = số giờ trên máy chấm công(8h)
Checkout = Checkin(8h30)
 Nếu checkin rỗng, checkout tồn tại: so sánh checkout và chấm công

2
 Nếu checkout(16h) < số giờ trên máy chấm công(17h30):
Checkin= checkout(16h)
Checkout = số giờ trên máy chấm công(17h30)
 Nếu checkout(17h30) > số giờ trên máy chấm công(16h):
Checkin = số giờ trên máy chấm công(16h)
Checkout = Checkout(17h30)
 Nếu checkin tồn tại, checkout tồn tại: so sánh checkin,checkout và
chấm công:
 Nếu checkin (8h), checkout(17h), checkin >máy chấm(7h30):
Checkin = số giờ trên máy chấm công(7h30)
Checkout = checkout (17h)
 Nếu checkin (8h), checkout (17h),
checkin < máy chấm (8h15) < checkout:
Checkin = checkin (8h)
Checkout = checkout (17h)
 Nếu checkin(8h), checkout(17h), checkout<máy chấm (17h30):
Checkin = checkin(8h)
Checkout = số giờ trên máy chấm công(17h30)
 Nếu hôm đó chấm công >=2 lần trên máy chấm công: sẽ lấy đầu(min) và
cuối (max)từ máy chấm
 Nếu checkin, checkout đều rỗng, min(8h), max(17h) :
Checkin = số giờ trên máy chấm công min(8h)
Checkout = số giờ trên máy chấm công max(17h)
 Nếu checkin tồn tại, checkout rỗng: so sánh checkin và chấm công
 Nếu checkin(8h), min(8h15), max(17h):
Checkin = checkin (8h)
Checkout = số giờ trên máy chấm công max(17h)
 Nếu checkin(8h30), min(8h), max(17h):
Checkin = số giờ trên máy chấm công min(8h)
Checkout = số giờ trên máy chấm công max(17h)
 Nếu checkin rỗng, checkout tồn tại: so sánh checkout và chấm công
 Nếu checkout(16h), min(8h), max(17h):
Checkin= số giờ trên máy chấm công min(8h)
Checkout = số giờ trên máy chấm công(17h)
 Nếu checkout(17h30), min(8h), max(17h):
3
Checkin = số giờ trên máy chấm công min(8h)
Checkout = Checkout(17h30)
 Nếu checkin tồn tại, checkout tồn tại: so sánh checkin,checkout và
chấm công:
So sánh xem trong 4 giá trị đó, checkin = giá trị nhỏ nhất,
checkout = giá trị lớn nhất
2. Chức năng Bổng sung công (dành cho user)
Nếu chăng may quên checkin, checkout thì có chức năng bổ sung công.

Click sẽ đi đến màn Bổ sung công của ngày đó:

Sẽ điền giờ checkin và checkout yêu cầu, Ngoài ra còn phải thêm ảnh làm
bằng chứng (Thông thường sẽ làm việc trên máy tính, thì chụp log nên bằng
chứng sẽ để dưới dạng ảnh) và lý do, sau đó chuyển qua màn danh sách: có thể
thêm, sửa, xóa. Xem chi tiết

4
3. Chức năng duyệt bổ sung công (dành cho admin)

Admin sẽ xem xét để có chấp nhận duyệt hay không.


Nếu duyệt thì sẽ update: Checkin, checkout và tính công như công thức trên
Nếu reject thì sẽ giữ nguyên công lúc đầu
4. Chức năng quản lý dự án (dành cho admin)
Admin có quyền tạo dự án và sửa xóa dự án:

5
Màn list dự án:

Ngoài ra dựa theo dự án chúng ta có thể thống kê được, nhân viên nào đang
rảnh, nhân viên nào đang bận làm việc, ta sẽ so sánh end_date mà user tham gia dự
án đó với ngày hiện tại, nếu end_date >= now() và start_date <= now() chứng tỏ
user vẫn còn đang trong dự án tức vẫn làm việc :
6
5. Chức năng quản lý user (dành cho admin)
Màn tạo user:

7
Tạo xong sẽ hiện màn list vừa tạo

8
User có mail vừa tạo sẽ check lại mail và đăng nhập theo password đó:

Ấn click here để login, với:


Tk: mail đã tạo
Mk: mã đc gửi
Ấn login or đổi mk nếu muốn đổi:

9
Login thành công, công số sẽ được tạo từ đầu tháng hiện tại đến ngày hiện tại của
tháng hiện tại

Hãy bổ sung nếu hôm tạo trùng với hôm đi làm

10
Những chức năng Chưa làm được và lỗi tồn đọng:
1, Mới làm các chức năng và lên kế hoạch chứ chưa phân quyền:
2, Chưa làm giao diện người dùng:
Ý tưởng: mỗi user đều có thể quản lý bài post, sau đó đăng lên, coi như là 1
blog, và những người khách có thể đọc, xem , tìm kiếm và bình luận
3, chưa làm chức năng quản lý post nên chưa làm được SPA
4. Fix một vài lỗi vẫn còn tồn đọng.

11

You might also like