Sử dụng mô hình server/client để chuyên biệt hoá công việc: mỗi client là nơi tiếp nhận các luồng dữ liệu khác nhau tương ứng với từng phần hành được giao và hoàn toàn độc lập với nhau trong thao tác trong khi máy chủ server là nơi duy nhất chứa cơ sở dữ liệu do các client cung cấp và chịu trách nhiệm xử lý, tổng hợp các dữ liệu đã có. như vậy mô hình server/client sẽ làm cho toàn bộ chương trình vừa thống nhất vừa có sự độc lập giữa từng loại công việc
Luận văn gồm 4 chương ,chia làm 8 mục,dai 73 trang.Được hội đồng bảo vệ đánh giá là luận văn xuất sắc
69 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2548 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Luận văn Chương trình phần mềm quản lý khách sạn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
PHOØNG: Danh muïc caùc phoøng cho thueâ cuûa khaùch saïn. Moãi moät phoøng ñeàu coù moät maõ soá ñoù chính laø soá phoøng thöïc teá cuûa khaùch saïn.
Phoøng
Maõ phoøng
Loaïi phoøng
-Maõ phoøng
-Loaïi phoøng
101
102
…
Ñôn
Ñoâi
…
Maõ soá phoøng ñöôïc taïo nhö sau: soá taàng + soá phoøng.
Ví duï: phoøng soá 10 taàng 1 coù maõ soá phoøng nhö sau: 110
TÆNH: löu danh muïc tænh/ thaønh phoá chính trong caû nöôùc.
Tænh
Maõ tænh
Tænh
-Maõ tænh
-Tænh
04
08
Haø noäi
TPHCM
NÖÔÙC: löu danh muïc caùc nöôùc treân theá giôùi. Aùp duïng ñoái vôùi khaùch quoác teá.
Nöôùc
Maõ nöôùc
Teân nöôùc
-Maõ nöôùc
-Teân nöôùc
01
84
Myõ
Vieät nam
DÒCH VUÏ: moâ taû danh muïc caùc loaïi dòch vuï cuûa khaùch saïn vaø nhaø haøng nhö: ñieän thoaïi, fax, thueâ xe, giaët uûi, aên, nöôùc uoáng. . .
Dòch vuï
Maõ dv
Teân dv
DVT
-Maõ dòch vuï
-Teân dòch vuï
-ÑVT
001
002
003
Thueâ xe
Fax
Ñieän thoaïi
Laàn
Cuoäc
Cuoäc
LOAÏI DV: moâ taû tích chaát loaïi dòch vuï cuûa khaùch saïn thuoäc loaïi naøo: phoøng, dòch vuï hay nhaø haøng.
Loaïi DV
Maõ loaïi
Teân loaïi
-Maõ loaïi
-Teân loaïi
PH
DV
NH
Phoøng
Dòch vuï
Nhaø haøng
ÑAËT PHOØNG: Moãi khaùch phaûi ñaët phoøng tröôùc khi nhaän phoøng. Moái quan heä ñaët phoøng duøng ñeå löu thoâng tin ñaët phoøng cho töøng khaùch. Moãi ngöôøi khaùch ñaët phoøng ñeàu coù moät maõ ñaët phoøng. Khoâng coù khaùch ñaët phoøng naøo coù truøng maõ ñaët phoøng. Ñaët phoøng theå hieän moái quan heä keát hôïp giöõa thöïc theå ÑOAØN, KHAÙCH HAØNG vaØ SÖÛ DUÏNG PHOØNG.
Ñaët phoøng
Maõ ñp
Nhaän phoøng
-Maõ Ñp
-Nhaän phoøng
111111
111112
111113
x
x
x
¨
SÖÛ DUÏNG PHOØNG: söû duïng phoøng duøng ñeå löu caùc khaùch haøng thöïc söï thueâ phoøng.
Söû duïng phoøng
-Maõ Ñp
-Ngaøy nhaän phoøng
-Giôø nhaän phoøng
-Ngaøy traû phoøng
-Giôø traû phoøng
-Giaù phoøng
-Traû phoøng
SÖÛ DUÏNG DÒCH VUÏ: Khaùch thueâ phoøng thöôøng söû duïng caùc dòch vuï cuûa khaùch saïn. Moái keát hôïp söû duïng dòch vuï ñöôïc sinh ra töø moái keát hôïp giöõa thöïc theå dòch vuï vaø moái quan heä söû duïng phoøng, duøng ñeå löu caùc laàn söû duïng dòch vuï cuûa töøng khaùch haøng ñang söû duïng phoøng.
Söû duïng dòch vuï
-Maõ söû duïng dòch vuï
-Dieãn giaûi
-Ngaøy sddv
-Soá löôïng
-Giaù
THANH TOAÙN PHOØNG: Thöïc theå naøy löu thoâng tin quaù trình thanh toaùn tieàn phoøng cuûa khaùch, noù ñöôïc sinh ra töø moái quan heä söû duïng phoøng. Khaùch coù theå thanh toaùn tieàn phoøng laøm nhieàu ñôït.
Thanh toaùn phoøng
-Maõ thanh toaùn phoøng
-Ngaøy thanh toaùn
-Phieáu TT
-Tieàn thanh toaùn
THANH TOAÙN DÒCH VUÏ: ñöôïc sinh ra töø moái keát hôïp söû duïng dòch vuï,ï löu thoâng tin quaù trình thanh toaùn tieàn söû duïng dòch vuï.
Thanh toaùn DV
-Maõ thanh toaùn DV
-Ngaøy thanh toaùn
-Phieáu TT
-Tieàn thanh toaùn
II.1.2 MOÂ HÌNH QUAN NIEÄM DÖÕ LIEÄU BAØI TOAÙN QUAÛN LYÙ KHAÙCH SAÏN:
Khaùch haøng
-Maõ KH
-Teân KH
-Ñieän thoaïi
Phoøng
-Maõ phoøng
-Loaïi phoøng
Nöôùc
-Maõ nöôùc
-Teân nöôùc
Khaùch QT
-Soá hoä chieáu
-Ngaøy caáp
-Thôøi haïn
Dòch vuï
-Maõ dòch vuï
-Teân dòch vuï
-Ñôn vò tính
Ñ-ÑV
(1,n)
Tænh
Maõ tænh
Teân tænh
KQT-N
(1,n)
(1,n)
Ñoaøn
-Maõ ñoaøn
-Teân Ñoaøn
-Ngaøy ñaët phoøng
-Ngaøy nhaän phoøng
-Slöôïng phoøng ñaët
-Slöôïng khaùch
Ñaët Phoøng
-Maõ ñaët phoøng
-Nhaän phoøng
â
(1,n)
Ttoaùn phoøng
-Maõ TTPH
-Ngaøy TT
-Phieáu TT
-Tieàn TT
Söû duïng Phoøng
-Maõ ñaët phoøng
-Ngaøy nhaän phoøng
-Giôø nhaän phoøng
-Ngaøy traû phoøng
-Giôø traû phoøng
-Giaù phoøng
-Traû phoøng
â
â
KVN-T
Sduïng dòch vuï
-Masddv
-Ngaøy sddv
-Dieãn giaûi
-Soá löôïng
-Giaù
â
â
(1,1)
(1,n)
(1,1)
(1,n)
(1,n)
Ñôn vò
-Maõ ñôn vò
-Teân ñôn vò
-Ñieän thoaïi
-Taøi khoaûn
-Maõ soá thueá
Ttoaùn Dvuï
-Maõ TTDV
-Ngaøy TT
-Phieáu TT
-Tieàn TT
(1,n)
Loaïi DV
-Maõ loaïi
-Teân loaïi
DV-LDV
(1,n)
(1,1)
Khaùch VN
-CMND
Ñoaøn Khaùch
â
(1,1)
(1,n)
(1,n)
(1,1)
Ñ-T
(1,n)
(1,1)
(1,n)
II.2 - MOÂ HÌNH TOÅ CHÖÙC DÖÕ LIEÄU
Moâ hình toå chöùc döõ lieäu cuûa heä thoáng laø löôïc ñoà cô sôû döõ lieäu cuûa heä thoáng. Ñaây laø böôùc trung gian chuyeån ñoåi giöõa moâ hình quan nieäm döõ lieäu vaø moâ hình vaät lyù döõ lieäu (moâ hình trong maùy tính), chuaån bò cho caøi ñaët heä thoáng.
Sau ñaây laø löôïc ñoà quan heä cuûa baøi toaùn quaûn lyù khaùch saïn:
PHONG (Maphong, Loaiphong)
KHACHHANG (MaKH, TenKH, Dienthoai)
KHACH_VN (MaKH, CMND, Maõ tænh)
KHACH_QT (Maõ KH, Sohochieu, Ngaycap, Thoihan, Manuoc)
TINH (Matinh, Tentinh)
NUOC (Manuoc, Tennuoc)
DONVI (Madonvi, Tendonvi, Dienthoai, Masothue, Taikhoan, Matinh)
DOAøN (Madoan, Tendoan, Ngaydp, Ngaynp, SL_Phd, SL_khach, Madonvi,)
DOAN_KHACH (Makh, Madoan)
DATPHONG (Madp, Makh, Madoan , nhanphong)
SUDUNGPHONG (Madp, Maphong, Ngaynp, Gionp, Ngaytp, Giotp, Giaphong, Traphong)
THANHTOANPHONG (MaTTPH, Madp, NgayTT, PhieuTT, TienTT)
DICHVU (Madv, Tendv, Dvt, Maloai)
LOAIDV (Maloai, Tenloai)
SUDUNGDV (Masddv, ïMadp, Ngaysddv, Soluong, Dongia, Madvï)
THANHTOANDV (MaTTDV, Masddv, NgayTT, PhieuTT, TienTT)
II.3 - MOÂ HÌNH VAÄT LYÙ DÖÕ LIEÄU
Moâ hình vaät lyù döõ lieäu laø moâ hình cuûa döõ lieäu ñöôïc caøi ñaët treân maùy tính döôùi moät heä quaûn trò cô sôû döõ lieäu naøo ñoù. Trong chöông trình naøy laø heä quaûn trò CSDL Access.
ÖÙng vôùi moãi löôïc ñoà quan heä trong moâ hình toå chöùc döõ lieäu ñöôïc caøi ñaët thaønh moät baûng döõ lieäu cô sôû (Table). ÔÛ ñaây ta chæ trình baøy caùc yeáu toá chính cuûa Table bao goàm caùc coät: Teân tröôøng, kieåu döõ lieäu, ñoä lôùn vaø raøng buoäc toaøn veïn döõ lieäu.
PHONG (Maphong, Loaiphong)
PHONG
Field name
Data type
Field size
Validation Rule
Maphong (K)
Text
3
Len()=3
Loaiphong
Text
15
Maphong: Maõ soá phoøng laø soá phoøng cuûa khaùch saïn
Loaiphong: laø loaïi phoøng nhö: ñôn, ñoâi, ñaëc bieät, . .
KHACHHANG (MaKH, TenKH, Dienthoai)
KHACH HANG
Field name
Data type
Field size
Validation Rule
MaKH (K)
Text
12
Len()=12
TenKH
Text
30
Dienthoai
Text
10
Makh: Maõ khaùch haøng coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau:
Makh=Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss")
KHACH_VN (MaKH, CMND, Maõ tænh)
KHACH_VN
Field name
Data type
Field size
Validation Rule
MaKH (K)
Text
12
Len()=12
CMND
Text
10
Matinh
Text
2
Len()=12
KHACH_QT (Maõ KH, Sohochieu, Ngaycap, Thoihan, Manuoc)
KHACH_QT
Field name
Data type
Field size
Validation Rule
MaKH (K)
Text
12
Len()=12
Sohochieu
Text
15
Ngaycap
Date
<date()
Thoihan
Byte
Manuoc
Text
3
Len()=3
TINH (Matinh, Tentinh)
TINH
Field name
Data type
Field size
Validation Rule
Matinh (K)
Text
2
Len()=2
Tentinh
Text
20
Matinh: Maõ tænh
NUOC (Manuoc, Tennuoc)
NUOC
Field name
Data type
Field size
Validation Rule
Manuoc(K)
Text
3
Len()=3
Tennuoc
Text
20
Manuoc: Maõ nöôùc, ñaùnh soá theo thöù töï chöõ caùi cuûa quoác gia
Tennuoc: teân nöôùc hay quoác gia.
DONVI (Madonvi, Tendonvi, Dienthoai, Masothue, Taikhoan, Matinh)
DONVI
Field name
Data type
Field size
Validation Rule
Madonvi (K)
Text
12
Len()=12
Tendonvi
Text
30
Dienthoai
Text
10
Masothue
Text
15
Taikhoan
Text
12
Matinh
Text
2
Len()=2
Madonvi: Maõ ñôn vò coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau:
Madonvi=Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss")
DOAøN (Madoan, Tendoan, Ngaydp, Ngaynp, SL_Phd, SL_khach, Madonvi,)
DOAøN
Field name
Data type
Field size
Validation Rule
Madoan (K)
Text
12
Len()=12
Tendoan
Text
30
Ngaydp
Date
Ngaynp
Date
SL_Phd
Byte
SL_khach
Byte
Madonvi
Text
12
Madoan: Maõ ñoaøn coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau:
Madoan=Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss")
DOAN_KHACH (Makh, Madoan)
DOAN_KHACH
Field name
Data type
Field size
Validation Rule
Makh (K)
Text
12
Len()=12
Madoan (K)
Text
12
Len()=12
DATPHONG (Madp, Makh, Madoan , nhanphong)
DATPHONG
Field name
Data type
Field size
Validation Rule
Madp (K)
Text
12
Len()=12
MaKH (K)
Text
12
Len()=12
Madoan (K)
Text
12
Len()=12
Nhanphong
Yes/No
Madp: Maõ ñaët phoøng coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau:
Madp=Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss")
Nhanphong: coù giaù trò laø yes khi khaùch nhaän phoøng.
SUDUNGPHONG (Madp, Maphong, Ngaynp, Gionp, Ngaytp, Giotp, Giaphong, Traphong)
SUDUNGPHONG
Field name
Data type
Field size
Validation Rule
Madp (K)
Text
12
Len()=12
Maphong
Text
3
Len()=3
Ngaynp
Date
Gionp
Date
Ngaytp
Date
Giotp
Date
Giaphong
Number
Single
Traphong
Yes/No
Madp: Maõ ñaët phoøng
Maphong: soá phoøng thueâ
Ngaynp: Ngaøy nhaän phoøng thöïc teá
Gionp: giôø nhaän phoøng thöïc teá
Ngaytp: Ngaøy traû phoøng thöïc teá
Gionp: giôø traû phoøng thöïc teá
Traphong: coù giaù trò laø Yes khi khaùch traû phoøng
THANHTOANPHONG (MaTTPH, Madp, NgayTT, PhieuTT, TienTT)
THANHTOANPHONG
Field name
Data type
Field size
Validation Rule
MaTTPH(K)
Text
12
Len()=12
Madp (K)
Text
12
Len()=12
NgayTT
Date
PhieuTT
Text
5
TienTT
Number
Single
Maõ thanh toaùn phoøng coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau:
Maõ TT phoøng=Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss")
DICHVU (Madv, Tendv, Dvt, Maloai)
DICHVU
Field name
Data type
Field size
Validation Rule
Madv (K)
Text
3
Len()=3
Tendv
Text
20
Dvt
Text
10
Maloai
Text
2
Len()=2
Madv: Maõ dòch vuï goàm 3 kyù töï ñöôïc qui ñònh nhö sau : 001:phoøng; 002:ñieän thoaïi; 003:fax, . . . .
Maloai: maõ loaïi dòch vuï
LOAIDV (Maloai, Tenloai)
LOAIDV
Field name
Data type
Field size
Validation Rule
Maloai (K)
Text
2
Len()=2
Tenloai
Text
20
Maloai: Maõ loaïi goàm 2 kyù töï ñöôïc qui ñònh nhö sau : PH:phoøng; DV:dòch vuï; NH:nhaø haøng
Tenloai: teân loaïi dòch vuï: Phoøng, dòch vuï, nhaø haøng
SUDUNGDV (Masddv, ïMadp, Ngaysddv, Soluong, Dongia, Madvï)
SUDUNGDV
Field name
Data type
Field size
Validation Rule
Masddv (K)
Text
12
Len()=12
Madp (K)
Text
12
Len()=12
Ngaysddv
Date
Soluong
Number
Single
Dongia
Number
Single
Madv
Text
3
Masddv: Maõ söû duïng dv coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau:
Masddv=Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss")
Ngaysddv: ngaøy söû duïng dòch vuï.
THANHTOANDV (MaTTDV, Masddv, NgayTT, PhieuTT, TienTT)
THANHTOANDV
Field name
Data type
Field size
Validation Rule
MaTTDV (K)
Text
12
Len()=12
Masddv(K)
Text
12
Len()=12
NgayTT
Date
PhieuTT
Text
5
TienTT
Number
Single
III- MOÂ HÌNH HOÙA XÖÛ LYÙ
III.1 - MOÂ HÌNH THOÂNG LÖÔÏNG :
Nhaèm muïc ñích xaùc ñònh caùc luoàng thoâng tin trao ñoåi giöõa caùc boä phaän trong heä thoáng thoâng tin quaûn lyù.
Moâ hình thoâng löôïng cuûa baøi toaùn quaûn lyù khaùch saïn ñöôïc bieåu dieãn nhö sau:
Ban giaùm ñoác
(1)
Khaùch haøng
Quaûn lyù phoøng
(2)
Leã taân
(3)
(3)
(3)
(5)
Quaûn lyù
Nhaø haøng
Khaùch haøng - Leã taân :
(1) Yeâu caàu ñaët phoøng, söû duïng dòch vuï, thanh toaùn tieàn
(2) Traû lôøi yeâu caàu ñaët phoøng, söû duïng dòch vuï, thanh toaùn tieàn
Leã taân – quaûn lyù phoøng:
(3) Yeâu caàu giao phoøng cho khaùch.
(4) Thoâng baùo hieän traïng phoøng.
Leã taân – quaûn lyù nhaø haøng:
(5) Yeâu caàu cung caáp dòch vuï nhaø haøng
(6) Thoâng baùo tình hình cung caáp dòch vuï nhaø haøng
Ban giaùm ñoác – Leã Taân:
(7) Yeâu caàu baùo caùo doanh thu.
(8) Traû lôøi yeâu caàu baùo caùo.
III.2. MOÂ HÌNH QUAN NIEÄM XÖÛ LYÙ
a/ Moâ hình quan nieäm xöû lyù:
Muïc ñích nhaèm xaùc ñònh heä thoáng goàm nhöõng chöùc naêng gì ? Vaø caùc chöùc naêng naøy lieân heä vôùi nhau hö theá naøo ? ÔÛ möùc naøy chöa quan taâm caùc chöùc naêng ñoù ai laøm, laøm khi naøo vaø laøm ôû ñaâu.
Danh saùch caùc coâng vieäc:
Ñaêng kyù ñaët phoøng
Ghi thoâng tin khaùch ñaët phoøng
Boá trí vaø giao phoøng cho khaùch
Ghi nhaän caùc dòch vuï khaùch söû duïng
Khaùch traû phoøng
Thanh toaùn tieàn phoøng vaø dòch vuï
Baùo caùo doanh thu vaø quaûn trò
Moâ hình quan nieäm xöû lyù:
Ñaêng kyù ñaët phoøng
Yes
No
Khaùch haøng
Thoâng baùo khoâng nhaän
Thoâng baùo nhaän
Ghi thoâng tin khaùch
Yes
Coù thoâng tin khaùch ñaët phoøng
(1)
Giao phoøng cho khaùch
Yes
No
Huyû nhaän phoøng
In sô ñoà phoøng
Khaùch söû duïng
dòch vuï KS vaø NH
Yes
Traû phoøng
Yes
Ghi nhaän dòch vuï
Khaùch yeâu caàu traû phoøng
(1)
In Baùo caùo doanh thu
Yes
No
Haøng ngaøy
Giao ban giaùm ñoác
Khoâng coù doanh thu ngaøy
In Baùo caùo thaùng
Yes
Doanh thu ñoaøn, toång hôïp dt
Coâng suaát buoàng, danh saùch ñoaøn
Cuoái thaùng
Thanh toaùn tieàn
Yes
No
In hoaù ñôn phoøng vaø dòch vuï
In thoâng baùo nôï cho khaùch
III.3. MOÂ HÌNH TOÅ CHÖÙC XÖÛ LYÙ
Muïc tieâu laø xaùc ñònh roõ coâng vieäc do ai laø, laøm ôû ñaâu, laøm khi naøo vaø laøm theo phöông thöùc naøo. ÔÛ möùc naøy caùc coâng vieäc trong moâ hình quan nieäm xöû lyù ñöôïc gaén vaøo töøng nôi laøm vieäc cuï theå cuûa moâi tröôøng thöïc.
III.3.1. Baûng coâng vieäc:
Stt
Teân coâng vieäc
Nôi thöïc hieän
Phöông thöùc
Taàn suaát
Chu kyø
1
Ñaêng kyù ñaët phoøng
Leã taân
Thuû coâng
nhieàu laàn/ngaøy
1 ngaøy
2
Ghi thoâng tin khaùch ñaët phoøng
Leã taân
Thuû coâng
nhieàu laàn/ngaøy
1 ngaøy
3
Boá trí vaø giao phoøng cho khaùch
Leã taân
Thuû coâng
nhieàu laàn/ngaøy
1 ngaøy
4
Ghi nhaän caùc dòch vuï khaùch söû duïng
Leã taân, nhaø haøng
Thuû coâng
nhieàu laàn/ngaøy
1 ngaøy
5
Khaùch traû phoøng
Khaùch haøng
Thuû coâng
nhieàu laàn/ngaøy
1 ngaøy
6
Thanh toaùn tieàn phoøng vaø dòch vuï
Leã taân
Thuû coâng
nhieàu laàn/ngaøy
1 ngaøy
7
Baùo caùo doanh thu vaø quaûn trò
Ban Quaûn lyù
Töï ñoäng
1 laàn/ng/thg
1 ng, thg
III.3.1. Moâ hình toå chöùc xöû lyù:
Moâ hình toå chöùc xöû lyù laø moâ hình lieân hoaøn caùc bieán coá, coâng vieäc vaø caùc bieán coá, coâng vieäc naøy ñöôïc ñaët taïi vò trí laøm vieäc cuï theå. Nhöõng bieán coá khoâng xuaát phaùt töø moät nôi laøm vieäc naøo ta ñaët treân ñöôøng phaân caùch giöõa hai nôi laøm vieäc. Moâ hình toå chöùc xöû lyù chöông trình khaùch saïn.
KHAÙCH HAØNG
LEÃ TAÂN
NHAØ HAØNG
BAN QL
Ñaêng kyù ñaët phoøng
Yes
No
Yeâu caàu ñaët phoøng
Thoâng baùo nhaän
Giao phoøng cho khaùch
Yes
No
Ghi thoâng tin khaùch
Yes
Coù thoâng tin khaùch ñaët phoøng
Khaùch söû duïng phoøng
Khaùch khoâng thueâ phoøng
(1)
Khoâng ñaùp öùng ñöôïc
In sô ñoà phoøng
KHAÙCH HAØNG
LEÃ TAÂN
NHAØ HAØNG
BAN QL
Ghi nhaän
dòch vu KS
Yes
(1)
Baùo caùo doanh thu ngaøy
Traû phoøng
Yes
Khaùch yeâu caàu traû phoøng
Thanh toaùn tieàn
Yes
No
Xuaát hoaù ñôn phoøng vaø dòch vuï
In thoâng baùo nôï cho khaùch
2
Khaùch söû duïng dòch vuï KS-NH
Ghi nhaän
dòch vu NH
Yes
(1)
KHAÙCH HAØNG
LEÃ TAÂN
NHAØ HAØNG
BAN QL
In Baùo caùo doanh thu
No
Yes
Haøng ngaøy
Giao boä phaän keá toaùn
Khoâng coù doanh thu ngaøy
In Baùo caùo thaùng
Yes
In Doanh thu ñoaøn, toång hôïp dt,…
In Coâng suaát buoàng, danh saùch ñoaøn,…
Cuoái thaùng
2
4. MOÂ HÌNH VAÄT LYÙ XÖÛ LYÙ
Töø moâ hình toå chöùc xöû lyù ñaõ coù, ta bieán caùc thuû tuïc chöùc naêng (coâng vieäc) töï ñoäng thaønh caùc ñôn vò chöông trình. ÖÙng vôùi moãi ñôn vò chöông trình ta vieát moät ñaëc taû chi tieát ñeå chuaån bò cho vieäc laäp trình.
Trong chöông trình quaûn lyù khaùch saïn naøy, theo caùch tieáp caän khoâng gian, vò trí laøm vieäc vaø chöùc naêng cuûa töøng boä phaän, chöông trình ñöôïc toå chöùc thaønh 3 chöông trình nhoû taïi 3 nôi: quaày leã taân, quaày nhaø haøng vaø phoøng quaûn lyù chung. Trong ñoù cô sôû döõ lieäu ñaët taïi phoøng quaûn lyù ñoùng vai troø moät Server.
CHÖÔNG TRÌNH QUAÛN LYÙ KHAÙCH SAÏN THEO MOÂ HÌNH
-B/caùo doanh thu
-B/caùo coâng suaát buoàng
-B/caùo toång hôïp khaùch
-B/keâ toång hôïp doanh thu
-In Sô ñoà phoøng
Heä thoáng:
-Ñaêng kyù ngöôøi duøng
-Thieát keá sô ñoà phoøng
-Sao löu CSDL
-Chuyeån naêm laøm vieäc
. . .
SERVER: CSDL
CLIENT: NHAØ HAØNG
-Nhaäp dòch vuï nhaø haøng.
-Quaûn lyù xuaát nhaäp haøng vaø dòch vu.ï
CLIENT: LEÃ TAÂN
-Ñaêng kyù ñaët phoøng
-Nhaäp thoâng tin khaùch
-Phaân phoøng
-Quaûn lyù phoøng (chuyeån phoøng, traû phoøng)
-Nhaäp dòch vuï KS
IPO CHART
a) IOP Chart Thieát keá sô ñoà phoøng : ñeå deã daøng theo doõi khaùch thueâ phoøng, moãi khaùch saïn ñeàu theå hieän hieän traïng phoøng baèng sô ñoà phoøng. Trong sô ñoà phoøng moãi phoøng öùng vôùi moät nuùt. Phoøng coù khaùch thì nuùt seõ coù maøu saùng. Khi caàn xem thoâng tin phoøng naøo chæ caàn nhaán chuoät vaøo phoøng coù maøu saùng. Do töøng khaùch saïn coù toång soá phoøng vaø söï boá trí vò trí caùc phoøng khaùc nhau neân seõ coù sô ñoà phoøng khaùc nhau. Coâng vieäc ñaàu tieân khi söû duïng chöông trình khaùch saïn laø taïo moät form ñeå thieát keá hay boá trí caùc phoøng cho thueâ cuûa khaùch saïn theo vò trí cuûa caùc phoøng trong khaùch saïn. Khi thieát keá xong, maùy seõ töï ñoäng ghi nhôù ñeå söû duïng sau naøy.
IOP Chart Soá : 01
Vaøo : Table Phoøng
Goïi : None
Goïi bôûi : Main Menu (server)
Ra : Phoøng
Modun : Thieát keá sô ñoà phoøng Ngaøy :01/01/2000
Heä thoáng : Server Ngöôøi laäp :ABC
Muïc tieâu : Thieát keá sô ñoà phoøng.
Xöû lyù :
-Taïo moät Form chöùa khoaûng 150 CommandButton vaø cho aån (Visible=false).
-Khi Load form seõ ñoïc laàn löôït töøng baûn ghi cuûa Table Phoøng ñeå:
.Gaùn maõ phoøng cho thuoäc tính Cation cuûa CommandButton
.Cho thuoäc tính Visible cuûa CommandButton laø True.
-Duøng chuoät di chuyeån caùc CommandButton tôùi vò trí mong muoán.
-Löu thieát keá : gaùn toaï ñoä left, top hieän haønh cuûa töøng CommandButton vaøo töøng baûn ghi töông öùng trong Table Phoøng.
b) IOP Chart Ñaët phoøng : modun nhaäp thoâng tin khaùch ñaët phoøng. Khi khaùch chính thöùc ñaët phoøng, ta duøng form naøy ñeå caäp nhaát thoâng tin cho ñoaøn vaø töøng khaùch trong ñoaøn.
IOP Chart Soá : 02
Vaøo : Table ñaët phoøng, ñoaøn, ñôn vò, khaùch haøng
Goïi bôûi : Main Menu (Client leã taân)
Goïi : Tìm kieám khaùch
Ra : Ñaët phoøng
Modun : Ñaët phoøng Ngaøy :01/01/2000
Heä thoáng : Client Leã taân Ngöôøi laäp :NHLong
Muïc tieâu : Nhaäp thoâng tin khaùch ñaët phoøng.
Xöû lyù : Taïo moät Form ñaët phoøng. Trong Form naøy taïo caùc combo box choïn ñôn vò, tænh, quoác tòch ñeå caäp nhaäp thoâng tin cho moät ñoaøn vaø caùc khaùch haøng coù trong ñoaøn. Maõ soá ñoaøn, maõ ñaët phoøng, maõ khaùch haøng môùi coù 12 kyù töï ñöôïc taïo thaønh töï ñoäng nhö sau:
=Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss")
Taïo moät DataGrid ñeå chöùa taïm thôøi danh saùch caùc vò khaùch ñi chung ñoaøn. Trong Form naøy cho pheùp doø tìm töï ñoäng moät vò khaùch trong hoaëc ngoaøi nöôùc ñaõ ñöôïc löu tröôùc ñoù trong CSDL baèng khoaù laø CMND, soá hoä chieáu hay teân, tænh.
c) IOP Chart phaân phoøng: modun boá trí töøng khaùch trong ñoaøn vaøo töøng phoøng.
IOP Chart Soá : 03
Ra : Ñaët phoøng, söû duïng phoøng
Vaøo : Table ñaët phoøng, phoøng, söû duïng phoøng
Goïi bôûi : Main Menu (Client leã taân)
Goïi : Sô ñoà phoøng
Modun : Phaân phoøng Ngaøy :01/01/2000
Heä thoáng : Client Leã taân Ngöôøi laäp : NHLong
Muïc tieâu : Boá trí khaùch vaøo phoøng.
Xöû lyù : Trong Form naøy goàm moät DataGrid chöùa danh saùch khaùch ñaët phoøng (nguoàn laáy töø Query Datphong coù ñieàu kieän Nhanphong=No). Moät DataGrid chöùa taïm caùc khaùch haøng ñöôïc choïn ra cho moãi phoøng, sau moõi laàn nhaän phoøng seõ töï ñoäng bò xoaù.
Moät Combo duøng ñeå hieän soá phoøng. Khi boá trí xong phoøng naøo thì nhöõng Record ñöôïc choïn vaøo cuøng 1 phoøng trong Table “Dat phong” seõ coù Nhanphong=Yes ñoàng thôøi Table “Su dung Phong” seõ ñöôïc theâm töøng aáy record vôùi cuøng töông öùng maõ ñaët phoøng.
d) IOP Chart Phoøng: modun hieän thò thoâng tin cuûa moät phoøng, thöïc hieän caùc taùc vuï: nhaäp dòch vuï khaùch saïn, chuyeån vaø traû phoøng.
IOP Chart Soá : 04
Vaøo : Table phoøng, söû duïng phoøng, söû duïng dv.
Goïi : Sô ñoà phoøng
Goïi bôûi : Sô ñoà phoøng
(Client leã taân)
Ra : söû duïng phoøng, söû duïng dv
Modun : Phoøng Ngaøy :01/01/2000
Heä thoáng : Client Leã taân Ngöôøi laäp : NHLong
Muïc tieâu : Xem thoâng tin phoøng vaø nhaäp dv khaùch saïn, chuyeån vaø traû phoøng.
Xöû lyù : Trong Form naøy goàm MSFlexGrid chöùa danh saùch khaùch coù trong phoøng. Moät DataGrid chöùa caùc dòch vuï maø khaùch ñaõ söû duïng, coù theå choïn xem caùc dòch vuï cuûa töøng vò khaùch hay caû phoøng.
-Taïo moät command button chuyeån taát caû khaùch vaø dòch vuï töø phoøng naøy sang phoøng khaùc.
-Taïo moät command button chuyeån moät vò khaùch cuøng dòch vuï sang phoøng khaùc.
-Taïo moät command button thöïc hieän chöùc naêng traû phoøng.
-Taïo muïc choïn in: cho pheùp in rieâng tieàn phoøng hoaëc in dòch vuï hoaëc ñoàng thôøi caû hai.
e) IOP Chart Quaûn lyù ñoaøn : modun quaûn lyù ñoaøn.
IOP Chart Soá : 05
Ra : söû duïng phoøng, söû duïng dv.
Goïi bôûi : Main Menu
Goïi : Nhaäp dòch vuï
ñoaøn
Vaøo : Table ñoaøn, ñôn vò, khaùch haøng, söû duïng phoøng, söû duïng dv
Modun : Quaûn lyù ñoaøn Ngaøy :01/01/2000
Heä thoáng : Server, Client Leã taân Ngöôøi laäp :NHLong
Muïc tieâu : Quaûn lyù thoâng tin ñoaøn.
Xöû lyù : Taïo moät Form quaûn lyù ñoaøn. Trong Form naøy taïo 2 VscrollBar ñeå choïn thaùng vaø naêm caàn xem.
-Taïo coâng cuï tìm kieám moät ñoaøn hay ñôn vò naøo ñoù.
-Taïo 3 DataGrid:
.DataGrid ñoaøn: chöùa danh saùch caùc ñoaøn ñaõ choïn theo thôøi gian:
SQLlocdoan mthang, mnam, mtendoan, mdonvi
DE.Commands.Item("Qdoan").CommandText =”Select From Qdoan Where (month(ngaydknp)=mthang) and (year(ngaydknp)=mnam) and (tendoan=mtendoan) and (tendv=mdonvi)”
Griddsdoan.DataMember = "Qdoan"
.DataGrid DSKh: chöùa danh saùch khaùch cuûa ñoaøn ñöôïc choïn
.DataGrid sddv: chöùa caùc dòch vuï ñaõ söû duïng cuûa töøng ñoaøn ñöôïc choïn.
-Taïo moät command button ñeå in dòch vuï cuûa ñoaøn
-Taïo moät command button cho pheùp traû phoøng caû ñoaøn
-Taïo moät command button ñeå nhaäp dòch vuï cho caû ñoaøn.
PHAÀN II: NOÄI DUNG CHÖÔNG TRÌNH
(SÖÛ DUÏNG NGOÂN NGÖÕ VISUAL BASIC)
I- Giôùi thieäu caùc neùt chính cuûa ngoân ngöõ VISUAL BASIC
Visual Basic laø moät ngoân ngöõ thaûo chöông hoaøn thieän vaø hoaït ñoäng theo kieåu ñieàu khieån bôûi söï kieän ( Event - Driven programming language ) nhöng laïi raát gioáng ngoân ngöõ thaûo chöông coù caáu truùc ( Structured programming language )
Noù cuøng hoã trôï caùc caáu truùc :
Caáu truùc IF … THEN … ELSE
Caùc caáu truùc laëp (Loops)
Caáu truùc reõ nhaùnh ( Select Case )
Haøm ( Function ) vaø chöông trình con ( Subroutines )
Visual Basic ñöa ra phöông phaùp laäp trình môùi, naâng cao toác ñoä laäp trình.
Cuõng nhö caùc ngoân ngöõ khaùc, moãi phieân baûn môùi cuûa Visual Basic ñeàu chöùa ñöïng nhöõng tính naêng môùi chaúng haïn Visual Basic 2.0 boå sung caùch ñôn giaûn ñeå ñieàu khieån caùc cô sôû döõ lieäu maïnh nhaát coù saün, Visual Basic 4.0 boå sung theâm phaàn hoã trôï phaùt trieãn 32-bit vaø baét ñaåu chuyeån sang thaønh moät ngoân ngöõ laäp trình höôùng ñoái töôïng ñaày ñuû, ñeán Visual Basic 6.0 hoã trôï nhieàu tính naêng maïnh chaúng haïn OLE DB ñeå laäp trình döõ lieäu. Caùc laäp trình vieân ñaõ coù theå duøng Visual Basic 6.0 ñeå töï môû roäng Visual Basic .
Visual Basic coù saün caùc coâng cuï nhö : caùc hoäp vaên baûn ,caùc nuùt leänh, caùc nuùt tuøy choïn, caùc hoäp kieåm tra, caùc hoäp lieät keâ, caùc thanh cuoän, caùc hoäp thö muïc vaø taäp tin ... Coù theå duøng caùc khung keû oâ ñeå quaûn lyù döõ lieäu theo daïng baûng, lieân laïc vôùi caùc öùng duïng Windows khaùc, truy caäp caùc cô sôû döõ lieäu goïi chung laø ñieàu khieån thoâng qua coâng ngheä OLE cuûa Microsoft.
Visual Basic coøn hoã trôï cho vieäc laäp trình baèng caùch hieän taát caû tính chaát cuûa ñoái töôïng moãi khi ta ñònh duøng ñeán noù. Ñaây laø ñieåm maïnh cuûa caùc ngoân ngöõ laäp trình hieän ñaïi.
Caùc böôùc thieát keá moät öùng duïng Visual Basic:
Xaây döïng caùc cöûa soå maø ngöôøi duøng seõ thaáy.
Quyeát ñònh nhöõng söï kieän maø caùc ñieàu khieån treân cöûa soå seõ nhaän ra.
Vieát caùc thuû tuïc söï kieän cho caùc söï kieän ñoù (caùc thuû tuïc con khieán cho caùc thuû tuïc söï kieän ñoù laøm vieäc ).
Caùc noäi dung dieãn ra khi öùng duïng ñang chaïy :
Visual Basic giaùm saùt caùc cöûa soå vaø caùc ñieàu khieån trong töøng cöûa soå cho taát caû moïi söï kieän maø töøng ñieàu khieån coù theå nhaän ra (caùc chuyeån ñoäng chuoät, caùc thao taùc nhaép leân chuoät, di chuyeån, caùc goõ phím...)
Khi Visual Basic phaùt hieän moät söï kieän , neáu khoâng coù moät ñaùp öùng taïo saün cho söï kieän ñoù, Visual Basic seõ xem xeùt öùng duïng ñeå kieåm tra ngöôøi duøng ñaõ vieát thuû tuïc cho söï kieän ñoù hay chöa.
Neáu ñaõ vieát roài , Visual Basic seõ thi haønh vaø hình thaønh neân thuû tuïc söï kieän ñoù vaø quay trôû laïi böôùc ñaàu tieân.
Neáu chöa vieát thuû tuïc söï kieän , Visual Basic seõ chôø söï kieän keá tieáp roài quay veà böôùc ñaàu tieân.
Caùc böôùc naøy quay voøng cho ñeán khi öùng duïng keát thuùc.
Sau khi ñaõ tìm hieåu theá naøo laø hoaït ñoäng theo kieåu ñieàu khieån bôûi söï kieän vaø caùc hoå trôï cuûa Visual Basic, chuùng ta seõ thaáy ñaây laø moät coâng cuï laäp trình deå chòu vaø coù xu höôùng trôû thaønh moâi tröôøng laäp trình hoaøn haûo cho nhöõng naêm saép tôùi .
II- MOÂ HÌNH CLIENT – SERVER
1/ Giôùi thieäu moâ hình Client – Server :
Moâ hình Client - Server laø moät kyõ thuaät tính toaùn, trong ñoù Client ñôn giaûn laø moät ñoái töôïng caàn ñöôïc phuïc vuï, thoâng thöôøng laø caùc öùng duïng caàn ñeán döõ lieäu hay dòch vuï töø chöông trình khaùc vaø Server laø ñoái töôïng phuïc vuï nhöõng yeâu caàu ñoù do nhieàu Client gôûi ñeán.
Moãi khi caàn ñöôïc phuïc vuï, Client seõ taïo moät caàu noái ñeán Server vaø gôûi yeâu caàu noù caàn. Sau khi ñaõ ñaït ñöôïc söï phuïc vuï, Client seõ ngaét caàu noái vaø trôû veà traïng thaùi nhö moät chöông trình bình thöôøng .
Vieäc öùng duïng moâ hình Client - Server seõ laøm giaûm chi phí, ñoàng thôøi laøm taêng toác ñoä, ñieàu naøy raát caàn thieát trong vieäc truy caäp döõ lieäu.
2/ Moâ hình Client – Server :
Caùc moâ hình caên baûn sau:
a) One – tier model:
Moâ hình
Chöông trình öùng duïng (Application Programing) phaûi laøm taát caû caùc coâng vieäc nhö theâm vaøo, xoùa, caäp nhaät, thay ñoåi chæ muïc treân döõ lieäu vaø hieån thò keát quaû cho ngöôøi duøng. Ñoøi hoûi ngöôøi duøng phaûi hieåu bieát nhieàu veà caáu truùc leänh do ñoù chöông trình öùng duïng phaûi xöû lyù nhieàu coâng vieäc vaø trôû neân naëng neà.
b) Two – tier model
Moâ hình
-Application Programing : cung caáp moät giao dieän thaân thieän ñeå thoâng qua ñoù ngöôøi duøng coù theå thöïc hieän caùc thao taùc treân döõ lieäu maø khoâng caàn phaûi bieát nhieàu veà caáu truùc leänh.
-Database Server : laø caùc Server nhö Oracle server, SQL server ... thöïc hieän caùc yeâu caàu gôûi tôùi töø phía Application Programing thoâng qua caùc caâu leänh SQL vaø traû keát quaû veà cho Application Programing, Application Programing hieån thò keát quaû cho ngöôøi duøng.
Ta thaáy, soá löôïng coâng vieäc ñaõ ñöôïc chia xeû giöõa Application Programing vaø Database Server neân ngöôøi duøng deã söû duïng hôn.
c) Three – tier model
Moâ hình
Moâ hình 3 lôùp hay coøn goïi laø moâ hình n lôùp. Trong ñoù lôùp Client laø moät chöông trình raát nhoû, chæ chöùa vöøa ñuû maõ ñeå thöïc hieän vieäc giao tieáp vôùi ngöôøi duøng moät caùch thaân thieän. Moâ hình naøy coøn ñöôïc goïi laø moâ hình n lôùp vì lôùp giöõa bao goàm nhieàu thaønh phaàn, moãi thaønh phaàn coù taùc duïng rieâng ñeå trao ñoåi vôùi lôùp Client vaø lôùp Server thaät.
3/ Truy caäp döõ lieäu trong Visual Basic :
Moâ hình minh hoaï söï truy caäp döõ lieäu trong VB
Trong chöông trình quaûn lyù khaùch saïn naøy, em söû duïng moâ hình 3 lôùp vôùi phöông phaùp truy caäp ADO (ActiveX Data Object).
ADO laø phöông phaùp truy caäp döõ lieäu thoâng qua OLE DB. Ñeán VB 6 thì ñaây ñöôïc xem nhö laø phöông phaùp truy caäp döõ lieäu chuû yeáu. Noù ñöôïc hoå trôï maïnh baèng caùc thaønh phaàn môùi coù ghi chuù (OLE DB). Vieäc hieån thò döõ lieäu cuõng nhö caùc taäp hôïp keát quaû traû veà ñeàu tieän lôïi.
Caùc thaønh phaàn cuûa ADO:
4/ Caùch keát noái döõ lieäu thoâng qua OLE DB trong VB :
a/ Keát noái vôùi CSDL:
Caùc böôùc thöïc hieän thoâng qua giao dieän:
Taïi cöûa soå döï aùn ñang laøm vieäc vaøo menu Project / More ActiveX Designers. . .-> Data Environment, hoäp thoaïi hieän ra nhö sau:
Ñaët teân cho keát noái Connection1 baèng caùch nhaán chuoät vaøo bieåu töôïng
(Properties Windows), ñieàn teân vaøo muïc Name.
Choïn vaø nhaán chuoät phaûi taïi teân keát noái, choïn Properties töø menu taét, khi ñoù hoäp thoaïi Data Link Properties xuaát hieän nhö hình beân. Töø ñaây ta choïn moät trong caùc kieåu cung caáp söï truy caäp döõ lieäu ñeán caùc CSDL khaùc nhau. Ñeå keát noái vôùi CSDL Microsoft Access 97 ta choïn Microsoft Jet 3.51 OLE DB Provider vaø nhaán Next>>.
Hoäp thoaïi tieáp theo hieän ra ñeå ta cung caáp ñöôøng daãn vaø teân cuûa CSDL muoán keát noái. Neáu CSDL ñaët taïi maùy khaùc thì ñöôøng daãn xaùc ñònh nhö sau:
\\\
Ñeå kieåm tra vieäc keát noái tôùi CSDL coù thaønh coâng hay khoâng ta nhaán vaøo nuùt Test Connection. Neáu thoâng baùo hieän ra “Test Connection succeeded” laø ta ñaõ keát noái ñöôïc, ngöôïc laïi ta phaûi kieåm tra xem ñöôøng daãn vaø teân CSDL ñaõ nhaäp ñuùng chöa.
Tröôøng hôïp CSDL ñöôïc baûo veä baèng maät khaåu, ñeå truy caäp ñöôïc ta phaûi thöïc hieän nhö sau:
-Töø hoäp thoaïi Data Link Properties vaøo Tab All.
-Choïn doøng Jet OLEDB: Database Password roài nhaán nuùt Edit Value…
-Cung caáp maät khaåu cuûa CSDL taïi muïc Property Value roài nhaán OK ñeå hoaøn thaønh.
b/ Ñoái töôïng Command :
Ñoái töôïng Command laø thaønh phaøn raát quan troïng cuûa ADO. Noù cho pheùp ñònh nghóa moät recordset ñöôïc laáy töø caùc Table/Query trong moät Database hay töø caâu leänh SQL. Ñeå taïo moät command töø Deconnect, ta choïn bieåu töôïng Add Command töø hoäp thoaïi DE(Data Environment), hoäp thoaïi xuaát hieän nhö hình döôùi:
-Command Name: ñaët teân cho Command
-Connection: choïn keát noái cho Command
-Source of Data: nguoàn döõ lieäu, coù theå laø:
.Database Object: choïn ñoái töôïng CSDL, coù theå laø table, view (query) hay moät thuû tuïc.
Ñònh nghóa moät command teân Khachhang söû duïng nguoàn döõ lieäu töø moät Table teân Khachhang
.SQL Statement: xaây döïng caâu leänh SQL
Ñònh nghóa moät command teân Qsudungphong töø caâu leänh SQL söû duïng nguoàn döõ lieäu laø Query Qsudungphong coù tham soá ñi keøm.
Khi ñònh nghóa moät Command coù söû duïng caâu leänh SQL, ta coù theå söû duïng tham soá (parameters) ñeå truyeàn giaù trò cho Command xöû lyù.
Ngoaøi ra trong Command ta coù theå thieát laäp moái quan heä môùi, nhoùm thuoäc tính vaø ñaëc bieät taïo ra caùc Command con (child command) cuûa noù.
III- Giao dieän – Maõ leänh (Code) cuûa moät soá modun trong chöông trình QLKS
1. Form thieát keá – boá trí sô ñoà phoøng
Maõ leänh:
Dim cmdso As Integer
Private Sub cmdluu_Click()
Dim i
With DE.rsPhong
.Open
If .RecordCount > 0 Then
i = 1
.MoveFirst
Do While Not (.EOF)
If cmdphong(i).Visible Then
.Fields("x") = cmdphong(i).Left
.Fields("y") = cmdphong(i).Top
.MoveNext
i = i + 1
End If
Loop
End If
.Close
End With
End Sub
‘----------------------------------------------------------
Private Sub cmdphong_Click(Index As Integer)
cmdso = Index
End Sub
‘----------------------------------------------------------
Private Sub Form_Load()
cmdso = 1
Dim i
With DE.rsPhong
.Open
If .RecordCount > 0 Then
i = 1
.MoveFirst
Do While Not (.EOF)
cmdphong(i).Visible = True
cmdphong(i).Caption = .Fields("maphong")
.MoveNext
i = i + 1
Loop
End If
.Close
End With
End Sub
‘----------------------------------------------------------
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
cmdphong(cmdso).Move X, Y
End Sub
‘----------------------------------------------------------
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
txtxy.Text = X & "," & Y
End Sub
2. Form boá trí (giao) phoøng cho khaùch:
Maõ leänh:
Dim i
Private Sub cmdbot_Click()
With DE.rsTmp_chonph
If .RecordCount > 0 Then
.Delete
i = i - 1
End If
End With
End Sub
‘----------------------------------------------------------
Private Sub cmdcat_Click()
Unload Me
End Sub
‘----------------------------------------------------------
Private Sub Cmdnhanphong_Click()
Dim madp
With DE.rsTmp_chonph
If .RecordCount > 0 Then
i = 0
.MoveFirst
Do While Not (.EOF)
madp = .Fields("madp")
'Update [nhan phong]=yes cua Query dat phong
With DE.rsQdatphong
If .RecordCount > 0 Then
.MoveFirst
Do While Not (.EOF)
If .Fields("madp") = madp Then
.Fields("nhanphong").Value = 1
Exit Do
Else
.MoveNext
End If
Loop
End If
End With
'Update table su dung phong
With DE.rsSudungphong
.Open
.AddNew
.Fields("madp") = madp
.Fields("maphong") = Dcbophong.Text
.Fields("ngaynp") = txtngaynhan.Text
.Fields("gionp") = txtgionhan.Text
.Fields("giaphong") = txtgiaphong.Text
.Update
.Close
End With
.Delete
.MoveNext
Loop
End If
End With
DE.rsQdatphong.Requery
Griddp.DataMember = "Qdatphong"
Griddp.Refresh
'Update table phong
With DE.rsPhong
.MoveFirst
Do While Not (.EOF)
If .Fields("maphong") = Dcbophong.Text Then
.Fields("CK") = 1
End If
.MoveNext
Loop
End With
End Sub
‘----------------------------------------------------------
Private Sub Cmdsodo_Click()
openphong = True
Load frmsodoph
frmsodoph.Show
End Sub
‘----------------------------------------------------------
Private Sub cmdthem_Click()
Dim madp
If DE.rsQdatphong.RecordCount > 0 Then
madp = Griddp.Columns(4)
With DE.rsTmp_chonph
If .RecordCount > 0 Then
.MoveFirst
Do While Not (.EOF)
If .Fields("madp") = madp Then
MsgBox "§· chän kh¸ch nµy råi", vbCritical, ""
Exit Sub
Else
.MoveNext
End If
Loop
End If
i = i + 1
.AddNew
.Fields("stt") = i
.Fields("tenkh") = Griddp.Columns(0)
.Fields("CMND") = Griddp.Columns(3)
.Fields("madp") = Griddp.Columns(4)
End With
End If
End Sub
‘----------------------------------------------------------
Private Sub Dcbophong_LostFocus()
Dim tim As Boolean
tim = False
With DE.rsPhong
.MoveFirst
Do While Not (.EOF)
If .Fields("maphong") = Dcbophong.Text Then
tim = True
Exit Do
Else
.MoveNext
End If
Loop
If Not tim Then
MsgBox "Kh«ng cã phßng nµy", vbCritical, "Lu ý"
Dcbophong.SetFocus
End If
End With
End Sub
‘----------------------------------------------------------
Private Sub Form_Load()
txtngaynhan.Text = Date
txtgionhan.Text = Time
i = 0
End Sub
‘----------------------------------------------------------
Private Sub gridchon_Click()
cmdbot.Enabled = True
End Sub
‘----------------------------------------------------------
Private Sub Griddp_Click()
cmdthem.Enabled = True
End Sub
‘----------------------------------------------------------
Private Sub txtgionhan_Click()
txtgionhan.Text = Time
End Sub
‘----------------------------------------------------------
Private Sub txtgionhan_LostFocus()
If Not IsDate(txtgionhan.Text) Then
MsgBox "NhËp giê sai", vbCritical, "Lu ý"
txtgionhan.SetFocus
End If
End Sub
‘----------------------------------------------------------
Private Sub txtngaynhan_Click()
txtngaynhan.Text = Date
End Sub
‘----------------------------------------------------------
Private Sub txtngaynhan_LostFocus()
If Not IsDate(txtngaynhan.Text) Then
MsgBox "NhËp ngµy sai", vbCritical, "Lu ý"
txtngaynhan.SetFocus
End If
End Sub
3. Form thoâng tin phoøng:
Maõ leänh:
Dim st, sdnut As Boolean
Dim timsp As Boolean
Private Sub cmdcat_Click()
openphong = True
Unload Me
If sdnut Then
Unload frmsodoph
Load frmsodoph
frmsodoph.Show
End If
End Sub
‘----------------------------------------------------------
Private Sub cmdchuyenkh_Click()
If MsgBox("Coù chuyeån khaùch naøy sang phoøng khaùc khoâng?", vbYesNo, "Chuyeån khaùch", 0, 0) = vbYes Then
If timsp And (Dcbsoph.Text "") And (txttenkh.Text "") Then
sdnut = True
With DE.rsChuyentraphong
.Open
.MoveFirst
Do While Not (.EOF)
If (.Fields("maphong") = lbsp.Caption) And (.Fields("madp") = txtmadp.Text) Then
.Fields("maphong") = Dcbsoph.Text
.Update
Exit Do
Else
.MoveNext
End If
Loop
.Close
End With
'Update table phong, ñaùnh daáu phoøng coù khaùch
With DE.rsPhong
.MoveFirst
Do While Not (.EOF)
If .Fields("maphong") = Dcbsoph.Text Then
.Fields("CK") = 1
Exit Do
Else
.MoveNext
End If
Loop
End With
'----------------------------------------
fgrid.Col = 1: fgrid.Text = ""
fgrid.Col = 2: fgrid.Text = ""
Else
MsgBox "Khoâng chuyeån ñöôïc, haõy kieåm tra laïi", vbCritical, "Löu yù"
End If
End If
End Sub
‘----------------------------------------------------------
Private Sub cmdchuyenphong_Click()
If timsp And (Dcbsoph.Text "") Then
sdnut = True
DE.Qsudungphong (Dcbsoph.Text)
If DE.rsQsudungphong.RecordCount > 0 Then
DE.rsQsudungphong.Close
If MsgBox("Phoøng naøy ñaõ coù khaùch, coù chuyeån sang khoâng?", vbYesNo, "Chuyeån phoøng", 0, 0) = vbYes Then
Chuyenphong
End If
Else
DE.rsQsudungphong.Close
Chuyenphong
End If
Else
MsgBox "Khoâng coù phoøng naøy", vbCritical, "Lu ý"
End If
End Sub
‘----------------------------------------------------------
Private Sub cmdInhd_Click()
Dim tde, mtenkh
tde = " Chi tieát Hoaù ñôn phoøng " & lbsp.Caption
If Optall Then
Imgtim_Click
End If
If optph Then
mtenkh = "%" + txttenkh.Text + "%"
SQLph sophong, mtenkh
DE.Commands.Item("Qsudungdv").CommandText = st
Gridsddv.DataMember = "Qsudungdv"
DE.rsQsudungdv.Close
End If
If optdv Then
mtenkh = "%" + txttenkh.Text + "%"
SQLdv sophong, mtenkh
DE.Commands.Item("Qsudungdv").CommandText = st
Gridsddv.DataMember = "Qsudungdv"
DE.rsQsudungdv.Close
End If
rpthdphong.Title = tde
rpthdphong.Show
End Sub
‘----------------------------------------------------------
Private Sub cmdnhapdv_Click()
'Update table su dung dv
If txtmadp.Text "" Then
With DE.rsSudungdv
.Open
.AddNew
.Fields("masddv") = Format(Date, "yy") & Format(Date, "mm") & Format(Date, "dd") & Format(Time, "hh") & Format(Time, "nn") & Format(Time, "ss")
.Fields("ngaysddv") = txtngay.Text
.Fields("madp") = txtmadp.Text
.Fields("madv") = txtmadv.Text
.Fields("diengiai") = txtdiengiai.Text
.Fields("soluong") = Val(txtsl.Text)
.Fields("dongia") = Val(txtdongia.Text)
.Update
.Close
End With
Imgtim_Click
Else
MsgBox "Chöa choïn khaùch", vbCritical, "Löu yù"
End If
End Sub
‘----------------------------------------------------------
Private Sub cmdtraphong_Click()
If MsgBox("Coù traû phoøng naøy khoâng?", vbYesNo, "Traû phßng", 0, 0) = vbYes Then
'Update table phong
sdnut = True
With DE.rsPhong
.MoveFirst
Do While Not (.EOF)
If .Fields("maphong") = sophong Then
.Fields("CK") = 0
Exit Do
Else
.MoveNext
End If
Loop
End With
'----------------------------------------
With DE.rsChuyentraphong
.Open
.MoveFirst
Do While Not (.EOF)
If .Fields("maphong") = lbsp.Caption Then
.Fields("ngaytp") = txtngaytra.Text
.Fields("giotp") = txtgiotra.Text
.Fields("traphong") = 1
End If
.MoveNext
Loop
.Close
End With
cmdcat_Click
End If
End Sub
‘----------------------------------------------------------
Private Sub cmdxoa_Click()
Dim masddv
masddv = Gridsddv.Columns(8)
With DE.rsSudungdv
.Open
.MoveFirst
Do While Not (.EOF)
If .Fields("masddv") = masddv Then
.Delete
Exit Do
Else
.MoveNext
End If
Loop
.Close
End With
Imgtim_Click
End Sub
‘----------------------------------------------------------
Private Sub Dcbdv_LostFocus()
Dim tim As Boolean
tim = False
With DE.rsDichvu
.MoveFirst
Do While Not (.EOF)
If (.Fields("tendv") = Dcbdv.Text) Or (Dcbdv.Text = "") Then
txtmadv.Text = .Fields("madv")
tim = True
Exit Do
Else
.MoveNext
End If
Loop
If Not tim Then
MsgBox "Khoâng coù dv naøy", vbCritical, "Lu ý"
Dcbdv.SetFocus
End If
End With
End Sub
‘----------------------------------------------------------
Private Sub Dcbsoph_Click(Area As Integer)
cmdchuyenphong.Enabled = True
cmdchuyenkh.Enabled = True
End Sub
‘----------------------------------------------------------
Private Sub Dcbsoph_LostFocus()
timsp = False
With DE.rsPhong
.MoveFirst
Do While Not (.EOF)
If (.Fields("maphong") = Dcbsoph.Text) Or (Dcbsoph.Text = "") Then
timsp = True
Exit Do
Else
.MoveNext
End If
Loop
If Not timsp Then
MsgBox "Khoâng coù phoøng naøy", vbCritical, "Lu ý"
Dcbsoph.SetFocus
End If
End With
End Sub
‘----------------------------------------------------------
Private Sub fgrid_Click()
fgrid.Col = 1
txttenkh.Text = fgrid.Text
fgrid.Col = 3
txtmadp.Text = fgrid.Text
End Sub
‘----------------------------------------------------------
Private Sub Form_Load()
Dim i, j
sdnut = False
txtngay.Text = Date
lbsp.Caption = sophong
fgrid.Row = 0
fgrid.ColWidth(0) = 0:
fgrid.ColWidth(1) = 2500: fgrid.Col = 1: fgrid.Text = " Teân Khaùch haøng"
fgrid.ColWidth(2) = 1300: fgrid.Col = 2: fgrid.Text = "CMND/HC"
i = 1
With DE.rsQsudungphong
.MoveFirst
txttendoan.Text = .Fields("tendoan") & " - " & .Fields("tendonvi")
If .Fields("tentinh") "" Then
txtdiachi.Text = .Fields("tentinh")
Else
txtdiachi.Text = " "
End If
txtngaynp.Text = .Fields("ngaynp")
txtgionp.Text = .Fields("gionp")
Do While Not (.EOF)
fgrid.Row = i
fgrid.Col = 1: fgrid.Text = .Fields("tenkh")
fgrid.Col = 2: fgrid.Text = .Fields("cmnd")
fgrid.Col = 3: fgrid.Text = .Fields("madp")
.MoveNext
i = i + 1
Loop
.Close
End With
'Laáy thoâng tin veà söû duïng dòch vuï
Imgtim_Click
End Sub
‘----------------------------------------------------------
Public Sub SQLsddv(soph, mtenkh)
st = ""
st = st + "Select *"
st = st + " From Qsudungdv"
st = st + " Where maphong Like " + """" + soph + """"
st = st + " and tenkh Like " + """" + mtenkh + """"
End Sub
‘----------------------------------------------------------
Public Sub SQLdv(soph, mtenkh)
st = ""
st = st + "Select *"
st = st + " From Qsudungdv"
st = st + " Where maphong Like " + """" + soph + """"
st = st + " and tenkh Like " + """" + mtenkh + """"
st = st + " and tendv " + """" + "Phßng" + """"
End Sub
‘----------------------------------------------------------
Public Sub SQLph(soph, mtenkh)
st = ""
st = st + "Select *"
st = st + " From Qsudungdv"
st = st + " Where maphong Like " + """" + soph + """"
st = st + " and tenkh Like " + """" + mtenkh + """"
st = st + " and tendv Like " + """" + "Phßng" + """"
End Sub
‘----------------------------------------------------------
Private Sub Gridsddv_Click()
cmdxoa.Enabled = True
End Sub
Private Sub imghien_Click()
txttenkh.Text = ""
Imgtim_Click
End Sub
‘----------------------------------------------------------
Private Sub Imgtim_Click()
Dim mtenkh
mtenkh = "%" + txttenkh.Text + "%"
SQLsddv sophong, mtenkh
DE.Commands.Item("Qsudungdv").CommandText = st
Gridsddv.DataMember = "Qsudungdv"
DE.rsQsudungdv.Close
End Sub
‘----------------------------------------------------------
Public Sub Chuyenphong()
'Update table phong
With DE.rsPhong
.MoveFirst
Do While Not (.EOF)
If .Fields("maphong") = Dcbsoph.Text Then
.Fields("CK") = 1
End If
If .Fields("maphong") = lbsp.Caption Then
.Fields("CK") = 0
End If
.MoveNext
Loop
End With
'----------------------------------------
With DE.rsChuyentraphong
.Open
.MoveFirst
Do While Not (.EOF)
If .Fields("maphong") = lbsp.Caption Then
.Fields("maphong") = Dcbsoph.Text
End If
.MoveNext
Loop
.Close
End With
lbsp.Caption = Dcbsoph.Text
End Sub
‘----------------------------------------------------------
Private Sub txtdongia_LostFocus()
If Not IsNumeric(txtdongia.Text) Then
MsgBox "Nhaäp sai kieåu döõ lieäu", vbCritical, "Löu yù"
txtdongia.SetFocus
End If
End Sub
‘----------------------------------------------------------
Private Sub txtgiotra_Click()
txtgiotra.Text = Time
End Sub
‘----------------------------------------------------------
Private Sub txtgiotra_LostFocus()
If Not IsDate(txtgiotra.Text) Then
MsgBox "Nhaäp giôø sai", vbCritical, "Löu yù"
txtgiotra.SetFocus
End If
End Sub
‘----------------------------------------------------------
Private Sub txtngay_Click()
txtngay.Text = Date
End Sub
‘----------------------------------------------------------
Private Sub txtngaytra_Click()
txtngaytra.Text = Date
End Sub
‘----------------------------------------------------------
Private Sub txtngaytra_LostFocus()
If Not IsDate(txtngaytra.Text) Then
MsgBox "Nhaäp ngaøy sai", vbCritical, "Löu yù"
txtngaytra.SetFocus
End If
End Sub
‘----------------------------------------------------------
Private Sub txtsl_LostFocus()
If Not IsNumeric(txtsl.Text) Then
MsgBox "Nhaàp soá löôïng khoâng ñuùng kieåu", vbCritical, "Löu yù"
txtsl.SetFocus
End If
End Sub
PHAÀN IV : KEÁT LUAÄN – HÖÔÙNG PHAÙT TRIEÅN
I. KEÁT LUAÄN
Baèng vieäc xaây döïng chöông trình Quaûn Lyù Khaùch saïn theo moâ hình Server/Client, seõ giuùp cho caùc boä phaän nhö leã taân, nhaø haøng töï ñoäng hoùa phaàn lôùn coâng vieäc cuûa mình, laøm taêng naêng suaát vaø hieäu quaû coâng vieäc. Treân cô sôû ñoù giuùp ban giaùm ñoác nhanh choùng kieåm tra, toång hôïp, laáy keát quaû ñeå naém baét ñöôïc dieãn bieán khaùch haøng, khaû naêng ñaùp öùng nhu caàu töø ñoù ñeà ra caùc quyeát ñònh, phöông aùn kinh doanh kòp thôøi nhaát.
Toùm laïi, nhôø söï höôùng daãn nhieät tình cuûa thaày Nguyeãn Höõu Troïng vaø söï coá gaéng cuûa baûn thaân, chöông trình Quaûn Lyù Khaùch saïn ôû treân ñöôïc hoaøn thaønh, töông ñoái ñaùp öùng ñöôïc nhu caàu caäp nhaät, truy vaán thoâng tin nhanh choùng vaø giaûi quyeát ñöôïc vieäc toå chöùc nhaát quaùn cô sôû döõ lieäu trong löu tröõ thoâng tin. Tuy nhieân chöông trình vaãn coøn nhöôïc ñieåm , thieáu soùt caàn ñöôïc hoaøn thieän trong thôøi gian tôùi. Em raát mong nhaän ñöôïc söï goùp yù cuûa caùc Thaày Coâ vaø caùc baïn quan taâm ñeán vaán ñeà naøy.
II. HÖÔÙNG PHAÙT TRIEÅN
Ngoaøi vieäc tieáp tuïc naâng caáp vaø hoaøn thieän chöông trình Quaûn Lyù Khaùch saïn hieän nay. Trong höôùng tôùi, chöông trình Quaûn Lyù Khaùch saïn seõ ñöôïc boå sung ñeå keát noái töï ñoäng hoaëc baùn töï ñoäng vôùi chöông trình keá toaùn cuûa Khaùch saïn vì nhö hieän nay chöa lieân keát ñöôïc. Ngoaøi ra chöông trình seõ xaây döïng theâm phaàn quaûn lyù cô sôû vaät chaát, quaûn lyù qui trình phuïc vuï buoàng, phoøng cuûa Khaùch saïn, quaûn lyù coâng taùc nhaäp xuaát haøng cuûa boä phaän Nhaø haøng.
MOÄT SOÁ BIEÅU MAÃU IN RA GIAÁY CUÛA CHÖÔNG TRÌNH QUAÛN LYÙ KHAÙCH SAÏN
1. Baûng keâ söû duïng dòch vuï vaø nhaø haøng cuûa khaùch cho töøng phoøng:
BAÛNG KEÂ DÒCH VUÏ ÑAÕ SÖÛ DUÏNG
Phoøng:……………… Loaïi:……………………………
Ngaøy nhaän phoøng:…………………… Ngaøy traû:…………………
Stt
Ngaøy sd
Giôø sd
Teân khaùch
Teân dòch vuï
SL
Ñôn giaù
Thaønh tieàn
1
10/06/03
17:10
Nguyeãn V/ A
Giaët uûi
1
2000
2000
2
12/06/03
8:12
Leâ Ñöùc Bình
Aên saùng
1
3000
3000
3
12/06/03
14:30
Leâ Ñöùc Bình
Thueâ xe
1
3000
3000
Coäng
8000
Phí dòch vuï (5%)
400
Thueá VAT (10%)
880
Coäng tieàn phaûi traû
9280
Leã Taân
Ngaøy in: 10:30:25am, 20/05/2003
2. Baûng keâ chi tieát söû duïng dòch vuï vaø nhaø haøng moät ñoaøn:
BAÛNG KEÂ DÒCH VUÏ ÑAÕ SÖÛ DUÏNG
Teân ñoaøn khaùch:. ……………………..Ñôn vò:………………………
Ngaøy nhaän phoøng:…………………….Ngaøy traû:……………………
Soá löôïng khaùch theo ñoaøn:……………Soá löôïng phoøng sd:…………
Stt
Ngaøy sd
Giôø sd
SP
Teân khaùch
Teân dòch vuï
SL
Ñôn giaù
Thaønh tieàn
1
10/06/03
17:10
101
Nguyeãn V/ A
Giaët uûi
1
2000
2000
2
12/06/03
8:12
102
Leâ Ñöùc Bình
Aên saùng
1
3000
3000
3
12/06/03
14:30
102
Leâ Ñöùc Bình
Thueâ xe
1
3000
3000
Coäng
Phí dòch vuï (5%)
Thueá VAT (10%)
Coäng tieàn phaûi traû
8000
400
880
9280
Leã Taân
Ngaøy in: 10:30:25am, 20/05/2003
3. Baùo caùo coâng suaát buoàng: thoáng keâ toång soá khaùch, tæ leä töøng loaïi khaùch vaø coâng suaát buoàng cuûa töøng ngaøy trong thaùng theo baûng:
BAÙO CAÙO COÂNG SUAÁT BUOÀNG THAÙNG : MM/20YY
Ngaøy
Toång soá
Khaùch
Phaân loaïi khaùch
Coâng
suaát buoàng
Ñoaøn
Vaõng lai
Trong nöôùc
Quoác teá
Sk
%
Sk
%
Sk
%
Sk
%
Sp
%
1
40
30
75
10
25
40
100
0
0
25
60
2
35
30
60
…
…
…
…
…
…
…
…
…
…
…
…
30
31
TC
4. Toång hôïp doanh thu: phoøng, nhaø haøng, dòch vuï cuûa töøng ngaøy trong
thaùng.
BAÙO CAÙO TOÅNG HÔÏP DOANH THU THAÙNG : MM/20YY
NGAØY
KHAÙCH SAÏN
NHAØ HAØNG
DÒCH VUÏ
COÄNG
1
2
3
4
…
…
…
…
…
30
31
Coäng
5. Baùo caùo toång hôïp khaùch theo töøng ñoaøn: theå hieän doanh thu cuûa töøng ñoaøn trong thaùng.
BAÙO CAÙO TOÅNG HÔÏP DOANH THU THAÙNG : MM/20YY
KHAÙCH ÑOAØN
stt
Teân ñoaøn
Ñôn vò
Ngaøy
Doanh thu
Coäng
Nhaän
Traû
Khaùch saïn
Nhaø haøng
Dòch vuï
1
2
3
…
…
…
…
…
…
…
…
…
Toång coäng:
d/ In baûng keâ chi tieát cho töøng loaïi dòch vuï: lieät keâ töøng loaïi dòch vuï ñaõ baùn trong thaùng theo baûng sau:
BAÛNG KEÂ CHI TIEÁT DOANH THU
(Töø ngaøy ñeán ngaøy)
TEÂN DÒCH VUÏ:
Ngaøy
Dòch vuï
Dieãn giaûi
Ñvt
Soá löôïng
Ñôn giaù
Thaønh tieàn
1/5/03
1/5/03
2/5/03
…
…
…
…
…
…
Toång coäng:
Các file đính kèm theo tài liệu này:
- Bao cao do an.doc
- trinhbay.ppt