1. Trang chủ
  2. » Công Nghệ Thông Tin

Báo Cáo C#--Quản Lý Siêu Thị Mini

24 6 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

Thông tin cơ bản

Tiêu đề Quản Lý Siêu Thị Mini
Tác giả Quang Hồng Ánh, Sứ Bạc, Anh Tuấn, Lê Thanh Hà, Phạm Ngọc Tiến, Nguyễn Tiến Hưng
Người hướng dẫn Giảng viên hướng dẫn
Trường học Trường Đại học Công nghệ Giao thông Vận tải
Chuyên ngành Công nghệ thông tin
Thể loại Báo cáo môn học
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 24
Dung lượng 1,81 MB

Nội dung

Qua nghiên cứu, học hỏi thầy cô và bạn bè về giải pháp quản lý bán hàng kết hợp với quá trình khảo sát thực tế trên nhiều cửa hàng, doanh nghiệp tôi xin đưa ra giải pháp "Quản Lý Siêu Thị Mini " dành cho các doanh nghiệp vừa và nhỏ.

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO MÔN HỌC LẬP TRÌNH TRỰC QUAN C#

ĐỀ TÀI: QUẢN LÝ SIÊU THỊ MINI

Giảng viên hướng dẫn:

Nhóm thành viên: Quang Hồng Ánh Sứ

Bạc Anh Tuấn

Lê Thanh Hà Phạm Ngọc Tiến Nguyễn Tiến Hưng

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

Trang 2

MỤC LỤC

I Giới thiệu 3 CHƯƠNG 1: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG 4 1.Khảo sát và phân tích bài toán (đề tài) 4

2 Xây dựng cơ sở dữ liệu _5

3 Tiến độ thực hiện: Phân bổ nhân sự và thời gian thức hiện các chức năng _7

1,Ngôn ngữ truy vấn SQL _8 2.Ngôn ngữ lập trình C# _9

1.Sơ đồ chức năng của phần mềm 10 2.Một số chức năng chính 11 CHƯƠNG 4: KIỂM THỬ, ĐÁNH GIÁ, KẾT LUẬN VÀ HƯỚNG PHÁT

1.Đánh giá 24 2.Kết luận _24

3 Hướng phát triển 24

Trang 3

Lời nói đầu

I Giới thiệu

Trong thời đại công nghệ số hiện nay, việc quản lý siêu thị mini đóng vai trò quan trọng trong việc tối ưu hóa hoạt động kinh doanh và nâng cao hiệu quả Phần mềm quản lý siêu thị mini được phát triển bằng ngôn ngữ lập trình C# giúp giải quyết các vấn đề này một cách hiệu quả.

Là một doanh nhân, một chủ doanh nghiệp, một cửa hàng hay một người quản lý, chúng ta mong chờ điều tốt đẹp nhất với doanh nghiệp của mình, đó là lợi nhuận, là thương hiệu và sự phát triển hiện đại hóa lĩnh vực quản lý của doanh nghiệp.

Qua nghiên cứu, học hỏi thầy cô và bạn bè về giải pháp quản lý bán hàng kết hợp với quá trình khảo sát thực tế trên nhiều cửa hàng, doanh nghiệp em xin

đưa ra giải pháp "Quản Lý Siêu Thị Mini " dành cho các doanh nghiệp vừa và

Như vậy, mục tiêu cuôi cùng là xây dựng một phân mêm Quản Lý Siêu

Thị Mini tổi ưu và dễ sự dụng Dáp ứng nhu câu xử lý các chức năng nghiệp vụ

trong quá trình thực hiện các hoạt động kinh doanh

Trang 4

CHƯƠNG 1: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG

1.Khảo sát và phân tích bài toán (đề tài)

-Chức năng của phần mềm: Phần mềm cần hỗ trợ việc quản lý nhân viên, quản lý khách hàng thân thiết, quản lý nhập/xuất kho, quản lý mặt hàng trong siêu thị, và quản lý tài chính thu chi của siêu thị.

-Đối tượng nghiên cứu: Hệ thống siêu thị và các yếu tố tác động đến việc phát triển hệ thống ở siêu thị.

