Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.31 MB, 87 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b>ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN</b>
<b>TÊN ĐỀ TÀI</b>
<b>GIẢNG VIÊN HƯỚNG DẪN : ThS. Nguyễn Hồ Duy Tri</b>
<b>NHÓM SINH VIÊN THỰC HIỆN </b>
Trần Huỳnh Anh Phúc : MSSV 22421412Nguyễn Gia Phú : MSSV 22131244
<b>Tp. Hcm, Năm 2024</b>
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">Lời đầu tiên, nhóm [Tên nhóm] chúng em xin được gửi lời cảm ơn chân thành đến trườngĐại học Công nghệ Thông tin - ĐHQG TP.HCM và khoa Hệ thống Thông tin đã tạo điều kiện cho chúng em được học hỏi và thực hiện đề tài đồ án môn Hệ quản trị Cơ sở dữ liệu.Đặc biệt, chúng em xin gửi lời cảm ơn sâu sắc nhất tới thầy Nguyễn Hồ Duy Tri, giảng viên hướng dẫn thực hành, người đã luôn tận tâm chỉ dạy, hỗ trợ và truyền cảm hứng cho chúng em trong suốt quá trình học tập và thực hiện đồ án. Những lời khuyên, góp ý và sự động viên của thầy đã giúp nhóm chúng em vượt qua nhiều khó khăn, thử thách để hồn thành đề tài một cách tốt nhất.
Chúng em cũng xin gửi lời cảm ơn đến các bạn sinh viên trong lớp, những người đã luôn đồng hành, chia sẻ và giúp đỡ lẫn nhau trong suốt quá trình học tập và làm đồ án.
Mặc dù đã cố gắng hết sức, nhưng nhóm chúng em cũng nhận thức rằng đồ án không tránh khỏi những thiếu sót. Kính mong thầy góp ý để chúng em hoàn thiện hơn nữa kiến thức và kỹ năng của mình.
Cuối cùng, xin kính chúc thầy ln mạnh khỏe, hạnh phúc và thành cơng trong sự nghiệpgiảng dạy của mình.
Trân trọng cảm ơn thầy!
Nhóm 14 - Ngày 1 tháng 6 năm 2024.
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3"><b>Mục lục</b>
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><b>Danh mục hình ảnh</b>
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><b>Danh mục viết tắt</b>
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><b>CHƯƠNG 1. TỔNG QUAN ĐỒ ÁN1.Phát biểu bài tốn</b>
<b>1.1.Tóm tắt nội dung đề tài</b>
In the current economic development context, human resource management hasbecome a crucial factor for the success of every enterprise. With increasing scale and number of employees, enterprises face many challenges in managing personnel information, attendance tracking, and analyzing data related to humanresources. The use of traditional management methods is no longer effective, time-consuming, and prone to errors. Therefore, our team has decided to simulate a human resource management system by applying knowledge from the course. The system includes the following functions:
<i><b>Human Resource Management: The system allows managers to </b></i>
perform operations on the company's personnel, specifically employees and departments. Employee information stored in the system includes: Employee ID, basic employee information, login account, position, salary factor, work department, and status. For departments, the stored information includes: Department code, name, and establishment date. o Managers are allowed to add, delete, and update information of
employees and departments within the system.
<b>Attendance Management: Employees check in for the day by logging </b>
into the system and using the check-in function to confirm attendance. Additionally, employees can view the attendance list to monitor their personal attendance status. In case of requesting leave, employees can use the request leave function with a specific date and reason. If approved, that day will be counted as paid leave.
<b>Salary Management: Employees can use the request salary advance </b>
function in the system to temporarily receive an amount. This is subject to the constraint that the number of salary advance requests cannot
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">exceed two per month. Managers can view the actual salary table of all employees, and employees can use the function to view their own salary for that pay period. The formula for calculating the actual monthly salaryis as follows: § Actual salary = (Daily salary * number of working days) - Advanced amount · Daily salary = (Basic salary * salary factor) / 25. <b>Request Management: The system will manage employee requests for </b>
managers to resolve. For leave requests, if approved by the manager, the requested leave day will be recorded as paid leave. For salary advance requests, if approved by the manager, the advanced amount will be updated and deducted from the employee's actual salary. The status of requests will change immediately after the manager makes the decision to approve or reject. Employees can submit these two types of requests and track their status in the system. In case of a change of mind,
employees can cancel their submitted requests only if they have not beenprocessed yet.
Employees and managers must log in to the system to access its functions.
<b>1.2.Lý do chọn đề tài</b>
Trong mọi công ty, quản lý nhân sự luôn là vấn đề then chốt.Nếu khôngquản lý nhân sự hiệu quả, doanh nghiệp sẽ phải đối mặt với nhiều vấn đề nghiêmtrọng như sai sót trong việc tính tốn lương, thiếu dữ liệu chấm công hoặc nhầmlẫn trong thông tin cá nhân, quy trình làm việc rườm rà, mất thời gian, khiến lãnhđạo khó đưa ra được các quyết định quan trọng, ảnh hưởng đến sự phát triển củadoanh nghiệp. Cuối cùng, quản lý nhân sự khơng hiệu quả có thể tạo ra môi trườnglàm việc không ổn định, khiến nhân viên cảm thấy khơng hài lịng và dễ dẫn đếntình trạng nghỉ việc, làm giảm sự gắn kết và tinh thần làm việc của đội ngũ nhânviên.
Với những khó khăn trên, việc phát triển một ứng dụng quản lý nhân sự cóthể khắc phuc, giảm thiểu những sai sót và tăng cường hiệu quả làm viêc cho nhân
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">viên. Ứng dụng quản lý nhân sự cho phép lưu trữ và xử lý dữ liệu một cách chínhxác, tránh những sai sót do nhập liệu thủ cơng, đồng thời cung cấp các chức năngphân tích và báo cáo để hỗ trợ lãnh đạo doanh nghiệp trong việc đưa ra các quyếtđịnh chiến lược. Bên cạnh đó, ứng dụng cịn giúp tiết kiệm thời gian và nguồn lựccủa doanh nghiệp, nâng cao trải nghiệm của nhân viên, từ đó tạo điều kiện chomơi trường làm việc tích cực và gắn kết hơn.
<b>2. Xác định và phân tích yêu cầu2.1.Xác định yêu câu</b>
Tài khoản: Lưu trữ thông tin của nhân viên hay quản lý hỗ trợ cho việc phânquyền các chức năng khi đăng nhập vào hệ thống.
Nhân viên: Thêm, xóa, sửa, tìm kiếm nhân viên. Hỗ trợ lập in các bảnglương, phiếu chấm công.
Chấm công: Lưu trữ thông tin về thời gian làm việc của nhân viên, và cácchức năng như thêm, xóa, sửa, tìm kiếm phiếu chấm cơng giúp cho việcquản lý dễ dàng hơn.
Phịng ban: Nhân viên được phân vào các phòng ban khác nhau, mỗi phịngban có thể có nhiều nhân viên.
Lương: Lưu trữ thơng tin về lương của nhân viên, có các chức năng như tínhlương, xóa, sửa, tìm kiếm lương.
Bảng lương: Hỗ trợ lưu thông tin các bảng lương giúp nhân viên có đầy đủthơng tin về các giao dịch lương của mình với cơng ty và nhân viên có thểlưu lại ở hệ thống.
Chức vụ: Hỗ trợ tìm kiếm các loại chức vụ theo yêu cầu để giúp nhân viêncó thể dễ dàng lựa chọn những chức vụ, tên chức vụ mà nhân viên muốntìm.
Phiếu chấm cơng: Lưu thơng tin và kiểm sốt được ngày chấm công, tổnggiờ làm của nhân viên khi được nhập vào hệ thống.
Chi tiết bảng lương: Lưu trữ thông tin của từng mã bảng lương từ đó có thểdễ dàng xem chi tiết của từng mã bảng lương chính xác và dễ dàng.
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9"> Chi tiết phiếu chấm công: Lưu trữ thông tin của từng mã phiếu chấm cơngtừ đó có thể dễ dàng xem chi tiết từng mã phiếu chấm cơng chính xác và dễdàng.
<b>2.2.Phân tích yêu cầu</b>
<b>2.2.1. Phân tích yêu cầu chức năng</b>
<b>Chức năng lưu trữ dữ liệu</b>
<b>o Lưu trữ tất cả thông tin trong cơ sở dữ liệu, giúp truy xuất, sao lưu và</b>
phục hồi dễ dàng, đồng bộ, nhanh chóng và đáng tin cậy. <b>Chức năng thêm, xóa, sửa, tìm kiếm, thống kê, tính tốn</b>
<b>o Quản lý nhân viên : Thêm, xóa, sửa, tìm kiếm các thơng tin cơ bản</b>
của nhân viên như họ tên, ngày sinh, địa chỉ, số điện thoại.
<b>o Quản lý chấm công: </b>
Theo dõi số ngày làm việc.
Tích hợp hệ thống chấm cơng qua app. Thống kê và báo cáo chấm công hàng tháng.
<b>o Quản lý tiền lương:</b>
Tính tốn lương dựa trên các thơng số như giờ làm, hệ sốlương.
Quản lý bảng lương hàng tháng của nhân viên. Hỗ trợ in và xuất bảng lương ra file (PDF, Excel).
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10"> <b>Chức năng phân quyền</b>
<b>o Bộ phận quản lý hệ thống phân quyền cho từng nhân viên ở các bộ</b>
phận khác nhau.
<b>o Admin và quản lý được toàn quyền xử lý và giám sát hệ thống.2.2.2. Yêu cầu phi chức năng</b>
<b>Độ bảo mật: </b>
<b>o Hệ thống quản lý cần đảm bảo tính bảo mật đối với thơng tin liên </b>
quan đến nhân viên và tài khoản. <b>Hiệu suất:</b>
<b>o Hệ thống cần đáp ứng yêu cầu về hiệu suất, đảm bảo thời gian xử lý </b>
nhanh và độ trễ thấp.
<b>o Khả năng xử lý đồng thời nhiều yêu cầu từ nhiều người dùng.</b>
<b>Thân thiện với người dùng:</b>
<b>o Hệ thống cần có giao diện thân thiện, giúp người dùng dễ dàng sử </b>
<b>o Hệ thống cần được thiết kế để có khả năng dễ dàng bảo trì, nâng cấp </b>
và cập nhật khi có u cầu mới. <b>Độ ổn định, chính xác:</b>
<b>o Hệ thống cần đảm bảo độ ổn định cao, hoạt động liên tục mà không </b>
gặp sự cố.
<b>o Đảm bảo tính chính xác của các số liệu báo cáo thống kê tự động.3. Thiết kế mơ hình quan hệ</b>
<b>3.1.Mơ hình thực thể mối kết hợp</b>
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><i>Hình 2.1: Mơ hình thực thể mối kết hợp</i>
<b>3.2.Mơ hình quan hệ</b>
<b>NHANVIEN (MANV, MAPB, TENNV, CCCD, NGSINH, QUEQUAN,</b>
GIOITINH, CHUCVU, LUONGCB, HESO)
<b>TAIKHOAN (TENTK, MANV, MATKHAU, LOAITK)PHONGBAN (MAPB, TENPB, NGAYTL)</b>
<b>TRUONGPHONG (MANV, MAPB, NGAYNC)PHIEUCHAMCONG (MAPCC, MANV, NGAYCC)</b>
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12"><b>YEUCAUNGHIPHEP (MAYCNP, MANV, NGAYGUI, NGAYBD, NGAYKT,</b>
GHICHUNP, TRANGTHAINP)
<b>YEUCAUUNGLUONG (MAYCUL, MANV, NGAYUL, TIENUL,</b>
GHICHUUL, TRANGTHAIUL)
<b>BANGLUONG (MABL, MANV, NAM, THANG, TONGTIENUL, LUONGTL)</b>
<i><b>Lưu ý: Khơng được sửa thuộc tính khóa chính</b></i>
<b>3.3.Bảng thuyết minh quan hệ và thuộc tính</b>
<b>Quan hệ NHANVIEN</b>
<b>Thuộc tính Kiểu dữ liệuRàng buộcGiá trị mặc địnhÝ nghĩa</b>
Khóa ngoại tham chiếu đến khóa chính MAPB của bảng PHONGBAN, not null
Mã phịngban
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">Mã nhân viênMATKHA
thành lâp
<i>Bảng 2.3: Bảng thuyết minh quan hệ PHONGBAN</i>
<b>Quan hệ TRUONGPHONG</b>
<b>Thc tínhKiểu dữ liệuRàng buộcGiá tri mặc địnhÝ nghĩa</b>
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">đến MANV của bảng NHANVIEN, Not null
trưởng phịng
Khóa ngoại tham chiếuđến MAPB của bảng PHONGBAN,
Not null
Mã phòng ban
Ngày nhận chức
<i>Bảng 2.4: Bảng thuyết minh quan hệ TRUONGPHONG</i>
<b>Quan hệ PHIEUCHAMCONG</b>
<b>Thc tínhKiểu dữ liệuRàng buộcGiá tri mặc địnhÝ nghĩa</b>
MAPCC Number Khóa chính, Not null Tự động
Mã phiếu chấm cơng
Khóa ngoại tham chiếuđến MANV của bảng NHANVIEN, Not null
Mã nhân viên
Ngày chấm công
<i>Bảng 2.5: Bảng thuyết minh quan hệ PHIEUCHAMCONG</i>
<b>Quan hệ YEUCAUNGHIPHEP</b>
<b>Thuộc tínhKiểu dữ liệuRàng buộcGiá trị mặc địnhÝ nghĩa</b>
cầu nghỉ
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">Khóa ngoại tham chiếu đến khóa chính MANV của bảng
NHANVIEN, not null
Mã nhân viên
Trạng thái nghỉ phép
<i>Bảng 2.6: Bảng thuyết minh quan hệ YEUCAUNGHIPHEP</i>
<b>Quan hệ YEUCAUUNGLUONG</b>
<b>Thuộc tínhKiểu dữ liệuRàng buộcGiá trị mặc địnhÝ nghĩa</b>
Mã yêu cầu ứng lương
tham chiếu đến khóa chính MANV của bảng
Mã nhân viên
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">NHANVIEN, not null
lươngGHICHUUL Varchar2(50) Not null
Ghi chú ứng lươngTRANGTHAIUL Varchar2(20) Not null
Trạng thái ứng lương
<i>Bảng 2.7: Bảng thuyết minh quan hệ YEUCAUUNGLUONG</i>
<b>Quan hệ BANGLUONG</b>
<b>Thc tínhKiểu dữ liệuRàng buộcGiá tri mặc địnhÝ nghĩa</b>
Khóa ngoại tham chiếu đến MANV của bảng NHANVIEN, Not null
Mã nhân viên
Năm của bảng lương
Tháng của bảng lươngTONGTIENU
ứng
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">thực lãnh
<i>Bảng 2.8: Bảng thuyết minh quan hệ BANGLUONG</i>
<b>3.4.Mô tả ràng buộc tồn vẹn</b>
<b>3.4.1. Ràng buộc tồn vẹn có bối cảnh trên 1 quan hệ</b>
<b>Ràng buộc 1: Mã nhân viên của quan hệ NHANVIEN là duy nhấto Bối cảnh: NHANVIEN</b>
<b>o Nội dung: nv1, nv2 NHANVIEN: nv1.MANV nv2.MANVo Bảng tầm ảnh hưởng:</b>
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18"> <b>Ràng buộc 4: Mã nhân viên của quan hệ TRUONGPHONG là duy nhấto Bối cảnh: PHONGBAN</b>
<b>o Nội dung: pb1, pb2 </b><small>∈</small> PHONGBAN: pb1.MAPB pb2. MAPB
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19"><b>o Nội dung: ycul1, ycul2</b> <small>∈</small> YEUCAUUNGLUONG:ycul1.YEUCAUUNGLUONG ycul2.YEUCAUUNGLUONG
<b>Ràng buộc 9: Với mọi nhân viên, ngày bắt đầu yêu cầu nghỉ phép</b>
(NGAYBD luôn bé hơn hoặc bằng ngày kết thúc nghỉ phép (NGAYKT)của nhân viên đó.
<b>3.4.2. Ràng buộc tồn vẹn có bối cảnh trên nhiều quan hệ</b>
<b>Ràng buộc 10: Mỗi tài khoản phải thuộc một nhân viên</b>
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20"><b>o Bối cảnh: NHANVIEN, TAIKHOAN</b>
<b>o Nội dung: tk </b><small>∈</small> TAIKHOAN, <small>∃nv</small> NHANVIEN: nv.MANV =tk.MANV
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22"><b>CHƯƠNG 2. XÂY DỰNG CÁC GIAO TÁC1. Các chương trình con trong hệ thống</b>
<b>1.1.Danh sách các chương trình con trong hệ thống</b>
<b>Store Procedure</b>
<b> p_MAPB IN p_TENNV IN p_CCCD IN p_NGSINH IN p_QUEQUAN IN p_GIOITINH IN p_CHUCVU IN p_LUONGCB IN p_HESO IN </b>
Thêm mớinhân viênvào cơ sởdữ liệu vớicác thơngtin đượccung cấp.
Xóa nhânviên khỏicơ sở dữliệu với mãnhân viênđược cungcấp.
<b> p_MAPB IN p_TENNV IN p_CCCD IN p_NGSINH IN p_QUEQUAN IN p_GIOITINH IN p_CHUCVU IN </b>
Cập nhậtthông tincủa nhânviên vớicác thôngtin đượccung cấp
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23"><b> p_LUONGCB IN p_HESO IN </b>
<b> p_NGAYTL IN </b>
Thêm mớiphòng banvào cơ sởdữ liệu vớicác thơngtin cungcấp.
Xóa phòngban ra khỏicơ sở dữliệu vớithông tinđược cungcấp.
<b>p_ton_tai OUT</b>
Đưa vào sốbất kì, trảvề kết quảcho biết đãcó nhânviên nàothuộc mã
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">số đó haykhơng.
Kiểm tranhân viênvà thêmphiếu chấmcông trựctiếp bởinhân viên.
9 them_phieu_cham_cong_theo_ngay <b><sup>p_manv IN</sup></b>
<b>p_ngchamcong IN</b>
Kiểm tranhân viênvà thêmphiếu chấmcông theothông tincung cấp.
Xóa phiếuchấm cơngtheo thôngtin đượccung cấp
Cập nhậttrạng tháihủy đối vớiyêu cầuứng lươngdo nhânviên thựchiện
</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">trạng tháihủy đối vớiyêu cầunghỉ phépdo nhânviên thựchiện
<b>IN_FLAG IN</b>
Xừ lý yêucầu nghỉphép trongcơ sở dữliệu dongười quảnlý thựchiện
<b>IN_FLAG IN</b>
Xừ lý yêucầu ứnglươngtrong cơ sởdữ liệu dongười quảnlý thựchiện
P_NAM IN
<b>P_THANG IN </b>
<b>P_TONGTIENUL INP_LUONGTL IN </b>
Thêm một bảng lươngmới cho nhân viên vào cơ sở dữ liệu do người quản
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">lý thưc hiện.
Trả về mãnhân viên
với tênnhân viêntương ứng
2 <sup>tong_yeu_cau_ung_luong_trong_than</sup>
Trả về tổngyêu cầuứng ứnglương củanhân viêncó mã nhân
viên đượcchỉ định
<b>1.2.Mơ tả các chương trình con trong hệ thống</b>
<b>Store Procedure SP_ADDNHANVIEN</b>
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27"><i>Nội dung: Thêm nhân viên vào hệ thống với điều kiện là CCCD (căn cước công</i>
dân) phải khác với các bộ trong bảng tựa sách đã có, tuổi của nhân viên thêm mớiphải lớn hơn hoặc bằng 18.
o [1] Kiểm tra CCCD nếu đã tồn tại nhân viên có cùng trong hệ thống thìhiển thị thông báo kết thúc bỏ qua thêm.
o [2] Kiểm tra tuổi nếu bé hơn 18 thì hiển thị thông báo kết thúc bỏ qua thêm.o [3] Thêm thông tin nhân viên mới với mã nhân viên được đánh số tự động.
<b>Store Procedure SP_DELETENHANVIEN</b>
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28"><i>Nội dung: Thêm nhân viên vào hệ thống với điều kiện là CCCD (căn cước công</i>
dân) phải khác với các bộ trong bảng tựa sách đã có, tuổi của nhân viên thêm mớiphải lớn hơn hoặc bằng 18.
<b>Store Procedure SP_UPDATENHANVIEN</b>
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29"><i>Nội dung: Cập nhật thông tin nhân viên vào hệ thống với điều kiện là, tuổi của</i>
nhân viên thêm mới phải lớn hơn hoặc bằng 18.
o [1] Kiểm tra tuổi nếu bé hơn 18 thì hiển thị thông báo kết thúc bỏ qua thêmo [2] Cập nhật thông tin nhân viên mới với dữ liệu được cung cấp.
<b>Store Procedure INSERTPHONGBAN</b>
</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30"><i>Nội dung: Thêm phòng ban mới vào hệ thống.</i>
o [1] Tạo mã phòng ban từ số thứ tự được đánh tự động và ký tự .o [2] Thêm thơng tin phịng ban mới với mã phòng ban vừa khởi tạo.
<b>Store Procedure UPDATEPHONGBAN</b>
<i>Nội dung: Cập nhật thơng tin phịng ban vào hệ thống.</i>
o [1] Cập nhật thơng tin phịng ban mới với dữ liệu được cung cấp.
<b>Store Procedure DELETEPHONGBAN</b>
</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31"><i>Nội dung: Xóa phịng ban khỏi hệ thống với điều kiện là phịng ban khơng có nhân</i>
viên nào đang trực thuộc.
o [1] Thực hiện xóa phịng ban tương ứng với mã phịng ban truyển vào o [2] Nếu xóa phịng ban khơng thành cơng khơng thỏa điều kiện, hiển thị lỗi
</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32"><i>Nội dung: Kiểm tra nhân viên với mã nhân viên truyền vào có tồn tại trong cơ sở</i>
dữ liệu hay không.
o [1] Kiểm tra nhân viên với mã nhân viên truyền vào có tồn tại trong cơ sởdữ liệu hay không.
o [2] Nếu không có, gán giá trị tham số OUT là FALSE và thơng báo lỗi.o [3] Nếu khơng có, trả về giá trị tham số OUT là TRUE.
<b>Store Procedure xoa_phieu_cham_cong</b>
</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33"><i>Nội dung: Thêm phiếu chấm công do nhân viên chủ động chấm công</i>
</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">o [1] Kiểm tra xem nhân viên với mã tương ứng có tồn tại trong cơ sở dữ liệukhơng. Nếu khơng có, báo lỗi và ROLLBACK.
o [2] Kiểm tra xem nhân viên với mã tương ứng đã có phiếu chấm cơng chongày hơm nay chưa. Nếu có, báo lỗi và ROLLBACK
o [3] Sau khi vượt qua điều kiện, thêm thông tin phiếu chấm cơng hơm nàycho nhân viên có mã nhân viên tương ứng, COMMIT.
<b>Store Procedure them_phieu_cham_cong_theo_ngày</b>
<i>Nội dung: Thêm phiếu chấm cơng do người có vai trị ADMIN thêm vào theo</i>
ngày cung cấp
o [1] Kiểm tra xem nhân viên với mã tương ứng có tồn tại trong cơ sở dữ liệukhơng. Nếu khơng có, báo lỗi và ROLLBACK.
</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">o [2] Kiểm tra xem nhân viên với mã tương ứng đã có phiếu chấm cơng chongày tương ứng chưa. Nếu có, báo lỗi và ROLLBACK
o [3] Sau khi vượt qua điều kiện, thêm thông tin phiếu chấm công hơm nàycho nhân viên có mã nhân viên tương ứng, COMMIT.
<b>Store Procedure xoa_phieu_cham_cong</b>
<i>Nội dung: Xóa phiếu chấm cơng trong cơ sở dữ liệu có mã tương ứng</i>
o [1] Kiểm tra xem phiếu chấm cơng với mã tương ứng có tồn tại trong cơ sởdữ liệu khơng. Nếu khơng có, báo lỗi.
o [2] Sau khi vượt qua điều kiện, xóa thơng tin phiếu chấm cơng có mã tươngứng, COMMIT.
<b>Store Procedure huy_yeu_cau_ung_luong</b>
</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36"><i>Nội dung: Chuyển trạng thái yêu cầu ứng lương sang “Đã hủy” thực hiện bởi nhân</i>
viên với mã yêu cầu ứng lương tương ứng được cung cấp.
o [1] Lấy ra trạng thái của yêu cầu ứng lương với mã tương ứng.
o [2] Nếu trạng thái nhận đươc là “Đã phê duyệt”, hiển thị thông báo lỗi vàkết thúc.
o [3] Nếu trạng thái nhận được là “Từ chối”, hiển thị thông báo lỗi và kếtthúc.
o [4] Sau khi vượt qua các điệu kiện, trạng thái của yêu cầu đang là “Chờ phêduyệt”, cập nhật trạng thái mới của yêu cầu là “Đã hủy” và COMMIT.
</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37"> <b>Store Procedure huy_yeu_cau_nghi_phep</b>
<i>Nội dung: Chuyển trạng thái yêu cầu nghỉ phép sang “Đã hủy” thực hiện bởi nhân</i>
viên với mã yêu cầu nghỉ phép tương ứng được cung cấp.
o [1] Lấy ra trạng thái của yêu cầu nghỉ phép với mã tương ứng.
o [2] Nếu trạng thái nhận đươc là “Đã phê duyệt”, hiển thị thông báo lỗi vàkết thúc.
o [3] Nếu trạng thái nhận được là “Từ chối”, hiển thị thông báo lỗi và kếtthúc.
o [4] Sau khi vượt qua các điệu kiện, trạng thái của yêu cầu đang là “Chờ phêduyệt”, cập nhật trạng thái mới của yêu cầu là “Đã hủy” và COMMIT.
</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38"> <b>Store Procedure SP_XULYEUCAUUNGLUONG</b>
<i>Nội dung: Cập nhật trạng thái yêu cầu ứng lương trong cơ sở dữ liệu có mã tương</i>
ứng theo quyết định của người có vai trị ADMIN.
o [1] Kiểm tra u cầu có mã tương ưng đã xử lý chưa, nếu có, hiển thị thơngbáo lỗi và trờ về.
o [2] Kiểm tra quyết định xử lý, nếu cờ có giá trị 1, cập nhật trạng thái yêucầu là “Đã phê duyệt” và COMMIT.
o [3] Kiểm tra quyết định xử lý, nếu cờ có giá trị 0, cập nhật trạng thái yêucầu là “Từ chối” và COMMIT.
<b>Store Procedure SP_XULYEUCAUNGHIPHEP</b>
</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39"><i>Nội dung: Cập nhật trạng thái yêu cầu nghỉ phép trong cơ sở dữ liệu có mã tương</i>
ứng theo quyết định của người có vai trị ADMIN. Nếu quyết định xử lý là phê duyệt,thêm số lượng phiếu chấm công tương ứng cho ngày nghĩ có phép.
o [1] Kiểm tra yêu cầu có mã tương ưng đã xử lý chưa, nếu có, hiển thị thôngbáo lỗi và trờ về.
o [2] Kiểm tra quyết định xử lý, nếu cờ có giá trị 1, cập nhật trạng thái yêucầu là “Đã phê duyệt” và COMMIT. Thêm số phiếu chấm công tương ứngvới số lượng ngày nghỉ đã tính trước đó, COMMIT.
o [3] Kiểm tra quyết định xử lý, nếu cờ có giá trị 0, cập nhật trạng thái yêucầu là “Từ chối” và COMMIT.
</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40"> <b>Stored procedure ADD_BANGLUONG</b>
<i>Nội dung: Thêm một bảng lương của nhân viên trong tháng hiện tại vào cơ sở dữ</i>
</div>