Tải bản đầy đủ (.doc) (18 trang)

Báo Cáo Công Nghệ Phần Mềm Quản Lý Cafe Văn Phòng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (550.5 KB, 18 trang )

20
MỤC LỤC
LỜI NÓI ĐẦU 2
PHẦN 1: GIỚI THIỆU VỀ ĐỀ TÀI, NHỮNG ỨNG DỤNG TRONG THỰC TẾ CỦA ĐỀ TÀI,
HƯỚNG PHÁT TRIỂN, 3
0.1 KHẢO SÁT HIỆN TRẠNG THỰC TẾ 3
0.2 Ý nghĩa ứng dụng 3
0.3 Chức năng phần mềm ứng dụng 3
0.4 QUẢN LÝ BÁN HÀNG 4
0.5 THIẾT KẾ CƠ SỞ DỮ LIỆU 4
PHẦN 2: XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG 5
2.1 CÁC FORM CHÍNH CỦA CHƯƠNG TRÌNH 6
2.1.1 FORM ĐĂNG NHẬP 6
6
2.1.2 FORM ĐỔI MẬT KHẨU 6
2.1.3 FORM MAIN 7
2.1.4 FORM MẶT HÀNG 7
2.1.5. FORM HÓA ĐƠN TÍNH TIỀN 8
8
2.1.6 FORM DANH MỤC HÓA ĐƠN 8
2.1.7 FORM DANH MỤC MẶT HÀNG 8
2.1.8 FORM DANH MỤC CHI TIẾT HÓA ĐƠN 9
2.1.9 FORM THỐNG KẾ HÓA ĐƠN THEO NGÀY 9
2.1.10 FORM THỐNG KÊ MẶT HÀNG BÁN CHẠY THEO NGÀY 10
2.2.1 APP CONFIG 10
2.2.1 CODE ĐĂNG NHẬP 10
2.2.3 CODE THỐNG KÊ MẶT HÀNG BÁN CHẠY THEO NGÀY 16
PHẦN 3: TỔNG KẾT 18
3.1. Ưu điểm: 18
3.2. Khuyết điểm: 18
3.3.Hướng phát triển: 18


20
LỜI NÓI ĐẦU
Trong xu thế phát triển hiện nay trên thế giới khoa học và công nghệ luôn có
những thay đổi mạnh mẽ. Một phần trong đó là việc ứng dụng Công Nghệ Thông Tin vào
đời sống hàng ngày của con người. Loài người chúng ta đang hướng tới thiết lập một
hành tinh thông minh. Ngày nay với sự phát triển mạnh mẽ của CNTT kết hợp với sự
phát triển của mạng Internet đã kết nối được toàn thế giới lại với nhau thành một thể
thống nhất. Nó đã trở thành công cụ đắc lực cho nhiều ngành nghề : giao thông, quân sự,
y học, truyền thông…và đặc biệt là trong công tác quản lý nói chung và quản lý quán
Cafe nói riêng.
Trước đây khi máy tính chưa được ứng dụng rộng rãi các công việc quản lý đều
được thực hiện một cách thủ công nên rất tốn thời gian, nhân lực cũng như tài chính.
Ngày nay với sự phát triển mạnh mẽ của công nghệ thông tin đã giúp cho việc quản lý
được thực hiện một cách dễ dàng hơn, giảm chi phí, thời gian…
Qua quá trình khảo sát một vài quán cafe, nhóm chúng em đã xây dựng lên đề tài
quản lý quán Cafe với mong muốn giúp cho việc quản lý được thực hiện một cách dễ
dàng hơn, thuận tiện và giảm thiểu được các sai xót.
Nhờ sự quan tâm, hướng dẫn của Thầy Nguyễn Hà Giang , chúng em đã từng
bước nghiên cứu và vận dụng các kiến thức đã được học để tìm hiểu, phân tích và xây
dựng được chương trình quản lý đáp ứng tương đối một số các yêu cầu đặt ra. Tuy nhiên,
do kiến thức còn hạn chế nên chương trình vẫn không tránh khỏi những thiếu sót. Vì vậy
chúng em rất mong nhận được sự đóng góp ý kiến của tất cả các thầy cô và các bạn để có
thể từng bước xây dựng chương trình ngày càng hoàn thiện và hiệu quả hơn.
Em xin chân thành cảm ơn Thầy đã giúp chúng em.
20
PHẦN 1: GIỚI THIỆU VỀ ĐỀ TÀI, NHỮNG ỨNG DỤNG
TRONG THỰC TẾ CỦA ĐỀ TÀI, HƯỚNG PHÁT
TRIỂN,
0.1 KHẢO SÁT HIỆN TRẠNG THỰC TẾ
Tại các cửa hàng cafe hiện nay với lượng khách càng ngày càng tăng, để phục vụ khách

