版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、经济管理学院电子商务专业MIS课程设计(2010 2011 学年第2 学期) 设计名称:理发店管理信息系统 班 级: 电商0921 - 姓 名: - 指导教师: 信管教研室 - 成 绩: - 地 点: 经管院实验室 - 序 号:11、08、25、29 2011年7月6 日目 录1 概述11.1 选题背景.11.2 系统环境.11.2.1 powerbuilder简介.1owerbuilder访问数据库.2 语言环境.22 系统分析.22.1 系统目标需求.2.3管理上的可行性.3技术上的可行性.3经济上的可行性.32.3 业务流程分析.32.4 数据流程.42.5 数据字典.53 系统设计.7
2、.7.8功能结构图.8模块说明书. .93.3 代码设计.133.4 数据库设计.14 E-R图.14 数据表设计.153.5 界面设计.16 系统登录界面.173.5.2 部门主界面.17 客户管理界面. .18 收银台管理界面.20 卡务管理界面.21 预约管理界面.22 物品管理界面.23 员工管理界面界面.25 账目管理界面界面.263.6 系统安全设计.284系统实施.284.1 数据库的实施.284.2 程序实现.295 结束语.34参考文献1 概述1.1 选题背景在计算机技术日益发展的今天,各个行业对计算机技术的要求越来越高,为了满足各行业、客户的需要,就需要开发各种软件。我们小
3、组通过网上查找资料发现理发这个行业开发的系统很少而且都是针对各个理发店量身开发的,而理发店很多,因此我们的系统就有开发的市场,理发店管理信息系统是比较容易开发,开发成本较少,开发效率较高,而且经济适用,能够提高该行业的管理效率。因此本小组决定对理发店进行开发一个理发店管理信息系统。理发店管理信息系统把先进的经营管理理念融入其中,以客户管理为切入点,结合客户管理与内部管理,形成一套完整的人、财、物、客户的管理系统,迅速提升理发店行业企业管理水平、开发和稳固客客户群,增加经济效益,是美发行业进行电脑信息化管理的理想选择。1.2 系统环境 系统是基于应用PowerBuilder9.0而设计出的的理发
4、店管理信息系统,通过实现与数据库的连接,动态的查询、添加、删除以及各种订单的处理与实现和客户经理之间的联系,实现汽车配件会计的实施, 而且可自动生成和打印报表,方便高层领导掌握信息等管理数据库的功能。owerBuilder简介PowerBuilder是著名的数据库应用开发工具生产厂商PowerSoft公司推出的产品(PowerSoft现已被数据库厂商Sybase所收购),它完全按照客户机/服务器体系结构设计,在客户机/服务器结构中,它使用在客户机中,作为数据库应用程序的开发工具而存在。由于PowerBuilder采用了面向对象和可视化技术,提供可视化的应用开发环境,使得我们利用PowerBui
5、lder可以方便快捷地开发出利用后台服务器中的数据和数据库管路系统系统的数据库应用程序1。1.2.2 PowerBuilder访问数据库PowerBuilder提供了对目前流行的大多数关系数据库管理系统的支持,由于在PowerBuilder的应用程序中对数据库访问的部分一般采用国际化标准数据库查询语言SQL,使得用PowerBuilder开发的应用程序可以不做修改或者只做少量的修改就可以在不同的后台数据库管理系统上使用。也就是说用PowerBuilder开发的应用程序是独立于服务器上的数据库管理系统的。但是其随身携带的数据库Adaptive Server Anywhere本身就是个功能强大的数
6、据库管理系统。对于小型应用来说,直接使用这个数据库是个质优价廉的选择。 语言环境为了给用户提供各个方面的支持,PowerBuilder可以运用SQL语句,具有自己的编程语言POWERSCRIPT,这个语言除了提供基本的流程控制语句,还提供了几百个函数来操纵各种对象和提供诸如DDE,OLE等方面的支持。此外我们还可以定义自己的函数,处理特定的事件。学习PowerBuilder时相当一部分的时间就是用来了解和熟悉PowerBuilder提供的各种函数。2 系统分析2.1 系统目标需求理发店管理信息系统是兼顾供应商、顾客和理发店之间的信息交流的系统,通过对各种信息系统的考察、分析,并结合企业要求,
7、而开发的一套拥有前后台的信息化管理系统。需满足以下要求:良好的人机交互界面,方便快捷的数据输入功能;灵活的查询性能,实现输入后的快捷查询,完整的条件判断,包括库存量的判断; 考虑物料的不断更新,系统可实现物料的领取和采购数据的更新; 提供简单的安全模型。店员必须有登录的权限才能登录前台系统进行操作,后台通过管理员或老板对用户的各种信息进行管理;操作简单,快速上手。2.2 开发的可行性分析 管理上的可行性把企业业务延伸到系统上面,建立理发店管理信息系统,操作界面十分简单美观,而且适用,使管理轻松方便。企业也可以通过该系统建立和维护各项业务的发展情况。因此,店员不会对此有很大的抵触情绪,可以减少工
8、作量和出错率,公司管理者对此也会给予高度赞扬。 技术上的可行性 根据系统目标需求分析得结果来看,理发店管理信息系统不需要通过购买专业软件,仅采用PowerBuilder9.0为开发工具,选择PB自带的SQL anywehere语言就可以解决相关的问题,从而保证系统功能的实现。 经济上的可行性 经济方面的可行性主要是从组织的人力、物力、财力三方面来考察系统开发的可行性2。企业在运营过程中,经常会遇到人员出错,采购不及时、 信息遗漏等问题。而本系统可以帮助企业正确的对店员、财物、客户进行管理,系统十分灵活,方便,安全,使企业与顾客间的经济活动变得更灵活、更主动。因此管理人员不必再为店员出错和服务不
9、周而烦扰,会为企业带来更多的利益。本系统开发迅速,方便,开发基本属于零成本。只需从网上下载PowerBuilder。2.3 业务流程分析客户办理会员卡就可以充值,每次消费可以直接用卡结账,不是会员的客户也可以直接用现金结账。客户美发前可以提前预约来节约时间。客户每次的消费信息由前台工作人员保存到后台,方便后台人员查看日账目明细已经员工的工作业绩。前台在仓库领取物品后要向后台录入出库信息,后台可以查看库存信息方便及时补货。主要业务流程图如下图所示:不充值充值前台客户公司领料单取货仓库补货预约美发发票存档存档卡支付回执单现金支付客户供应商品购物单存档后台工作人员 图2-1 系统业务流程图2.4 数
10、据流程结账补货D1 预约列表预约信息预约提货D4 账目明细表D5 员工资料账目明细员工资料客户信息D2客户资料P1客户管理客户店员户老板P2预约管理P5账务管理P3卡务管理P6员工管理P4物料管理务管理D6 库存列表D3 领料明细表P7收银台图2-2 系统数据流程图2.5 数据字典表2-1 数据元素描述(部分)编号标识符含义类型长度特殊说明YS01Id用户名char10YS02time时间varchar06:00:00YS03date消费日期date82011/5/13YS04ye价格decimal5 表2-2 数据流描述(部分)编号名称来源去向组成高峰流量平均流量最低流量L01员工业绩表前台
11、员工后台员工员工编号、姓名、工作日期、时间、工作项目20条/天15条/天10条/天L02客户信息客户 前台员工客户卡号、姓名、 、卡上余额200条/天120条/天40条/天L03消费选择客户收银台客户卡号、消费项目、消费金额、时间、员工编号1000条/天800条/天600条/天L04预约信息客户前台员工预约编号、客户卡号、 、日期、员工编号100条/天75条/天50条/天L05领料明细前台员工后台员工领料编号、货物货号、货物名称、领料日期20条/天11条/天2条/天表2-3 数据存储描述(部分)编号名称组成关键字存储大小CC01预约表预约编号、客户卡号、 、日期、工作人员预约编号4000条/月
12、CC02客户资料客户卡号、姓名、 、卡上余额客户卡号1000条/月CC03领料列表领料编号、货物货号、货物名称、领料日期领料编号4000条/月CC04账务明细客户卡号、消费项目、消费金额、时间、工作人员账目编号500条/月CC05员工资料员工编号、姓名、 、卡上余额员工编号1000条/月CC06库存表货物编号、货物货号、名称、数量货物货号500条/月 表2-4 数据结构描述(部分)编号SJJG01名称物品标识组成物品名称种类编号图片编号单位相关数据流物品信息、公司信息相关处理逻辑物品管理、物品查询、领料明细表2-5 处理逻辑描述(部分)编号名称输入处理输出LJ01库存管理领料出库根据前台进行领
13、料出库和后台的补货得出库存情况、查询领料明细库存列表LJ02预约管理查询要求根据客户要求进行预约操作、根据客户姓名查看预约信息预约列表LJ03员工管理员工资料对员工资料进行增、删、改、查操作,查询员工业绩更新后的员工资料LJ04客户管理查看要求查看用户的基本信息,以及客户的消费信息查询出的客户资料LJ05收银台管理消费选择对客户所选美发项目,显示商品的相关信息和用户需要支付的费用消费单LJ06卡务管理充值金额对客户账户充值,注销客户账户更新后的客户资料LJ07账目管理日期根据日期查看每日账目明细账目明细3 系统设计表3-1 系统平台设计系统平台详细设计硬件平台服务器:PIIII及以上CPU,5
14、12M内存,硬盘20G, 10/100M网络客户端:及以上软件平台操作系统:Windows XP数据库:Adaptive Server Anywhere3.2 软件总体结构设计系统结构图 理发店管理信息系统前台管理后台管理客户管理收银台管理卡务管理预约管理物品出库物品管理员工管理账目管理图31 系统结构图系统功能图前台管理客户管理收银台管理卡务管理预约管理物品管理会员卡结账消费信息查询添加新客户基本信息查询现金结账账户充值卡号注销客户预约预约查询物品出库图32 “前台管理”功能图后台管理物品管理员工管理账目管理出库记录库存查询物品出库基本信息查询工作业绩查询日账目查询月账目查询 图33 “后台
15、管理”功能图 模块说明书表3-2 “客户管理”模块说明书模块标识EC01所属子系统前台管理模块名称客户管理主要功能查看客户基本信息以及消费信息、添加新客户资料调用模块客户基本信息查询、添加新客户输 入客户信息输 出处理后的用户信息相关数据表客户资料主要内部变量客户卡号、姓名、 、卡上余额算 法1)通过全局变量记录查找的客户卡号,在“查看资料”中引用该变量,查询出该用户的资料。2)添加新的客户信息 表3-3 “收银台管理”模块说明书模块标识EC02 所属子系统前台管理模块名称收银台管理主要功能填写订单信息,购物结账调用模块VIP卡结账、现金结账输 入消费信息输 出消费单相关数据表客户资料、账目明
16、细表主要内部变量客户卡号、消费项目、消费金额、时间、工作人员编号算 法1)确定用户的消费信息2)根据用户名生成消费单表3-4 “卡务管理”模块说明书模块标识EC03所属子系统前台管理 模块名称卡务管理主要功能卡号账户充值,卡号注销,查询余额调用模块客户账户充值、卡号注销输入卡号输出更新的卡号信息相关数据表客户资料主要内部变量客户卡号、姓名、 、卡上余额算法账户充值时,输入卡号、充值金额根据选中的卡号,实现数据表删除相关内容表3-5 “预约管理”模块说明书模块标识EC04 所属子系统前台管理模块名称预约管理主要功能添加、删除客户的预约信息,根据客户姓名或员工号查看预约信息调用模块预约添加、预约查
17、询输 入客户姓名、客户 、预约员工号输 出预约信息相关数据表预约列表主要内部变量预约编号,客户姓名、客户 、预约员工号算 法1)用户提前预约,记录用户的预约信息2)查看预约列表表3-6 “物品管理”模块说明书模块标识EC05所属子系统 后台管理模块名称物料管理主要功能录入物品出库信息、查询库存、录入物品入库信息调用模块物品出库、出库明细、库存查询、物品入库输入货物编号输出出库明细、库存情况相关数据表出库明细表、库存列表主要内部变量领料编号、货物货号、货物名称、领料日期、数量算法根据前台的出库信息和后台的入库信息,计算物品库存数量,查看入库明细表3-7 “员工管理”模块说明书模块标识EC06所属
18、子系统后台管理模块名称员工管理主要功能添加新员工信息,按员工号查询员工信息,实现信息的增加和删除调用模块员工基本信息管理,员工工作业绩查询输 入员工编号输 出员工信息相关数据表员工资料,工作业绩表主要内部变量员工编号、姓名、性别、工作日期、时间、工作项目算 法根据员工编号查看员工基本信息根据员工编号查看员工工作业绩表3-8 “账目管理”模块说明书模块标识EC07所属子系统后台管理模块名称账目管理主要功能查询日、月账目明细,计算销售额调用模块日账目明细查询、月账目明细查询输 入日期输 出账目明细、销售额相关数据表账目明细表主要内部变量消费项目、金额、日期、时间算 法1)根据日期查询账目明细2)计
19、算得出总销售额3.3 代码设计 系统中对消费单编号进行了代码设计,为使消费单编号实现系统自动编码,编码采用层次码加顺序码,层次码表示年、月、日,顺序码则表示订单形成的先后次序。考虑到理发店的规模和消费单的数量,编号的顺序码采用三位。代码模型如图3-3所示。图3-3消费单编号的代码模型3.4 数据库设计 E-R图系统中主要涉及到的实体有“客户”、“造型师”、“店员”、“物品”、“老板”。实体与实体之间的联系如图3-4所示:1nn1n1111n11客户姓名 卡上余额造型师员工号号卡号姓名性别 编号金额日期项目卡号美发店员领取物品管理预约老板补货管理 职务姓名日期 员工号客户名预约编号数量编号名称货
20、号员工号编号货号数量日期名称编号货号数量图34 ER图数据表设计表3-8 ygb(员工资料表)字段名描述类型长度是否为空PK/FKzxs员工编号char10not nullPKname姓名char10not nullsex性别char2not nulldh char11nullrq进店日期datenull表3-9 managers(前台登录表)字段名描述类型长度是否为空PK/FKid用户名char10not nullPKpwd密码char10Not null表3-10 yy(预约表)字段名描述类型长度是否为空PK/FKbh预约编号char10not nullPKid客户卡号char10null
21、name客户姓名chaar10nullphone客户 char11nulldate预约日期datenullzcs预约员工编号char10null表3-11 xfei(账目明细表)字段名描述类型长度是否为空PK/FKnum账目编号char10not nullPKXfxm消费项目char20not nullje消费金额decimal5not nullid客户卡号char10nulldate消费日期datenulltime消费时间timenullzxs工作员工编号char10null表3-12 wcyl(库存表)字段名描述类型长度是否为空PK/FKbh物品编号char10not nullPKhh物品
22、代码char10not nullmc物品名称char20nullsl库存数量decimal5not null表3-13 cus(顾客资料表)字段名描述类型长度是否为空PK/FKid客户卡号char10not nullPKname客户姓名char8not nullphone客户 char11not nullye卡上余额decimal5not null表3-14 lqyl (物品出库明细表)字段名描述类型长度是否为空PK/FKhb出库明细编号char10not nullPKhh物品代码char10not nullsl出库数量decimal5not nulldate出库日期datenulltime出
23、库时间timenull系统界面风格基本一致,本着方便用户宗旨,在页面的设计上趋向于人性化,易于操作:界面清晰明了、协调一致,同样功能用同样的图形有清楚的错误提示,误操作后,系统提供有针对性的提示使用用户的语言,而非技术的语言方便退出,随时转移界面,很容易从一个界面跳到另外一个界面让用户知道自己当前的位置,使其做出下一步行动的决定 系统登录界面登录时,可以分为部门A(前台工作人员)、部分B(后台工作人员)。如图3-5所示:图3-5 登录界面 两个部门的主界面图3-6前台管理主界面 图37后台管理主界面 客户管理界面图3-8客户信息查询界面 图3-9客户基本信息查询结果界面 图3-10该客户近期消
24、费记录界面 图3-11添加新客户界面 收银台管理界面该界面是用于VIP客户结账开票,在下拉列表中选择消费项目后,自动显示消费金额,也可以自行输入,输入VIP卡号时,可以在数据窗口中显示出该用户的信息,便于与客户核对信息,避免出错,当卡号不存在时,系统会给予提示。数据库里会主动保存当前日期和时间。如图3-12所示: 图3-12会员卡结账界面 图3-13现金结账界面 卡务管理界面图3-14用户充值界面图3-15卡号注销界面 预约管理界面该页面用于客户预约,VIP客户输入卡号即可显示出姓名及 ,也可以自行输入,普通客户预约不需要输入卡号,直接登记姓名和 即可。如图3-16所示:图3-16客户预约界面
25、预约查询时,可以从客户姓名、日期、造型师3种类别进行查询。还可以删除一些出错、过期或取消的预约。如图3-17所示: 图3-17预约查询界面3.5.7 物品管理界面图3-18物品出库界面库存查询时,可以按货物名称查查询、按货号查询。如图3-19所示:图3-19库存查询界面物品出库明细可以按货号或者日期进行查询,可以查出领取物品的数量和日期时间。如图3-20所示:图3-20领料明细界面物品入库时,输入货号即可得出货物名称和库存数量。如果是新物品,数据库里不存在,则在系统提示货号不存在时,需要先添加该新物品。如图3-21所示:图3-21物品入库界面3.5.8 员工管理界面该界面可以通过员工编号对员工
26、资料进行查询,还可以对员工资料进行添加、删除操作。如图3-22所示:图3-22员工资料界面该界面可以通过员工号和日期对员工业绩进行查询,并且可以计算出总工作量。如图3-23所示:图3-23员工业绩查询界面3.5.9 账目管理界面日销售账目查询时,可以输入日期查询该工作日的账目明细,消费项目、金额、日期、时间。并且可以计算出该日的销售总额。如图3-24所示:图3-24日账目明细界面该界面可以查询一个月的账目明细,也可以直接查某个时间段的账目明细,并且可以计算出该时间段的销售总额,如图3-25所示:图3-24月账目明细界面主要针对提高数据的安全保密性方面而言:对系统中的数据库定义访问权限。如对由某
27、用户产生的数据,该用户对它具有操作权限,其他用户只有读权或无访问权。对软件的功能模块定义不同的操作权限,不同的级别,提供不同的操作。提供数据备份及恢复功能,以防系统遭到严重危害后,可恢复到较早前的状态。4 系统实施4.1 数据库的实施连接数据库xd的代码如下:/ Profile Xdsqlca.DBMS = ODBCsqlca.AutoCommit = Falsesqlca.DBParm = Connectstring=DSN=xd connect using sqlca 3;4.2 程序实现 登录代码如下:int istring id,passif id= or pass= thenmess
28、agebox(提示,密码和用户名不能为空!)sle_1.text=sle_2.text=sle_1.setfocus()else if rb_1.checked=true then select count(*) into :i from managers where id=:id and pwd=:pass; if i=1 then open(w_main) sle_1.text= sle_2.text=sle_1.setfocus() end if end if if rb_2.checked=true thenselect count(*)into :i from ht where id
29、=:id and password=:pass ;if i=1 then open(w_ht) sle_1.text= sle_2.text=sle_1.setfocus()elsemessagebox(提示,密码或用户名错误!) sle_1.text= sle_2.text=sle_1.setfocus() end ifend ifend 领料明细代码如下:if ddlb_1.text=按货号查询 thendw_1.setfilter(hh=+sle_1.text+)dw_1.filter()sle_1.text=end ifif ddlb_1.text=按日期查询 thendw_1.set
30、filter(date=date(+sle_1.text+)dw_1.filter()sle_1.text=end if if ddlb_1.text=全部显示 thendw_1.setfilter()dw_1.filter()sle_1.text=end ifVIP卡结账代码如下:sle_2的代码:int aselect count(*) into :a from cus where id=:sle_2.text;if a=1 thendw_1.settransobject(sqlca)dw_1.retrieve()dw_1.setfilter(id=+sle_2.text+)dw_1.fi
31、lter()elsemessagebox(提示,卡号不存在!)sle_2.text=end ifcb_1的代码: string i1,id,dat,dattint i,n,j,m,adat=string(today()datt=string(today(),yyyy/mm/dd hh:mm:ss)if sle_1.text= or sle_2.text= or sle_3.text= thenmessagebox(提示,不能为空!)else select count(*)into :ifrom xfei;i = i+1i1 = string(i)n=integer(sle_1.text) se
32、lect ye into :j from cuswhere id=:sle_2.text ; m=j - nupdate cus set ye=:m where id=:id;insert into xfei values(:i1,:ddlb_1.text,:sle_1.text,:sle_2.text,:dat,:datt,:sle_3.text); 4messagebox(提示,交易成功!)ddlb_1.text=其它dw_1.settransobject(sqlca)dw_1.retrieve()dw_1.setfilter(id=+sle_2.text+)dw_1.filter()sl
33、e_1.text=sle_2.text=sle_3.text=end if 月账目明细代码如下: dw_1.settransobject(sqlca)dw_1.retrieve()dw_1.setfilter(datee=date(+sle_1.text+)+ +and+ +datee=date(+sle_3.text+)dw_1.filter()预约代码如下: sle_1的代码: string j,iselect name,phoneinto :j,:i from cuswhere id=:sle_1.text ;sle_2.text=string(j)sle_3.text=string(i
34、) cb_1的代码: string i1int iif sle_2.text= or sle_4.text= or sle_5.text= thenmessagebox(提示,不能为空!)else select count(*) into :i from yy; i = i+1 i1 = string(i)insert into yy values(:i1,:sle_1.text,:sle_2.text,:sle_3.text,:sle_4.text,:sle_5.text);messagebox(提示,预约成功!)sle_1.text=sle_2.text=sle_3.text=sle_4.
35、text=sle_5.text=sle_1.setfocus()end if员工查询代码如下: cb_1的代码: if sle_2.text= thendw_1.retrieve()dw_1.setfilter(xfei_zxs=+sle_1.text+)dw_1.filter()elsedw_1.retrieve()dw_1.setfilter(xfei_zxs=+sle_1.text+ +and+ +xfei_datee=date(+sle_2.text+)dw_1.filter()end if cb_2的代码: int mm=dw_1.getitemdecimal(1,compute_2
36、)sle_3.text=string(m)物品出库代码如下: string i1 ,dattdatetime datint n,j,i,mselect count(*)into :ifrom lqyl;i = i+1i1 = string(i)dat=datetime(today(),now()datt=string(today(),yyyy/mm/dd hh:mm:ss)if sle_1.text= or sle_2.text= then messagebox(提示,不能为空)elsen=integer(sle_2.text)select sl into :j from wcyl where hh=:sle_1.text ; m=j - n update wcyl set sl=:m where hh=:sle_1.text; insert into lqyl values(:i1,:sle_1.text,:sle_2.text,:dat,:datt); messagebox(提示,录入成功!) sle_1.text= sle_2.text=sle_1.setfocus()end if预约代码如下: sle_1的代
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 存量房交易协议样本(2024修订)
- 城市中心酒店业务合作与承包协议范本
- 高端住宅装修工程承包示范协议
- 航空意外保险合同范本
- 水杯定做合同范本
- 沥青材料合同范本
- 智研咨询发布-2025年中国被褥行业市场运行态势及发展趋势预测报告
- 新房约定合同范本
- 网费项目合同范本
- 齐齐哈尔大学《设计考察》2022-2023学年第一学期期末试卷
- 临床医学职业生涯规划
- 《电力建设施工技术规范 第3部分:汽轮发电机组》DLT 5190.3
- 重大版小学英语六年级上册全册教案
- 跌倒坠床护理个案分析
- 火力发电厂施工图设计内容深度规定
- 酒店经理管理酒店运营
- 园长进班指导制度方案及流程
- 装修垃圾清运处置方案
- JC-T 2536-2019水泥-水玻璃灌浆材料
- 品牌授权协议书
- 艺术设计就业职业生涯规划
评论
0/150
提交评论