版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第页南昌大学毕业论文(设计)题目:酒店业务信息管理系统院系:信息科学专业:软件设计姓名:彭雄雄指导教师:林海菁完成日期:2014年3月31日酒店业务信息管理系统作者:彭雄雄摘要现在,计算机被广泛应用于各行各业,成为人们生活中不可缺少的工具.计算机的发展带动了软件业的发展,在追求高效率的今天,现在的酒店服务行业,由于客户流量的剧增,传统的管理方法已经不能适应现代社会的需要,因此,需要开发一种新的管理酒店的方式,即酒店客房及餐饮管理系统是各大中小型酒店虽需要使用的一个管理系统。我所做的酒店业务信息管理系统是使用Sybase子公司Powersoft推出的client/server模式应用程序开发工具Powerbulider9.0作为开发平台开发出来的管理系统。本系统主要针对客房管理和订餐管理,具体能够实现客房查询,客房预定,退宿结帐,订餐查询,订餐结帐等功能。采用了图形化主界面,直观大方,操作简便,可靠性高,输入数据方便。目录TOC\o"1-2"\h\z\u第一章引言 51.1.酒店业务信息管理系统的引入 51.2客户对酒店管理的基本要求 5第二章系统设计分析 52.1开发设计思想 52.2系统功能分析 62.3系统功能模块设计 72.4数据库设计 9第三章管理信息系统具体程序实现 153.1登陆窗口的实现 153.2主窗口功能实现 173.3客房前台信息功能实现 183.4住宿登记窗口功能的实现 203.5退宿结算功能的实现 233.6订餐系统信息维护 273.7订餐管理功能的实现 283.8订餐修改功能的实现 293.9订餐结算功能实现 30第四章系统的实施 324.1系统的实施 32参考文献 34致谢 35第一章引言现代化的酒店宾馆是集客房、餐饮、通讯、娱乐,商务文化及其他各种服务与设施为一体化的消费场所,酒店宾馆组织庞大,服务项目多,信息量大,要想提高劳动生产,降低成本,提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理,酒店管理系统正是为此而设计的,一套优秀的酒店管理系统应该是一套适用于大、中型星级宾馆使用的优秀系统,操作简单,灵活性好、系统安全性高,运行稳定,是管理者的理想选择。我毕业设计的题目就是设计一个酒店管理系统,在前期的考察和分析之后,对系统进行了设计,虽然受水平所限,实践经验十分匮乏,独立完成一套完备的优秀的酒店管理系统有很大的难度,但是我努力在实践中巩固以及整理自己在大学期间所学的知识,尽量把这个系统设计的更好。酒店业务信息管理系统的引入近年来,我国的现代酒店业得到了蓬勃的发展。无论是行业规模、设施质量,还是经营理念或管理水平,都取得了长足的进步,进入了现代化水平的阶段,出现了一大批酒店管理集团,酒店计算机管理作为我国旅游行业信息化建设中的重点实施项目,一直与知识、创新、才能、管理相伴而生、相行相随。随着酒店管理的发展和市场竞争日趋激烈,各酒店逐步采用标准化、制度化及预算管理、目标管理、定额管理、树理统计分析等科学的管理方法,并采用计算机等现代化办公及通讯设备,对酒店的人流、物流和资金流进行统筹规划,在酒店管理中开发并使用一套科学先进的酒店管理系统成为众多酒店的当务之急1.2客户对酒店管理的基本要求传统的酒店管理往往令管理者花大量的时间来处理顾客投诉,例如错误查询、烦琐的登记和结帐手续、旅客费用计算错误、空余客房资料不能及时提供等,从而影响出租率,使的管理人员不得不集中精力规划管理运行策略和进行决策。以上问题可通过电脑系统辅助解决,酒店管理的电脑化,不仅是体现酒店现代化形象的一个重要标志,而且对于提高员工工作效率,加速资金周转、降低各项成本及改善服务质量都有十分积极的作用。第二章系统设计分析2.1开发设计思想酒店管理系统应着眼于酒店的当前管理与未来发展,由高级酒店管理人员参与整个研发过程,更加贴近现代酒店的管理模式与管理风格,并具备如下特点。面向对象的体系结构设计。前台客户端使用PowerBuilder面向对象编程。功能全面,覆盖酒店的全部业务,包括预定、接待、收银、餐饮、客房管理、电话计费、财务等模块。系统界面友好、美观,支持鼠标或键盘操作。从用户角度出发,高度智能。易用、简单、快捷地操作。在服务器、数据库等多个层次上提供了行之有效的安全防范措施,可确保系统安全稳定地运行。提供全面、详细的联机帮助,方便用户的使用。具有高度的灵活性和良好的可扩充性,可随着酒店业务的发展在功能和规模两方面随时进行扩展和免费的升级。根据客房及餐饮管理系统本身的特点和要求,在本系统终将实现如下功能:(1)查看客房信息(2)房间预定(3)客户住宿登记(4)退房结算(5)查看菜谱信息(6)订餐管理(7)订餐结算(8)系统权限管理2.2系统功能分析一.系统功能分析是在系统开发的总体任务基础上完成的,主要有以下几点:前台系统有效的预定处理,充分发挥销售潜力简便迅捷的前台登记服务灵活的系统账目处理功能电话、营业点及客房费的直接过账有效的客房管理客人管理完善、全面的综合查询系统运行稳定可靠,各项维护功能齐全,易于维护二.简单友好的操作界面后台模块功能财务总帐应收付帐管理三.客房管理系统主要完成功能:有关客房标准的制定、标准信息的输入,包括标准编号、标准名称、住房单价、是否空闲等。客房标准信息的修改、查询等。客房基本信息的输入,包括客房编号、客房类型、客房单价、备注等。客房基本信息的查询、修改,包括客房编号、客房类型、客房单价、备注等。剩余客房信息的查询等。订房信息的输入,包括客房编号、客房类型、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、备注信息等。订房信息的修改和查询,包括修改和查询客房编号、客房种类、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、备注信息等。结算信息的输入,包括客房编号、客房种类、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结算日期、备注信息等。结算信息的修改和查询,包括修改和查询客房编号、客房种类、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结日期、备注信息等。四.餐饮管理系统主要特点包括:代码菜谱编制,方便统计,方便输入;开单、改单、结算、打印、用户界面方便友好;系统专设往来帐、内部账,结算方式灵活多样,结算信息详尽翔实;系统可同前台系统衔接,查询客人信贷情况,往前台客户帐户转帐;报表翔实,实用性强;帐务系统功能完整性。一旦该系统正式运行,餐厅每日营业帐和全部往来客户的帐务操作结算都将依靠计算机,该系统面对当前餐饮业各种复杂的结算要求应具有强的应变能力。为此,本系统为适应用户的要求,设计了完整的转帐功能。帐务系统的可扩充性;餐厅系统需要完成的功能有以下几点:订餐管理:订餐、订餐系统、订餐取消、定金处理、订餐统计、订餐查询、订餐报表收款管理:立帐、消费明细录入、特色菜自定义、追加消费、消费修改、消费取消、加位更改台号、折扣设定、消费服务设定、账单打印、现付结算和房账转录系统维护:餐厅代码设定、餐台号码、特色分类设定、服务费率设定、营业统计项目设定、使用者权限维护、2.3系统功能模块设计在系统功能分析的基础上,考虑PowerBuilder程序编制的特点,得到如下几个功能模块图。酒店业务信息管理系统酒店业务信息管理系统前台系统后台系统管理餐饮管理客房管理2-3-1系统功能模块图前台系统前台系统客账营业帐处理登记管理系统设置维护预定管理客账营业帐处理登记管理系统设置维护预定管理2-3-2前台系统功能图后台系统管理后台系统管理应收付帐管理财务总帐应收付帐管理财务总帐2-3-3后台系统功能图餐饮系统餐饮系统订餐管理收款管理交班管理系统报表成本核算 2-3-4餐饮系统功能图宾馆管理信息系统宾馆管理信息系统结算信息管理订房信息管理客房信息管理系统管理结算信息查询结算信息修改结算信息添加订房信息查询订房信息修改订房信息添加剩余客房信息查询设置客房信息设置客房标准密码管理用户管理客房信息查询客房信息修改客房信息添加客房标准修改客房标准添加2-3-5客房管理系统功能图2.4数据库设计2.4.1数据库需求分析订餐订餐消费查询结算交班管理收款管理订餐管理消费查询结算交班管理收款管理订餐管理 2-4-1餐饮管理数据流程图餐饮中包括的数据项和数据结构如下:菜谱信息:菜谱号、名称、所属种类、价格、描述值班员信息:值班员姓名、口令客户信息:客户号、客户姓名、年龄、性别、职称、联系电话、工作单位订餐信息:桌号、菜号、菜名、数量、价格、订餐日期结算信息:客户号、桌号、结算日期、打折情况、总计客房标准设置基本信息输入客房标准设置基本信息输入客房登记基本信息录入客房信息管理顾客登记订房信息管理订房信息管理结算信息输入结算信息管理客房信息返回2-4-2客房系统数据流程图客房系统包括如下面所示的数据项和数据结构:客房信息,包括的数据项有:客房编号、客房种类、客房单价、是否空闲、备注等。订房信息,包括的数据项有:订房编号、客房编号、客房种类、客房备注信息、顾客姓名、顾客身份证号码、入住时间、折扣、备注等。住宿登记信息,包括的数据项有:住宿编号、姓名、证件类型、证件号码、房间号码、客房类型、价格、住宿时间、退宿日期、是否入住、工作单位、实际宿费、备注等结算信息,包括的数据项有:订房编号、客房编号、客房种类、客房备注信息、顾客姓名、顾客身份证号码、入住时间、折扣、结算时间、备注等。2.4.2数据库概念结构设计根据上面的设计规划处的实体有:菜谱实体、值班员实体、客户实体、订餐实体、结算实体等客房信息客房信息备注房间状态房间类型房间价格房间号备注房间状态房间类型房间价格房间号2-4-3客房实体E-R图客房预定信息客房预定信息单位、电话客房类型、价格预定日期,时间,金额证件、证号姓名单位、电话客房类型、价格预定日期,时间,金额证件、证号姓名2-4-4预定信息实体E-R图客房结算客房结算凭证号姓名退宿日期应收金额实住时间房间号凭证号姓名退宿日期应收金额实住时间房间号2-4-5客房结算实体E-R图酒店员工信息酒店员工信息工作类型部门姓名员工编号工作类型部门姓名员工编号2-4-6员工实体E-R图菜谱信息菜谱信息备注菜谱号、名称价格所属种类备注菜谱号、名称价格所属种类2-4-7菜谱实体E-R图 系统操作员信息系统操作员信息部门权限口令编号姓名部门权限口令编号姓名2-4-8操作员实体E-R图客户信息客户信息客户号、姓名个人信息联系方式单位信息客户号、姓名个人信息联系方式单位信息 2-4-9客户实体E-R图订餐信息订餐信息 价格、数量日期菜号、名称桌号价格、数量日期菜号、名称桌号2-4-10订餐信息实体E-R图餐厅结算信息打折情况餐厅结算信息打折情况结算日期客户号桌号结算日期客户号桌号2-4-11结算信息实体E-R图2.4.3数据库逻辑结构设计在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。将酒店管理系统的数据库概念结构转化为实际数据模型,即:数据库的逻辑结构。其各个表格的设计结果如下:表1客房信息表(kfxxlx):列名数据类型可否为空说明roomNOVarcharNOTNULL客房编号RoomtypeVarcharNOTNULL客房种类priceNumericNULL单价isorVarcharNOTNULL是否被预定detailTextNULL备注表2客房预定信息表(kfyd):列名数据类型可否为空说明BooknoVarcharNOTNULL订房编号nameVarcharNOTNULL顾客姓名zjlxVarcharNOTNULL证件类型zjnoVarcharNOTNULL证件号RoomnoVarcharNOTNULL客房编号ydrqDatetimeNULL预定入住日期DiscountNumericNULL折扣detailTextNULL备注yfjeNumericNULL预付金额表3客房结算信息表(txjz):列名数据类型可否为空说明PznoVarcharNotnull凭证号码NameVarcharNotnull姓名Room_noVarcharNotnull房间号码TxrqDatetimeNotnull退宿日期SztsNumbericNotnull实住天数ChargeNumbeticNotnull应收金额表4菜谱信息表(cp)列名数据类型可否为空说明Cp_noVarcharNotnull菜谱号Cp_nameVarcharNotnull菜名称Cp_kindVarcharNull种类PriceNumbericNotnull价格DetailVarcharNull备注表5订餐信息表(dc):列名数据类型可否为空说明Dc_deskVarcharNotnull桌号Cp_noVarcharNotnull菜谱号码Cp_nameVarcharNotnull菜名Dc_numberNumbericNull数量Dc_dateDateNull订餐日期表6客户信息表(kh)列名数据类型可否为空说明Kh_noVarcharNotnull客户号Kh_nameVarcharNotnull客户姓名Kh_genderVarcharNull客户性别JobVarcharNull职位TelVarcharNull电话CompanyVarcharNull单位表7订餐结算信息表(js):列名数据类型可否为空说明Kh_noVarcharNotnull客户号Dc_deskVarcharNotnull桌号Js_dzNumbericNull打折情况TotalNumbericNull总计Js_dateDateNull结算日期第三章管理信息系统具体程序实现3.1登陆窗口的实现(1)登陆窗口所完成的功能在“用户名”和“口令”中输入操作员的用户名和口令,若与数据库操作员表中的数据相符,则进入主窗口。登陆前操作员可以修改口令,单击“修改口令”按钮进入修改口令窗口。(2)创建w_login登陆窗口进入“确定”按钮cb_1的clicked事件:STRINGCORRECT_PSWD//用于保存正确的口令G_INPUT_TIME=G_INPUT_TIME+1//输入次数加1G_CZY_NAME=sle_1.text//取得输入的用户名和口令G_CZY_PSWD=sle_2.text//取出数据库用户口令表格中对应用户的口令SELECTpasswordINTO:CORRECT_PSWDFROMczyWHERENAME=:G_CZY_NAME;//将数据库中保存的口令和用户输入的口令作比较ifg_CZY_name=''org_CZY_pswd=''then messagebox("","用户名或口令不能为空!") returnendifIFG_CZY_PSWD=CORRECT_PSWDTHEN OPEN(W_MAIN)//输入正确,打开主窗口 CLOSE(W_LOGIN)ELSE //不正确,在3次以内可重新输入,超过3次结束程序 IFG_INPUT_TIME>3THEN MESSAGEBOX("警告","输入用户口令的次数太多!") CLOSE(W_LOGIN) ELSE MESSAGEBOX("警告","输入的用户口令有误,请重新输入") ENDIF ENDIF(3)创建修改口令窗口3-2修改口令界面进入“确定”按钮cb_1的clicked事件:
STRINGCORRECT_PSWD//用于保存数据库保存的口令G_CZY_name=sle_1.textG_CZY_PSWD=sle_2.text//验证文本框中值是否为空ifg_CZY_name=''org_CZY_pswd=''orsle_3.text=''orsle_4.text=''then messagebox("","用户名或口令不能为空!") returnendif//验证两次输入的口令是否一致ifsle_3.text<>sle_4.textthen MESSAGEBOX("警告","两次输入的新口令不一致,请重新输入")else //从操作员表中查找用户名与输入用户名相同的用户口令SELECTCZY_PSWDINTO:CORRECT_PSWDFROMCZYWHERECZY_name=:G_CZY_name; IFG_CZY_PSWD=CORRECT_PSWDTHENUPDATECZYSETCZY_PSWD=SLE_2.TEXT//修改数据库中的该用户的口令WHERECZY_name=G_CZY_USER; MESSAGEBOX("注意","你的口令已经修改,请牢记") COMMIT;//提交修改,关闭口令修改窗口 CLOSE(W_change_pswd) ELSE MESSAGEBOX("警告","输入原用户口令不正确") ENDIFENDIFopen(w_login)3.2主窗口功能实现(1)登陆窗口所完成的功能不同部门的操作员进入主窗口后显示不同部门。如:客房部操作员进入主窗口中不能对关于餐饮部门的项目进行管理操作。主窗口中包括客房部、餐饮部的基础信息,客房前台信息,客房查询,客房结帐,订餐管理,订餐结算,系统管理维护等。3-3主窗口界面3.3客房前台信息功能实现(1)客房前台信息包括:客房预定、住宿登记、退宿结帐的查询、修改与保存。可以设置保存客房及客户的相关信息。(2)客房预定功能的实现点击进入客房预定窗口后,在增加新信息之前每个文本框变灰,不能对其进行操作。点击“添加”按钮添加新的预定信息,添加完毕后单击“保存”退出。3-4客房预定窗口=1\*GB3①open()事件来控制各个按钮及文本框://初始各个控件,分别把不同的房间类型和价格添加到组合框ddlb_2和ddlb_3中sle_1.enabled=falseddlb_1.enabled=falseem_1.enabled=falseem_2.enabled=falsesle_3.enabled=falseddlb_2.enabled=falseddlb_3.enabled=falseem_3.enabled=falseem_4.enabled=falseem_5.enabled=falsecb_1.enabled=falsestringkflb//声明游标变量,把不同的房间类型添加到组合框ddlb_2中declarecursor1cursorforselectdistinctroom_typefromkfxxlx;opencursor1;fetchcursor1into:kflb;dowhilesqlca.sqlcode=0ddlb_2.additem(kflb)fetchcursor1into:kflb;loopclosecursor1;stringjg//同样,声明游标变量,把不同的价格添加到组合框ddlb_3中declarecursor2cursorforselectdistinctpricefromkfxxlx;opencursor2;fetchcursor2into:jg;dowhilesqlca.sqlcode=0ddlb_3.additem(jg)fetchcursor2into:jg;loopclosecursor2;=2\*GB3②“添加”按钮中clicked()事件的代码实现初始化控件的功能=3\*GB3③“保存”按钮中clicked()事件的代码,保存新添加的数据信息stringxm,zj,zjh,lxdh,gzdw,kflx,kfjg,yzrq,yfje//声明变量xm=trim(sle_1.text)//将输入的值赋给变量zj=trim(ddlb_1.text)zjh=trim(em_1.text)lxdh=trim(em_2.text)gzdw=trim(sle_3.text)kflx=trim(ddlb_2.text)kfjg=trim(ddlb_3.text)yzrq=trim(em_3.text)yfje=trim(em_5.text)//将修改后的数据保存到数据库预定客房表中insertintokfyd(name,zjlx,zjno,tel,company,kflx,price,ydrq,yztime,yfje)values(:xm,:zj,:zjh,:lxdh,:gzdw,:kflx,:kfjg,:yzrq,:yfje);messagebox("","保存成功!")sle_1.enabled=falseddlb_1.enabled=falseem_1.enabled=falseem_2.enabled=falsesle_3.enabled=falseddlb_2.enabled=falseddlb_3.enabled=falseem_3.enabled=falseem_4.enabled=falseem_5.enabled=falsecb_1.enabled=false=4\*GB3④“取消”按钮取消添加信息。3.4住宿登记窗口功能的实现(1)客户登记住宿信息:包括姓名、登记的证件类型和号码、客房号码、房间类型、房间价格、登记时间等。3-5住宿登记界面(2)住宿登记窗口功能的实现=1\*GB3①open()事件初始化控件//初始化控件,并把不同的房间号添加到组合框ddlb_3中stringfjhdeclarecursor1cursorforselectroom_nofromkfxxlx;//把不同的房间号添加到组合框ddlb_3中opencursor1;fetchcursor1into:fjh;dowhilesqlca.sqlcode=0ddlb_3.additem(fjh)fetchcursor1into:fjh;loopclosecursor1;//得到当前系统的日期em_5.text=string(today())em_1.enabled=falseem_2.enabled=falseem_4.enabled=falseem_7.enabled=falseem_10.enabled=falseem_11.enabled=falsesle_1.enabled=falsesle_2.enabled=falsemle_1.enabled=falseddlb_1.enabled=falseddlb_3.enabled=false=2\*GB3②单击“登记”按钮自动生成序号clicked事件自动生成序号的代码如下:stringzxno,zxno1,zxno2intzxno3//选择数据selectzxnointo:zxnofromzxdj;ifzxno=""thenem_2.text="00000001"else//自动生成No.号declarecursor1cursorforselectzxnofromzxdj;//声明游标变量opencursor1;fetchcursor1into:zxno1;zxno2="00000001"dowhilesqlca.sqlcode=0ifzxno1>zxno2thenzxno2=zxno1elsezxno2=zxno2endiffetchcursor1into:zxno1;loopclosecursor1;zxno3=integer(zxno2)+1zxno2=string(zxno3)em_2.text=zxno2endif=3\*GB3③“确定”按钮clicked()事件,保存数据信息clicked事件中的代码如下://声明变量stringfjhm1,zxno,xm,zj,zjh,dwordz,fjhm,kfjg,zxrq,zxts,zqxf,sjxf,txrq,bz,isorzxno=trim(em_2.text)//将各个从文本框中的值赋给变量xm=trim(sle_1.text)zj=trim(ddlb_1.text)zjh=trim(em_1.text)dwordz=trim(sle_2.text)fjhm=trim(ddlb_3.text)kfjg=trim(em_4.text)zxrq=trim(em_5.text)zxts=trim(em_7.text)sjxf=trim(em_10.text)txrq=trim(em_11.text)bz=trim(mle_1.text)isor="T"//将获得的数据保存到住宿登记表中insertintozxdj(zxno,name,zjlx,zjno,company,fjhm,price,zxrq,zxts,sjxf,txrq,detail,isor)values(:zxno,:xm,:zj,:zjh,:dwordz,:fjhm,:kfjg,:zxrq,:zxts,:sjxf,:txrq,:bz,:isor);messagebox("","保存成功!")stringfjh,ftft="入住"fjh=trim(ddlb_3.text)//修改数据updatekfxxlxsetroon_state=:ftwhereroom_no=:fjh;em_2.text=""sle_1.text=""ddlb_1.text=""em_1.text=""sle_2.text=""ddlb_3.text=""em_4.text=""em_5.text=""em_7.text=""em_10.text=""em_11.text=""mle_1.text=""cb_1.enabled=truecb_2.enabled=false3.5退宿结算功能的实现(1)退宿结算功能所能实现的功能客户离开酒店按照所住房间标准、天数收费。客户结算完毕,将房间状态设置为空闲。(2)退宿结算窗口的实现3-6退宿结算界面=1\*GB3①open()事件初始化控件,将其设置为flase,以下代码实现向组合框中添加住宿号码:stringpzhmdeclarecursor1cursorforselectdistinctzxnofromzxdj;//把不同的住宿号添加到组合框ddlb_1中opencursor1;fetchcursor1into:pzhm;dowhilesqlca.sqlcode=0ddlb_1.additem(pzhm)fetchcursor1into:pzhm;loopclosecursor1;=2\*GB3②“登记”按钮初始化控件,设置为true可用。=3\*GB3③“确定”按钮clicked事件,保存信息//保存信息//声明变量stringisor,txno,pzhm,txrq,xm,zj,zjh,xxdz,fjh,kflx,kfjg,szts,fjfs,fjds,ssje,bz,dhf,hyf,tcftxno=sle_2.textpzhm=trim(ddlb_1.text)txrq=em_2.textxm=sle_1.textzj=ddlb_2.textzjh=em_4.textxxdz=sle_3.textfjh=sle_4.textkflx=sle_5.textkfjg=sle_6.textszts=em_5.textfjfs="附加费"em_8.text=""fjds=em_8.textssje=em_9.textbz=mle_1.textdhf=st_22.texthyf=st_24.texttcf=st_25.textisor="否"stringpzhm0//修改数据updatezxdjsetisor=:isorwherezxno=:pzhm;insertintotxjz1(txno,pzhm,txrq,txsj,name,zjlx,zjno,company,room_no,kflx,price,szts,fjfs,fjds,ssje,bz,dhf,hyf,tcf,isor)values(:txno,:pzhm,:txrq,:xm,:zj,:zjh,:xxdz,:fjh,:kflx,:kfjg,:szts,:fjfs,:fjds,:ssje,:bz,:dhf,:hyf,:tcf,:isor); messagebox("","保存成功!")stringfjh0,ft0fjh0=sle_4.textft0="空闲"//修改数据updatekfxxlxsetroon_state=:ft0wherefjno=:fjh0;sle_2.text=""ddlb_1.text=""em_2.text=""sle_1.text=""ddlb_2.text=""em_4.text=""sle_3.text=""sle_4.text=""sle_5.text=""sle_6.text=""em_5.text=""ddlb_7.text=""em_8.text=""em_9.text=""mle_1.text=""st_22.text=".00"cb_1.enabled=true//设置控件的值cb_2.enabled=falsesle_2.enabled=falseddlb_1.enabled=falseem_2.enabled=falsesle_1.enabled=falseddlb_2.enabled=falseem_4.enabled=falsesle_3.enabled=falsesle_4.enabled=falsesle_5.enabled=falsesle_6.enabled=falseem_5.enabled=falseddlb_7.enabled=falseem_8.enabled=falseem_9.enabled=falsemle_1.enabled=falsemessagebox("","您已经结完帐了!")3.5客房查询系统功能实现(1)客房查询所能实现的功能操作员可以查询客房状态、预定房情况、客人住宿的分布情况,以次来管理客房和给新客人分配房间。(2)客房查询窗口的实现3-7客房查询界面=1\*GB3①open()事件中的代码://检索数据,显示在数据窗口中stringfjh888iffjh888<>""thenstringsqldw_1.settransobject(sqlca)//给数据窗口设置事务对象,并执行sql="selectroom_no,room_type,room_state,price,detailfromkfxxlxwhereroom_no='"+fjh888+"'"dw_1.setsqlselect(sql)//数据窗口执行SQL语句,从客房信息表中查找房间号不是空值的房间信息,即显示所有房间信息dw_1.retrieve()else//查找不到,则返回dw_1.settransobject(sqlca)dw_1.retrieve()endiffjh888=""//结束,赋空值,以便进行下一次查询=2\*GB3②“确定”按钮的clicked事件://检索满足条件的数据记录stringsql,fjhfjh=trim(em_1.text)dw_1.settransobject(sqlca)sql="selectroom_no,room_type,room_state,price,detailfromkfxxlxwhereroom_no='"+fjh+"'"//检索数据dw_1.setsqlselect(sql)//数据窗口执行SQL语句,从客房信息表中查找房间号与输入相同的房间信息dw_1.retrieve()=3\*GB3③“删除”按钮的clicked事件://删除当前行数据记录stringfjh,fjh1introwfjh=trim(em_1.text)//将取得的值赋给变量row=dw_1.getrow()//将得到数据窗口光标所在行的值赋给变量rowfjh1=trim(dw_1.getitemstring(row,1))ifem_1.text=""then//房间号不能为空messagebox("","请输入房间号!")elseiffjh=fjh1then//房间号与输入号相同则删除该行记录ifdw_1.deleterow(row)=1then dw_1.update()//更新数据库messagebox("","删除成功!")em_1.text=""elsemessagebox("","删除有误!")endifelsemessagebox("","请选择数据行!")endifendif(3)预定房查询与住宿查询同客房查询类似,在此略。3.6订餐系统信息维护(1)订餐系统维护包括餐饮部门员工信息维护、菜谱信息维护。操作员可以录入新进员工和新加菜品,也可以进行修改和删除。(2)订餐系统信息维护功能的实现3-8员工信息界面3-9菜谱信息界面=1\*GB3①餐饮部员工和菜谱信息维护open()事件代码相同:integerli_rcdw_1.AcceptText()//接受数据窗口中输入的全部记录IFdw_1.ModifiedCount()>0THEN//查看数据窗口是否有改动,若有改动的更新 li_rc=MessageBox("提示",& "是否保存所做的修改?",Question!,& YesNoCancel!,3) IFli_rc=1THEN//若有改动,则启动保存按钮保存修改 cb_3.triggerevent(Clicked!) RETURN0 ELSEIFli_rc=2THEN//若没有改动,则选择退出,而不保存 RETURN0 ELSE RETURN1 ENDIFELSE RETURN0//不对数据进行操作,关闭窗口ENDIF =2\*GB3②“增加”数据的clicked事件,对数据窗口进行操作:g_RowNumber=dw_1.InsertRow(0)//得到在数据窗口最后一行的行数dw_1.SetFocus()//数据窗口得到光标dw_1.ScrollToRow(G_RowNumber)//滚动到当前行dw_1.SetColumn(1)//第一列得到光标=3\*GB3③“删除”数据的clicked事件,对数据窗口进行操作:G_RowNumber=dw_1.getrow()//得到当前记录deleterow(dw_1,g_rownumber)//删除=3\*GB3③“保存”数据的clicked事件ifupdate(dw_1,true,false)=1then dw_1.resetupdate()//保存修改成功,提交修改 commit;else rollback;//保存修改失败,取消所作的修改 //弹出一个对话框警告 messagebox("错误!!!","数据保存失败")endif3.7订餐管理功能的实现订餐管理所实现的功能客人依据菜谱提供的信息点菜,菜号、桌号与客人的信息相互关联。3-10订餐管理界面订餐管理窗口的实现=1\*GB3①open()事件将数据窗口与数据库的订餐表相连接,数据窗口显示订餐表中的订餐信息。=2\*GB3②“下一道菜”按钮的clicked事件的功能是再添加一道菜:g_dc_desk=getitemstring(dw_1,g_rownumber,"dc_desk")//得到已经输入的订餐做桌号g_RowNumber=dw_1.InsertRow(0)//在数据窗口的最后一行再插入一行dw_1.SetFocus()//得到光标dw_1.ScrollToRow(G_RowNumber)//到当前行dw_1.setitem(g_rownumber,"dc_desk",g_dc_desk)//设置桌号dw_1.SetColumn(1)//第一列得到光标3.8订餐修改功能的实现订餐修改所实现的功能利用桌号和日期查找出相应客人点餐的内容,针对想要修改的订餐内容进行修改。3-11订餐修改界面订餐修改窗口的实现=1\*GB3①点击“显示订餐”按钮,数据窗口中显示根据条件查询出的内容:stringLookforCondition//定义参数:查询条件综合结果stringlookforItem1,lookforItem2//定义参数:要查询的列stringlookforHow1,lookforHow2//定义参数:查询的符号stringlookforWhat1//定义参数:要查询的内容stringlookforWhat2stringlookforOperator1//定义参数:不同查询条件组合操作符号lookforHow1=ddlb_1.text//查询符号的选择lookforHow2=ddlb_5.textlookforOperator1="and"//操作符号1的选择 lookforItem1="dc_desk"//查询子段1和查询内容1的选择 lookforwhat1="'"+sle_1.text+"'"lookforitem2="date(dc_date)"//查询子段2和查询内容2的选择lookforwhat2=sle_2.textifsle_1.text=""then//查询条件的综合elseifsle_2.text=""then lookforCondition=lookforItem1+lookforHow1+""+lookforwhat1+""else lookforCondition=lookforItem1+lookforHow1+""+lookforwhat1+""+lookforOperator1+""+lookforItem2+lookforHow2+"date('"+lookforwhat2+"')"endifMESSAGEBOX("",LOOKFORCONDITION)dw_1.setfilter(lookforCondition)//设置过滤器filter(dw_1)//过滤数据窗口dw_1.retrieve()//取得符合条件的纪录=2\*GB3②单击“确定”按钮对修改的内容进行保存:g_rownumber=dw_1.getrow()g_dc_desk=getitemstring(dw_1,g_rownumber,"dc_desk")g_dc_date=getitemdatetime(dw_1,g_rownumber,"dc_date")g_RowNumber=dw_1.InsertRow(0)dw_1.SetFocus()//数据窗口得到光标dw_1.ScrollToRow(G_RowNumber)//到当前行//设置桌号和日期dw_1.setitem(g_rownumber,"dc_date",g_dc_date)dw_1.setitem(g_rownumber,"dc_desk",g_dc_desk)//thefirstcolumngetthefocusdw_1.SetColumn(1)3.9订餐结算功能实现订餐结算所实现的功能输入桌号和优惠打折信息,得到应付金额。结算窗口的实现3-12结算窗口界面open()事件中的代码:
stringlookforconditiondw_1.settransobject(sqlca)lookforcondition="dc_desk='"+g_dc_desk+"'"dw_1.setfilter(lookforCondition)//设置过滤器filter(dw_1)//过滤数据窗口dw_1.retrieve()//取得符合条件的纪录integerrow_count//定义参数总行数integerrow_current//定义当前行integerI//定义循环变量doublejs_total//定义总计stringcp_nointegercp_numberdoublecp_pricerow_count=dw_1.rowcount()//得到数据窗口的总行数//循环读数,得到应付数目fori=1torow_count cp_no=getitemstring(dw_1,i,"cp_no") cp_number=getitemnumber(dw_1,i,"dc_number") selectcp_priceinto:cp_pricefromcpwherecp_no=:cp_no; js_total=js_total+cp_number*cp_price*g_dc_dz/10nextmessagebox("共计",string(js_total))dw_2.settransobject(sqlca)g_RowNumber=dw_2.InsertRow(0)dw_2.SetFocus()dw_2.ScrollToRow(G_RowNumber)//到当前行datejs_date//定义时间变量js_date=today()//取得系统时间//自动设置日期为当前的系统时间dw_2.setitem(g_rownumber,"js_date",js_date)dw_2.setitem(g_rownumber,"js_dz",g_dc_dz)dw_2.setitem(g_rownumber,"dc_desk",g_dc_desk)dw_2.setitem(g_rownumber,4,js_total)dw_2.SetColumn(1)//第二个数据窗口的第一列得到光标第四章系统的实施4.1系统的实施经过系统详细设计阶段,从调查到分析,对系统的整体过程设计已经作了较为详细的说明,在系统实施阶段,将对系统物理的配置方案、开发工具的选择以及用powerbulider程序设计语言,对系统中较为重要的设计过程进行程序设计说明。4.1.1物理配置方案由于条件限制和个人开发能力有限,本系统只采用单机单用户操作方式,基本配置如下:机型:奔腾=3\*ROMANIII内存:128M硬盘:40G操作系统:window98/xp开发环境:Powerbulider9.04.1.2代码设计中遇到的困难及综合测试在程序设计中,认为代码设计并不困难,但在实际操作中,就出现了很多问题。例如,数据远调试不成功,
SQL语句不正确,函数格式不规范,数据窗口中的查询功能不能实现,如此反复,终于将系统炮制出雏型。从分析到设计,再到调试代码,在这反复修改的过程中学到了比以往在课堂上更多的知识,也锻炼了个人思维和动手能力。但是,程序完成后,感觉并不完美,功能也不太齐全,所以就要在不断的测试中发现问题,解决问题,但由于我个人能力有限,在程序中难免有毛病,需要在使用中不断完善和修改。4.1.3客房管理系统的应用对于大中型宾馆来说,利用计算机支持高效率完成日常事务,是适应现代要求、推动管理走向科学化、规范化的必要条件;而且宾馆管理又是一项非常烦琐的事情,数量之大,核算极其不便。同时计算机具有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高宾馆管理的效率,也是宾馆的科学化、正规化管理,与世界接轨的重要条件。随着计算机科学的发展,与之相关的软件业也在蓬勃发展,开发管理系统的平台也将越来越多,越来越好。计算机所带来的全新的软件管理模式将逐渐取代传统的记账的管理方法。Powerbulider作为数据库开发平台的开发工具之一,也将不断完善,利用它开发客房管理也将得到广泛应用。参考文献[1]徐松林、路斌、王冬春等.《Powerbulider数据库应用开发教程》北京:清华大学出版社2003年[2]陈磊等.《Powerbuilder数据库高级教程》北京:清华大学出版社2004年[3]张遂芹.《Powerbuilder9.0系统开发实例》中国水利水电出版社2003年9月[4]求实科技.《Powerbulider9.0程序设计与开发技术大全》人民邮电出版社2004年[5]靳敏、夏素霞、张益星.《数据库原理及应用》机械工业出版社2004年12月[6]陈磊、郭斌、李翔.《Powerbulider9数据库项目案例导航》2004年[7]于德壹、刘云州.《Powerbulider8实用编程技术》中国水利水电出版社2002年一月[8]崔巍.《Powerbulider数据库应用系统开发教程》清华大学出版社2000年[9]丁宝康.《数据库使用教程》.清华大学出版社,2003年11月[10]宋晔等.《Powerbulider实用教程数据库应用系统开发》北京理工大学出版社2004年[11]李勇等.《Powerbulider彻底研究》中国铁道出版社2003年[12]黄云梯.《管理信息系统》高等教育出版社2001年[13]费雅洁.《Powerbulider程序设计》高等教育出版社2004年3月[14]戴士弘.《Powerbulider技术教程》西安电子科技大学出版社[15]郑阿奇.《Powerbulider实用教程(第二版)》电子工业出版社2004年3月[16]何旭洪等.《PowerBuilder9.0信息管理系统开发实例导航》人民邮电出版社2005年[17]刘志铭等.《PowerBuilder数据库开发关键技术与实例应用》人民邮电出版社2004年[18]蔡毅.《PowerBuilder9.0基础开发篇》清华大学出版社2003年11月[19]杨昭.《PowerBuilder9.0实用参考手册》中国水利水电出版社2003年[20]高林.《数据库技术》人民邮电出版社2004年1月[21]杨志鸿等《PowerBuilder基础类库技术详解》中国水利水电出版社2002年致谢四年的大学生活即将结束,这篇论文作为我学习的最后一份答卷,敬礼给各位老师。在大学学习生活的这四年,我不仅学到的丰富的专业知识,也深深地感受到各位老师认真工作、爱岗敬业、为人师表的工作态度。在此,谨向各位老师表示深深的敬意和谢意!在指导老师的耐心指导下,经过两个多月的努力,终于完成了我毕业设计的内容。在整个设计过程中,我学到了更多知识,并将学过的整个管理信息系统的开发真正的运用到实际的系统开发案例当中,而且领会了系统开发的基本思想和思路,锻炼的自己独立思考和分析能力。感谢在这四年中我关心我,鼓励我,给与我帮助的老师和同学们,我毕业设计之所以能够完成,他们都有很大的功劳。特别感谢林海菁老师给与我耐心的引导和点拨,使得我的设计一点一点成型,直至完成。由于我的个人水平有限,设计一定会有不足和缺陷,请各位老师批评指正。在以后的工作学习中,我会努力用心工作,来提高自己的水平!彭雄雄2014年3月31日附录资料:不需要的可以自行删除怎样提高电脑系统运行速度HYPERLINKWindowsXP的启动速度比Windows2000要快30%左右,但相对于Windows98仍然要慢了不少,不过,我们可以通过优化设置,来大大提高WindowsXP的启动速度。加快系统启动速度主要有以下方法:尽量减少系统在启动时加载的程序与服务;对磁盘及CPU等硬件进行优化设置;修改默认设置,减少启动等待时间等。这些方法大部分既可减少系统启动的时间,又可以节省系统资源,加快电脑运行速度。1.加快系统启动速度WindowsXP的启动速度比Windows2000要快30%左右,但相对于Windows98仍然要慢了不少,不过,我们可以通过优化设置,来大大提高WindowsXP的启动速度。加快系统启动速度主要有以下方法:尽量减少系统在启动时加载的程序与服务;对磁盘及CPU等硬件进行优化设置;修改默认设置,减少启动等待时间等。这些方法大部分既可减少系统启动的时间,又可以节省系统资源,加快电脑运行速度。(1)MsconfigWindowsXP的启动速度在系统安装初期还比较快,但随着安装的软件不断增多,系统的启动速度会越来越慢,这是由于许多软件把自己加在了启动程序中,这样开机即需运行,大大降低了启动速度,而且也占用了大量的系统资源。对于这样一些程序,我们可以通过系统配置实用程序Msconfig将它们从启动组中排除出去。选择“开始”菜单中的“运行”命令,在“运行”对话框中键入“Msconfig”,回车后会弹出“系统配置实用程序”对话框,选择其中的“启动”选项卡(如图1),该选项卡中列出了系统启动时加载的项目及来源,仔细查看每个项目是否需要自动加载,否则清除项目前的复选框,加载的项目越少,启动的速度就越快。设置完成后需要重新启动方能生效。(2)BootvisBootvis是微软提供的一个启动优化工具,可提高WindowsXP的启动速度。用BootVis提升WindowsXP的启动速度必须按照正确的顺序进行操作,否则将不会起到提速的效果。其正确的操作方法如下:启动Bootvis,从其主窗口(如图2)中选择“工具”菜单下的“选项”命令,在“符号路径”处键入Bootvis的安装路径,如“C:\ProgramFiles\Bootvis”,单击“保存”退出。从“跟踪”菜单中选择“下次引导”命令,会弹出“重复跟踪”对话框,单击“确定”按钮,BootVis将引导WindowsXP重新启动,默认的重新启动时间是10秒。系统重新启动后,BootVis自动开始运行并记录启动进程,生成启动进程的相关BIN文件,并把这个记录文件自动命名为TRACE_BOOT_1_1。程序记录完启动进程文件后,会重新启动BootVis主界面,在“文件”菜单中选择刚刚生成的启动进程文件“TRACE_BOOT_1_1”。窗口中即会出现“CPU>使用”、“磁盘I/O”、“磁盘使用”、“驱动程序延迟”等几项具体图例供我们分析,不过最好还是让BootVis程序来自动进行分析:从“跟踪”菜单中选择“系统优化”命令,程序会再次重新启动计算机,并分析启动进程文件,从而使计算机启动得更快。(3)禁用多余的服务WindowsXP在启动时会有众多程序或服务被调入到系统的内存中,它们往往用来控制Windows系统的硬件设备、内存、文件管理或者其他重要的系统功能。但这些服务有很多对我们用途不大甚至根本没有用,它们的存在会占用内存和系统资源,所以应该将它们禁用,这样最多可以节省70MB的内存空间,系统速度自然也会有很大的提高。选择“开始”菜单中的“运行”命令,在“运行”对话框键入“services.msc”后回车,即可打开“服务”窗口。窗口的服务列表中列出了系统提供的所有服务的名称、状态及启动类型。要修改某个服务,可从列表双击它,会弹出它的属性对话框(如图3),你可从“常规”选项卡对服务进行修改,通过单击“启动”、“停止”、“暂停”、“恢复”四个按钮来修改服务的状态,并可从“启动类型”下拉列表中修改启动类型,启动类型有“自动”、“手动”、“已禁用”三种。如果要禁止某个服务在启动自动加载,可将其启动类型改为“已禁用”。WindowsXP提供的所有服务有36个默认是自动启动的,实际上,其中只有8个是必须保留的(见下表),其他的则可根据自己的需要进行设置,每种服务的作用在软件中有提示。4)修改注册表来减少预读取,减少进度条等待时间WindowsXP在启动过程中会出现一个进度条,我们可以通过修改注册表,让进度条只跑一圈就进入登录画面。选择“开始”菜单中的“运行”命令,在“运行”对话框键入“regedit”命令后回车,即可启动注册表编辑器,在注册表中找HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\PrefetchParameters,选择其下的EnablePrefetcher键,把它的键值改为“1”即可。(5)减少开机磁盘扫描等待时间当Windows日志中记录有非正常关机、死机引起的重新启动,系统就会自动在启动的时候运行磁盘扫描程序。在默认情况下,扫描每个分区前会等待10秒钟,如果每个分区都要等上10秒才能开始进行扫描,再加上扫描本身需要的时间,会耗费相当长的时间才能完成启动过程。对于这种情况我们可以设置取消磁盘扫描的等待时间,甚至禁止对某个磁盘分区进行扫描。选择“开始→运行”,在运行对话框中键入“chkntfs/t:0”,即可将磁盘扫描等待时间设置为0;如果要在计算机启动时忽略扫描某个分区,比如C盘,可以输入“chkntfs/xc:”命令;如果要恢复对C盘的扫描,可使用“chkntfs/dc:”命令,即可还原所有chkntfs默认设置,除了自动文件检查的倒计时之外。2.提高系统运行速度提升系统运行速度的思路与加快启动的速度类似:尽量优化软硬件设置,减轻系统负担。以下是一些常用的优化手段。(1)设置处理器二级缓存容量WindowsXP无法自动检测处理器的二级缓存容量,需要我们自己在注册表中手动设置,首先打开注册表,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”,选择其下的“SecondLevelDataCache”,根据自己所用的处理器设置即可,例如PIIICoppermine/P4Willamette是“256”,AthlonXP是“384”,P4Northwood是“512”。(2)提升系统缓存同样也是在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”位置,把其下的“LargeSystemCache”键值从0改为1,WindowsXP就会把除了4M之外的系统内存全部分配到文件系统缓存中,这样XP的内核能够在内存中运行,大大提高系统速度。通常来说,该优化会使系统性能得到相当的提升,但也有可能会使某些应用程序性能降低。需要注意的是必须有256M以上的内存,激活LargeSystemCache才可起到正面的作用,否则不要轻易改动它。(3)改进输入/输出性能这个优化能够提升系统进行大容量文件传输时的性能,不过这只对服务器用户才有实在意义。我们可在中新建一个DWORD(双字节值)键值,命名为IOPageLockLimit。一般情况下把数据设置8~16MB之间性能最好,要记住这个值是用字节来计算的,例如你要分配10MB的话,就是10×?1024×1024,也就是10485760。这里的优化也需要你的机器拥有大于256M的内存。(4)禁用内存页面调度在正常情况下,XP会把内存中的片断写入硬盘,我们可以阻止它这样做,让数据保留在内存中,从而提升系统性能。在注册表中找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”下的“DisablePagingExecutive”键,把它的值从0改为1即可禁止内存页面调度了。(5)关闭自动重新启动功能当WindowsXP遇到严重问题时便会突然重新开机,可从注册表将此功能取消。打开注册表编辑器,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\”将AutoReboot键的Dword值更改为0,重新启动后设置即可生效。(6)改变视觉效果WindowsXP在默认情况下启用了几乎所有的视觉效果,如淡入淡出、在菜单下显示阴影。这些视觉效果虽然漂亮,但对系统性能会有一定的影响,有时甚至造成应用软件在运行时出现停顿。一般情况下建议少用或者取消这些视觉效果。选择桌面上“我的电脑”图标,单击鼠标右键,在弹出的快捷菜单中选择“属性”命令,打开“系统属性”对话框。选择“高级”选项卡,在其中的“性能”栏中单击“设置”按钮,会弹出“性能选项”对话框(如图4),可选择“调整为最佳性能”单选
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年货运代理服务与货款代收合同
- 2025年度知识产权诉讼居间代理提成保证合同3篇
- 简单水粉风景画课程设计
- 2025年度电影导演聘用及电影票务分成合同3篇
- 温度控制plc课程设计
- 2024年绿色殡葬服务草皮采购合同
- 2025年度教育培训价格保密协议范本3篇
- 2024年艺人 management 合同:演员经纪与包装
- 成都艺术职业大学《数据库实验》2023-2024学年第一学期期末试卷
- 2025版市政绿化工程造价咨询合同3篇
- (八省联考)2025年高考综合改革适应性演练 语文试卷(含答案解析)
- GB/T 45002-2024水泥胶砂保水率测定方法
- ISO 56001-2024《创新管理体系-要求》专业解读与应用实践指导材料之1:0 引言(雷泽佳编制-2025B0)
- 2024版环卫清洁班车租赁服务协议3篇
- 生产安全事故事件管理知识培训课件
- 项目施工单位与当地政府及村民的协调措施
- 药剂科工作人员的专业提升计划
- 2024-2025学年度第一学期二年级语文寒假作业第二十一天
- 贷款用设备购销合同范例
- 公务员行测真题题库及答案
- 2025支部会议记录范文
评论
0/150
提交评论