二级课题二级实践课题农资店信息管理系统

上传人:无*** 文档编号:124687581 上传时间:2022-07-25 格式:DOC 页数:24 大小:261.50KB
收藏 版权申诉 举报 下载
二级课题二级实践课题农资店信息管理系统_第1页
第1页 / 共24页
二级课题二级实践课题农资店信息管理系统_第2页
第2页 / 共24页
二级课题二级实践课题农资店信息管理系统_第3页
第3页 / 共24页
资源描述:

《二级课题二级实践课题农资店信息管理系统》由会员分享,可在线阅读,更多相关《二级课题二级实践课题农资店信息管理系统(24页珍藏版)》请在装配图网上搜索。

1、朱俐楠:农资店信息管理系统中 原 工 学 院二 级 课 题 任 务 书 2011年6月13日学生姓名朱俐楠学号201007132211专 业软件技术班级编码J102课题名称农资店信息管理系统课题来源二级实训模拟课题指导教师郭彦宾专业计算机科学与技术职称集成项目经理课题说明:农资店信息主要有农资货物的各种信息,如:货物的名字、类型、单价、生产日期、保质期等;其次是客户的各种信息,如:客户的名字、地址、电话、购得货物种类、数量及时间、备注等。本系统主要实现上述信息的增删改查功能,对特殊信息的汇总等其他功能。额承担的任务:1数据库设计2实现客户信息管理的SWING界面并实现监听器的添加中 原 工 学

2、 院二 级 课 题 任 务 书 2011年6月14日工作进度安排:任务名称时间轴2011-6-13至2011-6-28(除周日)负责人审核人123456789101112孙军超郭彦宾总体进度30%62%8%范金梅整理资料范金梅编写代码孙军超代码测试朱俐楠整理文档朱俐楠指导教师签字: 2011年 6 月 28 日实训单位意见签章: 年 月 日学院意见签章: 年 月 日中 原 工 学 院二 级 课 题 评 审 表学号201007132211姓名朱俐楠专业软件技术班级编码J102题目农资店信息管理系统指导教师评语成绩(百分制): 指导教师签名: 2011年 6 月 日软 件 学 院二级课题实训报告课

3、题名称: 农资店信息管理系统 专 业: 软件技术 班 级: 编码J102 学 号: 201007132211 学生姓名: 朱俐楠 指导教师: 郭彦宾 2011年 6 月 28 日24摘 要3第1章 项目分析41.1 问题描述41.2 技术分析41.3 工程进度计划4第2章 系统分析与设计52.1 系统分析52.1.1 参与者52.1.2 需求分析52.1.3 可行性分析52.2 系统设计52.2.1 系统规划62.2.2 类图62.2.3 E-R图72.3 数据库设计72.3.1 表结构设计72.3.2 系统功能结构图8第3章 实现与测试93.1部分功能模块展示93.1.1 界面93.1.2

4、代码9第4章 结束语14附录:主要源代码15摘 要随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机来解决实际问题。现在连街头的小商店有些都有自己信息管理系统,帮助店主有条理的管理自己的货物。同样跟生活杂物商店功能及性质差不多的农资商店的货物种类以及各种账目数量一点也不亚于其他种类的商店,为了解决这个问题,我们小组经过协商之后决定利用这次做课题的机会,做一套方便农资店主管理货物和账目的小型软件。首先实现整个登陆界面及菜单界面、根据所要实现的功能实现各种SWING界面并添加相应的监听器,再根据提前规划的功能实现DAO层中的各种方法,再实现监听器方法体中的具体代码。整个系统从

5、操作简便、界面友好、灵活、实用、安全的要求出发,完成对进货登记、销售查询、账目管理,包括对系统数据的维护,信息的添加、删除、查询等。计算机信息化管理以其存储信息量大、速度快、便于管理等优点将会受到更多用户的青睐。关键词:监听器、数据库连接、DAO、SWING第1章 项目分析1.1 问题描述 实现各种SWING界面及监听器,统一编写DAO层中实现各种功能的方法,完善监听器方法体中的内容。1.2 技术分析 SWING界面的容器采用JFrame编写,底层数据库采用MYSQL,实现功能时连接数据库采用-使用某个功能前,连接一次数据库,使用完毕后,立即关闭数据库的模式。添加监听器时,统一使用一个监听器内

