1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo bài tập lớn môn lập trình net đề tài xây dựng hệ thống quản lý cửa hàng cafe

70 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nội dung

Chúng em sẽ mô tả cách mà hệ thống giúpquản lý thông tin về nhân viên, khách hàng, sản phẩm, nhà cung cấp, hóa đơn và báo cáomột cách hiệu quả và nhất quán.. Thông qua việc theo dõi doan

Trang 1

HỌC VIỆN NGÂN HÀNG

KHOA CÔNG NGHỆ THÔNG TIN VÀ KINH TẾ SỐ

BÁO CÁO BÀI TẬP LỚNMÔN LẬP TRÌNH NET

ĐỀ TÀI: XÂY DỰNG HỆ THỐNG QUẢN LÝ CỬA HÀNG CAFE

Giảng viên hướng dẫn: Ths Lê Cẩm TúNhóm sinh viên thực hiện: Nhóm 1

Hà Nội – 4/2024

Trang 2

HỌC VIỆN NGÂN HÀNG

KHOA CÔNG NGHỆ THÔNG TIN VÀ KINH TẾ SỐ

BÁO CÁO BÀI TẬP LỚNMÔN LẬP TRÌNH NET

ĐỀ TÀI: XÂY DỰNG HỆ THỐNG QUẢN LÝ CỬA HÀNG CAFE

Giảng viên hướng dẫn: Ts Lê Cẩm Tú

Sinh viên thực hiện: Hoàng Thị Phương Anh Nguyễn Thị Hồng Nguyễn Văn Quyền Nguyễn Đức Thế (NT)

Trang 3

1 24A4043238 Hoàng Thị PhươngAnh

- Thiết kế form Sản phẩm- Thiết kế form Công dụng- Thiết kế form Loại sản

- Thiết kế form Hóa đơn nhập

- Thiết kế form Tìm kiếm hóa đơn nhập

- Thiết kế form Báo cáo hóađơn nhập

- Tổng hợp nội dung

25%

Trang 4

MINH CHỨNG CÔNG VIỆCGoogle meet:

Google docs:

Trang 6

LỜI CẢM ƠN

Chân thành cảm ơn Ths Giảng viên hướng dẫn, cô Lê Cẩm Tú, vì sự đồng hành vàhỗ trợ quý báu trong quá trình thực hiện bài tập lớn này Cô không chỉ là người hướngdẫn nhiệt tình mà còn là nguồn động viên lớn đối với chúng em.

Từ những buổi giảng đầu tiên, cô Cẩm Tú đã chia sẻ rộng rãi kiến thức chuyên sâuvà tạo điều kiện cho chúng em tiếp cận nhanh chóng Cô luôn sẵn lòng lắng nghe và giảiđáp mọi thắc mắc của chúng em, giúp chúng em vượt qua những thách thức trong quátrình nghiên cứu và viết bài.

Mặc dù chúng em đã cố gắng hết sức để hoàn thành bài tập lớn, nhưng chắc chắnvẫn có những khía cạnh cần được cải thiện Chúng em rất mong nhận được sự chỉ bảo vàgóp ý chân thành từ cô để bài tập của chúng em trở nên hoàn thiện hơn và mang lại giá trịthực tế cao hơn Cảm ơn cô Tú vì tất cả những điều tốt đẹp mà cô đã mang lại cho chúngem Chúng em xin chân thành cảm ơn!

Hà Nội, ngày 22 tháng 4 năm 2024

Nhóm 1

Trang 7

LỜI CAM ĐOAN

Chúng em xin cam đoan rằng, đây là thành quả của công trình nghiên cứu của Nhóm1 và đã được hướng dẫn khoa học bởi giảng viên Lê Cẩm Tú Nội dung nghiên cứu trongđề tài "Xây dựng hệ thống quản lý cửa hàng cafe" của chúng em là minh bạch và chưađược công bố dưới bất kỳ hình thức nào trước đây.

Chúng em cam kết tuân thủ nguyên tắc trung thực và trách nhiệm trong quá trìnhnghiên cứu Nếu có bất kỳ sự phát hiện nào về sự gian lận, chúng em hoàn toàn chịu tráchnhiệm và sẵn sàng giải quyết mọi vấn đề phát sinh Điều này nhấn mạnh cam kết củanhóm về sự trung thực và đạo đức nghiên cứu trong quá trình thực hiện dự án.

Hà Nội, tháng 4 năm 2024

Nhóm 1

Trang 8

3.Tính cấp thiết của đề tài 2

CHƯƠNG 1: MÔ TẢ NGHIỆP VỤ HỆ THỐNG 3

1.1 Mô tả bài toán 3

1.2 Mô tả nghiệp vụ hệ thống 4

1.2.1 Input của bài toán 4

1.2.2 Output của bài toán 4

1.3 Các chức năng của hệ thống 5

1.4 Thiết kế chức năng hệ thống 5

1.4.1 Chức năng Thêm dữ liệu 5

1.4.2 Chức năng Sửa dữ liệu 7

1.4.3 Chức năng Xóa dữ liệu 8

1.4.4 Chức năng Tìm kiếm dữ liệu 9

1.4.5 Chức năng Bỏ qua 9

1.4.6 Chức năng Đóng 10

1.4.7 Chức năng In dữ liệu 10

CHƯƠNG 2: THIẾT KẾ CƠ SỞ DỮ LIỆU MỨC KHÁI NIỆM 13

2.1 Thiết kế cơ sở dữ liệu 13

2.1.1 Thực thể 13

2.1.2 Mối quan hệ 14

Trang 9

2.2 Sơ đồ liên kết 15

