收藏 分销(赏)

基于Web Service的无线餐饮管理系统.doc

上传人:可**** 文档编号:4224793 上传时间:2024-08-26 格式:DOC 页数:75 大小:3.90MB
下载 相关 举报
基于Web Service的无线餐饮管理系统.doc_第1页
第1页 / 共75页
基于Web Service的无线餐饮管理系统.doc_第2页
第2页 / 共75页
基于Web Service的无线餐饮管理系统.doc_第3页
第3页 / 共75页
基于Web Service的无线餐饮管理系统.doc_第4页
第4页 / 共75页
基于Web Service的无线餐饮管理系统.doc_第5页
第5页 / 共75页
点击查看更多>>
资源描述

1、案例1 基于Web Service的无线餐饮管理系统1.1现行系统概述1.1.1 开发背景春景海鲜酒楼位于烟台市莱山区黄海路附近,面积500平方米,近20个雅间,一个零点大厅,可容乃300人就餐,菜品以本地海鲜、鲁菜、家常菜为主,客源以政府、机关、事业单位团体等为主,春景酒楼以其海鲜、鲁菜特色和决策层完善的经营理念,占领着烟台市餐饮行业的很大部分市场。1.1.2组织结构分析目前,春景海鲜酒楼主要划分为六个部门:经理部、人事部、餐厅部、后厨部、财务部、后勤部。春景海鲜酒楼组织结构图如图1-1所示。图1-1 春景海鲜酒楼组织结构图各个部门的岗位划分及职责如下:经理部设有总经理一个,副经理两个。副经

2、理分别管理人事部、餐厅部、后厨部和财务部、后勤部。经理部的主要职责:负责酒楼员工的任职、财务管理、酒楼经营及高层决策等工作。人事部设有人事主管一个。人事部的主要职责:负责制定和实施酒楼人才资源规划;机构设置与编制管理;人事管理的规章制度建设;人员调配工作;员工人事任免、业绩考核、劳资发放等工作。餐厅部设有餐厅主管一个。餐厅主管下设前厅领班、楼层领班、跑菜主管、酒水主管和吧台各一个。主要工作人员有迎宾员、服务员、跑菜员、酒水员。餐厅部的主要职责:负责酒楼的迎宾接待、前台点菜、传菜、酒水提供等工作。后厨部设有行政总厨一个。行政总厨下设厨师长一个,厨师长下设炉头主管、冷菜主管、配菜主管、点心主管各一

3、个,主要工作人员有蒸煲厨师、冷菜厨师、配菜厨师、点心厨师。后厨部的主要职责:负责酒楼的菜例拟定、菜例制作分工及菜例制作等工作。财务部设有财务主管一个,主要工作人员有库管员、收银员和会计。负责酒楼的收银结账、财务管理等工作。后勤部设有后勤主管一个,主要工作人员有采购员、维护员、保洁员。负责酒楼的原料采购、设施维护和卫生管理等工作。1.1.3现行系统运行状况分析烟台市春景海鲜酒楼目前使用的系统,主要有人事管理、预定管理、点菜管理、财务管理四个功能模块,分别负责了人事管理、预定接待、顾客点菜、财务上报等功能。虽然现行系统已经脱离了传统的手动操作,在一定程度上减轻了工作人员的劳动强度,但现行系统各功能

4、之间信息不能很好的交互处理,并未充分体现餐饮业务处理的智能化和人性化;其次,现行系统是基于C/S结构的客户机/服务器模式,软件使用时每台计算机都要装上客户端,这样既占用了终端计算机CPU资源,又给软件升级带来了不便;最后,会员管理功能在现有系统功能中并未体现,已经不适应现代餐饮行业经营管理中客户关系管理理念的要求。所以需要重新开发一个系统来辅助管理者,提高管理效率和酒楼的经营效益。1.2系统需求分析1.2.1 系统目标与需求分析新系统的设计宗旨是方便厨房与前台和服务生之间的信息交流,酒店管理人员可以通过此系统了解厨房工作人员的工作情况,并能实时监控当前餐厅的预定情况、上座情况、就餐客人数量、每

5、桌客人消费金额、消费明细,还包括整个餐厅当前收银结算的情况和收入明细等。 预定接待 远期预订:可提前任意天、周、月、年预订,记录客人的姓名、到达时间、预订的时间、餐台和订金及预订菜品、及客人特别交代的事项。可以查询预订、取消预订和打印预订表,可以避免餐台的重复预订和漏订,支持同一餐台不同时间多次预订,可以方便地从已建立的客户资料中选择预订客户。 餐台状态查看:实时动态显示餐台状态和历史预订信息,可以方便切换预订时间,快速查看预订情况,并可按所有餐台、已预订餐台、未预订餐台过滤显示。 预订人抵达后可自动开台,所预订菜品和订金自动转入。 前台管理 开台点菜:包括开台、换台、并台、退台,支持一台多账

