基于Web Service的无线餐饮管理系统.doc
《基于Web Service的无线餐饮管理系统.doc》由会员分享,可在线阅读,更多相关《基于Web Service的无线餐饮管理系统.doc(75页珍藏版)》请在咨信网上搜索。
案例1 基于Web Service的无线餐饮管理系统 1.1现行系统概述 1.1.1 开发背景 春景海鲜酒楼位于烟台市莱山区黄海路附近,面积500平方米,近20个雅间,一个零点大厅,可容乃300人就餐,菜品以本地海鲜、鲁菜、家常菜为主,客源以政府、机关、事业单位团体等为主,春景酒楼以其海鲜、鲁菜特色和决策层完善的经营理念,占领着烟台市餐饮行业的很大部分市场。 1.1.2组织结构分析 目前,春景海鲜酒楼主要划分为六个部门:经理部、人事部、餐厅部、后厨部、财务部、后勤部。春景海鲜酒楼组织结构图如图1-1所示。 图1-1 春景海鲜酒楼组织结构图 各个部门的岗位划分及职责如下: 经理部设有总经理一个,副经理两个。副经理分别管理人事部、餐厅部、后厨部和财务部、后勤部。经理部的主要职责:负责酒楼员工的任职、财务管理、酒楼经营及高层决策等工作。 人事部设有人事主管一个。人事部的主要职责:负责制定和实施酒楼人才资源规划;机构设置与编制管理;人事管理的规章制度建设;人员调配工作;员工人事任免、业绩考核、劳资发放等工作。 餐厅部设有餐厅主管一个。餐厅主管下设前厅领班、楼层领班、跑菜主管、酒水主管和吧台各一个。主要工作人员有迎宾员、服务员、跑菜员、酒水员。餐厅部的主要职责:负责酒楼的迎宾接待、前台点菜、传菜、酒水提供等工作。 后厨部设有行政总厨一个。行政总厨下设厨师长一个,厨师长下设炉头主管、冷菜主管、配菜主管、点心主管各一个,主要工作人员有蒸煲厨师、冷菜厨师、配菜厨师、点心厨师。后厨部的主要职责:负责酒楼的菜例拟定、菜例制作分工及菜例制作等工作。 财务部设有财务主管一个,主要工作人员有库管员、收银员和会计。负责酒楼的收银结账、财务管理等工作。 后勤部设有后勤主管一个,主要工作人员有采购员、维护员、保洁员。负责酒楼的原料采购、设施维护和卫生管理等工作。 1.1.3现行系统运行状况分析 烟台市春景海鲜酒楼目前使用的系统,主要有人事管理、预定管理、点菜管理、财务管理四个功能模块,分别负责了人事管理、预定接待、顾客点菜、财务上报等功能。虽然现行系统已经脱离了传统的手动操作,在一定程度上减轻了工作人员的劳动强度,但现行系统各功能之间信息不能很好的交互处理,并未充分体现餐饮业务处理的智能化和人性化;其次,现行系统是基于C/S结构的客户机/服务器模式,软件使用时每台计算机都要装上客户端,这样既占用了终端计算机CPU资源,又给软件升级带来了不便;最后,会员管理功能在现有系统功能中并未体现,已经不适应现代餐饮行业经营管理中客户关系管理理念的要求。所以需要重新开发一个系统来辅助管理者,提高管理效率和酒楼的经营效益。 1.2系统需求分析 1.2.1 系统目标与需求分析 新系统的设计宗旨是方便厨房与前台和服务生之间的信息交流,酒店管理人员可以通过此系统了解厨房工作人员的工作情况,并能实时监控当前餐厅的预定情况、上座情况、就餐客人数量、每桌客人消费金额、消费明细,还包括整个餐厅当前收银结算的情况和收入明细等。 ⒈ 预定接待 ⑴ 远期预订:可提前任意天、周、月、年预订,记录客人的姓名、到达时间、预订的时间、餐台和订金及预订菜品、及客人特别交代的事项。 可以查询预订、取消预订和打印预订表,可以避免餐台的重复预订和漏订,支持同一餐台不同时间多次预订,可以方便地从已建立的客户资料中选择预订客户。 ⑵ 餐台状态查看:实时动态显示餐台状态和历史预订信息,可以方便切换预订时间,快速查看预订情况,并可按所有餐台、已预订餐台、未预订餐台过滤显示。 ⑶ 预订人抵达后可自动开台,所预订菜品和订金自动转入。 ⒉ 前台管理 ⑴ 开台点菜:包括开台、换台、并台、退台,支持一台多账单,可实时动态显示餐台状态,包括点菜、退菜、加菜、催菜、等叫等功能,可按菜品编码、拼音字头、菜品名称、菜品类别等多种方式点菜,提高了点菜速度。 ⑵ 收银结账:支持现金、会员储值卡的混合结账。支持按菜品打折、整账单会员打折(按预设的打折方式执行),支持预订订金转结账。 ⑶ 换班交接:可记录当班情况,查询已结账单和未结账单,打印班结表。 ⒊ 后厨分单打印 ⑴ 分单:分单就是要解决哪道菜由哪个厨房制作的问题。前台点完菜后,软件会自动按照预先的设定自动进行分单,即不同的菜品按照设定由不同的厨房打印机进行打印。 (2) 打单:厨房打印机配备网络打印服务器,用以支持远程打印,只有打过单子的菜才说明厨房已经开始制作了。 (3) 出菜:菜品制作完毕,传菜部通过扫描条码确认出菜,扫过单子的菜品说明已经在送菜的途中了。 (4) 特殊情况:服务员用手持点菜机或前台管理软件点菜时,将客人所点的菜品分为“即起”与“等叫”两种状态,“即起”就是立即制作,“等叫”是指等客人叫上菜时才开始制作,这些信息都会在厨房制作单上打印出来。同时客人如有催菜信息,通过终端操作,系统会自动打印提示信息以提示后厨加紧制作该菜。 1.2.2系统开发方法的选择 在系统开发的早期,由于缺乏系统开发思想,没能形成工程的概念,以至于60年代出现了所谓“软件危机”,也促使了一门新科学——“软件工程”的诞生。管理信息系统工作者对信息系统的开发提出了许多开发方法,其中常用的有结构化法(Structured Development)、原型法(Prototyping Development)、面向对象法(Object-Oriented Development)三种。 ⒈ 结构化法 结构化法是基于系统的思想,系统工程的方法,以用户至上为原则,采用结构化、模块化等手段对信息系统进行分析、设计和实施。在实际开发过程中,对应于系统开发的一般过程(见图1),主要应用的结构化设计方法有结构化分析(Structured Analysis),结构化设计(Structured Design),结构化编程(Structured Program)。 ⒉ 原型法 原型法与传统的生命周期法LC相比摈弃了一步步周密细致地调查、分析、整理文档、再进行逻辑设计、物理设计等繁琐过程而快速构造系统的物理原型。但是,并不能说开发人员用原型法就没有一个分析、设计、实施的过程。实际上开发人员在运用原型法时有意识或无意识地对系统进行了一个分析、设计、比较的过程,才能快速构造一个原型系统,这个原型系统蕴含着开发人员分析、设计、比较的思路,只不过开发人员直接用物理模型表达了对系统的理解,而省却了结构化法中的大量的文档资料。 ⒊ 面向对象法 面向对象法(OO)是近年来发展起来的一种系统开发方法, 它与原型方法的设计与实现有一定的共同之处。不同的是,面向对象法是一种从系统调查分析之后就开始面向对象进行分析的开发方法。它强调系统设计之前的系统分析,强调以系统中的数据或信息为主线,全面、系统、详尽地描述系统的信息,建立系统的信息模型,指导系统的设计。面向对象法按系统开发的一般过程分为面向对象分析(OOA)、面向对象设计(OOD)、面向对象编程(OOP)。 由于本系统是我院自行开发,以前也没开发过类似系统,而结构化系统开发方法强调系统开发过程的整体性和全局性,强调在整体优化的前提下考虑具体设计的问题,即自顶向下的开发方法。严格的区分系统开发的各个阶段,强调一步一步的进行严格的系统设计和分析,对每一步工作及时总结,发现问题及时反馈和纠正,避免了开发过程的混乱状态,在目前被广泛采用。所以本系统的开发方法采用了结构化开发方法。 1.2.3系统开发的可行性研究 在新的系统开发之前,要进行可行性研究,主要包括技术可行性、经济可行性和社会可行性三方面。 ⒈ 技术可行性研究 先进的软件技术、数据库技术和网络技术作为计算机技术的一部分在过去的几十年中都得到了迅猛的发展,这为本系统的开发提供了技术后盾。本系统开发基于.Net框架的管理信息系统架构;设计模式采用MVC,开发环境采用微软的Microsoft Visual Studio 2005,应用服务器选择IIS Web服务器,数据库选择Microsoft SQL Server 2005;在技术上讲有一定的挑战性,但具有很高的研究价值。 ⒉ 经济可行性研究 在现代的餐饮行业,餐饮经营管理仍是一项比较繁重的工作,把点菜、预定、财务等的工作交给计算机来处理,充分利用计算机运算速度快的优势来减轻工作人员的负担,成为一项亟待解决的问题。实现酒店经营的信息化,可以大大减轻酒店工作和管理人员的负担,节省大量的人力、物力。而且本系统系本校自己研究开发,拥有版权。 ⒊ 社会可行性研究 本系统的使用者都是计算机能力很低的工作人员,本系统开发时充分考虑了用户的操作习惯,系统运行时尽量减少数据的键盘录入,界面通过浏览器输出,其中的无线点菜系统,是运用比较常见的PDA作为客户端运行环境,可以用笔触方式进行操作,简单易懂。本系统开发前的准备活动、开发以及系统的运行等活动不违反现行的法律法规,没有对他人的专利、版权构成侵犯,与现行的管理制度没有冲突。 1.3结构化系统分析 1.3.1系统业务流程分析 本章主要列出各分系统的主要业务流程,以体现本酒楼管理信息系统的主要业务及部门之间的数据关系,为系统分析提供依据。业务流程参考图例参见图1-2。 图1-2 业务流程图参考图例 ⒈ 会员管理业务流程 业务描述:顾客可持春景海鲜酒楼消费结账单到柜台办理会员卡,会员卡可以当成储值卡使用,可充值、兑现,系统会根据会员累计消费金额升级会员等级。业务流程图如图1-3所示。 图1-3 会员管理业务流程图 ⒉ 预定管理业务流程 业务描述:接待顾客前台预定,登记预定信息。业务流程图如图1-4所示。 图1-4 预定管理业务流程图 ⒊ 无线点菜业务流程 业务描述:顾客进店,服务员安排入座,顾客点菜后,服务员通过手持终端提交点菜清单至后厨打印机分单打印和柜台打印机上菜清单打印。业务流程图如图1-5所示。 图1-5 无线点菜业务流程图 ⒌ 收银结账业务流程 业务描述:顾客消费结束后,到柜台结账,顾客可凭会员卡享受相应折扣优惠。业务流程图如图1-6所示。 图1-6 收银结账业务流程图 1.3.2数据流程分析 数据流程分析是对业务流程的抽象,数据流程图从数据传递和加工的角度,以图形的方式刻画数据流输入、输出、存储和处理的逻辑关系。数据流程图是结构画系统分析的主要工具,它表示了系统内部信息的流程,并表示系统的逻辑处理的功能,也称逻辑数据流程图。用到的基本图例参考,见图1-7。 本系统的分层数据流程图参见图1-8至图1-14。 图1-7 数据流程图参考图例 图1-8 餐饮管理系统顶层数据流程图 图1-9 餐饮管理系统第一层数据流程图 图1-10 预订管理数据流程图 图1-11 无线点菜数据流程图 图1-12 无线点菜第二层数据流程图 图1-13 收银结账数据流程图 图1-14 会员管理数据流程图 1.3.3数据字典 本系统的数据字典的例子如表1-1至1-6所示。(条目尽可能多些) 1.4结构化系统设计 1.4.1系统总体结构设计 综合考虑改进后的系统逻辑模型和设计系统原则、目标的要求,绘制新系统的系统总体设计功能结构图参见图1-15。 图1-15 系统总体设计功能结构图 1.4.2数据库设计 数据库设计是系统设计的核心。数据库系统应具有数据的共享性、数据的安全保密性、数据的完整性。数据库数据一般要经过概念结构设计、逻辑结构设计、物理结构设计。 ⒈ 概念结构设计 概念设计是在数据分析的基础上,自底向上建立整个系统的数据库概念结构。本系统用实体联系模型(E-R图)进行数据库概念设计,E-R图参见图1-16,实体属性图参见图1-17。 图1-16 系统E-R图 图1-17 实体属性图 ⒉ 逻辑结构设计 逻辑设计的任务是把E-R模型所表示的概念结构转换为关系模型,即把概念结构转换为相应的逻辑结构。根据图1-16的系统E-R图进行逻辑结构设计,设计结构如下: (1) 房间区域 (区域编码、区域名称) (2) 房间类型 (房间类型编码、房间类型、初始消费) (3) 餐台 (餐台编码、餐台名称、房间类型、所在区域、容纳人数) (4) 菜例类别 (菜例类别编码、菜例类别) (5) 厨师(厨师编码、员工编码、所在窗口) (6) 菜例 (菜例编码、菜例名称、菜例简拼、菜例类别、计价单位、成本单价、销售单价、服务员提成比例、打折比例) (7) 菜例制作 (菜例编码、厨师编码) (8) 点菜备注 ( 备注编码、菜例备注) (9) 退菜说明 (说明编码、退菜说明) (10) 预定时段 (时段编码、时段名称、起始时间、终止时间) (11) 用餐时段表 (时段编码、餐台编码、餐台状态) (12) 餐台预定参考表 (餐台编码、预定日期、时段编码、预定状态) (13) 部门(部门编码、部门名称、备注) (14) 岗位 (岗位编码、岗位名称、职责、备注) (15) 会员等级 (等级编码、等级名称、享受折扣比例、积分下线) (16) 员工档案 ( 员工编码、员工姓名、姓名简拼、性别、出生日期、身份证号、籍贯、所属部门、所任岗位、入职日期、在职状态、联系方式) (17) 员工调动台帐( 员工编码、原始部门、调入部门、所任岗位、调动日期) (18) 会员档案 ( 会员编码、会员姓名、姓名简拼、性别、出生日期、 账户余额、会员等级、当前累计积分、办理日期、会员状态、联系方式) (19) 消费清单表 ( 消费清单编码、会员编码、清单状态、餐台编码、消费数量、顾客人数、进店时间、离店时间、应收金额、实收金额、结账单金额、收银员) (20) 消费清单详细表 (消费项目编码、消费清单编码、菜例编码、上菜状态、菜例数量、金额、厨师编码、点菜时间、上菜时间、点菜备注、退菜说明、服务员) (21) 预定清单 ( 预定清单编码、顾客姓名、性别、预定状态、联系方式、预定餐台、预定日期、预定时段、预抵时间、取消时间、预定押金、顾客留言、顾客人数) ⒊ 物理结构设计 物理设计的目的是确定数据库的物理储存结构。设计结构参照表1-7至表1-13。 1.4.3代码设计 代码设计是一种科学管理的问题,合理的代码设计将便于管理人员的管理工作和用户查询。代码就是以数字或者字符来代替各种客观实体。 本系统中的重要代码有会员编码、消费清单编码等这些编码的编码方式都是层次码。 ⑴ 本系统的会员编码格式为:XX XXXXXXXX XX 其中 XX为“hy”,XXXXXXXX代表会员办理日期,XX代表会员顺序编号。 例如:hy2009051701表示会员2009051701的办理日期为2009年05月17日。 ⑵ 本系统的消费清单编码格式为:XX XXXXXXXX XX 其中 XX为“xf”,XXXXXXXX代表消费日期,XX代表账单顺序编号。 例如:xf2009051701表示消费单2009051701登记日期为2009年05月17日。 1.4.4输入输出设计 ⒈ 输出设计 输出是由计算机对输入的原始信息进行加工处理,形成高质量的有效信息,并使之具有一定的格式,提供管理者使用,这是输出设计的主要职责和目标。计算机系统对输入的数据进行加工处理的结果,只有通过输出才能为用户所使用。输出形式的好坏也要影响到系统的功能。输出的信息要精确、及时、直观、易为用户所接受。 在报表设计中,本系统采用了水晶报表软件,可以把报表输出的和上报格式一模一样,从而减轻了管理人员的工作量。下面给出了营业报表汇总统计报表的输出设计界面,参见图1-17所示。 图1-17 营业报表汇总统计 ⒉ 输入设计 输入设计担负着将系统外的数据以一定的格式送入计算机的任务。输入设计的一条重要原则是确保系统输入的信息准确无误,还应做到输入方法简单、迅速、经济及方便用户。图1-18给出了手持终端无线点菜的输入设计界面。 图1-18 无线点菜终端-选择菜例 1.4.5模块功能与处理过程设计 以预定接待流程处理为例,其处理流程如图1-19所示。 图1-19 预定接待处理流程图 1.4.6信息系统安全设计 下面从系统架构设计、角色及用户权限控制、数据库访问等方面分析本系统如何保障数据和系统的安全。 ⒈ 系统架构设计安全性 本系统采用三层系统架构,由显示层、中间层、数据层组成。每层的功能清楚,层与层之间不能跨越,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,中间层经过ADO.NET实现对数据层的数据进行访问,实现了显示、数据、逻辑的分开,减少了耦合度。ASP.NET在网页中使用基于事件的处理,显示层的页面代码和后台的代码分离。.NET中可以方便地实现组件的装配,后台代码通过命名控件可以方便地使用自己定义的组件。显示层放在ASP页面中,数据库操作和业务逻辑用组件来实现,方便地实现了三层架构,减少入口点,防止客户端被破坏而给数据库带来损失的风险,保证系统的安全。 ⒉ 角色及用户权限控制 ASP.NET应用的安全性系统利用ASP.Net与Microsoft Internet信息服务联合起来协同工作提供了优秀的安全控制,包括身份验证和权限控制两部分。身份验证是对发送请求信息的用户进行身份识别,一旦验证通过,权限控制程序就会决定用户是否有权限访问所调用的资源。ASP.NET支持三种类型的身份验证,分别是Windows身份验证、表单身份验证、Passport身份验证。基于表单的验证,是三种验证方式中最灵活的一种。基于表单的验证服务使用Session来验证用户,Session是一小段文本信息,伴随着用户请求和页面在Web服务器和浏览器之间传递,用户每次访问站点时,Web应用程序都可以读取Session包含的信息。在登录页面中,用户输入用户名和密码,提交该页面送回服务器,应用程序根据存储在数据库中的数据来验证请求,用户通过验证后,ASP.NET发出一个Session,里面包括了为此用户产生的一个有效的身份票据,该身份票据是用户进行系统访问的“通行证”。在随后发出的请求页面的请求报头里包含此Session,假如没有通过验证则用户被重新定位到登录页面。 ⒊ 数据库访问安全性 数据库访问的安全性在基于网络的系统中,用户的信息安全是非常重要的,一旦用户的密码被盗取后,系统的数据和整个数据库也就不安全了,通过对用户的口令加密可以解决这个问题,用户密码不以明文的方式存储在数据库中,而是存储它们加密后的版本。当需要对用户进行验证时,只是对用户的口令再进行加密,然后把它与数据库中的加密口令进行比较即可。 1.4.7网络系统方案设计 系统网络拓扑结构图,参见图1-20。 图1-20 网络拓扑结构图 1.5系统主要界面与核心代码 1.5.1系统主界面 本系统的主界面参见图1-21。 图1-21 系统主界面 1.5.2 基础数据界面 ⒈ 餐台设置 图1-22 餐台设置界面(注:宽图的宽度13厘米,高度合适) ⒉ 菜例管理 图1-23 菜例管理界面 图1-22和图1-23中的“插入”按钮均使用 中FormView控件集成的“插入”事件代码。 1.5.3 主要业务界面 ⒈ 顾客开台 图1-24 顾客开台界面 图1-24中“开台”按钮的代码如下:(注意字号五号,注意缩进,注释尽可能多) if (GridView1.SelectedIndex != -1) //当选择项不为空时 { (注意字号小五号,行距10,注意缩进) Label Labelt = (Label)GridView1.SelectedRow.FindControl("Label6"); if (Labelt.Text != "空闲") //如果选中项的餐台状态不是空闲状态 { MsgAlert("当前餐台已经占用或者被预定,不能开台!"); } else //如果选中项的餐台状态是空闲状态 { ObjectDataSource5.Insert(); //此处调用存储过程“p_sell_list_add“ GridView1.DataBind(); } } else { MsgAlert("请先选择餐台!"); } 其中,存储过程“p_sell_list_add”的创建代码如下: create procedure [dbo].[p_sell_list_add] @order_time_code varchar(2), @desk_code varchar(4), @person_count int as declare @sell_list_code varchar(12) //声明消费编码变量 declare @current_date varchar(8) declare @index_code varchar(4) declare @start_money decimal(8,1) begin set @current_date=(select convert(varchar(12),getdate(),112)) //格式化当前日期字符串,如果当前日期是2009年7月6日,格式化后变成20090706 select @sell_list_code=max(sell_list_code) from t_sell_list where substring(sell_list_code,1,8)= @current_date if (@sell_list_code is null) //如果数据表中没有记录,定义初始消费编码。 begin set @sell_list_code=@current_date+'0001' end else //数据表中已经有记录的情况下 begin if(substring(@sell_list_code,1,8)<>@current_date) //如果数据表中没有当天的数据记录,定义初始消费编码。 begin set @sell_list_code=@current_date+'0001' end else//如果数据表中已经有当天的数据记录,系统将进行自动编码。 begin set @index_code=substring(@sell_list_code,9,4) set @index_code=@index_code+1 while(len(@index_code)<4) begin set @index_code='0'+@index_code //当序号编码,即消费编码的后四位,如果相加之后不满足四位,进行补“0”处理。 end set @sell_list_code=@current_date+@index_code //拼消费编码,即当天日期格式化后字符串连接序号编码。 end end set @start_money=(select start_money from v_desk where desk_code=@desk_code) //读取餐台初始消费价格。 insert into t_sell_list//向消费清单表中添加记录。 (sell_list_code, desk_code, person_count, totle_money) values (@sell_list_code, @desk_code, @person_count, @start_money) update t_desk_time set desk_state='占用' where desk_code=@desk_code and order_time_code=@order_time_code //增加记录后,将当前餐台的使用状态改为“占用”状态。 end ⒉ 终端点菜 图1-25 终端点菜界面 图1-25中“确定”按钮的代码如下: if (myMobileService.InsertSellDetail( frmFoodlist.sell_list_code, myMobileService.GetFoodById(frmFoodlist.food_code).Tables[0].Rows[0][3].ToString(), comboBox2.Text.ToString(), Convert.ToInt32(numericUpDown1.Value.ToString()), frmEnter.operator_code, comboBox1.Text.ToString())>-1) //调用存储过程:p_sell_detail_add //如果点菜成功,即向消费清单详细表中添加记录成功。 { frmFoodlist frmfoodlist = new frmFoodlist();//实例化窗体“frmFoodlist” frmfoodlist.Show(); this.Hide(); } 其中,存储过程“p_sell_detail_add”的创建代码如下: create PROCEDURE [dbo].[p_sell_detail_add] @sell_list_code varchar(12), @food_code varchar(4), @food_state varchar(4), @food_count int, @staff_code varchar(4), @order_remark_name varchar(20) AS declare @sell_item_code varchar(12) declare @out_price decimal(8,1) declare @food_discount decimal(3, 2) BEGIN select @sell_item_code=max(sell_item_code) //项目自动编号 from t_sell_detail //读取数据表记录中字段“sell_item_code”的最大编码 if (@sell_item_code is null) begin set @sell_item_code='000000000001' end else begin set @sell_item_code=@sell_item_code+1//对消费清单详细表中项目编码字段进行累加处理。 while(len(@sell_item_code)<12) begin set @sell_item_code='0'+@sell_item_code //当项目编码相加之后不满足12位,进行补“0”处理。 end end set @out_price=(select out_price from t_food where food_code=@food_code) //读取菜例价格 set @food_discount=(select food_discount from t_food where food_code=@food_code) //读取菜例的折扣 insert into t_sell_detail//向消费清单详细表中添加记录 (sell_item_code, sell_list_code, food_code, food_state, food_count, staff_code, totle_money, order_remark_name) values(@sell_item_code, @sell_list_code, @food_code, @food_state, @food_count, @staff_code, @food_count*@out_price*@food_discount,@order_remark_name) update t_sell_list set foods_count=(select sum(food_count) from t_sell_detail where sell_list_code=@sell_list_code),totle_money=(select sum(totle_money) from t_sell_detail where sell_list_code=@sell_list_code) where sell_list_code=@sell_list_code //更新消费帐单表 END 1.5.4 主要查询界面 ⒈ 菜例管理 图1-26 菜例管理界面 图1-26中“检索”按钮的代码如下: if (TextBox8.Text == "") //如果文本框为空,将检索所有记录。 { GridView1.DataSourceID = "ObjectDataSource4"; GridView1.DataBind(); } else //如果文本框不为空,将检索出菜例简拼匹配的记录。 { GridView1.DataSourceID = "ObjectDataSource1"; GridView1.DataBind(); } ⒉ 挂账处理 图1-27 挂账处理界面 图1-27中“检索”按钮的代码如下: if (TextBox9.Text == "" && DropDownList1.SelectedValue=="非会员") //如果文本框为空,且下拉框选择项为“非会员”,将读取所有挂账类型为非会员的记录。 { GridView2.DataSourceID = "ObjectDataSource4"; GridView2.DataBind(); } if (TextBox9.Text != "" && DropDownList1.SelectedValue == "非会员") //如果文本框不为空,且下拉框选择项为“非会员”,将读取挂账类型为非会员姓名与文本框匹配的记录。 { GridView2.DataSourceID = "ObjectDataSource5"; GridView2.DataBind(); } if (TextBox9.Text == "" && DropDownList1.SelectedValue == "会员") //如果文本框为空,且下拉框选择项为“会员”,将读取所有挂账类型为会员的记录。 { GridView2.DataSourceID = "ObjectDataSource6"; GridView2.DataBind(); } if (TextBox9.Text != "" && DropDownList1.SelectedValue == "会员") //如果文本框不为空,且下拉框选择项为“会员”,将读取挂账类型为会员姓名与文本框匹配的记录。 { GridView2.DataSourceID = "ObjectDataSource7"; GridView2.DataBind(); } 1.5.5报表 ⒈ 顾客消费打印账单 图1-28 顾客消费打印账单界面 图1-28中“打印预览”按钮的代码如下: string para_sell_list_code; para_sell_list_code = TextBox8.Text.ToString(); ReportDocument rdnew = new ReportDocument();//实例化报表对象 hztj dshygl = new hztj();//实例化数据集对象 hztjTableAdapters.v_sell_printTableAdapter adpsell = new hztjTableAdapters.v_sell_printTableAdapter();//实例化适配器对象 adpsell.Fill(dshygl.v_sell_print, para_sell_list_code); //填充数据集 rdnew.Load(Server.MapPath("~/report/sell_list_print.rpt"));//定位消费清单报表模板位置 rdnew.SetDataSource(dshygl); //绑定报表数据集 this.CrystalReportViewer1.ReportSource = rdnew; //赋值于报表数据源 ⒉ 营业报表汇总统计 图1-29 营业报表汇总统计界面 图1-29中“汇总统计”按钮的代码如下: ReportDocument rdnew= new ReportDocument();//实例化报表对象 hztj dshygl = new hztj(); hztjTableAdapters.v_sell_listTableAdapter adpsell = new hztjTableAdapters.v_sell_listTableAdapter();//实例化适配器对象 if (DropDownList1.SelectedValue == "全部") //如果下拉框中选择的是“全部”,将读取清单状态为挂账和已结状态的记录。 { adpsell.FillBy(dshygl.v_sell_list, Convert.ToDateTime(this.TextBox8.Text), Convert.ToDateTime(this.TextBox1.Text)); } else //此时根据下拉框选择的状态,即清单状态读取数据记录。 { adpsell.Fill(dshygl.v_sell_list, Convert.ToDateTime(this.TextBox8.Text), Convert.ToDateTime(this.TextBox1.Text), this.DropDownList1.SelectedValue.ToString()); } rdnew.Load(Server.MapPath("~/report/manager_money_hztj.rpt")); rdnew.SetDataSource(dshygl); this.CrystalReportViewer1.ReportSource = rdnew;附录资料:WebGIS超详细版复习资料 WebGIS复习资料 第一章 绪论 WebGIS的基本概念(熟悉 n GIS+WWW=Web GIS n Web GIS是指基于Internet平台进行信息发布、数据共享、交流协作 n Web GIS由多主机、多数据库、多终端,通过Internet/I- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Web Service的无线餐饮管理系统 基于 Web Service 无线 餐饮 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【可****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【可****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文