được tốt hơn, chính xác hơn và nhanh chóng hơn thì chủ cửa hàng muốn từng bước tin học hoá
các khâu quản lí. Đặc biệt là trong công tác kế toán và quản lí hàng hoá. Bởi vì với công tác thủ
công mà cửa hàng đang thực hiện đã bộc lộ nhiều hạn chế như sau:
+ Tra cứu thông tin về hàng hoá, các đại lý cung cấp hàng và khách hàng mất nhiều thời
gian và nhiều khi không chính xác.
+ Lưu trữ thông tin về nhập xuất hàng hoá, về thu chi cần nhiều loại giấy tờ nên cồng
kềnh và không đạt hiệu quả.
+ Cập nhật các thông tin hằng ngày tốn nhiều thời gian và khó khăn trong việc thực hiện
báo cáo thống kê, nhất là khi có sự việc đột xuất.

Trước tình hình đó vấn đề đặt ra là xây dựng một hệ thống thông tin đáp ứng được các
yêu cầu cơ bản sau:
+ Giảm khối lượng ghi chép nhằm lưu trữ thông tin.
+ Cập nhật dữ liệu nhanh chóng, chính xác và kịp thời.
+ Thống kê được số lượng hàng hoá nhập xuất, thu chi và tình hình doanh thu của cửa
hàng.
+ Tự động in các hoá đơn, in ra thống kê
+ Có khả năng lưu trữ thông tin lâu dài, đảm bảo truy vấn nhanh khi cần thiết.
0.2 Ý NGHĨA ỨNG DỤNG
+ Theo dõi quá trình kinh doanh, hoạt động của quán một cách tổng quan, chi tiết…
+ Nắm bắt mọi hoạt động của quán thông qua những báo cáo thống kế trung thực cuối
ngày, tuần, tháng. Giảm thiểu thời gian, chi phí tiền bạc vì không phải thuê quá nhiều nhân công
cho việc quản lý.
+ Lợi nhuận rất cao khi sư chuyên nghiệp được đặt lên hàng đầu.
0.3 CHỨC NĂNG PHẦN MỀM ỨNG DỤNG
+Phiên bản phần mềm quản lý quán cafe có những tính năng đặc thù chuyên biệt quản lý
quán cafe một cách tốt nhất, hiệu quả và tiện lợi.
+ Đây là một giải pháp kinh doanh hiệu quả, giúp cho bạn tiết kiệm được tối đa chi phí,
nhân lực cũng như đưa ra cho bạn một định hướng kinh doanh thông minh.
+ Giao diện và tính năng của phần mềm được thiết kế dựa trên quy trình khảo sát chặt chẽ

trên thực tế từ những quán cafe vừa và nhỏ cho tới những quán cafe lớn.
+ Theo dõi quá trình kinh doanh, hoạt động của quán một cách tổng quan, chi tiết…
+ Nắm bắt mọi hoạt động của quán thông qua những báo cáo thống kế trung thực cuối
ngày, tuần, tháng.
+ Giảm thiểu thời gian, chi phí tiền bạc vì không phải thuê quá nhiều nhân công cho việc
quản lý
20
0.4 QUẢN LÝ BÁN HÀNG
- ACCOUNT
- HOADONMAU
- MATHANG
- CTHD
- HOADON