CHƯƠNG 3 GIẢI QUYẾT VẤN ĐỀ 18

3.1 Xây dựng Form chính cho chương trình 18

3.1.1 Tạo giao diện Form chính 18

3.1.2 Viết mã lệnh cho Form chính 19

3.1.3 Tạo lớp – Class functions 21

3.2 Giao diện các Form con 21

3.2.1 Giao diện các form Danh mục 21

3.2.2 Giao diện các form Hóa đơn 24

3.2.3 Giao diện các form Tìm kiếm 25

3.2.4 Giao diện form Báo cáo 26

3.3 Form xử lý yêu cầu bài toán 28

3.3.1 Số lượng trong bảng Sản phẩm tự động cập nhật khi nhập hàng 28

3.3.2 Số lượng trong bảng Sản phẩm tự động cập nhật khi bán hàng 33

3.3.3 Giá nhập trong bảng Sản phẩm được tự động cập nhật khi nhập hàng, giá bán bằng 110% giá nhập 37

3.3.4 Các sản phẩm có thể tìm kiếm theo thông tin cần thiết 39

3.3.5 Lập các báo cáo cần thiết để chủ cửa hàng có thể theo dõi được tình hình kinh doanh theo từng giai đoạn 41

KẾT LUẬN 58

TÀI LIỆU THAM KHẢO 59

Trang 10

DANH MỤC HÌNH VẼ

Hình 1: Sơ đồ liên kết dữ liệu 15

Hình 2: Giao diện form chính 19

Hình 3: Giao diện form nhân viên 22

Hình 4: Giao diện form khách hàng 22

Hình 5: Giao diện form sản phẩm 23

Hình 6: Giao diện form nhà cung cấp 23

Hình 7: Giao diện hóa đơn nhập 24

Hình 8: Giao diện hóa đơn bán 24

Hình 9: Giao diện form tìm kiếm hóa đơn nhập 25

Hình 10: Giao diện form tìm kiếm hóa đơn bán 25

Hình 11: Giao diện báo cáo nhập hàng 26

Hình 12: Giao diện báo cáo bán hàng 27

Hình 13: Giao diện báo cáo doanh thu 27

Hình 14: Giao diện form sản phẩm khi mới thêm 28

Hình 15: Giao diện hóa đơn nhập sau khi thêm mới 29

Hình 16: Kết quả số lượng trong bảng sản phẩm được cập nhập 29

Hình 17: Giao diện khi xóa 1 hóa đơn 30

Hình 18: Số lượng của mã sản phẩm SP08 tự động bị giảm 31

Hình 19: Giao diện khi xóa 1 hóa đơn nhập 32

Hình 20: Số lượng sản phẩm tự động giảm khi xoá cả hoá đơn 32

Hình 21: Số lượng ban đầu khi chưa có hóa đơn bán 33

Hình 22: Giao diện khi thêm hóa đơn bán 33

Hình 23: Kết quả số lượng sản phẩm tự động giảm 34

Hình 24: Giao diện khi xóa một dữ liệu trong hóa đơn bán 34

Hình 25: Kết quả sau khi xóa một dữ liệu trong hóa đơn bán 35

Hình 26: Giao diện khi xóa một hóa đơn bán 36

Hình 27: Kết quả số lượng sản phẩm tăng lên khi xóa một hóa đơn bán 36

Trang 11

Hình 28: Giá nhập giá bán khi mới thêm 37

Hình 29: Thêm dữ liệu vào hoá đơn nhập 38

Hình 30: Giá nhập, giá bán tự động cập nhật khi nhập 38

Hình 31: Giao diện khi chưa chọn dữ liệu để tìm kiếm 39

Hình 32: Kết quả khi tìm kiếm bằng mã loại là có tên trà 40

Hình 33: Tìm kiếm hóa đơn nhập theo ngày cụ thể 41

Hình 34: Kêt quả in báo cáo nhập hàng 45

Hình 35: Ví dụ tìm kiếm trong báo cáo bán hàng 47

Hình 36: In danh sách bán hàng 51

Hình 37: Ví dụ tìm kiếm trong báo cáo doanh thu 53

Hình 38: In danh sách báo cáo doanh thu 56

Trang 12

Bảng 10: Bảng chi tiết hóa đơn bán 17

Bảng 11: Bảng chi tiết hóa đơn nhập 17

Trang 13

LỜI MỞ ĐẦU

Trong thế giới kinh doanh ngày nay, việc sở hữu một hệ thống quản lý hiệu quảđóng vai trò quan trọng trong việc thành công của một cửa hàng cafe Với sự phát triểnkhông ngừng của công nghệ, việc xây dựng một hệ thống quản lý hiện đại, linh hoạt và dễsử dụng trở thành một yếu tố quyết định đối với sự cạnh tranh và phát triển của doanhnghiệp.

Tiểu luận này tập trung vào việc xây dựng một hệ thống quản lý cho cửa hàng cafesử dụng ngôn ngữ lập trình C# Với sự kết hợp giữa sự hiểu biết về hoạt động kinh doanhcủa cửa hàng cafe và khả năng kỹ thuật vững chắc, chúng em đã phát triển một ứng dụngphần mềm mạnh mẽ, linh hoạt và thân thiện với người dùng.

Trong phần tiếp theo của bài tập lớn, chúng em sẽ trình bày chi tiết về cách thứcthiết kế và triển khai hệ thống quản lý này Chúng em sẽ mô tả cách mà hệ thống giúpquản lý thông tin về nhân viên, khách hàng, sản phẩm, nhà cung cấp, hóa đơn và báo cáomột cách hiệu quả và nhất quán Bằng cách này, chúng em hi vọng rằng dự án sẽ mang lạigiá trị thực tiễn và góp phần vào sự phát triển bền vững của cửa hàng cafe.

