




免费预览已结束,剩余72页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电信终端计费系统开发1. 1系统设计1.1.1 系统功能分析终端计费系统开发的目的是能够实现对不同型号的程控交换机对计费中心定时或即时传下来的原始话单信息进行及时准确的分类、查询、浏览、修改、删除、统计、话单信息的打印等。能够及时查询客户的通话数据,避免引起话费争议,提高客户的满意度。使管理更科学、更方便、更合理。同时,也能够帮助电信计费有关人员提高工作效率和服务质量。为电信局减少不必要的损失。从而有效的提高电信局经济的效益。通过对电信局计费中心日常工作的分析,可将终端计费系统的功能概括成如下方面。(1) 号码管理:包括固定电话和公用电话基本信息的录入、修改、删除、查找、添加、查询等管理。(2) 字冠管理:包括固定电话和公用电话地方基本字冠的录入、修改、删除、查找、添加、查询等管理。(3) 原始话单管理:包话对程控交换传下来的原始话单信息的导入、浏览、删除等管理。(4) 费率管理:包括固定电话和公用电话基本费率的录入、修改、删除、查找、添加、查询等管理。(5) 关于系统:对有关系统的简介和对用户的管理(包括用户注册、用户删除、用户修改)。(6) 计费统计管理:即时计费、定时周期计费、对已统计的计费表的浏览(包括对统计表的删除、删除统计表的字段、对最近操作进行恢复、查看统计表)等管理。考虑系统的安全性,需要对用户进行安全认证,因此还需要实现以下系统用户的管理功能。(1) 用户登录认证。(2) 用户管理,包括用户注册、删除用户、修改用户信息等(只有高级管理员才有此权限)。(3) 登录日志的记录和删除日志(只有高级管理员才有此权限,普通用户只能对数据进行浏览)。1.1. 2系统功能模块设计根据系统所要实现的功能,按照结构化程序设计的原则将整个系统划分为如图1-1所示的若干个功能模块。关于系统登录日志系统管理删除日志用户管理号码添加号码查询号码管理号码修改呈码删除字冠添加计费统计计费系统原始话单话单浏览定时计费即时计费话单浏览话单删除话单导入费率管理费率删除费率修改费率添加字冠管理字冠删除字冠修改图1-1 计费系统功能模块图1.1.3 操作流程图根据系统功能模块的划分和计费管理系统的实际工作流程,画出如图1-2所示的计费管理系统操作流程图。 启动系统登录认证 字冠管理原始话单固话管理公话管理费率管理话单库即时、定期计费话费统计话单库浏览添加修改删除查找导入字冠表费率表公话表固话表话单库计费系统库图1-2 计费系统操作流程图2.1数据库设计 2.1.1 数据库需求设计在前面的1.1节里已经对计费系统操作流程进行了分析,在它的基础上,我们可以列出以下计费管理系统所需的数据项和数据结构。(1) 固话表:号码、地名、基本月租等。(2) 公话表:号码、地名、基本月租等。(3) 字冠表:地名、类型、本地字冠号(4) 费率表:主叫类型、通话类型、日期类型、费率、首次三分钟等。(5) 登录日志:工号、登录日期等(6) 用户注册:工号、密码、密码验证等。2.1.2 数据库概念结构的设计access 数据库是office xp 软件包中的产品之一,是一个关系数据库(rdbms),与其他的关系数据库管理系统相比,access具有简单易学、方便实用等特点,易于开发数据库应用程序。 access通过数据库的方式来处理数据,在access的数据库中包含了表、表之间关系、查询、报表、宏和数据访问页等对象。其实可以把数据库看成是一个相关对象的容器,创建数据库是使用access进行数据处理的第一步。在access中可使用以下三种方法创建数据库:(1) 用数据库向导创建数据库;(2) 创建空的数据库;(3) 用现有文件创建数据库;本系统所采用的数据库就是通过access(数据库向导)来创建的。而且要创建三个数据库:计费系统库、话单库、统计库。2.1.3 数据库逻辑结构设计 从图1-2 计费系统操作流程图,可以看得出要建立六个基本的数据表来存储系统所必备的信息。这六个表分别为固话表、公话表、字冠表、费率表、登录日志表、用户注册表。实际上,还要建立统计表。但统计表的建立是在进行计费时通过程序来完成建立过程的。后面的章节会介绍到关于这方面的内容。六个数据表的结构如表2.1到表2.6所示。 表2.1 固话表 字段名称数据类型 id自动编号 号码数字 地名文本基本月租数字表2.2 公话表 字段名称数据类型 id自动编号 号码数字 地名文本基本月租数字表2.3 字冠表 字段名称数据类型 id自动编号 地名文本 类型文本本地字冠号数字 表2.4费率表 字段名称数据类型 id自动编号 主叫类型文本 通话类型文本费率文本日期类型 文本 首次三分钟货币 表2.5 字冠表 字段名称数据类型 id自动编号 工号文本登录日期日期时间表2.6 用户注册表 字段名称数据类型 id自动编号 工号文本 密码文本密码确认文本 2.1.4 数据库的创建 创建数据库时可以先创建一个空数据库,然后往数据库中添加相应的对象,这是一种较复杂但又非常灵活的创建数据库方法。创建数据库的步骤如下。(1) 在access中执行 文件 新建 命令,出现 新建文件 对话框。(2) 在新建文件 对话框中选择 新建 选项中的 空数据库, 弹出文件新建数据库 对话框;(3) 在 文件新建数据库 对话框中选择保存文件的位置并输入要创建的数据库名称,然后单击 创建 按钮,出现如图2-1所示的数据库窗口。空数据库创建完毕。 图2-1 数据库窗口2.1.5 数据表的创建 创建表其实就是创建表的结构,表的结构包括表中每个字段的字段名、字段的数据类型和字段属性,为表中的每个字段设置好字段名、字段的数据类型和字段属性后,表也就创建好了。创建表之前首先需要打开数据库窗口,然后在数据库窗口中通过以下四种方法进行创建:(1) 通过输入数据创建表;(2) 使用表向导创建表;(3) 使用表的设计视图创建表;(4) 通过导入或链接已有的数据创建新表;一般采用“使用表向导创建表”来创建表,本系统所用到的表大部分都采用此方法来创建表。2.1.6 数据库版本的转换本系统采用数据控件的形式访问数据库,visual basic 6.0 中的数据控件不支持access 2000以上版本的格式数据库,为了访问数据库,必须将高版本格式的数据库转化为低版本的数据库格式。具体操作如下:用高版本的access打开数据库文件.mdb,执行 工具 数据库实用工具 转换数据库 到早期access数据版本 命令,输入新的数据库文件路径及文件名,单击 确定 即可。将数据转换成较低版本后,不能在数据库直接修改数据库中表的结构。如果需要修改,必须将它转换回高版本的access数据库格式后才能修改,修改完后再转换成低版本格式的数据库。2.3 工程文件及主窗体的创建数据创建完后,下一步就到系统功能的开发和实现。本系统采用中文版visual basic 6.0 来编写,而用dao作为数据访问的对象。2.3.1 创建工程文件启动visual basic 6.0,新建一个工程文件,为工程添加必要的引用对象和部件库,执行 工程 引用命令,打开引用对话框,在可用的引用列表框中选择“microsoft dao 3.6 object library”。这样工程中就可以使用dao对象库了。引用对话框界面如图2-2所示,其中前4项是系统创建工程时自动添加的。 图2-2 引用 对话框 系统中还需要使用表格来显示数据和插入一个音效来播入一个音频文件,为此需要给工程添加表格部件和音效对象。添加方法:执行 部件命令,打开部件对话框,在控件选项卡中选择microsoft datagrid control 6.0(oledb),在插入对象选项卡中选择音效,然后点击确定按钮,相应的控制件就会被添加到工具箱上。保存工程,工程文件命名为工程1。2.3.2 主控模块的设计 为了提高系统的安全性,用户必须通过登录认证才能使用本系统。程序运行后首先显示的是登录窗体,用户输入正确的工号和密码才能启动主窗体。为了实现这个功能,一种解决办法是将窗体设为启动模块,另一种办法是将启动模块设置为main过程,在main过程中显示登录模块进行登录认证,根据认证结果确定是否显示主窗体。本系统采用的是第一种方法。 在工程文件中执行工程 工程1属性命令,打开工程1属性对话框,在通用选项卡的启动对象列表框选取form1(登录模块),单击确定 按钮。如图2-3所示。图2-3 工程1属性 对话框2.4 模块变量2.4.1 变量的定义在程序中,常用变量来临时存储数据,每个变量声有属于自己的名字和数据,变量的名字简称为变量名,变量的类型决定该变量可存储哪种类型的数据,以及变量作用的范围。全局变量的作用域是整个应用程序。局部变量的作用域只是在过程中可用。在这里我们先介绍本系统设计要用到的一些全局变量,而一些局部变量过程中用到再做介绍。全局变量只能在模块(module1)中定义,且必须用public关键字定义。因此,首先要在工程中添加一个module1模块。添加模块的方法:在工程里执行 工程 添加模块 命令,就可以在工程中添加一个module1模块,本系统的module1模块中定义以下变量: public dirtablenamepublic t, strar public v 判断是否结算过public gonghao, gonghao1public p 判断登录级别public dingshihourpublic dingshiname12.5 登录模块的创建2.5.1窗体的创建执行工程 添加窗体命令,给工程添加一个新窗体,窗体的主要属性设置如表2-7所示 表2-7登录窗体属性 属性名属性值说明 名称form1窗体名称 caption登录窗体标题 picturebittamp窗体背景图片startuppositoon2-屏幕中心启动后居屏幕的中心2.5.2登录窗体实现的功能 窗体右上角有日期和时间的显示。“计费系统”标题反复从右向左移动。向文体框输入密工号和密码后,通过过单击“确认”,验证工号和密码有效后,方可进入主界面。同时,如果是试用本系统,系统会提示只能试用4次,超过了第4次,就无法再进入主界面,如果你想继续使用本系统,就必须输入本软件提供的序列号。输入了序列号后就可以永久的使用本软件。2.5.3窗体界面的设计登录窗体界面布局如图2-4所示(图中标有主要控件的名称)而在试用期间系统会有相关的提示如图2-5和2-6所示。 图2-4 登录窗体界面 图2-5 序列号输入窗口 图2-6 提示框 所用到的控件包括:label、text、command、timer、data1。主要控件的属性如表2-8所示。 属性名属性 属性值说明 label3caption工号标签 label4caption 密码标签 label1 caption计费系统标签 command1(0)caption 确定按扭控件 command1(1)caption 取消按扭控件 text1(0)borterstyle 1-fixed single文本框 text1(1)borterstyle1-fixed single文本框2.5.4登录窗体功能的实现功能实现的代码如下: option explicit dim i as integer dim examdb as database dim examtbl as tabledef dim b, name1, now1 private sub command1_click(index as integer) dim name as string dim password as variant if text1(0).text = or text1(1).text = then msgbox 用户名和密码不能为空! exit sub end if data1.databasename = app.path + 计费系统 data1.recordsource = 用户注册 data1.refresh name = 工号= & text1(0).text & data1.recordset.findfirst name if data1.recordset.nomatch = false then if data1.recordset.fields(密码).value = text1(1).text then name1 = text1(0).text now1 = now data1.databasename = app.path + 计费系统 data1.recordsource = 登录日志 data1.refresh data1.recordset.addnew data1.recordset.fields(工号).value = text1(0).text data1.recordset.fields(登录日期).value = now data1.recordset.update gonghao = text1(0).text load form2 启动主界面 form2.show unload form1 exit sub end if goto z elsez: i = i + 1 if i = 3 then unload form1if i 3 then msgbox (输入有误!输入三次不正确将自动退出!) end if end sub private sub command2_click() unload form1 end sub private sub form_activate() dim a, c dim xiluehao text1(0).setfocus c = dir(app.path + 购买1) if c = theng: xiluehao = inputbox(为了您能够长期的使用本软件,请您输入-本软件提供正规的序列号!, 序列号) if xiluehao then if xiluehao = trim(123456789) then kill (app.path+购买2) open app.path + 购买1 for random as #4 len = 20 put #4, 1, xiluehao close #4 msgbox 欢迎使用本软件! else msgbox 输入的是无效的序列号! goto g end if else a = dir(app.path + 购买2) if a = then b = 1 open app.path + 购买2 for random as #3 len = 20 put #3, 1, b close #3 end if open app.path + 购买2 for random as #3 len = 20 get #3, 1, b if b 4 then msgbox 警告:该软件已经过期,请购买正式版!, 48, -注意 close #3 end end if if b 4 then msgbox 这是你第 + str(b) + 次试用本软件,你还可以试-用 + str(4 - b) + 次! else msgbox 这是你第 + str(b) + 次试用本软件, 这是最后-一试用。如果你要继续使用,请购正版! end if b = b + 1 put #3, 1, b close #3 end if end ifend subprivate sub form_load() i = 0 timer1.enabled = trueend sub private sub timer1_timer() if label1.left + label1.width 0 then label1.move label1.left - 200 else label1.left = label1.width end if label2(0).caption = format(date, dddddd) label5.caption = format(time, ttttt)end sub动态变量i是用来记录用户登录失败的次数,如里连续4次登验证失败,则退出整个系统。而动态变量b是用来记录试用本软件的次数,如果试用已经超过4次则不能再继续试用。要继续使用必须输入本软件提供的系列号。否则,将无法登录到主界面。2.6 系统主界面模块的创建2.6.1 模块分析 主界面模块实现为计费系统提供各种有关计费重要的操作项目,为用户提供一个简洁、方便的人机操作界面。2.6.2 窗体的创建 执行工程 添加窗体命令,给工程添加一个新窗体,窗体的主要属性设置如表2-9所示 表2-9主界面窗体属性 属性名属性值说明 名称form2窗体名称 captionform2窗体标题 picturebittamp窗体背景图片startuppositoon2-屏幕中心启动后居屏幕的中心borderstyle1-fixed single窗体固定边界,禁止用户改变大小将窗体保存为form2.frm。2.6.3 模块主界面的设计 在窗体上添加控件。窗体布局运行结果如图2-7所示。 主要控件属性如表1-9所示。 三个标签label1、label2、label3。两个timer控件:timer1、timer2。6个单选钮,option1option6。两个命令按钮command1、command2。一个data1。图2-7主界面表2-9 主界面窗体主要控件属性 控件属性属性值说明option1caption号码管理option2caption字冠管理option3caption系统管理单选框option4caption费率管理option5caption计费统计option8caption原始话单label1caption计费系统option font宋体option、label1这两个属性值设置一label1fontcolor&hooooooff& 样timer1timer1interval50时钟确定command1 caption退出命令按钮command2font宋体fontcolor&hococoff&应该注意的是data1、label2和label3的属性是在程序运行过程中通过命令赋给的。label1用来显示当前时间和日期,label3用来提示是否已经到了定期计费的时间。data1数据控件用来存取数据库信息。当定期计费时间到时,通过命令自动指向在文件统计库.mdb里新成的统计数据表,以便于在表中添加数据。2.6.4 模块功能实现的代码 option explicit dim examdb as database dim examtbl as tabledef dim examfld(4) as field dim zjhm, pjhm, qssj, zcsj dim dingshiname dim i 确定字体颜色的改变*退出*private sub command1_click() unload form2end sub*label1文字标题颜色改变*private sub form_click()if i = 1 then label1.forecolor = &hff0000 i = 2else label1.forecolor = &hff& i = 1end ifend subprivate sub form_load() i = 1 timer1.enabled = trueend subprivate sub command2_click() dim msg as integer if option2.value then 字冠管理 load form7 form7.show end if if option1.value then 号码管理 form9.show end if if option5.value then 启动进行计费 load form10 form10.show end if if option8.value then load form3 启动原始话单 form3.show end if if option4.value then load form6 启动费率管理 form6.show end if if option3.value then 系统简介 form8.show end ifend subprivate sub timer1_timer() 判断是否到结算日期 open app.path + 定时周期 for random as #5 len = 20 get #5, 1, t 定时日期 get #5, 3, dingshihourget #5, 2, v 是否结算过 if val(t) day(now) or val(dingshihour) hour(now) then v = 0 put #5, 2, v else if v 2 then 没有结算过 label3.caption = 今天是结算日期!正在导入数据. close #5*表的生成* dingshiname = app.path + 话单 + trim(str(month(now)_ + trim(str(day(now) 话单存在放的路径 dingshiname1 = trim(str(month(now) + trim(str(day(now) set examdb = opendatabase(app.path + 话单库) set examtbl = examdb.createtabledef(dingshiname1) with examtbl set examfld(0) = .createfield(主叫号码, dbtext, 15) set examfld(1) = .createfield(被叫号码, dbtext, 15) set examfld(2) = .createfield(起始时间, dbtext, 50) set examfld(3) = .createfield(终止时间, dbtext, 50) .fields.append examfld(0) .fields.append examfld(1) .fields.append examfld(2) .fields.append examfld(3) end with set examdb = opendatabase(app.path + 话单库) data1.databasename = app.path + 话单库 data1.recordsource = dingshiname1 data1.refresh open dingshiname for input as #1 on error resume next examdb.tabledefs.append examtbl 添加表 set examdb = opendatabase(app.path + 话单库) data1.refresh while not eof(1) input #1, zjhm, pjhm, qssj, zcsj data1.recordset.addnew data1.recordset.fields(主叫号码).value = zjhm data1.recordset.fields(被叫号码).value = pjhm data1.recordset.fields(起始时间).value = qssj data1.recordset.fields(终止时间).value = zcsj data1.recordset.update wendclose #1 label3.caption = dingshiname1 + 话单 + 成功导入数据库! label3.caption = timer1.enabled = false strar = true on error resume next unload form12 form12.show end if end if close #5end subprivate sub timer2_timer() label2.caption = nowend sub以上代码完成了系统主界面所需要的各种功能的实现。可以任意在主界面上选择其功能,从而进入系统其它下一级界面执行相应的操作。除此之外,还可以判断是否已经到结算日期,是否已经结算过等功能。2.7 系统管理模块2.7.1 模块分析 系统管理管理模块实现对系统安全的管理,包括了关于系统说明、登录日志的记录、登录日志的删除、用户管理。而用户管理又包括了用户的注册、用户修改、用户的删除。用户管理包括的功能只有高级管理员才有权限对此进行操作,其它普通管理员无权对此做任何操作。关于系统功能和登录日志功能在同一个界面上交叉显示,单击关于系统则在界面上显示关于系统的说明;单击登录日志在界面上则显示登录日志的内容(工号和登录日期)。而单击用户管理时则启动用户管理界面。在用户管理界面上又可以根据其功能进行相应的操作。2.7.2 窗体的创建在工程中新建一个窗体,将窗体保存为系统简介.frm。窗体主要属性设置如表2-10所示。 表2-10主界面窗体属性 属性名属性值说明 名称form8窗体名称 caption系统简介窗体标题 picturebittamp窗体背景图片startuppositoon2-屏幕中心启动后居屏幕的中心borderstyle1-fixed single 窗体固定边界,禁止用户改变大小2.7.3 系统管理模块界面的设计在窗体上添加控件,label1、data1、dbgrid1、frame1、command1command4。label1用来写存放关于系统的一些说明,data1用来访问数据库,dbgrid1用来绑定登录日志表的字段并显示相关信息。frame1用来对外观起到美化作用。command1 command4作为命令按钮用。主要控件的属性设置如表2-11所示。 表2-11 主要控件的属性 控件属性属性值说明label1 caption关于系统内容文本框command1caption关天系统command2caption登录日志command3caption删除日志命令按钮command4caption用户管理datasourcedata1dbgrid1caption计费系统数据网格控件dbgrid1label1visible flase隐藏不可见command1font宋体 命令按钮command4fontcolor &h80000008& 设置好各项属性后,运行界面如图2-8所示 图2-8 系统管理界面2.7.3.1 系统管理界面功能实现的相关代码option explicit private sub command1_click()*关于系统的文字说明* label1.caption = chr(13) + 本系统是利用visual basic_ 语言为背景进行编写的 , 由于时间有限和技术的不成熟_ 系统许多功能都未能很好的完善,今后有时间一定会._ + chr(13) + chr(13) + _ 创建时间:2005-04-12 + chr(13) + chr(13) + _版本: myflove dbgrid1.visible = false command3.enabled = false end subprivate sub command2_click() command3.enabled = true label1.caption = data1.databasename = app.path + 计费系统 data1.recordsource = 登录日志 data1.refresh dbgrid1.visible = trueend subprivate sub command3_click() dim prompt, mbook if p = 1 then if dbgrid1.selbookmarks.count = 0 then msgbox 请选择要删除的记录! exit sub else prompt = msgbox(确定要删除所选定记录吗?, vbyesno, 删除选定记录) if prompt = vbno then exit sub else for each mbook in dbgrid1.selbookmarks with data1.recordset .bookmark = mbook .delete end with next data1.refresh end if end if else msgbox 只有高级管理员才有此权限! exit sub end ifend subprivate sub command4_click() form16.showend sub判断是不是高级管理员private sub form_load() p = 0 data1.recordsource = 用户注册 data1.refresh data1.recordset.movefirst if data1.recordset.fields(工号).value = gonghao then p = 1 end ifend sub以上代码,就是实现系统管理模块的各项功能。需要注意的是变量p是用来判断登录的是否是高级管理员。为下面将要介绍的系统管理中用户管理子窗体模块的一些功能是否开通或封闭打上一个标记,p=0为普通用户,系统将会自己识别,并封闭一些功能:p=1为高级用户,可以对任何功能进行操作。从而达到系统的安全性。2.7.3.2 用户管理子窗体模块用户管理功能是系统管理模块扩展的一个功能,当单击用户管理,便会跳出一个子窗体。在此窗体上可以注册用户,修改用户,删除用户等操作。当是高级管理员在操作时,系统就通过data1对数据库进访问,把工号、密码、密码确认等相关内容写入数据库里的日志表里,操作界面如图2-9所示。如果不是高级管理员在操作则在执行某项功能前会有如图2-10的提示框,单击提示框确定后,数据信息将不会被保存到数据库里。用户管理模块的实现:在窗体上添加控件,label1label3、data1、frame1、command1command3。因为用到的控件较少,控件属性的设置也比较简单,具体的属性设置和前面所介绍的相似。在此就不做详细介绍。 图2-9 高级用户管理界面图2-10 普通用户管理界面2.7.3.3 用户管理子窗体模块功能实现的代码如下 option explicit dim examdb as database dim examtbl as tabledef dim examfld(7) as field dim gonghao11private sub command1_click()if p = 1 then if text1.text = or text2.text = then msgbox 工号和密码不能为空! exit sub end if if text3.text = then msgbox 请输入密码确认! text2.text = exit sub end if gonghao11 = 工号= + text1.text + data1.recordset.find
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省汕尾市宾馆消防安全测试题六(含答案)
- 2025年国家开放大学(电大)《金融与投资》期末考试备考试题及答案解析
- 2025年国家开放大学《机械设计基础》期末考试备考试题及答案解析
- 2025年国家开放大学(电大)《人类遗传学》期末考试备考试题及答案解析
- 软件服务协议书标准文本
- 2025年国家开放大学《化学》期末考试备考试题及答案解析
- 2025年国家开放大学(电大)《法国文学欣赏》期末考试备考试题及答案解析
- 2025年国家开放大学(电大)《儿童教育心理学》期末考试备考试题及答案解析
- 2025年国家开放大学《计算机基础原理》期末考试备考试题及答案解析
- 2025年国家开放大学(电大)《商务沟通与写作》期末考试备考试题及答案解析
- 短视频拍摄与后期制作(中职)PPT完整全套教学课件
- GB/T 42695-2023纺织品定量化学分析木棉与某些其他纤维的混合物
- 某培训基地可行性研究报告
- YY/T 1617-2018血袋用聚氯乙烯压延薄膜
- GB/T 39965-2021节能量前评估计算方法
- 尿动力学检查操作指南2023版
- 五星领导人课件
- GB/T 22560-2008钢铁件的气体氮碳共渗
- 《大体积混凝土》课件
- 日本产业发展及文化讲义课件
- 中北大学火炮概论终极版
评论
0/150
提交评论