0.5 THIẾT KẾ CƠ SỞ DỮ LIỆU
Tên trường Kiểu dữ liệu Mô tả
ACCOUNT
USERNAME Varchar(50) Tên đăng nhập
PASSWORD Varchar(50) Mật khẩu
HOADONMAU
20
MAHD Varchar(10) Mã hóa đơn
MAMH Varchar(10) Mã mặt hàng
TENMH Nvarchar(50) Tên mặt hàng
SOLUONG Int Số lượng mặt hàng
DONGIA Float Đơn giá một mặt hàng
PHUTHU Float Phụ thu thêm các chi phí
THANHTIEN Float Thành tiền
HOADON

MAHD Varchar(10) Mã hóa đơn
NGAY Datetime Ngày lập hóa đơn
TONGTG Float Tổng trị giá
MATHANG
MAMH Varchar(10) Mã mặt hàng
TENMH Nvarchar(50) Tên mặt hàng
GHICHU Nvarchar(50) Ghi chú
DVT Nvarchar(50) Đơn vị tính
SOLUONG Int Số lượng
DONGIA Float Đơn giá
CTHD
MAHD Varchar(10) Mã hóa đơn
MAMH Varchar(10) Mã mặt hàng
TENMH Nvarchar(50) Tên mặt hang
SOLUONGBAN Int Số lượng bán
DONGIA Float Đơn giá
PHUTHU Float Phụ thu thêm
THANHTIEN Float Thành tiền
PHẦN 2: XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG
20
2.1 CÁC FORM CHÍNH CỦA CHƯƠNG TRÌNH
2.1.1 FORM ĐĂNG NHẬP

2.1.2 FORM ĐỔI MẬT KHẨU
20
2.1.3 FORM MAIN
2.1.4 FORM MẶT HÀNG
20
2.1.5. FORM HÓA ĐƠN TÍNH TIỀN