Trang 14

CHƯƠNG 0: ĐẶT VẤN ĐỀ1 Phát biểu bài toán

Trong thời đại hiện đại, việc tiêu thụ cà phê của giới trẻ không chỉ là một nhu cầu hàngngày mà còn trở thành một phong cách sống, một thói quen xã giao Các quán cà phêkhông chỉ đơn thuần là nơi bán cà phê mà còn là không gian xã hội, nơi mà mọi người cóthể tận hưởng không chỉ ly cà phê mà còn là không khí thoải mái để gặp gỡ bạn bè, làmviệc hoặc thư giãn Tuy nhiên, sự phổ biến ngày càng tăng của các quán cà phê này cũngđồng nghĩa với việc cần có một hệ thống quản lý toàn diện để đảm bảo hoạt động củachúng diễn ra một cách suôn sẻ và hiệu quả.

Thiếu hệ thống quản lý có thể dẫn đến những vấn đề nghiêm trọng, từ việc tồn khokhông được kiểm soát đến việc xử lý đơn hàng chậm trễ Điều này có thể gây ra sự bấttiện cho khách hàng và ảnh hưởng đến uy tín của cửa hàng Đồng thời, việc không có hệthống quản lý cũng làm mất đi cơ hội để phân tích dữ liệu và đưa ra các chiến lược kinhdoanh phù hợp Thông qua việc theo dõi doanh số bán hàng, xu hướng tiêu dùng và hiệusuất kinh doanh, cửa hàng có thể điều chỉnh chiến lược kinh doanh để tối ưu hóa lợinhuận và tăng cường trải nghiệm của khách hàng.

Do đó, nhóm đã phát triển, xây dựng hệ thống quản lý bán cà phê nhằm giải quyết cácvấn đề trên Không chỉ là một công cụ hữu ích mà còn là một phần quan trọng của sự pháttriển và duy trì của các quán cà phê trong thị trường ngày nay Hệ thống giúp cải thiện quytrình hoạt động, tăng cường hiệu suất làm việc và đảm bảo chất lượng dịch vụ, từ đó thuhút và giữ chân khách hàng một cách hiệu quả.

2 Lý do chọn đề tài

Trong thời đại ngày nay, cà phê không chỉ là thức uống hàng ngày mà đã trở thành mộtphần không thể thiếu trong lối sống của giới trẻ Thưởng thức một tách cà phê không chỉlà thưởng thức hương vị mà nó còn là cơ hội để giao lưu với bạn bè, làm việc hay thưgiãn Để đáp ứng nhu cầu này, quán cà phê không còn đơn giản là nơi bán cà phê mà đãtrở thành không gian xã hội, nơi mọi người tận hưởng bầu không khí thoải mái và giaolưu.

Tuy nhiên, khi cà phê ngày càng phổ biến, việc quản lý một quán cà phê trở nên phứctạp hơn bao giờ hết Việc thiếu một hệ thống quản lý toàn diện có thể dẫn đến nhiều vấnđề, từ việc tồn kho không được kiểm soát đến việc xử lý đơn hàng bị chậm trễ Điều nàykhông chỉ gây bất tiện cho khách hàng mà còn ảnh hưởng đến uy tín của cửa hàng.

Vì vậy, việc phát triển và xây dựng hệ thống quản lý bán hàng cà phê là cần thiết Hệthống này không chỉ giúp cải tiến quy trình vận hành, nâng cao hiệu quả công việc mà cònđảm bảo chất lượng dịch vụ Thông qua phân tích dữ liệu, các cửa hàng có thể điều chỉnh

1

Trang 15

chiến lược kinh doanh, tối ưu hóa lợi nhuận và cải thiện trải nghiệm của khách hàng, từ đóthu hút và giữ chân khách hàng một cách hiệu quả trong thị trường cạnh tranh cao.

3 Tính cấp thiết của đề tài

Trong thời đại ngày nay, việc tiêu thụ cà phê không chỉ là nhu cầu thiết yếu hàng ngàymà còn là lối sống, thói quen xã hội của giới trẻ Quán cà phê không chỉ là nơi thưởngthức cà phê mà còn là nơi lý tưởng để gặp gỡ bạn bè, làm việc hay thư giãn Tuy nhiên, sựphổ biến ngày càng tăng của các quán cà phê này cũng đồng nghĩa với việc cần có một hệthống quản lý toàn diện để đảm bảo hoạt động của họ được suôn sẻ và hiệu quả.

Thiếu hệ thống quản lý có thể dẫn đến các vấn đề nghiêm trọng, từ việc tồn kho khôngđược kiểm soát đến việc xử lý đơn hàng bị chậm trễ Điều này có thể gây bất tiện chokhách hàng và ảnh hưởng đến uy tín của cửa hàng Đồng thời, việc không có hệ thốngquản lý cũng loại bỏ cơ hội phân tích dữ liệu và xây dựng chiến lược kinh doanh phù hợp.Vì vậy, nhóm đã phát triển và xây dựng hệ thống quản lý bán hàng cà phê nhằm giảiquyết các vấn đề trên Hệ thống này không chỉ là một công cụ hữu ích mà còn là một phầnquan trọng trong quá trình phát triển và duy trì các quán cà phê trên thị trường ngày nay.Hệ thống giúp cải tiến quy trình vận hành, nâng cao hiệu quả công việc, đảm bảo chấtlượng dịch vụ từ đó thu hút và giữ chân khách hàng một cách hiệu quả.

2

Trang 16