-Phạm vi nghiên cứu: Trường Đại Học Công Nghệ Giao Thông Vận Tải và bài tập lớn được thực hiện trên phạm vi môn học lập trình trực quan c (C#) -Công nghệ sử dụng: C# là ngôn ngữ lập trình chính được sử dụng SQL cũng được sử dụng như là ngôn ngữ tiêu chuẩn cho các hệ cơ sở dữ liệu quan hệ -Phân tích và thiết kế hệ thống: Cần phải tiến hành các giai đoạn như khảo sát và xác định yêu cầu, phân tích và thiết kế hệ thống, thiết kế chi tiết, và lập trình

-Đánh giá và kiểm thử: Sau khi xây dựng xong phần mềm, cần phải tiến hành các bước kiểm thử để đảm bảo phần mềm hoạt động đúng và ổn định -Phương pháp nghiên cứu: Phương pháp khảo sát, thu thập thông tin Phương pháp quan sát, tổng hợp Phương pháp phân tích, thiết kế.

-Ý nghĩa khoa học của đề tài:

+Toàn bộ đề tài này sẽ trở thành tài liệu nghiên cứu, tham khảo, dễ hiểu và thiết thực hơn cho những bạn sinh viên hay ai đó yêu thích hướng đi ứng dụng quản lý.

-Ý nghĩa thực tiễn của đề tài:

+Với sự thành công của đề tài này sẽ góp phần giúp ích cho việc tối ưu hóa quá trình quản lý siêu thị, loại bỏ những khó khăn trong việc quản lý siêu thị.

Bố cục báo cáo đồ án Quản lý siêu thị Mini

Chương 1: Khảo Sát Và Phân Tích Thiết Kế Hệ Thống

Chương 2: Cơ Sở Nghiên Cứu Lý Thuyết

Chương 3: Xây dựng phần mềm,Giao diện chương trình.

Chương 4: Kết luận.

Trang 5

2 Xây dựng cơ sở dữ liệu

+ Tennhanvien: Họ tên nhân viên

+ NTNsinh: Năm sinh

+ SDTnhanvien: Số điện thoại nhân viên + Diachi: Địa chỉ nhân viên

+ Dongianhap: Đơn giá nhập

+Dongiaban: Đơn giá bán

+Soluong: Số lượng

+Hansudung: Ngày Nhập hàng

+ Donvitinh: Đơn vị tính

Trang 6

+Noisanxuat: Nơi sản xuất

+Ngaysx: Ngày sản xuất;

+ TenNCC: tên nhà cung cấp

+ DiaChiNCC: địa chỉ nhà cung cấp

+ SDTNCC: số điện thoại nhà cung cấp

+ SoTaiKhoanNCC: Số tài khoản nhà cung cấp + MaSoThueNCC: Mã số thuế nhà cung cấp

+TenDangNhap: Tên đăng nhập.

+Tennhanvien: Tên nhân viên.

Trang 7

Người quản lí bài tập(Project Manager) : Quang Hồng Ánh Sứ.

Bảng vai trò và trách nhiệm (Roles and Responsibilities)

Trang 8

CHƯƠNG 2: CƠ SỞ NGHIÊN CỨU LÝ THUYẾT

1,Ngôn ngữ truy vấn SQL

+Insert

-Mục đích: Thêm dữ liệu vào bảng.

-Cú pháp: Insert into < Tên_bảng >( ds các cột muốn nhập

LoginPQ ( TenDangNhap , TenNhanVien,MatKhau,Quyen )

Values ( 'User2' , N'Nguyen Van

+Update

-Mục đích: Sửa dữ liệu trong bảng

-Cú pháp: Update < tên_ba 0ng > Set < tên_cột1 >=< giá_trị1 > < tên_cột2 >=< giá_trị2 >,

Where < điê7 u_kiện >

-Mục đích: Xoá dữ liệu trong bảng.

-Cú pháp: Xóa toàn bộ dữ liệu trong bảng

Delete From < tên_bảng >

Xóa theo điều kiện

Delete From < tên_bảng >

Where < Điê7 u_kiện >

-ví dụ:

Xóa toàn bộ dữ liệu trong bảng Loaisach

delete from LoginPQ

Xóa Loại sách có mã loại là LS004

Delete from LoginPQ where TenDangNhap = 'User'

Trang 9

-Mục đích: sử dụng để truy vấn hoặc lấy dữ liệu từ bảng trong database.

-Cú pháp: SELECT column_list FROM table-name

-Ví dụ: : SELECT* FROM LoginPQ

-Cú Pháp: CREATE PROCEDURE StoredProcedureName

Ngôn ngữ lập trình C# là một ngôn ngữ lập trình hướng đối tượng mạnh

mẽ, được Microsoft phát triển như một phần của NET Framework Dưới đây là một số thông tin cơ bản về các thành phần :

Form: Trong Windows Forms, một Form là một đối tượng đại diện cho

một cửa sổ hoặc hộp thoại trên giao diện người dùng.

Các Control (điều khiển cơ bản): Đây là các thành phần giao diện người

dùng mà bạn có thể thêm vào Form Mỗi control có các thuộc tính và sự kiện riêng Ví dụ:

Label: Hiển thị văn bản không thể chỉnh sửa.

TextBox: Cho phép người dùng nhập văn bản.

ComboBox: Hiển thị danh sách các mục mà người dùng có thể chọn từ đó ListBox: Hiển thị danh sách các mục.

Trang 10

ListView: Hiển thị danh sách các mục theo nhiều cách khác nhau.

Button: Khi nhấn vào, nó sẽ kích hoạt một sự kiện.

RadioButton: Cho phép người dùng chọn một trong nhiều tùy chọn.

CheckBox: Cho phép người dùng chọn nhiều tùy chọn.

DataGridView: Hiển thị dữ liệu theo dạng bảng.

ADO.NET: Đây là một tập hợp các thành phần cho phép bạn tương tác với

cơ sở dữ liệu từ ứng dụng NET Các thành phần quan trọng bao gồm:

SqlConnection: Đại diện cho một kết nối đến cơ sở dữ liệu SQL Server.

SqlCommand: Đại diện cho một câu lệnh SQL hoặc Stored Procedure.

SqlDataAdapter: Được sử dụng để truy vấn và lưu dữ liệu.

DataSet: Chứa dữ liệu từ nhiều bảng.

DataTable: Chứa dữ liệu từ một bảng.

CHƯƠNG 3: XÂY DỰNG PHẦN MỀM 1.Sơ đồ chức năng của phần mềm

Quản Lý Tổng

Quản Lý Quỹ

Tìm Kiếm Hoá Đơn

Xuất

Quản

Lý Hàng Nhập

Quản Lý Nhà Cung Cấp

Quản

Lý Nhân Viên

Nhập hàng,sửa hàng,xem thông tin

Thêm,sửa,xoá,lưu nhàcung cấp, thôngtin nhà cung cấp

Thông TinNhân Viên,Thêm,Sửa, xoá,

Trang 11

+Nhập tên đăng nhập , mật khẩu để đăng nhập(tài khoản được cấp bởi quản lí).

+Sai tên đăng nhập hoặc mật khẩu sẽ không truy cập được phần mềm

-Giao Diện:

-Code:

// Kết nối vào SQL Server:

<?xmlversion="1.0" encoding="utf-8" ?>

if (MessageBox.Show(" DO YOU WANT TO EXIT? ", " NOTIFICATION! ",

MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)

Trang 12

MessageBox.Show(" Đăng Nhập Thất Bại ", " Xin Lỗi!!! ", MessageBoxButtons.OK,

+ Thêm thông tin hàng hoá.

+ Sửa thông tin hàng hoá.

+ Xoá thông tin hàng hoá.

+ Lưu thông tin vào Database.

+ Danh sách hàng hoá được nhập.

-Giao diện:

-Code:

//Thêm thông tin hàng hoá được nhập

private void bt_them_Click(object sender, EventArgs e)

{

tb_mahang.Enabled = true;

string p_mahang = tb_mahang.Text.Trim();

string p_tenhang = tb_tenhang.Text.Trim();

string p_mancc = cb_nhacungcap.SelectedValue.ToString();

int p_dgnhap = int.Parse(tb_dongianhap.Text.Trim());

int p_dgban = int.Parse(tb_dongiaban.Text.Trim());

int p_soluong = int.Parse(tb_soluong.Text.Trim());

DateTime p_hansudung =DateTime.Parse (dsp_hansudung.Value.ToString("yyyy/MM/dd")); string p_dvtinh = tb_donvitinh.Text.Trim();

string p_noisx = tb_noisanxuat.Text.Trim();

DateTime p_ngaysx = DateTime.Parse(dsp_ngaysx.Value.ToString("yyyy/MM/dd"));

DateTime p_hsd = DateTime.Parse(dsp_hsd.Value.ToString("yyyy/MM/dd"));

Trang 13

int kq = 0;

Kiemtrma(p_mahang, ref kq);

int soLuongCong = Convert.ToInt32(tb_soluong.Text);

int soLuongHienTai = Convert.ToInt32(dgv_hanghoa.CurrentRow.Cells[5].Value);

string sq = "MERGE INTO Hanghoa USING (VALUES ('"+p_mahang+"', '"+p_soluong+"'))

AS temp(Mahang, Soluong) ON Hanghoa.Mahang = temp.Mahang WHEN MATCHED THEN UPDATE SET Soluong = Hanghoa.Soluong + temp.Soluong WHEN NOT MATCHED THEN INSERT (Mahang, Soluong) VALUES (temp.Mahang, temp.Soluong);";

SqlCommand cm = new SqlCommand(sq, con);

//Cập nhật thông tin hàng hoá được nhập

private void bt_luu_Click(object sender, EventArgs e)

{

string p_mahang = tb_mahang.Text.Trim();

string p_tenhang = tb_tenhang.Text.Trim();

string p_mancc = cb_nhacungcap.SelectedValue.ToString();

int p_dgnhap = int.Parse(tb_dongianhap.Text.Trim());

int p_dgban = int.Parse(tb_dongiaban.Text.Trim());

int p_soluong = int.Parse(tb_soluong.Text.Trim());

DateTime p_hansudung = DateTime.Parse(dsp_hansudung.Value.ToString("yyyy/MM/dd")); string p_dvtinh = tb_donvitinh.Text.Trim();

string p_noisx = tb_noisanxuat.Text.Trim();

DateTime p_ngaysx = DateTime.Parse(dsp_ngaysx.Value.ToShortDateString());

Trang 14

"Dongianhap='" + p_dgnhap + "',Dongiaban='" + p_dgban + "',Soluong = '" +

p_soluong + "',Hansudung=N'" + p_hansudung + "',Donvitinh=N'"+p_dvtinh+"',Noisanxuat

=N'"+p_noisx+"',Ngaysx ='"+p_ngaysx+"',Hansd = '"+p_hsd+"' Where mahang=N'" + p_mahang + "' ";

SqlCommand cmd = new SqlCommand(sql, con);

// Xoá thông tin hàng hoá

private void bt_xoa_Click(object sender, EventArgs e)

{

string p_mahang = tb_mahang.Text.Trim();

if (con.State == ConnectionState.Closed)

con.Open();

string sql = "Delete From Hanghoa WHERE Mahang='" + p_mahang + "'";

SqlCommand cmd = new SqlCommand(sql, con);

+ Thêm thông tin Nhà Cung Cấp.

+ Sửa thông tin Nhà Cung Cấp.

+ Xoá thông tin Nhà Cung Cấp.

+ Lưu thông tin Nhà Cung Cấp vào Database.

+ Danh sách Nhà Cung Cấp được nhập.

+Tìm kiếm thông tin nhà cung cấp cần tìm.

-Giao Diện

Trang 15

// Tìm kiếm thông tin nhà cung cấp

private void button5_Click(object sender, EventArgs e)

SqlCommand cmd = new SqlCommand(sql, con);

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataTable dt = new DataTable();

SqlCommand cmd = new SqlCommand("Select* from Nhacungcap", con);

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataTable tb = new DataTable();

+ Thêm thông tin Nhân Viên.

+ Sửa thông tin Nhân Viên.

+ Xoá thông tin Nhân Viên.

+ Kết nối dữ liêu thông tin Nhân Viên vào Database.

+ Danh Nhân Viên được thêm.

-Giao Diện:

Trang 16

// Thêm nhân viên

private void bt_themnv_Click(object sender, EventArgs e)

{

string p_manv = tb_manv.Text.Trim();

string p_tennv = tb_hotennv.Text.Trim();

DateTime p_ntnsinh = DateTime.Parse(dsp_ngaysinh.Value.ToString("yyyy/MM/dd")); string p_sdtnv = tb_sdtnv.Text.Trim();

//sửa thông tin nhân viên

private void bt_suanv_Click(object sender, EventArgs e)

{

string p_manv = tb_manv.Text.Trim();

string p_tennv = tb_hotennv.Text.Trim();

DateTime p_ntnsinh = DateTime.Parse(dsp_ngaysinh.Value.ToString("yyyy/MM/dd")); string p_sdtnv = tb_sdtnv.Text.Trim();

SqlCommand cmd = new SqlCommand(sql, con);

//Cell click nhan vien

private void dgv_nhanvien_CellClick(object sender, DataGridViewCellEventArgs e)

Trang 17

// xoá thông tin nhân viên

private void bt_xoanv_Click(object sender, EventArgs e)

{

string p_manv = tb_manv.Text.Trim();

if (con.State == ConnectionState.Closed)

con.Open();

string sql = "Delete From Nhanvien WHERE Manhanvien='" + p_manv + "'";

SqlCommand cmd = new SqlCommand(sql, con);

// Các điều kiện nhập dữ liệu

private void tb_sdtnv_KeyPress(object sender, KeyPressEventArgs e)

int soLuongCong = Convert.ToInt32(tb_soluong.Text);

int soLuongHienTai = Convert.ToInt32(dgv_hanghoa.CurrentRow.Cells[5].Value);

Trang 18

-Giao Diện:

-Code:

// Button lưu hoá đơn từ listview vào Database

private void bt_luuhd_Click(object sender, EventArgs e) {

try

{

// Mở kết nối SQL Server

Trang 19

con.Open();

// Duyệt qua tất cả các dòng trong ListView

foreach (ListViewItem item in lv_hoadonbh.Items)

{

// Lấy dữ liệu từ các cột trong dòng hiện tại

string column0Data = item.SubItems[0].Text;

string column1Data = item.SubItems[1].Text;

string column2Data = item.SubItems[2].Text;

string column3Data = item.SubItems[3].Text;

string column4Data = item.SubItems[4].Text;

string column5Data = item.SubItems[5].Text;

string column6Data = item.SubItems[6].Text;

string column7Data = item.SubItems[7].Text;

// lấy dữ liệu từ các cột khác (nếu có)

// Tạo câu lệnh INSERT

string sql = "INSERT INTO Hoadonban( Masp, Tensp, Donvitinh, Soluong, Giaban, Makh, Tenkh, Ngayban) VALUES

(@columnHeader1,@columnHeader2,@columnHeader3,@columnHeader4,@columnHeader5,

@columnHeader6,@columnHeader7,@columnHeader8)";

// Khởi tạo đối tượng SqlCommand và gán giá trị cho các tham số

using (SqlCommand cmd = new SqlCommand(sql, con))

{

cmd.Parameters.AddWithValue("@columnHeader1", column0Data);

cmd.Parameters.AddWithValue("@columnHeader2", column1Data);

cmd.Parameters.AddWithValue("@columnHeader3", column2Data);

cmd.Parameters.AddWithValue("@columnHeader4", column3Data);

cmd.Parameters.AddWithValue("@columnHeader5", column4Data);

cmd.Parameters.AddWithValue("@columnHeader6", column5Data);

cmd.Parameters.AddWithValue("@columnHeader7", column6Data);

cmd.Parameters.AddWithValue("@columnHeader8", column7Data);

// khởi tạo và gán tham số cho các cột khác (nếu có)

// Execute câu lệnh INSERT

Trang 20

//Tạo các đối tượng Excel

e_excel.Application oExcel = new e_excel.Application();

-Giao Diện:

Tìm kiếm theo ngày

Trang 21

// điều kiện để tìm kiếm được thông tin hoá đơn

private void cb_ban_CheckedChanged(object sender, EventArgs e)

string sql = dsp_ngayban.Value.ToShortDateString() != "" ? "select

Tensp,Tenkh,Soluong,Giaban,Ngayban from Hoadonban where Ngayban like '%" + dsp_ngayban.Value.ToShortDateString() + "%'" : "select * from Hoadonban";

SqlCommand cmd = new SqlCommand(sql, con);

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataTable dt = new DataTable();

//xuất hoá đơn sang file excel

private void ExportExcel1(DataTable tb, string sheetname)

{

//Tạo các đối tượng Excel

e_excel.Application oExcel = new e_excel.Application();

// Tạo phần đầu nếu muốn

e_excel.Range head = oSheet.get_Range("A1", "E1");

head.MergeCells = true;

head.Value2 = "DANH SÁCH SẢN PHẨM";

head.Font.Bold = true;

Ngày đăng: 24/05/2024, 17:42

TỪ KHÓA LIÊN QUAN

w