2.1.6 FORM DANH MỤC HÓA ĐƠN
2.1.7 FORM DANH MỤC MẶT HÀNG
20
2.1.8 FORM DANH MỤC CHI TIẾT HÓA ĐƠN
2.1.9 FORM THỐNG KẾ HÓA ĐƠN THEO NGÀY
20
2.1.10 FORM THỐNG KÊ MẶT HÀNG BÁN CHẠY THEO NGÀY
2.2 MỘT SỐ ĐOẠN CODE CHÍNH CỦA CHƯƠNG TRÌNH
2.2.1 APP CONFIG
2.2.1 CODE ĐĂNG NHẬP
public partial class Frm_Danhnhap : Form
{
string sqlConnectString = "Data Source=.\\sqlexpress;Initial Catalog=QL_CAFE_VANPHONG;Integrated
Security=True";
SqlConnection sqlCon;
public Frm_Danhnhap()
{
InitializeComponent();
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="ChuoiKetNoi"
connectionString="Data Source=DATLAM-PC\SQLEXPRESS;Initial Catalog=QL_CAFE_VANPHONG;Integrated
Security=True"
20
}
private void btndangnhap_Click(object sender, EventArgs e)

{
try
{
sqlCon = new SqlConnection(sqlConnectString);
sqlCon.Open();
SqlDataAdapter da = new SqlDataAdapter("Select * from ACCOUNT where username ='" +
txttennguoidung.Text + "'", sqlCon);
DataSet ds = new DataSet();
da.Fill(ds);
if (txtmatkhau.Text == ds.Tables[0].Rows[0]["PASSWORD"].ToString())
{
MessageBox.Show("Bạn đã đăng nhập thành công!");
Frm_Main main = new Frm_Main();
main.Show();
this.Hide();
}
else
{
MessageBox.Show("Bạn nhập sai password", "Thông báo", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
this.txtmatkhau.Focus();
this.txtmatkhau.SelectAll();
}
}
catch
{
MessageBox.Show("Bạn nhập sai username", "Thông báo", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
this.txttennguoidung.Focus();
this.txttennguoidung.SelectAll();

this.txtmatkhau.ResetText();
}
finally
{
sqlCon.Close();
}
}
private void btnthoat_Click(object sender, EventArgs e)
{
DialogResult traloi;
traloi = MessageBox.Show("Chắc không?", "Trả lời",MessageBoxButtons.OKCancel,
MessageBoxIcon.Question);
if (traloi == DialogResult.OK)
Application.Exit();
}
private void chkHienthimk_CheckedChanged(object sender, EventArgs e)
{
if (chkHienthimk.Checked == false)
{
txtmatkhau.PasswordChar = '*'; //gán kí tự pass thành '*'
}
else
{
txtmatkhau.PasswordChar = (char)0; //reset hiển thị pass về mặc định
}
}
private void Frm_Danhnhap_Load(object sender, EventArgs e)
{
}
}


2.2.2 MỘT SỐ CODE TRONG HÓA ĐƠN TÍNH TIỀN
public partial class Frm_Hoadontinhtien : Form
{
public Frm_Hoadontinhtien()
{
20
InitializeComponent();
}
// Khai báo biến kiểm tra việc Thêm hay Sửa dữ liệu
bool Them;
private void btnthem_Click(object sender, EventArgs e)
{
this.txtmamh.Enabled = true;
this.txttenmh.Enabled = true;
this.txtsoluong.Enabled = true;
this.txtghichu.Enabled = true;
this.txtdonvitinh.Enabled = true;
this.txtdongia.Enabled = true;
// Kich hoạt biến Them
Them = true;
// Thứ tự dòng hiện hành
int r = dgvdanhsachmathang.CurrentCell.RowIndex;
// Chuyển thông tin lên groupbox
this.txtmamh.Text = dgvdanhsachmathang.Rows[r].Cells[0].Value.ToString();
this.txttenmh.Text = dgvdanhsachmathang.Rows[r].Cells[1].Value.ToString();
this.txtghichu.Text = dgvdanhsachmathang.Rows[r].Cells[2].Value.ToString();
this.txtdonvitinh.Text = dgvdanhsachmathang.Rows[r].Cells[3].Value.ToString();
this.txtsoluong.Text = dgvdanhsachmathang.Rows[r].Cells[4].Value.ToString();
this.txtdongia.Text = dgvdanhsachmathang.Rows[r].Cells[5].Value.ToString();

this.txtsoluong.Focus();
this.txtsoluong.SelectAll();
this.txtsoluong.Text = Convert.ToString(0);
this.lblsl.Enabled = true;
this.lblsl.Text = ("số lượng còn lại:" +dgvdanhsachmathang.Rows[r].Cells[4].Value.ToString());
this.txtmahd.Enabled = false;
this.dateTimePicker1.Enabled = false;
this.txtphuthu.Enabled = false;
this.txtthanhtien.Enabled = false;
this.txttongtien.ResetText();
this.txttongtien.Enabled = false;
this.btnthanhtoan.Enabled = true;
//cho thao tác trên các nút lưu/thoát
this.btnLuu.Enabled = true;
this.btnthoat.Enabled = true;
//không cho thao tác trên các nút xóa/sửa/thêm
this.btnxoa.Enabled = false;
this.btnsua.Enabled = false;
this.btnthem.Enabled = false;
}
private void btnsua_Click(object sender, EventArgs e)
{
// Kích hoạt biến Sửa
Them = false;
// Thứ tự dòng hiện hành
int r = dgvhoadontinhtien.CurrentCell.RowIndex;
this.txtsoluong.Enabled = true;
this.txtsoluong.Text = dgvhoadontinhtien.Rows[r].Cells[3].Value.ToString();
this.txtdongia.Text = dgvhoadontinhtien.Rows[r].Cells[4].Value.ToString();
this.txtsoluong.Focus();

this.txtsoluong.SelectAll();
this.lblsl.Text = ("số lượng còn lại:" +
dgvdanhsachmathang.Rows[r].Cells[4].Value.ToString());
this.txtmahd.Enabled = false;
this.dateTimePicker1.Enabled = false;
this.txtmamh.Enabled = false;
this.txttenmh.Enabled = false;
this.txtdongia.Enabled = false;
this.txtdonvitinh.Enabled = false;
this.txtghichu.Enabled = false;
this.txtphuthu.Enabled = false;
this.txtthanhtien.Enabled = false;
this.txttongtien.Enabled = false;
this.btnthanhtoan.Enabled = true;
//cho thao tác trên các nút lưu/thoát
this.btnLuu.Enabled = true;
this.btnthoat.Enabled = true;
//không cho thao tác trên các nút xóa/sửa/thêm
this.btnxoa.Enabled = false;
this.btnsua.Enabled = false;
20
this.btnthem.Enabled = false;

}
private void btnxoa_Click(object sender, EventArgs e)
{
try
{
if (MessageBox.Show("Bạn có muốn xóa hay không?", "Thông báo", MessageBoxButtons.YesNo,
MessageBoxIcon.Question) == DialogResult.Yes)

{
//Mở kết nối
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
// Thứ tự dòng hiện hành
int r = dgvhoadontinhtien.CurrentCell.RowIndex;
// Mamathang hiện hành
string strmamathang = dgvhoadontinhtien.Rows[r].Cells[1].Value.ToString();
string strxoa = "delete from hoadonmau where mamh='" + strmamathang + "'";
SqlCommand cmd = new SqlCommand(strxoa, conn);
cmd.ExecuteNonQuery();
// Cập nhật lại DataGridView
LoadHoadonmau();
// Thông báo
MessageBox.Show("Đã xóa xong!");
}
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
finally
{
//Đóng kết nối
conn.Close();
}
this.txtmahd.Enabled = false;
this.dateTimePicker1.Enabled = false;
this.txtphuthu.Enabled = false;
this.txtthanhtien.Enabled = false;

this.txttongtien.Enabled = false;
this.btnthanhtoan.Enabled = true;
}
private void btnLuu_Click(object sender, EventArgs e)
{

//Mở kết nối
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
int thanhtien;
int sl = Convert.ToInt32(txtsoluong.Text);
int dongia = Convert.ToInt32(txtdongia.Text);
if (rdbbanngay.Checked == false && rdbbandem.Checked == false)
MessageBox.Show("chưa chọn phụ thu!");
else
{
thanhtien = sl*dongia;
this.txtthanhtien.Text = Convert.ToString(thanhtien);
if (this.rdbbanngay.Checked == true)
txtphuthu.Text = Convert.ToString(thanhtien * 0.05);
if (this.rdbbandem.Checked == true)
txtphuthu.Text = Convert.ToString(thanhtien * 0.1);

// Thêm dữ liệu
if (Them)
{
try
{
string strthem = "Insert Into hoadonmau Values(" + "'" +
this.txtmahd.Text.ToString() + "','" + this.txtmamh.Text.ToString() + "',N'" +

this.txttenmh.Text.ToString() + "','" +
this.txtsoluong.Text.ToString() + "','" +
this.txtdongia.Text.ToString() + "','" +
this.txtphuthu.Text.ToString() + "','" +
20
this.txtthanhtien.Text.ToString() + "')";
SqlCommand cmd = new SqlCommand(strthem, conn);
cmd.ExecuteNonQuery();
// Load lại dữ liệu trên DataGridView
LoadHoadonmau();
// Thông báo
MessageBox.Show("Đã thêm xong!");
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
try
{
// Thứ tự dòng hiện hành
int s = dgvdanhsachmathang.CurrentCell.RowIndex;
// Mamathang hiện hành
string strmamathang = dgvdanhsachmathang.Rows[s].Cells[0].Value.ToString();
int strsl = Convert.ToInt32(dgvdanhsachmathang.Rows[s].Cells[4].Value.ToString())
- Convert.ToInt32(txtsoluong.Text);
string strupdate = "Update mathang Set tenmh=N'" +
this.txttenmh.Text.ToString() + "',ghichu=N'" + this.txtghichu.Text + "',dvt=N'" +
this.txtdonvitinh.Text + "',soluong='" + strsl + "',dongia='" + this.txtdongia.Text + "' Where mamh='" +
strmamathang + "'";
// Cập nhật

SqlCommand cmdmh = new SqlCommand(strupdate, conn);
cmdmh.ExecuteNonQuery();
LoadMathang();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

lblsl.ResetText();
this.btnthanhtoan.Enabled = true;

}
}
if (!Them)
{
try
{
// Thứ tự dòng hiện hành
int hd = dgvhoadontinhtien.CurrentCell.RowIndex;
int mh = dgvdanhsachmathang.CurrentCell.RowIndex;
// Mamathang hiện hành
string strmamh = dgvdanhsachmathang.Rows[mh].Cells[0].Value.ToString();
int a;
int b;
if (Convert.ToInt32(dgvhoadontinhtien.Rows[hd].Cells[3].Value.ToString()) -
Convert.ToInt32(txtsoluong.Text) > 0)
{
a = Convert.ToInt32(dgvhoadontinhtien.Rows[hd].Cells[3].Value.ToString()) -
Convert.ToInt32(txtsoluong.Text);

b = Convert.ToInt32(dgvdanhsachmathang.Rows[mh].Cells[4].Value.ToString()) + a;
}
else
{
a = Convert.ToInt32(txtsoluong.Text) -
Convert.ToInt32(dgvhoadontinhtien.Rows[hd].Cells[3].Value.ToString());
b = Convert.ToInt32(dgvdanhsachmathang.Rows[mh].Cells[4].Value.ToString()) - a;
}
string strupdate = "Update mathang Set tenmh=N'" +
this.txttenmh.Text.ToString() + "',ghichu=N'" + this.txtghichu.Text + "',dvt=N'" +
this.txtdonvitinh.Text + "',soluong='" + b + "',dongia='" + this.txtdongia.Text + "' Where mamh='" +
strmamh + "'";
// Cập nhật
SqlCommand cmdmh = new SqlCommand(strupdate, conn);
20
cmdmh.ExecuteNonQuery();
LoadMathang();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
try
{
// Thứ tự dòng hiện hành
int r = dgvhoadontinhtien.CurrentCell.RowIndex;
// Mamathang hiện hành
string strmamathang = dgvhoadontinhtien.Rows[r].Cells[1].Value.ToString();
// Câu lệnh SQL
string strupdate = "Update hoadonmau Set tenmh=N'" +

this.txttenmh.Text.ToString() + "',soluong='" + this.txtsoluong.Text + "',dongia='" +
this.txtdongia.Text + "',phuthu='" + this.txtphuthu.Text + "',thanhtien='" + this.txtthanhtien.Text + "'
Where mamh='" + strmamathang + "'";
// Cập nhật
SqlCommand cmd = new SqlCommand(strupdate, conn);
cmd.ExecuteNonQuery();
// Load lại dữ liệu trên DataGridView
LoadHoadonmau();
// Thông báo
MessageBox.Show("Đã sửa xong!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
}
this.txtmahd.Enabled = false;
this.dateTimePicker1.Enabled = false;
this.txtphuthu.Enabled = false;
this.txtthanhtien.Enabled = false;
this.txttongtien.Enabled = false;
//mở lại thao tác trên các nút
this.btnLuu.Enabled = false;
this.btnthoat.Enabled = true;
this.btnsua.Enabled = true;
this.btnxoa.Enabled = true;

this.btnthem.Enabled = true;
//reset lại các texbox
this.txtmamh.ResetText();
this.txttenmh.ResetText();
this.txtghichu.ResetText();
this.txtdonvitinh.ResetText();
this.txtsoluong.ResetText();
this.txtphuthu.ResetText();
this.txtdongia.ResetText();
this.txtthanhtien.ResetText();

}
private void btnthoat_Click(object sender, EventArgs e)
{
this.Close();
}
private void btnthanhtoan_Click(object sender, EventArgs e)
{


try
{//tính tiền xuất ra textbox
int sc = dgvhoadontinhtien.Rows.Count;
Int64 tam = 0;
20
for (int i = 0; i < sc - 1; i++)
{
tam += Convert.ToInt64(dgvhoadontinhtien.Rows[i].Cells[5].Value.ToString())
+Convert.ToInt64(dgvhoadontinhtien.Rows[i].Cells[6].Value.ToString());
}

txttongtien.Text = tam.ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
this.txtphuthu.Enabled = false;
this.txtthanhtien.Enabled = false;
this.txttongtien.Enabled = false;
this.txtmahd.Enabled = false;
this.dateTimePicker1.Enabled = false;
this.txtmamh.Enabled = false;
this.txttenmh.Enabled = false;
this.txtsoluong.Enabled = false;
this.txtghichu.Enabled = false;
this.txtdonvitinh.Enabled = false;
this.txtdongia.Enabled = false;
this.txtphuthu.ResetText();
this.txtthanhtien.ResetText();
this.txtdongia.ResetText();
this.txtsoluong.ResetText();
this.txttenmh.ResetText();
this.txtmamh.ResetText();
this.txtghichu.ResetText();
this.txtdonvitinh.ResetText();
//cập nhật vào sql
//mở kết nối
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
try

{
string ishd="Insert Into hoadon Values(" + "'" + this.txtmahd.Text.ToString() + "','" +
this.dateTimePicker1.Text + "','" +
this.txttongtien.Text.ToString() + "')";
SqlCommand cmd = new SqlCommand(ishd,conn);
cmd.ExecuteNonQuery();
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
try
{
string iscthd = "INSERT INTO cthd(mahd,mamh,tenmh,soluongban,dongia,phuthu,thanhtien)
SELECT mahd,mamh,tenmh,soluong,dongia,phuthu,thanhtien FROM hoadonmau";
SqlCommand cmd = new SqlCommand(iscthd,conn);
cmd.ExecuteNonQuery();
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
conn.Close();
}
2.2.3 CODE THỐNG KÊ MẶT HÀNG BÁN CHẠY THEO NGÀY
public partial class Frm_Thongkemathangbanchaytheongay : Form
{
public Frm_Thongkemathangbanchaytheongay()
{
InitializeComponent();

}
20
string connectionString;
SqlConnection conn = new SqlConnection();
DataSet ds;
SqlDataAdapter da;
private void LoadData()
{
connectionString = "Data Source=.\\sqlexpress;Initial Catalog=QL_CAFE_VANPHONG;Integrated
Security=True";
ds = new DataSet();
string query = "select c.mahd,mamh,tenmh,soluongban,ngay from (HOADON H JOIN CTHD C ON
H.MAHD=C.MAHD) where day(NGAY)='" + Convert.ToDateTime(dateTimePicker1.Text).Day + "' and month(NGAY)='" +
Convert.ToDateTime(dateTimePicker1.Text).Month + "' and year(NGAY)='" +
Convert.ToDateTime(dateTimePicker1.Text).Year + "' ";
try
{
SqlConnection conn = new SqlConnection(connectionString);
da = new SqlDataAdapter(query, conn);
da.Fill(ds);
dgvthongtincachd.DataSource = ds.Tables[0].DefaultView;
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
}
private void LoadData2()
{
connectionString = "Data Source=.\\sqlexpress;Initial Catalog=QL_CAFE_VANPHONG;Integrated

Security=True";
ds = new DataSet();
string query = "select top 1 with ties mamh,tenmh,sum(soluongban)as [so luong] from (HOADON H
JOIN CTHD C ON H.MAHD=C.MAHD) where day(NGAY)='" + Convert.ToDateTime(dateTimePicker1.Text).Day + "' and
month(NGAY)='" + Convert.ToDateTime(dateTimePicker1.Text).Month + "' and year(NGAY)='" +
Convert.ToDateTime(dateTimePicker1.Text).Year + "' group by mamh,tenmh order by sum(soluongban) desc ";
try
{
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
da = new SqlDataAdapter(query, conn);
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0].DefaultView;
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
finally
{
conn.Close();
}
}
private void Frm_Thongkemathangbanchaytheongay_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult r;
r = MessageBox.Show("Bạn có thật sự muốn đóng?", "Thông báo!", MessageBoxButtons.YesNo,
MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
if (r == DialogResult.No)
e.Cancel = true;

}
}
}
20
PHẦN 3: TỔNG KẾT
3.1. ƯU ĐIỂM:
 Quản lý được yêu cầu gọi món của khách hàng
 Thanh toán hóa đơn nhanh chóng
 Quản lý được việc xuất nhập kho
 Báo cáo doanh thu theo ngày, tháng
3.2. KHUYẾT ĐIỂM:
− Hệ cơ sở dữ liệu chưa triệt để
− Chưa thực hiện được lập phiếu xuất nhập kho
− Chưa phân quyền người dùng
3.3.HƯỚNG PHÁT TRIỂN:
Tiếp tục nghiên cứu và trau dồi kiến thức, đặc biệt là cơ sở dữ liệu và kỹ thuật lập trinh đề
giải quyết các khuyết điểm trên (Xây dựng lại hệ cơ sở dữ liệu chặt chẽ hơn, code chính
sác hơn)

×