6、单,可实时动态显示餐台状态,包括点菜、退菜、加菜、催菜、等叫等功能,可按菜品编码、拼音字头、菜品名称、菜品类别等多种方式点菜,提高了点菜速度。 收银结账:支持现金、会员储值卡的混合结账。支持按菜品打折、整账单会员打折(按预设的打折方式执行),支持预订订金转结账。 换班交接:可记录当班情况,查询已结账单和未结账单,打印班结表。 后厨分单打印 分单:分单就是要解决哪道菜由哪个厨房制作的问题。前台点完菜后,软件会自动按照预先的设定自动进行分单,即不同的菜品按照设定由不同的厨房打印机进行打印。(2) 打单:厨房打印机配备网络打印服务器,用以支持远程打印,只有打过单子的菜才说明厨房已经开始制作了。(3)

7、 出菜:菜品制作完毕,传菜部通过扫描条码确认出菜,扫过单子的菜品说明已经在送菜的途中了。(4) 特殊情况:服务员用手持点菜机或前台管理软件点菜时,将客人所点的菜品分为“即起”与“等叫”两种状态,“即起”就是立即制作,“等叫”是指等客人叫上菜时才开始制作,这些信息都会在厨房制作单上打印出来。同时客人如有催菜信息,通过终端操作,系统会自动打印提示信息以提示后厨加紧制作该菜。1.2.2系统开发方法的选择在系统开发的早期,由于缺乏系统开发思想,没能形成工程的概念,以至于60年代出现了所谓“软件危机”,也促使了一门新科学“软件工程”的诞生。管理信息系统工作者对信息系统的开发提出了许多开发方法,其中常用的

8、有结构化法(Structured Development)、原型法(Prototyping Development)、面向对象法(Object-Oriented Development)三种。 结构化法结构化法是基于系统的思想,系统工程的方法,以用户至上为原则,采用结构化、模块化等手段对信息系统进行分析、设计和实施。在实际开发过程中,对应于系统开发的一般过程(见图1),主要应用的结构化设计方法有结构化分析(Structured Analysis),结构化设计(Structured Design),结构化编程(Structured Program)。 原型法原型法与传统的生命周期法LC相比摈弃了

9、一步步周密细致地调查、分析、整理文档、再进行逻辑设计、物理设计等繁琐过程而快速构造系统的物理原型。但是,并不能说开发人员用原型法就没有一个分析、设计、实施的过程。实际上开发人员在运用原型法时有意识或无意识地对系统进行了一个分析、设计、比较的过程,才能快速构造一个原型系统,这个原型系统蕴含着开发人员分析、设计、比较的思路,只不过开发人员直接用物理模型表达了对系统的理解,而省却了结构化法中的大量的文档资料。 面向对象法面向对象法(OO)是近年来发展起来的一种系统开发方法, 它与原型方法的设计与实现有一定的共同之处。不同的是,面向对象法是一种从系统调查分析之后就开始面向对象进行分析的开发方法。它强调

10、系统设计之前的系统分析,强调以系统中的数据或信息为主线,全面、系统、详尽地描述系统的信息,建立系统的信息模型,指导系统的设计。面向对象法按系统开发的一般过程分为面向对象分析(OOA)、面向对象设计(OOD)、面向对象编程(OOP)。由于本系统是我院自行开发,以前也没开发过类似系统,而结构化系统开发方法强调系统开发过程的整体性和全局性,强调在整体优化的前提下考虑具体设计的问题,即自顶向下的开发方法。严格的区分系统开发的各个阶段,强调一步一步的进行严格的系统设计和分析,对每一步工作及时总结,发现问题及时反馈和纠正,避免了开发过程的混乱状态,在目前被广泛采用。所以本系统的开发方法采用了结构化开发方法

11、。1.2.3系统开发的可行性研究 在新的系统开发之前,要进行可行性研究,主要包括技术可行性、经济可行性和社会可行性三方面。 技术可行性研究先进的软件技术、数据库技术和网络技术作为计算机技术的一部分在过去的几十年中都得到了迅猛的发展,这为本系统的开发提供了技术后盾。本系统开发基于.Net框架的管理信息系统架构;设计模式采用MVC,开发环境采用微软的Microsoft Visual Studio 2005,应用服务器选择IIS Web服务器,数据库选择Microsoft SQL Server 2005;在技术上讲有一定的挑战性,但具有很高的研究价值。 经济可行性研究在现代的餐饮行业,餐饮经营管理仍

