Giới thiệu phần mềm quản lý bán vàng Trong thời đại số ngày nay, việc áp dụng công nghệ vào quản lý là một yếu tố cực kỳ quan trọng cho sự phát triển và tối ưu hóa hoạt động của doanh ng
Trang 1TRƯỜNG ĐẠI HỌC QUY NHƠN
KHOA CÔNG NGHỆ THÔNG TIN
Trang 2Chương 1 Giới thiệu phần mềm quản lý bán vàng
-Chương 2 Thiết kế cơ sở dữ
liệu -Chương 3 Thiết kế giao
1 Màn hình đăng
1.1 Thành phần của chức năng đăng
nhập -a Nút đăng
nhập -b Nút
thoát -1.2 Màn hình đăng
1.1 Thành phần của chức năng đăng
ký -a Nút đăng
ký -b Nút đăng
2 Màn hình
3 Màn hình hóa
3.1 Thành phần trong màn
hình -a Nút thêm hóa
đơn -b Nút hủy hóa
đơn -c Nút lưu hóa
đơn -d Nút
4 Tìm kiếm hóa
4.1 Thành phần trong màn
a Nút tìm kiếm -
b Nút
5 Danh mục nhân
viên -2
Trang 35.1 Thành phần trong màn hình -
a Nút
b Nút
c Nút
d Nút
e Nút
6 Danh mục khách
6.1 Thành phần trong màn
a Nút
b Nút
c Nút
d Nút
e Nút
7 Danh mục sản
7.1 Thành phần trong màn
a Nút
b Nút
c Nút
d Nút
e Nút
III Đánh giá và kết
1 Kết quả đạt
2 Hạn chế
-IV Lời cảm
ơn -3
Trang 4Chương 1 Giới thiệu phần mềm quản lý bán vàng
Trong thời đại số ngày nay, việc áp dụng công nghệ vào quản lý là một yếu
tố cực kỳ quan trọng cho sự phát triển và tối ưu hóa hoạt động của doanh nghiệp Điều này cũng áp dụng cho các mô hình kinh doanh nhỏ và trung bình Một trong những lĩnh vực cần chú trọng đến việc ứng dụng công nghệ là quản lý bán vàng
Phần mềm quản lý bán vàng đã được phát triển để đáp ứng nhu cầu quản lý hiệu quả và tối ưu hoạt động của các cửa hàng và doanh nghiệp trong ngành kinh doanh vàng Với việc sử dụng phần mềm này, bạn có thể nâng cao năng suất làm việc, tiết kiệm thời gian và tăng tính chính xác trong quản lý bán vàng
Phần mềm quản lý bán vàng giúp bạn quản lý thông tin khách hàng mua vàng, danh sách sản phẩm vàng, thông tin nhân viên và các đơn hàng bán vàng Nócung cấp các tính năng như thêm, sửa, xóa thông tin, tìm kiếm nhanh chóng và báocáo tổng quan về doanh thu
Với việc áp dụng phần mềm quản lý bán vàng, bạn có thể nâng cao hiệu quả quản lý, tối ưu hóa quy trình làm việc và tăng cường khả năng cạnh tranh trong lĩnh vực kinh doanh vàng
Quản lý thông tin khách hàng: Phần mềm cho phép bạn lưu trữ và quản lý thông tin chi tiết về khách hàng, bao gồm tên, địa chỉ, số điện thoại Điều này giúp
4
Trang 5bạn xác định và xây dựng mối quan hệ lâu dài với khách hàng, tăng khả năng tiếp cận và chăm sóc khách hàng.
Quản lý danh sách sản phẩm vàng: Bạn có thể nhập thông tin về các sản phẩm vàng mà bạn đang bán, bao gồm mô tả, giá cả, số lượng và thông tin khác Điều này giúp bạn dễ dàng xem và kiểm tra tồn kho, cung cấp thông tin chi tiết chokhách hàng và tăng tính chính xác trong quá trình bán hàng
Quản lý nhân viên: Phần mềm cho phép bạn ghi lại thông tin về nhân viên, bao gồm tên, tên nhân viên và hồ sơ cá nhân Bạn có thể theo dõi hiệu suất làm việc của nhân viên, phân công nhiệm vụ và quản lý lịch làm việc hiệu quả
Quản lý đơn hàng bán vàng: Bạn có thể tạo và quản lý đơn hàng bán vàng một cách dễ dàng và tiện lợi Phần mềm giúp bạn theo dõi trạng thái đơn hàng, ghi lại thông tin thanh toán và tạo báo cáo về doanh thu Điều này giúp bạn có cái nhìntổng quan về hoạt động kinh doanh vàng của mình
Phần mềm quản lý bán vàng mang đến sự tiện ích, tăng cường khả năng cạnh tranh và nâng cao hiệu quả quản lý trong lĩnh vực kinh doanh vàng Bằng cách sử dụng công nghệ, bạn có thể nhanh chóng thích nghi với thị trường thay đổi
và đáp ứng nhu cầu khách hàng một cách tốt nhất
5
Trang 6Chương 2 Thiết kế cơ sở dữ liệu
Chương 3 Thiết kế giao diện 1.1 Màn hình đăng nhập:
6
Trang 7Hình 3.1 Màn hình đăng nhập
1.1Các thành phần trong màn hình
Tài khoản Textbox Người dùng nhập Tài khoản
Mật khẩu Textbox Người dùng nhập Mật Khẩu
Đăng nhập button Đăng nhập khi người dùng nhập đúng và đầy đủ thông tinĐăng ký button Chuyên tới trang đăng ký
Thoát button Thoát khỏi màn hình đăng nhập
a Câu lệnh cho nút đăng nhập
private void btnDn_Click(object sender, EventArgs e)
{
string connectionString = "Data
Source=ADMIN-PC\\SQLEXPRESS;Initial Catalog=QLNV;Integrated Security=True";
string taikhoan = txttk.Text;
string matkhau = txtmk.Text;
// Tạo chuỗi kết nối với tên đăng nhập và mật khẩu
SqlConnectionStringBuilder builder = new
Trang 8conn.Open();
// Kiểm tra xem tài khoản và mật khẩu có tồn tại trong bảng 'nv' hay không
string query = "SELECT COUNT(*) FROM nv WHERE taikhoan =
@taikhoan AND matkhau = @matkhau";
SqlCommand cmd = new SqlCommand(query, conn);
}
}
catch (SqlException ex)
{
// Xử lý lỗi khi không thể kết nối hoặc đăng nhập thất bại
MessageBox.Show("Đăng nhập thất bại Vui lòng kiểm tra lại tên đăng nhập và mật khẩu!");
}
8
Trang 9}
}
b Câu lệnh cho nút Thoát:
private void btnThoat_Click(object sender, EventArgs e)
Họ và tên Textbox Người dùng nhập Họ và tên
Tài khoản Textbox Người dùng nhập Tài khoản
Mật khẩu Textbox Người dùng nhập Mật Khẩu
Nhập lại mật khẩu Textbox Người dùng nhập Nhập lại Mật Khẩu Đăng nhập button Chuyển tới trang Đăng nhập
Đăng ký button Lưu thông tin của người đăng nhập lên database Câu lệnh cho nút Đăng ký:
private void btnDangKy_Click(object sender, EventArgs e)
{
string manv = txtmanv.Text;
9
Trang 10string taikhoan = txttk.Text;
string tennv = txtHoTen.Text;
string matkhau = txtmk.Text;
string nhaplaimatkhau = txtnlmk.Text;
string connectionString = "Data
Source=ADMIN-PC\\SQLEXPRESS;Initial Catalog=QLNV;Integrated Security=True";
// Kiểm tra xem mật khẩu và nhập lại mật khẩu có khớp nhau hay không
// Tạo chuỗi kết nối
using (SqlConnection conn = new SqlConnection(connectionString)) {
try
{
// Mở kết nối
conn.Open();
// Kiểm tra xem tài khoản đã tồn tại trong bảng 'nv' chưa
string checkQuery = "SELECT COUNT(*) FROM nv WHERE taikhoan = @taikhoan";
SqlCommand checkCmd = new SqlCommand(checkQuery, conn); checkCmd.Parameters.AddWithValue("@taikhoan", taikhoan); int existingCount = (int)checkCmd.ExecuteScalar();
// Thêm tài khoản vào bảng 'nv'
string insertQuery = "INSERT INTO nv (taikhoan, tennv, matkhau, manv) VALUES (@taikhoan, @tennv, @matkhau, @manv)";
SqlCommand insertCmd = new SqlCommand(insertQuery, conn); insertCmd.Parameters.AddWithValue("@taikhoan", taikhoan); insertCmd.Parameters.AddWithValue("@tennv", tennv);
insertCmd.Parameters.AddWithValue("@matkhau", matkhau);
10
Trang 11insertCmd.Parameters.AddWithValue("@manv", manv); int rowsAffected = insertCmd.ExecuteNonQuery();
}
}
Câu lệnh cho nút Đăng nhập
private void btnDangnhap_Click(object sender, EventArgs e)
{
// Ẩn form đăng ký
this.Hide();
// Tạo mới một phiên bản của Form1
Form1 formDangNhap = new Form1();
// Hiển thị form đăng nhập
formDangNhap.Show();
}:
11
Trang 122.Màn hình chính:
2.1
Hóa Đơn menustrip Cho người dùng truy cập vào mục hóa đơnTìm Kiếm menustrip Cho người dùng truy cập vào mục tìm kiếm hóa đơnDanh Mục menustrip Cho người dùng chọn các mục sản phẩm, nhân viên,
khách hàng, hàng hóaMặt hàng menustrip Cho người dùng truy cập vào mục mặt hàngNhân viên menustrip Cho người dùng truy cập vào mục nhân viênKhách hàng menustrip Cho người dùng truy cập vào mục khách hàngSản phẩm menustrip Cho người dùng truy cập vào mục hàng hóaThoát menustrip Quay lại trang đăng nhập
2 Câu lệnh truy cập vào bảng hóa đơn:
12
Trang 13private void hóaĐơnToolStripMenuItem_Click(object sender, EventArgs e) {
Thông tin chung
Label1 Label Hiển thị “Hóa đơn bán hàng”groupBox1 GroupBox Thông tin chung
13
Trang 14Label4 Label Mã nhân viên
cbbMaNhanVien ComboBox Nhập mã nhân viên
Label5 Label Tên nhân viên
txtTenNhanVien TextBox Nhập tên nhân viên
Label6 Label Mã khách hàng
cbbMakh ComboBox Nhập mã khách hàng
Label7 Label Tên khách hàng
txtDiaChi TextBox Nhập địa chỉ của khách hàng
mtbDienThoai TextBox Nhập số điện thoại của khách hàng
Thông tin mặt hàng
cbbMaHang ComboBox Nhập mã hàng cần lên đơn
txtSoLuong TextBox Nhập số lượng cần lên đơn
txtTenHang TextBox Nhập tên hàng
txtGiamGia TextBox Nhập số giảm giá
txtDonGia TextBox Hiển thị số tiền của sản phẩm Label15 Label Thành tiền
txtThanhTien TextBox Hiển thị số tiền của đơn
dgvHDBanHang DataGridView Hiển thị đơn hàng
Label16 Label Tổng tiền
txtTongTien TextBox Hiển thị số tiền cần thanh toánbtnThem Button Thêm hóa đơn
btnLuu Button Lưu hóa đơn
bnthuy Button Hủy hóa đơn
btnInHoaDon Button In hóa đơn
btnDong Button Đóng màn hình hóa đơn
cbbmahd ComboBox Nhập mã hóa đơn
Câu lệnh thêm hóa đơn:
private void btnThem_Click_2(object sender, EventArgs e)
{
string strConnection = "Data Source=ADMIN-PC\\SQLEXPRESS; Initial Catalog=QLNV; Integrated Security=True";
14
Trang 15if (string.IsNullOrEmpty(txtmahd.Text) || string.IsNullOrEmpty(cbbmanv.Text) || string.IsNullOrEmpty(cbbmakh.Text) || string.IsNullOrEmpty(txtthanhtien.Text) || string.IsNullOrEmpty(txttongtien.Text))
MessageBox.Show("Thêm hóa đơn thành công.");
// Xóa các trường nhập liệu sau khi thêm thành công
txtmahd.Text = "";
cbbmanv.Text = "";
15
Trang 16Câu lệnh xóa hóa đơn:
private void btnHuy_Click(object sender, EventArgs e)
{
// Kiểm tra xem có dòng nào được chọn không
if (dgvhoadon.CurrentRow != null)
{
// Lấy giá trị của cột khóa chính từ dòng hiện tại
string mahd = dgvhoadon.CurrentRow.Cells["mahd"].Value.ToString(); // Xóa hóa đơn khỏi cơ sở dữ liệu
16
Trang 17string strConnection = "Data Source=ADMIN-PC\\SQLEXPRESS; Initial Catalog=QLNV; Integrated Security=True";
using (SqlConnection connection = new SqlConnection(strConnection)) {
connection.Open();
string query = "DELETE FROM hoadon WHERE mahd = @mahd"; SqlCommand command = new SqlCommand(query, connection); command.Parameters.AddWithValue("@mahd", mahd);
int rowsAffected = command.ExecuteNonQuery();
if (rowsAffected > 0)
{
MessageBox.Show("Hủy hóa đơn thành công.");
// Load lại danh sách hóa đơn lên DataGridView
3 Câu lệnh truy cập vào bảng tìm kiếm:
private void tìmKiếmToolStripMenuItem_Click(object sender, EventArgs e) {
{
formtimkiemhoadon formtimkiemhoadon = new formtimkiemhoadon();
17
Trang 18}
}
4.Bảng tìm kiếm hóa đơn:
Label1 Label Mã hóa đơn
txtMaHDBan TextBox Nhập mã hóa đơn
dgvTKHoaDon DataGridView Hiển thị hóa đơn tìm đượcbtnTimKiem Button Tìm kiếm hóa đơn theo yêu cầubtnDong Button Đóng màn hình tìm kiếmCâu lệnh cho nút tìm kiếm:
string selectedHoaDon = cbbmahd.SelectedItem?.ToString();
if (selectedHoaDon != null)
{
// Kết nối đến cơ sở dữ liệu
18
Trang 19string strConnection = "Data Source=ADMIN-PC\\SQLEXPRESS; Initial Catalog=QLNV; Integrated Security=True";
using (SqlConnection connection = new SqlConnection(strConnection)) {
connection.Open();
// Truy vấn dữ liệu từ bảng hoadon dựa trên mã hóa đơn
string query = "SELECT * FROM hoadon WHERE mahd = @mahd"; SqlCommand command = new SqlCommand(query, connection); command.Parameters.AddWithValue("@mahd", selectedHoaDon); SqlDataReader reader = command.ExecuteReader();
// Kiểm tra nếu có dữ liệu tìm thấy
MessageBox.Show("Không tìm thấy dữ liệu.");
dgvtimkiem.DataSource = null; // Xóa dữ liệu có sẵn trên DataGridView }
reader.Close();
}
19
Trang 204 Câu lệnh truy cập vào bảng mặt hàng:
private void MatHangToolStripMenuItem_Click(object sender, EventArgs e)
Trang 21Tên Kiểu Mô tả
Label1 Label Danh mục nhân viên
Label2 Label Mã nhân viên
txtMaNhanVien TextBox Nhập mã nhân viên
Label3 Label Tên nhân viên
txtTenNhanVien TextBox Nhập tên nhân viên
txtDiaChi TextBox Nhập địa chỉ của nhân viênLabel5 Label Điện thoại
Txtdienthoai txtbox Nhập số điện thoại của nhân viên
txtngaysinh txtbox Nhập ngày sinh của nhân viên
chkGioiTinh cbb Chọn giới tính nam
dgvNhanVien DataGridView Hiển thị thông tin nhân viênbtnThem Button Thêm thông tin nhân viên mớibtnSua Button Sửa thông tin nhân viênbtnXoa Button Xóa thông tin nhân viênbtnLuu Button Lưu thông tin nhân viênbtnDong Button Đóng màn hình nhân viênCâu lệnh cho nút thêm:
private void btnThem_Click(object sender, EventArgs e)
21
Trang 22SqlConnection conn = null;
string strConnection = "Data Source=ADMIN-PC\\SQLEXPRESS; Initial Catalog=QLNV; Integrated Security=True";
MessageBox.Show("Thêm nhân viên thành công.");
// Xóa các trường nhập liệu sau khi thêm thành công
22
Trang 23Câu lệnh cho nút sửa:
private void btnSua_Click(object sender, EventArgs e)
{
// Mở khóa bảng dgvKhachHang để cho phép sửa
dgvnv.ReadOnly = false;
}
Câu lệnh cho nút xóa:
private void btnXoa_Click(object sender, EventArgs e)
Trang 24string manv = dgvnv.SelectedRows[0].Cells["manv"].Value.ToString(); // Xóa hàng ngang dựa trên mã nhân viên
for (int i = 0; i < dgvnv.Rows.Count; i++)
// Xóa dòng khỏi cơ sở dữ liệu
string strConnection = "Data Source=ADMIN-PC\\SQLEXPRESS; Initial Catalog=QLNV; Integrated Security=True";
using (SqlConnection connection = new SqlConnection(strConnection)) {
connection.Open();
string query = "DELETE FROM nv WHERE manv = @manv"; SqlCommand command = new SqlCommand(query, connection); command.Parameters.AddWithValue("@manv", manv);
int rowsAffected = command.ExecuteNonQuery();
Trang 25Câu lệnh cho nút lưu:
private void btnLuu_Click(object sender, EventArgs e)
{
// Lưu dữ liệu từ DataGridView lên cơ sở dữ liệu
foreach (DataGridViewRow row in dgvnv.Rows)
{
if (!row.IsNewRow) // Kiểm tra không phải dòng mới
{
// Lấy thông tin từ mỗi dòng trong DataGridView
string maNV = row.Cells["manv"].Value.ToString();
string tenNV = row.Cells["tennv"].Value.ToString();
string gioiTinh = row.Cells["gioitinh"].Value.ToString();
string ngaySinh = row.Cells["ngaysinh"].Value.ToString();
string diaChi = row.Cells["diachi"].Value.ToString();
string dienThoai = row.Cells["dienthoai"].Value.ToString();
// Lưu thông tin vào cơ sở dữ liệu
string query = "UPDATE nv SET tennv = @tennv, gioitinh = @gioitinh, ngaysinh = @ngaysinh, diachi = @diachi, dienthoai = @dienthoai WHERE manv =
Trang 26SqlCommand command = new SqlCommand(query, connection); command.Parameters.AddWithValue("@tennv", tenNV); command.Parameters.AddWithValue("@gioitinh", gioiTinh); command.Parameters.AddWithValue("@ngaysinh", ngaySinh); command.Parameters.AddWithValue("@diachi", diaChi); command.Parameters.AddWithValue("@dienthoai", dienThoai); command.Parameters.AddWithValue("@manv", maNV); command.ExecuteNonQuery();