CHƯƠNG 1: MÔ TẢ NGHIỆP VỤ HỆ THỐNG1.1.Mô tả bài toán

Bài toán cần giải quyết trong hệ thống quản lý quán cafe này là quản lý và điềuphối các hoạt động kinh doanh hàng ngày của quán cafe, từ việc nhập hàng, bán hàng chokhách hàng, đến quản lý nhân viên và các thông tin liên quan.

Trước hết, cần quản lý các hoá đơn nhập và hoá đơn bán hàng Đối với hoá đơnnhập, hệ thống cần ghi nhận thông tin về nhà cung cấp, ngày nhập hàng, các mặt hàngđược nhập và số lượng tương ứng Trong khi đó, hoá đơn bán cần ghi nhận thông tin vềkhách hàng, ngày bán hàng, các mặt hàng được bán và số lượng tương ứng, cùng với cácchương trình khuyến mãi nếu có.

Để quản lý hàng tồn kho, hệ thống cần theo dõi số lượng hàng tồn kho của mỗi sảnphẩm sau mỗi giao dịch nhập hoặc bán hàng Điều này giúp quản lý hiệu quả lượng hàngtồn kho, đảm bảo không gặp tình trạng thiếu hàng hoặc tồn kho quá mức.

Quản lý thông tin về sản phẩm cũng là một phần quan trọng trong hệ thống Hệthống cần lưu trữ các thông tin chi tiết về sản phẩm như tên, loại sản phẩm, giá nhập, giábán, công dụng và hình ảnh minh họa Điều này giúp quản lý và truy xuất thông tin sảnphẩm một cách nhanh chóng và chính xác.

Cần quản lý thông tin về khách hàng và nhân viên để phục vụ cho việc quản lý đốitác kinh doanh và nhân sự Thông tin này bao gồm tên, địa chỉ, số điện thoại và các thôngtin liên quan khác Đặc biệt, việc quản lý nhân viên cần có thông tin về quê quán để phụcvụ cho việc quản lý nhân sự và thống kê.

Hệ thống cần hỗ trợ các chức năng báo cáo để phân tích và đánh giá hiệu suất kinhdoanh, bao gồm doanh thu, lợi nhuận, hàng tồn kho và các chỉ số khác để đưa ra các quyếtđịnh kinh doanh hiệu quả.

Database mà bài toán quản lý bao gồm các bảng sau:

tbl_chitiethdn: Lưu trữ chi tiết các mặt hàng trong hóa đơn nhập, bao gồm mã hóađơn nhập, mã sản phẩm, số lượng, đơn giá, thành tiền và chiết khấu (nếu có).

tbl_chitiethoadonban: Đây là bảng chi tiết các mặt hàng trong hóa đơn bán, baogồm mã hóa đơn bán, mã sản phẩm, số lượng, thành tiền và khuyến mãi (nếu có).

tbl_congdung: Lưu trữ thông tin về công dụng của sản phẩm, bao gồm mã côngdụng và tên công dụng.

tbl_hoadonban và tbl_hoadonnhap: Đây là hai bảng lưu trữ thông tin về hóa đơnbán và hóa đơn nhập tương ứng, bao gồm mã hóa đơn, ngày nhập/bán, mã nhân viên, mãkhách hàng hoặc nhà cung cấp và tổng tiền.

tbl_khachhang và tbl_ncc: Lưu trữ thông tin về khách hàng và nhà cung cấp, baogồm mã, tên, địa chỉ và số điện thoại.

3

Trang 17

tbl_loaisp và tbl_sanpham: Các bảng này lưu trữ thông tin về loại sản phẩm và sảnphẩm tương ứng, bao gồm mã, tên, giá nhập, giá bán, số lượng, mã công dụng, mã loại vàđường dẫn hình ảnh.

tbl_nhanvien và tbl_que: Lưu trữ thông tin về nhân viên và quê quán tương ứng,bao gồm mã, tên, địa chỉ, giới tính, ngày sinh, mã quê và số điện thoại.

1.2.Mô tả nghiệp vụ hệ thống

1.2.1 Input của bài toán

Thông tin sản phẩm: Lưu trữ các thông tin về sản phẩm cà phê và các loại đồ uốngkhác như tên sản phẩm, loại sản phẩm, giá nhập, giá bán, số lượng tồn kho và các thôngtin liên quan khác.

Thông tin nhà cung cấp: Bảng này chứa thông tin về các nhà cung cấp cà phê, baogồm tên nhà cung cấp, địa chỉ, số điện thoại và các chi tiết liên quan khác.

Thông tin khách hàng: Lưu trữ các thông tin cá nhân của khách hàng như tên, địachỉ, số điện thoại và các thông tin liên quan khác.

Thông tin nhân viên: Bảng này ghi lại thông tin về nhân viên của cửa hàng cà phê,bao gồm tên nhân viên, chức vụ, ngày sinh, địa chỉ, số điện thoại và các thông tin liênquan khác.

Thông tin hóa đơn nhập: Ghi lại thông tin chi tiết về các hóa đơn nhập hàng từ nhàcung cấp, bao gồm mã hóa đơn, ngày nhập, mã nhân viên, mã nhà cung cấp và tổng tiền.

Thông tin hóa đơn bán: Lưu trữ các thông tin chi tiết về các hóa đơn bán hàng chokhách hàng, bao gồm mã hóa đơn, ngày bán, mã nhân viên, mã khách hàng và tổng tiền.

Thông tin công dụng của sản phẩm Thông tin loại sản phẩm

Thông tin sản phẩm Thông tin nhà cung cấpThông tin nhân viênThông tin hoá đơn nhậpThông tin hoá đơn bán Thông tin quê

1.2.2 Output của bài toán