6、部类,监听器方法采用判断名字进行区分各个BUTTON之间的不同。汇总各种信息使用JTABLE组件,所有监听器方法统一写在一个DAO包中进行封装。客户、货物、用户信息使用JAVABEAN封装,使用其GET、SET方法进行信息在数据库和SWING界面之间的流通。欢迎、菜单界面友好、易懂,便于用户使用,并且有友好的提示界面。数据库是一项技术,主要包括数据的管理和处理两部分;在数据库的设计中,重点在数据库的需求分析中,构化出来,把用户所需的要求统统分析出来,再进一步的进行设计;完成相应的需求分析后,就是对数据库结构的设计,数据库结构设计主要分为数据库结构设计和数据库行为设计,数据库结构设计是在需求分析

7、的基础上逐步形成对数据库概念,逻辑,物理结构的描述了、概念结构要有丰富的语义表达能力,表达用户的各种需求;概念设计的策略主要有三种:自上向下,自顶向外,自里向外和混合策略;逻辑结构设计主要是把在概念设计中设计的基本E-R模型转换为具体数据库管理系统支持的组织层数据模型;一般包括将概念结构转换为组织层数据模型;对组织层数据模型进行优化;物理结构设计是利用数据库管理系统提供的方法,对已确定数据库逻辑结构进行优化存储结构,数据存取路径,合理的位置以及存储分配等;从而设计出一个高效,可实现的无理数据结构。1.3 工程进度计划 6月13日到6月17日:需求分析 6月17日到6月19日:结构设计(概念、逻

8、辑、物理结构设计) 6月19日到6月22日:行为设计(功能设计、事务设计、程序设计)6月22日到6月25日:代码实现6月25日到6月27日:代码测试6月27日到6月28日:整理文档第2章 系统分析与设计2.1 系统分析2.1.1 参与者系统分析指导:老师数据库设计者:范金梅、朱俐楠需求分析与可行性分析者:孙军超2.1.2 需求分析经过对几个农资店铺的日常工作的调查研究及管理流程的分析,要求本系统具有以下功能:l 农资信息查询功能,方便店员销售货物时掌握价格的尺度。l 农资信息的删除、修改、增加功能,确保信息的准确性和完整性。l 客户信息的增删改查功能,利用备注信息掌握客户的各种信息。l 账目总

9、结功能,防止漏帐,错帐的状况发生。l 统一、友好的操作界面,以保证系统的易用性。2.1.3 可行性分析根据调查得知,现在大多数小型农资商店采取手工方式对农资信息进行管理。将不好记住的价格弄个标签贴在货物架上,当进价调整时再统一换一遍,工作量大,也不免出现差错。对客户信息也是采用纯手工操作,既费时又费力,一旦账本等用作记录的本子丢失,将死无对证。基于这一系列的问题,实在是有必要建立一个农资信息管理系统,使农资店的日常生活管理工作规范化、系统化、程序化、避免管理的随意性,提高信息处理的速度和准确性,能够及时、有效准确地完成每天的销售、账目管理任务,为广大农资店主提供方便。2.2 系统设计先在Jpa

10、ne添加设计好的Jlabel和Jbutton,建好界面,再给按钮添加监听器,使其实现相应的功能,实现功能的同时连接数据库,比如说查询,按下查询按钮,监听器进行监听,连接数据库,执行查询语句,调出数据库中的数据实现查询,更新,删除,清空,实现其功能时,与查询雷同。2.2.1 系统规划本系统由货物管理、客户管理、账目管理三个功能模块组成,以后也可扩充,具体内容如下:l 货物管理货物管理主要实现货物的增删改查功能。l 客户管理客户管理主要实现客户的增删改查功能。l 账目管理账目管理主要实现账目的添加和总结功能。2.2.2 类图AgriculturalDAO-conn: Connection+getC

11、onnection():Connection+add(ClienteleInformationDO a):int+add(AgriculturallInformationDO a):int+add(UserInformationDO a):int+closeConnection(ResultSet r,PreparedStatement p,Connection conn):Void+delete(AgriculturallInformationDO a):int+delete(ClienteleInformationDO a):int+delete(UserInformationDO a):

12、int+update(AgriculturallInformationDO a):int+update(ClienteleInformationDO a):int2.2.3 E-R图货物客户销售IDNameTypeDateBeizhuPriceKIDKNameTelPayBeizhuAddressBeizhuNumber2.3 数据库设计2.3.1 表结构设计Load表结构字段名数据类型是否为空是否主键默认值USERIdInt(11)NO是0USERVarchar(255)YES是NULLPWDVarchar(255)YES否NULLAgricultural Information表结构字段名

