Mục Lục
Chương 1 : Giới thiệu chung về công ty 3
1.1) Tổng quan 4
1.2)Các lĩnh vực hoạt động chính 5
1.3) Các sản phẩm của công ty 6
Chương 2: Khảo sát, phân tích hệ thống quản lý nhà hàng 8
2.1) Mục đích 8
2.2) Thực tế hoạt động của các nhà hàng tại Việt Nam 8
2.3) Tính khả thi của dự án 9
2.4) Các nghiệp vụ 10
2.4.1)Nghiệp vụ quản lý kho hàng 10
2.4.2)Nghiệp vụ của nhà bếp 11
2.4.3) Nghiệp vụ bán hàng 12
2.5) Các sơ đồ 14
2.5.1) Sơ đồ chức năng quản lý nhà hàng 14
2.5.2) Sơ đồ luồng dữ liệu 15
2.5.3) Biểu đồ luồng dữ liệu dưới đỉnh 16
2.5.4) Biểu đồ luồng dữ liệu mức dưới đỉnh - Bán hàng 17
2.5.5) Biểu đồ luồng dữ liệu mức dưới đỉnh - Nhập hàng 18
2.5.6) Biểu đồ luồng dữ liệu mức dưới đỉnh – Chăm sóc khách hàng 19
2.5.7) Biểu đồ luồng dữ liệu mức dưới đỉnh – Theo dõi công nợ 20
2.6) Chi tiết các bảng dữ liệu 21
Chương 3. Code và giao diện chương trình 26
3.1) Giao diện chương trình 26
3.2) Code chương trình 40
Chương 4 : Kết luận và kiến nghị 56
4.1) Kết luận và đánh giá 56
4.2) Kiến nghị 56
Tài liệu tham khảo 57
57 trang |
Chia sẻ: maiphuongdc | Lượt xem: 2040 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Chuyên đề Hệ thống quản lý nhà hàng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
tin; Đầu tư kinh doanh bất động sản, dịch vụ cho thuê nhà và văn phòng làm việc; đầu tư và xây dựng dự án khu đô thị, khu công nghiệp, khu du lịch,…
1.3) Các sản phẩm của công ty
Nhóm phần mềm quản lý hoạt động của Doanh nghiệp Xây dựng
CicAccount_e - Phần mềm kế toán Phiên bản dành cho doanh nghiệp
CicAccount_a - Phần mềm kế toán Phiên bản dành cho đơn vị hành chính sự nghiệp
CicAccount_i - Phần mềm kế toán Phiên bản dành cho chủ đầu tư
CONNA - Phần mềm quản lý hợp đồng
ESPA - Phần mềm quản lý doanh nghiệp dịch vụ cấp nước
IMA - Phần mềm quản lý hạ tầng kỹ thuật đô thị
IPASY - Phần mềm lập và thẩm định dự án đầu tư
LANOS - Phần mềm quản lý nhà, đất trong các khu đô thị
PROMSYS - Phần mềm quản lý dự án
REMSYS - Phần mềm quản lý nhân sự
UNACOM - Phần mềm quản lý học sinh / sinh viên trong các trường học
Nhóm phần mềm kỹ thuật Xây dựng
ESCON - Phần mềm Tính đơn giá - Dự toán
KIW - Phần mềm Tính toán khung thép tiền chế
KPW - Phần mềm Tính toán thiết kế khung phẳng
MBW - Phần mềm Tính toán móng băng
MCW - Phần mềm Tính toán móng cọc
MDW - Phần mềm Tính toán móng đơn
RDW - Phần mềm Bổ sung TCVN vào SAP,STAAD, ETABS
SBTW - Phần mềm Tính toán thiết kế sàn bê tông cốt thép
STCAD - Phần mềm Hỗ trợ vẽ kỹ thuật xây dựng và tự động tính tiên lượng
VINASAS - Phần mềm tính toán thiết kế khung hỗn hợp
Nhóm phần mềm thiết kế cơ sở hạ tầng
ROADES - Phần mềm Thiết kế đường bộ
SUMAC - Phần mềm mô phỏng địa hình, tính toán san nền
Nhóm phần mềm quản lý quy hoạch Xây dựng
MAPPRO - Phần mềm quản lý quy hoạch độ thị, cấp chứng chỉ quy hoạch
Chương 2: Khảo sát, phân tích hệ thống quản lý nhà hàng
2.1) Mục đích
Phát triển từ ý tưởng về nghiệp vụ quản lý nhà hàng, niềm đam mê ứng dụng công nghệ cao vào cuộc sống, em xây dựng phần mềm quản lý nhà hàng nhằm giúp người quản lý đơn giản hơn trong công tác quản lý nhà hàng, minh bạch các hoạt động của nhà hàng từ đó kiểm soát được mọi hoạt động kinh doanh và thúc đẩy doanh thu của nhà hàng.
Xây dựng được hệ thống quản lí nhà hàng ăn uống với đầy đủ các chức năng quản lí như : nhập, xuất hàng hoá trong kho, quản lí bàn ăn (thêm, ghép, rời bàn ăn), từng nhân viên bàn, quản lí công nợ khách hàng, quản lí thẻ ưu đãi cho khách hàng, các khoản chiết khấu, hoa hồng...
Phần mềm phải có chức năng tạo các báo cáo về hàng hoá nhập/xuất/tồn kho, các báo cáo về công nợ, báo cáo về thu chi tiền mặt, thống kê doanh thu theo từng nhân viên, từng khu vực bàn ăn (nếu cửa hàng có nhiều khu vực bàn ăn khác nhau), các báo cáo kết quả kinh doanh.
2.2) Thực tế hoạt động của các nhà hàng tại Việt Nam
Trên thực tế đa phần các các nhà hàng phục vụ ăn uống đang áp dụng hình thức quản lí qua sổ sách, chứng từ một cách thủ công mà chưa áp dụng CNTT vào các công việc này.
Qua mọt thời gian khảo sát khảo sát tại các nhà hàng ăn uống (với nhiều quy mô và điạ điểm hoạt động khác nhau) em thấy mô hình chung cách thức quản lí như sau:
Bộ phận quản lý :
Theo từng chu kỳ thời gian nhất định (ngày, tuần, tháng, quý) bộ phận quản lí có thể theo dõi, kiểm tra, các mặt hàng nhập/xuất/tồn để báo cáo lãnh đạo và phân tích, triển khai chiến lược kinh doanh mới.
Bộ phận kế toán :
Theo dõi được các khoản thu chi về tiền mặt, các khoản thu hồi công nợ.
Bộ phận bếp:
Lên danh sách thực đơn và chế biến các món ăn.
Nhân viên phục vụ bàn :
Được cung cấp thông tin về món ăn cùng với đơn giá, số lượng một cách
nhanh chóng. Các nhân viên có thể làm việc theo nhóm, mỗi nhóm sẽ có một trưởng nhóm phụ trách. Các nhóm có thể làm việc theo khu vực hoặc theo thời gian.
2.3) Tính khả thi của dự án
Mức độ phức tạp :
Chương trình chỉ dừng lại ở mức độ một chương trình quản lý nên không vượt quá khả năng của sinh viên. Các chức năng như kế toán tuy nằm ngoài kiến thức đã được học nhưng chỉ là các chức năng phụ với độ phức tạp ở mức có thể chấp nhận được.
Thị trường :
Tuy trên thị trường đã có nhiều phần mềm quản lý nhưng các phần mềm này chỉ mang tính cục bộ chưa có khả năng áp dụng đại trà cho một số lượng lớn các nhà hàng.
Lợi ích mà phần mềm mang lại :
Nhân viên phục vụ nắm bắt thông tin về thực đơn một cách nhanh chóng và hiệu quả.
Giảm bớt gánh nặng sổ sách cho nhân viên kế toán.
Ban lãnh đạo có thể tra cứu, thống kê hàng hoá; kiểm tra chéo giữa các bộ phận một cách dễ dàng, chính xác, nhanh gọn.
2.4) Các nghiệp vụ
2.4.1)Nghiệp vụ quản lý kho hàng
Các hoạt động chính diễn ra ở kho hàng bao gồm :
Nhập nguyên liệu từ nhà cung cấp.
Xuất nguyên liệu cho nhà bếp.
Luân chuyển hàng hoá giữa các kho (trong trường hợp hệ thống nhà hàng tại các địa điểm khác nhau).
Theo dõi, kiểm kê, đánh giá hàng hoá trong kho.
Trước mỗi ngày làm việc, ban lãnh đạo phân tích tình hình dựa vào các đơn đặt hàng trước và nhu cầu sử dụng thực phẩm trung bình trong ngày để xác định số lượng nguyên liệu yêu cầu nhà kho xuất ra. Hoá đơn xuất kho được ghi giá bằng với giá nhập cho nguyên liệu đó.
Để nhập nguyên liệu, nhà kho sẽ tiến hành việc đặt hàng từ nhà cung cấp. Việc đặt những mặt hàng nào, số lượng bao nhiêu phụ thuộc vào yêu cầu từ nhà bếp, tình hình hàng hoá còn lại trong kho và những mặt hàng bị hỏng phải lập danh sách huỷ. Hàng hoá sẽ được kiểm tra khi nhập. Sau khi hàng hoá nhập kho, nhà cung cấp yêu cầu thanh toán theo đơn hàng. Việc thanh toán giữa nhà hàng với nhà cung cấp có thể diễn ra như sau : nhà hàng thanh toán toàn bộ số tiền cho nhà cung cấp tại thời điểm nhập hàng, nhà hàng thanh toán số tiền theo nhiều đợt, nhà hàng ghi công nợ với nhà cung cấp. Hình thức thanh toán gồm : bằng tiền mặt , bằng sec, bằng chuyển khoản v..v
Trong trường hợp nhà hàng có nhiều kho hoặc nhà hàng có nhiều chi nhánh và mỗi chi nhánh có một kho riêng thì phải quản lý việc luân chuyển hàng hoá giữa các kho.
Việc theo dõi, kiểm kê hàng hoá trong kho có thể diễn ra hàng ngày, hàng tuần hoặc hàng tháng nhằm mục đích :
Phát hiện những hàng hoá hỏng hoặc hết hạn sử dụng để đưa vào danh sách huỷ.
Kiểm tra số lượng hàng tồn kho thực tế từ đó xem có sai lệch so với số
liệu trong sổ sách hay không.
2.4.2)Nghiệp vụ của nhà bếp
Bên quản lý nhà hàng và nhà bếp có nhiệm vụ đưa ra thực đơn các món ăn trong
ngày dựa theo tình hình thời tiết, mùa vụ, nhu cầu của khách hàng.
Nhà bếp cần đưa ra công thức món ăn cơ bản bao gồm những nguyên liệu gì,
khối lượng bao nhiêu … để tính toán số lượng nguyên liệu nhập xuất kho.
Nhiệm vụ chính của nhà bếp là chế biến các món ăn có trong thực đơn.Giá của
từng món ăn do người quản lý xây dựng dựa trên sự phân bố các nguyên liệu có
trong món ăn. Giá món ăn còn phụ thuộc vào tình hình biến động của giá cả thị
trường. Nếu ban đầu nha kho nhập về một số lượng lớn nguyên liệu với giá rẻ
sau đó một thời gian giá tăng lên thì các món ăn chế biến trên các nguyên liệu
ấy cũng tăng giá.Trong quá trình chế biến , những nguyên liệu phụ như dầu ăn,
mắm, muối… sẽ không tính vào chi phí món ăn mà sẽ được tính gộp vào chi
phí nguyên liệu phụ trên một tháng.Trong quá trình chế biến, do sơ suất của đầu
bếp hay nhân viên làm hỏng nguyên liệu thì phải lập ra danh sách các nguyên
liệu bị hỏng và người làm hỏng để báo cáo lên bên quản lý. Cuối mỗi ngày làm
việc, nhà bếp có nhiệm vụ kiểm kê lại những hàng hoá nào còn dư thừa để nhập
vào kho.
2.4.3) Nghiệp vụ bán hàng
Nhà hàng sẽ được chia thành các khu vực , mỗi khu vực sẽ do một hoặc nhiều nhân viên chịu trách nhiệm. Mỗi nhân viên có thể phụ trách một hoặc nhiều khu vực. Mọi phát sinh trong mỗi khu vực bàn ăn đều tính cho nhóm nhân viên phụ trách.
Nhân viên phục vụ đưa thực đơn cho khách hàng để họ chọn lựa món ăn. Trong quá trình khách hàng chờ đợi, nhân viên có thể phục vụ khách một số đồ uống miễn phí (như nước lọc, trà đá …). Những đồ uống này không tính chi phí vào hoá đơn mà sẽ được tính riêng vào mục chi phí phục vụ miễn phí cuối tháng.
Khi khách thiết lập đơn hàng, một bản được đưa cho phòng thu ngân và một bản được đưa cho nhà bếp. Nhà bếp chế biến các món ăn có trong hoá đơn, chuyển cho phục vụ, phục vụ chuyển cho khách.
Các hoá đơn phải được sắp sếp sao cho khách vào trước sẽ được phục vụ trước, khách vào sau thì được phục vụ muộn hơn. Chú ý đối với những khách VIP thì hoá đơn phải được ưu tiên hơn.
2.4.4) Nghiệp vụ theo dõi công nợ
Nhân viên kế toán sẽ theo dõi các khoản công nợ của khách hàng và công nợ của nhà hàng với nhà cung cấp. Đến kỳ hẹn thanh toán, kế toán phải hoàn tất thủ tục thanh toán công nợ với nhà cung cấp và lên lịch đòi nợ với khách hàng. Đối với những khoản nợ khó đòi cần báo cáo lên ban lãnh đạo để có phương hướng kịp thời giải quyết.
2.4.5) Nghiệp vụ chăm sóc khách hàng
Người quản lí nhà hàng có thêm nhiệm vụ theo dõi khách hàng, lập danh sách với những khách hàng thường xuyên đến ăn. Cấp thẻ ưu đãi (VIP) cho khách hàng theo quy định riêng của nhà hàng. Lập danh sách khách hàng hưởng chiết khấu hoặc hoa hồng từ bán hàng. Đối với những khách quen cần có chính sách phục vụ riêng, chu đáo và nhanh chóng hơn các khách hàng khác. Đối với những khách vãng lai thì không cần thiết thêm vào danh sách khách của nhà hàng. Ngoài ra còn cần thường xuyên thu thập thông tin đánh giá của khách hàng để tổng hợp lại và gửi lên ban giám đốc.
2.4.6) Nghịêp vụ Quản lí Nhân viên
Theo dõi thông tin nhân viên của nhà hàng bao gồm: Thông tin bản thân, ngày tuyển dụng, chức vụ, lương, chế độ nâng lương. Thông tin cá nhân bao gồm : họ tên, địa chỉ, tuổi, số chứng minh nhân dân, quê quán, thông tin người thân …
Chế độ lương và nâng lương phụ thuộc vào chức vụ trong nhà hàng, thâm niên phục vụ, tác phong công việc, đánh giá của đồng nghiệp. Việc nâng lương có thể theo quý hoặc theo năm.
2.5) Các sơ đồ
2.5.1) Sơ đồ chức năng quản lý nhà hàng
2.5.2) Sơ đồ luồng dữ liệu
Biểu đồ luồng dữ liệu mức khung cảnh
2.5.3) Biểu đồ luồng dữ liệu dưới đỉnh
2.5.4) Biểu đồ luồng dữ liệu mức dưới đỉnh - Bán hàng
2.5.5) Biểu đồ luồng dữ liệu mức dưới đỉnh - Nhập hàng
2.5.6) Biểu đồ luồng dữ liệu mức dưới đỉnh – Chăm sóc khách hàng
2.5.7) Biểu đồ luồng dữ liệu mức dưới đỉnh – Theo dõi công nợ
2.6) Chi tiết các bảng dữ liệu
Nhà cung cấp / khách hàng
Tên trường
Kiểu
Ghi chú
MaKhachHang
varchar
Mã nhà CC hoặc mã KH
TenKhachHang
varchar
Tên nhà CC hoặc tên KH
DiaChi
varchar
DienThoai
varchar
eMail
varchar
TenGiamDoc
varchar
MaSoThue
varchar
DiaChi
varchar
NhomKH
int
0: NCC ; 1: KH
Mặt hàng
Tên trường
Kiểu
Ghi chú
MaMatHang
varchar
TenMatHang
varchar
NgaySX
Datetime
HanDung
varchar
DonViTinhID
varchar
Nhập/xuất hàng:
Tên trường
Kiểu
Ghi chú
MaHoaDon
varchar
Ngay
Datetime
Ngày Nhập/xuất
HinhThucTTID
varchar
Hình thức thanh toán
MaNhanVien
varchar
Nhân viên nhập/xuất hàng
NguoiGiaoHang
varchar
ChiTietNhapXuat
Tên trường
Kiểu
Ghi chú
MaHoaDon
Varchar
MaMatHang
Varchar
NhaCCID
Varchar
SoLuong
Int
DonGia
Float
ChietKhau
Real
Hình thức thanh toán
Tên trường
Kiểu
Ghi chú
HinhThucTTID
varchar
TenHinhThucTT
varchar
tiền mặt, chuyển khoản
Hàng huỷ
Tên trường
Kiểu
Ghi chú
MaMatHang
varchar
NgayHuy
DateTime
NguyenNhan
narchar
Hàng tồn kho
Tên trường
Kiểu
Ghi chú
MaMatHang
varchar
Mặt hàng
SoLuong
float
số lượng
TriGia
float
Trị gía
Danh sách thưc đơn
Tên trường
Kiểu
Ghi chú
MonAnID
varchar
TenMonAn
varchar
DonGia
Real
DonViTinhID
varchar
Nồi, đĩa
Parent
varchar
Công thức thực đơn
Tên trường
Kiểu
Ghi chú
MonAnID
varchar
MaMatHang
varchar
DonViTinhID
varchar
KhoiLuong
real
DonViTinh
Tên trường
Kiểu
Ghi chú
DonViTinhID
varchar
TenDonViTinh
nvarchar
Nhân viên
Tên trường
Kiểu
Ghi chú
MaNhanVien
varchar
TenNhanVien
nvarchar
GioiTinh
int
0: Nam 1: Nữ
NgaySinh
DateTime
MaChucVu
varchar
TrangThai
smallint
0: đã nghỉ việc ; 1: đang tồn tại
Chức vụ:
Tên trường
Kiểu
Ghi chú
MaChucVu
nvarchar
TenChucVu
nvarchar
Theo dõi hoạt động của nhân viên
Tên trường
Kiểu
Ghi chú
MaNhanVien
varchar
Ngay
DateTime
TuGio
DateTime
DenGio
DateTime
TrangThaiOrder
smallint
0: đã thanh toán; 1: chưa thanh toán; 2:Ghi công nợ (ghi công nợ toàn phần hoặc một phần);
3: Order đặt trước bị hủy.
GhiChu
nvarchar
Theo dõi khách hàng
Tên trường
Kiểu
Ghi chú
MaKhachHang
varchar
SoLan
int
Tính số lần đến nhà hàng
GiaTriTT
Real
Tổng giá trị
DaTT
Real
đã thanh toán
CongNo
Real
Còn lại
Theo dõi công nợ - nhà CC/KH
Tên trường
Kiểu
Ghi chú
KhacHangID
varchar
OrderID
varchar
MaHoaDon
Ngay
DateTime
TongTien
float
NgayHenTT
DateTime
ThanhToan
float
NgayTT
DateTime
ConNo
float
KieuKH
Smallint
1: Nhà CC ; 2: Khách hàng
Quy đổi giữa các đơn vị tính cho một số mặt hàng
Tên trường
Kiểu
Ghi chú
DonViTinhGoc
Varchar
MaMatHang
Varchar
SoLuong
real
1 Đơn vị gốc = ** đơn vị quy đổi
DonViQuyDoi
Varchar
Chương 3. Code và giao diện chương trình
3.1) Giao diện chương trình
Giao diện Form : Bán hàng – Thông tin hoá đơn
Giao diện Form : Bán hàng – Thông tin chi tiết
Giao diện Form : Thêm món ăn
Giao diện Form : Chọn bàn ăn
Giao diện Form : Đơn hàng
Giao diện Form : Hiển thị
Giao diện Form : Nhập xuất chi tiết
Giao diện Form : Từ điển chức vụ
Giao diện Form : Từ điển đơn vị tính
Giao diện Form : Từ điển đơn kho hàng
Giao diện Form : Từ điển khách hàng
Giao diện Form : Từ điển mặt hàng
Giao diện Form : Từ điển nhân viên
Giao diện Form : Từ điển nhóm chức vụ
3.2) Code chương trình
Code Form bán hàng
Dim cmm As New ADODB.Command
Dim cmm1 As New ADODB.Command
Dim rs As New ADODB.Recordset
Dim rs1 As New ADODB.Recordset
Dim rs2 As New ADODB.Recordset
Private Sub cbbanan_Dropdown()
'Hien thi don vi tinh o cbdonvitinh
cbbanan.Clear
sql = "select TenBanAn from tdBanAn where ChiTiet ='1' and ThoiHanSuDung ='C'"
Set rs = cnn.Execute(sql)
While Not rs.EOF
cbbanan.AddItem rs!TenBanAn
rs.MoveNext
Wend
End Sub
Private Sub cbdonvitinh_DropDown()
'Hien thi don vi tinh o cbdonvitinh
cbdonvitinh.Clear
sql = "select tendonvitinh from tddonvitinh"
Set rs = cnn.Execute(sql)
While Not rs.EOF
cbdonvitinh.AddItem rs!tendonvitinh
rs.MoveNext
Wend
End Sub
Private Sub cbloaichietkhau_DropDown()
cbloaichietkhau.Clear
Dim sql As String
sql = "select tenchietkhau from tdchietkhau"
Set rs = cnn.Execute(sql)
While Not rs.EOF
cbloaichietkhau.AddItem rs!tenchietkhau
rs.MoveNext
Wend
End Sub
Private Sub cbobanan_Change()
End Sub
Private Sub cbnhanvienpv_Dropdown()
'Hien thi don vi tinh o cbdonvitinh
cbnhanvienpv.Clear
sql = "select TenNhanVien from tdNhanVien"
Set rs = cnn.Execute(sql)
While Not rs.EOF
cbnhanvienpv.AddItem rs!TenNhanVien
rs.MoveNext
Wend
End Sub
Private Sub cmdghinhan_Click()
'Cac su kien xay ra khi nhan nut Ghi nhan
Dim iddau As String
iddau = txtps.Text & txtngay.Text & ChuanHoa(txtfu.Text + 1)
Dim idcuoi As String
idcuoi = txtps.Text & txtngay.Text & txtthutu.Text
If (txtsoluong.Text = "" Or txtthoigiangoi.Text = "__/__/____") Then
MsgBox "Ban chua nhap day du thong tin cho hang hoa !"
If txtsoluong.Text = "" Then
txtsoluong.SetFocus
End If
If txtsoluong.Text "" And txtthoigiangoi.Text = "__/__/____" Then
txtthoigiangoi.SetFocus
End If
Else
'Tang gia tri chua txtfu len 1 gia tri
txtfu.Text = txtfu.Text + 1
'Chen 0 vao truoc cac gia tri trong o txtfu
txtfu.Text = ChuanHoa(txtfu.Text)
'Khai bao bien tg1 de tao Ma chi tiet tu txtps txtngay txtfu
Dim tg1 As String
Dim rs5 As New ADODB.Recordset
Dim rs6 As New ADODB.Recordset
Dim rs7 As New ADODB.Recordset
'Bien tg dung de chua ten mat hang lay tu List2
Dim tg As String
sql = "select * from bangao"
Set rs5 = cnn.Execute(sql)
While Not rs5.EOF
tg1 = txtps.Text & txtngay.Text & txtfu.Text
tg = List2.List(i)
i = i + 1
sql7 = "select * from tdmonan where tenmonan='" & tg & "'"
Set rs7 = cnn.Execute(sql7)
sql1 = "insert into psnhapxuatchitiet(idchitiet,id,MatHangID,donvitinhid,soluong,DonGia,ThoiGianGoi) values('" & tg1 & "','2','" & rs7!monanid & "','" & rs7!donvitinhid & "','" & rs5!soluong & "','" & rs7!dongia & "','" & rs5!thoigiangoi & "')"
cmm.ActiveConnection = cnn
cmm.CommandType = adCmdText
cmm.CommandText = sql1
cmm.Execute
rs5.MoveNext
txtfu.Text = txtfu.Text + 1
txtfu.Text = ChuanHoa(txtfu.Text)
Wend
Dim rs8 As New ADODB.Recordset
sql8 = "insert into psDonHang(ID,sochungtu,ngaylayhang,congthem,soluong,DienGiai,DatHangTruoc) values(' " & txtmahoadon & " ',' " & txtsochungtu & " ',' " & txtngayphucvu & " ',' " & txtthuthem & " ',' " & txtsoluongdat & " ',' " & txtdiengiaihd & " ','0')"
cmm.ActiveConnection = cnn
cmm.CommandType = adCmdText
cmm.CommandText = sql8
cmm.Execute
MsgBox "Ban da ghi nhan thanh cong !"
Unload Me
End If
End Sub
Private Sub cmdthemmonan_Click()
'Cac su kien xay ra khi nhan vao nut "Them mat hang moi"
frmbanhang.Enabled = False
frmtudienmathang.Visible = True
End Sub
Private Sub cmdthoat_Click()
'Nhan nut Thoat
sql2 = "drop table bangao"
cmm.ActiveConnection = cnn
cmm.CommandType = adCmdText
cmm.CommandText = sql2
cmm.Execute
Unload Me
End Sub
Private Sub Command1_Click()
frmchonbanan.Visible = True
End Sub
Private Sub Form_Load()
ketnoi
'Neu da co bangao thi bo qua loi
On Error Resume Next
sqlxoabangao = "drop table bangao"
cmm.ActiveConnection = cnn
cmm.CommandType = adCmdText
cmm.CommandText = sqlxoabangao
cmm.Execute
'Tao bangao
sqlbangao = "create table bangao (tenmonan nvarchar(50) null ,soluong nvarchar(15) null,thoigiangoi nvarchar(12) null )"
cmm.ActiveConnection = cnn
cmm.CommandType = adCmdText
cmm.CommandText = sqlbangao
cmm.Execute
'Khoi tao gia tri
txtngay.Text = Date
txtps.Text = "PS"
txtngayphucvu.Mask = "##/##/####"
txtngayphucvu.PromptChar = "_"
txtngayphucvu.Text = "__/__/____"
'lay ra tap cac gia tri cuoi cung phieu suat trong ngay
Dim sql As String
sql = "select * from psDonHang"
Set rs = cnn.Execute(sql)
rs.MoveLast
txtmahoadon.Text = rs!id + 1
Dim tg As String
tg = "PS" & txtngay.Text
sql1 = "select * from psnhapxuatchitiet where IDChitiet like '" & tg & "%'"
Set rs1 = cnn.Execute(sql1)
'lay ra tap cac gia tri cuoi cung cua so chung tu trong ngay
Dim sqlsochungtu As String
sqlsochungtu = "select * from psDonHang"
Set rs = cnn.Execute(sqlsochungtu)
rs.MoveLast
txtsochungtu.Text = NH & Year(Date) & Month(Date) & Day(Date)
'Neu khong co ban ghi nao , tuc la lan nhap dau tien cua ngay thi khoi tao gia tri cho cac o Text
If rs1.EOF = True Then
txtps.Text = "PS"
txtngay.Text = Date
txtfu.Text = "000000"
txtthutu.Text = "000000"
Else
'Neu co ban ghi thi tim den ban ghi cuoi cung roi cho vao txtfu & txtthutu
rs1.MoveLast
Dim tg2 As String
tg2 = rs1!idchitiet
tg2 = Right(tg2, Len(tg2) - 12)
tg2 = tg2
tg2 = ChuanHoa(tg2)
txtfu.Text = tg2
txtthutu.Text = txtfu.Text
End If
'Lay ra cac mon an tu bang tdmonan ma ma nhom ko la TD
sql = "select tenmonan from tdmonan where nhom 'NL' order by sapxep"
Set rs = cnn.Execute(sql)
'Hien thi len List1
While Not rs.EOF
List1.AddItem rs!tenmonan
rs.MoveNext
Wend
End Sub
Public Function ChuanHoa(X As String) As String
If Len(X) = 1 Then
X = "00000" & X
End If
If Len(X) = 2 Then
X = "0000" & X
End If
If Len(X) = 3 Then
X = "000" & X
End If
If Len(X) = 4 Then
X = "00" & X
End If
If Len(X) = 5 Then
X = "0" & X
End If
ChuanHoa = X
End Function
Public Function daodate(X As String) As String
Dim ngay As String
Dim thang As String
Dim nam As String
Dim thoigian As String
thang = Mid(X, 4, 3)
ngay = Left(X, 3)
nam = Right(X, 4)
thoigian = thang & ngay & nam
daodate = thoigian
End Function
Public Function chuandate(X As String) As Boolean
chuandate = True
Dim ngay As String
Dim thang As String
Dim nam As String
Dim thoigian As String
thang = Mid(X, 4, 2)
ngay = Left(X, 2)
nam = Right(X, 4)
If IsNumeric(nam) And IsNumeric(ngay) And IsNumeric(thang) Then
If nam > 1900 Then
If (nam / 4) - (nam \ 4) 0 Then
If thang 12 Then
chuandate = False
Else
If thang = 1 Then
If ngay 31 Then
chuandate = False
End If
End If
If thang = 2 Then
If ngay 28 Then
chuandate = False
End If
End If
If thang = 3 Then
If ngay 31 Then
chuandate = False
End If
End If
If thang = 4 Then
If ngay 30 Then
chuandate = False
End If
End If
If thang = 5 Then
If ngay 31 Then
chuandate = False
End If
End If
If thang = 6 Then
If ngay 30 Then
chuandate = False
End If
End If
If thang = 7 Then
If ngay 31 Then
chuandate = False
End If
End If
If thang = 8 Then
If ngay 31 Then
chuandate = False
End If
End If
If thang = 9 Then
If ngay 30 Then
chuandate = False
End If
End If
If thang = 10 Then
If ngay 31 Then
chuandate = False
End If
End If
If thang = 11 Then
If ngay 30 Then
chuandate = False
End If
End If
If thang = 12 Then
If ngay 31 Then
chuandate = False
End If
End If
End If
Else
If thang 12 Then
chuandate = False
Else
If thang = 1 Then
If ngay 31 Then
chuandate = False
End If
End If
If thang = 2 Then
If ngay 29 Then
chuandate = False
End If
End If
If thang = 3 Then
If ngay 31 Then
chuandate = False
End If
End If
If thang = 4 Then
If ngay 30 Then
chuandate = False
End If
End If
If thang = 5 Then
If ngay 31 Then
chuandate = False
End If
End If
If thang = 6 Then
If ngay 30 Then
chuandate = False
End If
End If
If thang = 7 Then
If ngay 31 Then
chuandate = False
End If
End If
If thang = 8 Then
If ngay 31 Then
chuandate = False
End If
End If
If thang = 9 Then
If ngay 30 Then
chuandate = False
End If
End If
If thang = 10 Then
If ngay 31 Then
chuandate = False
End If
End If
If thang = 11 Then
If ngay 30 Then
chuandate = False
End If
End If
If thang = 12 Then
If ngay 31 Then
chuandate = False
End If
End If
End If
End If
Else
chuandate = False
End If
End If
End Function
Private Sub List1_DblClick()
Dim rs4 As ADODB.Recordset
sql4 = "select * from tdmonan where tenmonan = '" & List1.Text & "'"
Set rs4 = cnn.Execute(sql4)
If (rs4!Parent 0 And rs4!chitiet 0) Or (rs4!Parent Null And rs4!chitiet 0) Then
'Kiem tra xem da nhap day du thong tin cua hang hoa truoc chua
If (txtsoluong.Text = "" Or txtthoigiangoi.Text = "__/__/____") And List2.ListCount > 0 Then
MsgBox "Ban chua nhap day du thong tin cho hang hoa !"
If txtsoluong.Text = "" Then
txtsoluong.SetFocus
End If
If txtsoluong.Text "" And txtthoigiangoi.Text = "__/__/____" Then
txtthoigiangoi.SetFocus
End If
Else
txtsoluong.Text = ""
txtthoigiangoi.Mask = "##/##/####"
txtthoigiangoi.PromptChar = "_"
txtthoigiangoi.Text = "__/__/____"
cbdonvitinh.Clear
txttenmonan.Text = List1.Text
List2.AddItem List1.Text
List1.RemoveItem (List1.ListIndex)
'Tao chuoi danh sach cac mon an dung cho cau lenh SQL
Dim i As Integer
i = 0
Dim chuoi As String
chuoi = "("
While i <= List2.ListCount - 1
If i = List2.ListCount - 1 Then
chuoi = chuoi + "'" + List2.List(i) + "'" + ")"
Else
chuoi = chuoi + "'" + List2.List(i) + "'" + ","
End If
i = i + 1
Wend
'Lay tu bang tdmonan cac mon an trong chuoi va dua len luoi
sql = "select * from tdmonan where tenmonan in " & chuoi & " order by sapxep"
Set rs = cnn.Execute(sql)
Set tg.DataSource = rs
tg.Refresh
'Dua don gia len txtdongia
sql2 = "select * from tdmonan where tenmonan='" & txttenmonan.Text & "'"
Set rs2 = cnn.Execute(sql2)
If IsNull(rs2!dongia) = True Then
txtdongia.Text = ""
Else
txtdongia.Text = rs2!dongia
End If
sql1 = "select tendonvitinh from tddonvitinh where donvitinhid='" & rs2!donvitinhid & "'"
Set rs1 = cnn.Execute(sql1)
While Not rs1.EOF
cbdonvitinh.Text = rs1!tendonvitinh
rs1.MoveNext
Wend
'txtthutu dung de hien thi con txtfu dung cho luu
txtthutu.Text = txtthutu.Text + 1
txtthutu.Text = ChuanHoa(txtthutu.Text)
txttenmonan.Text = LTrim(txttenmonan.Text)
sql3 = "insert into bangao(tenmonan,soluong,thoigiangoi)values('" & txttenmonan.Text & "','" & txtsoluong.Text & "','" & txtthoigiangoi.Text & "')"
cmm.ActiveConnection = cnn
cmm.CommandType = adCmdText
cmm.CommandText = sql3
cmm.Execute
End If
End If
txtsoluong.SetFocus
End Sub
Private Sub List2_Click()
'Dung de sua thong tin da nhap
txttenmonan.Text = Trim(List2.Text)
sql = "select * from bangao where tenmonan='" & Trim(List2.Text) & "'"
Set rs = cnn.Execute(sql)
txtsoluong.Text = rs!soluong
sql1 = "select * from tdmonan where tenmonan='" & List2.Text & "'"
Set rs1 = cnn.Execute(sql1)
sql2 = "select * from tddonvitinh where donvitinhid='" & rs1!donvitinhid & "'"
Set rs2 = cnn.Execute(sql2)
cbdonvitinh.Text = rs2!tendonvitinh
txtsoluong.Text = rs!soluong
txtdongia.Text = rs1!dongia
txtthoigiangoi.Text = rs!thoigiangoi
'Dao ngay thang tu bang ao
txtthoigiangoi.Text = daodate(txtthoigiangoi.Text)
End Sub
Private Sub List2_DblClick()
List1.Clear
Các file đính kèm theo tài liệu này:
- 12772.doc