12、是一项比较繁重的工作,把点菜、预定、财务等的工作交给计算机来处理,充分利用计算机运算速度快的优势来减轻工作人员的负担,成为一项亟待解决的问题。实现酒店经营的信息化,可以大大减轻酒店工作和管理人员的负担,节省大量的人力、物力。而且本系统系本校自己研究开发,拥有版权。 社会可行性研究本系统的使用者都是计算机能力很低的工作人员,本系统开发时充分考虑了用户的操作习惯,系统运行时尽量减少数据的键盘录入,界面通过浏览器输出,其中的无线点菜系统,是运用比较常见的PDA作为客户端运行环境,可以用笔触方式进行操作,简单易懂。本系统开发前的准备活动、开发以及系统的运行等活动不违反现行的法律法规,没有对他人的专利、

13、版权构成侵犯,与现行的管理制度没有冲突。1.3结构化系统分析1.3.1系统业务流程分析本章主要列出各分系统的主要业务流程,以体现本酒楼管理信息系统的主要业务及部门之间的数据关系,为系统分析提供依据。业务流程参考图例参见图1-2。图1-2 业务流程图参考图例 会员管理业务流程业务描述:顾客可持春景海鲜酒楼消费结账单到柜台办理会员卡,会员卡可以当成储值卡使用,可充值、兑现,系统会根据会员累计消费金额升级会员等级。业务流程图如图1-3所示。图1-3 会员管理业务流程图 预定管理业务流程业务描述:接待顾客前台预定,登记预定信息。业务流程图如图1-4所示。图1-4 预定管理业务流程图 无线点菜业务流程业

14、务描述:顾客进店,服务员安排入座,顾客点菜后,服务员通过手持终端提交点菜清单至后厨打印机分单打印和柜台打印机上菜清单打印。业务流程图如图1-5所示。图1-5 无线点菜业务流程图 收银结账业务流程业务描述:顾客消费结束后,到柜台结账,顾客可凭会员卡享受相应折扣优惠。业务流程图如图1-6所示。图1-6 收银结账业务流程图1.3.2数据流程分析数据流程分析是对业务流程的抽象,数据流程图从数据传递和加工的角度,以图形的方式刻画数据流输入、输出、存储和处理的逻辑关系。数据流程图是结构画系统分析的主要工具,它表示了系统内部信息的流程,并表示系统的逻辑处理的功能,也称逻辑数据流程图。用到的基本图例参考,见图

15、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数据库

16、设计数据库设计是系统设计的核心。数据库系统应具有数据的共享性、数据的安全保密性、数据的完整性。数据库数据一般要经过概念结构设计、逻辑结构设计、物理结构设计。 概念结构设计概念设计是在数据分析的基础上,自底向上建立整个系统的数据库概念结构。本系统用实体联系模型(E-R图)进行数据库概念设计,E-R图参见图1-16,实体属性图参见图1-17。图1-16 系统E-R图图1-17 实体属性图 逻辑结构设计逻辑设计的任务是把E-R模型所表示的概念结构转换为关系模型,即把概念结构转换为相应的逻辑结构。根据图1-16的系统E-R图进行逻辑结构设计,设计结构如下:(1) 房间区域 (区域编码、区域名称)(2)