13、数据类型是否为空是否主键默认值AgriculturalIdInt(11)NO是0NameVarchar(20)YES否NULLTypeVarchar(255)YES否NULLPriceVarchar(255)YES否NULLDateVarchar(255)YES否NULLBeizhuVarchar(255)YES否NULLClientele Information表结构字段名数据类型是否为空是否主键默认值ClienteleIdInt(11)NO是0KeHuNameVarchar(20)YES否NULLTelVarchar(20)YES否NULLPayVarchar(255)YES否NULLAd

14、dressVarchar(255)YES否NULLBeizhuVarchar(255)YES否NULLSale Information表结构字段名数据类型是否为空是否主键默认值ClienteleIdInt(11)NO是0AgriculturalIdInt(11)NO是0NumberVarchar(255)YES否NULLBeizhuVarchar(255)YES否NULL2.3.2 系统功能结构图农资店管理系统货物信息管理客户信息管理账目管理添加货物信息删除货物信息修改货物信息查询货物信息修改客户信息删除客户信息添加客户信息查询客户信息年终结账退出系统第3章 实现与测试3.1部分功能模块展示3

15、.1.1 界面3.1.2 代码import java.awt.BorderLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.SQLException;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JText

16、Area;import javax.swing.JTextField;import DO.ClienteleInformationDO;import dao.AgriculturalDAO;public class SelectKeHuSwing extends JFrameprivate JTextField jtf = new JTextField3;private AgriculturalDAO dao = new AgriculturalDAO();private JTextArea jta = new JTextArea();private JTextArea jta1 = new

