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.
20 trang |
Chia sẻ: vietpd | Lượt xem: 1510 | Lượt tải: 2
Bạn đang xem nội dung tài liệu Đề tài Phương pháp quản lý khách sạn, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Nhóm 06
Tên đề tài : quản lý khách sạn
01 : Tướng Hải Hoàng Sa Nhóm Trưởng
02: Trần Phi Hổ
03 : Phan Thanh Bình
04: Nguyễn Minh Đức
ĐỀ TÀI: QUẢN LÝ KHÁCH SẠN
Mục lục
Đặc tả yêu cầu đề tài
1/ Giới thiệu
2/ Yêu cầu
Phân tích yêu cầu
1/ Yêu cầu hệ thống
2/ Yêu cầu chương trình
Mô hình FHD:
Mô hình dữ liệu:
a/ Mô hình quan niệm:
b/ Mô hình vật lý:
c/ Mô tả các bảng dữ liệu:
Mô tả các Srored Procedure:
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………Đặt 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:
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.
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.
Quản lý khách:
Thông tin về khách hàng.
Số phòng đang ở.
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.
Phân tích yêu cầu
1/ Yêu cầu hệ thống:
Phần cứng:
CPU: 450-megahertz (MHz) Pentium II-class processor trở lên.
RAM: 96 MB.
Phần mềm:
HĐH: Microsoft Windows 2000 trở lên.
.NET Framework 1.1
Microsoft SQL Server
2/ Yêu cầu chương trình:
Mô hình FHD:
Cấu hình phòng, trang thiết bị cho khách sạn
Quản lý thông tin nhân viên
Tìm kiếm thông tin phục vụ cho khách sạn
Giao dịch với khách hàng
Xét quyền
Quản lý khách sạn
Nhân viên
Đăng nhập
Thoát
Bắt đầu
Đăng nhập hợp lệ
Đăng nhập không hợp lệ
Mô hình dữ liệu:
a/ Mô hình quan niệm:
b/ Mô hình vật lý:
c/ Mô tả các bảng dữ liệu:
Mô 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.
2/ pr_del_KH: xoá khách hàng
CREATE procedure pr_del_KH
@MSKH numeric
as
begin
if NOT EXISTS (select * from CHITIETTHUEPHONG where MSKH=@MSKH)
delete from KHACHHANG where MSKH = @MSKH
else
print 'Khach hang dang ton tai trong CSDL '
if (@@error0)
print 'Loi.... Ko xoa duoc'
end
GO
Input: Mã số khách hàng.
Output: không.
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
print 'Loai phong dang ton tai trong CSDL '
if (@@error0)
print 'Loi.... Ko xoa duoc'
end
GO
Input: Mã số loại phòng.
Output: không.
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
else
print 'Nhan vien dang ton tai trong CSDL '
if (@@error0)
print 'Loi.... Ko xoa duoc'
end
GO
Input: Mã số nhân viên.
Output: không.
5/ pr_del_Phong: xóa phòng
CREATE proc pr_del_Phong
@msPhong varchar(10)
as
delete from DMPHONG
where MSPHONG=@msPhong
GO
Input: Mã số phòng.
Output: không.
6/ pr_del_THIETBI_DV: xóa trang thiết bị
CREATE procedure pr_del_THIETBI_DV
@MSTB char(3)
as
begin
declare @a numeric
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
else
print 'Thiet bi_dich vu dang ton tai trong CSDL '
if (@@error0)
print 'Loi.... Ko xoa duoc'
end
GO
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
declare @a numeric
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 (@@error0)
print '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 (@SOHDONGTHUEPHONG,@MSKH,@VAITRO)
else if (@option=2)
Update CHITIETTHUEPHONG set VAITRO=@VAITRO where SOHDONGTHUEPHONG = @SOHDONGTHUEPHONG and MSKH=@MSKH
else
print 'Loi'
if (@@error0)
print 'Loi'
end
GO
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
@SOHDONGTHUEPHONG numeric,
@MSNV char(10),
@NGAYTHANHTOAN datetime,
@TIENPHONG money
as
begin
insert into HDTHANHTOANPHONG(SOHDONGTHUEPHONG,MSNV,NGAYTHANHTOAN,TIENPHONG) values (@SOHDONGTHUEPHONG,@MSNV,@NGAYTHANHTOAN,@TIENPHONG)
if (@@error0)
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 numeric ,
@HOTENKH nvarchar(50),
@GIOITINHKH char(1),
@DIACHIKH nvarchar(100),
@CMND char(10),
@DIENTHOAIKH varchar(15)
as
begin
if (@option=1)
insert into KHACHHANG(HOTENKH,GIOITINHKH,DIACHIKH,CMND,DIENTHOAIKH) values (@HOTENKH,@GIOITINHKH,@DIACHIKH,@CMND,@DIENTHOAIKH)
else if (@option=2)
Update KHACHHANG set HOTENKH = @HOTENKH, GIOITINHKH=@GIOITINHKH, DIACHIKH=@DIACHIKH, CMND=@CMND, DIENTHOAIKH=@DIENTHOAIKH WHERE MSKH=@MSKH
else
print 'Loi'
if (@@error0)
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),
@MSLOAIPHONG char(2) ,
@LOAIPHONG nvarchar(50),
@GIATIEN money
as
begin
if (@option=1)
insert into LOAIPHONG(MSLOAIPHONG,LOAIPHONG,GIATIEN) values (@MSLOAIPHONG,@LOAIPHONG,@GIATIEN)
else if (@option=2)
Update LOAIPHONG set LOAIPHONG=@LOAIPHONG, GIATIEN=@GIATIEN WHERE MSLOAIPHONG=@MSLOAIPHONG
else
print 'Loi'
if (@@error0)
print 'Loi'
end
GO
Input: 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 char(10) ,
@HOTENNV nvarchar(100),
@MatKhau varchar(20),
@NGAYSINHNV datetime,
@GIOITINHNV char(1),
@DIACHINV nvarchar(50),
@DIENTHOAINV varchar(15),
@NGAYVAOLAM DATETIME,
@HINH varchar(500)
as
begin
if (@option=1)
insert into NHANVIEN(MSNV,HOTENNV,MatKhau,NGAYSINHNV,GIOITINHNV,DIACHINV,DIENTHOAINV,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, GIOITINHNV=@GIOITINHNV, DIACHINV=@DIACHINV, DIENTHOAINV=@DIENTHOAINV, NGAYVAOLAM=@NGAYVAOLAM, HINH=@HINH WHERE MSNV=@MSNV
else
print 'Loi'
if (@@error0)
print 'Loi'
end
GO
Input: mã số, họ tên, mật khẩu, ngày sinh,giới tính, địa chỉ, điện thoại, ngày vào làm, hình của nhân viê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.
13/ pr_ins_Phong: thêm mới hoặc cập nhật phòng
CREATE procedure pr_ins_Phong
@option char(1),
@MSPHONG char(10) ,
@MSLOAIPHONG char(2),
@TINHTRANG char(1)
as
begin
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 (@@error0)
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
Nếu option=2: cập nhật
Output: không.
14/ pr_ins_SuDung_DV: thêm mới hoặc cập nhật tình hình sử dụng các dịch vụ của khách
CREATE procedure pr_ins_SuDung_DV
@option char(1),
@SOHDONGTHUEPHONG numeric,
@MSTB char(3),
@NGAYSD datetime,
@SOLUONG int
as
begin
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 (@@error0)
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
if (@option=1)
insert into TRANGBITRANGTB(MSLOAIPHONG,MSTB,SOLUONG) values (@MSLOAIPHONG,@MSTB,@SOLUONG)
else if (@option=2)
Update TRANGBITRANGTB set SOLUONG=@SOLUONG where MSLOAIPHONG = @MSLOAIPHONG and MSTB=@MSTB
else if (@option=3)
delete from TRANGBITRANGTB where MSLOAIPHONG = @MSLOAIPHONG and MSTB=@MSTB
else
print 'Loi'
if (@@error0)
print 'Loi'
end
GO
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,
@THIETBICODINH char(1)
as
begin
if (@option=1)
insert into THIETBI_DV(MSTB,TENTHIETBI,DVT,GIATB,THIETBICODINH) values (@MSTB,@TENTHIETBI,@DVT,@GIATB,@THIETBICODINH)
else if (@option=2)
Update THIETBI_DV set TENTHIETBI = @TENTHIETBI, DVT=@DVT,GIATB=@GIATB, THIETBICODINH=@THIETBICODINH WHERE MSTB=@MSTB
else
print 'Loi'
if (@@error0)
print 'Loi'
end
GO
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
@option char(1),
@SOHDONGTHUEPHONG numeric,
@MSNV char(10),
@MSPHONG char(10),
@NGAYTHUE datetime,
@NGAYTRADK datetime
as
begin
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, NGAYTRADK=@NGAYTRADK WHERE SOHDONGTHUEPHONG=@SOHDONGTHUEPHONG
else
print 'Loi'
if (@@error0)
print 'Loi'
end
GO
Input: 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
as
select HOTENKH 'HoTen', GIOITINHKH 'GioiTinh', DIACHIKH 'DiaChi', CMND, DIENTHOAIKH 'DienThoai' from KHACHHANG
GO
Input: không.
Output: danh sách tất cả tên, giới tính, địa chỉ, CMND, điện thoại của khách hàng có trong csdl.
20/ pr_list_LoaiPhong: liệt kê danh sách loại phòng
CREATE proc pr_list_LoaiPhong
as
select * from LOAIPHONG
GO
Input: 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
as
select MSPHONG,TINHTRANG,LOAIPHONG.* from DMPHONG, LOAIPHONG
where LOAIPHONG.MSLOAIPHONG=DMPHONG.MSLOAIPHONG
GO
Input: không.
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
as
select * from DMPHONG
where TINHTRANG=0
GO
Input: không.
Output: danh sách tất cả phòng trống.
24/ pr_list_PhongSearch: liệt kê danh sách mã số phòng, thuộc loại phòng nào, tình trạng phòng và giá tiền của các phòng
CREATE proc pr_list_PhongSearch
as
select MSPHONG 'MaPhong',TINHTRANG 'TinhTrangTrong',LOAIPHONG.LOAIPHONG 'LoaiPhong',LOAIPHONG.GIATIEN 'GiaTien' from DMPHONG, LOAIPHONG
where LOAIPHONG.MSLOAIPHONG=DMPHONG.MSLOAIPHONG
GO
Input: 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
@SOHDONGTHUEPHONG numeric
as
select SuDungDV.*, THIETBI_DV.*,NGAYTHUE from SuDungDV, THIETBI_DV, THUEPHONG
where SuDungDV.SOHDONGTHUEPHONG=@SOHDONGTHUEPHONG and SuDungDV.MSTB=THIETBI_DV.MSTB and THUEPHONG.SOHDONGTHUEPHONG=SuDungDV.SOHDONGTHUEPHONG
GO
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
@option char(1)
as
begin
if (@option=1)
select * from THIETBI_DV where THIETBICODINH='1'
else if (@option=2)
select * from THIETBI_DV where THIETBICODINH='0'
else
select * 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
@msphong char(10)
as
begin
select Khachhang.*,vaitro,chitietthuephong.soHDongthuephong,thuephong.ngaythue,thuephong.ngaytradk
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
end
GO
Input: mã số phòng.
Output: danh sách tất cả khách hàng hiện đang thuê phòng có mã số phòng truyền vào.