17、 房间类型 (房间类型编码、房间类型、初始消费)(3) 餐台 (餐台编码、餐台名称、房间类型、所在区域、容纳人数)(4) 菜例类别 (菜例类别编码、菜例类别)(5) 厨师(厨师编码、员工编码、所在窗口)(6) 菜例 (菜例编码、菜例名称、菜例简拼、菜例类别、计价单位、成本单价、销售单价、服务员提成比例、打折比例)(7) 菜例制作 (菜例编码、厨师编码)(8) 点菜备注 ( 备注编码、菜例备注)(9) 退菜说明 (说明编码、退菜说明)(10) 预定时段 (时段编码、时段名称、起始时间、终止时间)(11) 用餐时段表 (时段编码、餐台编码、餐台状态)(12) 餐台预定参考表 (餐台编码、预定日期、

18、时段编码、预定状态)(13) 部门(部门编码、部门名称、备注)(14) 岗位 (岗位编码、岗位名称、职责、备注)(15) 会员等级 (等级编码、等级名称、享受折扣比例、积分下线)(16) 员工档案 ( 员工编码、员工姓名、姓名简拼、性别、出生日期、身份证号、籍贯、所属部门、所任岗位、入职日期、在职状态、联系方式)(17) 员工调动台帐( 员工编码、原始部门、调入部门、所任岗位、调动日期)(18) 会员档案 ( 会员编码、会员姓名、姓名简拼、性别、出生日期、 账户余额、会员等级、当前累计积分、办理日期、会员状态、联系方式)(19) 消费清单表 ( 消费清单编码、会员编码、清单状态、餐台编码、消费

19、数量、顾客人数、进店时间、离店时间、应收金额、实收金额、结账单金额、收银员)(20) 消费清单详细表 (消费项目编码、消费清单编码、菜例编码、上菜状态、菜例数量、金额、厨师编码、点菜时间、上菜时间、点菜备注、退菜说明、服务员)(21) 预定清单 ( 预定清单编码、顾客姓名、性别、预定状态、联系方式、预定餐台、预定日期、预定时段、预抵时间、取消时间、预定押金、顾客留言、顾客人数) 物理结构设计物理设计的目的是确定数据库的物理储存结构。设计结构参照表1-7至表1-13。1.4.3代码设计代码设计是一种科学管理的问题,合理的代码设计将便于管理人员的管理工作和用户查询。代码就是以数字或者字符来代替各种

20、客观实体。本系统中的重要代码有会员编码、消费清单编码等这些编码的编码方式都是层次码。 本系统的会员编码格式为: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输入输出设计 输出设计输出是由计算机对输入的原始信息进

21、行加工处理,形成高质量的有效信息,并使之具有一定的格式,提供管理者使用,这是输出设计的主要职责和目标。计算机系统对输入的数据进行加工处理的结果,只有通过输出才能为用户所使用。输出形式的好坏也要影响到系统的功能。输出的信息要精确、及时、直观、易为用户所接受。在报表设计中,本系统采用了水晶报表软件,可以把报表输出的和上报格式一模一样,从而减轻了管理人员的工作量。下面给出了营业报表汇总统计报表的输出设计界面,参见图1-17所示。图1-17 营业报表汇总统计 输入设计输入设计担负着将系统外的数据以一定的格式送入计算机的任务。输入设计的一条重要原则是确保系统输入的信息准确无误,还应做到输入方法简单、迅速

22、、经济及方便用户。图1-18给出了手持终端无线点菜的输入设计界面。图1-18 无线点菜终端-选择菜例1.4.5模块功能与处理过程设计以预定接待流程处理为例,其处理流程如图1-19所示。图1-19 预定接待处理流程图1.4.6信息系统安全设计下面从系统架构设计、角色及用户权限控制、数据库访问等方面分析本系统如何保障数据和系统的安全。 系统架构设计安全性本系统采用三层系统架构,由显示层、中间层、数据层组成。每层的功能清楚,层与层之间不能跨越,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,中间层经过ADO.NET实现对数据层的数据进行访问,实现了显示、数据、逻辑的分开,

23、减少了耦合度。ASP.NET在网页中使用基于事件的处理,显示层的页面代码和后台的代码分离。.NET中可以方便地实现组件的装配,后台代码通过命名控件可以方便地使用自己定义的组件。显示层放在ASP页面中,数据库操作和业务逻辑用组件来实现,方便地实现了三层架构,减少入口点,防止客户端被破坏而给数据库带来损失的风险,保证系统的安全。 角色及用户权限控制ASP.NET应用的安全性系统利用ASP.Net与Microsoft Internet信息服务联合起来协同工作提供了优秀的安全控制,包括身份验证和权限控制两部分。身份验证是对发送请求信息的用户进行身份识别,一旦验证通过,权限控制程序就会决定用户是否有权限

24、访问所调用的资源。ASP.NET支持三种类型的身份验证,分别是Windows身份验证、表单身份验证、Passport身份验证。基于表单的验证,是三种验证方式中最灵活的一种。基于表单的验证服务使用Session来验证用户,Session是一小段文本信息,伴随着用户请求和页面在Web服务器和浏览器之间传递,用户每次访问站点时,Web应用程序都可以读取Session包含的信息。在登录页面中,用户输入用户名和密码,提交该页面送回服务器,应用程序根据存储在数据库中的数据来验证请求,用户通过验证后,ASP.NET发出一个Session,里面包括了为此用户产生的一个有效的身份票据,该身份票据是用户进行系统访

