Đề tài Quản lý khách sạn

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.

doc20 trang | Chia sẻ: lvbuiluyen | Lượt xem: 1906 | Lượt tải: 2download
Bạn đang xem nội dung tài liệu Đề tài 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.