企业研发设计信息管理系统的设计与实现硕士学位论文.doc_第1页
企业研发设计信息管理系统的设计与实现硕士学位论文.doc_第2页
企业研发设计信息管理系统的设计与实现硕士学位论文.doc_第3页
企业研发设计信息管理系统的设计与实现硕士学位论文.doc_第4页
企业研发设计信息管理系统的设计与实现硕士学位论文.doc_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电 子 科 技 大 学 UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA 工程硕士学位论文 MASTER THESIS FOR PROFESSIONAL DEGREE 论文题目 企业研发设计信息管理系统的设计与实现企业研发设计信息管理系统的设计与实现 专业 学位 类别 工程硕士工程硕士 学 号 201192040315 作者姓名 陈陈 兵兵 指导教师 刘大刚刘大刚 副教授副教授 分类号 密级 UDC 注 1 学 位 论 文 企业研发设计信息管理系统的设计与实现企业研发设计信息管理系统的设计与实现 (题名和副题名) 陈陈 兵兵 (作者姓名) 指导教师 刘大刚刘大刚 副教授副教授 电子科技大学电子科技大学 成成 都都 贾 玮 高级工程师 同方威视科技股份有限公司 北京 (姓名、职称、单位名称) 申请学位级别 硕士硕士 专业学位类别 工程硕士工程硕士 提交论文日期 2014.03.15 论文答辩日期 学位授予单位和日期 电子科技大学 年 月 日 答辩委员会主席 评阅人 注 1:注明国际十进分类法 UDC的类号。 Design and Implementation of Enterprise Information Management Systems R /用户名不合法提示 useBox1.Focus(); /光标移动到用户名textbox下 return; 第五章 系统详细设计与实现 39 else if (textBox2.Text.Trim() = ) MessageBox.Show(用户密码不能为空,请输入正确的密码!, 错误提示!); /用户密码错误提示 textBox2.Focus();/光标移动到用密码textbox下 return; this.Text = 正在验证登录. .; this.Cursor = System.Windows.Forms.Cursors.WaitCursor; string psw = DBManager.GetMD5Str(textBox2.Text.Trim(); /调用MD5加密算法 /通过数据查询用户信息 DBManager db = new DBManager();/调用数据链接类 MessageBox.Show(用户名错误,请确认用户名!, 错误提示!); this.Cursor = System.Windows.Forms.Cursors.Arrow; this.Text = 登录; textBox1.Text = ; textBox2.Text = ; textBox1.Focus(); else if (ds.Tables0.Rows0.ItemArray0.ToString().Trim() = psw.Trim() /调用算法进行MD5密码比较 Form_BLJ F_BLJ = new Form_BLJ(); this.Cursor = System.Windows.Forms.Cursors.Arrow; this.Text = 登录; F_BLJ.Show(); this.Hide(); DBManager.sqlConn.Close(); if (DBManager.userInfo3 = 是)/通过标识符确定是否首次登录,首次登 录进行提示 MessageBox.Show(未设置个人信息,” MessageBoxIcon.Warning); Form_FindCode F_FindCode = new Form_FindCode(); F_FindCode.Show(); else MessageBox.Show(密码错误!请输入正确的密码, 提示);/密码错误提示 this.Cursor = System.Windows.Forms.Cursors.Arrow; this.Text = 登录;登录异常!); this.Cursor = System.Windows.Forms.Cursors.Arrow; this.Text = 登录; textBox1.Text = ; textBox2.Text = ; textBox1.Focus(); finally 5.2 图号申请模块的设计与实现 5.2.1 界面设计 电子科技大学硕士学位论文 40 图号申请管理主要包括图号基础资料维护、图号申请、图号维护和图号查询 几个主要模块,如图 5-3 所示,其中图号基础资料维护主要为新增 1 级图号目录, 图号申请界面填写图号相关信息并提交系统数据库处理,图号维护界面对图号进 行修改、删除等操作,图号查询界面,主要通过各种查询条件反面简洁的获得需 要的图号信息。图号申请界面如图 5-4 所示,图号维护界面如图 5-5 所示,图号 查询界面如图 5-6 所示,图号基础资料维护界面如图 5-7 所示 图 5-3 图号管理主界面 第五章 系统详细设计与实现 41 图 5-4 图号申请界面 图 5-5 图号维护界面 电子科技大学硕士学位论文 42 图 5-6 图号查询界面 图 5-7 图号自己资料维护界面 5.2.2 流程图 图号管理模块系统流程图见图 5-8 所示。 第五章 系统详细设计与实现 43 图 5-8 图号申请模流程图 5.2.3 核心数据结构与代码 private void Form_DrawSystem_Load(object sender, EventArgs e) DBManager db = new DBManager(); DBManager db1 = new DBManager(); textBox2.Text = DBManager.userInfo0; textBox2.Enabled = false; dataGridView1.ContextMenuStrip = this.contextMenuStrip1; dataGridView2.ContextMenuStrip = this.contextMenuStrip1; /数据库查询Draw_ID赋值给combox1 DataTable dt = db.GetDataTable(select Draw_Number1 from BLJ_DrawNumber group by Draw_Number1); for(int i=0;idt.Rows.Count;i+) comboBox1.Items.Add(dt.RowsiDraw_Number1); DataTable dt1 = db.GetDataTable(select * from BLJ_Product where Product_New=是 and Product_End=否 order by Product_StartTime desc); for (int i = 0; i dt1.Rows.Count; i+) 电子科技大学硕士学位论文 44 comboBox2.Items.Add(dt1.RowsiProduct_ID); RefreshData(); comboBox4.Items.Add(图号); comboBox4.Items.Add(产品令号); comboBox4.Items.Add(名称); comboBox4.Items.Add(申请人); comboBox4.Items.Add(备注); comboBox4.Text = 图号; public bool YesOrNo(string no) DBManager db = new DBManager(); DataTable dt = db.GetDataTable(select Draw_Number1 from BLJ_DrawNumber group by Draw_Number1); for (int i = 0; i dt.Rows.Count; i+) if (no =dt.RowsiDraw_Number1.ToString().Trim() return false; return true; public void RefreshData() try string sqlStr = ; DataSet ds = new DataSet(); sqlStr = select * from BLJ_Draw order by Draw_ID desc; ds = DBManager.GetDataFormDB(sqlStr); if (ds != null) dataGridView1.DataSource = ds.Tables0; dataGridView1.Columns0.HeaderText = 产品令号; dataGridView1.Columns0.Width = 100; dataGridView1.Columns1.HeaderText = 图号; dataGridView1.Columns1.Width = 100; dataGridView1.Columns2.HeaderText = 名称; dataGridView1.Columns2.Width = 120; dataGridView1.Columns3.HeaderText = 产品型号; dataGridView1.Columns3.Width = 180; dataGridView1.Columns4.HeaderText = 申请人; dataGridView1.Columns4.Width = 100; dataGridView1.Columns5.HeaderText = 申请日期; dataGridView1.Columns5.Width = 120; dataGridView1.Columns6.HeaderText = 备注; dataGridView1.Columns6.Width = 200; Else if (comboBox2.Text = ) MessageBox.Show(请输入正确的令号); else if (comboBox1.Text = ) MessageBox.Show(请输入正确的顶级图号); else if (YesOrNo(comboBox1.Text.Trim() 第五章 系统详细设计与实现 45 MessageBox.Show(该图号顶级图号不存在,请点击确认后新增顶级图号, 警告); Form_DrawBasewh F_DrawBasewh = new Form_DrawBasewh(); F_DrawBasewh.Show(); else DBManager db = new DBManager(); /string sqlStr = ; /DataSet ds = new DataSet(); /sqlStr = select * from BLJ_Draw where Draw_ID=+comboBox1.Text+order by Draw_ID desc; /ds = DBManager.GetDataFormDB(sqlStr); /string str1 = str.Remove(6,3); /str1 = str1 + test; /MessageBox.Show(str1); DataTable dt = db.GetDataTable(select MAX(convert(int,Draw_Number2) as Number2 from BLJ_DrawNumber where Draw_Number1= + comboBox1.Text + ); string str2 = dt.Rows0Number2.ToString(); int value2 = Convert.ToInt32(str2); / MessageBox.Show(str2); value2+; /MessageBox.Show(tostr(value2); str2 = value2.ToString(); str2 = str2.PadLeft(3, 0); / MessageBox.Show(str2); string str1 = comboBox1.Text; string str = str1 + . + str2; db.UpdataDB(sqlstr1); /字符串分解为2部分:头和尾 /string headStr = str.Substring(0, str.Length - 3); /string subStr = str.Substring(str.Length - 3); /int value = Convert.ToInt32(subStr); /value+; /subStr = value.ToString(); /新的尾如果不足3位则补0 /subStr = subStr.PadLeft(3, 0); /得到新的字符串 /str = headStr + subStr; string sqlstr = insert into BLJ_DrawNumber values( + comboBox1.Text.Trim() + , + str2 + ,); db.UpdataDB(sqlstr); / MessageBox.Show(sqlstr); try string sqlStr = ; DataSet ds = new DataSet(); sqlStr = select * from BLJ_Draw where Draw_Time = +dateTimePicker1.Value+ and Draw_User=+textBox2.Text.Trim()+; ds = DBManager.GetDataFormDB(sqlStr); if (ds != null) dataGridView1.DataSource = ds.Tables0; dataGridView1.Columns0.HeaderText = 产品令号; dataGridView1.Columns0.Width = 100; dataGridView1.Columns1.HeaderText = 图号; dataGridView1.Columns1.Width = 100; 电子科技大学硕士学位论文 46 dataGridView1.Columns2.HeaderText = 名称; dataGridView1.Columns2.Width = 120; dataGridView1.Columns3.HeaderText = 产品型号; dataGridView1.Columns3.Width = 180; dataGridView1.Columns4.HeaderText = 申请人; dataGridView1.Columns4.Width = 100; dataGridView1.Columns5.HeaderText = 申请日期; dataGridView1.Columns5.Width = 120; dataGridView1.Columns6.HeaderText = 备注; dataGridView1.Columns6.Width = 200; 5.3 令号申请模块的设计与实现 令号申请主要用户管理公司令号,通过研发生产部门提请令号,并确定日期, 最终生产结束结案的模块。 5.3.1 界面设计 令号管理模块主要包括令号申请、令号维护、令号结案以及令号查询等基础 模块,下面就具体的模块详细实际界面介绍如下,其中令号申请模块由令号编码、 名称以及开始和结束日期等组成,界面如图 5-9 所示,令号维护界面主要对申请 后的令号进行删除、修改等操作,界面如图 5-10 所示,在令号生产结束需对令号 进行结案,令号结案界面如图 5-11 所示 第五章 系统详细设计与实现 47 图 5-9 令号申请界面 图 5-10 令号维护界面 图 5-11 令号结案界面 电子科技大学硕士学位论文 48 5.3.2 流程图 图 5-12 所示为令号管理流程图 图 5-12 令号管理流程 5.3.3 核心数据结构与代码 以下代码为主要核心代码截取 public bool YesOrNo(string no) int n = dataGridView1.Rows.Count; for (int i = 0; i n - 1; i+) if (no = dataGridView1.Rowsi.Cells0.Value.ToString().Trim() return false; return true; 第五章 系统详细设计与实现 49 public void RefreshData() try string sqlStr = ; DataSet ds = new DataSet(); sqlStr = select * from BLJ_Product order by Product_StartTime desc; ds = DBManager.GetDataFormDB(sqlStr); if (ds != null) dataGridView1.DataSource = ds.Tables0; dataGridView1.Columns0.HeaderText = 产品令号; dataGridView1.Columns0.Width = 120; dataGridView1.Columns1.HeaderText = 产品型号; dataGridView1.Columns1.Width = 120; dataGridView1.Columns2.HeaderText = 研发等级; dataGridView1.Columns2.Width = 80; dataGridView1.Columns3.HeaderText = 客户名称; dataGridView1.Columns3.Width = 150; dataGridView1.Columns4.HeaderText = 产品名称; dataGridView1.Columns4.Width = 150; dataGridView1.Columns5.HeaderText = 数量; dataGridView1.Columns5.Width = 90; dataGridView1.Columns6.HeaderText = 开始时间; dataGridView1.Columns6.Width = 120; dataGridView1.Columns7.HeaderText = 完成时间; dataGridView1.Columns7.Width = 120; dataGridView1.Columns8.HeaderText = 维护人; dataGridView1.Columns8.Width = 100; dataGridView1.Columns9.HeaderText = 备注; dataGridView1.Columns9.Width = 90; dataGridView1.Columns10.HeaderText = 是否新机型; dataGridView1.Columns10.Width = 100; dataGridView1.Columns11.HeaderText = 是否完工; dataGridView1.Columns11.Width = 100; Form_ProductSystem_Load(object sender, EventArgs e) DBManager db = new DBManager(); try comboBox1.Items.Add(是); comboBox1.Items.Add(否); comboBox1.Text = 是; comboBox2.Text = 否; comboBox3.Text = A; dataGridView1.ContextMenuStrip = this.contextMenuStrip1; textBox7.Text = DBManager.userInfo0; RefreshData(); /string sqlStr = select Product_ID as 产品令号,Product_Type as 产品型号, Product_Grade as 研发等级,Product_Customer as 客户单位,Product_ContractName as 合同名称, Product_Number as 订购数量,Product_StartTime as 开始时间,Product_EndTime as 结束时间, Product_Principle as 维护人,Product_New as 是否新品,Product_End as 是否完工,Product_Remark as 备注 from BLJ_Product; db.CloseSqlConn(); DBManager.sqlConn.Close(); 电子科技大学硕士学位论文 50 5.4 仓库借用模块的设计与实现 仓库借用模块主要涉及到仓库物资借用的管理,主要包括借用单据的新增、 部门领导审核、仓库审核发放物资、借用归还检验检查完好性、仓库结账以及对 应的借用单据的维护、查询等功能模块 5.4.1 界面设计 图 5-13 为新增仓库借用单据 图 5-13 借单新增界面 部门领导审核如图 5-14 所示 第五章 系统详细设计与实现 51 图 5-14 借单审核界面 借单维护界面如图 5-15 所示 图 5-15 借单维护界面 电子科技大学硕士学位论文 52 5.4.2 流程图 图 5-16 所示为仓存物资管理中的物资借用整体结构流程图,通过此流程实现 仓库物资借用到归还的过程 图 5-16 仓库借用流程 5.4.3 核心数据结构与代码 第五章 系统详细设计与实现 53 仓库借用模块主要代码如下: if (comboBox3.Text.Trim() = 已归还 | textBox5.Text.Trim() != | textBox7.Text.Trim() != ) MessageBox.Show(请清空您复制的单据,此单据已归还或领导已经审核!点击清空, 重新申请!); else DBManager db = new DBManager(); textBox1.Focus(); else if (comboBox4.Text.Trim() = ) MessageBox.Show(借用类别不能为空, 提示); comboBox2.Focus(); else sqlStr = insert into BLJ_Borrow(FNumber,FName,FQty,Unit,Person1,Person2,Dempt,Date1,Date2,Date3,Status,Fnote,Type,P erson3) values(+ comboBox1.Text.Trim() + , + textBox4.Text.Trim() + , + textBox5 + comboBox2.Text.Trim() + , + dateTimePicker1.Value + , + dateTimePicker2.Value + ,null, + comboBox3.Text.Trim() + , + textBox6. + , + textBox7.Text.Trim() + ); if (db.UpdataDB(sqlStr) MessageBox.Show(借用申请单录入成功,请及时跟踪借出物料归还情 况. ., 提示); textBox1.Text = ; textBox2.Text = ; textBox3.Text = ; textBox4.Text = DBManager.userInfo0; textBox5.Text = ; textBox6.Text = ; textBox7.Text = ; db.CloseSqlConn(); (dataGridView1.DataSource = null) MessageBox.Show(表格中没有您需要复制的数据!, 提示); else string str = dataGridView1.CurrentCell.Value.ToString(); Clipboard.Set RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e) Rectangle rectangle = new Rectangle(e.RowBounds.Location.X, e.RowBounds.Location.Y, dataGridView1.RowHeadersWidth - 4, e.RowBounds.Height); 电子科技大学硕士学位论文 54 TextRenderer.DrawText(e.Graphics, (e.RowIndex + 1).ToString(), dataGridView1.RowHeadersDefaultCellStyle.Font, rectangle, dataGridView1.RowHeadersDefaultCellStyle.ForeColor, TextFormatFlags.VerticalCenter | TextFormatFlags.Right); RefreshData(); 5.5 研发设计变更模块的设计与实现 5.5.1 界面设计 研发设计变更主要包括变更单申请、部门审核、部门会签、单据的维护、查 询等功能,图 5-17 所示为变更单申请界面。 图 5-17 变更单申请 5.5.2 流程图 第五章 系统详细设计与实现 55 图 5-18 研发设计变更流程 5.5.3 核心数据结构与代码 研发设计变更调整单主要代码如下: private void Form_K3tiaozhengdan_Load(object sender, EventArgs e) string w = TZD + DateTime.Now.ToString(yyyyMMdd) + DateTime.Now.ToString(mss); label9.Text = w; label6.Visible = false; label7.Visible = false; dateTimePicker1.Enabled = false; dateTimePicker2.Visible = false; DBManager.userInfo0; DBManager db = new DBManager(); if (richTextBox1.Text.Trim() = ) MessageBox.Show(调整内容不能为空!, 提示); richTextBox1.Focus(); else 电子科技大学硕士学位论文 56 if (MessageBox.Show(您确认添加单据号为:“ + label9.Text.Trim() + ”K3-ERP 系统更改单吗?,) insert into BLJ_TZD (TZD_ID,TZD_Text1,TZD_Person1,TZD_DateTime1,TZD_Text5) values( + label9.Text + , + richTextBox1); if (db.UpdataDB(sqlStr) MessageBox.Show(K3-ERP系统更改单新增成功,请让部门领导审核后联系 管理员进行系统更改!, 提示); catch (Exception ex) MessageBox.Show(ex.Message); db.CloseSqlConn(); 5.6 K3-ERP 系统查询模块的设计与实现 5.6.1 界面设计 K3-ERP 系统接口查询界面包含基础资料查询、供应链单据查询、生产单据 查询以及 K3 报表相关,图 5-19 所示为查询主界面 第五章 系统详细设计与实现 57 图 5-19 K3-ERP 系统查询界面 5.6.2 流程图 图 5-20 为 K3-ERP 系统接口查询流程,通过权限控制查询 图 5-20 K3-ERP 接口查询流程 5.6.3 核心数据结构与代码 由于此部分代码主要为 SQL 查询语句,代码量比较大,下面截取部分基础资 料即时库存查询代码如下: try if(comboBox1.Text.Trim()=) MessageBox.Show(请选择查询条件!); comboBox1.Focus(); else if(textBox1.Text.Trim()=) MessageBox.Show(请输入对应的查询内容!); textBox1.Focus(); else 电子科技大学硕士学位论文 58 DBManager db = new DBManager(); string str = select FName as 物料名称,FNumber as 物料代码,FBatchNo as 批号,Expr1 as 基本单位,CONVERT(decimal(28,2),FQty) as 即时库存量,CONVERT(decimal(28,2), FQtyLock) as 锁库量,Expr2 as 仓库 from BLJ_jskucun where FNumber LIKE % + textBox1.Text + %; DataSet ds = db.GetDataSet(str); 5.7 本章小结 本章为该研发设计信息管理系统详细设计与实现阶段的介绍,主要根据需求 分析和软件数据库详细设计编制软件的界面和实现代码,本章节主要介绍了登录 界面的设计及实现、图号管理和令号管理模块的设计实现以及仓库物资借用和研 发设计变更申请的实现和主要代码。通过本章节,软件前后台数据库连接已经正 常,并可实现下一步测试工作,在软件的编制过程中,对每个模块的每部分代码 逐条测试。具体测试工作将在下一个章节介绍。 第六章 系统测试与结果分析 59 第六章 系统测试与结果分析 6.1 测试原则 由于本研发设计信息管理系统主要根据公司实际需要编制,面向的使用人员 也主要是公司在岗工作人员,所以在软件的测试过程中主要从岗位使用人员出发, 望通过各部门的协助测试软件中存在的一些功能和低级错误等,从而确定各部门 人员是否能够接受该产品,是否产品符合各部门之前的需求,从软件自身出发的 测试角度,测试出软件中的代码错误和本身的不符合要求项,从而来确定软件的 稳定性和功能需求的目标是否达到,也获得客户对软件使用的信心。 软件测试的目的就是为了获得合格的满足用户需求的软件产品,通过软件的 代码调试、软件功能测试和需求测试等,来检验软件产品是否合格,通过测试来 给用户提供一套符合需求的软件产品。为了能达到用户需求的目的,遵循软件测 试相关规则,需要注意以下几点测试注意事项: 1软件的测试是个延续的过程,在软件代码的编写过程中就必须对软件进 行测试,遵循边编写边调试的原则 。 2每个人都有自我保护意识和自我增强的思维定式,所以软件的测试一定 要避免本人测试本人编写的代码软件,一般大型的软件程序都是委托专门的测试 机构专人测试,本企业研发设计信息管理系统在代码编写过程进行测试,功能测 试由各部门相关岗位人员协助测试。 3测试需要遵循极端原则,需要测试特定极端条件下的不可抗因素,例如 特殊的输入格式和字符,超长的字符串等,以及在特殊意外情况下的软件运行情 况,例如不可抗的硬件损坏或者紧急断电断网等 19。 4在软件测试过程中,要关注错误发生比较集中和频繁发生的错误现象, 这种错误一般和程序员的编程水平以及个人习惯有很大的关系。 5软件测试出的错误需要有二人以上核对确认,对应软件严重的错误包括 需求不符合部门要求,可以召开评审会进行分析和讨论。 6软件的测试是个长期过程,所以制定相应的测试计划不可避免,不能希 望在极短的时间内完成一个高质量的测试8。 7妥善保存所有测试过程的文档,并记录测试错误所采用的修改方式方法 以及修改后是否达到预期结果等,保存测试文档的意义非常重要,一般重复性错 误通过文档查询即可18。 电子科技大学硕士论文 60 6.2 测试环境 6.2.1 硬件环境 服务器和客户端 PC 计算机硬件环境如表 6-1 所示 服务器客户端计算机 名称 Dell R710 惠普 HPMT3330 CPU 双 Intel 至强 Xeon E5620 四核双核 硬盘 2T 160 内存 ECC DDR3 8*4G2G 表 6-1 硬件环境 6.2.2 软件环境 服务器及客户端主机软件配置环境如表 6-2 所示。 服务器客户端计算机 操作系统Windows Server 2008,标准企业版 Windows XP SP3 专业版或 Windows 7 旗舰版操作系统 数据库Microsoft SQL Server2008 企业标准版 其他 Microsoft .net framework 3.5 Microsoft .net framework 3.5 企业研发设计信息管理系统 表 6-2 软件环境 6.3 系统测试及结果分析 系统模块并发用户与系统响应时间对比如图 6-1 所示。 第六章 系统测试与结果分析 61 并发响应曲线图 0 1 2 3 4 5 6 7 20406080100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400 并发用户数 事务平均响应时间(秒) 图 6-1 并发用户响应曲线 具体相关模块的测试结果能否通过已经结果如表 6-3 所示 测试项目测试说明结果 功能及性能描述(准确性、实用性、安全性和互操作友好性)功能及性能描述(准确性、实用性、安全性和互操作友好性) 能从 excel 导入用户数据通过 能直接添加用户数据通过 红色“*”号标记的选项必填并保存通过 用户初始密码设置通过 删除用户通过 用户管理 修改用户密码及用户部门通过 打开登录界面通过 输入用户名和用户密码通过 用户名或者用户密码错误或者未填写报 错 通过 记住用户名和用户密码功能通过 用户登录 密码忘记,找回用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论