phần mềm quản lý khách sạn, nhân viên
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
Trang 2LỜI NÓI ĐẦU 1
Trang 3Ứng dụng tin học trong việc quản lí dường như không còn xa lạ với các doanh nghiệp, công ty hiện nay Lợi ích mà các chương trình phần mềm quản lí đem lại khiến ta không thể không thừa nhận tính hiệu quả của nó
Trong thực tế, các công ty mẹ hay các đại lí lớn đều muốn có một sự quản
lí các công ty con, đại lý con một cách chính xác, hiệu quả và nhanh chóng Nắm bắt được nhu cầu đó, phần mềm quản lí các đại lí được ra đời nhằm đáp ứng các nhu cầu chung hiện nay
Đây là bảng báo cáo các tài liệu có liên quan đến quá trình thiết kế và xây dựng của phần mềm
Nhóm 2
Trang 4ĐẶC TẢ YÊU CẦU ĐỀ TÀI 1/ Giới thiệu:
Khách sạn của bạn đang chuẩn bị khai trương Bạn cần 1 phần mềm để quản lý công việc thu chi, quản lý phòng để tránh việc thất thoát và hạn chế số lượng nhân viên Với phần mềm quản lý khách sạn, nhân viên của bạn sẽ không còn phải mất nhiều thời gian cho công việc ghi chép sổ sách và bạn có thể biết ngay lập tức tình hình kinh doanh mà không phải chờ đến các báo cáo từ nhân viên
2/ Yêu cầu:
a Quản trị hệ thống:
Phân quyền tới từng nhân viên
Khôi phục và lưu trữ dữ liệu
Thiết lập các thông số phục vụ cho hoạt động của khách sạn
b Quản lý phòng :
Theo dõi tình trạng từng phòng trong khách sạn
Thêm mới, cập nhật, tra cứu thông tin
c Quản lý khách:
Thông tin về khách hàng
Số phòng đang ở
d Tính tiền:
Tổng hợp hóa đơn thanh toán tiền phòng và các dịch vụ khác
In báo cáo doanh thu theo yêu cầu
Trang 5PHÂN TÍCH YÊU CẦU
2/ Yêu cầu chương trình:
Tìm kiếm thông tin phục vụ cho khách sạn
Giao dịch với khách hàng
Trang 6Mô hình dữ liệu:
a/ Mô hình quan niệm:
Trang 7b/ Mô hình vật lý:
Trang 8)a c/ Mô tả các bảng dữ liệu:
Trang 10Mô tả các Stored Procedure:
1/ pr_check_login: kiểm tra đăng nhập vào hệ thống
CREATE proc pr_check_login
@msnv varchar(30),@password varchar(30)
as
select * from NHANVIEN where (MSNV=@msnv and Matkhau = @password)
GO
Input: mã số và mật khẩu nhân viên
Output: nhân viên có mã số và mật khẩu đúng với tham số truyền vào
3/ pr_del_LoaiPhong: xóa loại phòng
CREATE procedure pr_del_LoaiPhong
@MSLOAIPHONG char(2) as
begin
if NOT EXISTS (select * from TRANGBITRANGTB where
MSLOAIPHONG=@MSLOAIPHONG) and NOT EXISTS (select * from DMPHONG where MSLOAIPHONG=@MSLOAIPHONG)
delete from LOAIPHONG where MSLOAIPHONG = @MSLOAIPHONG
else
Trang 11print 'Loai phong dang ton tai trong CSDL '
4/ pr_del_NhanVien: xóa nhân viên
CREATE procedure pr_del_NhanVien
@MSNV char(10) as begin
if NOT EXISTS (select * from HDTHANHTOANPHONG where MSNV=@MSNV) and NOT EXISTS (select * from THUEPHONG where MSNV=@MSNV)
delete from NHANVIEN where MSNV = @MSNV
Input: Mã số nhân viên
Input: Mã số phòng
Output: không
Trang 126/ pr_del_THIETBI_DV: xóa trang thiết bị
CREATE procedure pr_del_THIETBI_DV
@MSTB char(3) as begin
set @a = @MSTB
if NOT EXISTS (select * from CHITIETTHANHTOAN where MSTB=@a) and NOT EXISTS (select * from
TRANGBITRANGTB where MSTB=@a)
delete from THIETBI_DV where MSTB = @a
Input: Mã số trang thiết bị
Output: không
7/ pr_del_THUEPHONG: xóa hợp đồng thuê phòng
CREATE procedure pr_del_THUEPHONG
@SOHDONGTHUEPHONG
numeric as begin
set @a = @SOHDONGTHUEPHONG
if NOT EXISTS (select * from SUDUNGDV where SOHDONGTHUEPHONG=@a) and NOT EXISTS (select * from CHITIETTHUEPHONG where SOHDONGTHUEPHONG=@a) and NOT EXISTS (select * from HDTHANHTOANPHONG where SOHDONGTHUEPHONG=@a)
delete from THUEPHONG where SOHDONGTHUEPHONG = @a
else print 'So hop dong thue phong dang ton tai trong CSDL '
if (@@error<>0)
Trang 13print 'Loi Ko xoa duoc'
end GO
Input: Mã số khách hàng
Output: không
8/ pr_ins_CHITIETTHUEPHONG: thêm mới hoặc cập nhật chi tiết thuê phòng
CREATE procedure pr_ins_CHITIETTHUEPHONG
@option char(1),
@SOHDONGTHUEPHONG
numeric,
@MSKH numeric,
@VAITRO char(1) as begin
if (@option=1)
insert into CHITIETTHUEPHONG(SOHDONGTHUEPHONG,MSKH,VAITRO) values
Input: số hợp đồng thuê phòng, mã số khách hàng, vai trò của khách hàng, lựa chọn thêm mới hay cập nhật
Nếu option=1: thêm mới
Nếu option=2: cập nhật
Output: không
9/ pr_ins_HDThanhToan: thêm hợp đồng thanh toán
CREATE procedure pr_ins_HDThanhToan
Trang 14insert into HDTHANHTOANPHONG(SOHDONGTHUEPHONG,MSNV,NGAYTHANHTOAN,TI ENPHONG) values
(@SOHDONGTHUEPHONG,@MSNV,@NGAYTHANHTOAN,@TIENPHONG)
if (@@error<>0)
print 'Loi' end GO
Input: số hợp đồng thuê phòng, mã số nhân viên, ngày thanh toán, tiền phòng
Output: không
10/ pr_ins_KH: thêm mới hoặc cập nhật khách hàng
CREATE procedure pr_ins_KH
@option char(1),
@MSKH
@HOTENKH nvarchar(50),
@GIOITINHKH char(1),
@DIACHIKH nvarchar(100),
@CMND char(10),
as begin
if (@option=1)
insert into KHACHHANG(HOTENKH,GIOITINHKH,DIACHIKH,CMND,DIENTHOAIKH) values (@HOTENKH,@GIOITINHKH,@DIACHIKH,@CMND,@DIENTHOAIKH)
else if (@option=2)
Trang 15Update KHACHHANG set HOTENKH = @HOTENKH, GIOITINHKH=@GIOITINHKH,
DIACHIKH=@DIACHIKH, CMND=@CMND, DIENTHOAIKH=@DIENTHOAIKH WHERE MSKH=@MSKH
else
print 'Loi'
if (@@error<>0)
print 'Loi' end GO
Input: mã số, họ tên, giới tính, điện thoại, CMND, địa chỉ của khách hàng, lựa chọn thêm mới hay cập nhật
Nếu option=1: thêm mới
Nếu option=2: cập nhật
Output: không
11/ pr_ins_LoaiPhong: thêm mới hoặc cập nhật loại phòng
CREATE procedure pr_ins_LoaiPhong
@option char(1),
,
@LOAIPHONG nvarchar(50),
@GIATIEN money as begin
if (@option=1)
insert into LOAIPHONG(MSLOAIPHONG,LOAIPHONG,GIATIEN) values
Trang 16Input: mã số loại phòng, loại phòng, giá tiền, lựa chọn thêm mới hay cập nhật.
Nếu option=1: thêm mới
Nếu option=2: cập nhật
Output: không
12/ pr_ins_NV: thêm mới hoặc cập nhật nhân viên
CREATE procedure pr_ins_NV
@option char(1),
@MSNV
@HOTENNV nvarchar(100),
@MatKhau varchar(20),
@GIOITINHNV char(1),
@DIACHINV nvarchar(50),
@HINH
varchar(500) as
begin
if (@option=1)
insert into NHANVIEN(MSNV,HOTENNV,MatKhau,NGAYSINHNV,GIOITINHNV,DIACHINV,D IENTHOAINV,NGAYVAOLAM,HINH) values
(@MSNV,@HOTENNV,@MatKhau,@NGAYSINHNV,@GIOITINHNV,@DIACHINV,
@DIENTHOAINV,@NGAYVAOLAM,@HINH)
else if (@option=2)
Update NHANVIEN set HOTENNV =
@HOTENNV, MatKhau=@MatKhau, NGAYSINHNV=@NGAYSINHNV,
Trang 1713/ pr_ins_Phong: thêm mới hoặc cập nhật phòng
CREATE procedure pr_ins_Phong
@option char(1),
if (@option=1)
insert into DMPHONG(MSLOAIPHONG,MSPHONG,TINHTRANG) values
(@MSLOAIPHONG,@MSPHONG,@TINHTRANG)
else if (@option=2)
Update DMPHONG set MSLOAIPHONG=@MSLOAIPHONG, TINHTRANG=@TINHTRANG WHERE MSPHONG=@MSPHONG
else
print 'Loi'
if (@@error<>0)
print 'Loi' end GO
Input: mã số phòng, mã số loại phòng, tình trạng phòng, lựa chọn thêm mới hay cập nhật
Nếu option=1: thêm mới
Trang 18@option char(1),
if (@option=1)
insert into SUDUNGDV(SOHDONGTHUEPHONG,MSTB,NGAYSD,SOLUONG) values
(@SOHDONGTHUEPHONG,@MSTB,@NGAYSD,@SOLUONG)
else if (@option=2)
Update SUDUNGDV set MSTB=@MSTB,NGAYSD=@NGAYSD, SOLUONG=@SOLUONG WHERE SOHDONGTHUEPHONG = @SOHDONGTHUEPHONG
else
print 'Loi'
if (@@error<>0)
print 'Loi' end GO
Input: số hợp đồng thuê phòng, mã số thiết bị, ngày sử dụng, số lượng, lựa chọn thêm mới hay cập nhật
Nếu option=1: thêm mới
Nếu option=2: cập nhật
Output: không
15/ pr_ins_TBTrangTB: thêm mới hoặc cập nhật trang bị các thiết bị cho loại phòng
CREATE procedure pr_ins_TBTrangTB
@option char(1),
@MSLOAIPHONG char(2),
@MSTB char(3),
@SOLUONG numeric as begin
Trang 19if (@option=1)
insert into TRANGBITRANGTB(MSLOAIPHONG,MSTB,SOLUONG) values
Input: mã số loại phòng, mã số thiết bị, số lượng, lựa chọn thêm mới hay cập nhật
Nếu option=1: thêm mới
Nếu option=2: cập nhật
Output: không
16/ pr_ins_THIETBI_DV: thêm mới hoặc cập nhật các thiết bị, dịch vụ
CREATE procedure pr_ins_THIETBI_DV
@option char(1),
@MSTB char(3),
@TENTHIETBI nvarchar(50),
@DVT
nvarchar(10),
@GIATB money,
as begin
if (@option=1)
insert into THIETBI_DV(MSTB,TENTHIETBI,DVT,GIATB,THIETBICODINH) values
(@MSTB,@TENTHIETBI,@DVT,@GIATB,@THIETBICODINH)
else if (@option=2)
Trang 20Update THIETBI_DV set TENTHIETBI = @TENTHIETBI, DVT=@DVT,GIATB=@GIATB,
Input: mã, tên thiết bị, đơn vị tính, giá, tình trạng thiết bị, lựa chọn thêm mới hay cập nhật
Nếu option=1: thêm mới
Nếu option=2: cập nhật
Output: không
17/ pr_ins_THUEPHONG: thêm mới hoặc cập nhật danh sách thuê phòng
CREATE procedure pr_ins_THUEPHONG
if (@option=1)
insert into THUEPHONG(MSNV,MSPHONG,NGAYTHUE,NGAYTRADK) values
(@MSNV,@MSPHONG,@NGAYTHUE,@NGAYTRADK)
else if (@option=2)
Update THUEPHONG set MSNV = @MSNV, MSPHONG=@MSPHONG, NGAYTHUE=@NGAYTHUE,
Trang 21Input: số hợp đồng thuê phòng, mã số nhân viên, mã số phòng, ngày thuê, ngày dự kiến trả, lựa chọn thêm mới hay cập nhật.
Nếu option=1: thêm mới
Nếu option=2: cập nhật
Output: không
18/ pr_list_KH: liệt kê danh sách khách hàng
CREATE proc pr_list_KH
as
select * from KHACHHANG
GO
Input: không
Output: danh sách tất cả khách hàng có trong csdl
19/ pr_list_KHSearch: liệt kê danh sách tên, giới tính, địa chỉ, CMND, điện thoại của khách hàng
CREATE proc pr_list_KHSearch
20/ pr_list_LoaiPhong: liệt kê danh sách loại phòng
CREATE proc pr_list_LoaiPhong
as
select * from LOAIPHONG
GO
Trang 22Input: không.
Output: danh sách tất cả loại phòng có trong csdl
21/ pr_list_NV: liệt kê danh sách nhân viên
CREATE proc pr_list_NV
as
select * from NHANVIEN
GO
Input: không
Output: danh sách tất cả nhân viên trong csdl
22/ pr_list_Phong: liệt kê danh sách mã số phòng, thuộc loại phòng nào, tình trạng phòng
CREATE proc pr_list_Phong
Output: danh sách mã số phòng, loại phòng, tình trạng của các phòng
23/ pr_list_Phong_trong: liệt kê danh sách tất cả phòng trống
CREATE proc pr_list_Phong_trong
where LOAIPHONG.MSLOAIPHONG=DMPHONG.MSLOAIPHONG
GO
Trang 23Input: không.
Output: danh sách mã số phòng, loại phòng, tình trạng phòng và giá tiền của các phòng
25/ pr_list_SuDungDV: liệt kê danh sách các thông tin của một hợp đồng thuê phòng
CREATE proc pr_list_SuDungDV
Input: số hợp đồng thuê phòng
Output: danh sách các thông tin của số hợp đồng thuê phòng
26/ pr_list_TBTrangThietBi: liệt kê danh sách các trang thiết bị có trong từng loại phòng
CREATE proc pr_list_TBTrangThietBi
as
select tr.MSLOAIPHONG,tr.MSTB,l.LOAIPHONG,t.TENTHIETBI,tr.SOLUONG from LOAIPHONG l, THIETBI_DV t, TRANGBITRANGTB tr
where l.MSLOAIPHONG=tr.MSLOAIPHONG and t.MSTB=tr.MSTB
GO
Input: không
Output: danh sách các trang thiết bị có trong từng loại phòng
27/ pr_list_ThietBi: liệt kê danh sách thiết bị hoặc dịch vụ
CREATE proc pr_list_ThietBi
Trang 24select * from THIETBI_DV end
GO
Input: lựa chọn liệt kê thiết bị hoặc dịch vụ
Nếu option=1: liệt kê thiết bị
Nếu option=2: liệt kê dịch vụ
Output: danh sách thiết bị hoặc dịch vụ
28/ pr_Phong_KH: liệt kê danh sách khách hàng hiện đang thuê phòng
CREATE procedure pr_Phong_KH
from thuephong,khachhang,chitietthuephong
where thuephong.soHDongthuephong not in (select soHDongthuephong from
HDThanhtoanphong)
and thuephong.soHDongthuephong = chitietthuephong.soHDongthuephong
and khachhang.mskh = chitietthuephong.mskh
and msphong = @msphong
Trang 25GIỚI THIỆU CHỨC NĂNG CHƯƠNG
TRÌNH
1/ Form đăng nhập:
2/ Form quản lý phòng:
Trang 263/ Form trang bị trang thiết bị cho từng loại phòng:
4/ Form quản lý thiết bị và dịch vụ:
Trang 275/ Form quản lý loại phòng:
6/ Form quản lý nhân viên:
Trang 287/ Form giao dịch nhận khách hàng đặt phòng:
Trang 298/ Form giao dịch khách hàng thanh toán tiền phòng:
Trang 309/ Form tìm kiếm:
Trang 3110/ Form theo dỏi sử dụng các dịch vụ của khách:
Trang 32KẾT LUẬN
1/ Những chức năng đã thực hiện:
Quản lý được phòng và nhân viên trong khách sạn
Nhận đặt phòng từ khách hàng và thanh toán tiền phòng
2/ Hạn chế:
Không cho thuê phòng theo đoàn, một phòng có một hợp đồng thanh toán và tính tiền theo từng phòng
Chưa bảo mật thông tin đăng nhập
Chưa có báo cáo chi tiết tình hình của khách sạn và chưa có chức năng in các báo biểu, hóa đơn