餐饮管理系统说明文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
餐饮管理系统说明文档
1.应用程序初始化
头文件:MyPos.h
主要变量:登陆的用户名name,密码pwd,数据库连接参数m_pConnection。
初始化函数:InitInstance
补充说明:因为是Ado编程(要使用ADO前必须在工程的stdafx.h文件最后用直接引入符号#import引入ADO库文件,以使编译器能正确编译。
代码如下#import"C:\ProgramFiles\commonfiles\system\ado\msado15.dll"no_namespace rename"EOF","adoEOF"),则在程序启动的时候就要对Ado进行初始化,并连接数据库。
如果初始化成功,则启动登陆框,如果用户输入的用户名和密码正确,则显示主窗口CMyPosDlg。
2.登陆对话框
头文件:LogonDlg.h,类为CLogonDLg
变量:m_pwd和m_logid分别代表输入的密码和用户名
_RecordsetPtr类型变量,属于智能指针类,是ADO在VC++编程中对Recordset对象的一个包装类。
登陆的消息相应函数为OnOK。
当登陆成功后转到MyPosDlg窗口
3.主窗口MyPosDlg
头文件:MyPosDlg.h
变量:分页类(m_oTab1,也即下面四个窗口的载体,后面还会用到)。
统计报表窗口(m_oStatdlg),基础资料窗口(m_oBasedlg),系统维护窗口(m_oSysmtdlg),前台销售窗口(m_oPosdlg)
说明:当用户登录成功时,首先打开前台销售窗口,然后判断用户的权限,看是否有权限打开剩下的窗口。
4.分页类CTabSheet
头文件: TabSheet.h
说明:根据用户的权限控制打开几个tab,也即上面所说的几个窗口。
每个函数的作用我在头文件里做了简单的说明。
5.前台销售页面CPosDlg
头文件:PosDlg.h
变量:左面的空白为一个CListBox,右面的空白为CListCtrl,还有九个CEidt变量
系统启动的时候只显示状态不是“已结账”的账单,如下图:
窗口左面的ListBox为订单的编号,编号组成分为两部分,”-”前面为开单的日期,后面为5位的数字序列,从1开始往后每个单据加1..右面的表格为其中某单据的详细内容,也即菜单的内容.上面的edit编辑空间分别显示桌号,就餐人数,开单时间,结帐人员,单据状态和结帐的时间信息.下面的三个edit分别显示和金额,折扣等信息.
当打开一个单据时,在右面的表格里面还可以操作进行修改菜单的数量,或者再增加新的菜.双击一个选中的菜比如肉丝面,则会蹦出一个修改数量的对话框(CModifyqaDlg),便可修改其数量.如下图:
单击表格的空白部分的一个按钮,则会蹦出菜单的对话框(CSelectDlg,该类比较典型,使用了listctrl和treectrl,这两个变量在后面要用到多次.用来读取类别和商品资料.其中的OnSelchangedTreeSclass(单击treetrle时触发),addtree(将根类别加入到treectrl里)和
addsubtree(将子类别加入到treectrl里)是比较重要的.要熟练运用),可以再对菜单进行选择.如下图所示:
单击选择一种菜单,然后点击选择,即修改了菜单.
另外,窗口下面的按钮提供了开单,销单,掉单,查找等一系列的功能.
下面分别介绍如下.
F1开单:点击开单后则左面的ListBox则添加一个单据.此时用户就可以对桌号,人数,菜单的详细内容进行添加.系统自动保存所有的信息.在文件中对应的函数为: OnButtonAddf() F2销单:点击销单后会弹出一个警告框让用户确认是否要销单.当用户确定时,则删除选中的单据.对应函数:OnButtonDelf()
F3: 掉单。
可以根据单据的编号对单据进行查找(CCallDlg)。
并在右边的表中进行显示,只能显示非“等待”和“挂账”状态的单据。
对应函数OnButtonCallf()
F4:隐单。
和调单对应可以将已结账状态的单据不显示,对应函数OnButtonHidef() F5:结账.弹出结账窗口(CCheckDlg).付钱找零,将单据的状态改成已结账.对应函数: OnButtonCheckf().对应界面如下:
F6:查找.根据桌号查找单据(CCallDlg).对应函数OnButtonFindf()
F7:开钱箱.函数缺.
F8:本地打印功能.对应函数OnButtonLocalp()
F9:厨房打印.函数缺
F10-:下班(COffdutyDlg).对单据收钱等信息进行核对.关闭系统.对应函数: OnButtonOff().界面如下:
6.统计报表页面CStatDlg
头文件:StatDlg.h
变量: CDateTimeCtrl m_oSdate; //统计的起始日期
CDateTimeCtrl m_oOdate;//统计的终止日期
//ListBox的标题。
要么是“销售报表”要么是“单位报表”
CEdit m_oListtitle;
//报表显示的位置
CListBox m_oListreport;
//起始日期的具体时间
CEdit m_oSt;
//终止日期的时间
CEdit m_oOt;
界面如下
当radiobox选择销售报表时,右边listbox显示一定日期范围内的已结账的总钱数,并将在时间范围之内的结账的单据详细内容显示出来,包括所有单据就餐的总人数和单据的数量.最后显示还没有结账的单据编号和应结的钱数.如下图所示:
上图查询2008-3-3到2008-3-6之间的销售报表.
统计销售报表在文件中对应的处理函数为SumBillTotal.
当radiobox选择单品报表时,右边listbox显示这段时间内所有点的菜还有其数量.该功能在文件中对应的函数为: SumSingleItem. 显示如下图所示:
7.基础资料窗口CBaseDlg
头文件:BaseDlg.h
变量:
CTabSheet m_oTabBase;//可以容纳多个窗口的tab,相当于载体
//商品类别窗口
CClassDlg m_oClassdlg;
//商品资料窗口
CMaterielDlg m_oMaterieldlg;
//付款方式窗口
CPaymodeDlg m_oPaymodedlg;
说明:基础资料包括了三个字窗口:商品类别,商品资料,付款方式.下面逐一介绍.
商品类别窗口CClassDlg.
头文件:CClassDlg.h
功能:显示类别的名称.增加新的类别.修改类别名称.增加一个子类别.删除类别(只能删除最底层的类别,根节点不能删除.有子类别的不能删除.类别下面有商品的也不可以删除).各个函数的功能作用已写在代码里面了.
商品资料窗口CMaterielDlg
头文件:MaterielDlg.h
功能:显示每个类别下面的所有商品资料.还可以添加某一类别的资料,也可以删除修改商品资料.每个函数的作用功能已写在代码里面了.
付款方式窗口CPaymodeDlg
头文件:PaymodeDlg.h
功能:显示用户可以使用的付款方式.也可以添加和删除新的付款方式.付款方式编辑矿在初始的时候是隐藏的.显示界面如下.
当点击新增按钮时,出现编辑框.如下图所示
8.系统维护窗口CSysmtDlg
头文件: SysmtDlg.h
说明:该类和基础资料窗口类似,都是一个tabsheet上面加载了其他的窗口.可以对照基础资料窗口来学习
变量:
CTabSheet m_oTabBase;//可以容纳多个窗口的tab,相当于载体
//用户资料窗口
CUserDlg m_oUserdlg;
//系统设置窗口
CSyssetDlg m_oSyssetdlg;
//清除数据窗口
CCleardataDlg m_oCleardlg;
用户资料窗口CUserDlg
头文件:UserDlg.h
说明:由于编辑框比较多,很容易混淆.权限也分了九个,也很容易搞乱,这是要注意的.可以对照前台销售窗口进行学习,里面的很多函数和前面大部分都是雷同的.不外增加用户,修改用户资料,点击一个用户时将用户的资料读入到编辑框里.函数的作用我已经写在代码里了系统设置窗口:CSyssetDlg
头文件:SyssetDlg.h
说明:所谓的系统设置,也只是设置的楼层号和公司的名称.没有什么特殊的函数.
清除数据窗口CCleardataDlg
头文件:CleardataDlg.h
变量:起始日期和终止日期。