Quản lý thông tin sản phẩm cà phê và các đồ uống khác.

Theo dõi thông tin về nhà cung cấp cà phê và các vật liệu liên quan.Ghi lại thông tin cá nhân của khách hàng và nhân viên cửa hàng.Thực hiện ghi chú và quản lý hóa đơn nhập và hóa đơn bán hàng.Tạo ra báo cáo doanh số bán hàng, lợi nhuận và tồn kho.

Theo dõi hoạt động kinh doanh của cửa hàng và phân tích xu hướng tiêu thụ.4

Trang 18

1.3.Các chức năng của hệ thống

Nhập dữ liệu từ bàn phím

Thêm và lưu thông tin vào cơ sở dữ liệu Sửa thông tin trong cơ sở dữ liệuXóa thông tin trong cơ sở dữ liệuHuỷ các thao tác đang diễn ra Tìm kiếm

1.4.Thiết kế chức năng hệ thống

1.4.1 Chức năng Thêm dữ liệu

Chức năng thêm lưu dữ liệu cho phép người dùng thao tác dữ liệu thêm mới ở hệthống và lưu dữ liệu thêm mới đó vào cơ sở dữ liệu.

Bước 3: Kiểm tra dữ liệu nhập với dữ liệu đã có trong cơ sở dữ liệu

- Nếu trùng dữ liệu đã có trong cơ sở dữ liệu thì thông báo lỗi và quay lại bước 1- Nếu đúng chuyển sang bước 4

Bước 4: Cập nhật vào cơ sở dữ liệu

Bước 5: Hiển thị dữ liệu đã nhập, kết thúc quy trình

txtmasanpham.Enabled = true;txtmasanpham.Focus();}

Trang 19

