1 / 27

第 14 章 商品销售功能实现

第 14 章 商品销售功能实现. 宋桂岭. 本章要点. 掌握全屏软件布局方法 掌握键盘事件的处理方式 实现商品销售功能. 14.1 功能概述. 进销存系统中的商品销售功能系统一般为独立的软件系统,包括收款、退货、锁屏、操作帮助、挂单、取单、交班等功能。 注意前台收款系统是一个全屏软件,在实际应用中,前台客户端除了本软件,使不允许其他程序运行的,而且全键盘操作,客户端机器一般不配置鼠标. 14.1 功能概述. 涉及数据库表. 14.2 商品销售系统主界面设计.

Download Presentation

第 14 章 商品销售功能实现

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第14章 商品销售功能实现 宋桂岭

  2. 本章要点 • 掌握全屏软件布局方法 • 掌握键盘事件的处理方式 • 实现商品销售功能

  3. 14.1 功能概述 • 进销存系统中的商品销售功能系统一般为独立的软件系统,包括收款、退货、锁屏、操作帮助、挂单、取单、交班等功能。 • 注意前台收款系统是一个全屏软件,在实际应用中,前台客户端除了本软件,使不允许其他程序运行的,而且全键盘操作,客户端机器一般不配置鼠标

  4. 14.1 功能概述 • 涉及数据库表

  5. 14.2 商品销售系统主界面设计 • 打开VS2005,执行“新建”→“项目”命令,新建一个名为HcitPosSale的Windows应用程序 • 在VS2005的解决方案资源管理器中,选择“HcitPosSale”,右键,在下拉菜单中选择“添加”→“新建项”,在弹出的添加新项对话框中选择“Windows窗体”,并将该窗体命名为“FrmMain.cs”

  6. 14.2 商品销售系统主界面设计 • 在VS2005工具箱中选择“容器”选项卡,拖动控件到商品销售窗体上,这里需要四个Panel控件和一个StatusBar控件完成布局

  7. 14.2 商品销售系统主界面设计 • 在panel1容器中添加一个Label控件,将其Dock属性设置为Fill,Font属性设置为“宋体, 26.25pt, style=Bold”,Text属性设置为“淮信POS进销存系统--销售子系统”,TextAlign属性设置为MiddleCenter

  8. 14.2 商品销售系统主界面设计 • 在VS2005工具箱中选择“数据”选项卡,选择DataGridView控件,拖动到panel2容器控件中,设置DataGridView控件的Name属性为gvSaleDetails,AutoSizeColumnsMode属性设置为Fill,Dock属性为Fill,MultiSelect属性设置为False,SelectionMode属性为FullRowSelect

  9. 14.2 商品销售系统主界面设计 • 目前界面截图

  10. 14.2 商品销售系统主界面设计 • 在panel3容器中添加如图所示控件,各个控件的值依次为txtSearch、btnHelp、btnLockScreen、btnTrade、btnReturn、btnOffWork和btnClose

  11. 14.2 商品销售系统主界面设计 • 在panel4容器中添加如图所示控件,将TextBox控件命名为txtTotal

  12. 14.2 商品销售系统主界面设计 • 从VS2005工具箱中选择StatusStrip控件,拖动到销售程序主界面上,可仿照进销存后台程序设置相关信息

  13. 14.3 初始化工作 • 在VS2005的解决方案资源管理器中,选择“HcitPosSale”,右键,在下拉菜单中选择“添加”→“类”,向系统中添加“SysUtility”类 namespace HcitPosSale { public class SysUtility { public static string UserID = "unLogined"; public enum SaleMethod { Sale = 1, Return } } }

  14. 14.3 初始化工作 • 双击“FrmMain.cs”文件,添加如下代码: private void InitDataTableColumn() { dt.Rows.Clear(); dt.Columns.Clear(); dt.Columns.Add("GoodsID", Type.GetType("System.String")); dt.Columns.Add("GoodsName", Type.GetType("System.String")); dt.Columns.Add("BarCode", Type.GetType("System.String")); dt.Columns.Add("SalesCount", Type.GetType("System.Int32")); dt.Columns.Add("GoodsUnit", Type.GetType("System.String")); dt.Columns.Add("Price", Type.GetType("System.Double")); dt.Columns.Add("TotalMoney", Type.GetType("System.Double")); DataColumn[] dc = { dt.Columns["GoodsID"] }; dt.PrimaryKey = dc; }

  15. 14.3 初始化工作 • 在主界面的Load事件中,添加如下代码,从而完成控件初始化工作 private void FrmMain_Load(object sender, EventArgs e) { InitDataTableColumn(); gvSaleDetails.AutoGenerateColumns = false; gvSaleDetails.DataSource = dt; }

  16. 14.4 实现商品录入功能 • 录入商品的操作为:用户输入商品条码后,按回车键,如果该商品为新增商品,则在内存表中新增该商品信息,否则修改该商品的销售数量、销售金额等信息。在添加商品后,通过“G”键将焦点切换到DataGridView控件上,通过上下箭头来选择商品,通过“+”键实现增加当前商品数量,通过“-”键实现减少当前商品数量,具体实现步骤如下:

  17. 14.4 实现商品录入功能 • 在FrmMain类中添加“AddGoods”方法,具体代码参考教材 • 继续添加“ChangeGoodsCount”方法,增加或减少DataGridView控件当前选择行的商品数量,修改销售金额 • 为商品销售主窗体添加“KeyDown”事件,在“FrmMain_KeyDown”中添加如下代码 • 在输入进价或数量后,应能自动计算合计金额,该功能通过设置DataGridView控件的DataBindingComplete事件来实现

  18. 14.5 实现商品销售功能 • 1、在FrmMain类中添加“GenerateSalesID”方法,用于自动生成销售单号 • 2、添加SaleGoods方法,实现销售功能

  19. 14.5 实现商品销售功能 • 3、添加结账找零提示功能对话框,该窗体布局如图所示,TextBox控件命名由上到下为txtTotalMoney、txtRecMoney和txtChange

  20. 14.5 实现商品销售功能 • 为该窗体添加公有方法SetTotalMoney,用于接收来自父窗体的消息 • public void SetTotalMoney(string money) • { • txtTotalMoney.Text = money; • }

  21. 14.5 实现商品销售功能 • 为实收金额的文本输入框控件添加TextChanged事件,实现找零提示功能 • private void txtRecMoney_TextChanged(object sender, EventArgs e) • { • double totalMoney = Convert.ToDouble(txtTotalMoney.Text); • double recMoney = 0; • if (txtRecMoney.Text != "") • recMoney = Convert.ToDouble(txtRecMoney.Text); • txtChange.Text = Convert.ToString(recMoney - totalMoney); • }

  22. 14.5 实现商品销售功能 • 双击“收款”按钮,添加如下代码,实现收款功能 • private void btnTrade_Click(object sender, EventArgs e) • { • FrmChange frm = new FrmChange(); • frm.SetTotalMoney(txtTotal.Text); • frm.ShowDialog(); • SaleGoods(SysUtility.SaleMethod.Sale); • }

  23. 14.5 实现商品销售功能 • 双击“退货”按钮,添加如下代码,实现退货功能 • private void btnReturn_Click(object sender, EventArgs e) • { • FrmChange frm = new FrmChange(); • frm.SetTotalMoney(txtTotal.Text); • frm.ShowDialog(); • SaleGoods(SysUtility.SaleMethod.Return); • }

  24. 14.6 实现锁屏功能 核心代码: private bool CanUnlock() { DbHelper db = new DbHelper(); string select = "select password from usersinfo where userid=@userid"; db.AddParameter("userid", SysUtility.UserID); SqlDataReader dr = db.ExecuteReader(select); if (dr.Read()) { string password = dr["password"].ToString(); if (password == txtPasswd.Text) return true; } return false; }

  25. 14.7 实现系统登录功能 • 打开HcitPos后台系统,选择FrmLogin.cs、FrmLogin.Designer.cs和FrmLogin.resx三个文件,拷贝到前台销售系统HcitPosSale文件夹下 • 在VS2005的解决方案资源管理器中,选择“HcitPosSale”,右键,在下拉菜单中选择“添加”→“添加现有项”,在弹出的对话框中同时选中拷贝过来三个文件,将之添加到当前系统中。

  26. 14.7 实现系统登录功能 • 3、切换到FrmMain主窗体,修改该窗体的Load事件为如下代码: • private void FrmMain_Load(object sender, EventArgs e) • { • FrmLogin frm = new FrmLogin(); • frm.ShowDialog(); • InitDataTableColumn(); • gvSaleDetails.AutoGenerateColumns = false; • gvSaleDetails.DataSource = dt; • }

  27. 本章小结 • 本章讲述了超市POS进销存系统中前台销售子系统的实现过程。该子系统由于要安装到不同的客户端上,因此将之开发为一个独立的应用程序。由于在实际运行环境中,客户端没有鼠标,因此本章内容涉及了窗体的键盘事件处理这一新知识点。 • 至此,超市POS进销存系统前后台的开发过程已经介绍完毕,读者可以结合源代码反复练习,并认真体会开发流程

More Related