17、JTextArea();String tablename = ClienteleInformation;public SelectKeHuSwing() for(int i = 0;i 3;i+) jtfi = new JTextField(8); JPanel pane=new JPanel();JPanel pane2=new JPanel();pane.add(new JLabel(请输入客户名字进行查询);JPanel pane1=new JPanel();pane1.setLayout(new GridLayout(5,2,5,5);pane1.add(new JLabel(客户名:

18、);pane1.add(jtf0);pane1.add(new JLabel(客户电话:);pane1.add(jtf1);pane1.add(new JLabel(客户住址:);pane1.add(jtf2);pane1.add(new JLabel(消费额:);pane1.add(jta);pane1.add(new JLabel(备注:);pane1.add(jta1);JButton d1=new JButton(查询);pane2.add(d1);JButton d2=new JButton(清空);pane2.add(d2);JButton d4=new JButton(更新);p

19、ane2.add(d4);JButton d3=new JButton(删除);pane2.add(d3);add(pane1,BorderLayout.CENTER);add(pane,BorderLayout.NORTH);add(pane2,BorderLayout.SOUTH);setTitle(查询客户信息);setLocationRelativeTo(null);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(300,200);setVisible(true);d1.addActionListener(new Actio

20、nListener()public void actionPerformed(ActionEvent e)for(int i = 0; i 4;i+)try jtfi.setText(dao.select(tablename, jtf0.getText().getString(i+1); catch (SQLException e1) / TODO Auto-generated catch blocke1.printStackTrace();try jta.setText(dao.select(tablename, jtf0.getText().getString(4);jta1.setTex

21、t(dao.select(tablename, jtf0.getText().getString(5); catch (SQLException e1) / TODO Auto-generated catch blocke1.printStackTrace(););d2.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) for(int i = 0;i 3;i+) jtfi.setText(); jta.setText(); jta1.setText(););d3.addActionL

22、istener(new ActionListener()public void actionPerformed(ActionEvent e)dao.delete(keHuDO(););d4.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)dao.update(keHuDO(););public ClienteleInformationDO keHuDO()ClienteleInformationDO a = new ClienteleInformationDO(); a.setNam

23、e(jtf0.getText(); a.setTel(jtf1.getText(); a.setPay(jtf2.getText(); a.setAddress(jta.getText(); a.setBeizhu(jta1.getText(); return a; import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.sw

24、ing.JLabel;import javax.swing.JPanel;import javax.swing.JTextArea;import javax.swing.JTextField;import DO.AgriculturalInformationDO;import DO.ClienteleInformationDO;import dao.AgriculturalDAO;public class AddKeHuSwing extends JFrameprivate JTextField jtf= new JTextField3;private AgriculturalDAO dao

25、= new AgriculturalDAO();private JTextArea jta = new JTextArea();private JTextArea jta1 = new JTextArea();public ClienteleInformationDO keHuDO()ClienteleInformationDO a = new ClienteleInformationDO(); a.setName(jtf0.getText(); a.setTel(jtf1.getText(); a.setPay(jtf2.getText(); a.setAddress(jta.getText

26、(); a.setBeizhu(jta1.getText(); return a; public AddKeHuSwing() for(int i = 0;i 3;i+) jtfi = new JTextField(8); JPanel pane1=new JPanel();pane1.setLayout(new GridLayout(6,2,5,5);pane1.add(new JLabel(客户名:);pane1.add(jtf0);pane1.add(new JLabel(客户电话:);pane1.add(jtf1);pane1.add(new JLabel(客户地址:);pane1.a

27、dd(jta);pane1.add(new JLabel(消费额:);pane1.add(jtf2);pane1.add(new JLabel(备注:);pane1.add(jta1);JButton d1=new JButton(添加);pane1.add(d1);JButton d2=new JButton(清空);pane1.add(d2);add(pane1);setTitle(添加客户信息);setLocationRelativeTo(null);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setSize(300,200);setVi

28、sible(true);d1.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)dao.add(keHuDO(););d2.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) for(int i = 0;i 3;i+) jtfi.setText(); jta.setText(); jta1.setText(););第4章 结束语在这次系统开发的过程中,我们这组遇到了许多难题,也

29、许是由于基础知识的不足,也或许是因为第一次开发软件的问题,刚下手的时候明显有些吃力,不过经过组里人员的认真探讨和专注编程,最终度过重重难关,完成了这次课题,虽然仍有许多不足之处,但里面包含着组里人员这段时间的汗水和努力,心中还是挺高兴的,这次课题不仅让我巩固了基础知识,还让我从组员那里学到了更深一层的知识,让我明白了软件开发不仅需要的是技术,更多的还有团队精神和团队合作,也让我体会到了编码的深奥之处,让我对编码有了重新的认识,在做课题之前我对连接数据库这部分知识非常迷茫,恰好我们这组开发的系统能用到这些知识,组里给我分配的任务是建表,建表相对其他组成员的任务比较容易,所以我很快就完了任务,完成

30、任务不是目的,最重要的是要从别的成员那里学到自己不会的知识,我们组长很精通数据库这部分知识,经过他的耐心教导,让我学会了关于数据库的这部分知识,也让我明白了知识是自己主动去学的,要主动把握住每次可以学到知识的机会。 这次课题让我体会到了组成员之间的友谊,这次我们的合作非常成功,如果以后有类似的课题我们会继续合作,创作出更加完美的系统。参考文献:1 何玉洁 等编著的数据库原理与应用教程 机械工业出版社 2010年 9月 2 万波 郑海红 李娜 等译的JAVA语言程序设计基础篇及进阶篇 机械工业出版社3 王国辉,王毅,王殊宇等编著的JAVA web开发典型模块大全人民邮政出版社。附录:主要源代码p

31、ackage dao;import java.sql.*;import java.util.Vector;import javax.swing.table.DefaultTableModel;import DO.*;public class AgriculturalDAO private static Connection conn = null;public Connection getConnection()try Class.forName(com.mysql.jdbc.Driver);conn = DriverManager.getConnection(jdbc:mysql:/loca

32、lhost:3306/agricultural?useUnicode=true&characterEncoding=GB2312, root, root); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace();return conn;public void closeConnection(ResultSet rs,PreparedStatement pstmt,Connection conn)try rs.close();pstmt.close();co

33、nn.close(); catch (SQLException e) / TODO 自动生成 catch 块e.printStackTrace();public void closeConnection(PreparedStatement pstmt,Connection conn)try pstmt.close();conn.close(); catch (SQLException e) e.printStackTrace();private ResultSet executeQuery(String sql) try if(conn=null) getConnection();return

34、 conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(sql); catch (SQLException e) e.printStackTrace();return null; finally private int executeUpdate(String sql) try if(conn=null)getConnection();return conn.createStatement().executeUpdate(sql); catch (SQLExce

35、ption e) System.out.println(e.getMessage();return -1; finally public ResultSet select(String tablename,String str)String sql = select * from + tablename + where name = ? ; ResultSet result = null;try Connection conn = getConnection();PreparedStatement pstmt = conn.prepareStatement(sql);pstmt.setStri

36、ng(1, str);result = executeQuery(sql);closeConnection(result,pstmt,conn); catch (SQLException e) e.printStackTrace();return result;public DefaultTableModel showTable(String tablename)DefaultTableModel tableModel = new DefaultTableModel();Vector row = new Vector();Vector column = new Vector();String

37、sql = select * from + tablename ;int i = 0;try Connection conn = getConnection();PreparedStatement pstmt = conn.prepareStatement(sql);ResultSet result = executeQuery(sql);i = result.getMetaData().getColumnCount();System.out.println(影响结果条数: + i);while(result.next()Vector single = new Vector();for(int

38、 j = 0; j i;j+)single.addElement(result.getObject(j + 1);row.addElement(single);for(int k = 1;k = i;k+)column.addElement(result.getMetaData().getColumnName(k);tableModel.setDataVector(row, column);closeConnection(result,pstmt,conn); catch (SQLException e) / TODO 自动生成 catch 块e.printStackTrace();retur

39、n tableModel;public int isload(UserInformationDO u)int flag = 0;String sql = select * from where user = + u.getUser() + ;try Connection conn = getConnection();PreparedStatement pstmt = conn.prepareStatement(sql);ResultSet resultset = pstmt.executeQuery();if(resultset.next()if(u.getPwd().equals(resul

40、tset.getString(pwd)flag = 1;resultset.last();int rowSum = resultset.getRow();resultset.first();if(rowSum != 1)flag = 0;else flag = 0;elseflag = 0;closeConnection(pstmt,conn); catch (SQLException e) / TODO 自动生成 catch 块flag = 0;return flag; public int add(AgriculturalInformationDO a) String sql = inse

41、rt into AgriculturalInformation (name,type,price,date,beizhu)values(?,?,?,?,?);int i = 0;try Connection conn = getConnection();PreparedStatement pstmt = conn.prepareStatement(sql);/设置各个占位符的实际参数pstmt.setString(1, a.getName();pstmt.setString(2, a.getType();pstmt.setString(3, a.getPrice();pstmt.setStri

42、ng(4, a.getDate();pstmt.setString(5, a.getBeizhu();/执行sqli = pstmt.executeUpdate();System.out.println(影响结果条数: + i);closeConnection(pstmt,conn); catch (SQLException e) e.printStackTrace();return i; public int add(ClienteleInformationDO a) String sql = insert into ClienteleInformation (name,tel,pay,ad

43、dress,beizhu)values(?,?,?,?,?);int i = 0;try Connection conn = getConnection();PreparedStatement pstmt = conn.prepareStatement(sql);/设置各个占位符的实际参数pstmt.setString(1, a.getName();pstmt.setString(2, a.getTel();pstmt.setString(3, a.getPay();pstmt.setString(4, a.getAddress();pstmt.setString(5, a.getBeizhu

44、();/执行sqli = pstmt.executeUpdate();System.out.println(影响结果条数: + i);closeConnection(pstmt,conn); catch (SQLException e) / TODO 自动生成 catch 块e.printStackTrace();return i; public int add(UserInformationDO a) String sql = insert into load (user,pwd)values(?,?);int i = 0;try Connection conn = getConnectio

45、n();PreparedStatement pstmt = conn.prepareStatement(sql);pstmt.setString(1, a.getUser();pstmt.setString(2, a.getPwd();i = pstmt.executeUpdate();System.out.println(影响结果条数: + i);closeConnection(pstmt,conn); catch (SQLException e) e.printStackTrace();return i;public int delete(AgriculturalInformationDO

46、 a) String sql = delete from AgriculturalInformation where name = ?;int i = 0;try Connection conn = getConnection();PreparedStatement pstmt = conn.prepareStatement(sql);i = pstmt.executeUpdate();System.out.println(影响结果条数: + i);closeConnection(pstmt,conn); catch (SQLException e) e.printStackTrace();r

47、eturn i;public int update(ClienteleInformationDO a)String sql = update ClienteleInformation set name = ? , tel = ? , pay = ? , address = ? , beizhu = ? ;int i = 0;try Connection conn = getConnection();PreparedStatement pstmt = conn.prepareStatement(sql);pstmt.setString(1, a.getName();pstmt.setString

48、(2, a.getTel();pstmt.setString(3, a.getPay();pstmt.setString(4, a.getAddress();pstmt.setString(5, a.getBeizhu();/执行sqli = pstmt.executeUpdate();closeConnection(pstmt,conn);System.out.println(影响结果条数: + i); catch (SQLException e) / TODO 自动生成 catch 块e.printStackTrace();return i;public int update(Agricu

49、lturalInformationDO a) String sql = update AgriculturalInformation set name = ? , type = ? , price = ? , date = ? , beizhu = ? ;int i = 0;try Connection conn = getConnection(); PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, a.getName();pstmt.setString(2, a.getType();pstmt.setString(3, a.getPrice();pstmt.setString(4, a.getDate();pstmt.setString(5, a.getBeizhu();/执行sqli = pstmt.executeUpdate();closeConnection(pstmt,conn);System.out.println(影响结果条数: + i); catch (SQLException e) / TODO 自动生成 catch 块e.printStackTrace();return i;

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!