if (txtmasanpham.Text.Trim().Length == 0){

MessageBox.Show("Bạn phải nhập mã sản phẩm", "Thông báo",MessageBoxButtons.OK, MessageBoxIcon.Warning);

if (txttensanpham.Text.Trim().Length == 0){

MessageBox.Show("Bạn phải nhập tên sản phẩm", "Thông báo",MessageBoxButtons.OK, MessageBoxIcon.Warning);

if (cbomaloai.Text.Trim().Length == 0){

MessageBox.Show("Bạn phải nhập loại sản phẩm", "Thông báo",MessageBoxButtons.OK, MessageBoxIcon.Warning);

if (cbomacongdung.Text.Trim().Length == 0){

MessageBox.Show("Bạn phải nhập công dụng của sản phẩm", "Thông báo",MessageBoxButtons.OK, MessageBoxIcon.Warning);

if (txthinhanh.Text.Trim().Length == 0){

MessageBox.Show("Bạn phải chọn ảnh minh họa cho sản phẩm", "Thông báo",MessageBoxButtons.OK, MessageBoxIcon.Warning);

sql = "SELECT masanpham FROM tbl_sanpham WHERE masanpham=N'" +txtmasanpham.Text.Trim() + "'";

if (funtion.CheckKey(sql)){

MessageBox.Show("Mã sản phẩm này đã có, bạn phải nhập mã khác", "Thông báo",MessageBoxButtons.OK, MessageBoxIcon.Warning);

txtmasanpham.Focus();txtmasanpham.Text = "";return;

sql = "INSERT INTO tbl_sanpham(masanpham,tensanpham,maloai,soluong,gianhap,giaban,macongdung, anh) VALUES(N'" + txtmasanpham.Text.Trim() + "',N'" +txttensanpham.Text.Trim() + "',N'" + cbomaloai.SelectedValue.ToString() + "'," +txtsoluong.Text.Trim() + "," + txtgianhap.Text + "," + txtgiaban.Text + "," +cbomacongdung.SelectedValue.ToString() + ",'" + txthinhanh.Text + "')";

btnxoa.Enabled = true;btnthem.Enabled = true;btnsua.Enabled = true;

6

Trang 20

btnboqua.Enabled = false;btnluu.Enabled = false;txtmasanpham.Enabled = false;}

1.4.2 Chức năng Sửa dữ liệu

Khi muốn thay đổi thông tin có thể sửa thông tin

Các bước tiền hành:

Bước 1: Chọn dữ liệu cần sửaBước 2: Nhập lại dữ liệu cần sửaBước 3: Kiểm tra dữ liệu

- Nếu sai thông báo lỗi và quay lại bước 2- Nếu đúng tiếp tục bước 4

Bước 4: Lưu dữ liệu đã sửa vào cơ sở dữ liệu Bước 5: Hiển thị lại dữ liệu đã sửa

MessageBox.Show("Không còn dữ liệu!", "Thông báo", MessageBoxButtons.OK,MessageBoxIcon.Information);

if (txtmasanpham.Text == ""){

MessageBox.Show("Bạn chưa chọn bản ghi nào", "Thông báo",MessageBoxButtons.OK, MessageBoxIcon.Information);

if (txttensanpham.Text.Trim().Length == 0){

MessageBox.Show("Bạn phải nhập tên sản phẩm", "Thông báo",MessageBoxButtons.OK, MessageBoxIcon.Warning);

if (cbomaloai.Text.Trim().Length == 0){

MessageBox.Show("Bạn phải nhập loại sản phẩm", "Thông báo",MessageBoxButtons.OK, MessageBoxIcon.Warning);

if (cbomacongdung.Text.Trim().Length == 0){

MessageBox.Show("Bạn phải nhập công dụng của sản phẩm", "Thông báo",MessageBoxButtons.OK, MessageBoxIcon.Warning);

7

Trang 21

if (txthinhanh.Text.Trim().Length == 0){

MessageBox.Show("Bạn phải chọn ảnh minh họa cho hàng", "Thông báo",MessageBoxButtons.OK, MessageBoxIcon.Warning);

btnboqua.Enabled = false;}

1.4.3 Chức năng Xóa dữ liệu

Có thể xoá dữ liệu không dùng hoặc dữ liệu sai

MessageBox.Show("Không còn dữ liệu!", "Thông báo", MessageBoxButtons.OK,MessageBoxIcon.Information);

if (txtmasanpham.Text == ""){

MessageBox.Show("Bạn chưa chọn bản ghi nào", "Thông báo",MessageBoxButtons.OK, MessageBoxIcon.Information);

if (MessageBox.Show("Bạn có muốn xóa không?", "Thông báo",MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)

sql = "DELETE tbl_sanpham WHERE masanpham=N'" + txtmasanpham.Text + "'";funtion.RunSql(sql);

Load_DataGridView();8

Trang 22

1.4.4 Chức năng Tìm kiếm dữ liệu

Chức năng tìm kiếm được sử dụng khi người dùng tra cứu thông tin nào đó

Các bước tiến hành

Bước 1: Nhập thông tin tìm kiếm

Bước 2: Kiểm tra thông tin có tồn tại hay không- Nếu có thì hiển thị Thông tin cần tim

- Nếu không có thì thông báo nhập lại thông tin hoặc thoát khỏi chức năng tìm kiếm

sql = "SELECT * FROM tbl_sanpham WHERE 1=1";if (txtmasanpham.Text != "")

sql = sql + " AND masanpham Like N'%" + txtmasanpham.Text + "%'";if (txttensanpham.Text != "")

sql = sql + " AND tensanpham Like N'%" + txttensanpham.Text + "%'";if (cbomaloai.Text != "")

sql = sql + " AND maloai Like N'%" + cbomaloai.SelectedValue + "%'";if (cbomacongdung.Text != "")

sql = sql + " AND macongdung Like N'%" + cbomacongdung.SelectedValue + "%'"tbl_sanpham = funtion.GetDataToTable(sql);

1.4.5 Chức năng Bỏ qua

Các bước tiến hành

Bước 1: chọn 1 chức năng bất kì nào đó

bước 2: Khi không muốn thực hiện chức năng đó chọn bỏ quaBước 3: Tất cả dữ liệu hiển thị trên form đc reset lại như ban đầu

Code xử lý:

9

Trang 23

private void btnboqua_Click(object sender, EventArgs e){

btnboqua.Enabled = false;btnthem.Enabled = true;btnxoa.Enabled = true;btnsua.Enabled = true;btnluu.Enabled = false;txtmasanpham.Enabled = false;}

Code xử lý:

private void btin_Click(object sender, EventArgs e){

if (txtmahdn.Text == ""){

MessageBox.Show("hãy chọn hoá đơn để in", "Thông báo", MessageBoxButtons.OK,MessageBoxIcon.Error);

COMExcel.Application exApp = new COMExcel.Application();COMExcel.Workbook exBook;

COMExcel.Worksheet exSheet;

10

Trang 24

COMExcel.Range exRange;string sql;

int hang = 0, cot = 0;

DataTable tblThongtinhoadon, tblThongtinsanpham;

exBook = exApp.Workbooks.Add(COMExcel.XlWBATemplate.xlWBATWorksheet);exSheet = exBook.Worksheets[1];

exRange = exSheet.Cells[1, 1];exRange.Range["A1:B3"].Font.Size = 10;

exRange.Range["A1:B3"].Font.Name = "Times new roman";exRange.Range["A1:B3"].Font.Bold = true;

exRange.Range["A1:B3"].Font.ColorIndex = 5; //Màu xanh da trờiexRange.Range["A1:A1"].ColumnWidth = 7;

exRange.Range["B1:B1"].ColumnWidth = 15;exRange.Range["A1:B1"].MergeCells = true;

exRange.Range["A1:B1"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;exRange.Range["A1:B1"].Value = "Quán cafe";

exRange.Range["A2:B2"].MergeCells = true;

exRange.Range["A2:B2"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;exRange.Range["A2:B2"].Value = "12 Chùa Bộc - Hà Nội";

exRange.Range["A3:B3"].MergeCells = true;

exRange.Range["A3:B3"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;exRange.Range["A3:B3"].Value = "Điện thoại: ";

exRange.Range["C2:E2"].Font.Size = 16;

exRange.Range["C2:E2"].Font.Name = "Times new roman";exRange.Range["C2:E2"].Font.Bold = true;

exRange.Range["C2:E2"].Font.ColorIndex = 3; //Màu đỏexRange.Range["C2:E2"].MergeCells = true;

exRange.Range["C2:E2"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;exRange.Range["C2:E2"].Value = "HÓA ĐƠN NHẬP ";

sql = "SELECT a.mahdn, a.ngaynhap, a.tongtien, b.tennv, c.tenncc " + "FROMtbl_hoadonnhap AS a " + "INNER JOIN tbl_nhanvien AS b ON a.manv = b.manv " +"INNERJOIN tbl_ncc AS c ON a.mancc = c.mancc " +"WHERE a.mahdn = N'" + txtmahdn.Text + "'";

tblThongtinhoadon = funtion.GetDataToTable(sql);exRange.Range["A7:F10"].Font.Size = 12;exRange.Range["A7:A7"].Value = "Mã hoá đơn:";exRange.Range["B7:F7"].MergeCells = true;

exRange.Range["B7:F7"].Value = tblThongtinhoadon.Rows[0]["mahdn"].ToString();exRange.Range["A8:A8"].Value = "Ngày nhập:";

exRange.Range["B8:F8"].MergeCells = true;

exRange.Range["B8:F8"].Value = Convert.ToDateTime(tblThongtinhoadon.Rows[0]["ngaynhap"]).ToShortDateString();

exRange.Range["A9:A9"].Value = "Nhân viên nhập:";exRange.Range["B9:F9"].MergeCells = true;

exRange.Range["B9:F9"].Value = tblThongtinhoadon.Rows[0]["tennv"].ToString();exRange.Range["A10:A10"].Value = "Nhà cung cấp:";

exRange.Range["B10:F10"].MergeCells = true;

exRange.Range["B10:F10"].Value = tblThongtinhoadon.Rows[0]["tenncc"].ToString();exRange.Range["A11:A11"].Value = "Tổng tiền:";

exRange.Range["B11:F11"].MergeCells = true;

exRange.Range["B11:F11"].Value = tblThongtinhoadon.Rows[0]["tongtien"].ToString();sql = "SELECT b.tensanpham, a.soluong, a.dongia,a.thanhtien ,a.chietkhau " +

11

Trang 25

"FROM tbl_chitiethdn AS a , tbl_sanpham AS b " +

"WHERE a.mahdn = N'" + txtmahdn.Text + "' AND a.masanpham = b.masanpham";tblThongtinsanpham = funtion.GetDataToTable(sql);

exRange.Range["A12:F12"].Font.Bold = true;

exRange.Range["A12:F12"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignCenter;exRange.Range["A12:A12"].Value = "STT";

exRange.Range["B12:B12"].Value = "Tên sản phẩm";exRange.Range["C12:C12"].Value = "Số lượng";exRange.Range["D12:D12"].Value = "Đơn giá";exRange.Range["E12:E12"].Value = "Thành tiền";exRange.Range["F12:F12"].Value = "Chiết khấu";

for (hang = 0; hang < tblThongtinsanpham.Rows.Count; hang++){

exRange.Value2 = "Tổng tiền:";

exRange = exSheet.Cells[cot + 1][hang + 15];exRange.Font.Bold = true;

exRange.Value2 = tblThongtinhoadon.Rows[0][2].ToString();exRange = exSheet.Cells[1][hang + 16];

exRange.Range["A1:F1"].MergeCells = true;exRange.Range["A1:F1"].Font.Bold = true;exRange.Range["A1:F1"].Font.Italic = true;

exRange.Range["A1:F1"].HorizontalAlignment = COMExcel.XlHAlign.xlHAlignRight;exApp.Visible = true;

12

Trang 26

STT Tên trường Kiểu dữ liệu Kích thướcKhóaGiải thích

Bảng 7: Bảng hóa đơn nhập

Bảng Hóa đơn bán:

Bảng 8: Bảng hóa đơn bán

Bảng Công dụng sản phẩm:

1 macongdung nvarchar 10 Khóa chính Mã công dụng

Bảng 9: Bảng công dụng sản phẩm

Bảng Chi tiết hóa đơn bán:

Bảng 10: Bảng chi tiết hóa đơn bán

Bảng Chi tiết hóa đơn nhập:

17

Trang 27

5 thanhtien float Thành tiền

Bảng 11: Bảng chi tiết hóa đơn nhập

18

Trang 28

CHƯƠNG 3 GIẢI QUYẾT VẤN ĐỀ3.1.Xây dựng Form chính cho chương trình

3.1.1 Tạo giao diện Form chính

Form được thiết kế với giao diện thân thiện, dễ sử dụng, và phản ánh đầy đủ cácchức năng quan trọng như danh mục, hóa đơn và báo cáo (Khoa CNTT&KTS-Họcviện Ngân hàng)

Khi mở form, người dùng sẽ được chào đón bởi một menu chính với các tùy chọnphân loại rõ ràng Trong phần "Danh mục", người dùng có thể truy cập các danh sáchliệt kê như nhân viên, sản phẩm, khách hàng và nhà cung cấp Điều này giúp họ dễdàng quản lý thông tin liên quan đến các bộ phận và đối tác quan trọng của quán (Tú,2024)

Phần "Hóa đơn" cung cấp hai tùy chọn chính là hóa đơn bán và hóa đơn nhập.Người dùng có thể tạo, sửa đổi và xem lại các hóa đơn liên quan đến doanh thu và chiphí của quán Điều này giúp họ theo dõi các giao dịch mua bán một cách hiệu quả vàchính xác.

Cuối cùng, phần "Báo cáo" cung cấp các công cụ để tạo ra các báo cáo tổng hợp vàphân tích về hoạt động kinh doanh của quán Những báo cáo này có thể cung cấpthông tin chi tiết về doanh số bán hàng, lợi nhuận, cũng như các xu hướng và mô hìnhtiêu thụ của khách hàng.

Sửa lại một số thuộc tính của Form1 như sau:Text Quản lý cửa hàng cafeWindowState Maximized

Icon C:\Users\Vietnam\Desktop\anhspcafe\epressoBackgroundImage C:\Users\Vietnam\Desktop\anhspcafe\bg

19

Trang 29

3.1.2 Viết mã lệnh cho Form chính

Form chính có nhiệm vụ kết nối tới cơ sở dữ liệu khi bắt đầu thực hiện dự án, đóng kếtnối tới cơ sở dữ liệu khi đóng dự án và mở các form tương ứng với các mục menu.namespace quanlycafen1

public partial class Form1 : Form{

public Form1(){

private void Form1_Load(object sender, EventArgs e){

private void nhânviênToolStripMenuItem_Click(object sender, EventArgs e){

Nhanvien a = new Nhanvien();this.Hide();

private void hoáĐơnNhậpToolStripMenuItem_Click(object sender, EventArgs e){

hdn a = new hdn();this.Hide(); a.ShowDialog();

20

Trang 30

private void côngDụngToolStripMenuItem_Click(object sender, EventArgs e){

congdung a = new congdung();this.Hide(); a.ShowDialog();this.Show();

21

Trang 31

3.1.3 Tạo lớp – Class functions

Trong cửa sổ Solution Explorer tạo một thư mục mới đặt tên là Class, kích chuộtphải tại Class chọn Add/ New Item… chọn Class trong hộp thoại Add New Item và đặttên cho class là functions.cs tại ô Name.

Mã lệnh của lớp functions được viết như sau:

Để sử dụng thư viện các đối tượng của SQL Server và sử dụng đối tượng Dataset taphải khai báo 2 Namespace Data và Data.SqlClient.

using System;

using System.Collections.Generic;using System.Linq;

using System.Text;using System.Threading.Tasks;using System.Data.SqlClient;using System.Windows.Forms;using System.Data;

using DocumentFormat.OpenXml.Packaging;using DocumentFormat.OpenXml.Spreadsheet;using DocumentFormat.OpenXml;

using DocumentFormat.OpenXml.Math;namespace quanlycafen1

stringconn = "Data Source=SKY-20240401VYJ\\MSSQLSERVER2;InitialCatalog=Quanlyquancafe;Integrated Security=True;Encrypt=False";

conn = new SqlConnection();conn.ConnectionString = stringconn;conn.Open();

3.2.Giao diện các Form con

3.2.1 Giao diện các form Danh mục

Form nhân viên trong hệ thống quản lý quán cafe là một công cụ quan trọng giúp quảnlý và theo dõi thông tin về nhân sự Giao diện của form này thường bao gồm các trườngthông tin như mã nhân viên, tên nhân viên, số điện thoại, địa chỉ và các thông tin liênquan khác Người quản lý có thể thêm, sửa đổi hoặc xóa thông tin nhân viên từ form này,cũng như tạo ra các báo cáo về nhân sự để theo dõi hiệu suất làm việc và chi phí nhânviên.

22

Trang 32

Form khách hàng trong hệ thống quản lý quán cafe là một công cụ quan trọng để theodõi và quản lý thông tin về khách hàng Giao diện của form này thường bao gồm cáctrường thông tin như tên, số điện thoại, địa chỉ, email, và các thông tin liên quan khác.Người quản lý có thể thêm mới, chỉnh sửa hoặc xóa thông tin khách hàng từ form này.Ngoài ra, form khách hàng cũng có thể được sử dụng để tạo ra các báo cáo về hành vimua hàng của khách hàng và phân tích thị trường.

Hình 4: Giao diện form khách hàng

23

Trang 33

Form sản phẩm trong hệ thống quản lý của quán cafe là một công cụ quan trọng, giúpquản lý thông tin về các mặt hàng được bày bán Giao diện của form này thường bao gồmcác trường thông tin như tên sản phẩm, giá cả, số lượng và thông tin về nhà cung cấp.Người quản lý có thể dễ dàng thêm, chỉnh sửa hoặc xoá thông tin sản phẩm từ form này.Ngoài ra, form sản phẩm cũng cung cấp các công cụ để tạo ra báo cáo về tình trạng tồnkho và doanh số bán hàng, giúp quản lý hiểu rõ hơn về hoạt động kinh doanh của quán.

Hình 5: Giao diện form sản phẩm

Form nhà cung cấp trong hệ thống quản lý của quán cafe là một phần quan trọng, giúpquản lý thông tin về các đối tác cung cấp nguyên liệu và dịch vụ Giao diện của form nàycung cấp các trường thông tin như tên nhà cung cấp, địa chỉ, thông tin liên hệ và các thôngtin khác cần thiết Quản lý có thể dễ dàng quản lý và cập nhật thông tin từ form này

Hình 6: Giao diện form nhà cung cấp

24

Trang 34

3.2.2 Giao diện các form Hóa đơn

Hóa đơn nhập là văn bản quan trọng ghi lại thông tin chi tiết về giao dịch mua hànghóa, dịch vụ từ nhà cung cấp Nó đóng vai trò thiết yếu trong việc quản lý hàng tồn kho,kiểm soát chi phí và đảm bảo tính minh bạch cho hoạt động kinh doanh.

Hình 7: Giao diện hóa đơn nhập

Hóa đơn bán hàng đóng vai trò quan trọng trong việc ghi chép giao dịch bán hàng hóa,dịch vụ cho khách hàng Nó cung cấp thông tin chi tiết về giao dịch, giúp doanh nghiệpquản lý doanh thu, thanh toán, thuế một cách hiệu quả và minh bạch.

Hình 8: Giao diện hóa đơn bán

25

Trang 35

3.2.3 Giao diện các form Tìm kiếm

Việc thêm một chức năng tìm kiếm cho hóa đơn nhập sẽ giúp người dùng dễ dàng tìmnhanh thông tin cần thiết về giá trị tổng tiền của mỗi hóa đơn nhập Đồng thời, thông quatính năng này, họ cũng có thể xác định được nhà cung cấp và nhân viên liên quan đếntừng hóa đơn Điều này giúp tối ưu hóa quy trình quản lý và tra cứu thông tin trong hệthống, giảm thiểu thời gian tìm kiếm và nâng cao hiệu suất làm việc.

Hình 9: Giao diện form tìm kiếm hóa đơn nhập

Tương tự cho hóa đơn bán:

Hình 10: Giao diện form tìm kiếm hóa đơn bán

26

Ngày đăng: 20/06/2024, 18:06

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w