Xây dựng phần mềm quản lý khách hàng

88 1 0
Xây dựng phần mềm quản lý khách hàng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Xu hướng công nghệ hiện đại và cuộc cách mạng công nghiệp 4.0 đã và đang hiện hữu trong cuộc sống thường ngày của chúng ta. Vì thế để bắt kịp với xu hướng công nghệ hiện nay các công ty, doanh nghiệp luôn từng bước cải tiến và phát triển một cách mạnh mẽ với những cách khác nhau. Một trong số đó là số hoá với việc ứng dụng các công cụ giúp hỗ trợ công việc một cách hiệu quả hơn.

MỤC LỤC DANH MỤC HÌNH ii LỜI MỞ ĐẦU .iv CHƯƠNG KHẢO SÁT VÀ THU THẬP DỮ LIỆU 1 Tổng quan đề tài Giới thiệu đề tài Lý chọn đề tài Đối tượng nghiên cứu Phạm vi nghiên cứu .3 Khảo sát phần cứng nhà hàng .4 Kế hoạch khảo sát Phỏng vấn .5 CHƯƠNG PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .17 Sơ đồ Use Case .17 Activity Diagram 29 Sequence Diagram .41 Class Diagram 50 ERD Diagram .52 CHƯƠNG CÀI ĐẶT HỆ THỐNG 54 Giao diện đăng nhập 54 Giao diện quên mật 56 Giao diện đăng ký 59 Giao diện quản trị nhân viên 61 Giao diện quản lí nhân viên 62 Thu gọn bên giao diện quản lí khách hàng .67 Giao diện quản lí hố đơn 69 Giao diện quản lí ăn 78 Giao diện quản lí nước uống .79 CHƯƠNG KẾT LUẬN 83 Kết đạt 83 Hạn chế 83 Thuận lợi khó khăn .83 a Thuận lợi 83 b Khó khăn 83 Hướng phát triển 83 TÀI LIỆU THAM KHẢO 84 i DANH MỤC HÌNH Hình Use case tổng qt 17 Hình Use case tổ chức kiện 18 Hình Use case đặt ăn trước 20 Hình Use case đổi 21 Hình Use case đổi bàn .22 Hình Use case huỷ bàn đặt trước .23 Hình Use case huỷ .24 Hình Use case tốn 25 Hình Use case gọi 27 Hình 10 Use case đặt bàn trước 28 Hình 11 Use case gọi khơng có thực đơn 28 Hình 12 Use case đổi ngày 29 Hình 13 Sơ đồ hoạt động đặt bàn trước 30 Hình 14 Sơ đồ hoạt động tổ chức kiện 31 Hình 15 Sơ đồ hoạt động đặt trước 32 Hình 16 Sơ đồ hoạt động đổi ngày .33 Hình 17 Sơ đồ hoạt động gọi 34 Hình 18 Sơ đồ hoạt động toán 35 Hình 19 Sơ đồ hoạt động đổi bàn 36 Hình 20 Sơ đồ hoạt động đổi 37 Hình 21 Sơ đồ hoạt động huỷ .39 Hình 22 Sơ đồ hoạt động huỷ bàn đặt trước 40 Hình 23 Sơ đồ hoạt động gọi khơng có thực đơn .41 Hình 24 Sơ đồ đặt trước 42 Hình 25 Sơ đồ đặt bàn trước 42 Hình 26 Sơ đồ tổ chức kiện 43 Hình 27 Sơ đồ đổi ngày 44 Hình 28 Sơ đồ gọi 45 Hình 29 Sơ đồ đổi bàn 45 Hình 30 Sơ đồ tốn 46 Hình 31 Sơ đồ huỷ đặt bàn trước .47 Hình 32 Sơ đồ đổi 48 Hình 33 Sơ đồ huỷ 49 Hình 34 Sơ đồ gọi khơng có thực đơn 50 Hình 35 Sơ đồ lớp .51 Hình 36 Sơ đồ sở liệu quan hệ 52 Hình 37 Giao diện đăng nhập .54 Hình 38 Giao diện quên mật 57 Hình 39 Giao diện đăng ký 59 Hình 40 Giao diện quản trị 61 Hình 41 Giao diện nhân viên 61 ii Hình 42 Giao diện quản lí nhân viên 62 Hình 43 Giao diện quản lí khách hàng 67 Hình 44 Giao diện quản lí hố đơn .69 Hình 45 Giao diện sau bấm nút xuất hoá đơn 74 Hình 46 Giao diện sau bấm nút xem hoá đơn 74 Hình 47 Giao diện report 75 Hình 48 Giao diện quản lí ăn 78 Hình 49 Giao diện quản lí nước uống 80 iii LỜI MỞ ĐẦU Xu hướng công nghệ đại cách mạng công nghiệp 4.0 hữu sống thường ngày Vì để bắt kịp với xu hướng công nghệ công ty, doanh nghiệp bước cải tiến phát triển cách mạnh mẽ với cách khác Một số số hố với việc ứng dụng công cụ giúp hỗ trợ công việc cách hiệu Khơng thể thiếu việc phát triển phần mềm phần mềm quản lí phần mềm phổ biến Đối với ngành kinh doanh nói chung kinh doanh nhà hàng nói riêng việc quản lí địi hỏi người quản lí phải có nhiều kinh nghiệm tỉ mĩ để giải vấn đề phát sinh cách khéo léo hiệu Nắm bắt nhu cầu muốn đầu tư phần mềm quản lý nhà hàng chất lượng để giúp trình kinh doanh cách hiệu quả, xác nhanh chóng mang lại trải nghiệm tối đa cho khách hàng doanh nghiệp nhà hàng Và số nhà hàng Lonely Restaurent muốn giúp cho việc quản lý nhà hàng cách hiệu khắc phục tồn cách triệt để Với kiến học từ thầy cô, bạn bè suốt thời gian qua, em tự tin muốn thử sức với dự án thực tế để cọ sát có thêm nhiều kinh nghiệm Bên cạnh kiến thức ngày hôm nhờ vào thầy cô, bạn bè đồng hành em suốt thời gian qua, cho em lỗi sai khuyết điểm thiếu xót giải pháp, lời khun bổ ích, gợi cho em cách làm hay, ngắn gọn, xúc tích Nhóm chúng em định “Xây dựng phần mềm quản lý nhà hàng Lonely Restaurent” nhằm thực nhu cầu nhà hàng hành trang cho dự án sau nhóm chúng em iv Báo cáo Mơn học: Lập trình windows CHƯƠNG KHẢO SÁT VÀ THU THẬP DỮ LIỆU Tổng quan đề tài Hiện với xu hướng ứng dụng công nghệ phát phát triển ứng dụng thành tựu khoa học kỹ thuật vào đời sống lĩnh vực kinh doanh Do đề tài nhằm xây dựng phần mềm quản lý nhà hàng giúp nhà hàng dễ dàng quản lý kiểm sốt thơng tin, hoạt động để giúp giải vấn đề thực tiễn đặt giúp cải thiện hiệu suất làm việc, tối ưu hóa quy trình kinh doanh nâng cao chất lượng dịch vụ Bên cạnh Phần mềm hỗ trợ nhà hàng quản lý thông tin liên quan đến đặt chỗ, thực đơn, kho hàng, đơn hàng nhân viên Ngoài ra, phần mềm cung cấp báo cáo thống kê để giúp nhà hàng đưa định chiến lược phát triển kinh doanh Đề tài xây dựng nhằm đáp ứng yêu cầu từ khách hàng mong muốn nguyện vọng để giúp cho việc quản lý trở nên hiệu Giới thiệu đề tài Đề tài với mục đích xây dựng phần mềm quản lý nhà hàng với tính thực tiễn đảm bảo hoạt động cách hiệu quả, hợp lý xác Phần mềm thiết kế để giải vấn đề thực tiễn gặp phải ngành nhà hàng, từ việc quản lý đặt chỗ bàn, quản lý thực đơn, quản lý đơn hàng, quản lý nhân viên, quản lý khách hàng đến việc tạo báo cáo thống kê chi tiết tất đơn hàng doanh thu, lợi nhuận khách hàng Với phần mềm quản lý nhà hàng, nhà hàng có khả quản lý lịch trình đặt chỗ theo dõi trạng thái bàn, giúp tối ưu hóa sử dụng khơng gian tăng cường linh hoạt việc đáp ứng nhu cầu khách hàng Quản lý thực đơn trở nên dễ dàng nhà hàng cập nhật thơng tin ăn, nước uống giá hình ảnh, giúp khách hàng dễ dàng lựa chọn đặt hàng Ngồi ra, phần mềm cung cấp tính năng quản lý đơn hàng cho phép ghi lại xử lý đơn đặt hàng cách hiệu quả, từ việc tính tốn tổng tiền, xuất hố đơn kiểm soát danh sách hoá đơn, chi tiết hoá đơn đến việc theo dõi trình chuẩn bị giao hàng Trang Báo cáo Mơn học: Lập trình windows Phần mềm giúp nhà hàng quản lý nhân viên cách thuận tiện, từ việc ghi nhận thông tin cá nhân, quản lý tài khoản nhân viên Việc quản lý nhân tối ưu hóa để đảm bảo hiệu suất làm việc cao Ngoài ra, phần mềm cịn cung cấp tính quản lý khách hàng, ghi lại thông tin cá nhân, lịch sử mua hàng ưu đãi Điều giúp xây dựng mối quan hệ tốt với khách hàng tạo điều kiện cho việc triển khai chương trình khuyến ưu đãi đặc biệt Cuối cùng, phần mềm tích hợp tính gửi thơng báo thu thập phản hồi từ khách hàng để cải thiện chất lượng dịch vụ Điều giúp nhà hàng tăng cường tương tác phản hồi khách hàng, từ nâng cao hài lịng trì mối quan hệ lâu dài Lý chọn đề tài Ngành nhà hàng phát triển mạnh mẽ có nhu cầu cao việc quản lý hiệu Quản lý nhà hàng khơng địi hỏi tổ chức kỹ lưỡng mà cịn địi hỏi khả xử lý thơng tin nhanh chóng xác, giảm thiểu sai sót lãng phí Đồng thời, thách thức điều chỉnh thực đơn, quản lý kho hàng, đặt chỗ theo dõi bàn, quản lý nhân viên giao tiếp với khách hàng gây khó khăn cho chủ nhà hàng Để giải triệt để tồn cần có phần mềm quản lý nhà hàng Phần mềm quản lý nhà hàng chọn giải pháp để tự động hóa tối ưu hố hoạt động quản lý ngành nhà hàng Nó giúp mang lại hiệu làm việc, tiết kiệm thời gian cơng sức, giảm thiểu sai sót tối ưu hóa trải nghiệm khách hàng Với lợi ích trên, việc xây dựng phần mềm quản lý nhà hàng mang lại giá trị đáng kể cho ngành nhà hàng, giúp nâng cao hiệu suất kinh doanh đáp ứng tốt nhu cầu khách hàng Sự phát triển cơng nghệ xu hướng số hóa, việc chọn đề tài giúp đáp ứng yêu cầu thị trường nắm bắt hội từ cách mạng công nghiệp 4.0 Đối tượng nghiên cứu - Nhóm phát triển phần mềm: Đây người lập trình chịu trách nhiệm xây dựng triển khai phần mềm quản lý nhà hàng ngôn ngữ C# Winforms Trang Báo cáo Mơn học: Lập trình windows Nhóm nghiên cứu áp dụng kỹ thuật lập trình, thiết kế giao diện quản lý sở liệu để tạo phần mềm hoàn chỉnh ổn định - Chủ sở hữu nhà hàng: Đây người sở hữu điều hành nhà hàng Họ người sử dụng cuối phần mềm quản lý nhà hàng Đối với họ, phần mềm giúp tổ chức quản lý hoạt động nhà hàng đặt chỗ, quản lý thực đơn, quản lý hoá đơn, quản lý nhân viên quản lý khách hàng - Nhân viên nhà hàng: Bao gồm nhân viên phục vụ, đầu bếp thu ngân Phần mềm quản lý nhà hàng giúp họ thực nhiệm vụ hàng ngày cách dễ dàng hiệu Ví dụ: nhân viên phục vụ sử dụng phần mềm để tiếp nhận xử lý đơn hàng khách hàng, cịn đầu bếp sử dụng phần mềm để quản lý thông tin thực đơn theo dõi trình nấu ăn Phạm vi nghiên cứu Thiết kế triển khai giao diện người dùng: Nghiên cứu tập trung vào việc thiết kế giao diện người dùng (UI) cho phần mềm quản lý nhà hàng ngôn ngữ C# WinForms Điều bao gồm xác định yêu cầu giao diện, thiết kế form, điều khiển bố trí UI để đảm bảo tính hợp lý, tiện ích trực quan Quản lý thông tin nhà hàng: Nghiên cứu tập trung vào việc xây dựng quản lý sở liệu để lưu trữ thông tin nhà hàng, bao gồm thông tin liên quan đến đặt chỗ, thực đơn, khách hàng, nhân viên, hàng tồn kho hoạt động kinh doanh khác Sử dụng SQL để truy vấn cụ thể công cụ SQL Server Management Studio cập nhật liệu sở liệu Quản lý đơn hàng: Nghiên cứu tập trung vào việc phát triển tính đặt chỗ đặt hàng phần mềm quản lý nhà hàng Điều bao gồm việc xây dựng chức phép khách hàng đặt chỗ qua ứng dụng, xử lý đơn đặt hàng từ khách hàng quản lý trạng thái đơn hàng Quản lý thực đơn: Nghiên cứu tập trung vào việc thiết kế triển khai tính quản lý thực đơn phần mềm Điều bao gồm việc tạo, chỉnh sửa xoá mục thực đơn, quản lý giá cả, mô tả thông tin liên quan đến ăn đồ uống Quản lý nhân viên: Nghiên cứu tập trung vào việc phát triển tính để quản lý thơng tin nhân viên quản lý kho hàng nhà hàng Điều bao gồm Trang Báo cáo Môn học: Lập trình windows việc theo dõi thơng tin cá nhân, lịch làm việc, chức vụ, quản lý quyền hạn nhân viên kiểm soát hàng tồn kho Quản lý thông tin khách hàng: Nghiên cứu tập trung vào việc xây dựng tính để lưu trữ quản lý thông tin khách hàng, bao gồm tên, số điện thoại, địa chỉ, thông tin đặt chỗ trước giao dịch thực Điều giúp nhà hàng tiếp cận thông tin lịch sử khách hàng để cung cấp dịch vụ tốt Báo cáo thống kê: Nghiên cứu tập trung vào việc xây dựng chức tạo báo cáo thống kê phần mềm quản lý nhà hàng Điều cho phép chủ sở hữu nhân viên có liệu để phân tích hiệu suất kinh doanh, doanh thu, số lượng khách hàng số khác liên quan đến hoạt động nhà hàng Khảo sát phần cứng nhà hàng Thiết bị Tình trạng thiết bị Hiệu suất Độ an toàn tuân thủ quy định Lỗi thiết bị Phiên Có máy POS, máy in hóa đơn, Máy tính máy tính bảng, thiết bị điện thoại, tủ đông, tủ lạnh, thiết bị nấu ăn, máy rửa chén, camera an ninh Thiết bị đáp ứng nhu cầu sử dụng môi trường làm việc khắc nghiệt đảm bảo hoạt động ổn định nhiều liên tục Các thiết bị phải đáp ứng nhu cầu xử lý đơn hàng giao dịch nhanh chóng xác, đặc biệt cao điểm Các thiết bị phải đáp ứng tiêu chuẩn an toàn tuân thủ quy định pháp luật vệ sinh, an tồn thực phẩm an ninh Khơng có Mới nâng cấp Kế hoạch khảo sát Ngày vấn Phương pháp vấn Số lượng câu hỏi Thời gian vấn Mục tiêu vấn 5-6/6/2023 Bảng câu hỏi câu/người 30 phút/người Nắm tâm tư nguyện vọng mong muốn nhân viên, khách hàng, đầu bếp nhà hàng Trang Báo cáo Mơn học: Lập trình windows Đối tượng vấn Phạm vi vấn Nhân viên phục vụ, đầu bếp, lễ tân, thu ngân, thực khách Trong khuôn khổ nhà hàng Phỏng vấn Người vấn: Nguyễn Thị Thu Hương – Nhân viên phục vụ Câu hỏi Chị cảm thấy điều khó khăn làm việc nhà hàng? Ngày 5/6/2023 Ghi nhận Đôi gặp khó khăn việc tìm sách cần thư viện khơng có đủ tài liệu, thư viện đáp ứng nhu cầu tơi Chị có ý kiến quy trình quy Tơi cho quy trình quy định nhà hàng tốt Chúng định nhà hàng chúng tôi? tuân thủ quy định vệ sinh an toàn thực phẩm để đảm bảo an tồn cho khách hàng giữ gìn uy tín nhà hàng Tuy nhiên, tơi nghĩ cải tiến quy trình khác để tạo trải nghiệm tốt cho khách hàng Chị có đề xuất để cải thiện tình hình Tơi đề xuất nhà hàng nên thường xuyên tổ chức khóa đào tạo nâng làm việc nhà hàng? cao kỹ kiến thức nhân viên để giúp họ làm việc tốt Ngoài ra, nhà hàng nên sử dụng công nghệ phần mềm đặt hàng trực tuyến toán di động để giảm thiểu thời gian chờ đợi khách hàng Hãy nêu kinh nghiệm chị việc Khi giải thích sách nhà hàng với khách hàng, tơi ln lắng nghe giải thích áp dụng sách hiểu nhu cầu mong muốn của nhà hàng với khách hàng? họ trước giải thích Từ đó, tơi cung cấp thơng tin giải thích xác để khách hàng hiểu rõ quy định nhà hàng Trong trình giải thích áp dụng sách nhà hàng với khách hàng, tơi ln trì tinh thần lịch tôn trọng khách hàng Tôi cố gắng giải thích cách thân thiện trung thực để khách hàng cảm thấy Trang Báo cáo Mơn học: Lập trình windows Theo chị, điểm yếu nhà hàng gì? Người vấn: Nguyễn Thanh Phong – Nhân viên phục vụ Câu hỏi Anh liệt kê hoạt động mà bạn thực để giữ cho nhà hàng ngăn nắp khơng? Anh nói cách bạn tuân thủ áp dụng quy tắc vệ sinh an toàn thực phẩm nhà hàng? Những tính nhà hàng mà anh đánh giá cần thiết thiếu? thoải mái tin tưởng vào nhà hàng Theo tôi, điểm yếu nhà hàng chưa tận dụng tối đa công nghệ cải thiện hoạt động Ngoài ra, cần phải nâng cao chất lượng phục vụ tăng cường đào tạo cho nhân viên để đáp ứng đa dạng yêu cầu cao khách hàng Ngày 5/6/2023 Ghi nhận Những hoạt động mà thực để giữ cho nhà hàng ngăn nắp bao gồm: Vệ sinh bàn ghế, sàn nhà, tường, trần, cửa sổ, cửa vào, toilet, khu vực bếp, vật dụng, thiết bị điện tử,… Sắp xếp bàn ghế, tủ đựng đồ, kệ gọn gàng tiện lợi Bố trí xanh hoa tươi để tạo khơng gian thống mát, dễ chịu cho khách hàng Để tuân thủ áp dụng quy tắc vệ sinh an toàn thực phẩm nhà hàng, thực việc sau: Đảm bảo vệ sinh cá nhân, đeo trang, đeo găng tay, đeo mũ bảo hiểm cần thiết Giữ vệ sinh cho khu vực liên quan đến thực phẩm bếp, tủ đựng thực phẩm, tủ lạnh,… Lưu trữ thực phẩm cách, bảo quản thực phẩm nhiệt độ thích hợp, sử dụng thực phẩm có nguồn gốc rõ ràng đảm bảo an toàn Thực quy trình chế biến thực phẩm, đảm bảo thực phẩm đạt chuẩn vệ sinh an toàn thực phẩm trước phục vụ cho khách hàng Các tính cần thiết thiếu nhà hàng là: Thực đơn phong phú đa dạng để đáp ứng nhu cầu khách hàng Chất lượng thức ăn thức uống đảm bảo tốt Trang Báo cáo Mơn học: Lập trình windows Giao diện bao gồm khung danh sách ăn/nước uống chọn bao gồm loại ăn/nước uống, giá ăn/nước uống, số lượng ăn/nước uống, tổng tiền ăn/nước uống Nút thêm ăn/nước uống, nút xố ăn/nước uống khung danh sách Có menu combobox, combobox chọn danh mục thức ăn, sau chọn danh mục ăn combobox phía tương ứng với tên danh mục chọn Khi tick vào ô Nước uống, combobox phía đồ uống nhà hàng Sau chọn menu xong ta nhập số lượng, nhập số lượng xong bấm nút Thêm ăn/nước uống thêm vào khung danh sách với tổng tiền tương ứng với số lượng Ô Thành tiền tự động tính nhân viên cần nhập Mã bàn Tiền khách đưa Sau nhập tiền khách đưa Cịn lại hiển thị âm tiền (-) Tiền khách đưa nhỏ Thành tiền số tiền dương Tiền khách đưa lớn Thành tiền Đặc biệt ô Giá, Tổng, Thành tiền, Còn lại nhân viên xem không chỉnh sửa private void cmb_item(object sender, EventArgs e) { if (cmb_items.SelectedItem != null) { if (cmb_items.SelectedItem is Food selectedFood) { txt_price.Text = selectedFood.Price.ToString(); } else if (cmb_items.SelectedItem is Drink selectedDrink) { txt_price.Text = selectedDrink.Price.ToString(); } else { txt_price.Text = ""; } } else { txt_price.Text = ""; } } txt_total.Text = ""; txt_qty.Text = ""; Trang 70 Báo cáo Mơn học: Lập trình windows private void txt_qty_TextChanged(object sender, EventArgs e) { int quantity; decimal price; if (int.TryParse(txt_qty.Text, out quantity) && decimal.TryParse(txt_price.Text, out price)) { // Nếu giá trị txt_qty txt_price chuyển đổi thành số nguyên số thập phân decimal total = quantity * price; txt_total.Text = total.ToString(); } else { // Nếu giá trị txt_qty txt_price khơng hợp lệ, xóa giá trị txt_total txt_total.Text = ""; } } private void btn_them_Click(object sender, EventArgs e) { string[] arr[0] = arr[1] = arr[2] = arr[3] = arr = new string[4]; cmb_items.SelectedItem.ToString(); txt_price.Text; txt_qty.Text; txt_total.Text; ListViewItem lvi = new ListViewItem(arr); listView1.Items.Add(lvi); decimal subTotal; if (decimal.TryParse(txt_net.Text, out subTotal) && decimal.TryParse(txt_total.Text, out decimal total)) { txt_net.Text = (subTotal + total).ToString(); } } private void btn_xoa_Click(object sender, EventArgs e) { if (listView1.SelectedItems.Count > 0) { for (int i = 0; i < listView1.Items.Count; i++) { if (listView1.Items[i].Selected) { int netValue; if (int.TryParse(txt_net.Text, out netValue)) { int listItemValue = Convert.ToInt32(listView1.Items[i].SubItems[3].Text); int result = netValue - listItemValue; txt_net.Text = result.ToString(); } listView1.Items[i].Remove(); } } } } Trang 71 Báo cáo Mơn học: Lập trình windows private void tienkhachdua_textchange(object sender, EventArgs e) { decimal paidAmount = Convert.ToDecimal(txt_paid.Text); decimal netAmount = Convert.ToDecimal(txt_net.Text); decimal balance = paidAmount - netAmount; txt_balance.Text = balance.ToString(); } private List GetFoodByCategory(int categoryCode) { List foods = new List(); // Kết nối đến CSDL nguồn liệu khác string connectionString = "Data Source=WINDOWS-10;Initial Catalog=QuanLyNhaHang;Integrated Security=True"; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); // Tạo câu lệnh SQL để truy vấn ăn dựa mã danh mục string query = "SELECT tenTA, gia FROM ThucAn WHERE maTACat = @category"; using (SqlCommand command = new SqlCommand(query, connection)) { // Thay tham số @category giá trị mã danh mục chọn command.Parameters.AddWithValue("@category", categoryCode); using (SqlDataReader reader = command.ExecuteReader()) { // Lặp qua kết thêm ăn vào danh sách while (reader.Read()) { // Đọc tên ăn giá từ cột kết truy vấn string name = reader.GetString(0); decimal price = reader.GetDecimal(1); } } } } } // Tạo đối tượng Food thêm vào danh sách Food food = new Food { Name = name, Price = price }; foods.Add(food); connection.Close(); return foods; Trang 72 Báo cáo Môn học: Lập trình windows private void cmb_thucan_SelectedIndexChanged(object sender, EventArgs e) { // Xóa ăn có ComboBox ăn cmb_items.Items.Clear(); // Lấy tên danh mục chọn từ ComboBox danh mục string selectedCategory = cmb_thucan.SelectedItem.ToString(); // Kết nối đến CSDL nguồn liệu khác string connectionString = "Data Source=WINDOWS-10;Initial Catalog=QuanLyNhaHang;Integrated Security=True"; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); // Tạo câu lệnh SQL để truy vấn mã danh mục từ tên danh mục string query = "SELECT MaTA_Cat FROM ThucAnCategory WHERE TenTA_Cat = @category"; using (SqlCommand command = new SqlCommand(query, connection)) { // Thay tham số @category giá trị tên danh mục chọn command.Parameters.AddWithValue("@category", selectedCategory); // Thực truy vấn SQL lấy mã danh mục int categoryCode = (int)command.ExecuteScalar(); // Lấy danh sách ăn tương ứng từ nguồn liệu (ví dụ: CSDL) sử dụng mã danh mục List foods = GetFoodByCategory(categoryCode); // Thêm ăn vào ComboBox ăn foreach (Food food in foods) { cmb_items.Items.Add(food); } // Refresh ComboBox ăn cmb_items.Refresh(); } connection.Close(); } } private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (checkBox1.Checked) { cmb_items.Items.Clear(); string connectionString = "Data Source=WINDOWS-10;Initial Catalog=QuanLyNhaHang;Integrated Security=True"; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string query = "SELECT TenNU, Gia FROM NuocUong"; SqlCommand command = new SqlCommand(query, connection); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { string tenNuocUong = reader.GetString(0); double giaDouble = reader.GetDouble(1); float giaNuocUong = (float)giaDouble; Drink nuocUong = new Drink { Name = tenNuocUong, Price = (decimal)giaNuocUong }; cmb_items.Items.Add(nuocUong); } reader.Close(); } } else { cmb_items.Items.Clear();} } Trang 73 Báo cáo Mơn học: Lập trình windows Hình 45 Giao diện sau bấm nút xuất hố đơn Hình 46 Giao diện sau bấm nút xem hoá đơn Trang 74 Báo cáo Mơn học: Lập trình windows Hình 47 Giao diện report *Giải thích: Khi chọn ngày bấm nút Xem form DanhSachHoaDon lọc danh sách hoá đơn theo ngày Khi ta click hố đơn danh sách hố đơn report hố đơn tương ứng với mã hố đơn Đặc biệt report có lưu tên nhân viên xuất hóa đơn theo thơng tin đăng nhập, tức nhân viên xuất hóa đơn lưu xác tên nhân viên bấm nút xuất hóa đơn //lấy tên từ csdl luu vào biến fullname private string GetFullName(string username) { string connectionString = @"Data Source=WINDOWS-10;Initial Catalog=QuanLyNhaHang;Integrated Security=True"; string query = "SELECT ten FROM NhanVien WHERE sdt=@Username"; using (SqlConnection connection = new SqlConnection(connectionString)) { SqlCommand command = new SqlCommand(query, connection); command.Parameters.AddWithValue("@Username", username); connection.Open(); string fullName = (string)command.ExecuteScalar(); connection.Close(); } } return fullName; Trang 75 Báo cáo Môn học: Lập trình windows private void button1_Click(object sender, EventArgs e) { string username = txtUsername.Text; string password = txtPassword.Text; // Kiểm tra username password database bool loginSuccess = CheckLogin(username, password); if (loginSuccess) { string fullName = GetFullName(username); bool isAdmin = GetAdminStatus(username); cho form Lonely } else { } } Lonely mainForm = new Lonely(); if (isAdmin) { mainForm.ShowManageButton(true); } else { mainForm.ShowManageButton(false); } //biến EmployeeFullName biến tổng để form ThanhToan truy cập mainForm.EmployeeFullName = fullName; // Gán giá trị tên người dùng mainForm.ShowDialog(); MessageBox.Show("Sai username sai mật khẩu!"); private void btn_load_Click(object sender, EventArgs e) { DateTime fromDate = dtFromdate.Value; DateTime toDate = dtTodate.Value; } LoadData(fromDate, toDate); private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { // Kiểm tra xem người dùng chọn dịng hay khơng if (e.RowIndex >= 0) { // Lấy giá trị cột "Mã hóa đơn" từ dịng chọn string maHoaDon = dataGridView1.Rows[e.RowIndex].Cells["InvoiceID"].Value.ToString(); } } // Khởi tạo form truyền mã hóa đơn new Bill(maHoaDon).Show(); Trang 76 Báo cáo Mơn học: Lập trình windows //hàm load datagridview private void LoadData(DateTime fromDate, DateTime toDate) { // Tạo đối tượng DataTable DataTable myDataTable = new DataTable(); // Thêm cột vào DataTable myDataTable.Columns.Add("InvoiceID", typeof(int)).AutoIncrement = true; myDataTable.Columns["InvoiceID"].AutoIncrementSeed = 1000; myDataTable.Columns["InvoiceID"].AutoIncrementStep = 1; myDataTable.Columns.Add("InvoiceDate", typeof(DateTime)); myDataTable.Columns.Add("Sub_Total", typeof(string)); myDataTable.Columns.Add("Discount", typeof(int)); myDataTable.Columns.Add("Net_Amount", typeof(decimal)); myDataTable.Columns.Add("Paid_Amount", typeof(decimal)); // Truy vấn thêm liệu từ sở liệu vào myDataTable string connectionString = @"Data Source=WINDOWS-10;Initial Catalog=QuanLyNhaHang;Integrated Security=True"; string queryString = "SELECT * FROM Test_Invoice_Master WHERE InvoiceDate >= @FromDate AND InvoiceDate

Ngày đăng: 06/09/2023, 10:00

Tài liệu cùng người dùng

Tài liệu liên quan