25、问的“通行证”。在随后发出的请求页面的请求报头里包含此Session,假如没有通过验证则用户被重新定位到登录页面。 数据库访问安全性数据库访问的安全性在基于网络的系统中,用户的信息安全是非常重要的,一旦用户的密码被盗取后,系统的数据和整个数据库也就不安全了,通过对用户的口令加密可以解决这个问题,用户密码不以明文的方式存储在数据库中,而是存储它们加密后的版本。当需要对用户进行验证时,只是对用户的口令再进行加密,然后把它与数据库中的加密口令进行比较即可。1.4.7网络系统方案设计系统网络拓扑结构图,参见图1-20。图1-20 网络拓扑结构图1.5系统主要界面与核心代码1.5.1系统主界面本系统的主

26、界面参见图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.Selec

27、tedRow.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_ti

28、me_code varchar(2), desk_code varchar(4), person_count int asdeclare sell_list_code varchar(12) /声明消费编码变量declare current_date varchar(8)declare index_code varchar(4)declare start_money decimal(8,1)beginset current_date=(select convert(varchar(12),getdate(),112) /格式化当前日期字符串,如果当前日期是2009年7月6日,格式化后变成200

29、90706select sell_list_code=max(sell_list_code) from t_sell_list where substring(sell_list_code,1,8)= current_dateif (sell_list_code is null) /如果数据表中没有记录,定义初始消费编码。beginset sell_list_code=current_date+0001endelse/数据表中已经有记录的情况下begin if(substring(sell_list_code,1,8)current_date) /如果数据表中没有当天的数据记录,定义初始消费编

30、码。 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+1while(len(index_code)-1) /调用存储过程:p_sell_detail_add/如果点菜成功,即向消费清单详细表中添加记录成功。 frmFoodlist frmfoodlist = new frmFoodlist();/实例化窗体“frmFoodlist”

31、 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)ASdeclare sell_item_code varchar(12)declare out_price d

32、ecimal(8,1)declare food_discount decimal(3, 2)BEGINselect sell_item_code=max(sell_item_code) /项目自动编号 from t_sell_detail /读取数据表记录中字段“sell_item_code”的最大编码if (sell_item_code is null)beginset sell_item_code=000000000001endelse beginset sell_item_code=sell_item_code+1/对消费清单详细表中项目编码字段进行累加处理。while(len(sell

33、_item_code)12)beginset sell_item_code=0+sell_item_code/当项目编码相加之后不满足12位,进行补“0”处理。endendset 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_

34、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) fr

35、om 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/更新消费帐单表END1.5.4 主要查询界面 菜例管理图1-26 菜例管理界面图1-26中“检索”按钮的代码如下:if (TextBox8.Text = ) /如果文本框为空,将检索所有记录。 GridView1.DataSource

36、ID = ObjectDataSource4; GridView1.DataBind(); else /如果文本框不为空,将检索出菜例简拼匹配的记录。 GridView1.DataSourceID = ObjectDataSource1; GridView1.DataBind(); 挂账处理图1-27 挂账处理界面图1-27中“检索”按钮的代码如下:if (TextBox9.Text = & DropDownList1.SelectedValue=非会员)/如果文本框为空,且下拉框选择项为“非会员”,将读取所有挂账类型为非会员的记录。 GridView2.DataSourceID = Obje

37、ctDataSource4; GridView2.DataBind(); if (TextBox9.Text != & DropDownList1.SelectedValue = 非会员)/如果文本框不为空,且下拉框选择项为“非会员”,将读取挂账类型为非会员姓名与文本框匹配的记录。 GridView2.DataSourceID = ObjectDataSource5; GridView2.DataBind(); if (TextBox9.Text = & DropDownList1.SelectedValue = 会员)/如果文本框为空,且下拉框选择项为“会员”,将读取所有挂账类型为会员的记录

38、。 GridView2.DataSourceID = ObjectDataSource6; GridView2.DataBind();if (TextBox9.Text != & DropDownList1.SelectedValue = 会员)/如果文本框不为空,且下拉框选择项为“会员”,将读取挂账类型为会员姓名与文本框匹配的记录。 GridView2.DataSourceID = ObjectDataSource7; GridView2.DataBind();1.5.5报表 顾客消费打印账单图1-28 顾客消费打印账单界面图1-28中“打印预览”按钮的代码如下:string para_se

39、ll_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

40、_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(

41、);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);els

42、e/此时根据下拉框选择的状态,即清单状态读取数据记录。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 GISn Web GIS是指基于Internet平台进行信息发布、数据共享、交流协作n Web GIS由多主机、多数据库、多终端,通过Internet/I

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服